<?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>66371</bug_id>
          
          <creation_ts>2011-08-17 06:28:08 -0700</creation_ts>
          <short_desc>Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.</short_desc>
          <delta_ts>2012-12-11 08:11:16 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>d-r</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fishd</cc>
    
    <cc>fmalita</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>mkwst</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>pdr</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rakuco</cc>
    
    <cc>rik</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>schenney</cc>
    
    <cc>timothy</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
    
    <cc>yurys</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>452218</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-17 06:28:08 -0700</bug_when>
    <thetext>There is a confusion in the MessageSource / MessageLevel / MessageType trio. First two are supposed to define message origin and its severity, while the third one is for rendering console.dir/log objects properly in the inspector. Fix that via defining MessageType outside ConsoleTypes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452279</commentid>
    <comment_count>1</comment_count>
      <attachid>104176</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-17 08:48:22 -0700</bug_when>
    <thetext>Created attachment 104176
[PATCH] For ews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452282</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-17 08:51:29 -0700</bug_when>
    <thetext>Attachment 104176 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit/mac/WebCoreSupport/WebChromeClient.h:79:  The parameter name &quot;source&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/mac/WebCoreSupport/WebChromeClient.h:79:  The parameter name &quot;level&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/win/WebCoreSupport/WebChromeClient.h:83:  The parameter name &quot;source&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/win/WebCoreSupport/WebChromeClient.h:83:  The parameter name &quot;level&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/page/Console.h:60:  The parameter name &quot;callStack&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h:82:  The parameter name &quot;source&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 78 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458370</commentid>
    <comment_count>3</comment_count>
      <attachid>104176</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-29 12:33:55 -0700</bug_when>
    <thetext>Comment on attachment 104176
[PATCH] For ews.

Clearing r? for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776715</commentid>
    <comment_count>4</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-27 06:46:55 -0800</bug_when>
    <thetext>Is this something you&apos;re still working on, Pavel? Since it feels like I&apos;m touching all these call sites anyway, I could pick this up once 100650 stabilizes...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777408</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-27 17:31:38 -0800</bug_when>
    <thetext>I don&apos;t think anyone is doing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782545</commentid>
    <comment_count>6</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-04 07:57:19 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I don&apos;t think anyone is doing it.

Fiddled with this a bit today. What do you think we ought to do with ChromeClient implementations? It doesn&apos;t look like the Chromium port uses the type, but the Mac port does seem to at least convert it into an internal string representation (see http://trac.webkit.org/browser/trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm#L406 and http://trac.webkit.org/browser/trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm#L360). Do you (or anyone on CC? :) ) know if they need that to pipe things up to their implementation of the console?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782582</commentid>
    <comment_count>7</comment_count>
      <attachid>177496</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-04 08:43:34 -0800</bug_when>
    <thetext>Created attachment 177496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783501</commentid>
    <comment_count>8</comment_count>
      <attachid>177694</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-05 01:18:21 -0800</bug_when>
    <thetext>Created attachment 177694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783505</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 01:20:36 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783506</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 01:21:25 -0800</bug_when>
    <thetext>Attachment 177694 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp:270:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WebKit/chromium/src/WebSharedWorkerImpl.cpp:212:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Source/WebKit/chromium/src/WebSharedWorkerImpl.cpp:219:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/chromium/src/WebSharedWorkerImpl.cpp:227:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/page/ChromeClient.h:137:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WebKit/win/WebCoreSupport/WebChromeClient.h:81:  The parameter name &quot;source&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/win/WebCoreSupport/WebChromeClient.h:81:  The parameter name &quot;level&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp:187:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WebKit/chromium/src/WebPagePopupImpl.cpp:88:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h:79:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h:64:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h:85:  The parameter name &quot;source&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp:92:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WebCore/workers/WorkerMessagingProxy.cpp:341:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp:330:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WebKit/mac/WebCoreSupport/WebChromeClient.h:77:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h:93:  Omit int when using unsigned  [runtime/unsigned] [1]
Total errors found: 17 in 92 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783509</commentid>
    <comment_count>11</comment_count>
      <attachid>177694</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-05 01:26:17 -0800</bug_when>
    <thetext>Comment on attachment 177694
Patch

Attachment 177694 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15138541</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783510</commentid>
    <comment_count>12</comment_count>
      <attachid>177694</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-05 01:27:20 -0800</bug_when>
    <thetext>Comment on attachment 177694
Patch

Attachment 177694 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15138542</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783532</commentid>
    <comment_count>13</comment_count>
      <attachid>177694</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-05 01:47:20 -0800</bug_when>
    <thetext>Comment on attachment 177694
Patch

Attachment 177694 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15157267</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783547</commentid>
    <comment_count>14</comment_count>
      <attachid>177694</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-05 02:05:29 -0800</bug_when>
    <thetext>Comment on attachment 177694
Patch

Attachment 177694 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15158215</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783557</commentid>
    <comment_count>15</comment_count>
      <attachid>177694</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 02:23:57 -0800</bug_when>
    <thetext>Comment on attachment 177694
Patch

Attachment 177694 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15144436</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783703</commentid>
    <comment_count>16</comment_count>
      <attachid>177739</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-05 06:46:18 -0800</bug_when>
    <thetext>Created attachment 177739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783704</commentid>
    <comment_count>17</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-05 06:47:43 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Created an attachment (id=177739) [details]
&gt; Patch

This one might actually compile. Note to self: don&apos;t upload patches that depend on other patches. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783705</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 06:48:44 -0800</bug_when>
    <thetext>Attachment 177739 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebKit/chromium/src/WebSharedWorkerImpl.cpp:217:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp:232:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 2 in 93 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785067</commentid>
    <comment_count>19</comment_count>
      <attachid>177739</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-12-06 11:15:29 -0800</bug_when>
    <thetext>Comment on attachment 177739
Patch

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

&gt; Source/WebKit/chromium/public/WebSharedWorkerClient.h:62
&gt; +    virtual void postConsoleMessageToWorkerObject(int, int sourceIdentifier, int messageLevel,

It seems like this will break compatibility with the Chromium code base.  Are you planning on landing Chromium-side support for the new method signature first?  Or, how are you managing the dance of changing this interface?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785074</commentid>
    <comment_count>20</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-06 11:25:17 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 177739 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=177739&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebSharedWorkerClient.h:62
&gt; &gt; +    virtual void postConsoleMessageToWorkerObject(int, int sourceIdentifier, int messageLevel,
&gt; 
&gt; It seems like this will break compatibility with the Chromium code base.  Are you planning on landing Chromium-side support for the new method signature first?  Or, how are you managing the dance of changing this interface?

I&apos;ve uploaded the patch to have something concrete with which to ask Pavel (hi, Pavel!) if changing the clients is desirable. It wouldn&apos;t just break Chromium, it&apos;d be all the ports.

If it&apos;s what we want to do, I&apos;d probably add methods to the patch with the old signature that thunk down to the new signature. Once that rolls into Chromium, et al., I&apos;d land a Chromium-side patch to stop using the old signature, then once that rolled into WebKit, I&apos;d remove the old signature once I&apos;d gotten all the other ports migrated over.

That seems like it would work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787210</commentid>
    <comment_count>21</comment_count>
      <attachid>177739</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-12-10 05:02:43 -0800</bug_when>
    <thetext>Comment on attachment 177739
Patch

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

Overall looks good. Please make sure xenon is fine with removing messagetype from Apple webkit ports. AFAIR it was only used in toString form there, so nothing should break.

&gt; Source/WebCore/inspector/InspectorConsoleTypes.h:1
&gt; +/*

This one could be called ConsoleAPITypes

&gt; Source/WebCore/page/Console.cpp:232
&gt; +    internalAddMessage(page(), LogMessageType, ErrorMessageLevel, state, arguments, shouldPrintExceptions());

I only see call sites that use page() as a first argument, why did this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787650</commentid>
    <comment_count>22</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-10 12:57:40 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 177739 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=177739&amp;action=review
&gt; 
&gt; Overall looks good. Please make sure xenon is fine with removing messagetype from Apple webkit ports. AFAIR it was only used in toString form there, so nothing should break.

CCing him (Hi!).

&gt; &gt; Source/WebCore/page/Console.cpp:232
&gt; &gt; +    internalAddMessage(page(), LogMessageType, ErrorMessageLevel, state, arguments, shouldPrintExceptions());
&gt; 
&gt; I only see call sites that use page() as a first argument, why did this change?

As we discussed via chat, the alternative would be to make this ::addMessage method a member function, which would expose MessageType on the public API. It seemed like a better idea to turn it into a static method that didn&apos;t live on the object. To do that, I need to pass in the Page object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787925</commentid>
    <comment_count>23</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2012-12-10 18:25:55 -0800</bug_when>
    <thetext>This was exposed via WebKit API (not just &quot;toString&quot; debugging). It was added to a dictionary sent to a private Ui delegate method. I don&apos;t think anyone uses this private API anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788196</commentid>
    <comment_count>24</comment_count>
      <attachid>178751</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-11 01:53:50 -0800</bug_when>
    <thetext>Created attachment 178751
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788227</commentid>
    <comment_count>25</comment_count>
      <attachid>178756</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-11 02:25:56 -0800</bug_when>
    <thetext>Created attachment 178756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788230</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 02:28:27 -0800</bug_when>
    <thetext>Attachment 178756 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebKit/chromium/src/WebSharedWorkerImpl.cpp:217:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/chromium/public/WebSharedWorkerClient.h:66:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/chromium/public/WebSharedWorkerClient.h:69:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp:232:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 4 in 94 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788238</commentid>
    <comment_count>27</comment_count>
      <attachid>178756</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-11 02:44:45 -0800</bug_when>
    <thetext>Comment on attachment 178756
Patch

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

Chromium WebKit API change LGTM.

&gt; Source/WebKit/chromium/ChangeLog:9
&gt; +        Drops WebCore::MessageLevel from the addMessageToConsole method, and all
&gt; +        the ancilliary places it touches.

Don&apos;t you drop MessageType?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788328</commentid>
    <comment_count>28</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-11 04:46:17 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; (From update of attachment 178756 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=178756&amp;action=review
&gt; 
&gt; Chromium WebKit API change LGTM.

Thanks!

&gt; &gt; Source/WebKit/chromium/ChangeLog:9
&gt; &gt; +        Drops WebCore::MessageLevel from the addMessageToConsole method, and all
&gt; &gt; +        the ancilliary places it touches.
&gt; 
&gt; Don&apos;t you drop MessageType?

Ah. I did. :)

I&apos;ll fix that before landing, assuming that the bots are happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788433</commentid>
    <comment_count>29</comment_count>
      <attachid>178800</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-11 07:22:05 -0800</bug_when>
    <thetext>Created attachment 178800
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788459</commentid>
    <comment_count>30</comment_count>
      <attachid>178800</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 08:11:07 -0800</bug_when>
    <thetext>Comment on attachment 178800
Patch for landing

Clearing flags on attachment: 178800

Committed r137318: &lt;http://trac.webkit.org/changeset/137318&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788460</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 08:11:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104176</attachid>
            <date>2011-08-17 08:48:22 -0700</date>
            <delta_ts>2012-12-04 08:43:29 -0800</delta_ts>
            <desc>[PATCH] For ews.</desc>
            <filename>message_type</filename>
            <type>text/plain</type>
            <size>113618</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3ZjQ4YWExLi41NDE2YjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEy
IEBACisyMDExLTA4LTE3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVz
c2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0
b21YUGF0aE5TUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDdXN0b21YUGF0aE5T
UmVzb2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVSSSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQ
cm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmxvZ0V4
Y2VwdGlvblRvQ29uc29sZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cHJvY2Vzc0h0
dHBFcXVpdik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YWRkTWVzc2FnZSk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKiBkb20vVmlld3BvcnRBcmd1bWVudHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6cmVwb3J0Vmlld3BvcnRXYXJuaW5nKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50
ZXJhY3RpdmVseSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6cHJpbnRXYXJu
aW5nVG9Db25zb2xlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3I6OmZpbHRlclRva2VuKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZU1lc3Nh
Z2U6OkNvbnNvbGVNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Om1lc3NhZ2VUeXBlVmFsdWUp
OgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q29uc29sZU1lc3NhZ2U6OnR5cGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50
OjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzR3JvdXBNZXNzYWdl
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNv
bGVJbXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUuX2Zvcm1hdE1lc3NhZ2UpOgor
ICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5
Q2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNoZWNrSWZEaXNw
bGF5SW5zZWN1cmVDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjaGVj
a0lmUnVuSW5zZWN1cmVDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpy
ZXBvcnRMb2NhbExvYWRGYWlsZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNo
b3VsZEFsbG93TmF2aWdhdGlvbik6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVS
ZXNwb25zZSk6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2Vp
dmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRp
ZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3Vw
OjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlk
UmVjZWl2ZU1hbmlmZXN0UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25D
YWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nTWFuaWZlc3QpOgorICAgICAgICAoV2ViQ29yZTo6
QXBwbGljYXRpb25DYWNoZUdyb3VwOjpjaGVja0lmTG9hZElzQ29tcGxldGUpOgorICAgICAgICAq
IGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJpbnRBY2Nlc3NEZW5pZWRNZXNzYWdlKToKKyAgICAg
ICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAqIHBhZ2UvQ29uc29sZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjphZGRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OmlubmVyQWRkTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjplcnJvcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpsb2cpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29s
ZTo6ZGlyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OnRyYWNlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnNvbGU6OmFzc2VydENvbmRpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb25z
b2xlOjp3YXJuKToKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaDoKKyAgICAgICAgKiBwYWdlL0Nv
bnNvbGVUeXBlcy5oOgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0VmlvbGF0aW9u
KToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01X
aW5kb3c6OnBvc3RNZXNzYWdlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5k
b3c6OnByaW50RXJyb3JNZXNzYWdlKToKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAg
ICAgICAqIHN2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
cmVwb3J0TWVzc2FnZSk6CisgICAgICAgICogd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6bG9vcGluZyk6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OnNldExvb3BpbmcpOgor
ICAgICAgICAqIHdlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb0NvbnRleHQ6OmNyZWF0ZUxvd1Bhc3MyRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvQ29udGV4dDo6Y3JlYXRlSGlnaFBhc3MyRmlsdGVyKToKKyAgICAgICAgKiB3ZWJzb2NrZXRz
L1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNvbm5lY3QpOgor
ICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJTb2NrZXRDaGFubmVsOjpmYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0pOgorICAgICAgICAqIHdvcmtlcnMvRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cG9zdENvbnNv
bGVNZXNzYWdlVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJQcm94eTo6cG9z
dENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdl
KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaDoKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBvc3RDb25zb2xl
TWVzc2FnZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6OnBv
c3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94
eS5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpyZXBvcnRVbnNhZmVVc2FnZSk6CisgICAgICAgICogeG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTTFRQcm9jZXNzb3I6OnBhcnNlRXJyb3JGdW5jKToK
KyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3NvclF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhT
TFRNZXNzYWdlSGFuZGxlcjo6aGFuZGxlTWVzc2FnZSk6CisKIDIwMTEtMDgtMTcgIFNhaWxlc2gg
QWdyYXdhbCAgPHNhaWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENocm9taXVtIE1hYzogRml4
IGlzc3VlIHdoZXJlIHNjcm9sbGJhciB3b3VsZG4ndCBiZSBkcmF3biB1bnRpbCBwYWdlIGZpbmlz
aGVkIGxvYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3Vz
dG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3Vz
dG9tWFBhdGhOU1Jlc29sdmVyLmNwcAppbmRleCA1YjJlZDdlLi4xZjlkNWJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIu
Y3BwCkBAIC04MCw3ICs4MCw3IEBAIFN0cmluZyBKU0N1c3RvbVhQYXRoTlNSZXNvbHZlcjo6bG9v
a3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyYgcHJlZml4KQogICAgICAgICBjYWxsVHlwZSA9
IG1fY3VzdG9tUmVzb2x2ZXItPmdldENhbGxEYXRhKGNhbGxEYXRhKTsKICAgICAgICAgaWYgKGNh
bGxUeXBlID09IENhbGxUeXBlTm9uZSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFBhc3MgYWN0
dWFsIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgVVJMLgotICAgICAgICAgICAgbV9nbG9iYWxPYmpl
Y3QtPmltcGwoKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhh
dmUgYSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIsIDAsIFN0cmluZygpKTsKKyAgICAgICAg
ICAgIG1fZ2xvYmFsT2JqZWN0LT5pbXBsKCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhh
dmUgYSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIsIDAsIFN0cmluZygpKTsKICAgICAgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKICAgICAgICAgfQogICAgICAgICBmdW5jdGlvbiA9IG1fY3Vz
dG9tUmVzb2x2ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCmluZGV4IDk1
MWY1YWEuLjU3ZGZjY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCkBA
IC0xMzYsNyArMTM2LDcgQEAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiBw
YWdlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYKIHsKICAgICBBU1NFUlQo
cGFnZSk7CiAgICAgQ29uc29sZSogY29uc29sZSA9IHBhZ2UtPm1haW5GcmFtZSgpLT5kb21XaW5k
b3coKS0+Y29uc29sZSgpOwotICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIs
IHNvdXJjZUlEKTsKKyAgICBjb25zb2xlLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZUlEKTsKIH0KIAogdm9p
ZCBsb2dJbmZvKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHVybCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGY1NWEwYjUuLmY5ZGMwNzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjMwOSw4ICsyMzA5LDcgQEAgRXZlbnRUYXJnZXQq
IERvY3VtZW50OjplcnJvckV2ZW50VGFyZ2V0KCkKIAogdm9pZCBEb2N1bWVudDo6bG9nRXhjZXB0
aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxs
U3RhY2spCiB7Ci0gICAgTWVzc2FnZVR5cGUgbWVzc2FnZVR5cGUgPSBjYWxsU3RhY2sgPyBVbmNh
dWdodEV4Y2VwdGlvbk1lc3NhZ2VUeXBlIDogTG9nTWVzc2FnZVR5cGU7Ci0gICAgYWRkTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIG1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JN
ZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwsIGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIGxpbmVO
dW1iZXIsIHNvdXJjZVVSTCwgY2FsbFN0YWNrKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0VVJM
KGNvbnN0IEtVUkwmIHVybCkKQEAgLTI1NTYsNyArMjU1NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnBy
b2Nlc3NIdHRwRXF1aXYoY29uc3QgU3RyaW5nJiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50
KQogICAgICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCktPnNjaGVkdWxl
TG9jYXRpb25DaGFuZ2Uoc2VjdXJpdHlPcmlnaW4oKSwgYmxhbmtVUkwoKSwgU3RyaW5nKCkpOwog
CiAgICAgICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNz
YWdlLCAoIlJlZnVzZWQgdG8gZGlzcGxheSBkb2N1bWVudCBiZWNhdXNlIGRpc3BsYXkgZm9yYmlk
ZGVuIGJ5IFgtRnJhbWUtT3B0aW9ucy5cbiIpKTsKLSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9t
V2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UsIDEsIFN0cmluZygpKTsK
KyAgICAgICAgICAgICAgICBmcmFtZS0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSwgMSwg
U3RyaW5nKCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChlcXVh
bElnbm9yaW5nQ2FzZShlcXVpdiwgIngtd2Via2l0LWNzcCIpKQpAQCAtNDYyNSwxMCArNDYyNCwx
MCBAQCB2b2lkIERvY3VtZW50OjpwYXJzZUROU1ByZWZldGNoQ29udHJvbEhlYWRlcihjb25zdCBT
dHJpbmcmIGRuc1ByZWZldGNoQ29udHJvbCkKICAgICBtX2hhdmVFeHBsaWNpdGx5RGlzYWJsZWRE
TlNQcmVmZXRjaCA9IHRydWU7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKK3ZvaWQgRG9j
dW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsK
ICAgICBpZiAoRE9NV2luZG93KiB3aW5kb3cgPSBkb21XaW5kb3coKSkKLSAgICAgICAgd2luZG93
LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGlu
ZU51bWJlciwgc291cmNlVVJMLCBjYWxsU3RhY2spOworICAgICAgICB3aW5kb3ctPmNvbnNvbGUo
KS0+YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VV
UkwsIGNhbGxTdGFjayk7CiB9CiAKIHN0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAppbmRleCAyOTg0NzU3Li42MDZkMzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtOTM2LDcgKzkzNiw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzRE5TUHJlZmV0Y2hFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9pc0ROU1ByZWZldGNoRW5hYmxlZDsgfQogICAgIHZvaWQgcGFy
c2VETlNQcmVmZXRjaENvbnRyb2xIZWFkZXIoY29uc3QgU3RyaW5nJik7CiAKLSAgICB2aXJ0dWFs
IHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgIHZpcnR1YWwg
dm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
UGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2so
UGFzc093blB0cjxUYXNrPik7IC8vIEV4ZWN1dGVzIHRoZSB0YXNrIG9uIGNvbnRleHQncyB0aHJl
YWQgYXN5bmNocm9ub3VzbHkuCiAKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZFNjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlckNhbGxiYWNrcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgKaW5kZXggYTA4MjI4MS4uZTE3ODAwYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC05NSw3ICs5NSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBib29sIHNhbml0aXplU2NyaXB0RXJyb3IoU3RyaW5n
JiBlcnJvck1lc3NhZ2UsIGludCYgbGluZU51bWJlciwgU3RyaW5nJiBzb3VyY2VVUkwpOwogICAg
ICAgICB2b2lkIHJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50
IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4pOwotICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNl
LCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlw
dENhbGxTdGFjaz4pID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4pID0gMDsKIAogICAgICAgICAvLyBBY3RpdmUgb2JqZWN0cyBhcmUgbm90IGdhcmJhZ2Ug
Y29sbGVjdGVkIGV2ZW4gaWYgaW5hY2Nlc3NpYmxlLCBlLmcuIGJlY2F1c2UgdGhlaXIgYWN0aXZp
dHkgbWF5IHJlc3VsdCBpbiBjYWxsYmFja3MgYmVpbmcgaW52b2tlZC4KICAgICAgICAgYm9vbCBj
YW5TdXNwZW5kQWN0aXZlRE9NT2JqZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFy
Z3VtZW50cy5jcHAKaW5kZXggNzFmMTY4Mi4uYjkxNWM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Vmlld3BvcnRBcmd1bWVudHMuY3BwCkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCByZXBvcnRWaWV3
cG9ydFdhcm5pbmcoRG9jdW1lbnQqIGRvY3VtZW50LCBWaWV3cG9ydEVycm9yQ29kZSBlcnJvckNv
ZGUsIGNvbnMKICAgICBpZiAoIXJlcGxhY2VtZW50Mi5pc051bGwoKSkKICAgICAgICAgbWVzc2Fn
ZS5yZXBsYWNlKCIlcmVwbGFjZW1lbnQyIiwgcmVwbGFjZW1lbnQyKTsKIAotICAgIGZyYW1lLT5k
b21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdl
LCBwYXJzZXJMaW5lTnVtYmVyKGRvY3VtZW50KSwgZG9jdW1lbnQtPnVybCgpLnN0cmluZygpKTsK
KyAgICBmcmFtZS0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShIVE1MTWVzc2Fn
ZVNvdXJjZSwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdlLCBw
YXJzZXJMaW5lTnVtYmVyKGRvY3VtZW50KSwgZG9jdW1lbnQtPnVybCgpLnN0cmluZygpKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1l
bnQuY3BwCmluZGV4IDVhYzViNjMuLjZiYzA4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxG
b3JtRWxlbWVudC5jcHAKQEAgLTI1NCw3ICsyNTQsNyBAQCBib29sIEhUTUxGb3JtRWxlbWVudDo6
dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KEV2ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlKCJBbiBpbnZhbGlkIGZvcm0gY29udHJv
bCB3aXRoIG5hbWU9JyVuYW1lJyBpcyBub3QgZm9jdXNhYmxlLiIpOwogICAgICAgICAgICAgbWVz
c2FnZS5yZXBsYWNlKCIlbmFtZSIsIHVuaGFuZGxlZEFzc29jaWF0ZWRFbGVtZW50LT5uYW1lKCkp
OwotICAgICAgICAgICAgZnJhbWUtPmRvbVdpbmRvdygpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uo
SFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZSwgMCwgZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nKCkpOworICAgICAgICAgICAgZnJhbWUt
PmRvbVdpbmRvdygpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCAwLCBkb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKSk7
CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggZWQwYzgx
Yi4uNGRhNjQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC00NDMxLDcgKzQ0MzEsNyBAQCBib29sIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVTdGVuY2lsRnVuYyhHQzNEZW51bSBmdW5jKQogCiB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6cHJpbnRXYXJuaW5nVG9Db25zb2xlKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSkKIHsKLSAgICBjYW52YXMoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+ZG9tV2lu
ZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsCisgICAgY2FudmFzKCktPmRvY3VtZW50KCktPmZy
YW1lKCktPmRvbVdpbmRvdygpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3Vy
Y2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSwgMCwgY2FudmFz
KCktPmRvY3VtZW50KCktPnVybCgpLnN0cmluZygpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9YU1NBdWRpdG9yLmNwcAppbmRleCBlZTFkMmNlLi5kM2I1MjIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZv
aWQgWFNTQXVkaXRvcjo6ZmlsdGVyVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgLy8g
RklYTUU6IENvbnNpZGVyIHVzaW5nIGEgbW9yZSBoZWxwZnVsIGNvbnNvbGUgbWVzc2FnZS4KICAg
ICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoIlJlZnVz
ZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29kZSBvZiBzY3JpcHQg
Zm91bmQgd2l0aGluIHJlcXVlc3QuXG4iKSk7CiAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
YWRkIHRoZSByZWFsIGxpbmUgbnVtYmVyIHRvIHRoZSBjb25zb2xlLgotICAgICAgICBtX3BhcnNl
ci0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3Nh
Z2UsIDEsIFN0cmluZygpKTsKKyAgICAgICAgbV9wYXJzZXItPmRvY3VtZW50KCktPmRvbVdpbmRv
dygpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgY29uc29sZU1lc3NhZ2UsIDEsIFN0cmluZygpKTsKIAogICAgICAgICBpZiAobV94c3NQ
cm90ZWN0aW9uID09IFhTU1Byb3RlY3Rpb25CbG9ja0VuYWJsZWQpIHsKICAgICAgICAgICAgIG1f
cGFyc2VyLT5kb2N1bWVudCgpLT5mcmFtZSgpLT5sb2FkZXIoKS0+c3RvcEFsbExvYWRlcnMoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCmluZGV4IDBiYzRi
YTEuLjViZWIyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdl
LmNwcApAQCAtNDQsNyArNDQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNvbnNvbGVN
ZXNzYWdlOjpDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHMsIE1lc3NhZ2VUeXBlIHQsIE1l
c3NhZ2VMZXZlbCBsLCBjb25zdCBTdHJpbmcmIG0sIHVuc2lnbmVkIGxpLCBjb25zdCBTdHJpbmcm
IHUpCitDb25zb2xlTWVzc2FnZTo6Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzLCBDb25z
b2xlTWVzc2FnZVR5cGUgdCwgTWVzc2FnZUxldmVsIGwsIGNvbnN0IFN0cmluZyYgbSwgdW5zaWdu
ZWQgbGksIGNvbnN0IFN0cmluZyYgdSkKICAgICA6IG1fc291cmNlKHMpCiAgICAgLCBtX3R5cGUo
dCkKICAgICAsIG1fbGV2ZWwobCkKQEAgLTU1LDcgKzU1LDcgQEAgQ29uc29sZU1lc3NhZ2U6OkNv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UgcywgTWVzc2FnZVR5cGUgdCwgTWVzc2FnZUxldmVs
IGwsIGMKIHsKIH0KIAotQ29uc29sZU1lc3NhZ2U6OkNvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2UgcywgTWVzc2FnZVR5cGUgdCwgTWVzc2FnZUxldmVsIGwsIGNvbnN0IFN0cmluZyYgbSwgUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNhbGxTdGFjaykKK0NvbnNvbGVNZXNzYWdlOjpDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlIHMsIENvbnNvbGVNZXNzYWdlVHlwZSB0LCBNZXNzYWdlTGV2ZWwgbCwgY29uc3QgU3Ry
aW5nJiBtLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzLCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQogICAgIDogbV9zb3VyY2UocykKICAgICAsIG1f
dHlwZSh0KQogICAgICwgbV9sZXZlbChsKQpAQCAtNjgsNyArNjgsNyBAQCBDb25zb2xlTWVzc2Fn
ZTo6Q29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzLCBNZXNzYWdlVHlwZSB0LCBNZXNzYWdl
TGV2ZWwgbCwgYwogewogfQogCi1Db25zb2xlTWVzc2FnZTo6Q29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSBzLCBNZXNzYWdlVHlwZSB0LCBNZXNzYWdlTGV2ZWwgbCwgY29uc3QgU3RyaW5nJiBt
LCBjb25zdCBTdHJpbmcmIHJlc3BvbnNlVXJsLCBjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCkKK0Nv
bnNvbGVNZXNzYWdlOjpDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHMsIENvbnNvbGVNZXNz
YWdlVHlwZSB0LCBNZXNzYWdlTGV2ZWwgbCwgY29uc3QgU3RyaW5nJiBtLCBjb25zdCBTdHJpbmcm
IHJlc3BvbnNlVXJsLCBjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCkKICAgICA6IG1fc291cmNlKHMp
CiAgICAgLCBtX3R5cGUodCkKICAgICAsIG1fbGV2ZWwobCkKQEAgLTk3LDcgKzk3LDcgQEAgc3Rh
dGljIFN0cmluZyBtZXNzYWdlU291cmNlVmFsdWUoTWVzc2FnZVNvdXJjZSBzb3VyY2UpCiAgICAg
cmV0dXJuICJvdGhlciI7CiB9CiAKLXN0YXRpYyBTdHJpbmcgbWVzc2FnZVR5cGVWYWx1ZShNZXNz
YWdlVHlwZSB0eXBlKQorc3RhdGljIFN0cmluZyBtZXNzYWdlVHlwZVZhbHVlKENvbnNvbGVNZXNz
YWdlVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgTG9nTWVzc2Fn
ZVR5cGU6IHJldHVybiAibG9nIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNz
YWdlLmgKaW5kZXggYzBiMjU4OC4uZGVjYzIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkNvbnNvbGVU
eXBlcy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTUxLDkgKzUyLDkg
QEAgY2xhc3MgU2NyaXB0VmFsdWU7CiBjbGFzcyBDb25zb2xlTWVzc2FnZSB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIHVuc2lnbmVkIGxpLCBjb25zdCBTdHJpbmcm
IHUpOwotICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwotICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgY29uc3Qg
U3RyaW5nJiByZXNwb25zZVVybCwgY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQpOworICAgIENvbnNv
bGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIENvbnNvbGVNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG0sIHVuc2lnbmVkIGxpLCBjb25zdCBTdHJpbmcmIHUpOworICAgIENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIENvbnNvbGVNZXNzYWdlVHlwZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmIG0sIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNl
LCBDb25zb2xlTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCBjb25z
dCBTdHJpbmcmIHJlc3BvbnNlVXJsLCBjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCk7CiAgICAgfkNv
bnNvbGVNZXNzYWdlKCk7CiAKICAgICB2b2lkIGFkZFRvRnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRl
bmQ6OkNvbnNvbGUqLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKQEAgLTYzLDEzICs2NCwxMyBA
QCBwdWJsaWM6CiAKICAgICBNZXNzYWdlU291cmNlIHNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c291cmNlOyB9CiAgICAgY29uc3QgU3RyaW5nJiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9t
ZXNzYWdlOyB9Ci0gICAgTWVzc2FnZVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsg
fQorICAgIENvbnNvbGVNZXNzYWdlVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9
CiAKICAgICB2b2lkIHdpbmRvd0NsZWFyZWQoRE9NV2luZG93Kik7CiAKIHByaXZhdGU6CiAgICAg
TWVzc2FnZVNvdXJjZSBtX3NvdXJjZTsKLSAgICBNZXNzYWdlVHlwZSBtX3R5cGU7CisgICAgQ29u
c29sZU1lc3NhZ2VUeXBlIG1fdHlwZTsKICAgICBNZXNzYWdlTGV2ZWwgbV9sZXZlbDsKICAgICBT
dHJpbmcgbV9tZXNzYWdlOwogICAgIFJlZlB0cjxTY3JpcHRBcmd1bWVudHM+IG1fYXJndW1lbnRz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50
LmNwcAppbmRleCBhM2YyYzIzLi5kZGZlNTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcApAQCAtMTM1LDE0ICsxMzUsMTQgQEAg
dm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQogICAgIG1fZnJvbnRl
bmQgPSAwOwogfQogCi12b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRvQ29u
c29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVs
IGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRz
PiBhcmd1bWVudHMsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCit2b2lk
IEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNl
IHNvdXJjZSwgQ29uc29sZU1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQogewogICAgIGlmICghbV9p
bnNwZWN0b3JBZ2VudC0+ZW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgYWRkQ29uc29s
ZU1lc3NhZ2UoYWRvcHRQdHIobmV3IENvbnNvbGVNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIGFyZ3VtZW50cywgY2FsbFN0YWNrKSkpOwogfQogCi12b2lkIEluc3BlY3RvckNv
bnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVz
c2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc2NyaXB0SWQpCit2b2lkIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJj
ZSwgQ29uc29sZU1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNjcmlwdElk
KQogewogICAgIGlmICghbV9pbnNwZWN0b3JBZ2VudC0+ZW5hYmxlZCgpKQogICAgICAgICByZXR1
cm47CkBAIC0yNTcsNyArMjU3LDcgQEAgdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZElu
c3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkKQogICAgIG1faW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhvc3QoKS0+YWRkSW5zcGVjdGVkTm9kZShub2RlKTsK
IH0KIAotc3RhdGljIGJvb2wgaXNHcm91cE1lc3NhZ2UoTWVzc2FnZVR5cGUgdHlwZSkKK3N0YXRp
YyBib29sIGlzR3JvdXBNZXNzYWdlKENvbnNvbGVNZXNzYWdlVHlwZSB0eXBlKQogewogICAgIHJl
dHVybiB0eXBlID09IFN0YXJ0R3JvdXBNZXNzYWdlVHlwZQogICAgICAgICB8fCB0eXBlID09ICBT
dGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaAppbmRleCA4MzlmOTUwLi42NzNhZGUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCkBA
IC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTY3LDggKzY4LDggQEAgcHVibGljOgogICAg
IHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICB2b2lkIGNsZWFyRnJv
bnRlbmQoKTsKIAotICAgIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBN
ZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQ
dHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKLSAgICB2
b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25z
dCBTdHJpbmcmIHNjcmlwdElkKTsKKyAgICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2Fn
ZVNvdXJjZSwgQ29uc29sZU1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4pOworICAgIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBD
b25zb2xlTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1
bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNjcmlwdElkKTsKIAogICAgIHZvaWQg
c3RhcnRUaW1pbmcoY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgdm9pZCBzdG9wVGltaW5nKGNv
bnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVt
ZW50YXRpb24uaAppbmRleCA4YTQwODU5Li40MjQ2NjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgK
QEAgLTM4LDcgKzM4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1pbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwg
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJn
dW1lbnRzLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQoraW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqIHBh
Z2UsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBDb25zb2xlTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2Fn
ZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPiBhcmd1bWVudHMsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2sp
CiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQpA
QCAtNDYsNyArNDYsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdQogI2VuZGlmCiB9CiAKLWlu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShQ
YWdlKiBwYWdlLCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2Fn
ZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IGNvbnN0IFN0cmluZyYgc2NyaXB0SWQpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSogcGFnZSwgTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIENvbnNvbGVNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzY3JpcHRJ
ZCkKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwCmluZGV4IDZiNDVmNzIuLjFkM2E0MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC02ODgsMTMg
KzY4OCwxMyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkV3JpdGVIVE1MSW1w
bChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25DbwogICAgICAgICB0aW1lbGluZUFnZW50
LT5kaWRXcml0ZUhUTUwoZW5kTGluZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzLCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVz
c2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiBhcmd1bWVudHMsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3Rh
Y2spCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgTWVzc2FnZVNvdXJj
ZSBzb3VyY2UsIENvbnNvbGVNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50
cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKICAgICBpZiAoSW5z
cGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5p
bnNwZWN0b3JDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29uc29sZUFnZW50LT5hZGRNZXNzYWdl
VG9Db25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGFyZ3VtZW50cywgY2FsbFN0
YWNrKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0Nv
bnNvbGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBz
Y3JpcHRJZCkKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25z
b2xlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBNZXNzYWdl
U291cmNlIHNvdXJjZSwgQ29uc29sZU1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNjcmlwdElkKQogewogICAgIGlmIChJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNvbnNvbGVBZ2VudCgpKQogICAg
ICAgICBjb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCB0eXBlLCBsZXZl
bCwgbWVzc2FnZSwgbGluZU51bWJlciwgc2NyaXB0SWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDliYTIwMWEuLmFl
MzlmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKQEAgLTcyLDYgKzcyLDE5IEBAIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFr
ZVJlc3BvbnNlOwogCiB0eXBlZGVmIHBhaXI8SW5zdHJ1bWVudGluZ0FnZW50cyosIGludD4gSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llOwogCisKK2VudW0gQ29uc29sZU1lc3NhZ2VUeXBl
IHsKKyAgICBMb2dNZXNzYWdlVHlwZSwKKyAgICBPYmplY3RNZXNzYWdlVHlwZSwKKyAgICBUcmFj
ZU1lc3NhZ2VUeXBlLAorICAgIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZSwKKyAgICBTdGFydEdyb3Vw
Q29sbGFwc2VkTWVzc2FnZVR5cGUsCisgICAgRW5kR3JvdXBNZXNzYWdlVHlwZSwKKyAgICBBc3Nl
cnRNZXNzYWdlVHlwZSwKKyAgICBVbmNhdWdodEV4Y2VwdGlvbk1lc3NhZ2VUeXBlLAorICAgIE5l
dHdvcmtFcnJvck1lc3NhZ2VUeXBlCit9OworCiBjbGFzcyBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24gewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3Js
ZChGcmFtZSosIERPTVdyYXBwZXJXb3JsZCopOwpAQCAtMTQ4LDggKzE2MSw4IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxXcml0ZUhUTUwo
RG9jdW1lbnQqLCB1bnNpZ25lZCBpbnQgbGVuZ3RoLCB1bnNpZ25lZCBpbnQgc3RhcnRMaW5lKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRXcml0ZUhUTUwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llJiwgdW5zaWduZWQgaW50IGVuZExpbmUpOwogCi0gICAgc3RhdGljIHZvaWQgYWRk
TWVzc2FnZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAgc3RhdGljIHZvaWQgYWRkTWVz
c2FnZVRvQ29uc29sZShQYWdlKiwgTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBT
dHJpbmcmKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFBhZ2UqLCBNZXNz
YWdlU291cmNlLCBDb25zb2xlTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShQYWdlKiwg
TWVzc2FnZVNvdXJjZSwgQ29uc29sZU1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJik7CiAgICAg
c3RhdGljIHZvaWQgY29uc29sZUNvdW50KFBhZ2UqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CiAgICAgc3RhdGljIHZvaWQgc3RhcnRD
b25zb2xlVGltaW5nKFBhZ2UqLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgdm9p
ZCBzdG9wQ29uc29sZVRpbWluZyhQYWdlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+KTsKQEAgLTI3OCw4ICsyOTEsOCBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFdyaXRlSFRNTEltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyosIHVuc2lnbmVkIGludCBsZW5ndGgsIHVuc2lnbmVkIGludCBzdGFy
dExpbmUpOwogICAgIHN0YXRpYyB2b2lkIGRpZFdyaXRlSFRNTEltcGwoY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llJiwgdW5zaWduZWQgaW50IGVuZExpbmUpOwogCi0gICAgc3Rh
dGljIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4pOwotICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqLCBNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYg
c2NyaXB0SWQpOworICAgIHN0YXRpYyB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGVJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqLCBNZXNzYWdlU291cmNlLCBDb25zb2xlTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgc3RhdGljIHZvaWQgYWRkTWVz
c2FnZVRvQ29uc29sZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE1lc3NhZ2VTb3VyY2UsIENv
bnNvbGVNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc2NyaXB0SWQpOwogICAgIHN0YXRpYyB2
b2lkIGNvbnNvbGVDb3VudEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKICAgICBzdGF0aWMg
dm9pZCBzdGFydENvbnNvbGVUaW1pbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBjb25zdCBT
dHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgdm9pZCBzdG9wQ29uc29sZVRpbWluZ0ltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyosIGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0NvbnNvbGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
b25zb2xlVmlldy5qcwppbmRleCA5MjYyZTVjLi5hNTMyN2RiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKQEAgLTg4OCwyNSArODg4
LDMzIEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7CiAgICAgICAg
IHRoaXMuX2Zvcm1hdHRlZE1lc3NhZ2UuYXBwZW5kQ2hpbGQobWVzc2FnZVRleHQpOwogCiAgICAg
ICAgIGlmICh0aGlzLl9zdGFja1RyYWNlKSB7CisgICAgICAgICAgICB2YXIgc2hvdWxkQXBwZW5k
VHJhY2UgPSBmYWxzZTsKICAgICAgICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7CiAgICAgICAg
ICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuVHJh
Y2U6CiAgICAgICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVz
c2FnZVR5cGUuVW5jYXVnaHRFeGNlcHRpb246CiAgICAgICAgICAgICAgICAgY2FzZSBXZWJJbnNw
ZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuTmV0d29ya0Vycm9yOgotICAgICAgICAg
ICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBlLkFzc2Vy
dDogewotICAgICAgICAgICAgICAgICAgICB2YXIgb2wgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJvbCIpOwotICAgICAgICAgICAgICAgICAgICBvbC5jbGFzc05hbWUgPSAib3V0bGluZS1kaXNj
bG9zdXJlIjsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHRyZWVPdXRsaW5lID0gbmV3IFRyZWVP
dXRsaW5lKG9sKTsKLQotICAgICAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IHRoaXMuX2Zv
cm1hdHRlZE1lc3NhZ2U7Ci0gICAgICAgICAgICAgICAgICAgIHZhciByb290ID0gbmV3IFRyZWVF
bGVtZW50KGNvbnRlbnQsIG51bGwsIHRydWUpOwotICAgICAgICAgICAgICAgICAgICBjb250ZW50
LnRyZWVFbGVtZW50Rm9yVGVzdCA9IHJvb3Q7Ci0gICAgICAgICAgICAgICAgICAgIHRyZWVPdXRs
aW5lLmFwcGVuZENoaWxkKHJvb3QpOwotICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50eXBl
ID09PSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuVHJhY2UpCi0gICAg
ICAgICAgICAgICAgICAgICAgICByb290LmV4cGFuZCgpOwotCi0gICAgICAgICAgICAgICAgICAg
IHRoaXMuX3BvcHVsYXRlU3RhY2tUcmFjZVRyZWVFbGVtZW50KHJvb3QpOwotICAgICAgICAgICAg
ICAgICAgICB0aGlzLl9mb3JtYXR0ZWRNZXNzYWdlID0gb2w7Ci0gICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VU
eXBlLkFzc2VydDoKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQXBwZW5kVHJhY2UgPSB0cnVl
OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHRoaXMubGV2ZWwgPT09IFdlYkluc3BlY3Rv
ci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlTGV2ZWwuRXJyb3IpCisgICAgICAgICAgICAgICAgc2hv
dWxkQXBwZW5kVHJhY2UgPSB0cnVlOworCisgICAgICAgICAgICBpZiAoc2hvdWxkQXBwZW5kVHJh
Y2UpIHsKKyAgICAgICAgICAgICAgICB2YXIgb2wgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJv
bCIpOworICAgICAgICAgICAgICAgIG9sLmNsYXNzTmFtZSA9ICJvdXRsaW5lLWRpc2Nsb3N1cmUi
OworICAgICAgICAgICAgICAgIHZhciB0cmVlT3V0bGluZSA9IG5ldyBUcmVlT3V0bGluZShvbCk7
CisKKyAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IHRoaXMuX2Zvcm1hdHRlZE1lc3NhZ2U7
CisgICAgICAgICAgICAgICAgdmFyIHJvb3QgPSBuZXcgVHJlZUVsZW1lbnQoY29udGVudCwgbnVs
bCwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgY29udGVudC50cmVlRWxlbWVudEZvclRlc3QgPSBy
b290OworICAgICAgICAgICAgICAgIHRyZWVPdXRsaW5lLmFwcGVuZENoaWxkKHJvb3QpOworICAg
ICAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2Fn
ZS5NZXNzYWdlVHlwZS5UcmFjZSkKKyAgICAgICAgICAgICAgICAgICAgcm9vdC5leHBhbmQoKTsK
KworICAgICAgICAgICAgICAgIHRoaXMuX3BvcHVsYXRlU3RhY2tUcmFjZVRyZWVFbGVtZW50KHJv
b3QpOworICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1hdHRlZE1lc3NhZ2UgPSBvbDsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5k
ZXggMDAxNzFhMy4uYjFlY2ZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMTI4LDcgKzEyOCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFi
bGUoYm9vbCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNp
Z25lZCwgY29uc3QgU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0Nv
bnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25l
ZCwgY29uc3QgU3RyaW5nJikgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5s
b2FkQ29uZmlybVBhbmVsKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgcnVu
QmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYsIEZyYW1lKikgeyByZXR1cm4g
dHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggOWRhY2FkNS4u
ZTM5NWVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC05MTEsNyAr
OTExLDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6Y2hlY2tJZkRpc3BsYXlJbnNlY3VyZUNvbnRlbnQo
U2VjdXJpdHlPcmlnaW4qIGNvbnRleHQsIGNvbnN0IEsKICAgICBTdHJpbmcgbWVzc2FnZSA9IChh
bGxvd2VkID8gZW1wdHlTdHJpbmcoKSA6ICJbYmxvY2tlZF0gIikgKyAiVGhlIHBhZ2UgYXQgIiAr
CiAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVybCgpLnN0cmluZygpICsgIiBkaXNwbGF5
ZWQgaW5zZWN1cmUgY29udGVudCBmcm9tICIgKyB1cmwuc3RyaW5nKCkgKyAiLlxuIjsKICAgICAg
ICAgCi0gICAgbV9mcmFtZS0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShIVE1M
TWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UsIDEsIFN0cmluZygpKTsKKyAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+Y29uc29sZSgpLT5h
ZGRNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdl
LCAxLCBTdHJpbmcoKSk7CiAKICAgICBpZiAoYWxsb3dlZCkKICAgICAgICAgbV9jbGllbnQtPmRp
ZERpc3BsYXlJbnNlY3VyZUNvbnRlbnQoKTsKQEAgLTkyOSw3ICs5MjksNyBAQCBib29sIEZyYW1l
TG9hZGVyOjpjaGVja0lmUnVuSW5zZWN1cmVDb250ZW50KFNlY3VyaXR5T3JpZ2luKiBjb250ZXh0
LCBjb25zdCBLVVJMJgogICAgIFN0cmluZyBtZXNzYWdlID0gKGFsbG93ZWQgPyBlbXB0eVN0cmlu
ZygpIDogIltibG9ja2VkXSAiKSArICJUaGUgcGFnZSBhdCAiICsKICAgICAgICAgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nKCkgKyAiIHJhbiBpbnNlY3VyZSBjb250ZW50IGZyb20g
IiArIHVybC5zdHJpbmcoKSArICIuXG4iOwogICAgICAgIAotICAgIG1fZnJhbWUtPmRvbVdpbmRv
dygpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlLCAxLCBTdHJpbmcoKSk7CisgICAgbV9m
cmFtZS0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJj
ZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgMSwgU3RyaW5nKCkpOwogCiAgICAgaWYg
KGFsbG93ZWQpCiAgICAgICAgIG1fY2xpZW50LT5kaWRSdW5JbnNlY3VyZUNvbnRlbnQoY29udGV4
dCwgdXJsKTsKQEAgLTEzODUsNyArMTM4NSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnJlcG9ydExv
Y2FsTG9hZEZhaWxlZChGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgdXJsKQogICAgIGlmICgh
ZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZyYW1lLT5kb21XaW5kb3coKS0+Y29uc29s
ZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCAiTm90IGFsbG93ZWQgdG8gbG9hZCBsb2NhbCByZXNvdXJjZTogIiArIHVybCwg
MCwgU3RyaW5nKCkpOworICAgIGZyYW1lLT5kb21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJOb3QgYWxsb3dlZCB0byBs
b2FkIGxvY2FsIHJlc291cmNlOiAiICsgdXJsLCAwLCBTdHJpbmcoKSk7CiB9CiAKIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgRnJhbWVMb2FkZXI6OmluaXRpYWxSZXF1ZXN0KCkgY29uc3QKQEAgLTE1
NjMsNyArMTU2Myw3IEBAIGJvb2wgRnJhbWVMb2FkZXI6OnNob3VsZEFsbG93TmF2aWdhdGlvbihG
cmFtZSogdGFyZ2V0RnJhbWUpIGNvbnN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0
RG9jdW1lbnQtPnVybCgpLnN0cmluZygpICsgIiBmcm9tIGZyYW1lIHdpdGggVVJMICIgKyBhY3Rp
dmVEb2N1bWVudC0+dXJsKCkuc3RyaW5nKCkgKyAiLlxuIjsKIAogICAgICAgICAvLyBGSVhNRTog
c2hvdWxkIHdlIHByaW50IHRvIHRoZSBjb25zb2xlIG9mIHRoZSBhY3RpdmVGcmFtZSBhcyB3ZWxs
PwotICAgICAgICB0YXJnZXRGcmFtZS0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZSwgMSwgU3RyaW5nKCkpOworICAgICAgICB0YXJnZXRGcmFtZS0+ZG9tV2luZG93KCktPmNv
bnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBt
ZXNzYWdlLCAxLCBTdHJpbmcoKSk7CiAgICAgfQogICAgIAogICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYTFmOTkx
OGUuLmM4MjhiMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC0zNzEsNyArMzcxLDcgQEAgdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByKQogICAgICAgICBpZiAobV9m
cmFtZS0+bG9hZGVyKCktPnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnRl
bnQsIHIudXJsKCkpKSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNv
bnRpbnVlQWZ0ZXJYRnJhbWVPcHRpb25zRGVuaWVkKG1fZnJhbWUuZ2V0KCksIGRvY3VtZW50TG9h
ZGVyKCksIGlkZW50aWZpZXIoKSwgcik7CiAgICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFN0cmluZywgY29uc29sZU1lc3NhZ2UsICgiUmVmdXNlZCB0byBkaXNwbGF5IGRvY3VtZW50IGJl
Y2F1c2UgZGlzcGxheSBmb3JiaWRkZW4gYnkgWC1GcmFtZS1PcHRpb25zLlxuIikpOwotICAgICAg
ICAgICAgbV9mcmFtZS0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3Nh
Z2UsIDEsIFN0cmluZygpKTsKKyAgICAgICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5jb25z
b2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29u
c29sZU1lc3NhZ2UsIDEsIFN0cmluZygpKTsKIAogICAgICAgICAgICAgY2FuY2VsKCk7CiAgICAg
ICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IGRjZmE1MjQuLjAwYzBmNGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
R3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlR3JvdXAuY3BwCkBAIC01MzYsNyArNTM2LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hl
R3JvdXA6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBS
ZXMKIAogICAgIGlmIChyZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpIC8gMTAwICE9IDIgfHwgcmVz
cG9uc2UudXJsKCkgIT0gbV9jdXJyZW50SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKSkgewog
ICAgICAgICBpZiAoKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6OkV4cGxpY2l0KSB8
fCAodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6RmFsbGJhY2spKSB7Ci0gICAgICAg
ICAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKE90aGVyTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRp
b24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgbV9jdXJyZW50SGFuZGxlLT5maXJz
dFJlcXVlc3QoKS51cmwoKS5zdHJpbmcoKSArIAorICAgICAgICAgICAgbV9mcmFtZS0+ZG9tV2lu
ZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsg
bV9jdXJyZW50SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJpbmcoKSArCiAgICAgICAg
ICAgICAgICAgKChyZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpIC8gMTAwICE9IDIpID8gIiBjb3Vs
ZCBub3QgYmUgZmV0Y2hlZC4iIDogIiB3YXMgcmVkaXJlY3RlZC4iKSwgMCwgU3RyaW5nKCkpOwog
ICAgICAgICAgICAgLy8gTm90ZSB0aGF0IGNhY2hlVXBkYXRlRmFpbGVkKCkgY2FuIGNhdXNlIHRo
ZSBjYWNoZSBncm91cCB0byBiZSBkZWxldGVkLgogICAgICAgICAgICAgY2FjaGVVcGRhdGVGYWls
ZWQoKTsKQEAgLTYxMyw3ICs2MTMsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlk
RmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBkb3VibGUgZmluaQogICAgIC8v
IEZJWE1FOiBTaG91bGQgd2UgYnJlYWsgZWFybGllciBhbmQgcHJldmVudCByZWRvd25sb2FkaW5n
IG9uIGxhdGVyIHBhZ2UgbG9hZHM/CiAgICAgaWYgKG1fb3JpZ2luUXVvdGFFeGNlZWRlZFByZXZp
b3VzbHkgJiYgbV9hdmFpbGFibGVTcGFjZUluUXVvdGEgPCBtX2NhY2hlQmVpbmdVcGRhdGVkLT5l
c3RpbWF0ZWRTaXplSW5TdG9yYWdlKCkpIHsKICAgICAgICAgbV9jdXJyZW50UmVzb3VyY2UgPSAw
OwotICAgICAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKE90
aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBw
bGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNl
ZWRlZC4iLCAwLCBTdHJpbmcoKSk7CisgICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5jb25z
b2xlKCktPmFkZE1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMg
ZXhjZWVkZWQuIiwgMCwgU3RyaW5nKCkpOwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjQ2LDcgKzY0Niw3IEBAIHZvaWQgQXBwbGljYXRp
b25DYWNoZUdyb3VwOjpkaWRGYWlsKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291
cmNlRXJyb3ImCiAgICAgbV9wZW5kaW5nRW50cmllcy5yZW1vdmUodXJsKTsKIAogICAgIGlmICgo
dHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0eXBlICYgQXBw
bGljYXRpb25DYWNoZVJlc291cmNlOjpGYWxsYmFjaykpIHsKLSAgICAgICAgbV9mcmFtZS0+ZG9t
V2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBm
YWlsZWQsIGJlY2F1c2UgIiArIHVybC5zdHJpbmcoKSArICIgY291bGQgbm90IGJlIGZldGNoZWQu
IiwgMCwgU3RyaW5nKCkpOworICAgICAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+Y29uc29sZSgp
LT5hZGRNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBs
aWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyB1cmwuc3RyaW5nKCkgKyAi
IGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIsIDAsIFN0cmluZygpKTsKICAgICAgICAgLy8gTm90ZSB0
aGF0IGNhY2hlVXBkYXRlRmFpbGVkKCkgY2FuIGNhdXNlIHRoZSBjYWNoZSBncm91cCB0byBiZSBk
ZWxldGVkLgogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgIH0gZWxzZSB7CkBAIC02
NzUsMTkgKzY3NSwxOSBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1h
bmlmZXN0UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcgogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyKSB7Ci0gICAg
ICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoT3RoZXJNZXNz
YWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlv
biBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iLCAwLCBTdHJpbmcoKSk7Cisg
ICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoT3RoZXJN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlm
ZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIsIDAsIFN0cmluZygpKTsKICAgICAgICAgY2FjaGVV
cGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChyZXNwb25z
ZS51cmwoKSAhPSBtX21hbmlmZXN0SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKSkgewotICAg
ICAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKE90aGVyTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRp
b24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQsIGJlY2F1c2UgYSByZWRpcmVj
dGlvbiB3YXMgYXR0ZW1wdGVkLiIsIDAsIFN0cmluZygpKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9t
V2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZl
dGNoZWQsIGJlY2F1c2UgYSByZWRpcmVjdGlvbiB3YXMgYXR0ZW1wdGVkLiIsIDAsIFN0cmluZygp
KTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAogICAgIGlmICghZXF1YWxJZ25vcmluZ0Nhc2UocmVzcG9uc2UubWltZVR5cGUoKSwgInRleHQv
Y2FjaGUtbWFuaWZlc3QiKSkgewotICAgICAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+Y29uc29s
ZSgpLT5hZGRNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgaGFkIGFuIGluY29ycmVj
dCBNSU1FIHR5cGU6ICIgKyByZXNwb25zZS5taW1lVHlwZSgpICsgIi4iLCAwLCBTdHJpbmcoKSk7
CisgICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoT3Ro
ZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1h
bmlmZXN0IGhhZCBhbiBpbmNvcnJlY3QgTUlNRSB0eXBlOiAiICsgcmVzcG9uc2UubWltZVR5cGUo
KSArICIuIiwgMCwgU3RyaW5nKCkpOwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtNzA3LDcgKzcwNyw3IEBAIHZvaWQgQXBwbGljYXRpb25D
YWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nTWFuaWZlc3QoKQogCiAgICAgaWYgKCFpc1VwZ3Jh
ZGVBdHRlbXB0ICYmICFtX21hbmlmZXN0UmVzb3VyY2UpIHsKICAgICAgICAgLy8gVGhlIHNlcnZl
ciByZXR1cm5lZCAzMDQgTm90IE1vZGlmaWVkIGV2ZW4gdGhvdWdoIHdlIGRpZG4ndCBzZW5kIGEg
Y29uZGl0aW9uYWwgcmVxdWVzdC4KLSAgICAgICAgbV9mcmFtZS0+ZG9tV2luZG93KCktPmNvbnNv
bGUoKS0+YWRkTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBm
ZXRjaGVkIGJlY2F1c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNlcnZlciBy
ZXNwb25zZS4iLCAwLCBTdHJpbmcoKSk7CisgICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5j
b25zb2xlKCktPmFkZE1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkIGJlY2F1
c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNlcnZlciByZXNwb25zZS4iLCAw
LCBTdHJpbmcoKSk7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC03MzMsNyArNzMzLDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmRpZEZpbmlzaExvYWRpbmdNYW5pZmVzdCgpCiAgICAgTWFuaWZlc3QgbWFuaWZlc3Q7CiAgICAg
aWYgKCFwYXJzZU1hbmlmZXN0KG1fbWFuaWZlc3RVUkwsIG1fbWFuaWZlc3RSZXNvdXJjZS0+ZGF0
YSgpLT5kYXRhKCksIG1fbWFuaWZlc3RSZXNvdXJjZS0+ZGF0YSgpLT5zaXplKCksIG1hbmlmZXN0
KSkgewogICAgICAgICAvLyBBdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcsIGxhY2sgb2YgIkNB
Q0hFIE1BTklGRVNUIiBzaWduYXR1cmUgaXMgdGhlIG9ubHkgcmVhc29uIGZvciBwYXJzZU1hbmlm
ZXN0IHRvIGZhaWwuCi0gICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5jb25zb2xlKCktPmFk
ZE1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgcGFyc2VkLiBE
b2VzIGl0IHN0YXJ0IHdpdGggQ0FDSEUgTUFOSUZFU1Q/IiwgMCwgU3RyaW5nKCkpOworICAgICAg
ICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKE90aGVyTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBj
b3VsZCBub3QgYmUgcGFyc2VkLiBEb2VzIGl0IHN0YXJ0IHdpdGggQ0FDSEUgTUFOSUZFU1Q/Iiwg
MCwgU3RyaW5nKCkpOwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1
cm47CiAgICAgfQpAQCAtOTIyLDcgKzkyMiw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3Vw
OjpjaGVja0lmTG9hZElzQ29tcGxldGUoKQogICAgICAgICAgICAgICAgIC8vIFdlIHJhbiBvdXQg
b2Ygc3BhY2UgZm9yIHRoaXMgb3JpZ2luLiBGYWxsIGRvd24gdG8gdGhlIG5vcm1hbCBlcnJvciBo
YW5kbGluZwogICAgICAgICAgICAgICAgIC8vIGFmdGVyIHJlY29yZGluZyB0aGlzIHN0YXRlLgog
ICAgICAgICAgICAgICAgIG1fb3JpZ2luUXVvdGFFeGNlZWRlZFByZXZpb3VzbHkgPSB0cnVlOwot
ICAgICAgICAgICAgICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5jb25zb2xlKCktPmFkZE1lc3Nh
Z2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2Fz
IGV4Y2VlZGVkLiIsIDAsIFN0cmluZygpKTsKKyAgICAgICAgICAgICAgICBtX2ZyYW1lLT5kb21X
aW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNp
emUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIsIDAsIFN0cmluZygpKTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgaWYgKGZhaWx1cmVSZWFzb24gPT0gQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6
OlRvdGFsUXVvdGFSZWFjaGVkICYmICFtX2NhbGxlZFJlYWNoZWRNYXhBcHBDYWNoZVNpemUpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwCmluZGV4IDc3N2Q4YmUuLjg0NWUxY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNTI3LDcgKzUyNyw3
IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVuaWVkTWVzc2FnZShj
b25zdCBLVVJMJiB1cmwpIGNvbnN0CiAgICAgICAgIG1lc3NhZ2UgPSAiVW5zYWZlIGF0dGVtcHQg
dG8gbG9hZCBVUkwgIiArIHVybC5zdHJpbmcoKSArICIgZnJvbSBmcmFtZSB3aXRoIFVSTCAiICsg
bV9kb2N1bWVudC0+dXJsKCkuc3RyaW5nKCkgKyAiLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBv
cnRzIG11c3QgbWF0Y2guXG4iOwogCiAgICAgLy8gRklYTUU6IHByb3ZpZGUgYSByZWFsIGxpbmUg
bnVtYmVyIGFuZCBzb3VyY2UgVVJMLgotICAgIGZyYW1lKCktPmRvbVdpbmRvdygpLT5jb25zb2xl
KCktPmFkZE1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIDEsIFN0cmluZygpKTsKKyAgICBmcmFtZSgpLT5kb21XaW5k
b3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIG1lc3NhZ2UsIDEsIFN0cmluZygpKTsKIH0KIAogdm9pZCBDYWNoZWRSZXNvdXJj
ZUxvYWRlcjo6c2V0QXV0b0xvYWRJbWFnZXMoYm9vbCBlbmFibGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJv
bWVDbGllbnQuaAppbmRleCA4NGMzNzc0Li4xYWMwODBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgKQEAgLTEyNSw3ICsxMjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAg
ICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKSA9IDA7CiAgICAgICAgIAotICAgICAg
ICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdl
VHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBs
aW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKSA9IDA7CisgICAgICAgIHZpcnR1YWwg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VJRCkgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxv
YWRDb25maXJtUGFuZWwoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxv
YWRDb25maXJtUGFuZWwoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBGcmFtZSogZnJhbWUpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnNvbGUuY3BwCmluZGV4IDk1ZmRiMzkuLjA2ZmM2NzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db25zb2xlLmNwcApAQCAtMTMzLDIzICsxMzMsMjMgQEAgc3RhdGljIHZvaWQgcHJpbnRNZXNz
YWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZl
bAogICAgIHByaW50ZigiJXMgJXM6Iiwgc291cmNlU3RyaW5nLCBsZXZlbFN0cmluZyk7CiB9CiAK
LXZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5
cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBDb25zb2xlOjph
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpCiB7Ci0gICAgYWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBs
aW5lTnVtYmVyLCBzb3VyY2VVUkwsIDApOworICAgIGFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwg
bWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMLCAwKTsKIH0KIAotdm9pZCBDb25zb2xlOjph
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdl
TGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxs
U3RhY2spCit2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
IGNhbGxTdGFjaykKIHsKICAgICBQYWdlKiBwYWdlID0gdGhpcy0+cGFnZSgpOwogICAgIGlmICgh
cGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5h
ZGRNZXNzYWdlVG9Db25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1i
ZXIsIHNvdXJjZVVSTCk7CisgICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5hZGRNZXNzYWdl
VG9Db25zb2xlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7
CiAKICAgICBpZiAoY2FsbFN0YWNrKQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwg
MCwgY2FsbFN0YWNrKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNz
YWdlVG9Db25zb2xlKHBhZ2UsIHNvdXJjZSwgVW5jYXVnaHRFeGNlcHRpb25NZXNzYWdlVHlwZSwg
bGV2ZWwsIG1lc3NhZ2UsIDAsIGNhbGxTdGFjayk7CiAgICAgZWxzZQotICAgICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgc291cmNlLCB0eXBl
LCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKKyAgICAgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIHNvdXJjZSwgTG9n
TWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogCiAg
ICAgaWYgKCFDb25zb2xlOjpzaG91bGRQcmludEV4Y2VwdGlvbnMoKSkKICAgICAgICAgcmV0dXJu
OwpAQCAtMTYwLDEyICsxNjAsMTEgQEAgdm9pZCBDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGUKICAgICBwcmlu
dGYoIiAlc1xuIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKIH0KIAotdm9pZCBDb25zb2xlOjph
ZGRNZXNzYWdlKE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IHBycEFyZ3VtZW50cywgIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0
YWNrPiBwcnBDYWxsU3RhY2ssIGJvb2wgYWNjZXB0Tm9Bcmd1bWVudHMpCitzdGF0aWMgdm9pZCBp
bm5lckFkZE1lc3NhZ2UoUGFnZSogcGFnZSwgQ29uc29sZU1lc3NhZ2VUeXBlIHR5cGUsIE1lc3Nh
Z2VMZXZlbCBsZXZlbCwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IHBycEFyZ3VtZW50cywg
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBwcnBDYWxsU3RhY2ssIGJvb2wgYWNjZXB0Tm9B
cmd1bWVudHMpCiB7CiAgICAgUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzID0gcHJw
QXJndW1lbnRzOwogICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjayA9IHBycENh
bGxTdGFjazsKIAotICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQogICAgICAgICByZXR1cm47CiAKQEAgLTE4OCw3ICsxODcsNyBAQCB2b2lkIENvbnNvbGU6OmFk
ZE1lc3NhZ2UoTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBQYXNzUmVmUHRy
PFNjcmlwdAogCiAgICAgU3RyaW5nIG1lc3NhZ2U7CiAgICAgaWYgKGFyZ3VtZW50cy0+Z2V0Rmly
c3RBcmd1bWVudEFzU3RyaW5nKG1lc3NhZ2UpKQotICAgICAgICBwYWdlLT5jaHJvbWUoKS0+Y2xp
ZW50KCktPmFkZE1lc3NhZ2VUb0NvbnNvbGUoSlNNZXNzYWdlU291cmNlLCB0eXBlLCBsZXZlbCwg
bWVzc2FnZSwgbGFzdENhbGxlci5saW5lTnVtYmVyKCksIGxhc3RDYWxsZXIuc291cmNlVVJMKCkp
OworICAgICAgICBwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPmFkZE1lc3NhZ2VUb0NvbnNvbGUo
SlNNZXNzYWdlU291cmNlLCBsZXZlbCwgbWVzc2FnZSwgbGFzdENhbGxlci5saW5lTnVtYmVyKCks
IGxhc3RDYWxsZXIuc291cmNlVVJMKCkpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIEpTTWVzc2FnZVNvdXJjZSwgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIGFyZ3VtZW50cywgY2FsbFN0YWNrKTsKIH0KQEAgLTIwMSw3ICsyMDAsNyBAQCB2
b2lkIENvbnNvbGU6OmRlYnVnKFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMs
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbAogCiB2b2lkIENvbnNvbGU6OmVycm9yKFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBj
YWxsU3RhY2spCiB7Ci0gICAgYWRkTWVzc2FnZShMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsIGFyZ3VtZW50cywgY2FsbFN0YWNrKTsKKyAgICBpbm5lckFkZE1lc3NhZ2UocGFnZSgp
LCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGFyZ3VtZW50cywgY2FsbFN0YWNr
LCBmYWxzZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6aW5mbyhQYXNzUmVmUHRyPFNjcmlwdEFyZ3Vt
ZW50cz4gYXJndW1lbnRzLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQpA
QCAtMjExLDEyICsyMTAsMTIgQEAgdm9pZCBDb25zb2xlOjppbmZvKFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiBhcmd1bWVudHMsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFMKIAogdm9pZCBDb25z
b2xlOjpsb2coUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cywgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKLSAgICBhZGRNZXNzYWdlKExvZ01lc3Nh
Z2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIGFyZ3VtZW50cywgY2FsbFN0YWNrKTsKKyAgICBpbm5l
ckFkZE1lc3NhZ2UocGFnZSgpLCBMb2dNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBhcmd1
bWVudHMsIGNhbGxTdGFjaywgZmFsc2UpOwogfQogCiB2b2lkIENvbnNvbGU6OmRpcihQYXNzUmVm
UHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gY2FsbFN0YWNrKQogewotICAgIGFkZE1lc3NhZ2UoT2JqZWN0TWVzc2FnZVR5cGUsIExvZ01l
c3NhZ2VMZXZlbCwgYXJndW1lbnRzLCBjYWxsU3RhY2spOworICAgIGlubmVyQWRkTWVzc2FnZShw
YWdlKCksIE9iamVjdE1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIGFyZ3VtZW50cywgY2Fs
bFN0YWNrLCBmYWxzZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6ZGlyeG1sKFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxs
U3RhY2spCkBAIC0yMjgsNyArMjI3LDcgQEAgdm9pZCBDb25zb2xlOjpkaXJ4bWwoUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cywgUGFzc1JlZlB0cjxTY3JpcHRDYWwKIHZvaWQg
Q29uc29sZTo6dHJhY2UoUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cywgUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IHBycENhbGxTdGFjaykKIHsKICAgICBSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2sgPSBwcnBDYWxsU3RhY2s7Ci0gICAgYWRkTWVzc2FnZShU
cmFjZU1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIGFyZ3VtZW50cywgY2FsbFN0YWNrLCB0
cnVlKTsKKyAgICBpbm5lckFkZE1lc3NhZ2UocGFnZSgpLCBUcmFjZU1lc3NhZ2VUeXBlLCBMb2dN
ZXNzYWdlTGV2ZWwsIGFyZ3VtZW50cywgY2FsbFN0YWNrLCB0cnVlKTsKIAogICAgIGlmICghc2hv
dWxkUHJpbnRFeGNlcHRpb25zKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTI0NSw3ICsyNDQsNyBA
QCB2b2lkIENvbnNvbGU6OmFzc2VydENvbmRpdGlvbihib29sIGNvbmRpdGlvbiwgUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZQogICAgIGlmIChjb25kaXRpb24pCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGFkZE1lc3NhZ2UoQXNzZXJ0TWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCBhcmd1bWVudHMsIGNhbGxTdGFjaywgdHJ1ZSk7CisgICAgaW5uZXJBZGRNZXNzYWdlKHBh
Z2UoKSwgQXNzZXJ0TWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBhcmd1bWVudHMsIGNh
bGxTdGFjaywgdHJ1ZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6Y291bnQoUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGFyZ3VtZW50cywgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxT
dGFjaykKQEAgLTM0NCw3ICszNDMsNyBAQCBib29sIENvbnNvbGU6OnNob3VsZENhcHR1cmVGdWxs
U3RhY2tUcmFjZSgpIGNvbnN0CiAKIHZvaWQgQ29uc29sZTo6d2FybihQYXNzUmVmUHRyPFNjcmlw
dEFyZ3VtZW50cz4gYXJndW1lbnRzLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0
YWNrKQogewotICAgIGFkZE1lc3NhZ2UoTG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2
ZWwsIGFyZ3VtZW50cywgY2FsbFN0YWNrKTsKKyAgICBpbm5lckFkZE1lc3NhZ2UocGFnZSgpLCBM
b2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgYXJndW1lbnRzLCBjYWxsU3RhY2ss
IGZhbHNlKTsKIH0KIAogTWVtb3J5SW5mbyogQ29uc29sZTo6bWVtb3J5KCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db25zb2xlLmgKaW5kZXggNzgyZTYyNS4uMjcyY2RkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Db25zb2xlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgK
QEAgLTU2LDggKzU2LDggQEAgcHVibGljOgogICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0OwogICAg
IHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CiAKLSAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNv
dXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1
bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7Ci0gICAgdm9pZCBh
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spOworICAgIHZvaWQg
YWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOworICAg
IHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spOwogCiAgICAgdm9pZCBkZWJ1
ZyhQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
Pik7CiAgICAgdm9pZCBlcnJvcihQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPik7CkBAIC05MSw3ICs5MSw2IEBAIHB1YmxpYzoKIAogcHJpdmF0
ZToKICAgICBpbmxpbmUgUGFnZSogcGFnZSgpIGNvbnN0OwotICAgIHZvaWQgYWRkTWVzc2FnZShN
ZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgYm9vbCBhY2NlcHROb0FyZ3VtZW50cyA9IGZhbHNl
KTsKIAogICAgIENvbnNvbGUoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db25zb2xlVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgK
aW5kZXggMDcyMWIzNi4uMzhkZWYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
b25zb2xlVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oCkBA
IC0zNiwxOCArMzYsNiBAQCBlbnVtIE1lc3NhZ2VTb3VyY2UgewogICAgIE90aGVyTWVzc2FnZVNv
dXJjZQogfTsKIAotZW51bSBNZXNzYWdlVHlwZSB7Ci0gICAgTG9nTWVzc2FnZVR5cGUsCi0gICAg
T2JqZWN0TWVzc2FnZVR5cGUsCi0gICAgVHJhY2VNZXNzYWdlVHlwZSwKLSAgICBTdGFydEdyb3Vw
TWVzc2FnZVR5cGUsCi0gICAgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlLAotICAgIEVu
ZEdyb3VwTWVzc2FnZVR5cGUsCi0gICAgQXNzZXJ0TWVzc2FnZVR5cGUsCi0gICAgVW5jYXVnaHRF
eGNlcHRpb25NZXNzYWdlVHlwZSwKLSAgICBOZXR3b3JrRXJyb3JNZXNzYWdlVHlwZQotfTsKLQog
ZW51bSBNZXNzYWdlTGV2ZWwgewogICAgIFRpcE1lc3NhZ2VMZXZlbCwKICAgICBMb2dNZXNzYWdl
TGV2ZWwsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBv
bGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAK
aW5kZXggODA1ZWZiZC4uOTIxNTA0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVu
dFNlY3VyaXR5UG9saWN5LmNwcApAQCAtNDkzLDcgKzQ5Myw3IEBAIHZvaWQgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpyZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBj
b25zdCBTCiAgICAgICAgIHJldHVybjsKIAogICAgIFN0cmluZyBtZXNzYWdlID0gbV9yZXBvcnRP
bmx5ID8gIltSZXBvcnQgT25seV0gIiArIGNvbnNvbGVNZXNzYWdlIDogY29uc29sZU1lc3NhZ2U7
Ci0gICAgZnJhbWUtPmRvbVdpbmRvdygpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdl
U291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIDEsIFN0
cmluZygpKTsKKyAgICBmcmFtZS0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCAxLCBTdHJpbmcoKSk7
CiAKICAgICBpZiAobV9yZXBvcnRVUkxzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGI4NWYxZWEuLmE2NGZjYWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAKQEAgLTg1MCw3ICs4NTAsNyBAQCB2b2lkIERPTVdpbmRvdzo6cG9z
dE1lc3NhZ2VUaW1lckZpcmVkKFBhc3NPd25QdHI8UG9zdE1lc3NhZ2VUaW1lcj4gdCkKICAgICAg
ICAgaWYgKCF0aW1lci0+dGFyZ2V0T3JpZ2luKCktPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGRvY3Vt
ZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKSB7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9
ICJVbmFibGUgdG8gcG9zdCBtZXNzYWdlIHRvICIgKyB0aW1lci0+dGFyZ2V0T3JpZ2luKCktPnRv
U3RyaW5nKCkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLiBSZWNpcGllbnQgaGFz
IG9yaWdpbiAiICsgZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSArICIu
XG4iOwotICAgICAgICAgICAgY29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCAwLCBTdHJpbmcoKSk7
CisgICAgICAgICAgICBjb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgMCwgU3RyaW5nKCkpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAgICAgfQpAQCAtMTY5NSw3ICsxNjk1LDcgQEAgdm9pZCBET01XaW5kb3c6
OnByaW50RXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgLy8gRklYTUU6IEFkZCBhcmd1bWVudHMgc28gdGhhdCB3ZSBjYW4gcHJvdmlkZSBh
IGNvcnJlY3Qgc291cmNlIFVSTCBhbmQgbGluZSBudW1iZXIuCi0gICAgY29uc29sZSgpLT5hZGRN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCBtZXNzYWdlLCAxLCBTdHJpbmcoKSk7CisgICAgY29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIDEsIFN0cmluZygpKTsKIH0K
IAogU3RyaW5nIERPTVdpbmRvdzo6Y3Jvc3NEb21haW5BY2Nlc3NFcnJvck1lc3NhZ2UoRE9NV2lu
ZG93KiBhY3RpdmVXaW5kb3cpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IDVl
MDVkZWYuLmFkOWM1ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC0xOTcs
NyArMTk3LDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVk
IGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3AKICAgICAgICAgICAgIG1lc3NhZ2Ug
Kz0gY2hhcnNldDsKICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlwiKSB0aGF0IGlzIG5vdCBVVEYt
OC4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rpb24uIjsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBh
cmUgbWlzc2luZyB0aGUgc291cmNlIGxpbmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIDEsIFN0cmluZygpLCAwKTsKKyAgICAgICAgICAgIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLCAxLCBTdHJpbmcoKSwgMCk7CiAgICAgICAgIH0KICAgICB9
IGVsc2UgewogICAgICAgICAvLyBUbyBrZWVwIHRoZSBzaWduYWwtdG8tbm9pc2UgcmF0aW8gbG93
LCB3ZSBvbmx5IGxvZyAyMDAtcmVzcG9uc2Ugd2l0aCBhbiBpbnZhbGlkIE1JTUUgdHlwZS4KQEAg
LTIwNiw3ICsyMDYsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5z
aWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcAogICAgICAgICAgICAgbWVz
c2FnZSArPSByZXNwb25zZS5taW1lVHlwZSgpOwogICAgICAgICAgICAgbWVzc2FnZSArPSAiXCIp
IHRoYXQgaXMgbm90IFwidGV4dC9ldmVudC1zdHJlYW1cIi4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rp
b24uIjsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlzc2luZyB0aGUgc291cmNlIGxp
bmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZE1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Us
IDEsIFN0cmluZygpLCAwKTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCAx
LCBTdHJpbmcoKSwgMCk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAKaW5kZXggMzFmZWEzYy4uNDY0MGFmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAKQEAgLTE5OCw3ICsx
OTgsNyBAQCBzdGF0aWMgaW50IHBhcnNlckxpbmVOdW1iZXIoRG9jdW1lbnQqIGRvY3VtZW50KQog
c3RhdGljIHZvaWQgcmVwb3J0TWVzc2FnZShEb2N1bWVudCogZG9jdW1lbnQsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIGlmIChGcmFtZSogZnJhbWUg
PSBkb2N1bWVudC0+ZnJhbWUoKSkKLSAgICAgICAgZnJhbWUtPmRvbVdpbmRvdygpLT5jb25zb2xl
KCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1l
c3NhZ2UsIHBhcnNlckxpbmVOdW1iZXIoZG9jdW1lbnQpLCBkb2N1bWVudC0+ZG9jdW1lbnRVUkko
KSk7CisgICAgICAgIGZyYW1lLT5kb21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHBhcnNlckxpbmVOdW1iZXIoZG9jdW1lbnQp
LCBkb2N1bWVudC0+ZG9jdW1lbnRVUkkoKSk7CiB9CiAKIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNp
b25zOjpyZXBvcnRXYXJuaW5nKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCmluZGV4IGJmNmM0MjQu
LmQ0N2NjMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQnVmZmVy
U291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9CdWZmZXJT
b3VyY2VOb2RlLmNwcApAQCAtNDM1LDcgKzQzNSw3IEBAIGJvb2wgQXVkaW9CdWZmZXJTb3VyY2VO
b2RlOjpsb29waW5nKCkKIHsKICAgICBzdGF0aWMgYm9vbCBmaXJzdFRpbWUgPSB0cnVlOwogICAg
IGlmIChmaXJzdFRpbWUgJiYgY29udGV4dCgpICYmIGNvbnRleHQoKS0+ZG9jdW1lbnQoKSkgewot
ICAgICAgICBjb250ZXh0KCktPmRvY3VtZW50KCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNl
Tm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3Rl
YWQuIiwgMSwgU3RyaW5nKCksIDApOworICAgICAgICBjb250ZXh0KCktPmRvY3VtZW50KCktPmFk
ZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAnbG9v
cCcgaW5zdGVhZC4iLCAxLCBTdHJpbmcoKSwgMCk7CiAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNl
OwogICAgIH0KIApAQCAtNDQ2LDcgKzQ0Niw3IEBAIHZvaWQgQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
OjpzZXRMb29waW5nKGJvb2wgbG9vcGluZykKIHsKICAgICBzdGF0aWMgYm9vbCBmaXJzdFRpbWUg
PSB0cnVlOwogICAgIGlmIChmaXJzdFRpbWUgJiYgY29udGV4dCgpICYmIGNvbnRleHQoKS0+ZG9j
dW1lbnQoKSkgewotICAgICAgICBjb250ZXh0KCktPmRvY3VtZW50KCktPmFkZE1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlv
QnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2Ug
J2xvb3AnIGluc3RlYWQuIiwgMSwgU3RyaW5nKCksIDApOworICAgICAgICBjb250ZXh0KCktPmRv
Y3VtZW50KCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVs
LCAiQXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRl
ZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4iLCAxLCBTdHJpbmcoKSwgMCk7CiAgICAgICAgIGZpcnN0
VGltZSA9IGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVk
aW8vQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4
dC5jcHAKaW5kZXggOTQyY2I0My4uMjIxMDA0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9B
dWRpb0NvbnRleHQuY3BwCkBAIC0zNTEsNyArMzUxLDcgQEAgUGFzc1JlZlB0cjxMb3dQYXNzMkZp
bHRlck5vZGU+IEF1ZGlvQ29udGV4dDo6Y3JlYXRlTG93UGFzczJGaWx0ZXIoKQogICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CiAgICAgbGF6eUluaXRpYWxpemUoKTsKICAgICBpZiAoZG9jdW1l
bnQoKSkKLSAgICAgICAgZG9jdW1lbnQoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiY3JlYXRlTG93UGFzczJGaWx0ZXIo
KSBpcyBkZXByZWNhdGVkLiAgVXNlIGNyZWF0ZUJpcXVhZEZpbHRlcigpIGluc3RlYWQuIiwgMSwg
U3RyaW5nKCksIDApOworICAgICAgICBkb2N1bWVudCgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgImNyZWF0ZUxvd1Bhc3MyRmlsdGVyKCkgaXMgZGVw
cmVjYXRlZC4gIFVzZSBjcmVhdGVCaXF1YWRGaWx0ZXIoKSBpbnN0ZWFkLiIsIDEsIFN0cmluZygp
LCAwKTsKICAgICAgICAgCiAgICAgcmV0dXJuIExvd1Bhc3MyRmlsdGVyTm9kZTo6Y3JlYXRlKHRo
aXMsIG1fZGVzdGluYXRpb25Ob2RlLT5zYW1wbGVSYXRlKCkpOwogfQpAQCAtMzYxLDcgKzM2MSw3
IEBAIFBhc3NSZWZQdHI8SGlnaFBhc3MyRmlsdGVyTm9kZT4gQXVkaW9Db250ZXh0OjpjcmVhdGVI
aWdoUGFzczJGaWx0ZXIoKQogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgbGF6eUlu
aXRpYWxpemUoKTsKICAgICBpZiAoZG9jdW1lbnQoKSkKLSAgICAgICAgZG9jdW1lbnQoKS0+YWRk
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxl
dmVsLCAiY3JlYXRlSGlnaFBhc3MyRmlsdGVyKCkgaXMgZGVwcmVjYXRlZC4gIFVzZSBjcmVhdGVC
aXF1YWRGaWx0ZXIoKSBpbnN0ZWFkLiIsIDEsIFN0cmluZygpLCAwKTsKKyAgICAgICAgZG9jdW1l
bnQoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJj
cmVhdGVIaWdoUGFzczJGaWx0ZXIoKSBpcyBkZXByZWNhdGVkLiAgVXNlIGNyZWF0ZUJpcXVhZEZp
bHRlcigpIGluc3RlYWQuIiwgMSwgU3RyaW5nKCksIDApOwogCiAgICAgcmV0dXJuIEhpZ2hQYXNz
MkZpbHRlck5vZGU6OmNyZWF0ZSh0aGlzLCBtX2Rlc3RpbmF0aW9uTm9kZS0+c2FtcGxlUmF0ZSgp
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCA1NmIyY2Uz
Li43MWI2ZWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC0x
NjYsMjYgKzE2NiwyNiBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgIG1fdXJsID0gS1VS
TChLVVJMKCksIHVybCk7CiAKICAgICBpZiAoIW1fdXJsLmlzVmFsaWQoKSkgewotICAgICAgICBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJJbnZhbGlkIHVybCBmb3IgV2ViU29ja2V0
ICIgKyBtX3VybC5zdHJpbmcoKSwgMCwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0
eU9yaWdpbigpLT50b1N0cmluZygpLCAwKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJJbnZh
bGlkIHVybCBmb3IgV2ViU29ja2V0ICIgKyBtX3VybC5zdHJpbmcoKSwgMCwgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpLCAwKTsKICAgICAgICAg
bV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgaWYgKCFtX3VybC5wcm90b2NvbElzKCJ3cyIpICYmICFtX3VybC5w
cm90b2NvbElzKCJ3c3MiKSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJXcm9uZyB1cmwgc2NoZW1lIGZvciBXZWJTb2NrZXQgIiArIG1fdXJsLnN0cmluZygpLCAw
LCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCks
IDApOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZE1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBzY2hlbWUgZm9yIFdlYlNv
Y2tldCAiICsgbV91cmwuc3RyaW5nKCksIDAsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgMCk7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7
CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBp
ZiAobV91cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IEVycm9yTWVzc2FnZUxldmVsLCAiVVJMIGhhcyBmcmFnbWVudCBjb21wb25lbnQgIiArIG1fdXJs
LnN0cmluZygpLCAwLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCkt
PnRvU3RyaW5nKCksIDApOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZE1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVSTCBoYXMgZnJhZ21l
bnQgY29tcG9uZW50ICIgKyBtX3VybC5zdHJpbmcoKSwgMCwgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpLCAwKTsKICAgICAgICAgbV9zdGF0ZSA9
IENMT1NFRDsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIGlmICghcG9ydEFsbG93ZWQobV91cmwpKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBwb3J0ICIgKyBTdHJpbmc6Om51bWJlcihtX3Vy
bC5wb3J0KCkpICsgIiBibG9ja2VkIiwgMCwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1
cml0eU9yaWdpbigpLT50b1N0cmluZygpLCAwKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJX
ZWJTb2NrZXQgcG9ydCAiICsgU3RyaW5nOjpudW1iZXIobV91cmwucG9ydCgpKSArICIgYmxvY2tl
ZCIsIDAsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJp
bmcoKSwgMCk7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU0VDVVJJ
VFlfRVJSOwogICAgICAgICByZXR1cm47CkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBXZWJTb2Nr
ZXQ6OmNvbm5lY3QoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwcm90
b2NvbHMsIEV4Y2UKICAgICAgICAgICAgIHByb3RvY29sU3RyaW5nID0gam9pblN0cmluZ3MocHJv
dG9jb2xzLCAiLCIpOwogICAgICAgICB9CiAgICAgICAgIGlmICghaXNWYWxpZFByb3RvY29sU3Ry
aW5nSGl4aWU3Nihwcm90b2NvbFN0cmluZykpIHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJyIgKyBlbmNv
ZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbFN0cmluZykgKyAiJyIsIDAsIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgMCk7CisgICAgICAgICAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJyIgKyBlbmNv
ZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbFN0cmluZykgKyAiJyIsIDAsIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgMCk7CiAgICAgICAgICAg
ICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAg
ICAgICAgcmV0dXJuOwpAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgV2ViU29ja2V0Ojpjb25uZWN0
KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcHJvdG9jb2xzLCBFeGNl
CiAgICAgICAgIC8vIGNvbXBseSB3aXRoIFdlYlNvY2tldCBBUEkgc3BlY2lmaWNhdGlvbiwgYnV0
IGl0IHNlZW1zIHRvIGJlIHRoZSBvbmx5IHJlYXNvbmFibGUgd2F5IHRvIGhhbmRsZSB0aGlzIGNv
bmZsaWN0LgogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3RvY29scy5zaXplKCk7
ICsraSkgewogICAgICAgICAgICAgaWYgKCFpc1ZhbGlkUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xz
W2ldKSkgewotICAgICAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
Ildyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhw
cm90b2NvbHNbaV0pICsgIiciLCAwLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5
T3JpZ2luKCktPnRvU3RyaW5nKCksIDApOworICAgICAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAnIiArIGVuY29kZVByb3RvY29sU3RyaW5n
KHByb3RvY29sc1tpXSkgKyAiJyIsIDAsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJp
dHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgMCk7CiAgICAgICAgICAgICAgICAgbV9zdGF0ZSA9IENM
T1NFRDsKICAgICAgICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgICAgICAgICAg
cmV0dXJuOwpAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQgV2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0
IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcHJvdG9jb2xzLCBFeGNlCiAgICAg
ICAgIEhhc2hTZXQ8U3RyaW5nPiB2aXNpdGVkOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHByb3RvY29scy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgaWYgKHZpc2l0ZWQuY29u
dGFpbnMocHJvdG9jb2xzW2ldKSkgewotICAgICAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBwcm90b2NvbHMgY29udGFpbiBkdXBsaWNhdGVzOiAn
IiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkgKyAiJyIsIDAsIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgMCk7CisgICAg
ICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcHJvdG9jb2xzIGNvbnRhaW4g
ZHVwbGljYXRlczogJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsgIici
LCAwLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5n
KCksIDApOwogICAgICAgICAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgICAgICAg
ICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IDlhZmM3NGMuLmYy
NWI4NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmNwcApAQCAtMTc1LDcgKzE3NSw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChjb25z
dCBTdHJpbmcmIHJlYXNvbikKICAgICBMT0coTmV0d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAg
ZmFpbDogJXMiLCB0aGlzLCByZWFzb24udXRmOCgpLmRhdGEoKSk7CiAgICAgQVNTRVJUKCFtX3N1
c3BlbmRlZCk7CiAgICAgaWYgKG1fY29udGV4dCkKLSAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBy
ZWFzb24sIDAsIG1faGFuZHNoYWtlLT5jbGllbnRPcmlnaW4oKSwgMCk7CisgICAgICAgIG1fY29u
dGV4dC0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCByZWFz
b24sIDAsIG1faGFuZHNoYWtlLT5jbGllbnRPcmlnaW4oKSwgMCk7CiAgICAgaWYgKCFtX3VzZUhp
eGllNzZQcm90b2NvbCkgewogICAgICAgICAvLyBIeWJpLTEwIHNwZWNpZmljYXRpb24gZXhwbGlj
aXRseSBzdGF0ZXMgd2UgbXVzdCBub3QgY29udGludWUgdG8gaGFuZGxlIGluY29taW5nIGRhdGEK
ICAgICAgICAgLy8gb25jZSB0aGUgV2ViU29ja2V0IGNvbm5lY3Rpb24gaXMgZmFpbGVkIChzZWN0
aW9uIDcuMS43KS4KQEAgLTI5Niw3ICsyOTYsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRp
ZEZhaWxTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFNvYwog
ICAgICAgICBBU1NFUlQoZmFpbGluZ1VSTC5pc051bGwoKSB8fCBtX2hhbmRzaGFrZS0+dXJsKCku
c3RyaW5nKCkgPT0gZmFpbGluZ1VSTCk7CiAgICAgICAgIGlmIChmYWlsaW5nVVJMLmlzTnVsbCgp
KQogICAgICAgICAgICAgZmFpbGluZ1VSTCA9IG1faGFuZHNoYWtlLT51cmwoKS5zdHJpbmcoKTsK
LSAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTmV0d29y
a0Vycm9yTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCAwLCBmYWlsaW5n
VVJMLCAwKTsKKyAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIDAsIGZhaWxpbmdVUkwsIDApOwogICAgIH0K
ICAgICBtX3Nob3VsZERpc2NhcmRSZWNlaXZlZERhdGEgPSB0cnVlOwogICAgIGhhbmRsZS0+ZGlz
Y29ubmVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hh
cmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAppbmRleCBlNWZkODU5Li4yOGZhNDVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5LmNwcApAQCAtODAsNyArODAsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBXb3JrZXJSZXBv
cnRpbmdQcm94eQogICAgIHZpcnR1YWwgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3Qo
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCk7Ci0gICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2Vy
T2JqZWN0KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsK
KyAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3IoY29uc3QgU3RyaW5nJik7
CiAjZW5kaWYKQEAgLTE2OSwxNiArMTY5LDE2IEBAIHZvaWQgU2hhcmVkV29ya2VyUHJveHk6OnBv
c3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwKICAg
ICAgICAgKCppdGVyKS0+cG9zdFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0RXhjZXB0aW9u
VGFzaywgZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsKIH0KIAotc3RhdGlj
IHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBkb2N1
bWVudCwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCkKK3N0YXRpYyB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRhc2so
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogZG9jdW1lbnQsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51
bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7Ci0gICAgZG9jdW1lbnQtPmFkZE1lc3Nh
Z2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMLCAw
KTsKKyAgICBkb2N1bWVudC0+YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5l
TnVtYmVyLCBzb3VyY2VVUkwsIDApOwogfQogCi12b2lkIFNoYXJlZFdvcmtlclByb3h5Ojpwb3N0
Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGlu
dCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQgU2hhcmVkV29ya2Vy
UHJveHk6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291
cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVO
dW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIE11dGV4TG9ja2VyIGxvY2so
bV93b3JrZXJEb2N1bWVudHNMb2NrKTsKICAgICBmb3IgKEhhc2hTZXQ8RG9jdW1lbnQqPjo6aXRl
cmF0b3IgaXRlciA9IG1fd29ya2VyRG9jdW1lbnRzLmJlZ2luKCk7IGl0ZXIgIT0gbV93b3JrZXJE
b2N1bWVudHMuZW5kKCk7ICsraXRlcikKLSAgICAgICAgKCppdGVyKS0+cG9zdFRhc2soY3JlYXRl
Q2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBzb3VyY2UsIHR5cGUsIGxldmVs
LCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsKKyAgICAgICAgKCppdGVyKS0+cG9z
dFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBzb3VyY2Us
IGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsKIH0KIAogI2lmIEVOQUJM
RShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAppbmRl
eCA5MzBjMzYwLi4yYmY1NGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4
dC5jcHAKQEAgLTI3OCw5ICsyNzgsOSBAQCB2b2lkIFdvcmtlckNvbnRleHQ6OmxvZ0V4Y2VwdGlv
blRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdQogICAgIHRo
cmVhZCgpLT53b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVj
dChlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAKLXZvaWQgV29ya2Vy
Q29udGV4dDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4pCit2b2lkIFdvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+KQogewotICAgIHRocmVhZCgpLT53b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RDb25z
b2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxp
bmVOdW1iZXIsIHNvdXJjZVVSTCk7CisgICAgdGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5
KCkucG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCBsZXZlbCwgbWVzc2Fn
ZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAppbmRleCAwNzM3Njc5Mi4uN2Ex
ZjZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKQEAgLTEwNCw3ICsx
MDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgY2xlYXJJbnRlcnZhbChp
bnQgdGltZW91dElkKTsKIAogICAgICAgICAvLyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7Cisg
ICAgICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKIAogI2lmIEVOQUJM
RShOT1RJRklDQVRJT05TKQogICAgICAgICBOb3RpZmljYXRpb25DZW50ZXIqIHdlYmtpdE5vdGlm
aWNhdGlvbnMoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5jcHAKaW5kZXggMGE2ZjhjYi4uNDg3NjJhNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTI4MCwxOCArMjgwLDE4
IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVj
dChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnCiAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
LT5wb3N0VGFzayhXb3JrZXJFeGNlcHRpb25UYXNrOjpjcmVhdGUoZXJyb3JNZXNzYWdlLCBsaW5l
TnVtYmVyLCBzb3VyY2VVUkwsIHRoaXMpKTsKIH0KICAgICAKLXN0YXRpYyB2b2lkIHBvc3RDb25z
b2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV29ya2VyTWVz
c2FnaW5nUHJveHkqIG1lc3NhZ2luZ1Byb3h5LCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQorc3RhdGljIHZvaWQg
cG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBX
b3JrZXJNZXNzYWdpbmdQcm94eSogbWVzc2FnaW5nUHJveHksIE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGlu
ZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7CiAgICAgaWYgKG1lc3NhZ2luZ1By
b3h5LT5hc2tlZFRvVGVybWluYXRlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBjb250ZXh0LT5h
ZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJj
ZVVSTCwgMCk7CisgICAgY29udGV4dC0+YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdl
LCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwsIDApOwogfQogCi12b2lkIFdvcmtlck1lc3NhZ2luZ1By
b3h5Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQgV29y
a2VyTWVzc2FnaW5nUHJveHk6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soCiAgICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFz
aygmcG9zdENvbnNvbGVNZXNzYWdlVGFzaywgQWxsb3dDcm9zc1RocmVhZEFjY2Vzcyh0aGlzKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2Us
IGxpbmVOdW1iZXIsIHNvdXJjZVVSTCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgc291
cmNlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKSk7CiB9CiAKIHZvaWQg
V29ya2VyTWVzc2FnaW5nUHJveHk6OndvcmtlclRocmVhZENyZWF0ZWQoUGFzc1JlZlB0cjxEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQ+IHdvcmtlclRocmVhZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCAzNzMxNDgwLi4zYmVlMjY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC02Myw3ICs2
Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIG1l
dGhvZHMgaW4gdGhlIHdvcmtlciBjb250ZXh0IHRocmVhZC4pCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBwb3N0TWVzc2FnZVRvV29ya2VyT2JqZWN0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JN
ZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwotICAgICAg
ICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNv
dXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBp
bnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOworICAgICAgICB2aXJ0dWFs
IHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBT
dHJpbmcmIHNvdXJjZVVSTCk7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgdmlydHVh
bCB2b2lkIHBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKaW5kZXgg
ZmE1MmYzMy4uZDliMDIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJSZXBvcnRpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVw
b3J0aW5nUHJveHkuaApAQCAtNDUsNyArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
KSA9IDA7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2Vy
T2JqZWN0KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSA9
IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dChNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50
IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSA9IDA7CiAjaWYgRU5BQkxFKElO
U1BFQ1RPUikKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9y
KGNvbnN0IFN0cmluZyYpID0gMDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAKaW5kZXggNzU2MDA4OC4uNTAxMTk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwCkBAIC04MjAsNyArODIwLDcgQEAgc3RhdGljIHZvaWQgcmVwb3J0VW5zYWZlVXNh
Z2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXMKICAg
ICAgICAgcmV0dXJuOwogICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBnb29kIHRvIHJlcG9ydCB0aGUg
YmFkIHVzYWdlIHdpdGhvdXQgaW5kaWNhdGluZyB3aGF0IHNvdXJjZSBsaW5lIGl0IGNhbWUgZnJv
bS4KICAgICAvLyBXZSBzaG91bGQgcGFzcyBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgc28gd2UgY2Fu
IHRlbGwgdGhlIGNvbnNvbGUgd2hlcmUgdGhlIG1pc3Rha2Ugb2NjdXJyZWQuCi0gICAgY29udGV4
dC0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgbWVzc2FnZSwgMSwgU3RyaW5nKCksIDApOworICAgIGNvbnRleHQtPmFkZE1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgMSwgU3RyaW5n
KCksIDApOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZXRSZXF1ZXN0SGVhZGVyKGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcAppbmRleCBi
MzJiZDViLi5lYTRmZGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nl
c3NvckxpYnhzbHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGli
eHNsdC5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIFhTTFRQcm9jZXNzb3I6OnBhcnNlRXJy
b3JGdW5jKHZvaWQqIHVzZXJEYXRhLCB4bWxFcnJvciogZXJyb3IpCiAgICAgICAgIGJyZWFrOwog
ICAgIH0KIAotICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoWE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIGxldmVsLCBlcnJvci0+bWVzc2FnZSwgZXJyb3ItPmxpbmUsIGVycm9yLT5maWxl
KTsKKyAgICBjb25zb2xlLT5hZGRNZXNzYWdlKFhNTE1lc3NhZ2VTb3VyY2UsIGxldmVsLCBlcnJv
ci0+bWVzc2FnZSwgZXJyb3ItPmxpbmUsIGVycm9yLT5maWxlKTsKIH0KIAogLy8gRklYTUU6IFRo
ZXJlIHNlZW1zIHRvIGJlIG5vIHdheSB0byBjb250cm9sIHRoZSBjdHh0IHBvaW50ZXIgZm9yIGxv
YWRpbmcgaGVyZSwgdGh1cyB3ZSBoYXZlIGdsb2JhbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFNMVFByb2Nlc3NvclF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJv
Y2Vzc29yUXQuY3BwCmluZGV4IDNiMDNiNDUuLmMwYWQ0NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
U0xUUHJvY2Vzc29yUXQuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgWFNMVE1lc3NhZ2VIYW5k
bGVyOjpoYW5kbGVNZXNzYWdlKFF0TXNnVHlwZSB0eXBlLCBjb25zdCBRU3RyaW5nJiBkZXNjcmlw
dGlvCiAgICAgfQogCiAgICAgQ29uc29sZSogY29uc29sZSA9IG1fZG9jdW1lbnQtPmZyYW1lKCkt
PmRvbVdpbmRvdygpLT5jb25zb2xlKCk7Ci0gICAgY29uc29sZS0+YWRkTWVzc2FnZShYTUxNZXNz
YWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIGRlc2NyaXB0aW9uLAorICAgIGNvbnNv
bGUtPmFkZE1lc3NhZ2UoWE1MTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIGRlc2NyaXB0aW9uLAogICAg
ICAgICAgICAgICAgICAgICAgICAgc291cmNlTG9jYXRpb24ubGluZSgpLCBzb3VyY2VMb2NhdGlv
bi51cmkoKS50b1N0cmluZygpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA3
OTdkZDNkLi4xMWUyMGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDExLTA4LTE3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVz
c2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYkNvbW1vbldv
cmtlckNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDb21tb25Xb3JrZXJDbGllbnQ6OnBv
c3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xp
ZW50SW1wbC5jcHA6CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAg
KiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjph
ZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBzcmMvV2ViV29ya2VyQmFzZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYldvcmtlckJhc2U6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2Vy
T2JqZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6cG9zdENvbnNvbGVNZXNz
YWdlVGFzayk6CisgICAgICAgICogc3JjL1dlYldvcmtlckJhc2UuaDoKKyAgICAgICAgKiBzcmMv
V2ViV29ya2VyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYldvcmtlckNsaWVu
dEltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViV29ya2VyQ2xpZW50SW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3RU
YXNrKToKKyAgICAgICAgKiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oOgorCiAyMDExLTA4LTE2
ICBQZXItRXJpayBCcm9kaW4gIDxwZXItZXJpay5icm9kaW5AZXJpY3Nzb24uY29tPgogCiAgICAg
ICAgIE1ha2UgaXQgcG9zc2libGUgdG8gZXhwbGljaXRseSBwcmV2ZW50IGEgcHJlZmxpZ2h0IHZp
YSBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaAppbmRleCAzNTJhMmMwLi4zMTFhZmZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3Jr
ZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25X
b3JrZXJDbGllbnQuaApAQCAtNTgsMTMgKzU4LDEzIEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRTog
dGhlIGJlbG93IGlzIGZvciBjb21wYXRpYmlsaXR5IG9ubHkgYW5kIHNob3VsZCBiZSAgIAogICAg
IC8vIHJlbW92ZWQgb25jZSBDaHJvbWl1bSBpcyB1cGRhdGVkIHRvIHJlbW92ZSBtZXNzYWdlCiAg
ICAgLy8gZGVzdGluYXRpb24gcGFyYW1ldGVyIDxodHRwOi8vd2Via2l0Lm9yZy9iLzM3MTU1Pi4K
LSAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoaW50LCBp
bnQgc291cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VUeXBlLCBpbnQgbWVzc2FnZUxldmVsLAor
ICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChpbnQsIGlu
dCBzb3VyY2VJZGVudGlmaWVyLCBpbnQgbWVzc2FnZUxldmVsLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2Us
IGludCBsaW5lTnVtYmVyLCBjb25zdCBXZWJTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOwogCi0gICAg
dmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCBzb3VyY2VJ
ZGVudGlmaWVyLCBpbnQgbWVzc2FnZVR5cGUsIGludCBtZXNzYWdlTGV2ZWwsCisgICAgdmlydHVh
bCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCBzb3VyY2VJZGVudGlm
aWVyLCBpbnQgbWVzc2FnZUxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVy
LCBjb25zdCBXZWJTdHJpbmcmIHNvdXJjZVVSTCkKICAgICB7Ci0gICAgICAgIHBvc3RDb25zb2xl
TWVzc2FnZVRvV29ya2VyT2JqZWN0KDAsIHNvdXJjZUlkZW50aWZpZXIsIG1lc3NhZ2VUeXBlLCBt
ZXNzYWdlTGV2ZWwsCisgICAgICAgIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KDAs
IHNvdXJjZUlkZW50aWZpZXIsIG1lc3NhZ2VMZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudElt
cGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAK
aW5kZXggNmIyZDIyNy4uNDcwNmYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTQwMyw3ICs0MDMsNiBAQCB2b2lkIENocm9tZUNs
aWVudEltcGw6OnNldFJlc2l6YWJsZShib29sIHZhbHVlKQogfQogCiB2b2lkIENocm9tZUNsaWVu
dEltcGw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVR5cGUgdHlwZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlTGV2ZWwgbGV2
ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGxpbmVOdW1iZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgKaW5kZXggNjgwOTFlMS4uMDBkZjI1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAtODcsNyArODcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIG1lbnViYXJWaXNpYmxlKCk7CiAgICAgdmlydHVhbCB2b2lk
IHNldFJlc2l6YWJsZShib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29s
ZSgKLSAgICAgICAgV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUs
IFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwKKyAgICAgICAgV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwg
V2ViQ29yZTo6TWVzc2FnZUxldmVsLAogICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2Fn
ZSwgdW5zaWduZWQgbGluZU51bWJlciwKICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJj
ZUlEKTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCA0MjE2
YWE0Li5mZWNlYjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5jcHAKQEAgLTc5OSw3ICs3OTksNyBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6YWRkTWVzc2FnZVRv
Q29uc29sZShjb25zdCBXZWJDb25zb2xlTWVzc2FnZSYgbWVzc2FnZSkKICAgICB9CiAKICAgICBm
cmFtZSgpLT5kb21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKAotICAgICAgICBPdGhl
ck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCB3ZWJDb3JlTWVzc2FnZUxldmVsLCBtZXNz
YWdlLnRleHQsCisgICAgICAgIE90aGVyTWVzc2FnZVNvdXJjZSwgd2ViQ29yZU1lc3NhZ2VMZXZl
bCwgbWVzc2FnZS50ZXh0LAogICAgICAgICAxLCBTdHJpbmcoKSk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5jcHAKaW5kZXggNTc2NzZiYy4uMWMzMDE1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5jcHAKQEAg
LTIwNiwyMSArMjA2LDIwIEBAIHZvaWQgV2ViV29ya2VyQmFzZTo6cG9zdEV4Y2VwdGlvblRhc2so
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwKIH0KIAogdm9pZCBXZWJXb3JrZXJCYXNl
Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJjZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVz
c2FnZVR5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTWVzc2FnZUxldmVsIGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsaW5l
TnVtYmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKICAgICBkaXNwYXRjaFRhc2tUb01haW5U
aHJlYWQoY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBBbGxvd0Ny
b3NzVGhyZWFkQWNjZXNzKHRoaXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc291cmNlLCB0eXBlLCBsZXZlbCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSwgbGV2ZWwsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLCBsaW5lTnVtYmVyLCBz
b3VyY2VVUkwpKTsKIH0KIAogdm9pZCBXZWJXb3JrZXJCYXNlOjpwb3N0Q29uc29sZU1lc3NhZ2VU
YXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgV2ViV29ya2VyQmFzZSogdGhpc1B0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc291cmNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0eXBlLCBpbnQgbGV2ZWwsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxldmVsLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGlu
ZU51bWJlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCkKQEAgLTIyOCw3ICsyMjcsNyBAQCB2b2lkIFdlYldvcmtlckJh
c2U6OnBvc3RDb25zb2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwKICAgICBpZiAoIXRoaXNQdHItPmNvbW1vbkNsaWVudCgpKQogICAgICAgICByZXR1cm47CiAg
ICAgdGhpc1B0ci0+Y29tbW9uQ2xpZW50KCktPnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2Jq
ZWN0KHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsLCBtZXNz
YWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJCYXNlLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJXb3JrZXJCYXNlLmgKaW5kZXggYjBlNTFmMS4uOTZmMTY4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuaApAQCAtNzIsNyArNzIsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdCgK
ICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmLCBpbnQsIGNvbnN0IFdURjo6U3RyaW5nJik7CiAg
ICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KAotICAgICAg
ICBXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwKKyAgICAgICAg
V2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwKICAgICAgICAgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBj
b25zdCBXVEY6OlN0cmluZyYsIGludCwgY29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICB2aXJ0dWFs
IHZvaWQgcG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3IoY29uc3QgV1RGOjpTdHJpbmcmKTsKICAg
ICB2aXJ0dWFsIHZvaWQgY29uZmlybU1lc3NhZ2VGcm9tV29ya2VyT2JqZWN0KGJvb2wpOwpAQCAt
MTI4LDcgKzEyOCw2IEBAIHByaXZhdGU6CiAgICAgICAgIFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsCiAgICAgICAgIFdlYldvcmtlckJhc2UqIHRoaXNQdHIsCiAgICAg
ICAgIGludCBzb3VyY2UsCi0gICAgICAgIGludCB0eXBlLAogICAgICAgICBpbnQgbGV2ZWwsCiAg
ICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLAogICAgICAgICBpbnQgbGluZU51bWJl
ciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVu
dEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1w
bC5jcHAKaW5kZXggYzE5OGNjZi4uM2ZlNTJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAKQEAgLTI4Myw3ICsyODMsNiBAQCB2
b2lkIFdlYldvcmtlckNsaWVudEltcGw6OnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25z
dCBXZWJTdHJpbmcmIGVycm9yTWVzcwogCiB2b2lkIFdlYldvcmtlckNsaWVudEltcGw6OnBvc3RD
b25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCBkZXN0aW5hdGlvbiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNvdXJj
ZUlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgbWVzc2FnZVR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtZXNzYWdlTGV2ZWwsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdl
YlN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGxpbmVOdW1iZXIsCkBAIC0yOTMsNyArMjkyLDYgQEAg
dm9pZCBXZWJXb3JrZXJDbGllbnRJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dChpbnQgZGVzdGluYXRpb24sCiAgICAgICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9z
dFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dFRhc2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3ModGhpcyksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUlk
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtZXNzYWdlVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUxldmVsLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcobWVz
c2FnZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpbmVOdW1iZXIsCkBAIC0zMDIsMjAgKzMwMCwxOCBAQCB2b2lkIFdlYldv
cmtlckNsaWVudEltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCBkZXN0
aW5hdGlvbiwKICAgICB9CiAKICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZE1lc3Nh
Z2Uoc3RhdGljX2Nhc3Q8TWVzc2FnZVNvdXJjZT4oc291cmNlSWQpLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxNZXNzYWdlVHlwZT4obWVzc2Fn
ZVR5cGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNf
Y2FzdDxNZXNzYWdlTGV2ZWw+KG1lc3NhZ2VMZXZlbCksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFN0cmluZyhtZXNzYWdlKSwgbGluZU51bWJlciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nKHNvdXJjZVVSTCksIDApOwog
fQogCiB2b2lkIFdlYldvcmtlckNsaWVudEltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2Vy
T2JqZWN0KGludCBzb3VyY2VJZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1lc3NhZ2VUeXBlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWVzc2FnZUxl
dmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsaW5lTnVtYmVyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJTdHJpbmcmIHNvdXJjZVVSTCkKIHsKLSAgICBwb3N0Q29uc29sZU1lc3NhZ2VUb1dv
cmtlck9iamVjdCgwLCBzb3VyY2VJZCwgbWVzc2FnZVR5cGUsIG1lc3NhZ2VMZXZlbCwgbWVzc2Fn
ZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKKyAgICBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtl
ck9iamVjdCgwLCBzb3VyY2VJZCwgbWVzc2FnZUxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBz
b3VyY2VVUkwpOwogfQogCiB2b2lkIFdlYldvcmtlckNsaWVudEltcGw6OmNvbmZpcm1NZXNzYWdl
RnJvbVdvcmtlck9iamVjdChib29sIGhhc1BlbmRpbmdBY3Rpdml0eSkKQEAgLTQyNSwxNCArNDIx
LDEyIEBAIHZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6cG9zdEV4Y2VwdGlvblRvV29ya2VyT2Jq
ZWN0VGFzaygKIHZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9X
b3JrZXJPYmplY3RUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBX
ZWJXb3JrZXJDbGllbnRJbXBsKiB0aGlzUHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNvdXJjZUlkLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IG1lc3NhZ2VUeXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1lc3NhZ2VMZXZlbCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBsaW5lTnVtYmVyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwpCiB7CiAgICAgdGhpc1B0ci0+bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5h
ZGRNZXNzYWdlKHN0YXRpY19jYXN0PE1lc3NhZ2VTb3VyY2U+KHNvdXJjZUlkKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8TWVz
c2FnZVR5cGU+KG1lc3NhZ2VUeXBlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8TWVzc2FnZUxldmVsPihtZXNzYWdlTGV2ZWwp
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNz
YWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwsIDApOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCmluZGV4IGMyNzBmZmMuLmFkMDkxOWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBs
LmgKQEAgLTg2LDggKzg2LDggQEAgcHVibGljOgogICAgIC8vIEZJWE1FOiB0aGUgYmVsb3cgaXMg
Zm9yIGNvbXBhdGliaWxpdHkgb25seSBhbmQgc2hvdWxkIGJlCiAgICAgLy8gcmVtb3ZlZCBvbmNl
IENocm9taXVtIGlzIHVwZGF0ZWQgdG8gcmVtb3ZlIG1lc3NhZ2UKICAgICAvLyBkZXN0aW5hdGlv
biBwYXJhbWV0ZXIgPGh0dHA6Ly93ZWJraXQub3JnL2IvMzcxNTU+LgotICAgIHZpcnR1YWwgdm9p
ZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChpbnQsIGludCwgaW50LCBpbnQsIGNv
bnN0IFdlYlN0cmluZyYsIGludCwgY29uc3QgV2ViU3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lk
IHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCwgaW50LCBpbnQsIGNvbnN0IFdl
YlN0cmluZyYsIGludCwgY29uc3QgV2ViU3RyaW5nJik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RD
b25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCwgaW50LCBjb25zdCBXZWJTdHJpbmcmLCBp
bnQsIGNvbnN0IFdlYlN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBjb25maXJtTWVzc2FnZUZy
b21Xb3JrZXJPYmplY3QoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHJlcG9ydFBlbmRpbmdBY3Rp
dml0eShib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgd29ya2VyQ29udGV4dENsb3NlZCgpOwpAQCAt
MTQ3LDcgKzE0Nyw2IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgcG9zdENvbnNvbGVNZXNz
YWdlVG9Xb3JrZXJPYmplY3RUYXNrKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFdlYldvcmtlckNsaWVudEltcGwqIHRoaXNQdHIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzb3VyY2VJZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1lc3NhZ2VUeXBl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgbWVzc2FnZUxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxpbmVOdW1iZXIsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cKaW5kZXggZmYxOGY2YS4uMjkwNWFlYyAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDExLTA4LTE3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xl
LmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBl
eHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVu
dEVmbDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmg6CisKIDIwMTEtMDgtMTUgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jl
c291cmNlRnJvbVBhZ2UgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcGFyYW1ldGVycwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKaW5k
ZXggY2FkZWE4MC4uZDA0Yzk2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCkBAIC0yNjMsNyArMjYzLDcgQEAgYm9vbCBD
aHJvbWVDbGllbnRFZmw6OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIEZyYW1lKgogICAgIHJldHVybiBydW5KYXZhU2NyaXB0Q29uZmlybShmcmFtZSwg
bWVzc2FnZSk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50RWZsOjphZGRNZXNzYWdlVG9Db25zb2xl
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIs
IGNvbnN0IFN0cmluZyYgc291cmNlSUQpCiB7CiAgICAgZXdrX3ZpZXdfYWRkX2NvbnNvbGVfbWVz
c2FnZShtX3ZpZXcsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSwgbGluZU51bWJlciwgc291cmNlSUQu
dXRmOCgpLmRhdGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5oCmluZGV4IGZjNzI2YjkuLjg3ZjllNDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC03OSw3
ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBN
ZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCisgICAgdmly
dHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpOwog
CiAgICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nCmluZGV4IDY2Yjk4OGMuLjY2NzI0NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMS0wOC0xNyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29uc29sZVR5cGVzIHNob3VsZCBub3QgZXhw
b3NlIE1lc3NhZ2VUeXBlIC0gaXQgc2hvdWxkIGJlIHByaXZhdGUgdG8gaW5zcGVjdG9yLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudDo6
YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50R3RrLmg6CisKIDIwMTEtMDgtMTYgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8u
bm9yb25oYUBjb2xsYWJvcmEuY29tPgogCiAgICAgICAgIEFkZCBqYXZhc2NyaXB0Y29yZWd0ayB0
byB0aGUgaW50cm9zcGVjdGlvbiBidWlsZCwgdG8gZml4IGl0LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5kZXggNGZjNzkw
YS4uYTZkZGQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC0zMTYsNyArMzE2LDcgQEAgYm9vbCBDaHJvbWVDbGll
bnQ6OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2Fn
ZSwgV2ViQ28KICAgICByZXR1cm4gcnVuSmF2YVNjcmlwdENvbmZpcm0oZnJhbWUsIG1lc3NhZ2Up
OwogfQogCi12b2lkIENocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpN
ZXNzYWdlU291cmNlIHNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUgdHlwZSwgV2ViQ29yZTo6
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
aW50IGxpbmVOdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJZCkKK3ZvaWQgQ2hyb21l
Q2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdl
LCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlkKQog
ewogICAgIGdib29sZWFuIHJldHZhbDsKICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUobV93ZWJW
aWV3LCAiY29uc29sZS1tZXNzYWdlIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpLCBsaW5lTnVtYmVy
LCBzb3VyY2VJZC51dGY4KCkuZGF0YSgpLCAmcmV0dmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggZTU4YTdjZC4uZDI5
YzlmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmgKQEAgLTc5LDcgKzc5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICAgICAg
ICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgICAgICB2aXJ0dWFsIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlIHNvdXJjZSwgV2Vi
Q29yZTo6TWVzc2FnZVR5cGUgdHlwZSwKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VU
b0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSBzb3VyY2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291
cmNlSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCmluZGV4IDMxMjk3MWIuLmQ1MjFhZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
aGFpa3UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDgtMTcgIFBhdmVsIEZlbGRt
YW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNv
bGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2
YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWVDbGllbnRIYWlrdTo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaDoKKwogMjAxMS0wOC0xNSAg
RG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGcmFtZUxvYWRl
ckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSBkb2VzIG5vdCBoYXZlIGVu
b3VnaCBwYXJhbWV0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNwcCBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3BwCmluZGV4IDIyNDg2OWIuLmY2ZTlmNWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
SGFpa3UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50SGFpa3UuY3BwCkBAIC0yMDIsNyArMjAyLDcgQEAgdm9pZCBDaHJvbWVDbGllbnRIYWlr
dTo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFMKICAgICBwcmludGYoIk1FU1NBR0UgJXM6JWkgJXNcbiIsIEJTdHJpbmcoc291cmNlSUQpLlN0
cmluZygpLCBsaW5lTnVtYmVyLCBCU3RyaW5nKG1lc3NhZ2UpLlN0cmluZygpKTsKIH0KIAotdm9p
ZCBDaHJvbWVDbGllbnRIYWlrdTo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBN
ZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCit2b2lkIENo
cm9tZUNsaWVudEhhaWt1OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VJRCkKIHsKICAgICBwcmludGYoIk1FU1NBR0UgJXM6JWkgJXNcbiIsIEJTdHJpbmco
c291cmNlSUQpLlN0cmluZygpLCBsaW5lTnVtYmVyLCBCU3RyaW5nKG1lc3NhZ2UpLlN0cmluZygp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50SGFpa3UuaCBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50SGFpa3UuaAppbmRleCBlYjJjNGVmLi4yZmFmMWZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgKKysrIGIvU291
cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCkBAIC04
Nyw3ICs4Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFN0cmluZyYgc291cmNlSUQpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKTsKLSAgICAgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQgaW50LCBjb25zdCBTdHJpbmcmKTsKIAogICAgICAg
ICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggMjgxMDU0My4uNDUxMzc5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDExLTA4LTE3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2Ug
TWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKToK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmg6CisKIDIwMTEtMDgtMTUg
IERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRnJhbWVMb2Fk
ZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UgZG9lcyBub3QgaGF2ZSBl
bm91Z2ggcGFyYW1ldGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBiZDk1ZDQ3Li5kZjczZDZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNzYs
NyArNzYsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShi
b29sKTsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3Jl
OjpNZXNzYWdlU291cmNlIHNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUgdHlwZSwgV2ViQ29y
ZTo6TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VVUkwpOworICAgIHZp
cnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2Ugc291
cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZVVS
TCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7
CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6
OlN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqIGZyYW1lKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBhNDk1
Y2UyLi41YmVhYzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC05MSwxNiArOTEsNiBAQCBOU1N0cmluZyAqV2ViQ29u
c29sZU1lc3NhZ2VKU01lc3NhZ2VTb3VyY2UgPSBAIkpTTWVzc2FnZVNvdXJjZSI7CiBOU1N0cmlu
ZyAqV2ViQ29uc29sZU1lc3NhZ2VDU1NNZXNzYWdlU291cmNlID0gQCJDU1NNZXNzYWdlU291cmNl
IjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVyTWVzc2FnZVNvdXJjZSA9IEAiT3Ro
ZXJNZXNzYWdlU291cmNlIjsKIAotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlTG9nTWVzc2Fn
ZVR5cGUgPSBAIkxvZ01lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU9i
amVjdE1lc3NhZ2VUeXBlID0gQCJPYmplY3RNZXNzYWdlVHlwZSI7Ci1OU1N0cmluZyAqV2ViQ29u
c29sZU1lc3NhZ2VUcmFjZU1lc3NhZ2VUeXBlID0gQCJUcmFjZU1lc3NhZ2VUeXBlIjsKLU5TU3Ry
aW5nICpXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBNZXNzYWdlVHlwZSA9IEAiU3RhcnRHcm91
cE1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBDb2xs
YXBzZWRNZXNzYWdlVHlwZSA9IEAiU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlIjsKLU5T
U3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUVuZEdyb3VwTWVzc2FnZVR5cGUgPSBAIkVuZEdyb3Vw
TWVzc2FnZVR5cGUiOwotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQXNzZXJ0TWVzc2FnZVR5
cGUgPSBAIkFzc2VydE1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVVu
Y2F1Z2h0RXhjZXB0aW9uTWVzc2FnZVR5cGUgPSBAIlVuY2F1Z2h0RXhjZXB0aW9uTWVzc2FnZVR5
cGUiOwotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlTmV0d29ya0Vycm9yTWVzc2FnZVR5cGUg
PSBAIk5ldHdvcmtFcnJvck1lc3NhZ2VUeXBlIjsKLQogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNz
YWdlVGlwTWVzc2FnZUxldmVsID0gQCJUaXBNZXNzYWdlTGV2ZWwiOwogTlNTdHJpbmcgKldlYkNv
bnNvbGVNZXNzYWdlTG9nTWVzc2FnZUxldmVsID0gQCJMb2dNZXNzYWdlTGV2ZWwiOwogTlNTdHJp
bmcgKldlYkNvbnNvbGVNZXNzYWdlV2FybmluZ01lc3NhZ2VMZXZlbCA9IEAiV2FybmluZ01lc3Nh
Z2VMZXZlbCI7CkBAIC0zODAsMzIgKzM3MCw2IEBAIGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0
cmluZ0Zvck1lc3NhZ2VTb3VyY2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UpCiAgICAgcmV0dXJuIEAi
IjsKIH0KIAotaW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9yTWVzc2FnZVR5cGUoTWVz
c2FnZVR5cGUgdHlwZSkKLXsKLSAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIExvZ01lc3Nh
Z2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VMb2dNZXNzYWdlVHlwZTsK
LSAgICBjYXNlIE9iamVjdE1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1l
c3NhZ2VPYmplY3RNZXNzYWdlVHlwZTsKLSAgICBjYXNlIFRyYWNlTWVzc2FnZVR5cGU6Ci0gICAg
ICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVRyYWNlTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBT
dGFydEdyb3VwTWVzc2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVN0
YXJ0R3JvdXBNZXNzYWdlVHlwZTsKLSAgICBjYXNlIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdl
VHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlU3RhcnRHcm91cENvbGxhcHNl
ZE1lc3NhZ2VUeXBlOwotICAgIGNhc2UgRW5kR3JvdXBNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0
dXJuIFdlYkNvbnNvbGVNZXNzYWdlRW5kR3JvdXBNZXNzYWdlVHlwZTsKLSAgICBjYXNlIEFzc2Vy
dE1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VBc3NlcnRNZXNz
YWdlVHlwZTsKLSAgICBjYXNlIFVuY2F1Z2h0RXhjZXB0aW9uTWVzc2FnZVR5cGU6Ci0gICAgICAg
IHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVVuY2F1Z2h0RXhjZXB0aW9uTWVzc2FnZVR5cGU7Ci0g
ICAgY2FzZSBOZXR3b3JrRXJyb3JNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNv
bGVNZXNzYWdlTmV0d29ya0Vycm9yTWVzc2FnZVR5cGU7Ci0gICAgfQotICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgIHJldHVybiBAIiI7Ci19Ci0KIGlubGluZSBzdGF0aWMgTlNTdHJpbmcg
KnN0cmluZ0Zvck1lc3NhZ2VMZXZlbChNZXNzYWdlTGV2ZWwgbGV2ZWwpCiB7CiAgICAgc3dpdGNo
IChsZXZlbCkgewpAQCAtNDI0LDcgKzM4OCw3IEBAIGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0
cmluZ0Zvck1lc3NhZ2VMZXZlbChNZXNzYWdlTGV2ZWwgbGV2ZWwpCiAgICAgcmV0dXJuIEAiIjsK
IH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNv
dXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsK
ICAgICBpZCBkZWxlZ2F0ZSA9IFttX3dlYlZpZXcgVUlEZWxlZ2F0ZV07CiAgICAgQk9PTCByZXNw
b25kc1RvTmV3U2VsZWN0b3IgPSBOTzsKQEAgLTQ0Nyw3ICs0MTEsNiBAQCB2b2lkIFdlYkNocm9t
ZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZVR5cGUgdHlwZQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aFVuc2lnbmVkSW50OmxpbmVO
dW1iZXJdLCBAImxpbmVOdW1iZXIiLAogICAgICAgICAoTlNTdHJpbmcgKilzb3VyY2VVUkwsIEAi
c291cmNlVVJMIiwKICAgICAgICAgbWVzc2FnZVNvdXJjZSwgQCJNZXNzYWdlU291cmNlIiwKLSAg
ICAgICAgc3RyaW5nRm9yTWVzc2FnZVR5cGUodHlwZSksIEAiTWVzc2FnZVR5cGUiLAogICAgICAg
ICBzdHJpbmdGb3JNZXNzYWdlTGV2ZWwobGV2ZWwpLCBAIk1lc3NhZ2VMZXZlbCIsCiAgICAgICAg
IE5VTExdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlVJRGVs
ZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQ
cml2YXRlLmgKaW5kZXggMzcwNDFkNC4uMTJkYTlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtOTksMTcgKzk5LDYgQEAgZXh0
ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUpTTWVzc2FnZVNvdXJjZTsKIGV4dGVybiBO
U1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VDU1NNZXNzYWdlU291cmNlOwogZXh0ZXJuIE5TU3Ry
aW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVyTWVzc2FnZVNvdXJjZTsKIAotLy8gTWVzc2FnZSBU
eXBlcy4KLWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VMb2dNZXNzYWdlVHlwZTsK
LWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VPYmplY3RNZXNzYWdlVHlwZTsKLWV4
dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VUcmFjZU1lc3NhZ2VUeXBlOwotZXh0ZXJu
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBNZXNzYWdlVHlwZTsKLWV4dGVy
biBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5
cGU7Ci1leHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlRW5kR3JvdXBNZXNzYWdlVHlw
ZTsKLWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VBc3NlcnRNZXNzYWdlVHlwZTsK
LWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VVbmNhdWdodEV4Y2VwdGlvbk1lc3Nh
Z2VUeXBlOwotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU5ldHdvcmtFcnJvck1l
c3NhZ2VUeXBlOwotCiAvLyBNZXNzYWdlIExldmVscy4KIGV4dGVybiBOU1N0cmluZyAqV2ViQ29u
c29sZU1lc3NhZ2VUaXBNZXNzYWdlTGV2ZWw7CiBleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVN
ZXNzYWdlTG9nTWVzc2FnZUxldmVsOwpAQCAtMTU2LDExICsxNDUsNiBAQCBleHRlcm4gTlNTdHJp
bmcgKldlYkNvbnNvbGVNZXNzYWdlRGVidWdNZXNzYWdlTGV2ZWw7CiAgICAgICAgICAgICBXaGVy
ZSB0aGUgbWVzc2FnZSBjYW1lIGZyb20uIEhUTUwsIFhNTCwgSmF2YVNjcmlwdCwgQ1NTLCBldGMu
CiAgICAgICAgICAgICBTZWUgV2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNvdXJjZSBhbmQg
c2ltaWxhciBjb25zdGFudHMuCiAgICAgICAgIDwvZGQ+Ci0gICAgICAgIDxkdD5NZXNzYWdlVHlw
ZTwvZHQ+Ci0gICAgICAgIDxkZD4KLSAgICAgICAgICAgIENsYXNzIG9mIG1lc3NhZ2UuIFN0YXJ0
IC8gRW5kIG9mIGEgR3JvdXAsIGEgTG9nLCBOZXR3b3JrIHJlbGF0ZWQsIGV0Yy4KLSAgICAgICAg
ICAgIFNlZSBXZWJDb25zb2xlTWVzc2FnZUxvZ01lc3NhZ2VUeXBlIGFuZCBzaW1pbGFyIGNvbnN0
YW50cy4KLSAgICAgICAgPC9kZD4KICAgICAgICAgPGR0Pk1lc3NhZ2VMZXZlbDwvZHQ+CiAgICAg
ICAgIDxkZD4KICAgICAgICAgICAgIFNldmVyaXR5IGxldmVsIG9mIHRoZSBtZXNzYWdlLiBUaXAs
IExvZywgV2FybmluZywgZXRjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAxZDBhZWVhLi45OTJkZjMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA4LTE3ICBQYXZlbCBGZWxkbWFu
ICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xl
VHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0
ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2hyb21lQ2xpZW50UXQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisKIDIwMTEtMDgtMTYgIExpbmRzYXkgTWF0
aGllc29uICAgPGxpbmRzYXkubWF0aGllc29uQGdtYWlsLmNvbT4KIAogICAgICAgICBbUXRdIE1p
c3Npbmcgc3BlbGwgY2hlY2sgc3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAppbmRleCBmZDdiOTEwLi4yMjdhYjc3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNw
cApAQCAtMjkzLDcgKzI5Myw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50UXQ6OnNldFJlc2l6YWJsZShi
b29sKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50UXQ6OmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLAordm9pZCBDaHJvbWVDbGllbnRRdDo6YWRkTWVzc2Fn
ZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCiB7CiAgICAgUVN0cmluZyB4
ID0gbWVzc2FnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50UXQuaAppbmRleCAxZmQzY2QyLi5lY2U4OGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCkBAIC05OSw3ICs5OSw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpOwog
CiAgICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwogICAg
IHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBGcmFtZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDRjMzk5YjYuLjFjYmMwOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wOC0xNyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29uc29s
ZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0gaXQgc2hvdWxkIGJlIHByaXZh
dGUgdG8gaW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChX
ZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDExLTA4LTE1ICBEbWl0cnkgVGl0b3YgIDxk
aW1pY2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2Zl
ckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlIGRvZXMgbm90IGhhdmUgZW5vdWdoIHBhcmFtZXRlcnMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCmluZGV4IGE3MDUzZjIuLmYxZjlkNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMzQwLDcgKzM0MCw3
IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRSZXNpemFibGUoYm9vbCByZXNpemFibGUpCiAg
ICAgfQogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmUsIGNvbnN0IFN0cmluZyYgdXJsKQor
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBz
b3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25l
ZCBsaW5lLCBjb25zdCBTdHJpbmcmIHVybCkKIHsKICAgICBDT01QdHI8SVdlYlVJRGVsZWdhdGU+
IHVpRGVsZWdhdGU7CiAgICAgaWYgKFNVQ0NFRURFRChtX3dlYlZpZXctPnVpRGVsZWdhdGUoJnVp
RGVsZWdhdGUpKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAppbmRleCAwZTIyMmI4Li44YjMzZjE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtODAsNyAr
ODAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwog
Ci0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNv
dXJjZSBzb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlIHR5cGUsIFdlYkNvcmU6Ok1lc3NhZ2VM
ZXZlbCBsZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmUsIGNv
bnN0IFdURjo6U3RyaW5nJiB1cmwpOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25z
b2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2Ugc291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lLCBjb25zdCBX
VEY6OlN0cmluZyYgdXJsKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRD
b25maXJtUGFuZWwoKTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBh
bmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSogZnJhbWUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L3dpbmNlL0NoYW5nZUxvZwppbmRleCA2M2NiZGEyLi40MDUzZjI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA4LTE3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRt
YW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hv
dWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNw
ZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwOgorICAgICAgICAoV2ViS2l0OjpD
aHJvbWVDbGllbnRXaW5DRTo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoKKwogMjAxMS0wOC0xNSAgRG1pdHJ5IFRpdG92
ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGcmFtZUxvYWRlckNsaWVudDo6dHJh
bnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSBkb2VzIG5vdCBoYXZlIGVub3VnaCBwYXJhbWV0
ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFdpbkNFLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50V2luQ0UuY3BwCmluZGV4IDhmYjMyYTMuLjNjYTFmMzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0Uu
Y3BwCkBAIC0xODksNyArMTg5LDcgQEAgYm9vbCBDaHJvbWVDbGllbnRXaW5DRTo6cnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRnJhbWUKICAgICByZXR1
cm4gcnVuSmF2YVNjcmlwdENvbmZpcm0oZnJhbWUsIG1lc3NhZ2UpOwogfQogCi12b2lkIENocm9t
ZUNsaWVudFdpbkNFOjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VU
eXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkIGludCwgY29uc3QgU3Ry
aW5nJikKK3ZvaWQgQ2hyb21lQ2xpZW50V2luQ0U6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBpbnQsIGNvbnN0
IFN0cmluZyYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaCBiL1NvdXJj
ZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAppbmRleCAw
M2Y3MmYwLi5mYjFhODg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCkBAIC03OCw3ICs3OCw3IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpN
ZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJ
RCk7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2Fn
ZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2Fn
ZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCk7
CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAg
ICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0
cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqIGZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXgg
NWRmODg3NC4uNTdmNGU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0w
OC0xNyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogQ29uc29sZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0g
aXQgc2hvdWxkIGJlIHByaXZhdGUgdG8gaW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3gu
Y3BwOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaDoKKwogMjAxMS0w
OC0xNSAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGcmFt
ZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSBkb2VzIG5vdCBo
YXZlIGVub3VnaCBwYXJhbWV0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0Nocm9tZUNsaWVudFd4LmNwcAppbmRleCAzNDVhNmUzLi5jMDkzZDBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKQEAgLTIz
Myw3ICsyMzMsNiBAQCB2b2lkIENocm9tZUNsaWVudFd4OjpzZXRSZXNpemFibGUoYm9vbCkKIH0K
IAogdm9pZCBDaHJvbWVDbGllbnRXeDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNl
IHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3Nh
Z2VUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBN
ZXNzYWdlTGV2ZWwgbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oIGIvU291cmNlL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKaW5kZXggOTgxYjE4ZC4uOTdmNzBh
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVu
dFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4
LmgKQEAgLTgxLDcgKzgxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFi
bGUoYm9vbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdl
U291cmNlIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXNz
YWdlVHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3Nh
Z2VMZXZlbCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50IGxpbmVOdW1iZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjJkZGI3ZS4uMTNhOTU5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA4LTE3ICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlw
ZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0
byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIw
MTEtMDgtMTUgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
RnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UgZG9lcyBu
b3QgaGF2ZSBlbm91Z2ggcGFyYW1ldGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IGE5
MmQ1YTcuLmQ0MDlkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTI2Myw3ICsyNjMs
NyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXphYmxlKGJvb2wgcmVzaXphYmxlKQog
ICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRJc1Jlc2l6YWJsZShy
ZXNpemFibGUpKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNv
bGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJ
RCkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGlu
ZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKIHsKICAgICAvLyBOb3RpZnkgdGhlIGJ1
bmRsZSBjbGllbnQuCiAgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZVVJQ2xpZW50KCkud2lsbEFk
ZE1lc3NhZ2VUb0NvbnNvbGUobV9wYWdlLCBtZXNzYWdlLCBsaW5lTnVtYmVyKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCmluZGV4IDk0MjBiMTQuLjI3MjQxZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApA
QCAtOTIsNyArOTIsNyBAQCBwcml2YXRlOgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNp
emFibGUoYm9vbCk7CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUo
V2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUsIFdlYkNvcmU6Ok1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJl
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCk7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VU
b0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUlEKTsKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2Fk
Q29uZmlybVBhbmVsKCk7CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1Q
YW5lbChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSk7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGRmMGUwOS4u
ZDc4MWRmOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTA4LTE3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5A
Z29vZ2xlLmNvbT4KKworICAgICAgICBjbGVhbgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENv
bnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBw
cml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViV29ya2VyLmg6Cisg
ICAgICAgIChUZXN0V2ViV29ya2VyOjpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCk6
CisKIDIwMTEtMDgtMTYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBBZGQgYSBDRyBxdWFsaWZpZXIgc2ltaWxhciB0byB0aGUgR1BVIHF1YWxpZmllcgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYldvcmtlci5oIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYldvcmtlci5oCmluZGV4IDcxYmZmY2Uu
LjNjZmU0MjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RX
ZWJXb3JrZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViV29y
a2VyLmgKQEAgLTcxLDcgKzcxLDcgQEAgcHVibGljOgogICAgIC8vIFdlYldvcmtlckNsaWVudCBt
ZXRob2RzOgogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyT2JqZWN0KGNvbnN0
IFdlYktpdDo6V2ViU3RyaW5nJiwgY29uc3QgV2ViS2l0OjpXZWJNZXNzYWdlUG9ydENoYW5uZWxB
cnJheSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3Qo
Y29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmLCBpbnQsIGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJikg
eyB9Ci0gICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGlu
dCwgaW50LCBpbnQsIGludCwgY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcmLCBpbnQsIGNvbnN0IFdl
YktpdDo6V2ViU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2Fn
ZVRvV29ya2VyT2JqZWN0KGludCwgaW50LCBpbnQsIGNvbnN0IFdlYktpdDo6V2ViU3RyaW5nJiwg
aW50LCBjb25zdCBXZWJLaXQ6OldlYlN0cmluZyYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBjb25m
aXJtTWVzc2FnZUZyb21Xb3JrZXJPYmplY3QoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJl
cG9ydFBlbmRpbmdBY3Rpdml0eShib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgd29ya2VyQ29u
dGV4dENsb3NlZCgpIHsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177496</attachid>
            <date>2012-12-04 08:43:34 -0800</date>
            <delta_ts>2012-12-05 01:18:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66371-20121204174058.patch</filename>
            <type>text/plain</type>
            <size>129906</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM1YWExM2FhMTEyNTVm
ZDA5NjM3Y2U2YjY3MzM3MDU3NjY4NmRhYi4uNjdlYmIxYjhmNjg2NjhiMzZiYzAxMzgzYTM3Y2Nh
NzNmMjFmMjBiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2MyBAQAorMjAxMi0xMi0wNCAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENv
bnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBw
cml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2UgY2FuIHNpbXBsaWZ5IGNvbnNvbGUgbWVzc2FnZSBnZW5lcmF0aW9uIGEg
Yml0LCBhcyBub3RoaW5nIG91dHNpZGUgdGhlCisgICAgICAgIENvbnNvbGUgb2JqZWN0IGl0c2Vs
ZiB3aWxsIGdlbmVyYXRlIG1lc3NhZ2VzIG9mIGFueSB0eXBlIG90aGVyIHRoYW4KKyAgICAgICAg
TG9nTWVzc2FnZVR5cGUuIFRoaXMgcGF0Y2ggcmVmYWN0b3JzIHRoZSBleHRlcm5hbGx5LWZhY2lu
ZyBBUEkgZW5kcG9pbnRzCisgICAgICAgIG9uIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgYW5kIENv
bnNvbGUgdG8gZHJvcCB0aGUgTWVzc2FnZVR5cGUgcGFyYW1ldGVyLAorICAgICAgICBtb3ZlcyB0
aGUgTWVzc2FnZVR5cGUgZW51bSBpbnRvIGEgbmV3IEluc3BlY3RvckNvbnNvbGVUeXBlcy5oIGhl
YWRlciwKKyAgICAgICAgYW5kIHVwZGF0ZXMgYWxsIHRoZSBjYWxsIHNpdGVzIChhbmQgQ2hyb21l
Q2xpZW50cykgdG8gZHJvcCB0aGUgcGFyYW1ldGVyCisgICAgICAgIGZyb20gdGhlaXIgaW50ZXJm
YWNlcy4KKworICAgICAgICBIZXJlLCB3ZSBvbmx5IHJlZmFjdG9yIGFuIGludGVybmFsIGludGVy
ZmFjZS4gTm8gdGVzdHMgc2hvdWxkIGJyZWFrLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgICBXZSBhZGRlZCBhIG5ldyBm
aWxlISBPTUchCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5v
ZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6
CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RGF0YWJhc2U6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXQ6OmNvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViU29ja2V0OjpzZXRCaW5hcnlUeXBlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFu
bmVsOjpmYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxT
b2NrZXRTdHJlYW0pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29s
dmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29r
dXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQ
YXRoTlNSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEN1c3RvbVhQYXRoTlNSZXNv
bHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKToKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZSk6
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBy
b2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZE1lc3NhZ2Up
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoRG9jdW1lbnQpOgorICAgICAg
ICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1l
bnQ6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25z
b2xlTWVzc2FnZVRhc2s6OnBlcmZvcm1UYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNzYWdlKToKKyAgICAgICAgKiBkb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2Fn
ZVRhc2s6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OkFkZENvbnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAg
ICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFZp
ZXdwb3J0V2FybmluZyk6CisgICAgICAgICogZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpCbG9iQnVpbGRlcjo6YXBwZW5kKToKKyAgICAgICAgKiBodG1s
L0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXV0
b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVseSk6CisgICAgICAg
ICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSUZy
YW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjpjYW5Mb2FkVXJs
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEp
OgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6
cHJpbnRXYXJuaW5nVG9Db25zb2xlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3I6OmluaXQpOgorICAgICAgICAoV2Vi
Q29yZTo6WFNTQXVkaXRvcjo6ZmlsdGVyVG9rZW4pOgorICAgICAgICAqIGluc3BlY3Rvci9Db25z
b2xlTWVzc2FnZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZVR5cGVzLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5jcHA6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVw
b3J0TG9jYWxMb2FkRmFpbGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzaG91
bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyk6CisgICAgICAgICogbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hl
ZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAg
ICogbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWl4
ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmNvcnNQb2xp
Y3lQcmV2ZW50ZWRMb2FkKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNl
aXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpk
aWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91
cDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRp
ZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKToKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVuaWVkTWVzc2FnZSk6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisgICAg
ICAgICogcGFnZS9Db25zb2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmFkZE1l
c3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6aW50ZXJuYWxBZGRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnNvbGU6OmVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Omxv
Zyk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjp3YXJuKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnNvbGU6OmRpcik6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpkaXJ4bWwpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29s
ZTo6dHJhY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6YXNzZXJ0Q29uZGl0aW9uKToK
KyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaDoKKyAgICAgICAgKENvbnNvbGUpOgorICAgICAgICAq
IHBhZ2UvQ29uc29sZVR5cGVzLmg6CisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0Nv
bnNvbGUpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnRXaXRoT3JpZ2luQ2hlY2spOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93OjpwcmludEVycm9yTWVzc2FnZSk6CisgICAgICAgICogcGFn
ZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBzdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydE1lc3NhZ2UpOgorICAgICAgICAqIHdvcmtlcnMvRGVm
YXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOgorICAgICAgICAoU2hhcmVkV29ya2VyUHJv
eHkpOgorICAgICAgICAoV2ViQ29yZTo6cG9zdENvbnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAg
IChXZWJDb3JlOjpTaGFyZWRXb3JrZXJQcm94eTo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJP
YmplY3QpOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUp
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNv
bnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyQ29udGV4dC5oOgorICAgICAgICAoV29ya2VyQ29udGV4dCk6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwb3N0Q29uc29s
ZU1lc3NhZ2VUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpw
b3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAoV29ya2VyTWVzc2FnaW5nUHJveHkpOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaDoKKyAgICAgICAgKFdvcmtlclJl
cG9ydGluZ1Byb3h5KToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6bG9nQ29uc29sZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBS
ZXF1ZXN0OjpzZW5kKToKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6WFNMVFByb2Nlc3Nvcjo6cGFyc2VFcnJvckZ1bmMpOgorICAgICAg
ICAqIHhtbC9YU0xUUHJvY2Vzc29yUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNMVE1lc3Nh
Z2VIYW5kbGVyOjpoYW5kbGVNZXNzYWdlKToKKwogMjAxMi0xMi0wNCAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gVXNlIGEgcHJpdmF0
ZSBzdHJ1Y3QgYW5kIHBsYWNlbWVudCBuZXcgc3ludGF4IGluIEdPYmplY3QgRE9NIGJpbmRpbmdz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCAwOWQ4YzJlZjI2YWExMjk4Y2JjNzU0
OWUwOGY2NGNhMWIyNjc5ZGZkLi44NTA4ZDg5MDllNzA3NjczMDEzZGVjNGIzMzQ5OTAyM2VkMGFh
MTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0xMi0wNCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0
IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGZyb20g
dGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVD
bGllbnRCbGFja0JlcnJ5OjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRC
bGFja0JlcnJ5KToKKwogMjAxMi0xMi0wNCAgSmFrb2IgUGV0c292aXRzICA8anBldHNvdml0c0By
aW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBVc2UgdXBkYXRlZCBBUEkgZm9yIGJhY2tp
bmdzdG9yZSB0aWxlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOTc3ZDY5N2NkMmUy
YWRlZTliMmIxM2Q2ODFmODI5ZjVjZjEzYTM5Ny4uY2IyY2VlMjY0ZGUzYWFlNWFkNDdiYjljNjY0
YWFmZmU4NGE0MjFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBA
QAorMjAxMi0xMi0wNCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlw
ZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2FnZUxldmVs
IGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLCBhbmQgYWxsCisgICAgICAgIHRo
ZSBhbmNpbGxpYXJ5IHBsYWNlcyBpdCB0b3VjaGVzLgorCisgICAgICAgICogcHVibGljL1dlYlNo
YXJlZFdvcmtlckNsaWVudC5oOgorICAgICAgICAoV2ViU2hhcmVkV29ya2VyQ2xpZW50KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViU2hhcmVkV29ya2VyQ2xpZW50Ojpwb3N0Q29uc29sZU1lc3NhZ2VU
b1dvcmtlck9iamVjdCk6CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwOgorICAg
ICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRJbXBs
KToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVJbXBsOjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBzcmMvV2ViUGFnZVBv
cHVwSW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTaGFyZWRXb3JrZXJJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VUb1dv
cmtlck9iamVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNoYXJlZFdvcmtlckltcGw6OnBvc3RD
b25zb2xlTWVzc2FnZVRhc2spOgorICAgICAgICAqIHNyYy9XZWJTaGFyZWRXb3JrZXJJbXBsLmg6
CisgICAgICAgIChXZWJTaGFyZWRXb3JrZXJJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViV29ya2Vy
Q2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYldvcmtlckNsaWVudEltcGw6OnBv
c3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KToKKyAgICAgICAgKiBzcmMvV2ViV29ya2Vy
Q2xpZW50SW1wbC5oOgorICAgICAgICAoV2ViV29ya2VyQ2xpZW50SW1wbCk6CisKIDIwMTItMTIt
MDMgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVk
REI6IENvcnJlY3QgZGF0YWJhc2UgdmVyc2lvbiBhZnRlciBhYm9ydGVkIHVwZ3JhZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0No
YW5nZUxvZwppbmRleCA3YTQ2YTQ3ZDM4ZTYzNzExMDZiZmEwYTkzZDJkNDk3Yjk1OTdiMDc5Li43
N2ZmZDgzNzk4YWQ5ZWM5MTRiM2RkMzg5ZDZjMjEzYWQ5ZmI1OGI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMDQgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBl
eHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3BzIFdlYkNv
cmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZC4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50
RWZsKToKKwogMjAxMi0xMS0zMCAgTWloYWkgTWFlcmVhbiAgPG1tYWVyZWFuQGFkb2JlLmNvbT4K
IAogICAgICAgICBbQ1NTUmVnaW9uc10gd2hlbiBXZWJLaXQgdXNlcyBWOCwgdGhlcmUgc2hvdWxk
IGJlIGEgc2luZ2xlIHZhcmlhYmxlIHRvIHN0b3JlIGlmIHRoZSBDU1MgUmVnaW9ucyBmZWF0dXJl
IGlzIGVuYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBiOTM2OGVjYzFkYzQwYzM2NjE0OGVmMDkx
ZGQ0MzMxZTE3MDc5MTY1Li5jNjJhMDQ0NmUxZDg0Yjk3NGMyYjVmMjliMWZmMTZmYjc5NzQyMzVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMDQgIE1pa2UgV2Vz
dCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xl
VHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0
ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNzYWdlVG9D
b25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0
ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29s
ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAg
IChDaHJvbWVDbGllbnQpOgorCiAyMDEyLTEyLTA0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBdm9pZCB1bm5lY2Vzc2FyeSBoZWFw
IGFsbG9jYXRpb25zIGR1cmluZyBkcmFnIGFuZCBkcm9wIG9wZXJhdGlvbnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCBmNTM1MjFlNWU0MWEwNTgxMWZlMWUxN2M4NzBiZWIwZjlkMmUzMWNiLi4xOWY3ZTVm
MzQzNjZmMGM1MTU5MzgwNTlmMmFkMzBjYmU0ZWQ1Njg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTItMTItMDQgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2Ug
TWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1l
c3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21l
Q2xpZW50KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06Cisg
ICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorCiAyMDEyLTEy
LTAzICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQuIEZpeCBNYWMgY29tcGlsYXRpb24gYWZ0ZXIgcjEzNjQ0OC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
aW5kZXggZWIwOTc1NWVhY2FhNGViMmFkNzM3YzYzOWI2MDY4MTQ2ODQ1MThlNy4uNzc0Nzg3NTk4
MTFjYTVmMTY3MDZlMmJkNWY4ZmUyNTgxMGQ0ODc1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMi0xMi0wNCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNz
YWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2Fn
ZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hy
b21lQ2xpZW50UXQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRRdCk6CisKIDIwMTIt
MTItMDQgIFBpZXJyZSBSb3NzaSAgPHBpZXJyZS5yb3NzaUBkaWdpYS5jb20+CiAKICAgICAgICAg
W1F0XSBZZXQgYW5vdGhlciB1bnJldmlld2VkIHNwZWN1bGF0aXZlIHdpbmRvd3MgYnVpbGQgZml4
LiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZwppbmRleCA3N2VjMDc2MjA2NDg1MTkwNzMzMDY1NDAwMzZhNWQwMzU3
YmZjOGQzLi43Y2JjODE3NGFkY2JkOWZiOTM4NGE2YzNlZjE1N2FiZGQ0ZDk4YTczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMDQgIE1pa2UgV2VzdCAgPG1rd3N0
QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hv
dWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNw
ZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERy
b3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1l
dGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xp
ZW50KToKKwogMjAxMi0xMS0zMCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgW1dpbmRvd3MsIFdpbkNhaXJvXSBHZW5lcmF0ZSBsaWJyYXJ5IGV4cG9ydCBk
ZWZpbml0aW9uIGZpbGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IGNhYmRkOTU4MTk0MWFhZjdm
ODU2YjAxMjA1OTg2ZTM0ZjBlNDVjMGQuLjg4NjkxYjJiZGQ0MDZmZmEyOGI0YmZjN2QxYTdmNmM1
ZTMxMDg3N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTIt
MDQgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91
bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBh
ZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFdpbkNFLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50V2luQ0U6
OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFdpbkNFLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRXaW5DRSk6CisKIDIwMTItMTEtMjkg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gRm9y
d2FyZCBjb29raWUgamFyIGNhbGxzIHRvIE5ldHdvcmtQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWEz
YjM3NTVkYTQwMGFlOWE1MjZmM2RkMGU5NDk5NDVjN2RjMzZiZC4uZWQxM2E5ZTE2MTNiZWE3NDc3
ZjJiMzQwZDVkZDc5NDRkZDZkNzY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTEyLTA0ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogQ29uc29sZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0gaXQg
c2hvdWxkIGJlIHByaXZhdGUgdG8gaW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wcyBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgZnJvbSB0
aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBtZXRob2QuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNo
cm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVu
dCk6CisKIDIwMTItMTItMDQgIEFuZHJhcyBCZWNzaSAgPGFuZHJhcy5iZWNzaUBkaWdpYS5jb20+
CiAKICAgICAgICAgW1F0XVtXSzJdIERvIG5vdCBvdmVycmlkZSBwcmV2aW91c2x5IHNldCBmbGFn
cyBvZiBRUXVpY2tXZWJWaWV3IHdoZW4gZW5hYmxpbmcgZHJhZyZkcm9wCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQppbmRleCA1YWY3ZWY1NjFjMDdmZGI5MjhlODQ0NTNiMmJlOGZjN2U0N2M2
MDYwLi4zNTRhZWE0YTQyYjg4ZWMzNzA2YzZhZmQwOGI3YjZiNGYzNzVhMWM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTM3MDksNiArMzcwOSw3IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBc
CiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRp
b24uaCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVUeXBlcy5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuaCBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAK
aW5kZXggNDM3NzA1ZDU4NzczZjc1MTJhYzQwMTk2OWY3MGE0NmEwYjA2YjVkYS4uODgxYjgwM2I3
NWNhZTY2OGMyYjA4ODIzMjE0MmYzNzM3NjEyMTVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcApAQCAt
NDQ5LDcgKzQ0OSw3IEBAIGJvb2wgQXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5nKCkKIHsK
ICAgICBzdGF0aWMgYm9vbCBmaXJzdFRpbWUgPSB0cnVlOwogICAgIGlmIChmaXJzdFRpbWUgJiYg
Y29udGV4dCgpICYmIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7Ci0gICAg
ICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAi
QXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4g
IFVzZSAnbG9vcCcgaW5zdGVhZC4iKTsKKyAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01l
c3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlz
IGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CiAgICAgICAgIGZpcnN0VGltZSA9
IGZhbHNlOwogICAgIH0KIApAQCAtNDYwLDcgKzQ2MCw3IEBAIHZvaWQgQXVkaW9CdWZmZXJTb3Vy
Y2VOb2RlOjpzZXRMb29waW5nKGJvb2wgbG9vcGluZykKIHsKICAgICBzdGF0aWMgYm9vbCBmaXJz
dFRpbWUgPSB0cnVlOwogICAgIGlmIChmaXJzdFRpbWUgJiYgY29udGV4dCgpICYmIGNvbnRleHQo
KS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7Ci0gICAgICAgIGNvbnRleHQoKS0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
ICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4i
KTsKKyAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlvQnVm
ZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xv
b3AnIGluc3RlYWQuIik7CiAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNlOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFi
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRh
YmFzZS5jcHAKaW5kZXggNjI5MDdlM2UxY2U2YjA5MTVjMmIwMzQ3NjA5ZTUwN2U4YzAxY2ViNi4u
NmNmZTUxYjU4NTc4M2Q3YzI4ZTYyNTg2ZGY1ZDJiYWU2OTJhNjUyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2UuY3Bw
CkBAIC01NjcsNyArNTY3LDcgQEAgYm9vbCBBYnN0cmFjdERhdGFiYXNlOjppc0ludGVycnVwdGVk
KCkKIAogdm9pZCBBYnN0cmFjdERhdGFiYXNlOjpsb2dFcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQogewotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1l
c3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsIG1lc3NhZ2UpOworICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1l
c3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9
CiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggOGNkYzdkYWU0ZWJhOGQ1ZjViNDY3NTM2Nzcy
MjM5NTE1YTU3ZThjNS4uZmU1MDg1OGNiMTJkOWFjMDk1ODIyY2Q2ZWNhZmZmMGNhMGEwMWNkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAK
QEAgLTIxMywyNiArMjEzLDI2IEBAIHZvaWQgV2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgbV91cmwg
PSBLVVJMKEtVUkwoKSwgdXJsKTsKIAogICAgIGlmICghbV91cmwuaXNWYWxpZCgpKSB7Ci0gICAg
ICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdl
U291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJJbnZhbGlkIHVybCBm
b3IgV2ViU29ja2V0ICIgKyBtX3VybC5zdHJpbmcoKSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5nKCksIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CiAg
ICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmICghbV91cmwucHJvdG9jb2xJcygid3MiKSAmJiAh
bV91cmwucHJvdG9jb2xJcygid3NzIikpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBzY2hlbWUgZm9yIFdlYlNvY2tldCAiICsgbV91
cmwuc3RyaW5nKCksIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+
dG9TdHJpbmcoKSk7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBz
Y2hlbWUgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5nKCksIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CiAgICAgICAgIG1fc3RhdGUg
PSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBpZiAobV91cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpIHsKLSAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVSTCBoYXMgZnJhZ21lbnQgY29t
cG9uZW50ICIgKyBtX3VybC5zdHJpbmcoKSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1
cml0eU9yaWdpbigpLT50b1N0cmluZygpKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiVVJMIGhhcyBmcmFnbWVudCBjb21wb25lbnQgIiArIG1fdXJsLnN0cmluZygpLCBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCkpOwogICAgICAg
ICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgaWYgKCFwb3J0QWxsb3dlZChtX3VybCkpIHsKLSAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBwb3J0ICIgKyBT
dHJpbmc6Om51bWJlcihtX3VybC5wb3J0KCkpICsgIiBibG9ja2VkIiwgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpKTsKKyAgICAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6bnVtYmVyKG1fdXJs
LnBvcnQoKSkgKyAiIGJsb2NrZWQiLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5
T3JpZ2luKCktPnRvU3RyaW5nKCkpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAg
ICBlYyA9IFNFQ1VSSVRZX0VSUjsKICAgICAgICAgcmV0dXJuOwpAQCAtMjU3LDcgKzI1Nyw3IEBA
IHZvaWQgV2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8
U3RyaW5nPiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgLy8gY29tcGx5IHdpdGggV2ViU29ja2V0IEFQ
SSBzcGVjaWZpY2F0aW9uLCBidXQgaXQgc2VlbXMgdG8gYmUgdGhlIG9ubHkgcmVhc29uYWJsZSB3
YXkgdG8gaGFuZGxlIHRoaXMgY29uZmxpY3QuCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBw
cm90b2NvbHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYgKCFpc1ZhbGlkUHJvdG9jb2xTdHJp
bmcocHJvdG9jb2xzW2ldKSkgewotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQ
cm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsgIiciLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCkpOworICAgICAgICAgICAgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAnIiArIGVuY29kZVBy
b3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkgKyAiJyIsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CiAgICAgICAgICAgICBtX3N0YXRlID0g
Q0xPU0VEOwogICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICAgICAgcmV0dXJu
OwpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgSGFzaFNl
dDxTdHJpbmc+IHZpc2l0ZWQ7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm90b2NvbHMu
c2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYgKHZpc2l0ZWQuY29udGFpbnMocHJvdG9jb2xzW2ld
KSkgewotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IldlYlNvY2tldCBwcm90b2NvbHMgY29udGFpbiBkdXBsaWNhdGVzOiAnIiArIGVuY29kZVByb3Rv
Y29sU3RyaW5nKHByb3RvY29sc1tpXSkgKyAiJyIsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJXZWJTb2NrZXQgcHJvdG9jb2xzIGNvbnRhaW4gZHVwbGljYXRlczogJyIgKyBl
bmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsgIiciLCBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCkpOwogICAgICAgICAgICAgbV9z
dGF0ZSA9IENMT1NFRDsKICAgICAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAg
IHJldHVybjsKQEAgLTI5OSw3ICsyOTksNyBAQCBib29sIFdlYlNvY2tldDo6c2VuZChjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIEFTU0VSVChtX2NoYW5uZWwp
OwogICAgIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpTZW5kUmVzdWx0IHJlc3VsdCA9IG1f
Y2hhbm5lbC0+c2VuZChtZXNzYWdlKTsKICAgICBpZiAocmVzdWx0ID09IFRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsOjpJbnZhbGlkTWVzc2FnZSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5
cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV2Vic29ja2V0IG1lc3NhZ2UgY29udGFpbnMgaW52YWxp
ZCBjaGFyYWN0ZXIocykuIik7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYnNv
Y2tldCBtZXNzYWdlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyKHMpLiIpOwogICAgICAgICBl
YyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0zNzMsNyAr
MzczLDcgQEAgdm9pZCBXZWJTb2NrZXQ6OmNsb3NlKGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJl
YXNvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIH0KICAgICAgICAgQ1N0cmluZyB1dGY4
ID0gcmVhc29uLnV0ZjgoU3RyaW5nOjpTdHJpY3RDb252ZXJzaW9uUmVwbGFjaW5nVW5wYWlyZWRT
dXJyb2dhdGVzV2l0aEZGRkQpOwogICAgICAgICBpZiAodXRmOC5sZW5ndGgoKSA+IG1heFJlYXNv
blNpemVJbkJ5dGVzKSB7Ci0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCAiV2ViU29ja2V0IGNsb3NlIG1lc3NhZ2UgaXMgdG9vIGxvbmcuIik7CisgICAg
ICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgY2xvc2UgbWVzc2FnZSBp
cyB0b28gbG9uZy4iKTsKICAgICAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQpAQCAtNDM4LDcgKzQzOCw3IEBAIHZvaWQgV2ViU29ja2V0Ojpz
ZXRCaW5hcnlUeXBlKGNvbnN0IFN0cmluZyYgYmluYXJ5VHlwZSkKICAgICAgICAgbV9iaW5hcnlU
eXBlID0gQmluYXJ5VHlwZUFycmF5QnVmZmVyOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICInIiArIGJpbmFyeVR5cGUg
KyAiJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYmluYXJ5VHlwZTsgYmluYXJ5VHlwZSByZW1h
aW5zIHVuY2hhbmdlZC4iKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICInIiArIGJpbmFy
eVR5cGUgKyAiJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYmluYXJ5VHlwZTsgYmluYXJ5VHlw
ZSByZW1haW5zIHVuY2hhbmdlZC4iKTsKIH0KIAogY29uc3QgQXRvbWljU3RyaW5nJiBXZWJTb2Nr
ZXQ6OmludGVyZmFjZU5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IDc1NDgxYjdhOGY2ZDgz
ZjI5YTQwZWFlNDIzODIxOTIxZWRjZWY2MmEuLmVlMjY3ZGYzNGFmYWYzNDc1MTdjM2NmOWZkNDYz
MWFhMjY1YzZlMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTE5NCw3ICsxOTQsNyBAQCB2b2lkIFdlYlNv
Y2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgQVNTRVJUKCFtX3N1
c3BlbmRlZCk7CiAgICAgaWYgKG1fZG9jdW1lbnQpIHsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihtX2RvY3VtZW50LCBtX2lk
ZW50aWZpZXIsIHJlYXNvbik7Ci0gICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV2Vi
U29ja2V0IGNvbm5lY3Rpb24gdG8gJyIgKyBtX2hhbmRzaGFrZS0+dXJsKCkuc3RyaW5nKCkgKyAi
JyBmYWlsZWQ6ICIgKyByZWFzb24pOworICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNvbm5l
Y3Rpb24gdG8gJyIgKyBtX2hhbmRzaGFrZS0+dXJsKCkuc3RyaW5nKCkgKyAiJyBmYWlsZWQ6ICIg
KyByZWFzb24pOwogICAgIH0KIAogICAgIC8vIEh5YmktMTAgc3BlY2lmaWNhdGlvbiBleHBsaWNp
dGx5IHN0YXRlcyB3ZSBtdXN0IG5vdCBjb250aW51ZSB0byBoYW5kbGUgaW5jb21pbmcgZGF0YQpA
QCAtMzM0LDcgKzMzNCw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkRmFpbFNvY2tldFN0
cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSwgY29uc3QgU29jCiAgICAgICAgIEFTU0VS
VChmYWlsaW5nVVJMLmlzTnVsbCgpIHx8IG1faGFuZHNoYWtlLT51cmwoKS5zdHJpbmcoKSA9PSBm
YWlsaW5nVVJMKTsKICAgICAgICAgaWYgKGZhaWxpbmdVUkwuaXNOdWxsKCkpCiAgICAgICAgICAg
ICBmYWlsaW5nVVJMID0gbV9oYW5kc2hha2UtPnVybCgpLnN0cmluZygpOwotICAgICAgICBtX2Rv
Y3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBmYWlsaW5nVVJMKTsKKyAgICAgICAg
bV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTmV0d29ya01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLCBmYWlsaW5nVVJMKTsKICAgICB9CiAgICAgbV9zaG91bGRE
aXNjYXJkUmVjZWl2ZWREYXRhID0gdHJ1ZTsKICAgICBoYW5kbGUtPmRpc2Nvbm5lY3QoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCmluZGV4IDI5OTAyMWM5ZTJmYzM2ZWMyYWJjOGM2ZGU1ZDQ1YThkMjA4YTQ0ZGEuLjFj
MjgyYzMzYWI2ZGUzMTkwMzkwYzZlOTY1ZDQ5OTk1YzhlYmJhNzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAt
MTkwNSw2ICsxOTA1LDcgQEAgSEVBREVSUyArPSBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckNh
bnZhc0luc3RydW1lbnRhdGlvbi5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgg
XAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlVHlwZXMuaCBcCiAgICAgaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckNvdW50ZXJz
LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCBkYmZmYTU0N2U5ZGYwYzM1NTI3ZDFhZDY3OWU4NTY0N2U3MjQzNzBmLi5lN2UyMWRlNTEz
NWU5MGZlM2NkMmU2NzE1NTViZmNjNDU2NjVlODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNTIs
NiArMTUyLDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaCcsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckJhc2VBZ2VudC5oJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JDb25zb2xlVHlwZXMuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZTk5
NDgwYzlkNDAxODI3Y2NiNDJkOWEyN2E4ZDZlNzRlOGU0NzEzOC4uZmJiMTQ2YmFkZmM4Mjg5YTI4
OTQ0YTE3Y2IyZWQ2ZWQ3MmI3NmQ0NCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKQEAgLTc1MDc0LDYgKzc1MDc0LDEwIEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JD
b25zb2xlVHlwZXMuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZl
UGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIgogCQkJCT4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA3MGZlMzc4MzRmNzllNmNmMWNjZDFhNTRjNWRlZGQyNGU5
NDlhOGZiLi5hOWMyMTg2NWU5OTRjMWUxZTk1MjllM2FhYjljNjZiZTk3MTVjYjE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03
OTgsNiArNzk4LDcgQEAKIAkJMkQ5QTI0NzUxNUI5QzJFMzAwRDM0NTI3IC8qIERPTURPTVNlY3Vy
aXR5UG9saWN5SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJEOUEyNDcxMTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGlj
eUludGVybmFsLmggKi87IH07CiAJCTJEOUEyNDc2MTVCOUMyRjQwMEQzNDUyNyAvKiBET01ET01T
ZWN1cml0eVBvbGljeS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QTI0NzAxNUI5QzI5NTAwRDM0NTI3IC8qIERPTURPTVNl
Y3VyaXR5UG9saWN5LmggKi87IH07CiAJCTJEOUYwRTEzMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5l
YXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovOyB9OworCQky
REYyRTlENTE2NkUzOTc1MDAzNUJFRjIgLyogSW5zcGVjdG9yQ29uc29sZVR5cGVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREYyRTlENDE2NkUzOTc0
MDAzNUJFRjIgLyogSW5zcGVjdG9yQ29uc29sZVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkUwODg4RDQxMTQ4ODQ4QTAwQUY0MjY1IC8q
IEpTRE9NRm9ybURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICov
OyB9OwogCQkyRTA4ODhENTExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RDMxMTQ4ODQ4
QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCAqLzsgfTsKIAkJMkUwODg4RTYxMTQ4ODRFMjAw
QUY0MjY1IC8qIEpTRE9NRm9ybURhdGFDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RTUxMTQ4ODRFMjAwQUY0MjY1IC8qIEpTRE9N
Rm9ybURhdGFDdXN0b20uY3BwICovOyB9OwpAQCAtNzk3Niw2ICs3OTc3LDcgQEAKIAkJMkQ5QTI0
NzExNUI5QzI5NTAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5SW50ZXJuYWwuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRE9NU2VjdXJpdHlQb2xpY3lJbnRlcm5h
bC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDlBMjQ3MjE1QjlDMkM3MDBEMzQ1
MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3kubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBET01ET01TZWN1cml0eVBvbGljeS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0
aCA9IGxpbmVhclNSR0IuaWNjOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyREYyRTlE
NDE2NkUzOTc0MDAzNUJFRjIgLyogSW5zcGVjdG9yQ29uc29sZVR5cGVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckNvbnNvbGVUeXBlcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURh
dGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9y
bURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01Gb3Jt
RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0ODg0OEEw
MEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTRE9NRm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0ODUy
LDYgKzE0ODU0LDcgQEAKIAkJCQlGMzMzNUJGNjEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9y
Q29uc29sZUFnZW50LmNwcCAqLywKIAkJCQlGMzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5z
cGVjdG9yQ29uc29sZUFnZW50LmggKi8sCiAJCQkJRjNGNUNGMTAxMkVEODFBODAwODRDNTY5IC8q
IEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCAqLywKKwkJCQkyREYyRTlENDE2NkUz
OTc0MDAzNUJFRjIgLyogSW5zcGVjdG9yQ29uc29sZVR5cGVzLmggKi8sCiAJCQkJMUM4MUI5NTcw
RTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuY3BwICovLAogCQkJCTFDODFC
OTU2MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmggKi8sCiAJCQkJRjMy
NUE0MDgxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50ZXJzLmNwcCAqLywKQEAgLTI1
ODY3LDYgKzI1ODcwLDcgQEAKIAkJCQkzMTc0MUFBRDE2NjM2NjA5MDA4QTVCN0UgLyogU2ltdWxh
dGVkQ2xpY2tPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNUI4QjdDOTE2NTJDNTIyMDAz
NkVGNTUgLyogSlNXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5M0Y3MkFGMzE2NjZFREZDMDAyQTAyQkQgLyogTGF5ZXJQb29sLmggaW4gSGVhZGVycyAqLywK
KwkJCQkyREYyRTlENTE2NkUzOTc1MDAzNUJFRjIgLyogSW5zcGVjdG9yQ29uc29sZVR5cGVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAppbmRleCBkMWRjMGIxY2VlZDMyMTE2YjY3ZjEyNDhi
MjgwYTRmZDRkN2MzYmEzLi5hOWIzNGE2NTZjOGZmZWExZTc5ZTFjZGU2Zjc2ZjhmNjBkNDc5ODRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNS
ZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0
aE5TUmVzb2x2ZXIuY3BwCkBAIC03OCw3ICs3OCw3IEBAIFN0cmluZyBKU0N1c3RvbVhQYXRoTlNS
ZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyYgcHJlZml4KQogICAgICAg
ICBjYWxsVHlwZSA9IG1fY3VzdG9tUmVzb2x2ZXItPm1ldGhvZFRhYmxlKCktPmdldENhbGxEYXRh
KG1fY3VzdG9tUmVzb2x2ZXIuZ2V0KCksIGNhbGxEYXRhKTsKICAgICAgICAgaWYgKGNhbGxUeXBl
ID09IENhbGxUeXBlTm9uZSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFBhc3MgYWN0dWFsIGxp
bmUgbnVtYmVyIGFuZCBzb3VyY2UgVVJMLgotICAgICAgICAgICAgbV9nbG9iYWxPYmplY3QtPmlt
cGwoKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5
cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhhdmUgYSBs
b29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIpOworICAgICAgICAgICAgbV9nbG9iYWxPYmplY3Qt
PmltcGwoKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJYUGF0aE5TUmVzb2x2ZXIgZG9lcyBub3QgaGF2ZSBhIGxvb2t1cE5hbWVzcGFj
ZVVSSSBtZXRob2QuIik7CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgICAgIH0K
ICAgICAgICAgZnVuY3Rpb24gPSBtX2N1c3RvbVJlc29sdmVyLmdldCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNS
ZXNvbHZlci5jcHAKaW5kZXggM2EzZTlmNzJmOWMyYWI3NTUwNTE2ZWU5ZjEzYTM4NDFmNzc5NDVj
NC4uMDFhN2JlNjg4MmJjZjE1MTNlY2Y0NTlkYzBiZTUxYjk0M2Q2NDNmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21YUGF0
aE5TUmVzb2x2ZXIuY3BwCkBAIC02OCw3ICs2OCw3IEBAIFN0cmluZyBWOEN1c3RvbVhQYXRoTlNS
ZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyYgcHJlZml4KQogICAgIH0K
IAogICAgIGlmIChsb29rdXBOYW1lc3BhY2VVUklGdW5jLklzRW1wdHkoKSAmJiAhbV9yZXNvbHZl
ci0+SXNGdW5jdGlvbigpKSB7Ci0gICAgICAgIGFjdGl2ZURPTVdpbmRvdyhCaW5kaW5nU3RhdGU6
Omluc3RhbmNlKCkpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJYUGF0aE5TUmVzb2x2ZXIgZG9lcyBub3Qg
aGF2ZSBhIGxvb2t1cE5hbWVzcGFjZVVSSSBtZXRob2QuIik7CisgICAgICAgIGFjdGl2ZURPTVdp
bmRvdyhCaW5kaW5nU3RhdGU6Omluc3RhbmNlKCkpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlhQYXRoTlNSZXNvbHZlciBkb2VzIG5v
dCBoYXZlIGEgbG9va3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKTsKICAgICAgICAgcmV0dXJuIFN0
cmluZygpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlz
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcAppbmRleCAyNjhjYjY3ZWJm
ODgzZjUzYzAxYTA5M2NhZjhlYzQwNWFiM2QyMDQ3Li44NWVlOTBhYjg0ZDAwNGRlNmJiYWFiMGU4
ZjZkMjY5MzdmZjZiYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcApAQCAtMzI5LDcgKzMy
OSw3IEBAIHN0YXRpYyB2b2lkIGFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZShE
b2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluCiAgICAgaWYgKHBhcnNlcikKICAgICAgICAg
bGluZU51bWJlciA9IHBhcnNlci0+bGluZU51bWJlcigpLm9uZUJhc2VkSW50KCk7CiAKLSAgICBk
b2N1bWVudC0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShIVE1MTWVzc2FnZVNv
dXJjZSwgTG9nTWVzc2FnZVR5cGUsIFRpcE1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgZG9jdW1lbnQt
PnVybCgpLnN0cmluZygpLCBsaW5lTnVtYmVyKTsKKyAgICBkb2N1bWVudC0+ZG9tV2luZG93KCkt
PmNvbnNvbGUoKS0+YWRkTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgVGlwTWVzc2FnZUxldmVs
LCBtZXNzYWdlLCBkb2N1bWVudC0+dXJsKCkuc3RyaW5nKCksIGxpbmVOdW1iZXIpOwogfQogCiB2
b2lkIHJlcG9ydE1lZGlhUXVlcnlXYXJuaW5nSWZOZWVkZWQoRG9jdW1lbnQqIGRvY3VtZW50LCBj
b25zdCBNZWRpYVF1ZXJ5U2V0KiBtZWRpYVF1ZXJ5U2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggY2EyYTI0ZThiY2EwOWM3YTM2Y2JlOTQ1ZmU0NzcwM2YyNTVhMTM4Zi4uZTE0Njg4N2I0
NzUyMjIzNjRjN2U0ZGVlYzEwZjM4MzIzOTcxMTFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC0yNjE1LDcgKzI2MTUsNyBAQCBFdmVudFRhcmdldCogRG9jdW1lbnQ6OmVycm9yRXZlbnRU
YXJnZXQoKQogCiB2b2lkIERvY3VtZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJl
ciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKLSAgICBhZGRDb25z
b2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFjayk7Cisg
ICAgYWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
ZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFjayk7CiB9CiAKIHZv
aWQgRG9jdW1lbnQ6OnNldFVSTChjb25zdCBLVVJMJiB1cmwpCkBAIC0yODg0LDcgKzI4ODQsNyBA
QCB2b2lkIERvY3VtZW50Ojpwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0cmluZyYgZXF1aXYsIGNv
bnN0IFN0cmluZyYgY29udGVudCkKICAgICAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJS
ZWZ1c2VkIHRvIGRpc3BsYXkgJyIgKyB1cmwoKS5zdHJpbmcoKSArICInIGluIGEgZnJhbWUgYmVj
YXVzZSBpdCBzZXQgJ1gtRnJhbWUtT3B0aW9ucycgdG8gJyIgKyBjb250ZW50ICsgIicuIjsKICAg
ICAgICAgICAgICAgICBmcmFtZUxvYWRlci0+c3RvcEFsbExvYWRlcnMoKTsKICAgICAgICAgICAg
ICAgICBmcmFtZS0+bmF2aWdhdGlvblNjaGVkdWxlcigpLT5zY2hlZHVsZUxvY2F0aW9uQ2hhbmdl
KHNlY3VyaXR5T3JpZ2luKCksIGJsYW5rVVJMKCksIFN0cmluZygpKTsKLSAgICAgICAgICAgICAg
ICBhZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgdXJsKCkuc3RyaW5nKCksIDAsIDAsIHJlcXVlc3RJZGVu
dGlmaWVyKTsKKyAgICAgICAgICAgICAgICBhZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCB1cmwoKS5zdHJpbmcoKSwgMCwgMCwgcmVx
dWVzdElkZW50aWZpZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIGlm
IChlcXVhbElnbm9yaW5nQ2FzZShlcXVpdiwgImNvbnRlbnQtc2VjdXJpdHktcG9saWN5IikpCkBA
IC00NzQ0LDE2ICs0NzQ0LDE2IEBAIHZvaWQgRG9jdW1lbnQ6OnBhcnNlRE5TUHJlZmV0Y2hDb250
cm9sSGVhZGVyKGNvbnN0IFN0cmluZyYgZG5zUHJlZmV0Y2hDb250cm9sKQogICAgIG1faGF2ZUV4
cGxpY2l0bHlEaXNhYmxlZEROU1ByZWZldGNoID0gdHJ1ZTsKIH0KIAotdm9pZCBEb2N1bWVudDo6
YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2Fn
ZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2Fs
bFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBEb2N1bWVudDo6
YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyKQogewogICAgIGlmICghaXNDb250ZXh0VGhyZWFkKCkpIHsK
LSAgICAgICAgcG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCB0
eXBlLCBsZXZlbCwgbWVzc2FnZSkpOworICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2Fn
ZVRhc2s6OmNyZWF0ZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlKSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKICAgICBpZiAoRE9NV2luZG93KiB3aW5kb3cgPSBkb21XaW5kb3coKSkgewogICAg
ICAgICBpZiAoQ29uc29sZSogY29uc29sZSA9IHdpbmRvdy0+Y29uc29sZSgpKQotICAgICAgICAg
ICAgY29uc29sZS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3Vy
Y2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAg
ICAgICAgY29uc29sZS0+YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VV
UkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBmNWI4Y2NkMmMwYTExYzhiMDkyYjMxMzliMDAxYmE3
ZDNjMzAwYjExLi5kYTdmYjExMGU2MjI4NWNkNjc4OWZiMzQ5NDA3MDg4NGM5OWJjZmVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaApAQCAtMTIwOSw3ICsxMjA5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIGNvbnN0IEtVUkwmIHZpcnR1YWxVUkwoKSBjb25zdDsgLy8gU2FtZSBhcyB1cmwoKSwgYnV0
IG5lZWRlZCBmb3IgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCB0byBpbXBsZW1lbnQgaXQgd2l0aG91
dCBhIHBlcmZvcm1hbmNlIGxvc3MgZm9yIGRpcmVjdCBjYWxscy4KICAgICB2aXJ0dWFsIEtVUkwg
dmlydHVhbENvbXBsZXRlVVJMKGNvbnN0IFN0cmluZyYpIGNvbnN0OyAvLyBTYW1lIGFzIGNvbXBs
ZXRlVVJMKCkgZm9yIHRoZSBzYW1lIHJlYXNvbiBhcyBhYm92ZS4KIAotICAgIHZpcnR1YWwgdm9p
ZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1
ZXN0SWRlbnRpZmllciA9IDApOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VT
b3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAKICAgICB2aXJ0dWFs
IGRvdWJsZSBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RWxlbWVudC5jcHAKaW5kZXggNGZhNTU5ZThmYjgyYjVjZDI4NDdiM2RhMDIwNzkzNmE1MTcx
NTcxZi4uMzAwYTQwODNlODhiNDllNGFiOTFiMzUyMDJhZmE5NTZmNGJjMzc3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApAQCAtMzM5LDcgKzMzOSw3IEBAIHZvaWQgU2NyaXB0
RWxlbWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogCiAgICAg
ICAgIGRpc3BhdGNoRXJyb3JFdmVudCgpOwogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0
cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiBzY3JpcHQg
bG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7
Ci0gICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNz
YWdlKTsKKyAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmNwcAppbmRleCAwMjFjNmU1ZTQ1ZGUxYmRhYTkzOTdjNWRkNzAxMjgzMTM2OTY1
YmVlLi40NzY2Y2VlNGNjNWM3OGE2OTZkYWMyMmNmNDQ3NDQ0NWM2MzkwYzRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC05Myw3ICs5Myw3
IEBAIHB1YmxpYzoKIAogdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25zb2xlTWVz
c2FnZVRhc2s6OnBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7
Ci0gICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UobV9zb3VyY2UsIG1fdHlwZSwgbV9sZXZl
bCwgbV9tZXNzYWdlKTsKKyAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShtX3NvdXJjZSwg
bV9sZXZlbCwgbV9tZXNzYWdlKTsKIH0KIAogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpCkBAIC0zMjEsMTQgKzMyMSwxNCBAQCB2b2lkIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OnJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
aW50IGxpbgogICAgIG1fcGVuZGluZ0V4Y2VwdGlvbnMuY2xlYXIoKTsKIH0KIAotdm9pZCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJ
ZGVudGlmaWVyKQordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVl
c3RJZGVudGlmaWVyKQogewotICAgIGFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVy
KTsKKyAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGlu
ZU51bWJlciwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAKLXZvaWQgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25n
IHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ss
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgYWRkTWVzc2FnZShzb3Vy
Y2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBTdHJpbmcoKSwgMCwgY2FsbFN0YWNrLCByZXF1ZXN0
SWRlbnRpZmllcik7CisgICAgYWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBTdHJp
bmcoKSwgMCwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYTNmOWI0Nzk4MTkxYjAy
NDQ3ZmM2OWExN2FjOTYwNWRkMGMzYjkzMS4uZDc2NjA3MDE3YTU1MmU2ZTQwNGEzZmE1YjY4M2Y3
YzY3ZWIyYTZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCkBAIC04NCw4ICs4NCw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2FuaXRpemVTY3JpcHRF
cnJvcihTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50JiBsaW5lTnVtYmVyLCBTdHJpbmcmIHNvdXJj
ZVVSTCwgQ2FjaGVkU2NyaXB0KiA9IDApOwogICAgIHZvaWQgcmVwb3J0RXhjZXB0aW9uKGNvbnN0
IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgQ2FjaGVkU2NyaXB0KiA9IDApOwot
ICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCA9IFN0cmluZygpLCB1bnNpZ25lZCBsaW5lTnVtYmVyID0gMCwgUGFzc1JlZlB0cjxTY3JpcHRD
YWxsU3RhY2s+ID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwotICAg
IHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCA9IFN0cmluZygpLCB1bnNpZ25lZCBsaW5l
TnVtYmVyID0gMCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+ID0gMCwgdW5zaWduZWQgbG9u
ZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAp
OwogCiAjaWYgRU5BQkxFKEJMT0IpCiAgICAgUHVibGljVVJMTWFuYWdlciYgcHVibGljVVJMTWFu
YWdlcigpOwpAQCAtMTcwLDIxICsxNzAsMTkgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIGNs
YXNzIEFkZENvbnNvbGVNZXNzYWdlVGFzayA6IHB1YmxpYyBUYXNrIHsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEFkZENvbnNvbGVNZXNzYWdlVGFzaz4gY3JlYXRlKE1l
c3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKKyAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8QWRkQ29u
c29sZU1lc3NhZ2VUYXNrPiBjcmVhdGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgICAgICB7Ci0gICAgICAgICAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IEFkZENvbnNvbGVNZXNzYWdlVGFzayhzb3VyY2UsIHR5cGUsIGxl
dmVsLCBtZXNzYWdlKSk7CisgICAgICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEFkZENvbnNv
bGVNZXNzYWdlVGFzayhzb3VyY2UsIGxldmVsLCBtZXNzYWdlKSk7CiAgICAgICAgIH0KICAgICAg
ICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAg
ICBwcml2YXRlOgotICAgICAgICBBZGRDb25zb2xlTWVzc2FnZVRhc2soTWVzc2FnZVNvdXJjZSBz
b3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQorICAgICAgICBBZGRDb25zb2xlTWVzc2FnZVRhc2soTWVzc2FnZVNvdXJjZSBz
b3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgICAg
ICAgICAgOiBtX3NvdXJjZShzb3VyY2UpCi0gICAgICAgICAgICAsIG1fdHlwZSh0eXBlKQogICAg
ICAgICAgICAgLCBtX2xldmVsKGxldmVsKQogICAgICAgICAgICAgLCBtX21lc3NhZ2UobWVzc2Fn
ZS5pc29sYXRlZENvcHkoKSkKICAgICAgICAgewogICAgICAgICB9CiAgICAgICAgIE1lc3NhZ2VT
b3VyY2UgbV9zb3VyY2U7Ci0gICAgICAgIE1lc3NhZ2VUeXBlIG1fdHlwZTsKICAgICAgICAgTWVz
c2FnZUxldmVsIG1fbGV2ZWw7CiAgICAgICAgIFN0cmluZyBtX21lc3NhZ2U7CiAgICAgfTsKQEAg
LTE5Myw3ICsxOTEsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgS1VSTCYgdmlydHVh
bFVSTCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEtVUkwgdmlydHVhbENvbXBsZXRlVVJMKGNv
bnN0IFN0cmluZyYpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NS
ZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWdu
ZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApID0gMDsKICAgICB2aXJ0dWFsIEV2ZW50VGFy
Z2V0KiBlcnJvckV2ZW50VGFyZ2V0KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRp
b25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMLCBpbnQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSA9IDA7
CiAgICAgYm9vbCBkaXNwYXRjaEVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2Us
IGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0Kik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCBlYWU2ODIwYTll
NzE5ZTI4NWNkN2FmODNiZjQxNTA3ODYxZmYxYmE3Li44NGVhNjA1MGI0NmNhNTY2N2VlNmYxODI0
ZTBmMDdlYzQwZTQzOGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5j
cHAKQEAgLTQ2MSw3ICs0NjEsNyBAQCB2b2lkIHJlcG9ydFZpZXdwb3J0V2FybmluZyhEb2N1bWVu
dCogZG9jdW1lbnQsIFZpZXdwb3J0RXJyb3JDb2RlIGVycm9yQ29kZSwgY29ucwogICAgIGlmICgo
ZXJyb3JDb2RlID09IFVucmVjb2duaXplZFZpZXdwb3J0QXJndW1lbnRWYWx1ZUVycm9yIHx8IGVy
cm9yQ29kZSA9PSBUcnVuY2F0ZWRWaWV3cG9ydEFyZ3VtZW50VmFsdWVFcnJvcikgJiYgcmVwbGFj
ZW1lbnQxLmZpbmQoJzsnKSAhPSBXVEY6Om5vdEZvdW5kKQogICAgICAgICBtZXNzYWdlLmFwcGVu
ZCgiIE5vdGUgdGhhdCAnOycgaXMgbm90IGEgc2VwYXJhdG9yIGluIHZpZXdwb3J0IHZhbHVlcy4g
VGhlIGxpc3Qgc2hvdWxkIGJlIGNvbW1hLXNlcGFyYXRlZC4iKTsKIAotICAgIGRvY3VtZW50LT5k
b21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdl
LCBkb2N1bWVudC0+dXJsKCkuc3RyaW5nKCksIHBhcnNlckxpbmVOdW1iZXIoZG9jdW1lbnQpKTsK
KyAgICBkb2N1bWVudC0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShIVE1MTWVz
c2FnZVNvdXJjZSwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdl
LCBkb2N1bWVudC0+dXJsKCkuc3RyaW5nKCksIHBhcnNlckxpbmVOdW1iZXIoZG9jdW1lbnQpKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dl
YktpdEJsb2JCdWlsZGVyLmNwcAppbmRleCA4MzEyYTU0N2M2Mjg4MDc1ZDE0MWY4NDczMDFjNGI1
NTJmNzhmZGRjLi5kMmI2YmVhYjU0NGZiNWNkNTBhMTRkZWJlZTlmMGM0NGI1N2FmNDY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcApAQCAtOTIsNyAr
OTIsNyBAQCB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25z
dCBTdHJpbmcmIGVuZGluZ1R5cGUpCiB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgQXJyYXlCdWZmZXIqIGFycmF5QnVmZmVyKQogewogICAg
IFN0cmluZyBjb25zb2xlTWVzc2FnZSgiQXJyYXlCdWZmZXIgdmFsdWVzIGFyZSBkZXByZWNhdGVk
IGluIEJsb2IgQ29uc3RydWN0b3IuIFVzZSBBcnJheUJ1ZmZlclZpZXcgaW5zdGVhZC4iKTsKLSAg
ICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgY29udGV4dC0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBj
b25zb2xlTWVzc2FnZSk7CiAKICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJh
dGlvbigiV2ViQ29yZS5CbG9iLmNvbnN0cnVjdG9yLkFycmF5QnVmZmVyT3JWaWV3IiwgQmxvYkNv
bnN0cnVjdG9yQXJyYXlCdWZmZXIsIEJsb2JDb25zdHJ1Y3RvckFycmF5QnVmZmVyT3JWaWV3TWF4
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAK
aW5kZXggMGFmZjI4N2I0NjFiZTU3MjhkMDdiMzBkMGUwODM1MTk5Y2IxOTgxYS4uNmYwODEzNjli
Y2NiNTlmMGI5NDkwZDdkZTYwYzY5ODYyYjE1NmY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xNzQsNyArMTc0LDcgQEAgc3RhdGlj
IGJvb2wgc2hvdWxkQXV0b2ZvY3VzKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1lbnQpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZWxlbWVudC0+ZG9jdW1lbnQoKS0+aXNTYW5k
Ym94ZWQoU2FuZGJveEF1dG9tYXRpY0ZlYXR1cmVzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhp
cyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9u
IHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3Rz
LgotICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBh
dXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlz
IHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQu
Iik7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXV0b2ZvY3VzaW5nIG9u
IGEgZm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5k
IHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGlmIChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDU3OGI5NzBkMDQ5MmYy
ZmQzM2VhOTkyM2YzNTNiNmIwNjhlNDhlOGYuLjU3ZGE3MzZjOTM4ZmIxNDlmZDU2Y2MxMmEyZWIx
MzY1Nzk4Yjc0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAg
LTI1OSw3ICsyNTksNyBAQCBib29sIEhUTUxGb3JtRWxlbWVudDo6dmFsaWRhdGVJbnRlcmFjdGl2
ZWx5KEV2ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAg
IFN0cmluZyBtZXNzYWdlKCJBbiBpbnZhbGlkIGZvcm0gY29udHJvbCB3aXRoIG5hbWU9JyVuYW1l
JyBpcyBub3QgZm9jdXNhYmxlLiIpOwogICAgICAgICAgICAgbWVzc2FnZS5yZXBsYWNlKCIlbmFt
ZSIsIHVuaGFuZGxlZEFzc29jaWF0ZWRFbGVtZW50LT5uYW1lKCkpOwotICAgICAgICAgICAgZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5n
KCkpOworICAgICAgICAgICAgZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBkb2N1bWVudCgpLT51cmwoKS5z
dHJpbmcoKSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAppbmRleCAxMTk1ZGNmZTQxZGZlZDBkY2Y1
MmNlZmE2NTc1YTY3ZDE1ODkxMWY0Li5mOTA2MjhkNzY3YzY4NTcyZGE1Y2NlYjFhY2I5YzIwYWNi
ZGYxMGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcApAQCAt
OTEsNyArOTEsNyBAQCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdAogICAgICAgICBzZXRTYW5kYm94
RmxhZ3ModmFsdWUuaXNOdWxsKCkgPyBTYW5kYm94Tm9uZSA6IFNlY3VyaXR5Q29udGV4dDo6cGFy
c2VTYW5kYm94UG9saWN5KHZhbHVlLCBpbnZhbGlkVG9rZW5zKSk7CiAgICAgICAgIGlmICghaW52
YWxpZFRva2Vucy5pc051bGwoKSkgewogICAgICAgICAgICAgaW50IGxpbmUgPSBkb2N1bWVudCgp
LT5zY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKSA/IGRvY3VtZW50KCktPnNjcmlwdGFibGVEb2N1
bWVudFBhcnNlcigpLT5saW5lTnVtYmVyKCkub25lQmFzZWRJbnQoKSA6IDA7Ci0gICAgICAgICAg
ICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3Nh
bmRib3gnIGF0dHJpYnV0ZTogIiArIGludmFsaWRUb2tlbnMsIGRvY3VtZW50KCktPnVybCgpLnN0
cmluZygpLCBsaW5lKTsKKyAgICAgICAgICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KEhUTUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yIHdoaWxlIHBhcnNp
bmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICIgKyBpbnZhbGlkVG9rZW5zLCBkb2N1bWVudCgp
LT51cmwoKS5zdHJpbmcoKSwgbGluZSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG5hbWUg
PT0gc2VhbWxlc3NBdHRyKSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGFkZGluZyBvciByZW1vdmlu
ZyB0aGUgc2VhbWxlc3MgYXR0cmlidXRlLCB3ZSBuZWVkIHRvIGZvcmNlIHRoZSBjb250ZW50IGRv
Y3VtZW50IHRvIHJlY2FsY3VsYXRlIGl0cyBTdHlsZVJlc29sdmVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKaW5kZXggMzZkNDM0MmM2OTNlY2U5OTEyM2E4YWFkZWRl
ZmRiMWJiZWNjMDllYS4uYzFjNDVjMTA4NDVhZGU5NDA0NGRiMTIyMjU4NjBhYzJmZTM4MWI2OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCkBAIC0yMzAsNyArMjMw
LDcgQEAgYm9vbCBIVE1MVHJhY2tFbGVtZW50OjpjYW5Mb2FkVXJsKGNvbnN0IEtVUkwmIHVybCkK
IAogICAgIGlmICghZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93TWVk
aWFGcm9tU291cmNlKHVybCkpIHsKICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcs
IGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJUZXh0IHRyYWNrIGxvYWQgZGVuaWVkIGJ5
IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LiIpKSk7Ci0gICAgICAgIGRvY3VtZW50KCktPmFkZENv
bnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2Fn
ZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdl
KTsKICAgICAgICAgTE9HKE1lZGlhLCAiSFRNTFRyYWNrRWxlbWVudDo6Y2FuTG9hZFVybCglcykg
LT4gcmVqZWN0ZWQgYnkgQ29udGVudCBTZWN1cml0eSBQb2xpY3kiLCB1cmxGb3JMb2dnaW5nKHVy
bCkudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmNwcAppbmRleCBiNDVmZjQwMDk1YjYxMjkyYjAzMzgwZmVmYzk4Y2QyNzExYzY3NDI5Li45ZjFh
YzhiMzI3OWNiNTczYWYxNTYxYjZlZmNhZjY1NjZlZTQ4N2UyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKQEAg
LTE5MTYsNyArMTkxNiw3IEBAIFBhc3NSZWZQdHI8SW1hZ2VEYXRhPiBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmdldEltYWdlRGF0YShJbWFnZUJ1ZmZlcjo6Q29vcmRpCiB7CiAgICAgaWYgKCFj
YW52YXMoKS0+b3JpZ2luQ2xlYW4oKSkgewogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0
cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIlVuYWJsZSB0byBnZXQgaW1hZ2Ug
ZGF0YSBmcm9tIGNhbnZhcyBiZWNhdXNlIHRoZSBjYW52YXMgaGFzIGJlZW4gdGFpbnRlZCBieSBj
cm9zcy1vcmlnaW4gZGF0YS4iKSkpOwotICAgICAgICBjYW52YXMoKS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgY2FudmFzKCktPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNv
bnNvbGVNZXNzYWdlKTsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CiAgICAgICAgIHJldHVy
biAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDVhOGRjOTVmMzEwYjFhOGRkZmRhNTVlNDU5ODY1ZTli
ZWJjNWJiYmUuLmFkMTVlNmQ4MGQ2ZTIwNTU4NTJkMWIyZjhhODVkNDFlZmI5YTk3NmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcApAQCAtNTI0NSw3ICs1MjQ1LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnBy
aW50V2FybmluZ1RvQ29uc29sZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgRG9jdW1lbnQq
IGRvY3VtZW50ID0gY2FudmFzKCktPmRvY3VtZW50KCk7CiAgICAgaWYgKCFkb2N1bWVudCkKICAg
ICAgICAgcmV0dXJuOwotICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2Fn
ZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGRv
Y3VtZW50LT51cmwoKS5zdHJpbmcoKSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdl
KEhUTUxNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBkb2N1bWVu
dC0+dXJsKCkuc3RyaW5nKCkpOwogfQogCiBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFs
aWRhdGVGcmFtZWJ1ZmZlckZ1bmNQYXJhbWV0ZXJzKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwg
R0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBhdHRhY2htZW50KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9YU1NBdWRpdG9yLmNwcAppbmRleCA5M2JlY2Q5OTM3ZTI5ZDE5MTU2MzZlNDMzMmQz
OTVmNzIyMmYzOGIyLi5hY2ZjYzJmYjllODRlMjViNWQ1ZDQzOTI5YjY3ODljNzBmNDlkZjMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcApAQCAtMjM5LDcgKzIz
OSw3IEBAIHZvaWQgWFNTQXVkaXRvcjo6aW5pdCgpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAo
bV94c3NQcm90ZWN0aW9uID09IFhTU1Byb3RlY3Rpb25JbnZhbGlkKSB7Ci0gICAgICAgICAgICBt
X3BhcnNlci0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciBwYXJzaW5nIGhlYWRlciBY
LVhTUy1Qcm90ZWN0aW9uOiAiICsgaGVhZGVyVmFsdWUgKyAiOiAiICArIGVycm9yRGV0YWlscyAr
ICIgYXQgY2hhcmFjdGVyIHBvc2l0aW9uICIgKyBTdHJpbmc6OmZvcm1hdCgiJXUiLCBlcnJvclBv
c2l0aW9uKSArICIuIFRoZSBkZWZhdWx0IHByb3RlY3Rpb25zIHdpbGwgYmUgYXBwbGllZC4iKTsK
KyAgICAgICAgICAgIG1fcGFyc2VyLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1Y
U1MtUHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVlICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAi
IGF0IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3RyaW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3Np
dGlvbikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CiAg
ICAgICAgICAgICBtX3hzc1Byb3RlY3Rpb24gPSBYU1NQcm90ZWN0aW9uRW5hYmxlZDsKICAgICAg
ICAgfQogCkBAIC0yOTAsNyArMjkwLDcgQEAgdm9pZCBYU1NBdWRpdG9yOjpmaWx0ZXJUb2tlbihI
VE1MVG9rZW4mIHRva2VuKQogICAgIGlmIChkaWRCbG9ja1NjcmlwdCkgewogICAgICAgICAvLyBG
SVhNRTogQ29uc2lkZXIgdXNpbmcgYSBtb3JlIGhlbHBmdWwgY29uc29sZSBtZXNzYWdlLgogICAg
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxp
dGVyYWwoIlJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29k
ZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3QuXG4iKSkpOwotICAgICAgICBtX3BhcnNl
ci0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNz
YWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgbV9w
YXJzZXItPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKIAogICAgICAgICBib29sIGRpZEJsb2Nr
RW50aXJlUGFnZSA9IChtX3hzc1Byb3RlY3Rpb24gPT0gWFNTUHJvdGVjdGlvbkJsb2NrRW5hYmxl
ZCk7CiAgICAgICAgIGlmIChkaWRCbG9ja0VudGlyZVBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db25zb2xlTWVzc2FnZS5oCmluZGV4IDE1N2U2ZjM1YWEzMzA2ZThjYjNkNTgyODU5Mzgy
NjM1OGFiYzRiZTMuLjFjYTczZjExOTQ5MGU1MTU2YmYwYzNmM2E0YThiZmVmNjNmYmY0OGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0zMiw2ICszMiw3
IEBACiAjZGVmaW5lIENvbnNvbGVNZXNzYWdlX2gKIAogI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5o
IgorI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckZyb250ZW5kLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5oCmluZGV4IDUxMWYyYzJkMmI5NzlkM2IwMzZiOGY5NTgzYjQyZGJiMzJjNWNlMTguLjRm
YWVlZGQ1YmMzYjJlZGRhZGIyNTdjODNhZDdjMjdhNjU3NzExODAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhc2VB
Z2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnNvbGVUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnNvbGVUeXBlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlZTRhYmYwZmVmODM5YjgzMmFlNDhjMmQwOGFiNmYw
YTgyNDBjZGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZVR5cGVzLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBJbnNwZWN0b3JDb25zb2xlVHlwZXNfaAorI2RlZmluZSBJbnNwZWN0b3JDb25zb2xlVHlw
ZXNfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gTWVzc2FnZVR5cGUgeworICAgIExv
Z01lc3NhZ2VUeXBlLAorICAgIERpck1lc3NhZ2VUeXBlLAorICAgIERpclhNTE1lc3NhZ2VUeXBl
LAorICAgIFRyYWNlTWVzc2FnZVR5cGUsCisgICAgU3RhcnRHcm91cE1lc3NhZ2VUeXBlLAorICAg
IFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSwKKyAgICBFbmRHcm91cE1lc3NhZ2VUeXBl
LAorICAgIENsZWFyTWVzc2FnZVR5cGUsCisgICAgQXNzZXJ0TWVzc2FnZVR5cGUsCisgICAgVGlt
aW5nTWVzc2FnZVR5cGUKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IENvbnNvbGVUeXBlc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuaAppbmRleCA4MWJjZWVkZWM2OTlmNzcxMmNlZGJiZjQwZDk2OWRhMjk2
MDAxMmJiLi45OGQwZWFiODUzZGViMWRhYWYzZjM3ZDJjMThmZTFlYmM5NmQ5YzVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAg
LTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJJbmpl
Y3RlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgorI2luY2x1ZGUg
Ikluc3BlY3RvckNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgi
CiAjaW5jbHVkZSAiU2NyaXB0QnJlYWtwb2ludC5oIgogI2luY2x1ZGUgIlNjcmlwdERlYnVnTGlz
dGVuZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5jcHAKaW5kZXggNmY2YTlhYjZlZjIxYzYxYjBhN2IwNjBiMjY4YWY5Mzgz
MmMwNjY5Ni4uMzE4ZTM0NmNlZGEyNGIwNWNkYTAzMjI0OWRhMDVhZjM4ODNkYmIxMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JDU1NBZ2VudC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckNhbnZhc0FnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29u
c29sZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXgg
MmM2ZDJhOTI4ZmZlYzhiZWNjZWY1ZDljMGY3NzQ2NzRlYmZiNTBmMi4uMDEyMTkyMjA1NmJlNzI2
MDcwZWFjM2YzOGI0YWY4ODIwNjQ4ZGIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMzUsNiArMzUsNyBAQAogI2lu
Y2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJG
cmFtZS5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
cm9maWxlckFnZW50LmNwcAppbmRleCA2ZDcxODViYzQ4YTgxNmJhZGM4MzA0ZTFjZDdjNmZmNGMz
OTQ3ZjdjLi4zN2VmNzE1Nzc4MGNhNDVjNDUzMmRmOWJmMDMwMWQ0MmNhY2I1ZjQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3Bw
CkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRl
ICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQu
aCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yVmFsdWVzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggODY5
ZjkwZjU0YTc3MjhlOTBiMjliYzkxZDJjMjM5OGViNmNhZjg5Yy4uZDlhYTY3YWNhNWVkMzA1YzI3
MWI1NzQ3ZDk4MGJmOGVkZjUwNDUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
aApAQCAtMTA1LDcgKzEwNSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNp
emFibGUoYm9vbCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1
bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VU
b0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNp
Z25lZCwgY29uc3QgU3RyaW5nJikgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYsIEZyYW1lKikgeyByZXR1
cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggNTcxNmUz
OWQzZTg2OTQ2MTJlYzJlYmU4YTUxOTFlMDM0YWJlYjVmNS4uMmI1NjVlN2ZmOGNjM2VjYjkyZThm
ODdiZmQzZmNhMjc3ZTJhNDBkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CkBAIC0xNDAwLDcgKzE0MDAsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRG
YWlsZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVybCkKICAgICBpZiAoIWZyYW1lKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJO
b3QgYWxsb3dlZCB0byBsb2FkIGxvY2FsIHJlc291cmNlOiAiICsgdXJsKTsKKyAgICBmcmFtZS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwpOwog
fQogCiBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIEZyYW1lTG9hZGVyOjppbml0aWFsUmVxdWVzdCgp
IGNvbnN0CkBAIC0yOTE1LDcgKzI5MTUsNyBAQCBib29sIEZyYW1lTG9hZGVyOjpzaG91bGRJbnRl
cnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyhjb25zdCBTdHJpbmcmIGNvbnRlbnQsIGNvbgogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfSBlbHNlIHsKICAgICAgICAgU3RyaW5nIG1lc3Nh
Z2UgPSAiSW52YWxpZCAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXIgZW5jb3VudGVyZWQgd2hlbiBs
b2FkaW5nICciICsgdXJsLnN0cmluZygpICsgIic6ICciICsgY29udGVudCArICInIGlzIG5vdCBh
IHJlY29nbml6ZWQgZGlyZWN0aXZlLiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3JlZC4iOwotICAg
ICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgdXJsLnN0cmlu
ZygpLCAwLCAwLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UsIHVybC5zdHJpbmcoKSwgMCwgMCwgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIH0K
IAogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmlu
ZGV4IGUyMjQ3ZDI1NGM3Zjg2MDllZjZlYTJhOTc3M2I1ZjlmN2QxYjY5NWEuLmU2N2VkNTkwNDY3
ODA4ODI4NGNmMzY0OTAyMGUxMzFkYmEwMjhjMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcApAQCAtMjgyLDcgKzI4Miw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlmeUZp
bmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICAgICAgZXJyb3JFdmVudFNlbmRl
cigpLmRpc3BhdGNoRXZlbnRTb29uKHRoaXMpOwogCiAgICAgICAgIERFRklORV9TVEFUSUNfTE9D
QUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIGlt
YWdlIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4i
KSkpOwotICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOwor
ICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICAgICAgQVNTRVJUKCFtX2hh
c1BlbmRpbmdMb2FkRXZlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TWFpblJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3Vy
Y2VMb2FkZXIuY3BwCmluZGV4IDY3OGE5OWQ1OWEyM2U3YzI5MjVmNDQ5YzM4Nzg3MjJmNGNiZGIw
MTUuLmRmMDlmMGNjZDA5MTUzYTJjZDFkMWNkZGMwMmEzMWEyMzUxY2Q2YmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zNjcsNyArMzY3LDcg
QEAgdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByKQogICAgICAgICBpZiAoZnJhbWVMb2FkZXIoKS0+c2hvdWxkSW50ZXJy
dXB0TG9hZEZvclhGcmFtZU9wdGlvbnMoY29udGVudCwgci51cmwoKSwgaWRlbnRpZmllcigpKSkg
ewogICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZUFmdGVyWEZy
YW1lT3B0aW9uc0RlbmllZChtX2RvY3VtZW50TG9hZGVyLT5mcmFtZSgpLCBkb2N1bWVudExvYWRl
cigpLCBpZGVudGlmaWVyKCksIHIpOwogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiUmVm
dXNlZCB0byBkaXNwbGF5ICciICsgci51cmwoKS5zdHJpbmcoKSArICInIGluIGEgZnJhbWUgYmVj
YXVzZSBpdCBzZXQgJ1gtRnJhbWUtT3B0aW9ucycgdG8gJyIgKyBjb250ZW50ICsgIicuIjsKLSAg
ICAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCBtZXNzYWdlLCByLnVybCgpLnN0cmluZygpLCAwLCAwLCBpZGVudGlmaWVyKCkpOworICAg
ICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgci51
cmwoKS5zdHJpbmcoKSwgMCwgMCwgaWRlbnRpZmllcigpKTsKIAogICAgICAgICAgICAgY2FuY2Vs
KCk7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRD
b250ZW50Q2hlY2tlci5jcHAKaW5kZXggMzgxOGQ1ZmIwMWFlMTJhNjQzMTVjNGFmZDQ5YzQzOGVi
ZTY5ZDBhMS4uYjhjMjkzZGNiM2IzODBjMzlkNWNmNDE4N2Q1MjViMTliZWIyYjQyYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcApAQCAtMTAyLDcg
KzEwMiw3IEBAIHZvaWQgTWl4ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyhib29sIGFsbG93
ZWQsIGNvbnN0IFN0cmluZyYgYWN0aW9uLCBjb25zdCBLCiAgICAgLy8gRklYTUU6IFdoeSBkb2Vz
IHRoaXMgbWVzc2FnZSBub3QgaGF2ZSBhIHNvdXJjZSBVUkwgb3IgYSBsaW5lIG51bWJlcj8gd2Vi
a2l0Lm9yZy9iLzk3OTc5CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBTdHJpbmc6OmZvcm1hdCgiJXNU
aGUgcGFnZSBhdCAlcyAlcyBpbnNlY3VyZSBjb250ZW50IGZyb20gJXMuXG4iLAogICAgICAgICAo
YWxsb3dlZCA/ICIiIDogIltibG9ja2VkXSAiKSwgYXNVVEY4KG1fZnJhbWUtPmRvY3VtZW50KCkt
PnVybCgpKS5kYXRhKCksIGFjdGlvbi51dGY4KCkuZGF0YSgpLCBhc1VURjgodGFyZ2V0KS5kYXRh
KCkpOwotICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNz
YWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7
CisgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VT
b3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCmluZGV4
IDdlMTRiNDMzNDljODUwYTE5NWI2NmMyNTkwNjEzNmQ4YjgwZjZmNDAuLmY2YWVmNDlmMDkwYjk3
NzdlN2RiZTllNjAxOTkxZDI4YzIwMTI2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0
VHJhY2tMb2FkZXIuY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6
OmNvcnNQb2xpY3lQcmV2ZW50ZWRMb2FkKCkKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0
cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiB0ZXh0IHRy
YWNrIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4i
KSkpOwogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4obV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNv
bGVNZXNzYWdlKTsKKyAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogICAgIG1fc3RhdGUgPSBG
YWlsZWQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggMTE4ZWUxYTVkODVkMzcwZDM2NTA1NWYz
MTVlMzA2Zjg2YzRhMjIyNi4uYWYyYzk1MmRhOGRkYmEwMzlmOTQ2NjQ3MzEyYTJmOWYyM2Q4NzM3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVHcm91cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxp
Y2F0aW9uQ2FjaGVHcm91cC5jcHAKQEAgLTQ3NCw3ICs0NzQsNyBAQCB2b2lkIEFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6YWJvcnQoRnJhbWUqIGZyYW1lKQogICAgIGlmIChtX2NvbXBsZXRpb25UeXBl
ICE9IE5vbmUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRD
b25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBUaXBNZXNz
YWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBkb3dubG9hZCBwcm9jZXNzIHdhcyBhYm9ydGVk
LiIpOworICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3Nh
Z2VTb3VyY2UsIFRpcE1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIGRvd25sb2FkIHBy
b2Nlc3Mgd2FzIGFib3J0ZWQuIik7CiAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKIH0KIApAQCAt
NTY4LDcgKzU2OCw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNlaXZlUmVz
cG9uc2UoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzCiAKICAgICBpZiAocmVzcG9u
c2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyIHx8IHJlc3BvbnNlLnVybCgpICE9IG1fY3Vy
cmVudEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkpIHsKICAgICAgICAgaWYgKCh0eXBlICYg
QXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpFeHBsaWNpdCkgfHwgKHR5cGUgJiBBcHBsaWNhdGlv
bkNhY2hlUmVzb3VyY2U6OkZhbGxiYWNrKSkgewotICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBi
ZWNhdXNlICIgKyBtX2N1cnJlbnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpLnN0cmluZygp
ICsgCisgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShP
dGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUg
dXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgbV9jdXJyZW50SGFuZGxlLT5maXJzdFJlcXVlc3Qo
KS51cmwoKS5zdHJpbmcoKSArIAogICAgICAgICAgICAgICAgICgocmVzcG9uc2UuaHR0cFN0YXR1
c0NvZGUoKSAvIDEwMCAhPSAyKSA/ICIgY291bGQgbm90IGJlIGZldGNoZWQuIiA6ICIgd2FzIHJl
ZGlyZWN0ZWQuIikpOwogICAgICAgICAgICAgLy8gTm90ZSB0aGF0IGNhY2hlVXBkYXRlRmFpbGVk
KCkgY2FuIGNhdXNlIHRoZSBjYWNoZSBncm91cCB0byBiZSBkZWxldGVkLgogICAgICAgICAgICAg
Y2FjaGVVcGRhdGVGYWlsZWQoKTsKQEAgLTY0NSw3ICs2NDUsNyBAQCB2b2lkIEFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBkb3Vi
bGUgZmluaQogICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgYnJlYWsgZWFybGllciBhbmQgcHJldmVu
dCByZWRvd25sb2FkaW5nIG9uIGxhdGVyIHBhZ2UgbG9hZHM/CiAgICAgaWYgKG1fb3JpZ2luUXVv
dGFFeGNlZWRlZFByZXZpb3VzbHkgJiYgbV9hdmFpbGFibGVTcGFjZUluUXVvdGEgPCBtX2NhY2hl
QmVpbmdVcGRhdGVkLT5lc3RpbWF0ZWRTaXplSW5TdG9yYWdlKCkpIHsKICAgICAgICAgbV9jdXJy
ZW50UmVzb3VyY2UgPSAwOwotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90
YSB3YXMgZXhjZWVkZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNh
dGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVk
LiIpOwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAg
fQpAQCAtNjc4LDcgKzY3OCw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGYWls
KFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlRXJyb3ImCiAgICAgbV9wZW5k
aW5nRW50cmllcy5yZW1vdmUodXJsKTsKIAogICAgIGlmICgodHlwZSAmIEFwcGxpY2F0aW9uQ2Fj
aGVSZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291cmNl
OjpGYWxsYmFjaykpIHsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyB1cmwuc3Ry
aW5nKCkgKyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1
bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgdXJs
LnN0cmluZygpICsgIiBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iKTsKICAgICAgICAgLy8gTm90ZSB0
aGF0IGNhY2hlVXBkYXRlRmFpbGVkKCkgY2FuIGNhdXNlIHRoZSBjYWNoZSBncm91cCB0byBiZSBk
ZWxldGVkLgogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgIH0gZWxzZSB7CkBAIC03
MDcsMTMgKzcwNywxMyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1h
bmlmZXN0UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcgogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyKSB7Ci0gICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNv
dXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2Fj
aGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRv
Y3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hl
ZC4iKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAogICAgIGlmIChyZXNwb25zZS51cmwoKSAhPSBtX21hbmlmZXN0SGFuZGxlLT5maXJzdFJl
cXVlc3QoKS51cmwoKSkgewotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLCBi
ZWNhdXNlIGEgcmVkaXJlY3Rpb24gd2FzIGF0dGVtcHRlZC4iKTsKKyAgICAgICAgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRj
aGVkLCBiZWNhdXNlIGEgcmVkaXJlY3Rpb24gd2FzIGF0dGVtcHRlZC4iKTsKICAgICAgICAgY2Fj
aGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTczMyw3ICs3MzMs
NyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0
KCkKIAogICAgIGlmICghaXNVcGdyYWRlQXR0ZW1wdCAmJiAhbV9tYW5pZmVzdFJlc291cmNlKSB7
CiAgICAgICAgIC8vIFRoZSBzZXJ2ZXIgcmV0dXJuZWQgMzA0IE5vdCBNb2RpZmllZCBldmVuIHRo
b3VnaCB3ZSBkaWRuJ3Qgc2VuZCBhIGNvbmRpdGlvbmFsIHJlcXVlc3QuCi0gICAgICAgIG1fZnJh
bWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9n
TWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZl
c3QgY291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVzZSBvZiBhbiB1bmV4cGVjdGVkIDMwNCBOb3Qg
TW9kaWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVz
ZSBvZiBhbiB1bmV4cGVjdGVkIDMwNCBOb3QgTW9kaWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpOwog
ICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAt
NzU5LDcgKzc1OSw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2Fk
aW5nTWFuaWZlc3QoKQogICAgIE1hbmlmZXN0IG1hbmlmZXN0OwogICAgIGlmICghcGFyc2VNYW5p
ZmVzdChtX21hbmlmZXN0VVJMLCBtX21hbmlmZXN0UmVzb3VyY2UtPmRhdGEoKS0+ZGF0YSgpLCBt
X21hbmlmZXN0UmVzb3VyY2UtPmRhdGEoKS0+c2l6ZSgpLCBtYW5pZmVzdCkpIHsKICAgICAgICAg
Ly8gQXQgdGhlIHRpbWUgb2YgdGhpcyB3cml0aW5nLCBsYWNrIG9mICJDQUNIRSBNQU5JRkVTVCIg
c2lnbmF0dXJlIGlzIHRoZSBvbmx5IHJlYXNvbiBmb3IgcGFyc2VNYW5pZmVzdCB0byBmYWlsLgot
ICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9u
IENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBD
QUNIRSBNQU5JRkVTVD8iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0
aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0
aCBDQUNIRSBNQU5JRkVTVD8iKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KQEAgLTk0OCw3ICs5NDgsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKCkKICAgICAgICAgICAgICAgICAvLyBXZSBy
YW4gb3V0IG9mIHNwYWNlIGZvciB0aGlzIG9yaWdpbi4gRmFsbCBkb3duIHRvIHRoZSBub3JtYWwg
ZXJyb3IgaGFuZGxpbmcKICAgICAgICAgICAgICAgICAvLyBhZnRlciByZWNvcmRpbmcgdGhpcyBz
dGF0ZS4KICAgICAgICAgICAgICAgICBtX29yaWdpblF1b3RhRXhjZWVkZWRQcmV2aW91c2x5ID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3
YXMgZXhjZWVkZWQuIik7CisgICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFw
cGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhj
ZWVkZWQuIik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChmYWlsdXJlUmVhc29u
ID09IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpUb3RhbFF1b3RhUmVhY2hlZCAmJiAhbV9jYWxs
ZWRSZWFjaGVkTWF4QXBwQ2FjaGVTaXplKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA0ZmJhZjQ3N2M3NTBmMTNm
OGZmNjhiMTM2YmU5NzFiYWQ1OTE3ZDU3Li5jNThlMjIwNTQ1MDczNTQwZjNkY2E1ZTdiNmRlNGEz
ZmU2MjJhZTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTY0MSw3ICs2NDEsNyBAQCB2b2lkIENhY2hlZFJlc291
cmNlTG9hZGVyOjpwcmludEFjY2Vzc0RlbmllZE1lc3NhZ2UoY29uc3QgS1VSTCYgdXJsKSBjb25z
dAogICAgICAgICBtZXNzYWdlID0gIlVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMICIgKyB1cmwu
c3RyaW5nKCkgKyAiIGZyb20gZnJhbWUgd2l0aCBVUkwgIiArIG1fZG9jdW1lbnQtPnVybCgpLnN0
cmluZygpICsgIi4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLlxuIjsK
IAogICAgIC8vIEZJWE1FOiBwcm92aWRlIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgVVJMLgotICAg
IGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBmcmFt
ZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6c2V0QXV0b0xvYWRJbWFnZXMoYm9vbCBlbmFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaAppbmRleCAzNWMzMjMyOGMzNDNhMGY1NjkzMjk2ZDcwNTcxMTc3MzA4YmFhYjI5Li45Yjgw
MjNkOTFiZDFiNTU2ODY1MTgxNWU0NzhkYTVmYWFjNzIxYzkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKQEAgLTEzNCw3ICsxMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKSA9IDA7CiAgICAgICAgIAotICAg
ICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGlu
dCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKSA9IDA7CisgICAgICAgIHZpcnR1
YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VJRCkgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVV
bmxvYWRDb25maXJtUGFuZWwoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVV
bmxvYWRDb25maXJtUGFuZWwoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBGcmFtZSogZnJhbWUpID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCmluZGV4IGM5YmJmZDVmMjE3MGYzNGZiYzBhY2IwYTll
ODM0YjU0NmM3ZjlkMTIuLjU4MjY0NTRkMWQzNGFhYTdlNWRmNTdlNWYxNDgxNzQwMjVkNGUxMTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkZy
YW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q29uc29sZUluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVUeXBl
cy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJNZW1vcnlJ
bmZvLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtMTMzLDEyICsxMzQsMTIgQEAgc3RhdGljIHZv
aWQgcHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VMZXZlbAogICAgIHByaW50ZigiJXMgJXM6Iiwgc291cmNlU3RyaW5nLCBsZXZlbFN0
cmluZyk7CiB9CiAKLXZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCit2b2lkIENvbnNv
bGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0
YWNrKQogewotICAgIGFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgU3Ry
aW5nKCksIDAsIGNhbGxTdGFjaywgMCk7CisgICAgYWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBt
ZXNzYWdlLCBTdHJpbmcoKSwgMCwgY2FsbFN0YWNrLCAwKTsKIH0KIAotdm9pZCBDb25zb2xlOjph
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdl
TGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiB1cmwsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ss
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIENvbnNvbGU6OmFkZE1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHVybCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllcikKIHsKICAgICBpZiAobXV0ZUNvdW50ICYmIHNvdXJjZSAhPSBDb25zb2xlQVBJTWVz
c2FnZVNvdXJjZSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTQ3LDEyICsxNDgsMTIgQEAgdm9pZCBD
b25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBl
LCBNZXNzYWdlTGV2ZWwgbGUKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAg
IHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIHR5
cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCB1cmwpOworICAgIHBhZ2UtPmNocm9tZSgp
LT5jbGllbnQoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBs
aW5lTnVtYmVyLCB1cmwpOwogCiAgICAgaWYgKGNhbGxTdGFjaykKLSAgICAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIHNvdXJjZSwgdHlwZSwg
bGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgc291cmNl
LCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50
aWZpZXIpOwogICAgIGVsc2UKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRN
ZXNzYWdlVG9Db25zb2xlKHBhZ2UsIHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwg
bGluZU51bWJlciwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgc291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZU51bWJlciwgcmVxdWVzdElkZW50aWZpZXIpOwog
CiAgICAgaWYgKCFDb25zb2xlOjpzaG91bGRQcmludEV4Y2VwdGlvbnMoKSkKICAgICAgICAgcmV0
dXJuOwpAQCAtMTYzLDExICsxNjQsMTAgQEAgdm9pZCBDb25zb2xlOjphZGRNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGUKICAgICBw
cmludGYoIiAlc1xuIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKIH0KIAotdm9pZCBDb25zb2xl
OjphZGRNZXNzYWdlKE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgU2NyaXB0
U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gcHJwQXJndW1lbnRzLCBi
b29sIGFjY2VwdE5vQXJndW1lbnRzLCBib29sIHByaW50VHJhY2UpCitzdGF0aWMgdm9pZCBpbnRl
cm5hbEFkZE1lc3NhZ2UoUGFnZSogcGFnZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVs
IGxldmVsLCBTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBw
cnBBcmd1bWVudHMsIGJvb2wgcHJpbnRFeGNlcHRpb25zLCBib29sIGFjY2VwdE5vQXJndW1lbnRz
ID0gZmFsc2UsIGJvb2wgcHJpbnRUcmFjZSA9IGZhbHNlKQogewogICAgIFJlZlB0cjxTY3JpcHRB
cmd1bWVudHM+IGFyZ3VtZW50cyA9IHBycEFyZ3VtZW50czsKIAotICAgIFBhZ2UqIHBhZ2UgPSB0
aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKQEAgLTE3OCw3
ICsxNzgsNyBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVR5cGUgdHlwZSwgTWVz
c2FnZUxldmVsIGxldmVsLCBTY3JpcHRTdGF0ZSogc3RhdAogICAgIFJlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNhbGxTdGFjayhjcmVhdGVTY3JpcHRDYWxsU3RhY2soc3RhdGUsIHN0YWNrU2l6ZSkp
OwogICAgIGNvbnN0IFNjcmlwdENhbGxGcmFtZSYgbGFzdENhbGxlciA9IGNhbGxTdGFjay0+YXQo
MCk7CiAKLSAgICBpZiAoc2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpIHsKKyAgICBpZiAocHJpbnRF
eGNlcHRpb25zKSB7CiAgICAgICAgIHByaW50U291cmNlVVJMQW5kTGluZShsYXN0Q2FsbGVyLnNv
dXJjZVVSTCgpLCAwKTsKICAgICAgICAgcHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgo
Q29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIGxldmVsKTsKIApAQCAtMjAwLDcgKzIwMCw3IEBAIHZv
aWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2
ZWwsIFNjcmlwdFN0YXRlKiBzdGF0CiAKICAgICBTdHJpbmcgbWVzc2FnZTsKICAgICBpZiAoYXJn
dW1lbnRzLT5nZXRGaXJzdEFyZ3VtZW50QXNTdHJpbmcobWVzc2FnZSkpCi0gICAgICAgIHBhZ2Ut
PmNocm9tZSgpLT5jbGllbnQoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVzc2Fn
ZVNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxhc3RDYWxsZXIubGluZU51bWJlcigpLCBs
YXN0Q2FsbGVyLnNvdXJjZVVSTCgpKTsKKyAgICAgICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgp
LT5hZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBsZXZlbCwgbWVz
c2FnZSwgbGFzdENhbGxlci5saW5lTnVtYmVyKCksIGxhc3RDYWxsZXIuc291cmNlVVJMKCkpOwog
CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2Us
IENvbnNvbGVBUElNZXNzYWdlU291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc3RhdGUsIGFy
Z3VtZW50cy5yZWxlYXNlKCkpOwogfQpAQCAtMjEzLDcgKzIxMyw3IEBAIHZvaWQgQ29uc29sZTo6
ZGVidWcoU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJn
dW1lbnRzKQogCiB2b2lkIENvbnNvbGU6OmVycm9yKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1Jl
ZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBhZGRNZXNzYWdlKExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50
ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCBzdGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9CiAKIHZvaWQg
Q29uc29sZTo6aW5mbyhTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPiBhcmd1bWVudHMpCkBAIC0yMjMsMzIgKzIyMywzMiBAQCB2b2lkIENvbnNvbGU6OmluZm8o
U2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
KQogCiB2b2lkIENvbnNvbGU6OmxvZyhTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgYWRkTWVzc2FnZShMb2dNZXNzYWdlVHlw
ZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1l
c3NhZ2UocGFnZSgpLCBMb2dNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJn
dW1lbnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6d2Fy
bihTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVu
dHMpCiB7Ci0gICAgYWRkTWVzc2FnZShMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZl
bCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9n
TWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHNob3Vs
ZFByaW50RXhjZXB0aW9ucygpKTsKIH0KIAogdm9pZCBDb25zb2xlOjpkaXIoU2NyaXB0U3RhdGUq
IHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGFk
ZE1lc3NhZ2UoRGlyTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50
cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgRGlyTWVzc2FnZVR5cGUsIExvZ01l
c3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpOwog
fQogCiB2b2lkIENvbnNvbGU6OmRpcnhtbChTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8
U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgYWRkTWVzc2FnZShEaXJYTUxNZXNz
YWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5h
bEFkZE1lc3NhZ2UocGFnZSgpLCBEaXJYTUxNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBz
dGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9CiAKIHZvaWQgQ29u
c29sZTo6Y2xlYXIoU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1lc3NhZ2UoQ2xlYXJNZXNzYWdlVHlwZSwgTG9nTWVz
c2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlKTsKKyAgICBpbnRlcm5hbEFkZE1lc3Nh
Z2UocGFnZSgpLCBDbGVhck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1
bWVudHMsIHNob3VsZFByaW50RXhjZXB0aW9ucygpLCB0cnVlKTsKIH0KIAogdm9pZCBDb25zb2xl
Ojp0cmFjZShTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMpCiB7Ci0gICAgYWRkTWVzc2FnZShUcmFjZU1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdl
TGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHRydWUsIHNob3VsZFByaW50RXhjZXB0aW9ucygpKTsK
KyAgICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBUcmFjZU1lc3NhZ2VUeXBlLCBMb2dNZXNz
YWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHNob3VsZFByaW50RXhjZXB0aW9ucygpLCB0cnVl
LCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6YXNzZXJ0Q29u
ZGl0aW9uKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFy
Z3VtZW50cywgYm9vbCBjb25kaXRpb24pCkBAIC0yNTYsNyArMjU2LDcgQEAgdm9pZCBDb25zb2xl
Ojphc3NlcnRDb25kaXRpb24oU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4gYXIKICAgICBpZiAoY29uZGl0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBh
ZGRNZXNzYWdlKEFzc2VydE1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFy
Z3VtZW50cywgdHJ1ZSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgQXNzZXJ0TWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmlu
dEV4Y2VwdGlvbnMoKSwgdHJ1ZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6Y291bnQoU2NyaXB0U3Rh
dGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnNvbGUuaAppbmRleCAxZWYzMjZmZDU1NGM1Y2NkYTRmZTcwOTM4MDVkZjE5OTdjMTFlZjI5
Li5iYTI4YmVlMzk5N2FlYjI0N2EwZjg1ZGJiNzc3YmViNTkxZGZjMmI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnNvbGUuaApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAj
aW5jbHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xl
VHlwZXMuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRQ
cm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKQEAgLTU2LDggKzU3LDggQEAgcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvbnNvbGU+IGNyZWF0ZShGcmFtZSogZnJhbWUp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDb25zb2xlKGZyYW1lKSk7IH0KICAgICB2aXJ0dWFsIH5D
b25zb2xlKCk7CiAKLSAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5
cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCA9IFN0cmluZygpLCB1bnNpZ25lZCBsaW5lTnVtYmVyID0gMCwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+ID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAp
OwotICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
Pik7CisgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCA9IFN0cmluZygpLCB1
bnNpZ25lZCBsaW5lTnVtYmVyID0gMCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+ID0gMCwg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAgIHZvaWQgYWRkTWVzc2Fn
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKIAogICAgIHZvaWQgZGVidWcoU2NyaXB0U3RhdGUq
LCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwogICAgIHZvaWQgZXJyb3IoU2NyaXB0U3Rh
dGUqLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwpAQCAtOTMsNyArOTQsNiBAQCBwdWJs
aWM6CiAKIHByaXZhdGU6CiAgICAgaW5saW5lIFBhZ2UqIHBhZ2UoKSBjb25zdDsKLSAgICB2b2lk
IGFkZE1lc3NhZ2UoTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgU2NyaXB0U3RhdGUqLCBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIGJvb2wgYWNjZXB0Tm9Bcmd1bWVudHMgPSBmYWxzZSwg
Ym9vbCBwcmludFRyYWNlID0gZmFsc2UpOwogCiAgICAgZXhwbGljaXQgQ29uc29sZShGcmFtZSop
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaAppbmRleCBiMzgzNDAwY2EyY2VmZjdmNmVl
MzA4MmJhM2IxM2Y1MTMzODliZjIyLi41YmVjZjA2MzUxNDFiYmNlNmYyZmE0YmUxMjg1ZWUwZTdj
NGI1ODQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKQEAgLTM3LDIxICszNyw2IEBA
IGVudW0gTWVzc2FnZVNvdXJjZSB7CiAgICAgT3RoZXJNZXNzYWdlU291cmNlLAogfTsKIAotLy8g
RklYTUU6IG1ha2UgdGhpcyBlbnVtIHByaXZhdGUgdG8gaW5zcGVjdG9yLCByZW1vdmUgaXQgZnJv
bSBjbGllbnQgY2FsbGJhY2tzLgotLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2MzcxCi1lbnVtIE1lc3NhZ2VUeXBlIHsKLSAgICBMb2dNZXNzYWdlVHlwZSwKLSAg
ICBEaXJNZXNzYWdlVHlwZSwKLSAgICBEaXJYTUxNZXNzYWdlVHlwZSwKLSAgICBUcmFjZU1lc3Nh
Z2VUeXBlLAotICAgIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZSwKLSAgICBTdGFydEdyb3VwQ29sbGFw
c2VkTWVzc2FnZVR5cGUsCi0gICAgRW5kR3JvdXBNZXNzYWdlVHlwZSwKLSAgICBDbGVhck1lc3Nh
Z2VUeXBlLAotICAgIEFzc2VydE1lc3NhZ2VUeXBlLAotICAgIFRpbWluZ01lc3NhZ2VUeXBlCi19
OwotCiBlbnVtIE1lc3NhZ2VMZXZlbCB7CiAgICAgVGlwTWVzc2FnZUxldmVsLAogICAgIExvZ01l
c3NhZ2VMZXZlbCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3Vy
aXR5UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5
LmNwcAppbmRleCA0OTk2MzAyZTZhMDExOTFkMjNlZmFhYmJhMDZjNDM1MzMzNWU1M2Q5Li40Yjkw
ODEyZWQ0MzkzNDM3YmU1OWU2M2UwODIxYTQzOGM5NTFlMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBAIC0xNzAzLDcgKzE3MDMsNyBAQCB2
b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6bG9nVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBjbwogICAgICAgICBpZiAoY2FsbFN0YWNrICYmICFjYWxsU3Rh
Y2stPnNpemUoKSkKICAgICAgICAgICAgIGNhbGxTdGFjayA9IDA7CiAgICAgfQotICAgIG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNv
bnRleHRMaW5lLm9uZUJhc2VkSW50KCksIGNhbGxTdGFjayk7CisgICAgbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBtZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZS5vbmVCYXNlZEludCgpLCBj
YWxsU3RhY2spOwogfQogCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0QmxvY2tl
ZFNjcmlwdEV4ZWN1dGlvblRvSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCAzZDgyNTk5ZmJhYTgyM2E2ZmFm
NjBhZDBiNmQ5Y2IzNTMwYjkwYTIzLi5mYzI1OTI3NzFjZjlmYzllYzEzMGFmZjUwOWRkZWJmOWUz
NDA5YTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC04ODcsNyArODg3LDcgQEAg
dm9pZCBET01XaW5kb3c6OmRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKFNlY3Vy
aXR5T3JpZ2luKiBpbnRlbmRlZFRhcmcKICAgICAgICAgaWYgKCFpbnRlbmRlZFRhcmdldE9yaWdp
bi0+aXNTYW1lU2NoZW1lSG9zdFBvcnQoZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsK
ICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlVuYWJsZSB0byBwb3N0IG1lc3NhZ2UgdG8g
IiArIGludGVuZGVkVGFyZ2V0T3JpZ2luLT50b1N0cmluZygpICsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIi4gUmVjaXBpZW50IGhhcyBvcmlnaW4gIiArIGRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCktPnRvU3RyaW5nKCkgKyAiLlxuIjsKLSAgICAgICAgICAgIGNvbnNvbGUoKS0+
YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgbWVzc2FnZSwgc3RhY2tUcmFjZSk7CisgICAgICAgICAgICBjb25zb2xlKCktPmFkZE1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgc3RhY2tU
cmFjZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC0xNzY0LDcg
KzE3NjQsNyBAQCB2b2lkIERPTVdpbmRvdzo6cHJpbnRFcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQogCiAgICAgLy8gRklYTUU6IEFkZCBhcmd1bWVudHMgc28gdGhhdCB3ZSBjYW4g
cHJvdmlkZSBhIGNvcnJlY3Qgc291cmNlIFVSTCBhbmQgbGluZSBudW1iZXIuCiAgICAgUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhTY3Jp
cHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOwotICAgIGNvbnNv
bGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSwgc3RhY2tUcmFjZS5yZWxlYXNlKCkpOworICAgIGNvbnNvbGUo
KS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdl
LCBzdGFja1RyYWNlLnJlbGVhc2UoKSk7CiB9CiAKIFN0cmluZyBET01XaW5kb3c6OmNyb3NzRG9t
YWluQWNjZXNzRXJyb3JNZXNzYWdlKERPTVdpbmRvdyogYWN0aXZlV2luZG93KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmNwcAppbmRleCA2MTAxNzAyMDg1Y2MyMzg3ZTMxYjVlMTkzYjljMzI5
YTE4NGVkY2E5Li40MDFkZjM2ZjNjM2ExODM2ZTNlNjcwYmEyYmQ2ZWI0ZWU5MTdkMjg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgRXZl
bnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwCiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZChjaGFyc2V0KTsKICAg
ICAgICAgICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiXCIpIHRoYXQgaXMgbm90IFVURi04LiBB
Ym9ydGluZyB0aGUgY29ubmVjdGlvbi4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUg
bWlzc2luZyB0aGUgc291cmNlIGxpbmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOwogICAgICAgICB9CiAgICAg
fSBlbHNlIHsKICAgICAgICAgLy8gVG8ga2VlcCB0aGUgc2lnbmFsLXRvLW5vaXNlIHJhdGlvIGxv
dywgd2Ugb25seSBsb2cgMjAwLXJlc3BvbnNlIHdpdGggYW4gaW52YWxpZCBNSU1FIHR5cGUuCkBA
IC0yMjUsNyArMjI1LDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVu
c2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3AKICAgICAgICAgICAgIG1l
c3NhZ2UuYXBwZW5kKHJlc3BvbnNlLm1pbWVUeXBlKCkpOwogICAgICAgICAgICAgbWVzc2FnZS5h
cHBlbmRMaXRlcmFsKCJcIikgdGhhdCBpcyBub3QgXCJ0ZXh0L2V2ZW50LXN0cmVhbVwiLiBBYm9y
dGluZyB0aGUgY29ubmVjdGlvbi4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlz
c2luZyB0aGUgc291cmNlIGxpbmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOwogICAgICAgICB9CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCmluZGV4IGRi
MGViNzJiN2EyMGFiZWVjYmY5OTliOWQwYzlmMjc0N2FmMWNiMjkuLmM0ZTQwYTZiZWFhZWZlYzQ3
Yjg0ODJiZGMxZjBlZmZmZjY1NDAyYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1
bWVudEV4dGVuc2lvbnMuY3BwCkBAIC0xOTcsNyArMTk3LDcgQEAgc3RhdGljIGludCBwYXJzZXJM
aW5lTnVtYmVyKERvY3VtZW50KiBkb2N1bWVudCkKIHN0YXRpYyB2b2lkIHJlcG9ydE1lc3NhZ2Uo
RG9jdW1lbnQqIGRvY3VtZW50LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKIHsKICAgICBpZiAoZG9jdW1lbnQtPmZyYW1lKCkpCi0gICAgICAgIGRvY3VtZW50LT5k
b21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBkb2N1bWVudC0+ZG9jdW1lbnRVUkkoKSwgcGFyc2Vy
TGluZU51bWJlcihkb2N1bWVudCkpOworICAgICAgICBkb2N1bWVudC0+ZG9tV2luZG93KCktPmNv
bnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBkb2N1
bWVudC0+ZG9jdW1lbnRVUkkoKSwgcGFyc2VyTGluZU51bWJlcihkb2N1bWVudCkpOwogfQogCiB2
b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVwb3J0V2FybmluZyhjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRX
b3JrZXJSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuY3BwCmluZGV4IGNmZjBkNWZiMWYwZDVjNDBhZDEyM2M5MjliNGJm
NDA2ZjdiYmNjMzcuLmVjNDFkMjIzZTY2YjBmY2VjMWVjNDg5MTA4OTU1MzAzMDZiY2ZiMzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9z
aXRvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuY3BwCkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFdvcmtl
clJlcG9ydGluZ1Byb3h5CiAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9i
amVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMKTsKLSAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9X
b3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwpOworICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChN
ZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJp
bmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlSW5zcGVjdG9yU3RhdGVDb29raWUoY29uc3Qg
U3RyaW5nJik7CkBAIC0xODgsMTYgKzE4OCwxNiBAQCB2b2lkIFNoYXJlZFdvcmtlclByb3h5Ojpw
b3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsCiAg
ICAgICAgICgqaXRlciktPnBvc3RUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmcG9zdEV4Y2VwdGlv
blRhc2ssIGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKSk7CiB9CiAKLXN0YXRp
YyB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogZG9j
dW1lbnQsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2
ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IHVuc2lnbmVkIGxpbmVOdW1iZXIpCitzdGF0aWMgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUYXNr
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGRvY3VtZW50LCBNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYg
c291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyKQogewotICAgIGRvY3VtZW50LT5hZGRDb25z
b2xlTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVO
dW1iZXIpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIGxldmVsLCBt
ZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpOwogfQogCi12b2lkIFNoYXJlZFdvcmtlclBy
b3h5Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQgU2hh
cmVkV29ya2VyUHJveHk6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
aW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIE11dGV4TG9j
a2VyIGxvY2sobV93b3JrZXJEb2N1bWVudHNMb2NrKTsKICAgICBmb3IgKEhhc2hTZXQ8RG9jdW1l
bnQqPjo6aXRlcmF0b3IgaXRlciA9IG1fd29ya2VyRG9jdW1lbnRzLmJlZ2luKCk7IGl0ZXIgIT0g
bV93b3JrZXJEb2N1bWVudHMuZW5kKCk7ICsraXRlcikKLSAgICAgICAgKCppdGVyKS0+cG9zdFRh
c2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBzb3VyY2UsIHR5
cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpKTsKKyAgICAgICAgKCpp
dGVyKS0+cG9zdFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNr
LCBzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpKTsKIH0KIAog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlckNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRX
b3JrZXJDb250ZXh0LmNwcAppbmRleCA3OTk3MDAyYWNhZjg2OTlhNDViOTg3MmM4NTVkN2I3N2Iw
NWNkZWUyLi5kMmNkYjM3MjlhZGJjNGEzNzE0MDQ0YWFhMTNmZDQ3Yjg0Zjc4ZGE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAKQEAgLTgxLDcg
KzgxLDcgQEAgU2hhcmVkV29ya2VyVGhyZWFkKiBTaGFyZWRXb3JrZXJDb250ZXh0Ojp0aHJlYWQo
KQogdm9pZCBTaGFyZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3Qg
U3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51
bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKICAgICBXb3Jr
ZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkws
IGxpbmVOdW1iZXIsIGNhbGxTdGFjayk7Ci0gICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShK
U01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JN
ZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2Fn
ZVRvV29ya2VyQ29uc29sZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJv
ck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAK
aW5kZXggZDIyZTRlZTliYTI1MzRiNmNlNTY5NDUxNjRkM2U3ZWQwYzcyNjVlOS4uOWRiYjEyOGMy
MmY3ZjQyYWNhY2MxZjQyYmVlOTNjZGE2YWY4NWEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckNvbnRleHQuY3BwCkBAIC0yNzksMjMgKzI3OSwyMyBAQCB2b2lkIFdvcmtlckNvbnRl
eHQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29u
c3QgU3RyaQogICAgIHRocmVhZCgpLT53b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RFeGNlcHRp
b25Ub1dvcmtlck9iamVjdChlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9
CiAKLXZvaWQgV29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyKQordm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291
cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAg
ICAgaWYgKCFpc0NvbnRleHRUaHJlYWQoKSkgewotICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xl
TWVzc2FnZVRhc2s6OmNyZWF0ZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlKSk7CisgICAg
ICAgIHBvc3RUYXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgbGV2ZWws
IG1lc3NhZ2UpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICB0aHJlYWQoKS0+d29ya2Vy
UmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3VyY2Us
IHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwotICAgIGFkZE1l
c3NhZ2VUb1dvcmtlckNvbnNvbGUoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNl
VVJMLCBsaW5lTnVtYmVyLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICB0aHJl
YWQoKS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9i
amVjdChzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOworICAg
IGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNl
VVJMLCBsaW5lTnVtYmVyLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAotdm9p
ZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIpCit2b2lkIFdvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNv
bnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJl
ciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllcikKIHsKICAgICBBU1NFUlQoaXNDb250ZXh0VGhyZWFkKCkpOwogICAg
IGlmIChjYWxsU3RhY2spCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVz
c2FnZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3Rh
Y2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVs
LCBtZXNzYWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICBlbHNlCi0gICAg
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSh0aGlzLCBz
b3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIHJlcXVl
c3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNz
YWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdl
LCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAogYm9vbCBX
b3JrZXJDb250ZXh0Ojppc0NvbnRleHRUaHJlYWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckNvbnRleHQuaAppbmRleCA0ODdmNzZjNmM1MzRjNmVkMmExNTJkZTZlMDk4NGY2YjAw
MzRkMmY3Li5lOTY3NTA2MjlhMWQ2OGE0MmZhYjhjZmVhZWU5NWIzNzY3NDEwNmJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTQ1LDcgKzE0NSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBhcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeUZy
b21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6SGVhZGVyVHlwZSk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2Vw
dGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwot
ICAgICAgICB2b2lkIGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAgICAgIHZv
aWQgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVk
IGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCB2
b2lkIHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSB7IHJlZigpOyB9CkBAIC0xNTksNyArMTU5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNvbnN0IEtVUkwmIHZp
cnR1YWxVUkwoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBLVVJMIHZpcnR1YWxDb21wbGV0ZVVS
TChjb25zdCBTdHJpbmcmKSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2Fn
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKIAogICAgICAgICB2aXJ0dWFsIEV2
ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggYzM1ZDhlOGFhMWQ4OWQ5ODY0MmQ1
OTEzMGM3ODM3YWFlN2E5NTBmZi4uNDAxMjYzN2Q5Zjc2YjQ1MzdjOWEwM2I5YzZhZTcxMjU4MDdi
NTJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5jcHAKQEAgLTMyNywxOCArMzI3LDE4IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBv
c3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnCiAgICAg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhXb3JrZXJFeGNlcHRpb25UYXNrOjpj
cmVhdGUoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwsIHRoaXMpKTsKIH0KIAot
c3RhdGljIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBXb3JrZXJNZXNzYWdpbmdQcm94eSogbWVzc2FnaW5nUHJveHksIE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpCitzdGF0aWMgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIFdvcmtlck1lc3NhZ2luZ1Byb3h5KiBtZXNzYWdpbmdQcm94eSwg
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsK
ICAgICBpZiAobWVzc2FnaW5nUHJveHktPmFza2VkVG9UZXJtaW5hdGUoKSkKICAgICAgICAgcmV0
dXJuOwotICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcik7CisgICAgY29udGV4dC0+YWRkQ29uc29s
ZU1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyKTsK
IH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3Jr
ZXJPYmplY3QoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VM
ZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0Q29uc29s
ZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVs
IGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCkKIHsKICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNr
KAogICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJnBvc3RDb25zb2xlTWVzc2FnZVRhc2ssIEFs
bG93Q3Jvc3NUaHJlYWRBY2Nlc3ModGhpcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBz
b3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1i
ZXIsIHNvdXJjZVVSTCkpOwogfQogCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJU
aHJlYWRDcmVhdGVkKFBhc3NSZWZQdHI8RGVkaWNhdGVkV29ya2VyVGhyZWFkPiB3b3JrZXJUaHJl
YWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5k
ZXggNzdiY2FiMmI2NjgwNzQwZGNhMTFkMTYwNWFkODYwNGU5OTExODIwMC4uZTg2OTI0ZTcxMjU4
NGRlYWIwYzQ0MDgzZDhmZTZiODc0YjI3Y2M5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNjgsNyArNjgsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIC8vIChPbmx5IHVzZSB0aGVzZSBtZXRob2RzIGluIHRoZSB3b3JrZXIg
Y29udGV4dCB0aHJlYWQuKQogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtl
ck9iamVjdChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NPd25QdHI8TWVz
c2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRp
b25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RD
b25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVz
c2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRv
UGFnZUluc3BlY3Rvcihjb25zdCBTdHJpbmcmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0
ZUluc3BlY3RvclN0YXRlQ29va2llKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCmluZGV4IDgwNGFmMjE2NDBlZWY3M2M0NTEy
NDQ2ZTAxNWNkMmI4YWI1MjNmY2MuLmJlMTkzNTA1MjFhOWY0MDU2YzJjMjBhMjdkZTI3NjkxNWU4
NmM1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5n
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5
LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1
YWwgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOwogCi0g
ICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNz
YWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOworICAgICAg
ICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNv
dXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJp
bmcmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVJbnNwZWN0b3JTdGF0ZUNvb2tp
ZShjb25zdCBTdHJpbmcmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApp
bmRleCAyOTUzNmRhODQyY2Q5MDcwMjdlYzFjN2NlMmYzODkxMWYxZjMzMzI2Li5lZDQ3NjJkMTRh
YTk4ZjBkOGMyNWFhYTRmMWRjYmM2Mzg1NGM3NzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCBzdGF0aWMgdm9pZCBsb2dDb25zb2xlRXJy
b3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXNzYQog
ICAgICAgICByZXR1cm47CiAgICAgLy8gRklYTUU6IEl0J3Mgbm90IGdvb2QgdG8gcmVwb3J0IHRo
ZSBiYWQgdXNhZ2Ugd2l0aG91dCBpbmRpY2F0aW5nIHdoYXQgc291cmNlIGxpbmUgaXQgY2FtZSBm
cm9tLgogICAgIC8vIFdlIHNob3VsZCBwYXNzIGFkZGl0aW9uYWwgcGFyYW1ldGVycyBzbyB3ZSBj
YW4gdGVsbCB0aGUgY29uc29sZSB3aGVyZSB0aGUgbWlzdGFrZSBvY2N1cnJlZC4KLSAgICBjb250
ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIFBh
c3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJp
dHlPcmlnaW4pCkBAIC02ODIsNyArNjgyLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChE
T01Gb3JtRGF0YSogYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB2b2lkIFhNTEh0dHBSZXF1ZXN0
OjpzZW5kKEFycmF5QnVmZmVyKiBib2R5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBTdHJp
bmcgY29uc29sZU1lc3NhZ2UoIkFycmF5QnVmZmVyIGlzIGRlcHJlY2F0ZWQgaW4gWE1MSHR0cFJl
cXVlc3Quc2VuZCgpLiBVc2UgQXJyYXlCdWZmZXJWaWV3IGluc3RlYWQuIik7Ci0gICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKIAogICAgIEhpc3RvZ3Jh
bVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLlhIUi5zZW5kLkFycmF5QnVm
ZmVyT3JWaWV3IiwgWE1MSHR0cFJlcXVlc3RTZW5kQXJyYXlCdWZmZXIsIFhNTEh0dHBSZXF1ZXN0
U2VuZEFycmF5QnVmZmVyT3JWaWV3TWF4KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJv
Y2Vzc29yTGlieHNsdC5jcHAKaW5kZXggYTkxMjk4OGRhNjM4Y2NmODQyZTdiMTdhZjVlNDM0NDZl
OGEzMmQyOC4uMGIyZmYxYmQyM2EyNTRkZjg5OGRlMjE3ZTQ4OTMxMmRjMjBlOWExNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwCkBAIC0xMDEsNyArMTAx
LDcgQEAgdm9pZCBYU0xUUHJvY2Vzc29yOjpwYXJzZUVycm9yRnVuYyh2b2lkKiB1c2VyRGF0YSwg
eG1sRXJyb3IqIGVycm9yKQogICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBjb25zb2xlLT5h
ZGRNZXNzYWdlKFhNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwgZXJyb3It
Pm1lc3NhZ2UsIGVycm9yLT5maWxlLCBlcnJvci0+bGluZSk7CisgICAgY29uc29sZS0+YWRkTWVz
c2FnZShYTUxNZXNzYWdlU291cmNlLCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5maWxl
LCBlcnJvci0+bGluZSk7CiB9CiAKIC8vIEZJWE1FOiBUaGVyZSBzZWVtcyB0byBiZSBubyB3YXkg
dG8gY29udHJvbCB0aGUgY3R4dCBwb2ludGVyIGZvciBsb2FkaW5nIGhlcmUsIHRodXMgd2UgaGF2
ZSBnbG9iYWxzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JR
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvclF0LmNwcAppbmRleCAwYzQx
NDBhOGQ3OWVkZWZhNTAyMzM1ZmUwMTgzMTJmNDc1ZjE3MGY0Li42YmYzZjI0YzQzNDdjYzE5ZmU1
Zjk2MjY3M2RjMDA3NDNmZTM5OTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNM
VFByb2Nlc3NvclF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvclF0
LmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIFhTTFRNZXNzYWdlSGFuZGxlcjo6aGFuZGxlTWVz
c2FnZShRdE1zZ1R5cGUgdHlwZSwgY29uc3QgUVN0cmluZyYgZGVzY3JpcHRpbwogICAgIH0KIAog
ICAgIENvbnNvbGUqIGNvbnNvbGUgPSBtX2RvY3VtZW50LT5kb21XaW5kb3coKS0+Y29uc29sZSgp
OwotICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoWE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5
cGUsIGxldmVsLCBkZXNjcmlwdGlvbiwgc291cmNlTG9jYXRpb24udXJpKCkudG9TdHJpbmcoKSwg
c291cmNlTG9jYXRpb24ubGluZSgpKTsKKyAgICBjb25zb2xlLT5hZGRNZXNzYWdlKFhNTE1lc3Nh
Z2VTb3VyY2UsIGxldmVsLCBkZXNjcmlwdGlvbiwgc291cmNlTG9jYXRpb24udXJpKCkudG9TdHJp
bmcoKSwgc291cmNlTG9jYXRpb24ubGluZSgpKTsKIH0KIAogY2xhc3MgWFNMVFVyaVJlc29sdmVy
IDogcHVibGljIFFBYnN0cmFjdFVyaVJlc29sdmVyIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFj
a0JlcnJ5LmNwcAppbmRleCBlODJlMWIyYTIyNmQ3YjNjYTJmNzAwMjU5OGRkYWQyYzg5NWU0ZGE0
Li5jZDI4NWFlOGQ3MDk5OTY0YjdjNmI4ZjE2NTMxYjNiY2M5ZTAzMzQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tC
ZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC04OSw3ICs4OSw3IEBAIENocm9tZUNsaWVudEJs
YWNrQmVycnk6OkNocm9tZUNsaWVudEJsYWNrQmVycnkoV2ViUGFnZVByaXZhdGUqIHBhZ2VQcml2
YXRlKQogewogfQogCi12b2lkIENocm9tZUNsaWVudEJsYWNrQmVycnk6OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VJRCkKK3ZvaWQgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6YWRkTWVzc2FnZVRvQ29uc29sZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCiB7CiAjaWYgIWRlZmlu
ZWQoUFVCTElDX0JVSUxEKSB8fCAhUFVCTElDX0JVSUxECiAgICAgaWYgKG1fd2ViUGFnZVByaXZh
dGUtPm1fZHVtcFJlbmRlclRyZWUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmggYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oCmlu
ZGV4IGUxMjlmNDU4NDIxOTZiYTVlNjUxYzVlMGQ4NTZmOWUyYWJiYmU4NWEuLjE1NmE4OTRiYzkx
N2M5YmNkMjY3ZDE5ZjQ3NTY2YzBkMWE5ZGI2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKKysrIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNr
QmVycnkuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE1l
bnViYXJWaXNpYmxlKGJvb2wpOwogICAgIHZpcnR1YWwgYm9vbCBtZW51YmFyVmlzaWJsZSgpOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGFk
ZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VJRCk7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2ln
bmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKTsKICAgICB2aXJ0dWFs
IGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmlydHVhbCBib29s
IHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcmLCBGcmFtZSopOwogICAg
IHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvd1Nvb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlNoYXJlZFdvcmtlckNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViU2hhcmVkV29ya2VyQ2xpZW50LmgKaW5kZXggMjQwZmU3NmU4
NmYxNjRiZjEzMWViNmE1YmYyYzI0ZTQ5NDYwNGQxYS4uNDVlMzgxY2EwMTdjYjE2ZjE1ODIwZGE1
MDMxZDE0MjNjNzE4NTYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViU2hhcmVkV29ya2VyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViU2hhcmVkV29ya2VyQ2xpZW50LmgKQEAgLTU5LDEzICs1OSwxMyBAQCBwdWJsaWM6
CiAgICAgLy8gRklYTUU6IHRoZSBiZWxvdyBpcyBmb3IgY29tcGF0aWJpbGl0eSBvbmx5IGFuZCBz
aG91bGQgYmUKICAgICAvLyByZW1vdmVkIG9uY2UgQ2hyb21pdW0gaXMgdXBkYXRlZCB0byByZW1v
dmUgbWVzc2FnZQogICAgIC8vIGRlc3RpbmF0aW9uIHBhcmFtZXRlciA8aHR0cDovL3dlYmtpdC5v
cmcvYi8zNzE1NT4uCi0gICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2Vy
T2JqZWN0KGludCwgaW50IHNvdXJjZUlkZW50aWZpZXIsIGludCBtZXNzYWdlVHlwZSwgaW50IG1l
c3NhZ2VMZXZlbCwKKyAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJP
YmplY3QoaW50LCBpbnQgc291cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VMZXZlbCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3Ry
aW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgV2ViU3RyaW5nJiBzb3VyY2VVUkwp
ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dChpbnQgc291cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VUeXBlLCBpbnQgbWVzc2FnZUxldmVs
LAorICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChpbnQg
c291cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VMZXZlbCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlLCBp
bnQgbGluZU51bWJlciwgY29uc3QgV2ViU3RyaW5nJiBzb3VyY2VVUkwpCiAgICAgewotICAgICAg
ICBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCgwLCBzb3VyY2VJZGVudGlmaWVyLCBt
ZXNzYWdlVHlwZSwgbWVzc2FnZUxldmVsLAorICAgICAgICBwb3N0Q29uc29sZU1lc3NhZ2VUb1dv
cmtlck9iamVjdCgwLCBzb3VyY2VJZGVudGlmaWVyLCBtZXNzYWdlTGV2ZWwsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJj
ZVVSTCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9D
aHJvbWVDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNs
aWVudEltcGwuY3BwCmluZGV4IDQyMTVhZDcwMDJkNDg0Y2U3NDY2MjJkYmEwZmI4ODI5YmEyMDY1
YjEuLmFkNmEyMzJjNzk3YjQ5NzM2YTIzYjJlNGU1NmZkNTg5YzFkZGRjN2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC0zOTIsNyAr
MzkyLDYgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpzZXRSZXNpemFibGUoYm9vbCB2YWx1ZSkK
IH0KIAogdm9pZCBDaHJvbWVDbGllbnRJbXBsOjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE1lc3NhZ2VUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTWVzc2FnZUxldmVsIGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsaW5lTnVtYmVyLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmluZGV4IDc3MDg0ZjgwMTAyZjYy
MzdiNjc4MmRjOGI2MGZjYzJjZTI2Njk1MjAuLjA1NTlmZDM3N2M0YWM4Yzg2NjZhOTkwODg3MzQ5
MWQxOWNjNzJiNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGll
bnRJbXBsLmgKQEAgLTk3LDcgKzk3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBtZW51
YmFyVmlzaWJsZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7CiAgICAg
dmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoCi0gICAgICAgIFdlYkNvcmU6Ok1lc3Nh
Z2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsCisg
ICAgICAgIFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwKICAg
ICAgICAgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsCiAg
ICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCk7CiAgICAgdmlydHVhbCBib29sIGNh
blJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggNWQzMmFmZDg1ZmUyZTI3OTg3NzUzMmI3MmVhNWIz
YmViNGI2NTI5Yy4uN2EyZGU4YWVlZDBlOWNmNDMyNTg4NGU4NWZlNWUyODY4YzM0MmQ2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC04NDEsNyAr
ODQxLDcgQEAgdm9pZCBXZWJGcmFtZUltcGw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoY29uc3QgV2Vi
Q29uc29sZU1lc3NhZ2UmIG1lc3NhZ2UpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBm
cmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCB3ZWJDb3JlTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRleHQpOworICAg
IGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJj
ZSwgd2ViQ29yZU1lc3NhZ2VMZXZlbCwgbWVzc2FnZS50ZXh0KTsKIH0KIAogdm9pZCBXZWJGcmFt
ZUltcGw6OmNvbGxlY3RHYXJiYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUGFnZVBvcHVwSW1wbC5jcHAKaW5kZXggYzRiOTM0YWFhNTc1NDU1MTg1ZjZlY2RlMmY5OTQ3
OTZlZGRlZDkwMi4uODRmOGEyYTI2MDA4ZjFjNDhiMTBlYzkxOWFkNTAxMTRjZTFjYWU1YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAKQEAg
LTg1LDcgKzg1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV9wb3B1cC0+d2lkZ2V0Q2xpZW50KCkt
PnNldFdpbmRvd1JlY3QobV9wb3B1cC0+bV93aW5kb3dSZWN0SW5TY3JlZW4pOwogICAgIH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50
IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYpIE9WRVJSSURFCisgICAgdmlydHVhbCB2b2lkIGFk
ZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmKSBPVkVS
UklERQogICAgIHsKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ09O
U09MRSBNRVNTU0FHRToldTogJXNcbiIsIGxpbmVOdW1iZXIsIG1lc3NhZ2UudXRmOCgpLmRhdGEo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRXb3Jr
ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlcklt
cGwuY3BwCmluZGV4IDExOWQ5YWNiNjk5NGJkOTc2ZjA0YzY2MTkyNDI0OTgxZjI0ZGJkMzMuLmIx
MDdjNjYyNzNkNzE5NDRmZjQ5ZWQ4MmFlNjQyMWE0Y2ZkNWYzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3BwCkBAIC0yMDMsMjEg
KzIwMywyMCBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlckltcGw6OnBvc3RFeGNlcHRpb25UYXNrKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiB9CiAKIHZvaWQgV2ViU2hhcmVkV29ya2Vy
SW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE1lc3NhZ2VUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbCBsZXZlbCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgbGluZU51bWJlciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpCiB7CiAgICAgV2ViV29ya2VyQmFzZTo6ZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkKGNy
ZWF0ZUNhbGxiYWNrVGFzaygmcG9zdENvbnNvbGVNZXNzYWdlVGFzaywgQWxsb3dDcm9zc1RocmVh
ZEFjY2Vzcyh0aGlzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc291cmNlLCB0eXBlLCBsZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc291cmNlLCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKSk7CiB9CiAKIHZv
aWQgV2ViU2hhcmVkV29ya2VySW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFdlYlNoYXJlZFdvcmtlckltcGwqIHRoaXNQdHIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNvdXJjZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdHlwZSwgaW50
IGxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGxpbmVOdW1iZXIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCkBA
IC0yMjUsNyArMjI0LDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJJbXBsOjpwb3N0Q29uc29sZU1l
c3NhZ2VUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQKICAgICBpZiAoIXRoaXNQ
dHItPmNsaWVudCgpKQogICAgICAgICByZXR1cm47CiAgICAgdGhpc1B0ci0+Y2xpZW50KCktPnBv
c3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNvdXJjZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxldmVsLCBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lTnVtYmVyLCBzb3VyY2VV
UkwpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTaGFy
ZWRXb3JrZXJJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRXb3Jr
ZXJJbXBsLmgKaW5kZXggNDA0MTU5MmI1Y2VhYTZlNmE1YjE5YWM2MmIwZmQ2MDZhODUzZmM2ZS4u
NDkxMjExZTU0ZDZmM2YwNGRlOWU3OTRjZTE4NTIwMWQzN2Y1ZTI3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuaApAQCAtNzQsOCArNzQs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVj
dCgKICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmLCBpbnQsIGNvbnN0IFdURjo6U3RyaW5nJik7
CiAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KAotICAg
ICAgICBXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwKLSAgICAg
ICAgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYsIGludCwgY29uc3Qg
V1RGOjpTdHJpbmcmKTsKKyAgICAgICAgV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6
TWVzc2FnZUxldmVsLAorICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYsIGludCwgY29uc3QgV1RG
OjpTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3Io
Y29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlSW5zcGVjdG9yU3Rh
dGVDb29raWUoY29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgY29uZmlybU1l
c3NhZ2VGcm9tV29ya2VyT2JqZWN0KGJvb2wpOwpAQCAtMTQ2LDcgKzE0Niw2IEBAIHByaXZhdGU6
CiAgICAgICAgIFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLAogICAgICAgICBXZWJT
aGFyZWRXb3JrZXJJbXBsKiB0aGlzUHRyLAogICAgICAgICBpbnQgc291cmNlLAotICAgICAgICBp
bnQgdHlwZSwKICAgICAgICAgaW50IGxldmVsLAogICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYg
bWVzc2FnZSwKICAgICAgICAgaW50IGxpbmVOdW1iZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwCmluZGV4IDJjMGZiOWFjODA5YTA5
NjU4ZDM1NGIwMzkyOWMxYjBhYmMyMDhmNzAuLmNmN2UwZDJmMDlkYzBiOTY5ZmU2M2M0NmUxMGUy
MzNkNDY2NzQyOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldv
cmtlckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldv
cmtlckNsaWVudEltcGwuY3BwCkBAIC0xODcsOSArMTg3LDkgQEAgdm9pZCBXZWJXb3JrZXJDbGll
bnRJbXBsOjpwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UKICAgICBtX3Byb3h5LT5wb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoZXJyb3JNZXNz
YWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCi12b2lkIFdlYldvcmtlckNsaWVudElt
cGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBXZWJX
b3JrZXJDbGllbnRJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKLSAgICBtX3Byb3h5
LT5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3VyY2UsIHR5cGUsIGxldmVsLCBt
ZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOworICAgIG1fcHJveHktPnBvc3RDb25zb2xl
TWVzc2FnZVRvV29ya2VyT2JqZWN0KHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIs
IHNvdXJjZVVSTCk7CiB9CiAKIHZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6d29ya2VyQ29udGV4
dERlc3Ryb3llZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJX
b3JrZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJD
bGllbnRJbXBsLmgKaW5kZXggZjY3NzkwODNiZGJkM2Y2NTc1NWJjZDUwYTUyNmJlMmEwMTYyNGRi
OC4uMzgxYTQ5NWJhZjRmNmFmODRhMTE0MjBjYzU0NWMyNGUzMDIwM2E4OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaApAQCAtOTIsNyAr
OTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJPYmpl
Y3QoUGFzc1JlZlB0cjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNzT3duUHRy
PFdlYkNvcmU6Ok1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PikgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVz
c2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSBPVkVSUklERTsK
IAotICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChXZWJD
b3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2Fn
ZUxldmVsLAorICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dChXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgY29uZmlybU1lc3NhZ2VGcm9tV29ya2VyT2JqZWN0KGJvb2wp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRQZW5kaW5nQWN0aXZpdHkoYm9vbCkg
T1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmNwcAppbmRleCAwZmUwZmZhYjY3N2Y4YTA4OWZjNGM1OTAyODc3MDVkMzY2
NmFlMmJiLi41ZWY1ZTY4ZTdhYjA1YzY5NTBkMWVhMDg3YmM4NzYwZmI0M2MwZjRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5j
cHAKQEAgLTI3Myw3ICsyNzMsNyBAQCBib29sIENocm9tZUNsaWVudEVmbDo6cnVuQmVmb3JlVW5s
b2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRnJhbWUqCiAgICAgcmV0dXJu
IHJ1bkphdmFTY3JpcHRDb25maXJtKGZyYW1lLCBtZXNzYWdlKTsKIH0KIAotdm9pZCBDaHJvbWVD
bGllbnRFZmw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUs
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLAordm9pZCBDaHJvbWVDbGllbnRF
Zmw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKIHsK
ICAgICBld2tfdmlld19hZGRfY29uc29sZV9tZXNzYWdlKG1fdmlldywgbWVzc2FnZS51dGY4KCku
ZGF0YSgpLCBsaW5lTnVtYmVyLCBzb3VyY2VJRC51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggYWIx
MDc3OGZhOTViODkxMzcyYjM5NmU3N2NjYzI5MTkzOGE4Mjg4ZS4uYjkyZDJjYzA2YWUyMGZhOTg5
ZWM1NWM1NzIzOGIxMTBmNzM1Nzg4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKQEAgLTg1LDcgKzg1LDcgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9p
ZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg
bGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCk7CiAKICAgICB2aXJ0dWFsIGJvb2wg
Y2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAppbmRleCA2MTUyZjUwODBi
ZmJkZWM5Y2U0NDFjOWMzOTE1MDJiMjAwMTk5OTg1Li4yNThlODNkMjRiYjk4MmY5NTliZWNkOTI4
Y2FiY2IzOWQ3MGQ1OTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKQEAgLTMyNyw3ICszMjcsNyBAQCBib29sIENocm9t
ZUNsaWVudDo6cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBt
ZXNzYWdlLCBXZWJDbwogICAgIHJldHVybiBydW5KYXZhU2NyaXB0Q29uZmlybShmcmFtZSwgbWVz
c2FnZSk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNv
cmU6Ok1lc3NhZ2VTb3VyY2Ugc291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSB0eXBlLCBXZWJD
b3JlOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNp
Z25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlkKQordm9pZCBD
aHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSBz
b3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1l
c3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNl
SWQpCiB7CiAgICAgZ2Jvb2xlYW4gcmV0dmFsOwogICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSht
X3dlYlZpZXcsICJjb25zb2xlLW1lc3NhZ2UiLCBtZXNzYWdlLnV0ZjgoKS5kYXRhKCksIGxpbmVO
dW1iZXIsIHNvdXJjZUlkLnV0ZjgoKS5kYXRhKCksICZyZXR2YWwpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmggYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRleCA0NGMyMTFh
ZDQ2Mjg3ZWZmZDc0MzA0YzAyZGNjNmRiMzBmYWY2MDNjLi4zNzkwMDU2NzhlMTExYmEwYTQ0YmVh
ZjRjN2UwNGE2NDRkYTVjNzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtODIsNyArODIsNyBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlVHlwZSB0eXBlLAorICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2Fn
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
IGxpbmVOdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNzA3
MzQ5YzViZDY1MjVhMzU4NzdhZTJhYmYyZTMwZWY4ZDdjZjViMS4uOWI4NTY4NDJhZGQxNDQ4N2Qy
NmE3MDAxODMzZmY1NTYyZGE3NDUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTc0LDcgKzc0LDcgQEAgcHVibGljOgog
ICAgIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgT1ZFUlJJREU7CiAgICAg
Ci0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNv
dXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3Qg
V1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6
OlN0cmluZyYgc291cmNlVVJMKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWws
IGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29u
c3QgV1RGOjpTdHJpbmcmIHNvdXJjZVVSTCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIGJvb2wg
Y2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBi
b29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2Fn
ZSwgV2ViQ29yZTo6RnJhbWUqKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCA4NjBhOTMzODZmYjNkYTg0
ZGU5NWJkYzRlYjRmNWVjNmUyZWQ3ZjdkLi42NDk4OTA1NWZmMmE0YWQ3ZDVkMmMxNzY0ODEzOGVl
ZTUwNDY3M2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC05NywxNyArOTcsNiBAQCBOU1N0cmluZyAqV2ViQ29uc29s
ZU1lc3NhZ2VOZXR3b3JrTWVzc2FnZVNvdXJjZSA9IEAiTmV0d29ya01lc3NhZ2VTb3VyY2UiOwog
TlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UgPSBAIkNv
bnNvbGVBUElNZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVy
TWVzc2FnZVNvdXJjZSA9IEAiT3RoZXJNZXNzYWdlU291cmNlIjsKIAotTlNTdHJpbmcgKldlYkNv
bnNvbGVNZXNzYWdlTG9nTWVzc2FnZVR5cGUgPSBAIkxvZ01lc3NhZ2VUeXBlIjsKLU5TU3RyaW5n
ICpXZWJDb25zb2xlTWVzc2FnZURpck1lc3NhZ2VUeXBlID0gQCJEaXJNZXNzYWdlVHlwZSI7Ci1O
U1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VDbGVhck1lc3NhZ2VUeXBlID0gQCJDbGVhck1lc3Nh
Z2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZURpclhNTE1lc3NhZ2VUeXBlID0g
QCJEaXJYTUxNZXNzYWdlVHlwZSI7Ci1OU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VUcmFjZU1l
c3NhZ2VUeXBlID0gQCJUcmFjZU1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVz
c2FnZVN0YXJ0R3JvdXBNZXNzYWdlVHlwZSA9IEAiU3RhcnRHcm91cE1lc3NhZ2VUeXBlIjsKLU5T
U3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSA9
IEAiU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xl
TWVzc2FnZUVuZEdyb3VwTWVzc2FnZVR5cGUgPSBAIkVuZEdyb3VwTWVzc2FnZVR5cGUiOwotTlNT
dHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQXNzZXJ0TWVzc2FnZVR5cGUgPSBAIkFzc2VydE1lc3Nh
Z2VUeXBlIjsKLU5TU3RyaW5nKiBXZWJDb25zb2xlTWVzc2FnZVRpbWluZ01lc3NhZ2VUeXBlID0g
QCJUaW1pbmdNZXNzYWdlVHlwZSI7Ci0KIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVRpcE1l
c3NhZ2VMZXZlbCA9IEAiVGlwTWVzc2FnZUxldmVsIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVz
c2FnZUxvZ01lc3NhZ2VMZXZlbCA9IEAiTG9nTWVzc2FnZUxldmVsIjsKIE5TU3RyaW5nICpXZWJD
b25zb2xlTWVzc2FnZVdhcm5pbmdNZXNzYWdlTGV2ZWwgPSBAIldhcm5pbmdNZXNzYWdlTGV2ZWwi
OwpAQCAtMzU3LDM0ICszNDYsNiBAQCBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JN
ZXNzYWdlU291cmNlKE1lc3NhZ2VTb3VyY2Ugc291cmNlKQogICAgIHJldHVybiBAIiI7CiB9CiAK
LWlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VUeXBlKE1lc3NhZ2VUeXBl
IHR5cGUpCi17Ci0gICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBMb2dNZXNzYWdlVHlwZToK
LSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlTG9nTWVzc2FnZVR5cGU7Ci0gICAgY2Fz
ZSBDbGVhck1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VDbGVh
ck1lc3NhZ2VUeXBlOwotICAgIGNhc2UgRGlyTWVzc2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBX
ZWJDb25zb2xlTWVzc2FnZURpck1lc3NhZ2VUeXBlOwotICAgIGNhc2UgRGlyWE1MTWVzc2FnZVR5
cGU6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZURpclhNTE1lc3NhZ2VUeXBlOwot
ICAgIGNhc2UgVHJhY2VNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNz
YWdlVHJhY2VNZXNzYWdlVHlwZTsKLSAgICBjYXNlIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZToKLSAg
ICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlU3RhcnRHcm91cE1lc3NhZ2VUeXBlOwotICAg
IGNhc2UgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2Vi
Q29uc29sZU1lc3NhZ2VTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBF
bmRHcm91cE1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VFbmRH
cm91cE1lc3NhZ2VUeXBlOwotICAgIGNhc2UgQXNzZXJ0TWVzc2FnZVR5cGU6Ci0gICAgICAgIHJl
dHVybiBXZWJDb25zb2xlTWVzc2FnZUFzc2VydE1lc3NhZ2VUeXBlOwotICAgIGNhc2UgVGltaW5n
TWVzc2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVRpbWluZ01lc3Nh
Z2VUeXBlOwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gQCIi
OwotfQotCiBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlTGV2ZWwoTWVz
c2FnZUxldmVsIGxldmVsKQogewogICAgIHN3aXRjaCAobGV2ZWwpIHsKQEAgLTQwMyw3ICszNjQs
NyBAQCBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlTGV2ZWwoTWVzc2Fn
ZUxldmVsIGxldmVsKQogICAgIHJldHVybiBAIiI7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50
OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0
eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
aW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBXZWJDaHJvbWVD
bGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VM
ZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJl
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7CiAgICAgaWQgZGVsZWdhdGUgPSBbbV93ZWJW
aWV3IFVJRGVsZWdhdGVdOwogICAgIEJPT0wgcmVzcG9uZHNUb05ld1NlbGVjdG9yID0gTk87CkBA
IC00MjYsNyArMzg3LDYgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNv
bGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUKICAgICAgICAgW05TTnVt
YmVyIG51bWJlcldpdGhVbnNpZ25lZEludDpsaW5lTnVtYmVyXSwgQCJsaW5lTnVtYmVyIiwKICAg
ICAgICAgKE5TU3RyaW5nICopc291cmNlVVJMLCBAInNvdXJjZVVSTCIsCiAgICAgICAgIG1lc3Nh
Z2VTb3VyY2UsIEAiTWVzc2FnZVNvdXJjZSIsCi0gICAgICAgIHN0cmluZ0Zvck1lc3NhZ2VUeXBl
KHR5cGUpLCBAIk1lc3NhZ2VUeXBlIiwKICAgICAgICAgc3RyaW5nRm9yTWVzc2FnZUxldmVsKGxl
dmVsKSwgQCJNZXNzYWdlTGV2ZWwiLAogICAgICAgICBOVUxMXTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAppbmRleCA3MWI0NWQ2
ZGRkNzJlMTNhZTQ0OTkxYzVmY2NmNTk5YjVkMjJhZDM2Li5kMTU0ZDQyZDYxMmJhMDNlY2RmN2E5
ODQxMGU3OTQwNmQxN2QyYzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcApAQCAtMzA3LDcgKzMwNyw3IEBAIHZvaWQgQ2hyb21l
Q2xpZW50UXQ6OnNldFJlc2l6YWJsZShib29sKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAK
LXZvaWQgQ2hyb21lQ2xpZW50UXQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKQordm9pZCBDaHJvbWVDbGllbnRR
dDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VJRCkKIHsKICAgICBRU3RyaW5nIHggPSBtZXNzYWdlOwogICAgIFFTdHJpbmcgeSA9IHNvdXJj
ZUlEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRR
dC5oCmluZGV4IDEyMmI0MDhmYjU3NDhiY2I5YzA3NDg0ZDY2Zjc0NWM5ZDRhMzE0ZWUuLmQ3M2Ni
NDA5NDlmMDRmYjU5MGFiYzQ2ZmIxMDYxMjE2MTI2ZGZiZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKQEAgLTEwMSw3ICsxMDEsNyBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAg
dmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5
cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCk7CiAKICAg
ICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmly
dHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIEZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA2OGJkZGVmMDM0MTg0YjVkNDAxZDVjZDBmNzRhNTYy
MWY2NGI2OWUyLi5kOGIyZjA2ZWRmOGJjZTU2Y2QzNjc4ZjU3NDczZTgwMGM1ZDQyODBkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKQEAgLTMzNCw3ICszMzQsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXph
YmxlKGJvb2wgcmVzaXphYmxlKQogICAgIH0KIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUs
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5l
LCBjb25zdCBTdHJpbmcmIHVybCkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9D
b25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZSwgY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAg
Q09NUHRyPElXZWJVSURlbGVnYXRlPiB1aURlbGVnYXRlOwogICAgIGlmIChTVUNDRUVERUQobV93
ZWJWaWV3LT51aURlbGVnYXRlKCZ1aURlbGVnYXRlKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggOWFlYzczNDZmMDI1
OWZlZjA4NWRhYTdhNjc1Y2UzOGRlNWE3ZDQzNi4uY2IzMmI4YzM3NTkzZmQzNDRlNmY5NDcyYjE1
ZDk0N2RmNzcyYmNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNz
YWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2Ugc291cmNlLCBXZWJDb3JlOjpNZXNz
YWdlVHlwZSB0eXBlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3Ry
aW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lLCBjb25zdCBXVEY6OlN0cmluZyYgdXJsKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNl
IHNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgbGluZSwgY29uc3QgV1RGOjpTdHJpbmcmIHVybCk7CiAKICAgICB2
aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmlydHVh
bCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVz
c2FnZSwgV2ViQ29yZTo6RnJhbWUqIGZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwIGIvU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKaW5kZXggZGU2YmY3
MTkwZmIwMjM5YjQwMTc4ZmE0ZGU4YmVkY2Y0MDg1YmU0MS4uYzE4NmYyMjQwNmY0NTc3NjQ4YTUx
YTlkYTVkM2I3NWNjOTcyYzkwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKQEAgLTE4NCw3ICsxODQsNyBA
QCBib29sIENocm9tZUNsaWVudFdpbkNFOjpydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBGcmFtZQogICAgIHJldHVybiBydW5KYXZhU2NyaXB0Q29uZmly
bShmcmFtZSwgbWVzc2FnZSk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50V2luQ0U6OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiwgdW5zaWduZWQgaW50LCBjb25zdCBTdHJpbmcmKQordm9pZCBDaHJvbWVDbGll
bnRXaW5DRTo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkIGludCwgY29uc3QgU3RyaW5nJikKIHsKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCmluZGV4IDk2Y2VhMWE2MmFiZDk4NWZhMTIyMGJj
YjdmNGQ3OWVjOTY5ODcxM2YuLjdmOTNjNTE2ZTljY2ViNmE1YWYxMjdiM2NlMzFmZWM4MzU0MWNk
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50V2luQ0UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFdpbkNFLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdl
VG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBX
ZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25l
ZCBpbnQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlEKTsKKyAgICB2aXJ0
dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJD
b3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBp
bnQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlEKTsKIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKTsKICAgICB2aXJ0dWFsIGJv
b2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdl
LCBXZWJDb3JlOjpGcmFtZSogZnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDA5
N2FiZThjYWFkNTFjNTMzYWVkYjRjOTMyODI1MDI1NTUxYzk4MTAuLjI0ZmVhZjg5MjdiMjA0ZmVh
YjI5NjU5NGQxMDEzZDhmZDRlYzAwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTI2
Nyw3ICsyNjcsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXphYmxlKGJvb2wgcmVz
aXphYmxlKQogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRJc1Jl
c2l6YWJsZShyZXNpemFibGUpKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiAvKnNvdXJjZUlEKi8pCit2b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29s
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5z
aWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgLypzb3VyY2VJRCovKQogewogICAg
IC8vIE5vdGlmeSB0aGUgYnVuZGxlIGNsaWVudC4KICAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxl
VUlDbGllbnQoKS53aWxsQWRkTWVzc2FnZVRvQ29uc29sZShtX3BhZ2UsIG1lc3NhZ2UsIGxpbmVO
dW1iZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMWU2MmY3YWJkNGNjMmJiODUyOWU1MGY3
NzEwZjcyZDYwOGUwMWM2My4uODQ0MDNmMjI2ZGUyNjE0NzFlODQ3ZmVkMzRkOTE3YzFjY2RlMzYy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC05MCw3ICs5MCw3IEBAIHByaXZhdGU6CiAgICAg
CiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKSBPVkVSUklERTsKICAgICAKLSAg
ICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNl
LCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUlEKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJD
b3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQp
IE9WRVJSSURFOwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25m
aXJtUGFuZWwoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29u
ZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqKSBPVkVSUklE
RTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177694</attachid>
            <date>2012-12-05 01:18:21 -0800</date>
            <delta_ts>2012-12-05 06:46:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66371-20121205101546.patch</filename>
            <type>text/plain</type>
            <size>130131</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmExNTdhOGQxMTE3YzFm
ODk0Y2Y3YjIwZGMzOWUyNjBkODRhNGZhMy4uZDJiYmQ0MDViZjYwNWMwZWZhMzlkZjNkNDgzMzhm
NDVlMGNlYTlkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2MyBAQAorMjAxMi0xMi0wNCAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENv
bnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBw
cml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2UgY2FuIHNpbXBsaWZ5IGNvbnNvbGUgbWVzc2FnZSBnZW5lcmF0aW9uIGEg
Yml0LCBhcyBub3RoaW5nIG91dHNpZGUgdGhlCisgICAgICAgIENvbnNvbGUgb2JqZWN0IGl0c2Vs
ZiB3aWxsIGdlbmVyYXRlIG1lc3NhZ2VzIG9mIGFueSB0eXBlIG90aGVyIHRoYW4KKyAgICAgICAg
TG9nTWVzc2FnZVR5cGUuIFRoaXMgcGF0Y2ggcmVmYWN0b3JzIHRoZSBleHRlcm5hbGx5LWZhY2lu
ZyBBUEkgZW5kcG9pbnRzCisgICAgICAgIG9uIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgYW5kIENv
bnNvbGUgdG8gZHJvcCB0aGUgTWVzc2FnZVR5cGUgcGFyYW1ldGVyLAorICAgICAgICBtb3ZlcyB0
aGUgTWVzc2FnZVR5cGUgZW51bSBpbnRvIGEgbmV3IEluc3BlY3RvckNvbnNvbGVUeXBlcy5oIGhl
YWRlciwKKyAgICAgICAgYW5kIHVwZGF0ZXMgYWxsIHRoZSBjYWxsIHNpdGVzIChhbmQgQ2hyb21l
Q2xpZW50cykgdG8gZHJvcCB0aGUgcGFyYW1ldGVyCisgICAgICAgIGZyb20gdGhlaXIgaW50ZXJm
YWNlcy4KKworICAgICAgICBIZXJlLCB3ZSBvbmx5IHJlZmFjdG9yIGFuIGludGVybmFsIGludGVy
ZmFjZS4gTm8gdGVzdHMgc2hvdWxkIGJyZWFrLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgICBXZSBhZGRlZCBhIG5ldyBm
aWxlISBPTUchCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5v
ZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6
CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RGF0YWJhc2U6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXQ6OmNvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViU29ja2V0OjpzZXRCaW5hcnlUeXBlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFu
bmVsOjpmYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxT
b2NrZXRTdHJlYW0pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29s
dmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29r
dXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQ
YXRoTlNSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEN1c3RvbVhQYXRoTlNSZXNv
bHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKToKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZSk6
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBy
b2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZE1lc3NhZ2Up
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoRG9jdW1lbnQpOgorICAgICAg
ICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1l
bnQ6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25z
b2xlTWVzc2FnZVRhc2s6OnBlcmZvcm1UYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNzYWdlKToKKyAgICAgICAgKiBkb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2Fn
ZVRhc2s6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OkFkZENvbnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAg
ICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFZp
ZXdwb3J0V2FybmluZyk6CisgICAgICAgICogZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpCbG9iQnVpbGRlcjo6YXBwZW5kKToKKyAgICAgICAgKiBodG1s
L0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXV0
b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVseSk6CisgICAgICAg
ICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSUZy
YW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjpjYW5Mb2FkVXJs
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEp
OgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6
cHJpbnRXYXJuaW5nVG9Db25zb2xlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3I6OmluaXQpOgorICAgICAgICAoV2Vi
Q29yZTo6WFNTQXVkaXRvcjo6ZmlsdGVyVG9rZW4pOgorICAgICAgICAqIGluc3BlY3Rvci9Db25z
b2xlTWVzc2FnZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZVR5cGVzLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5jcHA6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVw
b3J0TG9jYWxMb2FkRmFpbGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzaG91
bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyk6CisgICAgICAgICogbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hl
ZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAg
ICogbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWl4
ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmNvcnNQb2xp
Y3lQcmV2ZW50ZWRMb2FkKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNl
aXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpk
aWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91
cDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRp
ZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKToKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVuaWVkTWVzc2FnZSk6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisgICAg
ICAgICogcGFnZS9Db25zb2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmFkZE1l
c3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6aW50ZXJuYWxBZGRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnNvbGU6OmVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Omxv
Zyk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjp3YXJuKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnNvbGU6OmRpcik6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpkaXJ4bWwpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29s
ZTo6dHJhY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6YXNzZXJ0Q29uZGl0aW9uKToK
KyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaDoKKyAgICAgICAgKENvbnNvbGUpOgorICAgICAgICAq
IHBhZ2UvQ29uc29sZVR5cGVzLmg6CisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0Nv
bnNvbGUpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnRXaXRoT3JpZ2luQ2hlY2spOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93OjpwcmludEVycm9yTWVzc2FnZSk6CisgICAgICAgICogcGFn
ZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBzdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydE1lc3NhZ2UpOgorICAgICAgICAqIHdvcmtlcnMvRGVm
YXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOgorICAgICAgICAoU2hhcmVkV29ya2VyUHJv
eHkpOgorICAgICAgICAoV2ViQ29yZTo6cG9zdENvbnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAg
IChXZWJDb3JlOjpTaGFyZWRXb3JrZXJQcm94eTo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJP
YmplY3QpOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUp
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNv
bnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyQ29udGV4dC5oOgorICAgICAgICAoV29ya2VyQ29udGV4dCk6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwb3N0Q29uc29s
ZU1lc3NhZ2VUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpw
b3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAoV29ya2VyTWVzc2FnaW5nUHJveHkpOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaDoKKyAgICAgICAgKFdvcmtlclJl
cG9ydGluZ1Byb3h5KToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6bG9nQ29uc29sZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBS
ZXF1ZXN0OjpzZW5kKToKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6WFNMVFByb2Nlc3Nvcjo6cGFyc2VFcnJvckZ1bmMpOgorICAgICAg
ICAqIHhtbC9YU0xUUHJvY2Vzc29yUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNMVE1lc3Nh
Z2VIYW5kbGVyOjpoYW5kbGVNZXNzYWdlKToKKwogMjAxMi0xMi0wNSAgRGFuIENhcm5leSAgPGRj
YXJuZXlAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbVjhdIHRvVjhGYXN0IGZvciBhbGwgY2xhc3Nl
cyB3aXRoIFNjcmlwdFdyYXBwZXIgSG9sZGVyIG9iamVjdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hh
bmdlTG9nCmluZGV4IGJiNjBkZWNjNTBmZTkwMmFiZTUyYTk5YmRlNTI0ZjQyOTUwYjU2NDEuLjdl
NDU0N2UwZTAzMTg4ZmRjZjRmYWI2NWM5OGVjMzRmNmM2OWNlZDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEyLTA0ICBNaWtlIFdlc3QgIDxt
a3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29uc29sZVR5cGVz
IHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0gaXQgc2hvdWxkIGJlIHByaXZhdGUgdG8g
aW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBEcm9wcyBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29s
ZSBtZXRob2QuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0Jl
cnJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEJsYWNrQmVycnk6OmFkZE1l
c3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJs
YWNrQmVycnkuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEJsYWNrQmVycnkpOgorCiAyMDEyLTEy
LTA0ICBTZWFuIFdhbmcgIDxYdWV3ZW4uV2FuZ0B0b3JjaG1vYmlsZS5jb20uY24+CiAgICAgICAg
IFtCbGFja0JlcnJ5XSBWS0IgZmxpY2tlcnMgaW4gYW5kIG91dCB3aGVuIHRhcHBpbmcgb24gd2Vi
dmlldyBhZnRlciB0ZXh0IHNlbGVjdGlvbiBvbiBVUkwgYmFyCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM4NzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggMTQ3OTQxZWQxNjZiNGViYmMzNTA3MzI1M2MyOWY1MjgxZmU2ZDgyOC4uMTQxN2Rl
YWNkYzI1YzU0MjI2N2ViZDYwODYwMjU5YzA2Y2UyZDdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMi0xMi0wNCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQg
bm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rv
ci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzcx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcHMg
V2ViQ29yZTo6TWVzc2FnZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9k
LCBhbmQgYWxsCisgICAgICAgIHRoZSBhbmNpbGxpYXJ5IHBsYWNlcyBpdCB0b3VjaGVzLgorCisg
ICAgICAgICogcHVibGljL1dlYlNoYXJlZFdvcmtlckNsaWVudC5oOgorICAgICAgICAoV2ViU2hh
cmVkV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2hhcmVkV29ya2VyQ2xpZW50
Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgICogc3JjL0Nocm9t
ZUNsaWVudEltcGwuY3BwOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6CisgICAg
ICAgIChDaHJvbWVDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAg
ICAgICAgKiBzcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYlNoYXJl
ZFdvcmtlckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTaGFyZWRXb3JrZXJJbXBsOjpw
b3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNo
YXJlZFdvcmtlckltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRhc2spOgorICAgICAgICAqIHNyYy9X
ZWJTaGFyZWRXb3JrZXJJbXBsLmg6CisgICAgICAgIChXZWJTaGFyZWRXb3JrZXJJbXBsKToKKyAg
ICAgICAgKiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YldvcmtlckNsaWVudEltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KToKKyAg
ICAgICAgKiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oOgorICAgICAgICAoV2ViV29ya2VyQ2xp
ZW50SW1wbCk6CisKIDIwMTItMTItMDQgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtWOF0gUmVtb3ZlIHRvVjhPYmplY3QoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmlu
ZGV4IDdhNDZhNDdkMzhlNjM3MTEwNmJmYTBhOTNkMmQ0OTdiOTU5N2IwNzkuLjc3ZmZkODM3OThh
ZDllYzkxNGIzZGQzODlkNmMyMTNhZDlmYjU4YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMi0xMi0wNCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNz
YWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2Fn
ZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNo
cm9tZUNsaWVudEVmbDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgorCiAy
MDEyLTExLTMwICBNaWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUuY29tPgogCiAgICAgICAg
IFtDU1NSZWdpb25zXSB3aGVuIFdlYktpdCB1c2VzIFY4LCB0aGVyZSBzaG91bGQgYmUgYSBzaW5n
bGUgdmFyaWFibGUgdG8gc3RvcmUgaWYgdGhlIENTUyBSZWdpb25zIGZlYXR1cmUgaXMgZW5hYmxl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9ndGsvQ2hhbmdlTG9nCmluZGV4IGI5MzY4ZWNjMWRjNDBjMzY2MTQ4ZWYwOTFkZDQzMzFlMTcw
NzkxNjUuLmM2MmEwNDQ2ZTFkODRiOTc0YzJiNWYyOWIxZmYxNmZiNzk3NDIzNWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0wNCAgTWlrZSBXZXN0ICA8bWt3c3RA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91
bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3Bl
Y3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2
MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJv
cHMgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0
aG9kLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaDoKKyAgICAgICAgKENocm9tZUNs
aWVudCk6CisKIDIwMTItMTItMDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHVEtdIEF2b2lkIHVubmVjZXNzYXJ5IGhlYXAgYWxsb2NhdGlv
bnMgZHVyaW5nIGRyYWcgYW5kIGRyb3Agb3BlcmF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGY1
MzUyMWU1ZTQxYTA1ODExZmUxZTE3Yzg3MGJlYjBmOWQyZTMxY2IuLjE5ZjdlNWYzNDM2NmYwYzUx
NTkzODA1OWYyYWQzMGNiZTRlZDU2ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxMi0xMi0wNCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlw
ZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2FnZUxldmVs
IGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQpOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdl
YkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisKIDIwMTItMTItMDMgIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4g
Rml4IE1hYyBjb21waWxhdGlvbiBhZnRlciByMTM2NDQ4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBlYjA5
NzU1ZWFjYWE0ZWIyYWQ3MzdjNjM5YjYwNjgxNDY4NDUxOGU3Li43NzQ3ODc1OTgxMWNhNWYxNjcw
NmUyYmQ1ZjhmZTI1ODEwZDQ4NzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDEyLTEyLTA0ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogQ29uc29sZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0g
aXQgc2hvdWxkIGJlIHByaXZhdGUgdG8gaW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wcyBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgZnJv
bSB0aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBtZXRob2QuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRR
dDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50UXQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudFF0KToKKwogMjAxMi0xMi0wNCAgUGll
cnJlIFJvc3NpICA8cGllcnJlLnJvc3NpQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdIFlldCBh
bm90aGVyIHVucmV2aWV3ZWQgc3BlY3VsYXRpdmUgd2luZG93cyBidWlsZCBmaXguIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCmluZGV4IDc3ZWMwNzYyMDY0ODUxOTA3MzMwNjU0MDAzNmE1ZDAzNTdiZmM4ZDMuLjdj
YmM4MTc0YWRjYmQ5ZmI5Mzg0YTZjM2VmMTU3YWJkZDRkOThhNzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0wNCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4
cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcHMgV2ViQ29y
ZTo6TWVzc2FnZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQpOgorCiAy
MDEyLTExLTMwICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBbV2luZG93cywgV2luQ2Fpcm9dIEdlbmVyYXRlIGxpYnJhcnkgZXhwb3J0IGRlZmluaXRpb24g
ZmlsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKaW5kZXggY2FiZGQ5NTgxOTQxYWFmN2Y4NTZiMDEyMDU5
ODZlMzRmMGU0NWMwZC4uODg2OTFiMmJkZDQwNmZmYTI4YjRiZmM3ZDFhN2Y2YzVlMzEwODc3YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC93aW5jZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0wNCAgTWlrZSBX
ZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNv
bGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2
YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VU
b0NvbnNvbGUgbWV0aG9kLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
V2luQ0UuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRXaW5DRTo6YWRkTWVzc2Fn
ZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0Uu
aDoKKyAgICAgICAgKENocm9tZUNsaWVudFdpbkNFKToKKwogMjAxMi0xMS0yOSAgQWxleGV5IFBy
b3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSBGb3J3YXJkIGNvb2tp
ZSBqYXIgY2FsbHMgdG8gTmV0d29ya1Byb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkNWQ4NjJlOWViMmZm
NzhjNzU0MDUyZTg1YWY0MDU4N2JmZDA1MjdhLi45ZDZmOGQ4MWUxMTJjYzYyODExYmMyNWY5MzQ4
MTI5MzdjZTU1MDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMDQgIE1p
a2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
b25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUg
cHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNz
YWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50
OjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKwogMjAx
Mi0xMi0wNSAgSm9hcXVpbSBSb2NoYSAgPGpyb2NoYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVS
TCBzY2hlbWVzIHJlZ2lzdGVyZWQgYXMgbG9jYWwsIG5vIGFjY2VzcywgZGlzcGxheSBpc29sYXRl
ZCBhbmQgYXMgQ09SUyBlbmFibGVkIGFyZSBub3QgcmVnaXN0ZXJlZCBhZ2FpbiBhZnRlciBhIHdl
YiBwcm9jZXNzIGNyYXNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBiZTdjZjIz
Njk0OWVlYzkzNDJjMDgxZmZiNzU4ZmY5Yzk0NDVhNDUwLi42NmI5MDhjMTkzMmMzMTBlNDk4OTgz
NDI0MGRhNGE5MTg0NDYzZDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTM3
MTEsNiArMzcxMSw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCBcCisJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnNvbGVUeXBlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ291bnRlcnMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ291bnRlcnMuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNT
U0FnZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKaW5kZXggNDM3NzA1ZDU4NzczZjc1MTJhYzQw
MTk2OWY3MGE0NmEwYjA2YjVkYS4uODgxYjgwM2I3NWNhZTY2OGMyYjA4ODIzMjE0MmYzNzM3NjEy
MTVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1
ZmZlclNvdXJjZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcApAQCAtNDQ5LDcgKzQ0OSw3IEBAIGJvb2wgQXVkaW9C
dWZmZXJTb3VyY2VOb2RlOjpsb29waW5nKCkKIHsKICAgICBzdGF0aWMgYm9vbCBmaXJzdFRpbWUg
PSB0cnVlOwogICAgIGlmIChmaXJzdFRpbWUgJiYgY29udGV4dCgpICYmIGNvbnRleHQoKS0+c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7Ci0gICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29w
aW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4iKTsKKyAg
ICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291
cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGlu
c3RlYWQuIik7CiAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNlOwogICAgIH0KIApAQCAtNDYwLDcg
KzQ2MCw3IEBAIHZvaWQgQXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpzZXRMb29waW5nKGJvb2wgbG9v
cGluZykKIHsKICAgICBzdGF0aWMgYm9vbCBmaXJzdFRpbWUgPSB0cnVlOwogICAgIGlmIChmaXJz
dFRpbWUgJiYgY29udGV4dCgpICYmIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KSB7Ci0gICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25z
b2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2Fn
ZUxldmVsLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVw
cmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4iKTsKKyAgICAgICAgY29udGV4dCgpLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
V2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0
cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CiAgICAgICAgIGZp
cnN0VGltZSA9IGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5jcHAKaW5kZXggNjI5MDdlM2UxY2U2
YjA5MTVjMmIwMzQ3NjA5ZTUwN2U4YzAxY2ViNi4uNmNmZTUxYjU4NTc4M2Q3YzI4ZTYyNTg2ZGY1
ZDJiYWU2OTJhNjUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9BYnN0cmFjdERhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2UuY3BwCkBAIC01NjcsNyArNTY3LDcgQEAgYm9vbCBB
YnN0cmFjdERhdGFiYXNlOjppc0ludGVycnVwdGVkKCkKIAogdm9pZCBBYnN0cmFjdERhdGFiYXNl
Ojpsb2dFcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5k
ZXggOGNkYzdkYWU0ZWJhOGQ1ZjViNDY3NTM2NzcyMjM5NTE1YTU3ZThjNS4uZmU1MDg1OGNiMTJk
OWFjMDk1ODIyY2Q2ZWNhZmZmMGNhMGEwMWNkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKQEAgLTIxMywyNiArMjEzLDI2IEBAIHZvaWQg
V2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgbV91cmwgPSBLVVJMKEtVUkwoKSwgdXJsKTsKIAogICAg
IGlmICghbV91cmwuaXNWYWxpZCgpKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJJbnZhbGlkIHVybCBmb3IgV2ViU29ja2V0ICIgKyBtX3VybC5zdHJp
bmcoKSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmlu
ZygpKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCB1cmwgZm9yIFdl
YlNvY2tldCAiICsgbV91cmwuc3RyaW5nKCksIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAg
ICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlm
ICghbV91cmwucHJvdG9jb2xJcygid3MiKSAmJiAhbV91cmwucHJvdG9jb2xJcygid3NzIikpIHsK
LSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVy
bCBzY2hlbWUgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5nKCksIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CisgICAgICAgIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBzY2hlbWUgZm9yIFdlYlNvY2tldCAiICsgbV91
cmwuc3RyaW5nKCksIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+
dG9TdHJpbmcoKSk7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lO
VEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAobV91cmwuaGFzRnJhZ21l
bnRJZGVudGlmaWVyKCkpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRD
b25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgIlVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50ICIgKyBtX3VybC5zdHJpbmcoKSwg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpKTsK
KyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiVVJMIGhhcyBmcmFnbWVudCBjb21wb25l
bnQgIiArIG1fdXJsLnN0cmluZygpLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5
T3JpZ2luKCktPnRvU3RyaW5nKCkpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAg
ICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKCFwb3J0
QWxsb3dlZChtX3VybCkpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRD
b25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgIldlYlNvY2tldCBwb3J0ICIgKyBTdHJpbmc6Om51bWJlcihtX3VybC5wb3J0KCkp
ICsgIiBibG9ja2VkIiwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigp
LT50b1N0cmluZygpKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25z
b2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0
IHBvcnQgIiArIFN0cmluZzo6bnVtYmVyKG1fdXJsLnBvcnQoKSkgKyAiIGJsb2NrZWQiLCBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCkpOwogICAg
ICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKICAgICAg
ICAgcmV0dXJuOwpAQCAtMjU3LDcgKzI1Nyw3IEBAIHZvaWQgV2ViU29ja2V0Ojpjb25uZWN0KGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcHJvdG9jb2xzLCBFeGNlCiAg
ICAgLy8gY29tcGx5IHdpdGggV2ViU29ja2V0IEFQSSBzcGVjaWZpY2F0aW9uLCBidXQgaXQgc2Vl
bXMgdG8gYmUgdGhlIG9ubHkgcmVhc29uYWJsZSB3YXkgdG8gaGFuZGxlIHRoaXMgY29uZmxpY3Qu
CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm90b2NvbHMuc2l6ZSgpOyArK2kpIHsKICAg
ICAgICAgaWYgKCFpc1ZhbGlkUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ldKSkgewotICAgICAg
ICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3Rv
Y29sIGZvciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0p
ICsgIiciLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3Ry
aW5nKCkpOworICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xl
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV3JvbmcgcHJvdG9j
b2wgZm9yIFdlYlNvY2tldCAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkg
KyAiJyIsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJp
bmcoKSk7CiAgICAgICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICAgICAgZWMgPSBT
WU5UQVhfRVJSOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQg
V2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgSGFzaFNldDxTdHJpbmc+IHZpc2l0ZWQ7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBwcm90b2NvbHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYg
KHZpc2l0ZWQuY29udGFpbnMocHJvdG9jb2xzW2ldKSkgewotICAgICAgICAgICAgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBwcm90b2NvbHMgY29udGFp
biBkdXBsaWNhdGVzOiAnIiArIGVuY29kZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkgKyAi
JyIsIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmco
KSk7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcHJvdG9j
b2xzIGNvbnRhaW4gZHVwbGljYXRlczogJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2Nv
bHNbaV0pICsgIiciLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCkt
PnRvU3RyaW5nKCkpOwogICAgICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgICAg
IGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTI5OSw3ICsyOTksNyBA
QCBib29sIFdlYlNvY2tldDo6c2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogICAgIEFTU0VSVChtX2NoYW5uZWwpOwogICAgIFRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsOjpTZW5kUmVzdWx0IHJlc3VsdCA9IG1fY2hhbm5lbC0+c2VuZChtZXNzYWdlKTsKICAg
ICBpZiAocmVzdWx0ID09IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpJbnZhbGlkTWVzc2Fn
ZSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV2Vi
c29ja2V0IG1lc3NhZ2UgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIocykuIik7CisgICAgICAg
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYnNvY2tldCBtZXNzYWdlIGNvbnRhaW5zIGludmFs
aWQgY2hhcmFjdGVyKHMpLiIpOwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICB9CkBAIC0zNzMsNyArMzczLDcgQEAgdm9pZCBXZWJTb2NrZXQ6OmNs
b3NlKGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCiAg
ICAgICAgIH0KICAgICAgICAgQ1N0cmluZyB1dGY4ID0gcmVhc29uLnV0ZjgoU3RyaW5nOjpTdHJp
Y3RDb252ZXJzaW9uUmVwbGFjaW5nVW5wYWlyZWRTdXJyb2dhdGVzV2l0aEZGRkQpOwogICAgICAg
ICBpZiAodXRmOC5sZW5ndGgoKSA+IG1heFJlYXNvblNpemVJbkJ5dGVzKSB7Ci0gICAgICAgICAg
ICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNsb3Nl
IG1lc3NhZ2UgaXMgdG9vIGxvbmcuIik7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJXZWJTb2NrZXQgY2xvc2UgbWVzc2FnZSBpcyB0b28gbG9uZy4iKTsKICAgICAgICAgICAg
IGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNDM4
LDcgKzQzOCw3IEBAIHZvaWQgV2ViU29ja2V0OjpzZXRCaW5hcnlUeXBlKGNvbnN0IFN0cmluZyYg
YmluYXJ5VHlwZSkKICAgICAgICAgbV9iaW5hcnlUeXBlID0gQmluYXJ5VHlwZUFycmF5QnVmZmVy
OwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICInIiArIGJpbmFyeVR5cGUgKyAiJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBm
b3IgYmluYXJ5VHlwZTsgYmluYXJ5VHlwZSByZW1haW5zIHVuY2hhbmdlZC4iKTsKKyAgICBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICInIiArIGJpbmFyeVR5cGUgKyAiJyBpcyBub3QgYSB2YWxpZCB2
YWx1ZSBmb3IgYmluYXJ5VHlwZTsgYmluYXJ5VHlwZSByZW1haW5zIHVuY2hhbmdlZC4iKTsKIH0K
IAogY29uc3QgQXRvbWljU3RyaW5nJiBXZWJTb2NrZXQ6OmludGVyZmFjZU5hbWUoKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENo
YW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENo
YW5uZWwuY3BwCmluZGV4IDc1NDgxYjdhOGY2ZDgzZjI5YTQwZWFlNDIzODIxOTIxZWRjZWY2MmEu
LmVlMjY3ZGYzNGFmYWYzNDc1MTdjM2NmOWZkNDYzMWFhMjY1YzZlMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAK
QEAgLTE5NCw3ICsxOTQsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3Ry
aW5nJiByZWFzb24pCiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7CiAgICAgaWYgKG1fZG9jdW1l
bnQpIHsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29j
a2V0RnJhbWVFcnJvcihtX2RvY3VtZW50LCBtX2lkZW50aWZpZXIsIHJlYXNvbik7Ci0gICAgICAg
IG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8gJyIgKyBt
X2hhbmRzaGFrZS0+dXJsKCkuc3RyaW5nKCkgKyAiJyBmYWlsZWQ6ICIgKyByZWFzb24pOworICAg
ICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8gJyIgKyBtX2hhbmRzaGFrZS0+
dXJsKCkuc3RyaW5nKCkgKyAiJyBmYWlsZWQ6ICIgKyByZWFzb24pOwogICAgIH0KIAogICAgIC8v
IEh5YmktMTAgc3BlY2lmaWNhdGlvbiBleHBsaWNpdGx5IHN0YXRlcyB3ZSBtdXN0IG5vdCBjb250
aW51ZSB0byBoYW5kbGUgaW5jb21pbmcgZGF0YQpAQCAtMzM0LDcgKzMzNCw3IEBAIHZvaWQgV2Vi
U29ja2V0Q2hhbm5lbDo6ZGlkRmFpbFNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUqIGhh
bmRsZSwgY29uc3QgU29jCiAgICAgICAgIEFTU0VSVChmYWlsaW5nVVJMLmlzTnVsbCgpIHx8IG1f
aGFuZHNoYWtlLT51cmwoKS5zdHJpbmcoKSA9PSBmYWlsaW5nVVJMKTsKICAgICAgICAgaWYgKGZh
aWxpbmdVUkwuaXNOdWxsKCkpCiAgICAgICAgICAgICBmYWlsaW5nVVJMID0gbV9oYW5kc2hha2Ut
PnVybCgpLnN0cmluZygpOwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShO
ZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBt
ZXNzYWdlLCBmYWlsaW5nVVJMKTsKKyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3Nh
Z2UoTmV0d29ya01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBmYWls
aW5nVVJMKTsKICAgICB9CiAgICAgbV9zaG91bGREaXNjYXJkUmVjZWl2ZWREYXRhID0gdHJ1ZTsK
ICAgICBoYW5kbGUtPmRpc2Nvbm5lY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDA5NWIyYmI5MzcxZmRj
ODNkOTZmODE1YmU1YTkwYjhmYTdlZDZhMTguLjAxYTg3ZTMwZWE5YTA4OGM4ZDU5ZWM4N2UxMDM0
ZjE4NWZmMTIzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTkwOSw2ICsxOTA5LDcgQEAgSEVBREVSUyAr
PSBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhc0luc3RydW1lbnRhdGlvbi5oIFwKICAg
ICBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggXAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmggXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JD
b25zb2xlVHlwZXMuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvckNvdW50ZXJzLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JDU1NBZ2VudC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwNDUyMzlkYTYyYjMyODY2OGFkNTUz
MWExMTA3OTg0ZGRiNzdkNDI0Li5lZDQ3ODJjYzVlMDUwODBlNTNkNDExNTk1Mjk3NTRmZmYwNDg5
YTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNTIsNiArMTUyLDcgQEAKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3RvckJhc2VBZ2VudC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50
LmgnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlVHlwZXMuaCcsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCcsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYThhZjkwZjY2ZTU0ZDZiMTM0ODJlMjliYjc2M2U3
ZWRiMjIxNzAyOC4uNmJmMzFiZDdmZTk3ZTJkMWQ0ZDBlMmJlODA0NDQ4OTFjYWQzYmVhMiAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTc1MTU0
LDYgKzc1MTU0LDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb25zb2xlVHlwZXMuaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjNDhl
OTAzYzQzODJjNTBlNDk4ZjAzMmIzZjM1NjNjZWZjN2M4OWYxLi41MDA5YWRjYjQ0ZGE0NTQ5MDU4
ZDhlMTc1MDE0ZGExZDE5NThjYjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03OTcsNiArNzk3LDcgQEAKIAkJMkQ5QTI0NzUx
NUI5QzJFMzAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5SW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUEyNDcxMTVCOUMyOTUw
MEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeUludGVybmFsLmggKi87IH07CiAJCTJEOUEy
NDc2MTVCOUMyRjQwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeS5oIGluIENvcHkgR2Vu
ZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QTI0
NzAxNUI5QzI5NTAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5LmggKi87IH07CiAJCTJE
OUYwRTEzMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3
IC8qIGxpbmVhclNSR0IuaWNjICovOyB9OworCQkyREYyRTlENTE2NkUzOTc1MDAzNUJFRjIgLyog
SW5zcGVjdG9yQ29uc29sZVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyREYyRTlENDE2NkUzOTc0MDAzNUJFRjIgLyogSW5zcGVjdG9yQ29uc29s
ZVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMkUwODg4RDQxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RDIxMTQ4ODQ4QTAw
QUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovOyB9OwogCQkyRTA4ODhENTExNDg4NDhBMDBB
RjQyNjUgLyogSlNET01Gb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkUwODg4RDMxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEu
aCAqLzsgfTsKIAkJMkUwODg4RTYxMTQ4ODRFMjAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGFDdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUw
ODg4RTUxMTQ4ODRFMjAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGFDdXN0b20uY3BwICovOyB9OwpA
QCAtNzk4MCw2ICs3OTgxLDcgQEAKIAkJMkQ5QTI0NzExNUI5QzI5NTAwRDM0NTI3IC8qIERPTURP
TVNlY3VyaXR5UG9saWN5SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NRE9NU2VjdXJpdHlQb2xpY3lJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyRDlBMjQ3MjE1QjlDMkM3MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3ku
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01ET01TZWN1cml0
eVBvbGljeS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5RjBFMTIxNEZGMUNC
RjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IGxpbmVhclNSR0IuaWNjOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkyREYyRTlENDE2NkUzOTc0MDAzNUJFRjIgLyogSW5zcGVj
dG9yQ29uc29sZVR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3Bl
Y3RvckNvbnNvbGVUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhD
MzExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IERPTUZvcm1EYXRhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4
RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0ODYxLDYgKzE0ODYzLDcgQEAKIAkJCQlGMzMzNUJG
NjEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCAqLywKIAkJCQlG
MzMzNUJGNzEyRTA3REMzMDBEMzMwMTEgLyogSW5zcGVjdG9yQ29uc29sZUFnZW50LmggKi8sCiAJ
CQkJRjNGNUNGMTAxMkVEODFBODAwODRDNTY5IC8qIEluc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50
YXRpb24uaCAqLywKKwkJCQkyREYyRTlENDE2NkUzOTc0MDAzNUJFRjIgLyogSW5zcGVjdG9yQ29u
c29sZVR5cGVzLmggKi8sCiAJCQkJMUM4MUI5NTcwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwICovLAogCQkJCTFDODFCOTU2MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNw
ZWN0b3JDb250cm9sbGVyLmggKi8sCiAJCQkJRjMyNUE0MDgxNEVFMzZGQTAwNzMyNEUyIC8qIElu
c3BlY3RvckNvdW50ZXJzLmNwcCAqLywKQEAgLTI1ODg1LDYgKzI1ODg4LDcgQEAKIAkJCQk5M0Y3
MkFGMzE2NjZFREZDMDAyQTAyQkQgLyogTGF5ZXJQb29sLmggaW4gSGVhZGVycyAqLywKIAkJCQlE
RUJDQ0REMjE2NjQ2RTgyMDBBNDUyRTEgLyogUmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaCBp
biBIZWFkZXJzICovLAogCQkJCURFQkNDREQ0MTY2NDZFQUYwMEE0NTJFMSAvKiBNZWRpYUNvbnRy
b2xFbGVtZW50VHlwZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTJERjJFOUQ1MTY2RTM5NzUwMDM1
QkVGMiAvKiBJbnNwZWN0b3JDb25zb2xlVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3Bw
CmluZGV4IGQxZGMwYjFjZWVkMzIxMTZiNjdmMTI0OGIyODBhNGZkNGQ3YzNiYTMuLmE5YjM0YTY1
NmM4ZmZlYTFlNzllMWNkZTZmNzZmOGY2MGQ0Nzk4NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKQEAgLTc4LDcg
Kzc4LDcgQEAgU3RyaW5nIEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VV
UkkoY29uc3QgU3RyaW5nJiBwcmVmaXgpCiAgICAgICAgIGNhbGxUeXBlID0gbV9jdXN0b21SZXNv
bHZlci0+bWV0aG9kVGFibGUoKS0+Z2V0Q2FsbERhdGEobV9jdXN0b21SZXNvbHZlci5nZXQoKSwg
Y2FsbERhdGEpOwogICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKSB7CiAgICAg
ICAgICAgICAvLyBGSVhNRTogUGFzcyBhY3R1YWwgbGluZSBudW1iZXIgYW5kIHNvdXJjZSBVUkwu
Ci0gICAgICAgICAgICBtX2dsb2JhbE9iamVjdC0+aW1wbCgpLT5jb25zb2xlKCktPmFkZE1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJY
UGF0aE5TUmVzb2x2ZXIgZG9lcyBub3QgaGF2ZSBhIGxvb2t1cE5hbWVzcGFjZVVSSSBtZXRob2Qu
Iik7CisgICAgICAgICAgICBtX2dsb2JhbE9iamVjdC0+aW1wbCgpLT5jb25zb2xlKCktPmFkZE1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlhQYXRoTlNSZXNvbHZl
ciBkb2VzIG5vdCBoYXZlIGEgbG9va3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKTsKICAgICAgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKICAgICAgICAgfQogICAgICAgICBmdW5jdGlvbiA9IG1fY3Vz
dG9tUmVzb2x2ZXIuZ2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAppbmRleCAxYmEwM2E0
NDVjY2RmNzlmNGNkOWQxZTBiMDFlMTE4MGJiMDkzYTI0Li4yZjI3Njc2MzgyNzg3NTUyMTM3ZTY2
OWM4NmVkMzU0NTYwODBiZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKQEAgLTY4LDcg
KzY4LDcgQEAgU3RyaW5nIFY4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VV
UkkoY29uc3QgU3RyaW5nJiBwcmVmaXgpCiAgICAgfQogCiAgICAgaWYgKGxvb2t1cE5hbWVzcGFj
ZVVSSUZ1bmMuSXNFbXB0eSgpICYmICFtX3Jlc29sdmVyLT5Jc0Z1bmN0aW9uKCkpIHsKLSAgICAg
ICAgYWN0aXZlRE9NV2luZG93KEJpbmRpbmdTdGF0ZTo6aW5zdGFuY2UoKSktPmNvbnNvbGUoKS0+
YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIlhQYXRoTlNSZXNvbHZlciBkb2VzIG5vdCBoYXZlIGEgbG9va3VwTmFtZXNwYWNlVVJJ
IG1ldGhvZC4iKTsKKyAgICAgICAgYWN0aXZlRE9NV2luZG93KEJpbmRpbmdTdGF0ZTo6aW5zdGFu
Y2UoKSktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhhdmUgYSBsb29rdXBOYW1lc3BhY2VV
UkkgbWV0aG9kLiIpOwogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYUxpc3QuY3BwCmluZGV4IDI2OGNiNjdlYmY4ODNmNTNjMDFhMDkzY2FmOGVjNDA1YWIz
ZDIwNDcuLjg1ZWU5MGFiODRkMDA0ZGU2YmJhYWIwZThmNmQyNjkzN2ZmNmJhZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYUxpc3QuY3BwCkBAIC0zMjksNyArMzI5LDcgQEAgc3RhdGljIHZvaWQgYWRkUmVz
b2x1dGlvbldhcm5pbmdNZXNzYWdlVG9Db25zb2xlKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3Qg
U3RyaW4KICAgICBpZiAocGFyc2VyKQogICAgICAgICBsaW5lTnVtYmVyID0gcGFyc2VyLT5saW5l
TnVtYmVyKCkub25lQmFzZWRJbnQoKTsKIAotICAgIGRvY3VtZW50LT5kb21XaW5kb3coKS0+Y29u
c29sZSgpLT5hZGRNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgVGlw
TWVzc2FnZUxldmVsLCBtZXNzYWdlLCBkb2N1bWVudC0+dXJsKCkuc3RyaW5nKCksIGxpbmVOdW1i
ZXIpOworICAgIGRvY3VtZW50LT5kb21XaW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEhU
TUxNZXNzYWdlU291cmNlLCBUaXBNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGRvY3VtZW50LT51cmwo
KS5zdHJpbmcoKSwgbGluZU51bWJlcik7CiB9CiAKIHZvaWQgcmVwb3J0TWVkaWFRdWVyeVdhcm5p
bmdJZk5lZWRlZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IE1lZGlhUXVlcnlTZXQqIG1lZGlh
UXVlcnlTZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5MjFjYWExZDQ5NDBiNWI2Y2Yz
YTFmZWM5OWVjNzI5ZjQzNmI1ZjEzLi5mMzI4N2NkY2YyZjYwMjk4ZDhkNTZjZWMzOTMzNjFlOGRk
NDc4MTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTI2MTQsNyArMjYxNCw3IEBAIEV2
ZW50VGFyZ2V0KiBEb2N1bWVudDo6ZXJyb3JFdmVudFRhcmdldCgpCiAKIHZvaWQgRG9jdW1lbnQ6
OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY2FsbFN0YWNrKQogewotICAgIGFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJj
ZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrKTsKKyAgICBhZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwg
bGluZU51bWJlciwgY2FsbFN0YWNrKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0VVJMKGNvbnN0
IEtVUkwmIHVybCkKQEAgLTI4ODMsNyArMjg4Myw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NI
dHRwRXF1aXYoY29uc3QgU3RyaW5nJiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAg
ICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiArIHVy
bCgpLnN0cmluZygpICsgIicgaW4gYSBmcmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRp
b25zJyB0byAnIiArIGNvbnRlbnQgKyAiJy4iOwogICAgICAgICAgICAgICAgIGZyYW1lTG9hZGVy
LT5zdG9wQWxsTG9hZGVycygpOwogICAgICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2No
ZWR1bGVyKCktPnNjaGVkdWxlTG9jYXRpb25DaGFuZ2Uoc2VjdXJpdHlPcmlnaW4oKSwgYmxhbmtV
UkwoKSwgU3RyaW5nKCkpOwotICAgICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCB1
cmwoKS5zdHJpbmcoKSwgMCwgMCwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICAgICAgICAg
IGFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UsIHVybCgpLnN0cmluZygpLCAwLCAwLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGVxdWl2
LCAiY29udGVudC1zZWN1cml0eS1wb2xpY3kiKSkKQEAgLTQ3NDMsMTYgKzQ3NDMsMTYgQEAgdm9p
ZCBEb2N1bWVudDo6cGFyc2VETlNQcmVmZXRjaENvbnRyb2xIZWFkZXIoY29uc3QgU3RyaW5nJiBk
bnNQcmVmZXRjaENvbnRyb2wpCiAgICAgbV9oYXZlRXhwbGljaXRseURpc2FibGVkRE5TUHJlZmV0
Y2ggPSB0cnVlOwogfQogCi12b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIpCit2b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7
CiAgICAgaWYgKCFpc0NvbnRleHRUaHJlYWQoKSkgewotICAgICAgICBwb3N0VGFzayhBZGRDb25z
b2xlTWVzc2FnZVRhc2s6OmNyZWF0ZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlKSk7Cisg
ICAgICAgIHBvc3RUYXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgbGV2
ZWwsIG1lc3NhZ2UpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChET01XaW5k
b3cqIHdpbmRvdyA9IGRvbVdpbmRvdygpKSB7CiAgICAgICAgIGlmIChDb25zb2xlKiBjb25zb2xl
ID0gd2luZG93LT5jb25zb2xlKCkpCi0gICAgICAgICAgICBjb25zb2xlLT5hZGRNZXNzYWdlKHNv
dXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0
YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgICAgICBjb25zb2xlLT5hZGRNZXNzYWdl
KHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNr
LCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IGY1YjhjY2QyYzBhMTFjOGIwOTJiMzEzOWIwMDFiYTdkM2MzMDBiMTEuLmRhN2ZiMTEwZTYyMjg1
Y2Q2Nzg5ZmIzNDk0MDcwODg0Yzk5YmNmZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMjA5
LDcgKzEyMDksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgS1VSTCYgdmlydHVhbFVS
TCgpIGNvbnN0OyAvLyBTYW1lIGFzIHVybCgpLCBidXQgbmVlZGVkIGZvciBTY3JpcHRFeGVjdXRp
b25Db250ZXh0IHRvIGltcGxlbWVudCBpdCB3aXRob3V0IGEgcGVyZm9ybWFuY2UgbG9zcyBmb3Ig
ZGlyZWN0IGNhbGxzLgogICAgIHZpcnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwoY29uc3Qg
U3RyaW5nJikgY29uc3Q7IC8vIFNhbWUgYXMgY29tcGxldGVVUkwoKSBmb3IgdGhlIHNhbWUgcmVh
c29uIGFzIGFib3ZlLgogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAg
dmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIgPSAwKTsKIAogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW1UaW1lckludGVy
dmFsKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCA0ZmE1
NTllOGZiODJiNWNkMjg0N2IzZGEwMjA3OTM2YTUxNzE1NzFmLi4zMDBhNDA4M2U4OGI0OWU0YWI5
MWIzNTIwMmFmYTk1NmY0YmMzNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3Bw
CkBAIC0zMzksNyArMzM5LDcgQEAgdm9pZCBTY3JpcHRFbGVtZW50Ojpub3RpZnlGaW5pc2hlZChD
YWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAKICAgICAgICAgZGlzcGF0Y2hFcnJvckV2ZW50KCk7
CiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFT
Q0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1Pcmln
aW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKLSAgICAgICAgbV9lbGVtZW50LT5kb2N1
bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBtX2VsZW1lbnQt
PmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDAyMWM2
ZTVlNDVkZTFiZGFhOTM5N2M1ZGQ3MDEyODMxMzY5NjViZWUuLjQ3NjZjZWU0Y2M1Yzc4YTY5NmRh
YzIyY2Y0NDc0NDQ1YzYzOTBjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGljOgogCiB2b2lkIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OkFkZENvbnNvbGVNZXNzYWdlVGFzazo6cGVyZm9ybVRhc2soU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSAgICBjb250ZXh0LT5hZGRDb25zb2xl
TWVzc2FnZShtX3NvdXJjZSwgbV90eXBlLCBtX2xldmVsLCBtX21lc3NhZ2UpOworICAgIGNvbnRl
eHQtPmFkZENvbnNvbGVNZXNzYWdlKG1fc291cmNlLCBtX2xldmVsLCBtX21lc3NhZ2UpOwogfQog
CiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkKQEAgLTMy
MSwxNCArMzIxLDE0IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmVwb3J0RXhjZXB0
aW9uKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluCiAgICAgbV9wZW5kaW5nRXhj
ZXB0aW9ucy5jbGVhcigpOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNz
YWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBj
YWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgYWRk
TWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1i
ZXIsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOworICAgIGFkZE1lc3NhZ2Uoc291cmNl
LCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjYWxsU3RhY2ssIHJlcXVl
c3RJZGVudGlmaWVyKTsKIH0KIAotdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2Fn
ZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lk
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllcikKIHsKLSAgICBhZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2Us
IFN0cmluZygpLCAwLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBhZGRNZXNz
YWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIFN0cmluZygpLCAwLCBjYWxsU3RhY2ssIHJlcXVl
c3RJZGVudGlmaWVyKTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAppbmRleCBhM2Y5YjQ3OTgxOTFiMDI0NDdmYzY5YTE3YWM5NjA1ZGQwYzNiOTMx
Li5kNzY2MDcwMTdhNTUyZTZlNDA0YTNmYTViNjgzZjdjNjdlYjJhNmE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTg0LDggKzg0LDggQEAgcHVi
bGljOgogCiAgICAgYm9vbCBzYW5pdGl6ZVNjcmlwdEVycm9yKFN0cmluZyYgZXJyb3JNZXNzYWdl
LCBpbnQmIGxpbmVOdW1iZXIsIFN0cmluZyYgc291cmNlVVJMLCBDYWNoZWRTY3JpcHQqID0gMCk7
CiAgICAgdm9pZCByZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGlu
dCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRD
YWxsU3RhY2s+LCBDYWNoZWRTY3JpcHQqID0gMCk7Ci0gICAgdm9pZCBhZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMID0gU3RyaW5nKCksIHVuc2lnbmVkIGxp
bmVOdW1iZXIgPSAwLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gPSAwLCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0
SWRlbnRpZmllciA9IDApOworICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMID0gU3RyaW5nKCksIHVuc2lnbmVkIGxpbmVOdW1iZXIgPSAwLCBQYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4gPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7
CisgICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAKICNpZiBFTkFCTEUoQkxPQikKICAg
ICBQdWJsaWNVUkxNYW5hZ2VyJiBwdWJsaWNVUkxNYW5hZ2VyKCk7CkBAIC0xNzAsMjEgKzE3MCwx
OSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgY2xhc3MgQWRkQ29uc29sZU1lc3NhZ2VUYXNr
IDogcHVibGljIFRhc2sgewogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8
QWRkQ29uc29sZU1lc3NhZ2VUYXNrPiBjcmVhdGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQor
ICAgICAgICBzdGF0aWMgUGFzc093blB0cjxBZGRDb25zb2xlTWVzc2FnZVRhc2s+IGNyZWF0ZShN
ZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQWRkQ29u
c29sZU1lc3NhZ2VUYXNrKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKKyAgICAgICAg
ICAgIHJldHVybiBhZG9wdFB0cihuZXcgQWRkQ29uc29sZU1lc3NhZ2VUYXNrKHNvdXJjZSwgbGV2
ZWwsIG1lc3NhZ2UpKTsKICAgICAgICAgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRh
c2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHByaXZhdGU6Ci0gICAgICAgIEFkZENv
bnNvbGVNZXNzYWdlVGFzayhNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwg
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCisgICAgICAgIEFkZENv
bnNvbGVNZXNzYWdlVGFzayhNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgICAgICAgICA6IG1fc291cmNlKHNvdXJjZSkK
LSAgICAgICAgICAgICwgbV90eXBlKHR5cGUpCiAgICAgICAgICAgICAsIG1fbGV2ZWwobGV2ZWwp
CiAgICAgICAgICAgICAsIG1fbWVzc2FnZShtZXNzYWdlLmlzb2xhdGVkQ29weSgpKQogICAgICAg
ICB7CiAgICAgICAgIH0KICAgICAgICAgTWVzc2FnZVNvdXJjZSBtX3NvdXJjZTsKLSAgICAgICAg
TWVzc2FnZVR5cGUgbV90eXBlOwogICAgICAgICBNZXNzYWdlTGV2ZWwgbV9sZXZlbDsKICAgICAg
ICAgU3RyaW5nIG1fbWVzc2FnZTsKICAgICB9OwpAQCAtMTkzLDcgKzE5MSw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBjb25zdCBLVVJMJiB2aXJ0dWFsVVJMKCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwoY29uc3QgU3RyaW5nJikgY29uc3QgPSAwOwog
Ci0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUs
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1
bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
ID0gMCkgPSAwOwogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcm
IGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pID0gMDsKICAgICBib29sIGRpc3BhdGNoRXJyb3JF
dmVudChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCBDYWNoZWRTY3JpcHQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3Bv
cnRBcmd1bWVudHMuY3BwCmluZGV4IGU4OTg0YzAzYTdiNmM1NzFkMGZjMjcwOGQ0OTY4NmE5NWYy
NTVhMTEuLjgzODQ3NzE2MDBkNDI0ZGE4YTFlY2Y0YmFjNDQ2ZGQyMmEyOWQxYmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApAQCAtNDYwLDggKzQ2MCw5IEBAIHZv
aWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1bWVudCwgVmlld3BvcnRFcnJv
ckNvZGUgZXJyb3JDb2RlLCBjb25zCiAKICAgICBpZiAoKGVycm9yQ29kZSA9PSBVbnJlY29nbml6
ZWRWaWV3cG9ydEFyZ3VtZW50VmFsdWVFcnJvciB8fCBlcnJvckNvZGUgPT0gVHJ1bmNhdGVkVmll
d3BvcnRBcmd1bWVudFZhbHVlRXJyb3IpICYmIHJlcGxhY2VtZW50MS5maW5kKCc7JykgIT0gV1RG
Ojpub3RGb3VuZCkKICAgICAgICAgbWVzc2FnZS5hcHBlbmQoIiBOb3RlIHRoYXQgJzsnIGlzIG5v
dCBhIHNlcGFyYXRvciBpbiB2aWV3cG9ydCB2YWx1ZXMuIFRoZSBsaXN0IHNob3VsZCBiZSBjb21t
YS1zZXBhcmF0ZWQuIik7CisKICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBt
b3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgIGRvY3VtZW50LT5kb21X
aW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBMb2dNZXNz
YWdlVHlwZSwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdlLCBk
b2N1bWVudC0+dXJsKCkuc3RyaW5nKCksIHBhcnNlckxpbmVOdW1iZXIoZG9jdW1lbnQpKTsKKyAg
ICBkb2N1bWVudC0+ZG9tV2luZG93KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShIVE1MTWVzc2Fn
ZVNvdXJjZSwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdlLCBk
b2N1bWVudC0+dXJsKCkuc3RyaW5nKCksIHBhcnNlckxpbmVOdW1iZXIoZG9jdW1lbnQpKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktp
dEJsb2JCdWlsZGVyLmNwcAppbmRleCA4MzEyYTU0N2M2Mjg4MDc1ZDE0MWY4NDczMDFjNGI1NTJm
NzhmZGRjLi5kMmI2YmVhYjU0NGZiNWNkNTBhMTRkZWJlZTlmMGM0NGI1N2FmNDY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcApAQCAtOTIsNyArOTIs
NyBAQCB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBT
dHJpbmcmIGVuZGluZ1R5cGUpCiB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgQXJyYXlCdWZmZXIqIGFycmF5QnVmZmVyKQogewogICAgIFN0
cmluZyBjb25zb2xlTWVzc2FnZSgiQXJyYXlCdWZmZXIgdmFsdWVzIGFyZSBkZXByZWNhdGVkIGlu
IEJsb2IgQ29uc3RydWN0b3IuIFVzZSBBcnJheUJ1ZmZlclZpZXcgaW5zdGVhZC4iKTsKLSAgICBj
b250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgY29udGV4dC0+YWRk
Q29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25z
b2xlTWVzc2FnZSk7CiAKICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlv
bigiV2ViQ29yZS5CbG9iLmNvbnN0cnVjdG9yLkFycmF5QnVmZmVyT3JWaWV3IiwgQmxvYkNvbnN0
cnVjdG9yQXJyYXlCdWZmZXIsIEJsb2JDb25zdHJ1Y3RvckFycmF5QnVmZmVyT3JWaWV3TWF4KTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5k
ZXggMGM1YmY5MWE3M2VmNTNmNjE5YjgyZWZlODcwMDhjYWYyYWIxYWJlZS4uNGNmMzU5MjAwYmY2
N2YxMGVkZDNlYzY1MjU0NTE5MTk5ZDQ5ZDMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xNzQsNyArMTc0LDcgQEAgc3RhdGljIGJv
b2wgc2hvdWxkQXV0b2ZvY3VzKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1lbnQpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZWxlbWVudC0+ZG9jdW1lbnQoKS0+aXNTYW5kYm94
ZWQoU2FuZGJveEF1dG9tYXRpY0ZlYXR1cmVzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBt
ZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRv
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgot
ICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2Fn
ZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdXRv
Zm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNh
bmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7
CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXV0b2ZvY3VzaW5nIG9uIGEg
Zm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRo
ZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIGlmIChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDU3OGI5NzBkMDQ5MmYyZmQz
M2VhOTkyM2YzNTNiNmIwNjhlNDhlOGYuLjU3ZGE3MzZjOTM4ZmIxNDlmZDU2Y2MxMmEyZWIxMzY1
Nzk4Yjc0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI1
OSw3ICsyNTksNyBAQCBib29sIEhUTUxGb3JtRWxlbWVudDo6dmFsaWRhdGVJbnRlcmFjdGl2ZWx5
KEV2ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIFN0
cmluZyBtZXNzYWdlKCJBbiBpbnZhbGlkIGZvcm0gY29udHJvbCB3aXRoIG5hbWU9JyVuYW1lJyBp
cyBub3QgZm9jdXNhYmxlLiIpOwogICAgICAgICAgICAgbWVzc2FnZS5yZXBsYWNlKCIlbmFtZSIs
IHVuaGFuZGxlZEFzc29jaWF0ZWRFbGVtZW50LT5uYW1lKCkpOwotICAgICAgICAgICAgZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nKCkp
OworICAgICAgICAgICAgZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBkb2N1bWVudCgpLT51cmwoKS5zdHJp
bmcoKSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAppbmRleCAxMTk1ZGNmZTQxZGZlZDBkY2Y1MmNl
ZmE2NTc1YTY3ZDE1ODkxMWY0Li5mOTA2MjhkNzY3YzY4NTcyZGE1Y2NlYjFhY2I5YzIwYWNiZGYx
MGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcApAQCAtOTEs
NyArOTEsNyBAQCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdAogICAgICAgICBzZXRTYW5kYm94Rmxh
Z3ModmFsdWUuaXNOdWxsKCkgPyBTYW5kYm94Tm9uZSA6IFNlY3VyaXR5Q29udGV4dDo6cGFyc2VT
YW5kYm94UG9saWN5KHZhbHVlLCBpbnZhbGlkVG9rZW5zKSk7CiAgICAgICAgIGlmICghaW52YWxp
ZFRva2Vucy5pc051bGwoKSkgewogICAgICAgICAgICAgaW50IGxpbmUgPSBkb2N1bWVudCgpLT5z
Y3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKSA/IGRvY3VtZW50KCktPnNjcmlwdGFibGVEb2N1bWVu
dFBhcnNlcigpLT5saW5lTnVtYmVyKCkub25lQmFzZWRJbnQoKSA6IDA7Ci0gICAgICAgICAgICBk
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRi
b3gnIGF0dHJpYnV0ZTogIiArIGludmFsaWRUb2tlbnMsIGRvY3VtZW50KCktPnVybCgpLnN0cmlu
ZygpLCBsaW5lKTsKKyAgICAgICAgICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhU
TUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yIHdoaWxlIHBhcnNpbmcg
dGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICIgKyBpbnZhbGlkVG9rZW5zLCBkb2N1bWVudCgpLT51
cmwoKS5zdHJpbmcoKSwgbGluZSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG5hbWUgPT0g
c2VhbWxlc3NBdHRyKSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGFkZGluZyBvciByZW1vdmluZyB0
aGUgc2VhbWxlc3MgYXR0cmlidXRlLCB3ZSBuZWVkIHRvIGZvcmNlIHRoZSBjb250ZW50IGRvY3Vt
ZW50IHRvIHJlY2FsY3VsYXRlIGl0cyBTdHlsZVJlc29sdmVyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRyYWNrRWxlbWVudC5jcHAKaW5kZXggZjVmMmI1NjNlYjAyOTY1YWEwNWNlOTNlNDEyNzYz
M2RkYWQ5OTJiNS4uZjQ2ZjU1ZDUxYjk4MmE5NzIyMDg4Y2E0MmNmOGJiODM2OWMxMGZhNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCkBAIC0yMzAsNyArMjMwLDcg
QEAgYm9vbCBIVE1MVHJhY2tFbGVtZW50OjpjYW5Mb2FkVXJsKGNvbnN0IEtVUkwmIHVybCkKIAog
ICAgIGlmICghZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93TWVkaWFG
cm9tU291cmNlKHVybCkpIHsKICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNv
bnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJUZXh0IHRyYWNrIGxvYWQgZGVuaWVkIGJ5IENv
bnRlbnQgU2VjdXJpdHkgUG9saWN5LiIpKSk7Ci0gICAgICAgIGRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsK
ICAgICAgICAgTE9HKE1lZGlhLCAiSFRNTFRyYWNrRWxlbWVudDo6Y2FuTG9hZFVybCglcykgLT4g
cmVqZWN0ZWQgYnkgQ29udGVudCBTZWN1cml0eSBQb2xpY3kiLCB1cmxGb3JMb2dnaW5nKHVybCku
dXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNw
cAppbmRleCBiNDVmZjQwMDk1YjYxMjkyYjAzMzgwZmVmYzk4Y2QyNzExYzY3NDI5Li45ZjFhYzhi
MzI3OWNiNTczYWYxNTYxYjZlZmNhZjY1NjZlZTQ4N2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKQEAgLTE5
MTYsNyArMTkxNiw3IEBAIFBhc3NSZWZQdHI8SW1hZ2VEYXRhPiBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OmdldEltYWdlRGF0YShJbWFnZUJ1ZmZlcjo6Q29vcmRpCiB7CiAgICAgaWYgKCFjYW52
YXMoKS0+b3JpZ2luQ2xlYW4oKSkgewogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmlu
ZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIlVuYWJsZSB0byBnZXQgaW1hZ2UgZGF0
YSBmcm9tIGNhbnZhcyBiZWNhdXNlIHRoZSBjYW52YXMgaGFzIGJlZW4gdGFpbnRlZCBieSBjcm9z
cy1vcmlnaW4gZGF0YS4iKSkpOwotICAgICAgICBjYW52YXMoKS0+ZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgY2FudmFzKCktPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNv
bGVNZXNzYWdlKTsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CiAgICAgICAgIHJldHVybiAw
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwCmluZGV4IGRiYWM0NDg2ZWY5OTI1ZWU5NmQ4ZWNkYTJjMWM0ZTU3YzEx
NGE1NjcuLjZmMzcwZTM0ZDBlMWQ2MDdhZTIzYTQ3YzM3OWY3MDdmYTM5MzRmN2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cApAQCAtNTI0NSw3ICs1MjQ1LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnByaW50
V2FybmluZ1RvQ29uc29sZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgRG9jdW1lbnQqIGRv
Y3VtZW50ID0gY2FudmFzKCktPmRvY3VtZW50KCk7CiAgICAgaWYgKCFkb2N1bWVudCkKICAgICAg
ICAgcmV0dXJuOwotICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNv
dXJjZSwgTG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGRvY3Vt
ZW50LT51cmwoKS5zdHJpbmcoKSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEhU
TUxNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBkb2N1bWVudC0+
dXJsKCkuc3RyaW5nKCkpOwogfQogCiBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRh
dGVGcmFtZWJ1ZmZlckZ1bmNQYXJhbWV0ZXJzKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0Mz
RGVudW0gdGFyZ2V0LCBHQzNEZW51bSBhdHRhY2htZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9YU1NBdWRpdG9yLmNwcAppbmRleCA5M2JlY2Q5OTM3ZTI5ZDE5MTU2MzZlNDMzMmQzOTVm
NzIyMmYzOGIyLi5hY2ZjYzJmYjllODRlMjViNWQ1ZDQzOTI5YjY3ODljNzBmNDlkZjMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcApAQCAtMjM5LDcgKzIzOSw3
IEBAIHZvaWQgWFNTQXVkaXRvcjo6aW5pdCgpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV94
c3NQcm90ZWN0aW9uID09IFhTU1Byb3RlY3Rpb25JbnZhbGlkKSB7Ci0gICAgICAgICAgICBtX3Bh
cnNlci0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciBwYXJzaW5nIGhlYWRlciBYLVhT
Uy1Qcm90ZWN0aW9uOiAiICsgaGVhZGVyVmFsdWUgKyAiOiAiICArIGVycm9yRGV0YWlscyArICIg
YXQgY2hhcmFjdGVyIHBvc2l0aW9uICIgKyBTdHJpbmc6OmZvcm1hdCgiJXUiLCBlcnJvclBvc2l0
aW9uKSArICIuIFRoZSBkZWZhdWx0IHByb3RlY3Rpb25zIHdpbGwgYmUgYXBwbGllZC4iKTsKKyAg
ICAgICAgICAgIG1fcGFyc2VyLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1YU1Mt
UHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVlICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAiIGF0
IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3RyaW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlv
bikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CiAgICAg
ICAgICAgICBtX3hzc1Byb3RlY3Rpb24gPSBYU1NQcm90ZWN0aW9uRW5hYmxlZDsKICAgICAgICAg
fQogCkBAIC0yOTAsNyArMjkwLDcgQEAgdm9pZCBYU1NBdWRpdG9yOjpmaWx0ZXJUb2tlbihIVE1M
VG9rZW4mIHRva2VuKQogICAgIGlmIChkaWRCbG9ja1NjcmlwdCkgewogICAgICAgICAvLyBGSVhN
RTogQ29uc2lkZXIgdXNpbmcgYSBtb3JlIGhlbHBmdWwgY29uc29sZSBtZXNzYWdlLgogICAgICAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVy
YWwoIlJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29kZSBv
ZiBzY3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3QuXG4iKSkpOwotICAgICAgICBtX3BhcnNlci0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdl
VHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgbV9wYXJz
ZXItPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKIAogICAgICAgICBib29sIGRpZEJsb2NrRW50
aXJlUGFnZSA9IChtX3hzc1Byb3RlY3Rpb24gPT0gWFNTUHJvdGVjdGlvbkJsb2NrRW5hYmxlZCk7
CiAgICAgICAgIGlmIChkaWRCbG9ja0VudGlyZVBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5oCmluZGV4IDE1N2U2ZjM1YWEzMzA2ZThjYjNkNTgyODU5MzgyNjM1
OGFiYzRiZTMuLjFjYTczZjExOTQ5MGU1MTU2YmYwYzNmM2E0YThiZmVmNjNmYmY0OGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0zMiw2ICszMiw3IEBA
CiAjZGVmaW5lIENvbnNvbGVNZXNzYWdlX2gKIAogI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgor
I2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNv
bGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2Vu
dC5oCmluZGV4IDUxMWYyYzJkMmI5NzlkM2IwMzZiOGY5NTgzYjQyZGJiMzJjNWNlMTguLjRmYWVl
ZGQ1YmMzYjJlZGRhZGIyNTdjODNhZDdjMjdhNjU3NzExODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTI5LDYgKzI5LDcgQEAK
IAogI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2Vu
dC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckZyb250ZW5kLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnNvbGVUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNv
bGVUeXBlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlZTRhYmYwZmVmODM5YjgzMmFlNDhjMmQwOGFiNmYwYTgy
NDBjZGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29uc29sZVR5cGVzLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBJbnNwZWN0b3JDb25zb2xlVHlwZXNfaAorI2RlZmluZSBJbnNwZWN0b3JDb25zb2xlVHlwZXNf
aAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gTWVzc2FnZVR5cGUgeworICAgIExvZ01l
c3NhZ2VUeXBlLAorICAgIERpck1lc3NhZ2VUeXBlLAorICAgIERpclhNTE1lc3NhZ2VUeXBlLAor
ICAgIFRyYWNlTWVzc2FnZVR5cGUsCisgICAgU3RhcnRHcm91cE1lc3NhZ2VUeXBlLAorICAgIFN0
YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSwKKyAgICBFbmRHcm91cE1lc3NhZ2VUeXBlLAor
ICAgIENsZWFyTWVzc2FnZVR5cGUsCisgICAgQXNzZXJ0TWVzc2FnZVR5cGUsCisgICAgVGltaW5n
TWVzc2FnZVR5cGUKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENv
bnNvbGVUeXBlc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRl
YnVnZ2VyQWdlbnQuaAppbmRleCA4MWJjZWVkZWM2OTlmNzcxMmNlZGJiZjQwZDk2OWRhMjk2MDAx
MmJiLi45OGQwZWFiODUzZGViMWRhYWYzZjM3ZDJjMThmZTFlYmM5NmQ5YzVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTM0
LDYgKzM0LDcgQEAKICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJJbmplY3Rl
ZFNjcmlwdC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgorI2luY2x1ZGUgIklu
c3BlY3RvckNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCiAj
aW5jbHVkZSAiU2NyaXB0QnJlYWtwb2ludC5oIgogI2luY2x1ZGUgIlNjcmlwdERlYnVnTGlzdGVu
ZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAKaW5kZXggNmY2YTlhYjZlZjIxYzYxYjBhN2IwNjBiMjY4YWY5MzgzMmMw
NjY5Ni4uMzE4ZTM0NmNlZGEyNGIwNWNkYTAzMjI0OWRhMDVhZjM4ODNkYmIxMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JDU1NBZ2VudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckNhbnZhc0FnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggMmM2
ZDJhOTI4ZmZlYzhiZWNjZWY1ZDljMGY3NzQ2NzRlYmZiNTBmMi4uMDEyMTkyMjA1NmJlNzI2MDcw
ZWFjM2YzOGI0YWY4ODIwNjQ4ZGIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1
ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGcmFt
ZS5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2NyaXB0
U3RhdGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
cm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmNwcAppbmRleCA2ZDcxODViYzQ4YTgxNmJhZGM4MzA0ZTFjZDdjNmZmNGMzOTQ3
ZjdjLi4zN2VmNzE1Nzc4MGNhNDVjNDUzMmRmOWJmMDMwMWQ0MmNhY2I1ZjQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCkBA
IC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRlICJJ
bmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIK
KyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JG
cm9udGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yVmFsdWVzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggODY5Zjkw
ZjU0YTc3MjhlOTBiMjliYzkxZDJjMjM5OGViNmNhZjg5Yy4uZDlhYTY3YWNhNWVkMzA1YzI3MWI1
NzQ3ZDk4MGJmOGVkZjUwNDUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMTA1LDcgKzEwNSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFi
bGUoYm9vbCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNp
Z25lZCwgY29uc3QgU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0Nv
bnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25l
ZCwgY29uc3QgU3RyaW5nJikgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5s
b2FkQ29uZmlybVBhbmVsKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgcnVu
QmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYsIEZyYW1lKikgeyByZXR1cm4g
dHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMTYxNjYwMzlk
ODY1OTIwOTk1MTVhNGJiY2Q0YTM1NTIwOTc4MTk0MS4uY2MzOWFlNmM1Y2UzODQ2NGI2Y2YxOGFj
ZWVlODNmNzMxMGQwMDU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBA
IC0xNDA2LDcgKzE0MDYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRGYWls
ZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVybCkKICAgICBpZiAoIWZyYW1lKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJOb3Qg
YWxsb3dlZCB0byBsb2FkIGxvY2FsIHJlc291cmNlOiAiICsgdXJsKTsKKyAgICBmcmFtZS0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwpOwogfQog
CiBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIEZyYW1lTG9hZGVyOjppbml0aWFsUmVxdWVzdCgpIGNv
bnN0CkBAIC0yOTIxLDcgKzI5MjEsNyBAQCBib29sIEZyYW1lTG9hZGVyOjpzaG91bGRJbnRlcnJ1
cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyhjb25zdCBTdHJpbmcmIGNvbnRlbnQsIGNvbgogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfSBlbHNlIHsKICAgICAgICAgU3RyaW5nIG1lc3NhZ2Ug
PSAiSW52YWxpZCAnWC1GcmFtZS1PcHRpb25zJyBoZWFkZXIgZW5jb3VudGVyZWQgd2hlbiBsb2Fk
aW5nICciICsgdXJsLnN0cmluZygpICsgIic6ICciICsgY29udGVudCArICInIGlzIG5vdCBhIHJl
Y29nbml6ZWQgZGlyZWN0aXZlLiBUaGUgaGVhZGVyIHdpbGwgYmUgaWdub3JlZC4iOwotICAgICAg
ICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgdXJsLnN0cmluZygp
LCAwLCAwLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UsIHVybC5zdHJpbmcoKSwgMCwgMCwgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIH0KIAog
ICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4
IGUyMjQ3ZDI1NGM3Zjg2MDllZjZlYTJhOTc3M2I1ZjlmN2QxYjY5NWEuLmU2N2VkNTkwNDY3ODA4
ODI4NGNmMzY0OTAyMGUxMzFkYmEwMjhjMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmNwcApAQCAtMjgyLDcgKzI4Miw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlz
aGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICAgICAgZXJyb3JFdmVudFNlbmRlcigp
LmRpc3BhdGNoRXZlbnRTb29uKHRoaXMpOwogCiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwo
U3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIGltYWdl
IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iKSkp
OwotICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAg
ICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICAgICAgQVNTRVJUKCFtX2hhc1Bl
bmRpbmdMb2FkRXZlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFp
blJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VM
b2FkZXIuY3BwCmluZGV4IDY3OGE5OWQ1OWEyM2U3YzI5MjVmNDQ5YzM4Nzg3MjJmNGNiZGIwMTUu
LmRmMDlmMGNjZDA5MTUzYTJjZDFkMWNkZGMwMmEzMWEyMzUxY2Q2YmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zNjcsNyArMzY3LDcgQEAg
dm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByKQogICAgICAgICBpZiAoZnJhbWVMb2FkZXIoKS0+c2hvdWxkSW50ZXJydXB0
TG9hZEZvclhGcmFtZU9wdGlvbnMoY29udGVudCwgci51cmwoKSwgaWRlbnRpZmllcigpKSkgewog
ICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZUFmdGVyWEZyYW1l
T3B0aW9uc0RlbmllZChtX2RvY3VtZW50TG9hZGVyLT5mcmFtZSgpLCBkb2N1bWVudExvYWRlcigp
LCBpZGVudGlmaWVyKCksIHIpOwogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiUmVmdXNl
ZCB0byBkaXNwbGF5ICciICsgci51cmwoKS5zdHJpbmcoKSArICInIGluIGEgZnJhbWUgYmVjYXVz
ZSBpdCBzZXQgJ1gtRnJhbWUtT3B0aW9ucycgdG8gJyIgKyBjb250ZW50ICsgIicuIjsKLSAgICAg
ICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCBtZXNzYWdlLCByLnVybCgpLnN0cmluZygpLCAwLCAwLCBpZGVudGlmaWVyKCkpOworICAgICAg
ICAgICAgbV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgci51cmwo
KS5zdHJpbmcoKSwgMCwgMCwgaWRlbnRpZmllcigpKTsKIAogICAgICAgICAgICAgY2FuY2VsKCk7
CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TWl4ZWRDb250ZW50Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250
ZW50Q2hlY2tlci5jcHAKaW5kZXggMzgxOGQ1ZmIwMWFlMTJhNjQzMTVjNGFmZDQ5YzQzOGViZTY5
ZDBhMS4uYjhjMjkzZGNiM2IzODBjMzlkNWNmNDE4N2Q1MjViMTliZWIyYjQyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcApAQCAtMTAyLDcgKzEw
Miw3IEBAIHZvaWQgTWl4ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyhib29sIGFsbG93ZWQs
IGNvbnN0IFN0cmluZyYgYWN0aW9uLCBjb25zdCBLCiAgICAgLy8gRklYTUU6IFdoeSBkb2VzIHRo
aXMgbWVzc2FnZSBub3QgaGF2ZSBhIHNvdXJjZSBVUkwgb3IgYSBsaW5lIG51bWJlcj8gd2Via2l0
Lm9yZy9iLzk3OTc5CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBTdHJpbmc6OmZvcm1hdCgiJXNUaGUg
cGFnZSBhdCAlcyAlcyBpbnNlY3VyZSBjb250ZW50IGZyb20gJXMuXG4iLAogICAgICAgICAoYWxs
b3dlZCA/ICIiIDogIltibG9ja2VkXSAiKSwgYXNVVEY4KG1fZnJhbWUtPmRvY3VtZW50KCktPnVy
bCgpKS5kYXRhKCksIGFjdGlvbi51dGY4KCkuZGF0YSgpLCBhc1VURjgodGFyZ2V0KS5kYXRhKCkp
OwotICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdl
U291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7Cisg
ICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3Vy
Y2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCmluZGV4IDdl
MTRiNDMzNDljODUwYTE5NWI2NmMyNTkwNjEzNmQ4YjgwZjZmNDAuLmY2YWVmNDlmMDkwYjk3Nzdl
N2RiZTllNjAxOTkxZDI4YzIwMTI2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJh
Y2tMb2FkZXIuY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6OmNv
cnNQb2xpY3lQcmV2ZW50ZWRMb2FkKCkKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmlu
ZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiB0ZXh0IHRyYWNr
IGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iKSkp
OwogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4obV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVN
ZXNzYWdlKTsKKyAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogICAgIG1fc3RhdGUgPSBGYWls
ZWQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggMTE4ZWUxYTVkODVkMzcwZDM2NTA1NWYzMTVl
MzA2Zjg2YzRhMjIyNi4uYWYyYzk1MmRhOGRkYmEwMzlmOTQ2NjQ3MzEyYTJmOWYyM2Q4NzM3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5jcHAKQEAgLTQ3NCw3ICs0NzQsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cDo6YWJvcnQoRnJhbWUqIGZyYW1lKQogICAgIGlmIChtX2NvbXBsZXRpb25UeXBlICE9
IE5vbmUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25z
b2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBUaXBNZXNzYWdl
TGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBkb3dubG9hZCBwcm9jZXNzIHdhcyBhYm9ydGVkLiIp
OworICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VT
b3VyY2UsIFRpcE1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIGRvd25sb2FkIHByb2Nl
c3Mgd2FzIGFib3J0ZWQuIik7CiAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKIH0KIApAQCAtNTY4
LDcgKzU2OCw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNlaXZlUmVzcG9u
c2UoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzCiAKICAgICBpZiAocmVzcG9uc2Uu
aHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyIHx8IHJlc3BvbnNlLnVybCgpICE9IG1fY3VycmVu
dEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkpIHsKICAgICAgICAgaWYgKCh0eXBlICYgQXBw
bGljYXRpb25DYWNoZVJlc291cmNlOjpFeHBsaWNpdCkgfHwgKHR5cGUgJiBBcHBsaWNhdGlvbkNh
Y2hlUmVzb3VyY2U6OkZhbGxiYWNrKSkgewotICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNh
dXNlICIgKyBtX2N1cnJlbnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpLnN0cmluZygpICsg
CisgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhl
ck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBk
YXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgbV9jdXJyZW50SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51
cmwoKS5zdHJpbmcoKSArIAogICAgICAgICAgICAgICAgICgocmVzcG9uc2UuaHR0cFN0YXR1c0Nv
ZGUoKSAvIDEwMCAhPSAyKSA/ICIgY291bGQgbm90IGJlIGZldGNoZWQuIiA6ICIgd2FzIHJlZGly
ZWN0ZWQuIikpOwogICAgICAgICAgICAgLy8gTm90ZSB0aGF0IGNhY2hlVXBkYXRlRmFpbGVkKCkg
Y2FuIGNhdXNlIHRoZSBjYWNoZSBncm91cCB0byBiZSBkZWxldGVkLgogICAgICAgICAgICAgY2Fj
aGVVcGRhdGVGYWlsZWQoKTsKQEAgLTY0NSw3ICs2NDUsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBkb3VibGUg
ZmluaQogICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgYnJlYWsgZWFybGllciBhbmQgcHJldmVudCBy
ZWRvd25sb2FkaW5nIG9uIGxhdGVyIHBhZ2UgbG9hZHM/CiAgICAgaWYgKG1fb3JpZ2luUXVvdGFF
eGNlZWRlZFByZXZpb3VzbHkgJiYgbV9hdmFpbGFibGVTcGFjZUluUXVvdGEgPCBtX2NhY2hlQmVp
bmdVcGRhdGVkLT5lc3RpbWF0ZWRTaXplSW5TdG9yYWdlKCkpIHsKICAgICAgICAgbV9jdXJyZW50
UmVzb3VyY2UgPSAwOwotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3
YXMgZXhjZWVkZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlv
biBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIp
OwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpA
QCAtNjc4LDcgKzY3OCw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGYWlsKFJl
c291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlRXJyb3ImCiAgICAgbV9wZW5kaW5n
RW50cmllcy5yZW1vdmUodXJsKTsKIAogICAgIGlmICgodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVS
ZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpG
YWxsYmFjaykpIHsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyB1cmwuc3RyaW5n
KCkgKyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxl
dmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgdXJsLnN0
cmluZygpICsgIiBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iKTsKICAgICAgICAgLy8gTm90ZSB0aGF0
IGNhY2hlVXBkYXRlRmFpbGVkKCkgY2FuIGNhdXNlIHRoZSBjYWNoZSBncm91cCB0byBiZSBkZWxl
dGVkLgogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgIH0gZWxzZSB7CkBAIC03MDcs
MTMgKzcwNywxMyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1hbmlm
ZXN0UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcgogICAgICAgICByZXR1cm47CiAK
ICAgICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyKSB7Ci0gICAgICAg
IG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUg
bWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZC4i
KTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAogICAgIGlmIChyZXNwb25zZS51cmwoKSAhPSBtX21hbmlmZXN0SGFuZGxlLT5maXJzdFJlcXVl
c3QoKS51cmwoKSkgewotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNh
dXNlIGEgcmVkaXJlY3Rpb24gd2FzIGF0dGVtcHRlZC4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVk
LCBiZWNhdXNlIGEgcmVkaXJlY3Rpb24gd2FzIGF0dGVtcHRlZC4iKTsKICAgICAgICAgY2FjaGVV
cGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTczMyw3ICs3MzMsNyBA
QCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KCkK
IAogICAgIGlmICghaXNVcGdyYWRlQXR0ZW1wdCAmJiAhbV9tYW5pZmVzdFJlc291cmNlKSB7CiAg
ICAgICAgIC8vIFRoZSBzZXJ2ZXIgcmV0dXJuZWQgMzA0IE5vdCBNb2RpZmllZCBldmVuIHRob3Vn
aCB3ZSBkaWRuJ3Qgc2VuZCBhIGNvbmRpdGlvbmFsIHJlcXVlc3QuCi0gICAgICAgIG1fZnJhbWUt
PmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3Qg
Y291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVzZSBvZiBhbiB1bmV4cGVjdGVkIDMwNCBOb3QgTW9k
aWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAi
QXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVzZSBv
ZiBhbiB1bmV4cGVjdGVkIDMwNCBOb3QgTW9kaWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpOwogICAg
ICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNzU5
LDcgKzc1OSw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5n
TWFuaWZlc3QoKQogICAgIE1hbmlmZXN0IG1hbmlmZXN0OwogICAgIGlmICghcGFyc2VNYW5pZmVz
dChtX21hbmlmZXN0VVJMLCBtX21hbmlmZXN0UmVzb3VyY2UtPmRhdGEoKS0+ZGF0YSgpLCBtX21h
bmlmZXN0UmVzb3VyY2UtPmRhdGEoKS0+c2l6ZSgpLCBtYW5pZmVzdCkpIHsKICAgICAgICAgLy8g
QXQgdGhlIHRpbWUgb2YgdGhpcyB3cml0aW5nLCBsYWNrIG9mICJDQUNIRSBNQU5JRkVTVCIgc2ln
bmF0dXJlIGlzIHRoZSBvbmx5IHJlYXNvbiBmb3IgcGFyc2VNYW5pZmVzdCB0byBmYWlsLgotICAg
ICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VT
b3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENh
Y2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBDQUNI
RSBNQU5JRkVTVD8iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9u
IENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBD
QUNIRSBNQU5JRkVTVD8iKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KQEAgLTk0OCw3ICs5NDgsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKCkKICAgICAgICAgICAgICAgICAvLyBXZSByYW4g
b3V0IG9mIHNwYWNlIGZvciB0aGlzIG9yaWdpbi4gRmFsbCBkb3duIHRvIHRoZSBub3JtYWwgZXJy
b3IgaGFuZGxpbmcKICAgICAgICAgICAgICAgICAvLyBhZnRlciByZWNvcmRpbmcgdGhpcyBzdGF0
ZS4KICAgICAgICAgICAgICAgICBtX29yaWdpblF1b3RhRXhjZWVkZWRQcmV2aW91c2x5ID0gdHJ1
ZTsKLSAgICAgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMg
ZXhjZWVkZWQuIik7CisgICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxp
Y2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVk
ZWQuIik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChmYWlsdXJlUmVhc29uID09
IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpUb3RhbFF1b3RhUmVhY2hlZCAmJiAhbV9jYWxsZWRS
ZWFjaGVkTWF4QXBwQ2FjaGVTaXplKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA0ZmJhZjQ3N2M3NTBmMTNmOGZm
NjhiMTM2YmU5NzFiYWQ1OTE3ZDU3Li5jNThlMjIwNTQ1MDczNTQwZjNkY2E1ZTdiNmRlNGEzZmU2
MjJhZTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAKQEAgLTY0MSw3ICs2NDEsNyBAQCB2b2lkIENhY2hlZFJlc291cmNl
TG9hZGVyOjpwcmludEFjY2Vzc0RlbmllZE1lc3NhZ2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAog
ICAgICAgICBtZXNzYWdlID0gIlVuc2FmZSBhdHRlbXB0IHRvIGxvYWQgVVJMICIgKyB1cmwuc3Ry
aW5nKCkgKyAiIGZyb20gZnJhbWUgd2l0aCBVUkwgIiArIG1fZG9jdW1lbnQtPnVybCgpLnN0cmlu
ZygpICsgIi4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLlxuIjsKIAog
ICAgIC8vIEZJWE1FOiBwcm92aWRlIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgVVJMLgotICAgIGZy
YW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBmcmFtZSgp
LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
c2V0QXV0b0xvYWRJbWFnZXMoYm9vbCBlbmFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAppbmRleCAzNWMzMjMyOGMzNDNhMGY1NjkzMjk2ZDcwNTcxMTc3MzA4YmFhYjI5Li45YjgwMjNk
OTFiZDFiNTU2ODY1MTgxNWU0NzhkYTVmYWFjNzIxYzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgKQEAgLTEzNCw3ICsxMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAg
ICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKSA9IDA7CiAgICAgICAgIAotICAgICAg
ICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdl
VHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBs
aW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKSA9IDA7CisgICAgICAgIHZpcnR1YWwg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VJRCkgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxv
YWRDb25maXJtUGFuZWwoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxv
YWRDb25maXJtUGFuZWwoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBGcmFtZSogZnJhbWUpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnNvbGUuY3BwCmluZGV4IGM5YmJmZDVmMjE3MGYzNGZiYzBhY2IwYTllODM0
YjU0NmM3ZjlkMTIuLjU4MjY0NTRkMWQzNGFhYTdlNWRmNTdlNWYxNDgxNzQwMjVkNGUxMTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Db25zb2xlLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkZyYW1l
TG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29u
c29sZUluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVUeXBlcy5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJNZW1vcnlJbmZv
LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtMTMzLDEyICsxMzQsMTIgQEAgc3RhdGljIHZvaWQg
cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VMZXZlbAogICAgIHByaW50ZigiJXMgJXM6Iiwgc291cmNlU3RyaW5nLCBsZXZlbFN0cmlu
Zyk7CiB9CiAKLXZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCit2b2lkIENvbnNvbGU6
OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNr
KQogewotICAgIGFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgU3RyaW5n
KCksIDAsIGNhbGxTdGFjaywgMCk7CisgICAgYWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNz
YWdlLCBTdHJpbmcoKSwgMCwgY2FsbFN0YWNrLCAwKTsKIH0KIAotdm9pZCBDb25zb2xlOjphZGRN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2
ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiB1cmwsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHVybCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllcikKIHsKICAgICBpZiAobXV0ZUNvdW50ICYmIHNvdXJjZSAhPSBDb25zb2xlQVBJTWVzc2Fn
ZVNvdXJjZSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTQ3LDEyICsxNDgsMTIgQEAgdm9pZCBDb25z
b2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBN
ZXNzYWdlTGV2ZWwgbGUKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBh
Z2UtPmNocm9tZSgpLT5jbGllbnQoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIHR5cGUs
IGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCB1cmwpOworICAgIHBhZ2UtPmNocm9tZSgpLT5j
bGllbnQoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5l
TnVtYmVyLCB1cmwpOwogCiAgICAgaWYgKGNhbGxTdGFjaykKLSAgICAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIHNvdXJjZSwgdHlwZSwgbGV2
ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgc291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZp
ZXIpOwogICAgIGVsc2UKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNz
YWdlVG9Db25zb2xlKHBhZ2UsIHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGlu
ZU51bWJlciwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
bGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZU51bWJlciwgcmVxdWVzdElkZW50aWZpZXIpOwogCiAg
ICAgaWYgKCFDb25zb2xlOjpzaG91bGRQcmludEV4Y2VwdGlvbnMoKSkKICAgICAgICAgcmV0dXJu
OwpAQCAtMTYzLDExICsxNjQsMTAgQEAgdm9pZCBDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGUKICAgICBwcmlu
dGYoIiAlc1xuIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKIH0KIAotdm9pZCBDb25zb2xlOjph
ZGRNZXNzYWdlKE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgU2NyaXB0U3Rh
dGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gcHJwQXJndW1lbnRzLCBib29s
IGFjY2VwdE5vQXJndW1lbnRzLCBib29sIHByaW50VHJhY2UpCitzdGF0aWMgdm9pZCBpbnRlcm5h
bEFkZE1lc3NhZ2UoUGFnZSogcGFnZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxl
dmVsLCBTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBwcnBB
cmd1bWVudHMsIGJvb2wgcHJpbnRFeGNlcHRpb25zLCBib29sIGFjY2VwdE5vQXJndW1lbnRzID0g
ZmFsc2UsIGJvb2wgcHJpbnRUcmFjZSA9IGZhbHNlKQogewogICAgIFJlZlB0cjxTY3JpcHRBcmd1
bWVudHM+IGFyZ3VtZW50cyA9IHBycEFyZ3VtZW50czsKIAotICAgIFBhZ2UqIHBhZ2UgPSB0aGlz
LT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKQEAgLTE3OCw3ICsx
NzgsNyBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2Fn
ZUxldmVsIGxldmVsLCBTY3JpcHRTdGF0ZSogc3RhdAogICAgIFJlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IGNhbGxTdGFjayhjcmVhdGVTY3JpcHRDYWxsU3RhY2soc3RhdGUsIHN0YWNrU2l6ZSkpOwog
ICAgIGNvbnN0IFNjcmlwdENhbGxGcmFtZSYgbGFzdENhbGxlciA9IGNhbGxTdGFjay0+YXQoMCk7
CiAKLSAgICBpZiAoc2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpIHsKKyAgICBpZiAocHJpbnRFeGNl
cHRpb25zKSB7CiAgICAgICAgIHByaW50U291cmNlVVJMQW5kTGluZShsYXN0Q2FsbGVyLnNvdXJj
ZVVSTCgpLCAwKTsKICAgICAgICAgcHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoQ29u
c29sZUFQSU1lc3NhZ2VTb3VyY2UsIGxldmVsKTsKIApAQCAtMjAwLDcgKzIwMCw3IEBAIHZvaWQg
Q29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWws
IFNjcmlwdFN0YXRlKiBzdGF0CiAKICAgICBTdHJpbmcgbWVzc2FnZTsKICAgICBpZiAoYXJndW1l
bnRzLT5nZXRGaXJzdEFyZ3VtZW50QXNTdHJpbmcobWVzc2FnZSkpCi0gICAgICAgIHBhZ2UtPmNo
cm9tZSgpLT5jbGllbnQoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShDb25zb2xlQVBJTWVzc2FnZVNv
dXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxhc3RDYWxsZXIubGluZU51bWJlcigpLCBsYXN0
Q2FsbGVyLnNvdXJjZVVSTCgpKTsKKyAgICAgICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5h
ZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBsZXZlbCwgbWVzc2Fn
ZSwgbGFzdENhbGxlci5saW5lTnVtYmVyKCksIGxhc3RDYWxsZXIuc291cmNlVVJMKCkpOwogCiAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIENv
bnNvbGVBUElNZXNzYWdlU291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc3RhdGUsIGFyZ3Vt
ZW50cy5yZWxlYXNlKCkpOwogfQpAQCAtMjEzLDcgKzIxMyw3IEBAIHZvaWQgQ29uc29sZTo6ZGVi
dWcoU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1l
bnRzKQogCiB2b2lkIENvbnNvbGU6OmVycm9yKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBhZGRNZXNzYWdlKExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJu
YWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBz
dGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9CiAKIHZvaWQgQ29u
c29sZTo6aW5mbyhTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRz
PiBhcmd1bWVudHMpCkBAIC0yMjMsMzIgKzIyMywzMiBAQCB2b2lkIENvbnNvbGU6OmluZm8oU2Ny
aXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQog
CiB2b2lkIENvbnNvbGU6OmxvZyhTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgYWRkTWVzc2FnZShMb2dNZXNzYWdlVHlwZSwg
TG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFkZE1lc3Nh
Z2UocGFnZSgpLCBMb2dNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1l
bnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6d2FybihT
Y3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMp
CiB7Ci0gICAgYWRkTWVzc2FnZShMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwg
c3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVz
c2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHNob3VsZFBy
aW50RXhjZXB0aW9ucygpKTsKIH0KIAogdm9pZCBDb25zb2xlOjpkaXIoU2NyaXB0U3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1l
c3NhZ2UoRGlyTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7
CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgRGlyTWVzc2FnZVR5cGUsIExvZ01lc3Nh
Z2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpOwogfQog
CiB2b2lkIENvbnNvbGU6OmRpcnhtbChTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2Ny
aXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgYWRkTWVzc2FnZShEaXJYTUxNZXNzYWdl
VHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzKTsKKyAgICBpbnRlcm5hbEFk
ZE1lc3NhZ2UocGFnZSgpLCBEaXJYTUxNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0
ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9CiAKIHZvaWQgQ29uc29s
ZTo6Y2xlYXIoU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4g
YXJndW1lbnRzKQogewotICAgIGFkZE1lc3NhZ2UoQ2xlYXJNZXNzYWdlVHlwZSwgTG9nTWVzc2Fn
ZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlKTsKKyAgICBpbnRlcm5hbEFkZE1lc3NhZ2Uo
cGFnZSgpLCBDbGVhck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVu
dHMsIHNob3VsZFByaW50RXhjZXB0aW9ucygpLCB0cnVlKTsKIH0KIAogdm9pZCBDb25zb2xlOjp0
cmFjZShTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1
bWVudHMpCiB7Ci0gICAgYWRkTWVzc2FnZShUcmFjZU1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2
ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHRydWUsIHNob3VsZFByaW50RXhjZXB0aW9ucygpKTsKKyAg
ICBpbnRlcm5hbEFkZE1lc3NhZ2UocGFnZSgpLCBUcmFjZU1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdl
TGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHNob3VsZFByaW50RXhjZXB0aW9ucygpLCB0cnVlLCBz
aG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6YXNzZXJ0Q29uZGl0
aW9uKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3Vt
ZW50cywgYm9vbCBjb25kaXRpb24pCkBAIC0yNTYsNyArMjU2LDcgQEAgdm9pZCBDb25zb2xlOjph
c3NlcnRDb25kaXRpb24oU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3Vt
ZW50cz4gYXIKICAgICBpZiAoY29uZGl0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBhZGRN
ZXNzYWdlKEFzc2VydE1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3Vt
ZW50cywgdHJ1ZSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgQXNzZXJ0TWVzc2Fn
ZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4
Y2VwdGlvbnMoKSwgdHJ1ZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6Y291bnQoU2NyaXB0U3RhdGUq
IHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnNvbGUuaAppbmRleCAxZWYzMjZmZDU1NGM1Y2NkYTRmZTcwOTM4MDVkZjE5OTdjMTFlZjI5Li5i
YTI4YmVlMzk5N2FlYjI0N2EwZjg1ZGJiNzc3YmViNTkxZGZjMmI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNv
bGUuaApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5j
bHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlVHlw
ZXMuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRQcm9m
aWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKQEAgLTU2LDggKzU3LDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvbnNvbGU+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBDb25zb2xlKGZyYW1lKSk7IH0KICAgICB2aXJ0dWFsIH5Db25z
b2xlKCk7CiAKLSAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUs
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCA9IFN0cmluZygpLCB1bnNpZ25lZCBsaW5lTnVtYmVyID0gMCwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+ID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwot
ICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7
CisgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCA9IFN0cmluZygpLCB1bnNp
Z25lZCBsaW5lTnVtYmVyID0gMCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+ID0gMCwgdW5z
aWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAgIHZvaWQgYWRkTWVzc2FnZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKIAogICAgIHZvaWQgZGVidWcoU2NyaXB0U3RhdGUqLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwogICAgIHZvaWQgZXJyb3IoU2NyaXB0U3RhdGUq
LCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4pOwpAQCAtOTMsNyArOTQsNiBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgaW5saW5lIFBhZ2UqIHBhZ2UoKSBjb25zdDsKLSAgICB2b2lkIGFk
ZE1lc3NhZ2UoTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgU2NyaXB0U3RhdGUqLCBQYXNzUmVm
UHRyPFNjcmlwdEFyZ3VtZW50cz4sIGJvb2wgYWNjZXB0Tm9Bcmd1bWVudHMgPSBmYWxzZSwgYm9v
bCBwcmludFRyYWNlID0gZmFsc2UpOwogCiAgICAgZXhwbGljaXQgQ29uc29sZShGcmFtZSopOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaAppbmRleCBiMzgzNDAwY2EyY2VmZjdmNmVlMzA4
MmJhM2IxM2Y1MTMzODliZjIyLi41YmVjZjA2MzUxNDFiYmNlNmYyZmE0YmUxMjg1ZWUwZTdjNGI1
ODQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKQEAgLTM3LDIxICszNyw2IEBAIGVu
dW0gTWVzc2FnZVNvdXJjZSB7CiAgICAgT3RoZXJNZXNzYWdlU291cmNlLAogfTsKIAotLy8gRklY
TUU6IG1ha2UgdGhpcyBlbnVtIHByaXZhdGUgdG8gaW5zcGVjdG9yLCByZW1vdmUgaXQgZnJvbSBj
bGllbnQgY2FsbGJhY2tzLgotLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY2MzcxCi1lbnVtIE1lc3NhZ2VUeXBlIHsKLSAgICBMb2dNZXNzYWdlVHlwZSwKLSAgICBE
aXJNZXNzYWdlVHlwZSwKLSAgICBEaXJYTUxNZXNzYWdlVHlwZSwKLSAgICBUcmFjZU1lc3NhZ2VU
eXBlLAotICAgIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZSwKLSAgICBTdGFydEdyb3VwQ29sbGFwc2Vk
TWVzc2FnZVR5cGUsCi0gICAgRW5kR3JvdXBNZXNzYWdlVHlwZSwKLSAgICBDbGVhck1lc3NhZ2VU
eXBlLAotICAgIEFzc2VydE1lc3NhZ2VUeXBlLAotICAgIFRpbWluZ01lc3NhZ2VUeXBlCi19Owot
CiBlbnVtIE1lc3NhZ2VMZXZlbCB7CiAgICAgVGlwTWVzc2FnZUxldmVsLAogICAgIExvZ01lc3Nh
Z2VMZXZlbCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5
UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNw
cAppbmRleCA0OTk2MzAyZTZhMDExOTFkMjNlZmFhYmJhMDZjNDM1MzMzNWU1M2Q5Li40YjkwODEy
ZWQ0MzkzNDM3YmU1OWU2M2UwODIxYTQzOGM5NTFlMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBAIC0xNzAzLDcgKzE3MDMsNyBAQCB2b2lk
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6bG9nVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBjbwogICAgICAgICBpZiAoY2FsbFN0YWNrICYmICFjYWxsU3RhY2st
PnNpemUoKSkKICAgICAgICAgICAgIGNhbGxTdGFjayA9IDA7CiAgICAgfQotICAgIG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRl
eHRMaW5lLm9uZUJhc2VkSW50KCksIGNhbGxTdGFjayk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxl
dmVsLCBtZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZS5vbmVCYXNlZEludCgpLCBjYWxs
U3RhY2spOwogfQogCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0QmxvY2tlZFNj
cmlwdEV4ZWN1dGlvblRvSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCkgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCAzZDgyNTk5ZmJhYTgyM2E2ZmFmNjBh
ZDBiNmQ5Y2IzNTMwYjkwYTIzLi5mYzI1OTI3NzFjZjlmYzllYzEzMGFmZjUwOWRkZWJmOWUzNDA5
YTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC04ODcsNyArODg3LDcgQEAgdm9p
ZCBET01XaW5kb3c6OmRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKFNlY3VyaXR5
T3JpZ2luKiBpbnRlbmRlZFRhcmcKICAgICAgICAgaWYgKCFpbnRlbmRlZFRhcmdldE9yaWdpbi0+
aXNTYW1lU2NoZW1lSG9zdFBvcnQoZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKICAg
ICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlVuYWJsZSB0byBwb3N0IG1lc3NhZ2UgdG8gIiAr
IGludGVuZGVkVGFyZ2V0T3JpZ2luLT50b1N0cmluZygpICsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIi4gUmVjaXBpZW50IGhhcyBvcmlnaW4gIiArIGRvY3VtZW50KCktPnNlY3VyaXR5
T3JpZ2luKCktPnRvU3RyaW5nKCkgKyAiLlxuIjsKLSAgICAgICAgICAgIGNvbnNvbGUoKS0+YWRk
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgbWVzc2FnZSwgc3RhY2tUcmFjZSk7CisgICAgICAgICAgICBjb25zb2xlKCktPmFkZE1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgc3RhY2tUcmFj
ZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC0xNzY0LDcgKzE3
NjQsNyBAQCB2b2lkIERPTVdpbmRvdzo6cHJpbnRFcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKQogCiAgICAgLy8gRklYTUU6IEFkZCBhcmd1bWVudHMgc28gdGhhdCB3ZSBjYW4gcHJv
dmlkZSBhIGNvcnJlY3Qgc291cmNlIFVSTCBhbmQgbGluZSBudW1iZXIuCiAgICAgUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhTY3JpcHRD
YWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUsIHRydWUpOwotICAgIGNvbnNvbGUo
KS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgbWVzc2FnZSwgc3RhY2tUcmFjZS5yZWxlYXNlKCkpOworICAgIGNvbnNvbGUoKS0+
YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBz
dGFja1RyYWNlLnJlbGVhc2UoKSk7CiB9CiAKIFN0cmluZyBET01XaW5kb3c6OmNyb3NzRG9tYWlu
QWNjZXNzRXJyb3JNZXNzYWdlKERPTVdpbmRvdyogYWN0aXZlV2luZG93KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50U291cmNlLmNwcAppbmRleCA2MTAxNzAyMDg1Y2MyMzg3ZTMxYjVlMTkzYjljMzI5YTE4
NGVkY2E5Li40MDFkZjM2ZjNjM2ExODM2ZTNlNjcwYmEyYmQ2ZWI0ZWU5MTdkMjg1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmNwcApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgRXZlbnRT
b3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwCiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZChjaGFyc2V0KTsKICAgICAg
ICAgICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiXCIpIHRoYXQgaXMgbm90IFVURi04LiBBYm9y
dGluZyB0aGUgY29ubmVjdGlvbi4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlz
c2luZyB0aGUgc291cmNlIGxpbmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOwogICAgICAgICB9CiAgICAgfSBl
bHNlIHsKICAgICAgICAgLy8gVG8ga2VlcCB0aGUgc2lnbmFsLXRvLW5vaXNlIHJhdGlvIGxvdywg
d2Ugb25seSBsb2cgMjAwLXJlc3BvbnNlIHdpdGggYW4gaW52YWxpZCBNSU1FIHR5cGUuCkBAIC0y
MjUsNyArMjI1LDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2ln
bmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3AKICAgICAgICAgICAgIG1lc3Nh
Z2UuYXBwZW5kKHJlc3BvbnNlLm1pbWVUeXBlKCkpOwogICAgICAgICAgICAgbWVzc2FnZS5hcHBl
bmRMaXRlcmFsKCJcIikgdGhhdCBpcyBub3QgXCJ0ZXh0L2V2ZW50LXN0cmVhbVwiLiBBYm9ydGlu
ZyB0aGUgY29ubmVjdGlvbi4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlzc2lu
ZyB0aGUgc291cmNlIGxpbmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOwogICAgICAgICB9CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCmluZGV4IGRiMGVi
NzJiN2EyMGFiZWVjYmY5OTliOWQwYzlmMjc0N2FmMWNiMjkuLmM0ZTQwYTZiZWFhZWZlYzQ3Yjg0
ODJiZGMxZjBlZmZmZjY1NDAyYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdE
b2N1bWVudEV4dGVuc2lvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVu
dEV4dGVuc2lvbnMuY3BwCkBAIC0xOTcsNyArMTk3LDcgQEAgc3RhdGljIGludCBwYXJzZXJMaW5l
TnVtYmVyKERvY3VtZW50KiBkb2N1bWVudCkKIHN0YXRpYyB2b2lkIHJlcG9ydE1lc3NhZ2UoRG9j
dW1lbnQqIGRvY3VtZW50LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKIHsKICAgICBpZiAoZG9jdW1lbnQtPmZyYW1lKCkpCi0gICAgICAgIGRvY3VtZW50LT5kb21X
aW5kb3coKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBkb2N1bWVudC0+ZG9jdW1lbnRVUkkoKSwgcGFyc2VyTGlu
ZU51bWJlcihkb2N1bWVudCkpOworICAgICAgICBkb2N1bWVudC0+ZG9tV2luZG93KCktPmNvbnNv
bGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBkb2N1bWVu
dC0+ZG9jdW1lbnRVUkkoKSwgcGFyc2VyTGluZU51bWJlcihkb2N1bWVudCkpOwogfQogCiB2b2lk
IFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVwb3J0V2FybmluZyhjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdv
cmtlclJlcG9zaXRvcnkuY3BwCmluZGV4IGNmZjBkNWZiMWYwZDVjNDBhZDEyM2M5MjliNGJmNDA2
ZjdiYmNjMzcuLmVjNDFkMjIzZTY2YjBmY2VjMWVjNDg5MTA4OTU1MzAzMDZiY2ZiMzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJl
cG9zaXRvcnkuY3BwCkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFdvcmtlclJl
cG9ydGluZ1Byb3h5CiAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVj
dChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMKTsKLSAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3Jr
ZXJPYmplY3QoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwp
OworICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNz
YWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVO
dW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJpbmcm
KTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlSW5zcGVjdG9yU3RhdGVDb29raWUoY29uc3QgU3Ry
aW5nJik7CkBAIC0xODgsMTYgKzE4OCwxNiBAQCB2b2lkIFNoYXJlZFdvcmtlclByb3h5Ojpwb3N0
RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsCiAgICAg
ICAgICgqaXRlciktPnBvc3RUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmcG9zdEV4Y2VwdGlvblRh
c2ssIGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKSk7CiB9CiAKLXN0YXRpYyB2
b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogZG9jdW1l
bnQsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVu
c2lnbmVkIGxpbmVOdW1iZXIpCitzdGF0aWMgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGRvY3VtZW50LCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVz
c2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyKQogewotICAgIGRvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1i
ZXIpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNz
YWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpOwogfQogCi12b2lkIFNoYXJlZFdvcmtlclByb3h5
Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQgU2hhcmVk
V29ya2VyUHJveHk6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50
IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIE11dGV4TG9ja2Vy
IGxvY2sobV93b3JrZXJEb2N1bWVudHNMb2NrKTsKICAgICBmb3IgKEhhc2hTZXQ8RG9jdW1lbnQq
Pjo6aXRlcmF0b3IgaXRlciA9IG1fd29ya2VyRG9jdW1lbnRzLmJlZ2luKCk7IGl0ZXIgIT0gbV93
b3JrZXJEb2N1bWVudHMuZW5kKCk7ICsraXRlcikKLSAgICAgICAgKCppdGVyKS0+cG9zdFRhc2so
Y3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBzb3VyY2UsIHR5cGUs
IGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpKTsKKyAgICAgICAgKCppdGVy
KS0+cG9zdFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBz
b3VyY2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpKTsKIH0KIAogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1No
YXJlZFdvcmtlckNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3Jr
ZXJDb250ZXh0LmNwcAppbmRleCA3OTk3MDAyYWNhZjg2OTlhNDViOTg3MmM4NTVkN2I3N2IwNWNk
ZWUyLi5kMmNkYjM3MjlhZGJjNGEzNzE0MDQ0YWFhMTNmZDQ3Yjg0Zjc4ZGE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAKQEAgLTgxLDcgKzgx
LDcgQEAgU2hhcmVkV29ya2VyVGhyZWFkKiBTaGFyZWRXb3JrZXJDb250ZXh0Ojp0aHJlYWQoKQog
dm9pZCBTaGFyZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJl
ciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKICAgICBXb3JrZXJD
b250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxp
bmVOdW1iZXIsIGNhbGxTdGFjayk7Ci0gICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShKU01l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNz
YWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2FnZVRv
V29ya2VyQ29uc29sZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1l
c3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKaW5k
ZXggZDIyZTRlZTliYTI1MzRiNmNlNTY5NDUxNjRkM2U3ZWQwYzcyNjVlOS4uOWRiYjEyOGMyMmY3
ZjQyYWNhY2MxZjQyYmVlOTNjZGE2YWY4NWEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuY3BwCkBAIC0yNzksMjMgKzI3OSwyMyBAQCB2b2lkIFdvcmtlckNvbnRleHQ6
OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3Qg
U3RyaQogICAgIHRocmVhZCgpLT53b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RFeGNlcHRpb25U
b1dvcmtlck9iamVjdChlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAK
LXZvaWQgV29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVz
c2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlm
aWVyKQordm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0
YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAgICAg
aWYgKCFpc0NvbnRleHRUaHJlYWQoKSkgewotICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVz
c2FnZVRhc2s6OmNyZWF0ZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlKSk7CisgICAgICAg
IHBvc3RUYXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgbGV2ZWwsIG1l
c3NhZ2UpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICB0aHJlYWQoKS0+d29ya2VyUmVw
b3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3VyY2UsIHR5
cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwotICAgIGFkZE1lc3Nh
Z2VUb1dvcmtlckNvbnNvbGUoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJM
LCBsaW5lTnVtYmVyLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICB0aHJlYWQo
KS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dChzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOworICAgIGFk
ZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJM
LCBsaW5lTnVtYmVyLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAotdm9pZCBX
b3JrZXJDb250ZXh0OjphZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291
cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIpCit2b2lkIFdvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNv
bGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwg
UGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1
ZXN0SWRlbnRpZmllcikKIHsKICAgICBBU1NFUlQoaXNDb250ZXh0VGhyZWFkKCkpOwogICAgIGlm
IChjYWxsU3RhY2spCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2Fn
ZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ss
IHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjph
ZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBt
ZXNzYWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICBlbHNlCi0gICAgICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSh0aGlzLCBzb3Vy
Y2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIHJlcXVlc3RJ
ZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdl
VG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBz
b3VyY2VVUkwsIGxpbmVOdW1iZXIsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAogYm9vbCBXb3Jr
ZXJDb250ZXh0Ojppc0NvbnRleHRUaHJlYWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuaAppbmRleCA0ODdmNzZjNmM1MzRjNmVkMmExNTJkZTZlMDk4NGY2YjAwMzRk
MmY3Li5lOTY3NTA2MjlhMWQ2OGE0MmZhYjhjZmVhZWU5NWIzNzY3NDEwNmJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTQ1LDcgKzE0NSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBhcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeUZyb21T
dHJpbmcoY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6SGVhZGVyVHlwZSk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlv
blRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwotICAg
ICAgICB2b2lkIGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAgICAgIHZvaWQg
YWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1
ZXN0SWRlbnRpZmllciA9IDApOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCB2b2lk
IHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSB7IHJlZigpOyB9CkBAIC0xNTksNyArMTU5LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNvbnN0IEtVUkwmIHZpcnR1
YWxVUkwoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBLVVJMIHZpcnR1YWxDb21wbGV0ZVVSTChj
b25zdCBTdHJpbmcmKSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIg
PSAwKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2ln
bmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKIAogICAgICAgICB2aXJ0dWFsIEV2ZW50
VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggYzM1ZDhlOGFhMWQ4OWQ5ODY0MmQ1OTEz
MGM3ODM3YWFlN2E5NTBmZi4uNDAxMjYzN2Q5Zjc2YjQ1MzdjOWEwM2I5YzZhZTcxMjU4MDdiNTJi
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5j
cHAKQEAgLTMyNywxOCArMzI3LDE4IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RF
eGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnCiAgICAgbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhXb3JrZXJFeGNlcHRpb25UYXNrOjpjcmVh
dGUoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwsIHRoaXMpKTsKIH0KIAotc3Rh
dGljIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBXb3JrZXJNZXNzYWdpbmdQcm94eSogbWVzc2FnaW5nUHJveHksIE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwpCitzdGF0aWMgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIFdvcmtlck1lc3NhZ2luZ1Byb3h5KiBtZXNzYWdpbmdQcm94eSwgTWVz
c2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKICAg
ICBpZiAobWVzc2FnaW5nUHJveHktPmFza2VkVG9UZXJtaW5hdGUoKSkKICAgICAgICAgcmV0dXJu
OwotICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1l
c3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcik7CisgICAgY29udGV4dC0+YWRkQ29uc29sZU1l
c3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyKTsKIH0K
IAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJP
YmplY3QoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0Q29uc29sZU1l
c3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCkKIHsKICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKAog
ICAgICAgICBjcmVhdGVDYWxsYmFja1Rhc2soJnBvc3RDb25zb2xlTWVzc2FnZVRhc2ssIEFsbG93
Q3Jvc3NUaHJlYWRBY2Nlc3ModGhpcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzb3Vy
Y2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIs
IHNvdXJjZVVSTCkpOwogfQogCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJUaHJl
YWRDcmVhdGVkKFBhc3NSZWZQdHI8RGVkaWNhdGVkV29ya2VyVGhyZWFkPiB3b3JrZXJUaHJlYWQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXgg
NzdiY2FiMmI2NjgwNzQwZGNhMTFkMTYwNWFkODYwNGU5OTExODIwMC4uZTg2OTI0ZTcxMjU4NGRl
YWIwYzQ0MDgzZDhmZTZiODc0YjI3Y2M5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNjgsNyArNjgsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIC8vIChPbmx5IHVzZSB0aGVzZSBtZXRob2RzIGluIHRoZSB3b3JrZXIgY29u
dGV4dCB0aHJlYWQuKQogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlck9i
amVjdChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NPd25QdHI8TWVzc2Fn
ZVBvcnRDaGFubmVsQXJyYXk+KTsKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25U
b1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIs
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25z
b2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2Fn
ZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvUGFn
ZUluc3BlY3Rvcihjb25zdCBTdHJpbmcmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUlu
c3BlY3RvclN0YXRlQ29va2llKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCmluZGV4IDgwNGFmMjE2NDBlZWY3M2M0NTEyNDQ2
ZTAxNWNkMmI4YWI1MjNmY2MuLmJlMTkzNTA1MjFhOWY0MDU2YzJjMjBhMjdkZTI3NjkxNWU4NmM1
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgK
QEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwg
dm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3Nh
Z2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOwogCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOworICAgICAgICB2
aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJpbmcm
KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVJbnNwZWN0b3JTdGF0ZUNvb2tpZShj
b25zdCBTdHJpbmcmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRl
eCAyOTUzNmRhODQyY2Q5MDcwMjdlYzFjN2NlMmYzODkxMWYxZjMzMzI2Li5lZDQ3NjJkMTRhYTk4
ZjBkOGMyNWFhYTRmMWRjYmM2Mzg1NGM3NzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCBzdGF0aWMgdm9pZCBsb2dDb25zb2xlRXJyb3Io
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXNzYQogICAg
ICAgICByZXR1cm47CiAgICAgLy8gRklYTUU6IEl0J3Mgbm90IGdvb2QgdG8gcmVwb3J0IHRoZSBi
YWQgdXNhZ2Ugd2l0aG91dCBpbmRpY2F0aW5nIHdoYXQgc291cmNlIGxpbmUgaXQgY2FtZSBmcm9t
LgogICAgIC8vIFdlIHNob3VsZCBwYXNzIGFkZGl0aW9uYWwgcGFyYW1ldGVycyBzbyB3ZSBjYW4g
dGVsbCB0aGUgY29uc29sZSB3aGVyZSB0aGUgbWlzdGFrZSBvY2N1cnJlZC4KLSAgICBjb250ZXh0
LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIFBhc3NS
ZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlP
cmlnaW4pCkBAIC02ODIsNyArNjgyLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChET01G
b3JtRGF0YSogYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB2b2lkIFhNTEh0dHBSZXF1ZXN0Ojpz
ZW5kKEFycmF5QnVmZmVyKiBib2R5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBTdHJpbmcg
Y29uc29sZU1lc3NhZ2UoIkFycmF5QnVmZmVyIGlzIGRlcHJlY2F0ZWQgaW4gWE1MSHR0cFJlcXVl
c3Quc2VuZCgpLiBVc2UgQXJyYXlCdWZmZXJWaWV3IGluc3RlYWQuIik7Ci0gICAgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IFdhcm5pbmdNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKIAogICAgIEhpc3RvZ3JhbVN1
cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLlhIUi5zZW5kLkFycmF5QnVmZmVy
T3JWaWV3IiwgWE1MSHR0cFJlcXVlc3RTZW5kQXJyYXlCdWZmZXIsIFhNTEh0dHBSZXF1ZXN0U2Vu
ZEFycmF5QnVmZmVyT3JWaWV3TWF4KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vz
c29yTGlieHNsdC5jcHAKaW5kZXggYTkxMjk4OGRhNjM4Y2NmODQyZTdiMTdhZjVlNDM0NDZlOGEz
MmQyOC4uMGIyZmYxYmQyM2EyNTRkZjg5OGRlMjE3ZTQ4OTMxMmRjMjBlOWExNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwCkBAIC0xMDEsNyArMTAxLDcg
QEAgdm9pZCBYU0xUUHJvY2Vzc29yOjpwYXJzZUVycm9yRnVuYyh2b2lkKiB1c2VyRGF0YSwgeG1s
RXJyb3IqIGVycm9yKQogICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBjb25zb2xlLT5hZGRN
ZXNzYWdlKFhNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwgZXJyb3ItPm1l
c3NhZ2UsIGVycm9yLT5maWxlLCBlcnJvci0+bGluZSk7CisgICAgY29uc29sZS0+YWRkTWVzc2Fn
ZShYTUxNZXNzYWdlU291cmNlLCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5maWxlLCBl
cnJvci0+bGluZSk7CiB9CiAKIC8vIEZJWE1FOiBUaGVyZSBzZWVtcyB0byBiZSBubyB3YXkgdG8g
Y29udHJvbCB0aGUgY3R4dCBwb2ludGVyIGZvciBsb2FkaW5nIGhlcmUsIHRodXMgd2UgaGF2ZSBn
bG9iYWxzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JRdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvclF0LmNwcAppbmRleCAwYzQxNDBh
OGQ3OWVkZWZhNTAyMzM1ZmUwMTgzMTJmNDc1ZjE3MGY0Li42YmYzZjI0YzQzNDdjYzE5ZmU1Zjk2
MjY3M2RjMDA3NDNmZTM5OTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFBy
b2Nlc3NvclF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvclF0LmNw
cApAQCAtODQsNyArODQsNyBAQCB2b2lkIFhTTFRNZXNzYWdlSGFuZGxlcjo6aGFuZGxlTWVzc2Fn
ZShRdE1zZ1R5cGUgdHlwZSwgY29uc3QgUVN0cmluZyYgZGVzY3JpcHRpbwogICAgIH0KIAogICAg
IENvbnNvbGUqIGNvbnNvbGUgPSBtX2RvY3VtZW50LT5kb21XaW5kb3coKS0+Y29uc29sZSgpOwot
ICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoWE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IGxldmVsLCBkZXNjcmlwdGlvbiwgc291cmNlTG9jYXRpb24udXJpKCkudG9TdHJpbmcoKSwgc291
cmNlTG9jYXRpb24ubGluZSgpKTsKKyAgICBjb25zb2xlLT5hZGRNZXNzYWdlKFhNTE1lc3NhZ2VT
b3VyY2UsIGxldmVsLCBkZXNjcmlwdGlvbiwgc291cmNlTG9jYXRpb24udXJpKCkudG9TdHJpbmco
KSwgc291cmNlTG9jYXRpb24ubGluZSgpKTsKIH0KIAogY2xhc3MgWFNMVFVyaVJlc29sdmVyIDog
cHVibGljIFFBYnN0cmFjdFVyaVJlc29sdmVyIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0Jl
cnJ5LmNwcAppbmRleCBlODJlMWIyYTIyNmQ3YjNjYTJmNzAwMjU5OGRkYWQyYzg5NWU0ZGE0Li5j
ZDI4NWFlOGQ3MDk5OTY0YjdjNmI4ZjE2NTMxYjNiY2M5ZTAzMzQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJy
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC04OSw3ICs4OSw3IEBAIENocm9tZUNsaWVudEJsYWNr
QmVycnk6OkNocm9tZUNsaWVudEJsYWNrQmVycnkoV2ViUGFnZVByaXZhdGUqIHBhZ2VQcml2YXRl
KQogewogfQogCi12b2lkIENocm9tZUNsaWVudEJsYWNrQmVycnk6OmFkZE1lc3NhZ2VUb0NvbnNv
bGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJ
RCkKK3ZvaWQgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
aW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCiB7CiAjaWYgIWRlZmluZWQo
UFVCTElDX0JVSUxEKSB8fCAhUFVCTElDX0JVSUxECiAgICAgaWYgKG1fd2ViUGFnZVByaXZhdGUt
Pm1fZHVtcFJlbmRlclRyZWUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmggYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oCmluZGV4
IGUxMjlmNDU4NDIxOTZiYTVlNjUxYzVlMGQ4NTZmOWUyYWJiYmU4NWEuLjE1NmE4OTRiYzkxN2M5
YmNkMjY3ZDE5ZjQ3NTY2YzBkMWE5ZGI2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVy
cnkuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE1lbnVi
YXJWaXNpYmxlKGJvb2wpOwogICAgIHZpcnR1YWwgYm9vbCBtZW51YmFyVmlzaWJsZSgpOwogICAg
IHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VJRCk7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVk
IGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKTsKICAgICB2aXJ0dWFsIGJv
b2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmlydHVhbCBib29sIHJ1
bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcmLCBGcmFtZSopOwogICAgIHZp
cnR1YWwgdm9pZCBjbG9zZVdpbmRvd1Nvb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlNoYXJlZFdvcmtlckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViU2hhcmVkV29ya2VyQ2xpZW50LmgKaW5kZXggMjQwZmU3NmU4NmYx
NjRiZjEzMWViNmE1YmYyYzI0ZTQ5NDYwNGQxYS4uNDVlMzgxY2EwMTdjYjE2ZjE1ODIwZGE1MDMx
ZDE0MjNjNzE4NTYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViU2hhcmVkV29ya2VyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViU2hhcmVkV29ya2VyQ2xpZW50LmgKQEAgLTU5LDEzICs1OSwxMyBAQCBwdWJsaWM6CiAg
ICAgLy8gRklYTUU6IHRoZSBiZWxvdyBpcyBmb3IgY29tcGF0aWJpbGl0eSBvbmx5IGFuZCBzaG91
bGQgYmUKICAgICAvLyByZW1vdmVkIG9uY2UgQ2hyb21pdW0gaXMgdXBkYXRlZCB0byByZW1vdmUg
bWVzc2FnZQogICAgIC8vIGRlc3RpbmF0aW9uIHBhcmFtZXRlciA8aHR0cDovL3dlYmtpdC5vcmcv
Yi8zNzE1NT4uCi0gICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2Jq
ZWN0KGludCwgaW50IHNvdXJjZUlkZW50aWZpZXIsIGludCBtZXNzYWdlVHlwZSwgaW50IG1lc3Nh
Z2VMZXZlbCwKKyAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmpl
Y3QoaW50LCBpbnQgc291cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VMZXZlbCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5n
JiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgV2ViU3RyaW5nJiBzb3VyY2VVUkwpID0g
MDsKIAotICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChp
bnQgc291cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VUeXBlLCBpbnQgbWVzc2FnZUxldmVsLAor
ICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChpbnQgc291
cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VMZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlLCBpbnQg
bGluZU51bWJlciwgY29uc3QgV2ViU3RyaW5nJiBzb3VyY2VVUkwpCiAgICAgewotICAgICAgICBw
b3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCgwLCBzb3VyY2VJZGVudGlmaWVyLCBtZXNz
YWdlVHlwZSwgbWVzc2FnZUxldmVsLAorICAgICAgICBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtl
ck9iamVjdCgwLCBzb3VyY2VJZGVudGlmaWVyLCBtZXNzYWdlTGV2ZWwsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVS
TCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVu
dEltcGwuY3BwCmluZGV4IDQyMTVhZDcwMDJkNDg0Y2U3NDY2MjJkYmEwZmI4ODI5YmEyMDY1YjEu
LmFkNmEyMzJjNzk3YjQ5NzM2YTIzYjJlNGU1NmZkNTg5YzFkZGRjN2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC0zOTIsNyArMzky
LDYgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpzZXRSZXNpemFibGUoYm9vbCB2YWx1ZSkKIH0K
IAogdm9pZCBDaHJvbWVDbGllbnRJbXBsOjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1l
c3NhZ2VUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTWVzc2FnZUxldmVsIGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsaW5lTnVtYmVyLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmluZGV4IDc3MDg0ZjgwMTAyZjYyMzdi
Njc4MmRjOGI2MGZjYzJjZTI2Njk1MjAuLjA1NTlmZDM3N2M0YWM4Yzg2NjZhOTkwODg3MzQ5MWQx
OWNjNzJiNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNs
aWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJ
bXBsLmgKQEAgLTk3LDcgKzk3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBtZW51YmFy
VmlzaWJsZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7CiAgICAgdmly
dHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoCi0gICAgICAgIFdlYkNvcmU6Ok1lc3NhZ2VT
b3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsCisgICAg
ICAgIFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwKICAgICAg
ICAgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsCiAgICAg
ICAgIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCk7CiAgICAgdmlydHVhbCBib29sIGNhblJ1
bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggNWQzMmFmZDg1ZmUyZTI3OTg3NzUzMmI3MmVhNWIzYmVi
NGI2NTI5Yy4uN2EyZGU4YWVlZDBlOWNmNDMyNTg4NGU4NWZlNWUyODY4YzM0MmQ2ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC04NDEsNyArODQx
LDcgQEAgdm9pZCBXZWJGcmFtZUltcGw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoY29uc3QgV2ViQ29u
c29sZU1lc3NhZ2UmIG1lc3NhZ2UpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBmcmFt
ZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCB3ZWJDb3JlTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRleHQpOworICAgIGZy
YW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwg
d2ViQ29yZU1lc3NhZ2VMZXZlbCwgbWVzc2FnZS50ZXh0KTsKIH0KIAogdm9pZCBXZWJGcmFtZUlt
cGw6OmNvbGxlY3RHYXJiYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UGFnZVBvcHVwSW1wbC5jcHAKaW5kZXggNjFhZWU0MTY5MTM4NjJiY2M5YWE2OTczMTJlNzdlZjk0
OThlNTVhNi4uNWU5YTBhNzQ2MjA4YmMxNjI0MTE5MjI4ZWQxYjQxY2Q5MThhYmEyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAKQEAgLTg1
LDcgKzg1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV9wb3B1cC0+d2lkZ2V0Q2xpZW50KCktPnNl
dFdpbmRvd1JlY3QobV9wb3B1cC0+bV93aW5kb3dSZWN0SW5TY3JlZW4pOwogICAgIH0KIAotICAg
IHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VU
eXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYpIE9WRVJSSURFCisgICAgdmlydHVhbCB2b2lkIGFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmKSBPVkVSUklE
RQogICAgIHsKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ09OU09M
RSBNRVNTU0FHRToldTogJXNcbiIsIGxpbmVOdW1iZXIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRXb3JrZXJJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwu
Y3BwCmluZGV4IDExOWQ5YWNiNjk5NGJkOTc2ZjA0YzY2MTkyNDI0OTgxZjI0ZGJkMzMuLmIxMDdj
NjYyNzNkNzE5NDRmZjQ5ZWQ4MmFlNjQyMWE0Y2ZkNWYzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3BwCkBAIC0yMDMsMjEgKzIw
MywyMCBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlckltcGw6OnBvc3RFeGNlcHRpb25UYXNrKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiB9CiAKIHZvaWQgV2ViU2hhcmVkV29ya2VySW1w
bDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE1lc3NhZ2VUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbCBsZXZlbCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgbGluZU51bWJlciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwpCiB7CiAgICAgV2ViV29ya2VyQmFzZTo6ZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkKGNyZWF0
ZUNhbGxiYWNrVGFzaygmcG9zdENvbnNvbGVNZXNzYWdlVGFzaywgQWxsb3dDcm9zc1RocmVhZEFj
Y2Vzcyh0aGlzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c291cmNlLCB0eXBlLCBsZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc291cmNlLCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKSk7CiB9CiAKIHZvaWQg
V2ViU2hhcmVkV29ya2VySW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFdlYlNoYXJlZFdvcmtlckltcGwqIHRoaXNQdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNvdXJjZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdHlwZSwgaW50IGxl
dmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGxpbmVOdW1iZXIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCkBAIC0y
MjUsNyArMjI0LDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJJbXBsOjpwb3N0Q29uc29sZU1lc3Nh
Z2VUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQKICAgICBpZiAoIXRoaXNQdHIt
PmNsaWVudCgpKQogICAgICAgICByZXR1cm47CiAgICAgdGhpc1B0ci0+Y2xpZW50KCktPnBvc3RD
b25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSwgbGV2ZWwsIG1l
c3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxldmVsLCBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRX
b3JrZXJJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRXb3JrZXJJ
bXBsLmgKaW5kZXggNDA0MTU5MmI1Y2VhYTZlNmE1YjE5YWM2MmIwZmQ2MDZhODUzZmM2ZS4uNDkx
MjExZTU0ZDZmM2YwNGRlOWU3OTRjZTE4NTIwMWQzN2Y1ZTI3NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuaApAQCAtNzQsOCArNzQsOCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdCgK
ICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmLCBpbnQsIGNvbnN0IFdURjo6U3RyaW5nJik7CiAg
ICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KAotICAgICAg
ICBXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwKLSAgICAgICAg
V2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYsIGludCwgY29uc3QgV1RG
OjpTdHJpbmcmKTsKKyAgICAgICAgV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVz
c2FnZUxldmVsLAorICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYsIGludCwgY29uc3QgV1RGOjpT
dHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3IoY29u
c3QgV1RGOjpTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlSW5zcGVjdG9yU3RhdGVD
b29raWUoY29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgY29uZmlybU1lc3Nh
Z2VGcm9tV29ya2VyT2JqZWN0KGJvb2wpOwpAQCAtMTQ2LDcgKzE0Niw2IEBAIHByaXZhdGU6CiAg
ICAgICAgIFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLAogICAgICAgICBXZWJTaGFy
ZWRXb3JrZXJJbXBsKiB0aGlzUHRyLAogICAgICAgICBpbnQgc291cmNlLAotICAgICAgICBpbnQg
dHlwZSwKICAgICAgICAgaW50IGxldmVsLAogICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYgbWVz
c2FnZSwKICAgICAgICAgaW50IGxpbmVOdW1iZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwCmluZGV4IDJjMGZiOWFjODA5YTA5NjU4
ZDM1NGIwMzkyOWMxYjBhYmMyMDhmNzAuLmNmN2UwZDJmMDlkYzBiOTY5ZmU2M2M0NmUxMGUyMzNk
NDY2NzQyOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtl
ckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtl
ckNsaWVudEltcGwuY3BwCkBAIC0xODcsOSArMTg3LDkgQEAgdm9pZCBXZWJXb3JrZXJDbGllbnRJ
bXBsOjpwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3Nh
Z2UKICAgICBtX3Byb3h5LT5wb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoZXJyb3JNZXNzYWdl
LCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCi12b2lkIFdlYldvcmtlckNsaWVudEltcGw6
OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBXZWJXb3Jr
ZXJDbGllbnRJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291
cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGlu
dCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKLSAgICBtX3Byb3h5LT5w
b3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNz
YWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOworICAgIG1fcHJveHktPnBvc3RDb25zb2xlTWVz
c2FnZVRvV29ya2VyT2JqZWN0KHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNv
dXJjZVVSTCk7CiB9CiAKIHZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6d29ya2VyQ29udGV4dERl
c3Ryb3llZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3Jr
ZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGll
bnRJbXBsLmgKaW5kZXggZjY3NzkwODNiZGJkM2Y2NTc1NWJjZDUwYTUyNmJlMmEwMTYyNGRiOC4u
MzgxYTQ5NWJhZjRmNmFmODRhMTE0MjBjYzU0NWMyNGUzMDIwM2E4OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaApAQCAtOTIsNyArOTIs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJPYmplY3Qo
UGFzc1JlZlB0cjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNzT3duUHRyPFdl
YkNvcmU6Ok1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSBPVkVSUklERTsKIAot
ICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChXZWJDb3Jl
OjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxl
dmVsLAorICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChX
ZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgY29uZmlybU1lc3NhZ2VGcm9tV29ya2VyT2JqZWN0KGJvb2wpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRQZW5kaW5nQWN0aXZpdHkoYm9vbCkgT1ZF
UlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50RWZsLmNwcAppbmRleCAwZmUwZmZhYjY3N2Y4YTA4OWZjNGM1OTAyODc3MDVkMzY2NmFl
MmJiLi41ZWY1ZTY4ZTdhYjA1YzY5NTBkMWVhMDg3YmM4NzYwZmI0M2MwZjRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAK
QEAgLTI3Myw3ICsyNzMsNyBAQCBib29sIENocm9tZUNsaWVudEVmbDo6cnVuQmVmb3JlVW5sb2Fk
Q29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRnJhbWUqCiAgICAgcmV0dXJuIHJ1
bkphdmFTY3JpcHRDb25maXJtKGZyYW1lLCBtZXNzYWdlKTsKIH0KIAotdm9pZCBDaHJvbWVDbGll
bnRFZmw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLAordm9pZCBDaHJvbWVDbGllbnRFZmw6
OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKIHsKICAg
ICBld2tfdmlld19hZGRfY29uc29sZV9tZXNzYWdlKG1fdmlldywgbWVzc2FnZS51dGY4KCkuZGF0
YSgpLCBsaW5lTnVtYmVyLCBzb3VyY2VJRC51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggYWIxMDc3
OGZhOTViODkxMzcyYjM5NmU3N2NjYzI5MTkzOGE4Mjg4ZS4uYjkyZDJjYzA2YWUyMGZhOTg5ZWM1
NWM1NzIzOGIxMTBmNzM1Nzg4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKQEAgLTg1LDcgKzg1LDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBh
ZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRv
Q29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGlu
ZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2Fu
UnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAppbmRleCA2MTUyZjUwODBiZmJk
ZWM5Y2U0NDFjOWMzOTE1MDJiMjAwMTk5OTg1Li4yNThlODNkMjRiYjk4MmY5NTliZWNkOTI4Y2Fi
Y2IzOWQ3MGQ1OTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKQEAgLTMyNyw3ICszMjcsNyBAQCBib29sIENocm9tZUNs
aWVudDo6cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNz
YWdlLCBXZWJDbwogICAgIHJldHVybiBydW5KYXZhU2NyaXB0Q29uZmlybShmcmFtZSwgbWVzc2Fn
ZSk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6
Ok1lc3NhZ2VTb3VyY2Ugc291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSB0eXBlLCBXZWJDb3Jl
OjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25l
ZCBpbnQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlkKQordm9pZCBDaHJv
bWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSWQp
CiB7CiAgICAgZ2Jvb2xlYW4gcmV0dmFsOwogICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShtX3dl
YlZpZXcsICJjb25zb2xlLW1lc3NhZ2UiLCBtZXNzYWdlLnV0ZjgoKS5kYXRhKCksIGxpbmVOdW1i
ZXIsIHNvdXJjZUlkLnV0ZjgoKS5kYXRhKCksICZyZXR2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRleCA0NGMyMTFhZDQ2
Mjg3ZWZmZDc0MzA0YzAyZGNjNmRiMzBmYWY2MDNjLi4zNzkwMDU2NzhlMTExYmEwYTQ0YmVhZjRj
N2UwNGE2NDRkYTVjNzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtODIsNyArODIsNyBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAgICAg
IHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwZSB0eXBlLAorICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29s
ZShNZXNzYWdlU291cmNlIHNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxp
bmVOdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNzA3MzQ5
YzViZDY1MjVhMzU4NzdhZTJhYmYyZTMwZWY4ZDdjZjViMS4uOWI4NTY4NDJhZGQxNDQ4N2QyNmE3
MDAxODMzZmY1NTYyZGE3NDUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTc0LDcgKzc0LDcgQEAgcHVibGljOgogICAg
IAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgT1ZFUlJJREU7CiAgICAgCi0g
ICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJj
ZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RG
OjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0
cmluZyYgc291cmNlVVJMKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRv
Q29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNv
bnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3Qg
V1RGOjpTdHJpbmcmIHNvdXJjZVVSTCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2Fu
UnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29s
IHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwg
V2ViQ29yZTo6RnJhbWUqKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCA4NjBhOTMzODZmYjNkYTg0ZGU5
NWJkYzRlYjRmNWVjNmUyZWQ3ZjdkLi42NDk4OTA1NWZmMmE0YWQ3ZDVkMmMxNzY0ODEzOGVlZTUw
NDY3M2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50Lm1tCkBAIC05NywxNyArOTcsNiBAQCBOU1N0cmluZyAqV2ViQ29uc29sZU1l
c3NhZ2VOZXR3b3JrTWVzc2FnZVNvdXJjZSA9IEAiTmV0d29ya01lc3NhZ2VTb3VyY2UiOwogTlNT
dHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UgPSBAIkNvbnNv
bGVBUElNZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVyTWVz
c2FnZVNvdXJjZSA9IEAiT3RoZXJNZXNzYWdlU291cmNlIjsKIAotTlNTdHJpbmcgKldlYkNvbnNv
bGVNZXNzYWdlTG9nTWVzc2FnZVR5cGUgPSBAIkxvZ01lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpX
ZWJDb25zb2xlTWVzc2FnZURpck1lc3NhZ2VUeXBlID0gQCJEaXJNZXNzYWdlVHlwZSI7Ci1OU1N0
cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VDbGVhck1lc3NhZ2VUeXBlID0gQCJDbGVhck1lc3NhZ2VU
eXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZURpclhNTE1lc3NhZ2VUeXBlID0gQCJE
aXJYTUxNZXNzYWdlVHlwZSI7Ci1OU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VUcmFjZU1lc3Nh
Z2VUeXBlID0gQCJUcmFjZU1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2Fn
ZVN0YXJ0R3JvdXBNZXNzYWdlVHlwZSA9IEAiU3RhcnRHcm91cE1lc3NhZ2VUeXBlIjsKLU5TU3Ry
aW5nICpXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSA9IEAi
U3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVz
c2FnZUVuZEdyb3VwTWVzc2FnZVR5cGUgPSBAIkVuZEdyb3VwTWVzc2FnZVR5cGUiOwotTlNTdHJp
bmcgKldlYkNvbnNvbGVNZXNzYWdlQXNzZXJ0TWVzc2FnZVR5cGUgPSBAIkFzc2VydE1lc3NhZ2VU
eXBlIjsKLU5TU3RyaW5nKiBXZWJDb25zb2xlTWVzc2FnZVRpbWluZ01lc3NhZ2VUeXBlID0gQCJU
aW1pbmdNZXNzYWdlVHlwZSI7Ci0KIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVRpcE1lc3Nh
Z2VMZXZlbCA9IEAiVGlwTWVzc2FnZUxldmVsIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2Fn
ZUxvZ01lc3NhZ2VMZXZlbCA9IEAiTG9nTWVzc2FnZUxldmVsIjsKIE5TU3RyaW5nICpXZWJDb25z
b2xlTWVzc2FnZVdhcm5pbmdNZXNzYWdlTGV2ZWwgPSBAIldhcm5pbmdNZXNzYWdlTGV2ZWwiOwpA
QCAtMzU3LDM0ICszNDYsNiBAQCBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNz
YWdlU291cmNlKE1lc3NhZ2VTb3VyY2Ugc291cmNlKQogICAgIHJldHVybiBAIiI7CiB9CiAKLWlu
bGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VUeXBlKE1lc3NhZ2VUeXBlIHR5
cGUpCi17Ci0gICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBMb2dNZXNzYWdlVHlwZToKLSAg
ICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlTG9nTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBD
bGVhck1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VDbGVhck1l
c3NhZ2VUeXBlOwotICAgIGNhc2UgRGlyTWVzc2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBXZWJD
b25zb2xlTWVzc2FnZURpck1lc3NhZ2VUeXBlOwotICAgIGNhc2UgRGlyWE1MTWVzc2FnZVR5cGU6
Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZURpclhNTE1lc3NhZ2VUeXBlOwotICAg
IGNhc2UgVHJhY2VNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdl
VHJhY2VNZXNzYWdlVHlwZTsKLSAgICBjYXNlIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZToKLSAgICAg
ICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlU3RhcnRHcm91cE1lc3NhZ2VUeXBlOwotICAgIGNh
c2UgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29u
c29sZU1lc3NhZ2VTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBFbmRH
cm91cE1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VFbmRHcm91
cE1lc3NhZ2VUeXBlOwotICAgIGNhc2UgQXNzZXJ0TWVzc2FnZVR5cGU6Ci0gICAgICAgIHJldHVy
biBXZWJDb25zb2xlTWVzc2FnZUFzc2VydE1lc3NhZ2VUeXBlOwotICAgIGNhc2UgVGltaW5nTWVz
c2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVRpbWluZ01lc3NhZ2VU
eXBlOwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gQCIiOwot
fQotCiBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlTGV2ZWwoTWVzc2Fn
ZUxldmVsIGxldmVsKQogewogICAgIHN3aXRjaCAobGV2ZWwpIHsKQEAgLTQwMyw3ICszNjQsNyBA
QCBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlTGV2ZWwoTWVzc2FnZUxl
dmVsIGxldmVsKQogICAgIHJldHVybiBAIiI7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50Ojph
ZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBl
LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50
IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBXZWJDaHJvbWVDbGll
bnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7CiAgICAgaWQgZGVsZWdhdGUgPSBbbV93ZWJWaWV3
IFVJRGVsZWdhdGVdOwogICAgIEJPT0wgcmVzcG9uZHNUb05ld1NlbGVjdG9yID0gTk87CkBAIC00
MjYsNyArMzg3LDYgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUKICAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhVbnNpZ25lZEludDpsaW5lTnVtYmVyXSwgQCJsaW5lTnVtYmVyIiwKICAgICAg
ICAgKE5TU3RyaW5nICopc291cmNlVVJMLCBAInNvdXJjZVVSTCIsCiAgICAgICAgIG1lc3NhZ2VT
b3VyY2UsIEAiTWVzc2FnZVNvdXJjZSIsCi0gICAgICAgIHN0cmluZ0Zvck1lc3NhZ2VUeXBlKHR5
cGUpLCBAIk1lc3NhZ2VUeXBlIiwKICAgICAgICAgc3RyaW5nRm9yTWVzc2FnZUxldmVsKGxldmVs
KSwgQCJNZXNzYWdlTGV2ZWwiLAogICAgICAgICBOVUxMXTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAppbmRleCA3MWI0NWQ2ZGRk
NzJlMTNhZTQ0OTkxYzVmY2NmNTk5YjVkMjJhZDM2Li5kMTU0ZDQyZDYxMmJhMDNlY2RmN2E5ODQx
MGU3OTQwNmQxN2QyYzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFF0LmNwcApAQCAtMzA3LDcgKzMwNyw3IEBAIHZvaWQgQ2hyb21lQ2xp
ZW50UXQ6OnNldFJlc2l6YWJsZShib29sKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZv
aWQgQ2hyb21lQ2xpZW50UXQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKQordm9pZCBDaHJvbWVDbGllbnRRdDo6
YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJ
RCkKIHsKICAgICBRU3RyaW5nIHggPSBtZXNzYWdlOwogICAgIFFTdHJpbmcgeSA9IHNvdXJjZUlE
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5o
CmluZGV4IDEyMmI0MDhmYjU3NDhiY2I5YzA3NDg0ZDY2Zjc0NWM5ZDRhMzE0ZWUuLmQ3M2NiNDA5
NDlmMDRmYjU5MGFiYzQ2ZmIxMDYxMjE2MTI2ZGZiZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKQEAgLTEwMSw3ICsxMDEsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAgdmly
dHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUs
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRv
Q29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCk7CiAKICAgICB2
aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmlydHVh
bCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IEZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAppbmRleCA2OGJkZGVmMDM0MTg0YjVkNDAxZDVjZDBmNzRhNTYyMWY2
NGI2OWUyLi5kOGIyZjA2ZWRmOGJjZTU2Y2QzNjc4ZjU3NDczZTgwMGM1ZDQyODBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKQEAgLTMzNCw3ICszMzQsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXphYmxl
KGJvb2wgcmVzaXphYmxlKQogICAgIH0KIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1l
c3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lLCBj
b25zdCBTdHJpbmcmIHVybCkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25z
b2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZSwgY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgQ09N
UHRyPElXZWJVSURlbGVnYXRlPiB1aURlbGVnYXRlOwogICAgIGlmIChTVUNDRUVERUQobV93ZWJW
aWV3LT51aURlbGVnYXRlKCZ1aURlbGVnYXRlKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggOWFlYzczNDZmMDI1OWZl
ZjA4NWRhYTdhNjc1Y2UzOGRlNWE3ZDQzNi4uY2IzMmI4YzM3NTkzZmQzNDRlNmY5NDcyYjE1ZDk0
N2RmNzcyYmNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdl
VG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2Ugc291cmNlLCBXZWJDb3JlOjpNZXNzYWdl
VHlwZSB0eXBlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5n
JiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lLCBjb25zdCBXVEY6OlN0cmluZyYgdXJsKTsKKyAgICB2
aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlIHNv
dXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgbGluZSwgY29uc3QgV1RGOjpTdHJpbmcmIHVybCk7CiAKICAgICB2aXJ0
dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmlydHVhbCBi
b29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2Fn
ZSwgV2ViQ29yZTo6RnJhbWUqIGZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
Y2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwIGIvU291cmNlL1dlYktpdC93
aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKaW5kZXggZGU2YmY3MTkw
ZmIwMjM5YjQwMTc4ZmE0ZGU4YmVkY2Y0MDg1YmU0MS4uYzE4NmYyMjQwNmY0NTc3NjQ4YTUxYTlk
YTVkM2I3NWNjOTcyYzkwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKQEAgLTE4NCw3ICsxODQsNyBAQCBi
b29sIENocm9tZUNsaWVudFdpbkNFOjpydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBGcmFtZQogICAgIHJldHVybiBydW5KYXZhU2NyaXB0Q29uZmlybShm
cmFtZSwgbWVzc2FnZSk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50V2luQ0U6OmFkZE1lc3NhZ2VU
b0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiwgdW5zaWduZWQgaW50LCBjb25zdCBTdHJpbmcmKQordm9pZCBDaHJvbWVDbGllbnRX
aW5DRTo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYsIHVuc2lnbmVkIGludCwgY29uc3QgU3RyaW5nJikKIHsKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCmluZGV4IDk2Y2VhMWE2MmFiZDk4NWZhMTIyMGJjYjdm
NGQ3OWVjOTY5ODcxM2YuLjdmOTNjNTE2ZTljY2ViNmE1YWYxMjdiM2NlMzFmZWM4MzU0MWNkMmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50V2luQ0UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFdpbkNFLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9D
b25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBXZWJD
b3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBp
bnQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlEKTsKKyAgICB2aXJ0dWFs
IHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3Jl
OjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQg
bGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlEKTsKIAogICAgIHZpcnR1YWwg
Ym9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKTsKICAgICB2aXJ0dWFsIGJvb2wg
cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBX
ZWJDb3JlOjpGcmFtZSogZnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDA5N2Fi
ZThjYWFkNTFjNTMzYWVkYjRjOTMyODI1MDI1NTUxYzk4MTAuLjI0ZmVhZjg5MjdiMjA0ZmVhYjI5
NjU5NGQxMDEzZDhmZDRlYzAwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTI2Nyw3
ICsyNjcsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXphYmxlKGJvb2wgcmVzaXph
YmxlKQogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRJc1Jlc2l6
YWJsZShyZXNpemFibGUpKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VU
b0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiAv
KnNvdXJjZUlEKi8pCit2b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgLypzb3VyY2VJRCovKQogewogICAgIC8v
IE5vdGlmeSB0aGUgYnVuZGxlIGNsaWVudC4KICAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlVUlD
bGllbnQoKS53aWxsQWRkTWVzc2FnZVRvQ29uc29sZShtX3BhZ2UsIG1lc3NhZ2UsIGxpbmVOdW1i
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMWU2MmY3YWJkNGNjMmJiODUyOWU1MGY3NzEw
ZjcyZDYwOGUwMWM2My4uODQ0MDNmMjI2ZGUyNjE0NzFlODQ3ZmVkMzRkOTE3YzFjY2RlMzYyMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC05MCw3ICs5MCw3IEBAIHByaXZhdGU6CiAgICAgCiAg
ICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKSBPVkVSUklERTsKICAgICAKLSAgICB2
aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBX
ZWJDb3JlOjpNZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlE
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3Jl
OjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpIE9W
RVJSSURFOwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJt
UGFuZWwoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmly
bVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqKSBPVkVSUklERTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177739</attachid>
            <date>2012-12-05 06:46:18 -0800</date>
            <delta_ts>2012-12-11 01:53:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66371-20121205154342.patch</filename>
            <type>text/plain</type>
            <size>137254</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZiZTY4YTI4OWNmNGE3
ZTU5NjE4NGJlZGNhZjZmYTczODZlODYyMC4uYThjZDUzZjljZjBjNDY2ZWE2MDAwYjFkNDg3YjE4
MGRlODQ0MGFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2MyBAQAorMjAxMi0xMi0wNSAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENv
bnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBw
cml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2UgY2FuIHNpbXBsaWZ5IGNvbnNvbGUgbWVzc2FnZSBnZW5lcmF0aW9uIGEg
Yml0LCBhcyBub3RoaW5nIG91dHNpZGUgdGhlCisgICAgICAgIENvbnNvbGUgb2JqZWN0IGl0c2Vs
ZiB3aWxsIGdlbmVyYXRlIG1lc3NhZ2VzIG9mIGFueSB0eXBlIG90aGVyIHRoYW4KKyAgICAgICAg
TG9nTWVzc2FnZVR5cGUuIFRoaXMgcGF0Y2ggcmVmYWN0b3JzIHRoZSBleHRlcm5hbGx5LWZhY2lu
ZyBBUEkgZW5kcG9pbnRzCisgICAgICAgIG9uIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgYW5kIENv
bnNvbGUgdG8gZHJvcCB0aGUgTWVzc2FnZVR5cGUgcGFyYW1ldGVyLAorICAgICAgICBtb3ZlcyB0
aGUgTWVzc2FnZVR5cGUgZW51bSBpbnRvIGEgbmV3IEluc3BlY3RvckNvbnNvbGVUeXBlcy5oIGhl
YWRlciwKKyAgICAgICAgYW5kIHVwZGF0ZXMgYWxsIHRoZSBjYWxsIHNpdGVzIChhbmQgQ2hyb21l
Q2xpZW50cykgdG8gZHJvcCB0aGUgcGFyYW1ldGVyCisgICAgICAgIGZyb20gdGhlaXIgaW50ZXJm
YWNlcy4KKworICAgICAgICBIZXJlLCB3ZSBvbmx5IHJlZmFjdG9yIGFuIGludGVybmFsIGludGVy
ZmFjZS4gTm8gdGVzdHMgc2hvdWxkIGJyZWFrLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgICBXZSBhZGRlZCBhIG5ldyBm
aWxlISBPTUchCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5v
ZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6
CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RGF0YWJhc2U6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXQ6OmNvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViU29ja2V0OjpzZXRCaW5hcnlUeXBlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFu
bmVsOjpmYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxT
b2NrZXRTdHJlYW0pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29s
dmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29r
dXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQ
YXRoTlNSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEN1c3RvbVhQYXRoTlNSZXNv
bHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKToKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZSk6
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBy
b2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkZE1lc3NhZ2Up
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoRG9jdW1lbnQpOgorICAgICAg
ICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1l
bnQ6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25z
b2xlTWVzc2FnZVRhc2s6OnBlcmZvcm1UYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNzYWdlKToKKyAgICAgICAgKiBkb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2Fn
ZVRhc2s6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OkFkZENvbnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAg
ICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFZp
ZXdwb3J0V2FybmluZyk6CisgICAgICAgICogZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpCbG9iQnVpbGRlcjo6YXBwZW5kKToKKyAgICAgICAgKiBodG1s
L0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXV0
b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVseSk6CisgICAgICAg
ICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSUZy
YW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjpjYW5Mb2FkVXJs
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEp
OgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6
cHJpbnRXYXJuaW5nVG9Db25zb2xlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3I6OmluaXQpOgorICAgICAgICAoV2Vi
Q29yZTo6WFNTQXVkaXRvcjo6ZmlsdGVyVG9rZW4pOgorICAgICAgICAqIGluc3BlY3Rvci9Db25z
b2xlTWVzc2FnZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZVR5cGVzLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5jcHA6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAoV2ViQ29y
ZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVw
b3J0TG9jYWxMb2FkRmFpbGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzaG91
bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyk6CisgICAgICAgICogbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hl
ZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAg
ICogbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWl4
ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyk6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmNvcnNQb2xp
Y3lQcmV2ZW50ZWRMb2FkKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNl
aXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpk
aWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91
cDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRp
ZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKToKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVuaWVkTWVzc2FnZSk6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisgICAg
ICAgICogcGFnZS9Db25zb2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6OmFkZE1l
c3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6aW50ZXJuYWxBZGRNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnNvbGU6OmVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Omxv
Zyk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjp3YXJuKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnNvbGU6OmRpcik6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpkaXJ4bWwpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29uc29sZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29s
ZTo6dHJhY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6YXNzZXJ0Q29uZGl0aW9uKToK
KyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaDoKKyAgICAgICAgKENvbnNvbGUpOgorICAgICAgICAq
IHBhZ2UvQ29uc29sZVR5cGVzLmg6CisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0Nv
bnNvbGUpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnRXaXRoT3JpZ2luQ2hlY2spOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93OjpwcmludEVycm9yTWVzc2FnZSk6CisgICAgICAgICogcGFn
ZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBzdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydE1lc3NhZ2UpOgorICAgICAgICAqIHdvcmtlcnMvRGVm
YXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOgorICAgICAgICAoU2hhcmVkV29ya2VyUHJv
eHkpOgorICAgICAgICAoV2ViQ29yZTo6cG9zdENvbnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAg
IChXZWJDb3JlOjpTaGFyZWRXb3JrZXJQcm94eTo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJP
YmplY3QpOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUp
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNv
bnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyQ29udGV4dC5oOgorICAgICAgICAoV29ya2VyQ29udGV4dCk6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwb3N0Q29uc29s
ZU1lc3NhZ2VUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpw
b3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAoV29ya2VyTWVzc2FnaW5nUHJveHkpOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaDoKKyAgICAgICAgKFdvcmtlclJl
cG9ydGluZ1Byb3h5KToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6bG9nQ29uc29sZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBS
ZXF1ZXN0OjpzZW5kKToKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6WFNMVFByb2Nlc3Nvcjo6cGFyc2VFcnJvckZ1bmMpOgorICAgICAg
ICAqIHhtbC9YU0xUUHJvY2Vzc29yUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNMVE1lc3Nh
Z2VIYW5kbGVyOjpoYW5kbGVNZXNzYWdlKToKKwogMjAxMi0xMi0wNSAgS2Vpc2hpIEhhdHRvcmkg
IDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggZmxpY2tlcmluZyB3aGVuIGhpZGlu
ZyBwYWdlIHBvcHVwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCBiYjYwZGVjYzUw
ZmU5MDJhYmU1MmE5OWJkZTUyNGY0Mjk1MGI1NjQxLi5kOTcyZGYzNjZlNjBlYzM4ZTNhODZkNWM2
MGVlMjVhMzVhYTllNThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMi0xMi0wNSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNz
YWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2Fn
ZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDaHJvbWVDbGllbnRCbGFja0JlcnJ5OjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5Lmg6CisgICAgICAgIChD
aHJvbWVDbGllbnRCbGFja0JlcnJ5KToKKwogMjAxMi0xMi0wNCAgU2VhbiBXYW5nICA8WHVld2Vu
LldhbmdAdG9yY2htb2JpbGUuY29tLmNuPgogICAgICAgICBbQmxhY2tCZXJyeV0gVktCIGZsaWNr
ZXJzIGluIGFuZCBvdXQgd2hlbiB0YXBwaW5nIG9uIHdlYnZpZXcgYWZ0ZXIgdGV4dCBzZWxlY3Rp
b24gb24gVVJMIGJhcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAzODc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDE0Nzk0MWVkMTY2YjRl
YmJjMzUwNzMyNTNjMjlmNTI4MWZlNmQ4MjguLmUxNTJjYTkwOGFjMTIxZDIzOTgxZjEwZTMyNjE0
ZWYyYWJmYTk4ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAK
KzIwMTItMTItMDUgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUg
LSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBm
cm9tIHRoZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZCwgYW5kIGFsbAorICAgICAgICB0aGUg
YW5jaWxsaWFyeSBwbGFjZXMgaXQgdG91Y2hlcy4KKworICAgICAgICAqIHB1YmxpYy9XZWJTaGFy
ZWRXb3JrZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYlNoYXJlZFdvcmtlckNsaWVudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNoYXJlZFdvcmtlckNsaWVudDo6cG9zdENvbnNvbGVNZXNzYWdlVG9X
b3JrZXJPYmplY3QpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAgICAg
ICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50SW1wbCk6
CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZy
YW1lSW1wbDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogc3JjL1dlYlBhZ2VQb3B1
cEltcGwuY3BwOgorICAgICAgICAqIHNyYy9XZWJTaGFyZWRXb3JrZXJJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2hhcmVkV29ya2VySW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3Jr
ZXJPYmplY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTaGFyZWRXb3JrZXJJbXBsOjpwb3N0Q29u
c29sZU1lc3NhZ2VUYXNrKToKKyAgICAgICAgKiBzcmMvV2ViU2hhcmVkV29ya2VySW1wbC5oOgor
ICAgICAgICAoV2ViU2hhcmVkV29ya2VySW1wbCk6CisgICAgICAgICogc3JjL1dlYldvcmtlckNs
aWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJXb3JrZXJDbGllbnRJbXBsOjpwb3N0
Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgICogc3JjL1dlYldvcmtlckNs
aWVudEltcGwuaDoKKyAgICAgICAgKFdlYldvcmtlckNsaWVudEltcGwpOgorCiAyMDEyLTEyLTA0
ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIFJl
bW92ZSB0b1Y4T2JqZWN0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA3YTQ2YTQ3ZDM4ZTYzNzExMDZi
ZmEwYTkzZDJkNDk3Yjk1OTdiMDc5Li44OTg3MjZmZDBhZjQ2YzRlMGVkN2NjZmU3YmM5YzNiZTk0
NWZjZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMDUgIE1p
a2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
b25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUg
cHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNz
YWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5o
OgorICAgICAgICAoQ2hyb21lQ2xpZW50RWZsKToKKwogMjAxMi0xMS0zMCAgTWloYWkgTWFlcmVh
biAgPG1tYWVyZWFuQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTUmVnaW9uc10gd2hlbiBXZWJL
aXQgdXNlcyBWOCwgdGhlcmUgc2hvdWxkIGJlIGEgc2luZ2xlIHZhcmlhYmxlIHRvIHN0b3JlIGlm
IHRoZSBDU1MgUmVnaW9ucyBmZWF0dXJlIGlzIGVuYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBi
OTM2OGVjYzFkYzQwYzM2NjE0OGVmMDkxZGQ0MzMxZTE3MDc5MTY1Li5mNmIwOTJkNGE4NmFkZjM0
Y2RlNjZlYjNjNjk4Y2MxN2VlNmU3MjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTItMTItMDUgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5
cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZl
bCBmcm9tIHRoZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNs
aWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50R3RrLmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgorCiAyMDEyLTEyLTA0ICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RL
XSBBdm9pZCB1bm5lY2Vzc2FyeSBoZWFwIGFsbG9jYXRpb25zIGR1cmluZyBkcmFnIGFuZCBkcm9w
IG9wZXJhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBmNTM1MjFlNWU0MWEwNTgxMWZlMWUxN2M4
NzBiZWIwZjlkMmUzMWNiLi4zZDhmYzcxMTBhODlhM2YwMjBjYmYyYWUxY2ZkYjhlYTVjZDU3ZWY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMDUgIE1pa2UgV2Vz
dCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xl
VHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0
ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNzYWdlVG9D
b25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUpOgorCiAyMDEyLTEyLTAzICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCBNYWMgY29tcGlsYXRpb24gYWZ0
ZXIgcjEzNjQ0OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZWIwOTc1NWVhY2FhNGViMmFkNzM3YzYzOWI2
MDY4MTQ2ODQ1MThlNy4uZjI4Nzc2NTFjZGQyMjM5Y2I1OWZmM2UyZDczMjBmNjBkMGExNDczNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0wNSAgTWlrZSBXZXN0ICA8
bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBl
cyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRv
IGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRHJvcHMgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNv
bGUgbWV0aG9kLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUp
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAgIChD
aHJvbWVDbGllbnRRdCk6CisKIDIwMTItMTItMDQgIFBpZXJyZSBSb3NzaSAgPHBpZXJyZS5yb3Nz
aUBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBZZXQgYW5vdGhlciB1bnJldmlld2VkIHNwZWN1
bGF0aXZlIHdpbmRvd3MgYnVpbGQgZml4LiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA3N2VjMDc2MjA2
NDg1MTkwNzMzMDY1NDAwMzZhNWQwMzU3YmZjOGQzLi41MWUxYzMzOTkxZDBiODEzNzcwYWUxZmY2
MjY0YmU4ZjJlMzJiMGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MTItMDUgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBz
aG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRo
ZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
OgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKwogMjAxMi0xMS0zMCAgQnJlbnQgRnVsZ2hh
bSAgPGJmdWxnaGFtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dpbmRvd3MsIFdpbkNhaXJvXSBH
ZW5lcmF0ZSBsaWJyYXJ5IGV4cG9ydCBkZWZpbml0aW9uIGZpbGUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9n
CmluZGV4IGNhYmRkOTU4MTk0MWFhZjdmODU2YjAxMjA1OTg2ZTM0ZjBlNDVjMGQuLmRiYzAxNTIx
YmMyOTkwZjhmOTNiN2NiMDQ5YjM2M2ViOTE0Y2VlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMDUgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9y
Zz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBv
c2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6
Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Q2hyb21lQ2xpZW50V2luQ0U6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisgICAgICAgIChDaHJvbWVDbGll
bnRXaW5DRSk6CisKIDIwMTItMTEtMjkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5j
b20+CiAKICAgICAgICAgW1dLMl0gRm9yd2FyZCBjb29raWUgamFyIGNhbGxzIHRvIE5ldHdvcmtQ
cm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTQyMmY0ZWI1ODk0MDdmN2E5OTU1YTNjMWRhZjc3YjdmMTBj
MzAzZS4uMWIxOGJhYjk5ZTIyYTg0NmFmOTdhYjc4NzQ5NmE4NTE1ZDQ1YTc0YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEyLTA1ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29uc29sZVR5cGVzIHNob3VsZCBub3Qg
ZXhwb3NlIE1lc3NhZ2VUeXBlIC0gaXQgc2hvdWxkIGJlIHByaXZhdGUgdG8gaW5zcGVjdG9yLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wcyBXZWJD
b3JlOjpNZXNzYWdlTGV2ZWwgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBtZXRob2QuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoK
KyAgICAgICAgKFdlYkNocm9tZUNsaWVudCk6CisKIDIwMTItMTItMDUgIEFuZHJhcyBCZWNzaSAg
PGFuZHJhcy5iZWNzaUBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIFJFR1JFU1NJT04o
cjEzNTM5OSk6IEl0IG1hZGUgcW1sdGVzdHM6OkRvdWJsZVRhcFRvWm9vbTo6dGVzdF9kb3VibGVf
em9vbUluQW5kQmFjaygpIEFQSSB0ZXN0IGZhaWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IGJlN2NmMjM2OTQ5ZWVjOTM0MmMwODFmZmI3NThmZjljOTQ0NWE0NTAuLjY2YjkwOGMx
OTMyYzMxMGU0OTg5ODM0MjQwZGE0YTkxODQ0NjNkNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQpAQCAtMzcxMSw2ICszNzExLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZVR5cGVzLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb3VudGVycy5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb3VudGVycy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcAppbmRleCA0Mzc3MDVk
NTg3NzNmNzUxMmFjNDAxOTY5ZjcwYTQ2YTBiMDZiNWRhLi44ODFiODAzYjc1Y2FlNjY4YzJiMDg4
MjMyMTQyZjM3Mzc2MTIxNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCkBAIC00NDksNyArNDQ5LDcg
QEAgYm9vbCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6Omxvb3BpbmcoKQogewogICAgIHN0YXRpYyBi
b29sIGZpcnN0VGltZSA9IHRydWU7CiAgICAgaWYgKGZpcnN0VGltZSAmJiBjb250ZXh0KCkgJiYg
Y29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgY29udGV4dCgp
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgTG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJBdWRpb0J1ZmZlclNv
dXJjZU5vZGUgJ2xvb3BpbmcnIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkLiAgVXNlICdsb29wJyBp
bnN0ZWFkLiIpOworICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAi
QXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4g
IFVzZSAnbG9vcCcgaW5zdGVhZC4iKTsKICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAg
fQogCkBAIC00NjAsNyArNDYwLDcgQEAgdm9pZCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OnNldExv
b3BpbmcoYm9vbCBsb29waW5nKQogewogICAgIHN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7
CiAgICAgaWYgKGZpcnN0VGltZSAmJiBjb250ZXh0KCkgJiYgY29udGV4dCgpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJBdWRpb0J1ZmZlclNvdXJjZU5vZGUgJ2xvb3BpbmcnIGF0
dHJpYnV0ZSBpcyBkZXByZWNhdGVkLiAgVXNlICdsb29wJyBpbnN0ZWFkLiIpOworICAgICAgICBj
b250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
ICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4i
KTsKICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmNwcAppbmRl
eCA2MjkwN2UzZTFjZTZiMDkxNWMyYjAzNDc2MDllNTA3ZThjMDFjZWI2Li42Y2ZlNTFiNTg1Nzgz
ZDdjMjhlNjI1ODZkZjVkMmJhZTY5MmE2NTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5jcHAKQEAgLTU2Nyw3ICs1
NjcsNyBAQCBib29sIEFic3RyYWN0RGF0YWJhc2U6OmlzSW50ZXJydXB0ZWQoKQogCiB2b2lkIEFi
c3RyYWN0RGF0YWJhc2U6OmxvZ0Vycm9yTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7
Ci0gICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7
CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogI2lmIFBMQVRG
T1JNKENIUk9NSVVNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmNwcAppbmRleCAwNmQyYWU4ZWYwMTY4ZTMxYTMxMWIzMTk5NTM1ZjYxMjE1Yjc5Y2Vk
Li43ODUyYjJlYjJkM2EwMjI0Y2IyZTRlZjUwZGVjNTIxNzMxNjRiMTZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtMjEzLDI2ICsy
MTMsMjYgQEAgdm9pZCBXZWJTb2NrZXQ6OmNvbm5lY3QoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBwcm90b2NvbHMsIEV4Y2UKICAgICBtX3VybCA9IEtVUkwoS1VSTCgp
LCB1cmwpOwogCiAgICAgaWYgKCFtX3VybC5pc1ZhbGlkKCkpIHsKLSAgICAgICAgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkludmFsaWQgdXJsIGZvciBXZWJTb2NrZXQg
IiArIG1fdXJsLnN0cmluZygpKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiSW52
YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5nKCkpOwogICAgICAgICBtX3N0
YXRlID0gQ0xPU0VEOwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKICAgICBpZiAoIW1fdXJsLnByb3RvY29sSXMoIndzIikgJiYgIW1fdXJsLnByb3Rv
Y29sSXMoIndzcyIpKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJXcm9uZyB1cmwgc2NoZW1lIGZvciBXZWJTb2NrZXQgIiArIG1fdXJsLnN0cmluZygp
KTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV3JvbmcgdXJsIHNjaGVtZSBmb3Ig
V2ViU29ja2V0ICIgKyBtX3VybC5zdHJpbmcoKSk7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7
CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBp
ZiAobV91cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50ICIg
KyBtX3VybC5zdHJpbmcoKSk7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVSTCBo
YXMgZnJhZ21lbnQgY29tcG9uZW50ICIgKyBtX3VybC5zdHJpbmcoKSk7CiAgICAgICAgIG1fc3Rh
dGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICBpZiAoIXBvcnRBbGxvd2VkKG1fdXJsKSkgewotICAgICAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6
bnVtYmVyKG1fdXJsLnBvcnQoKSkgKyAiIGJsb2NrZWQiKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCAiV2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6bnVtYmVyKG1fdXJsLnBvcnQo
KSkgKyAiIGJsb2NrZWQiKTsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMg
PSBTRUNVUklUWV9FUlI7CiAgICAgICAgIHJldHVybjsKQEAgLTI1Nyw3ICsyNTcsNyBAQCB2b2lk
IFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIHByb3RvY29scywgRXhjZQogICAgIC8vIGNvbXBseSB3aXRoIFdlYlNvY2tldCBBUEkgc3Bl
Y2lmaWNhdGlvbiwgYnV0IGl0IHNlZW1zIHRvIGJlIHRoZSBvbmx5IHJlYXNvbmFibGUgd2F5IHRv
IGhhbmRsZSB0aGlzIGNvbmZsaWN0LgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvdG9j
b2xzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGlmICghaXNWYWxpZFByb3RvY29sU3RyaW5nKHBy
b3RvY29sc1tpXSkpIHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICciICsgZW5jb2RlUHJvdG9j
b2xTdHJpbmcocHJvdG9jb2xzW2ldKSArICInIik7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICciICsgZW5jb2RlUHJvdG9j
b2xTdHJpbmcocHJvdG9jb2xzW2ldKSArICInIik7CiAgICAgICAgICAgICBtX3N0YXRlID0gQ0xP
U0VEOwogICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYg
dXJsLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgSGFzaFNldDxT
dHJpbmc+IHZpc2l0ZWQ7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm90b2NvbHMuc2l6
ZSgpOyArK2kpIHsKICAgICAgICAgaWYgKHZpc2l0ZWQuY29udGFpbnMocHJvdG9jb2xzW2ldKSkg
ewotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldl
YlNvY2tldCBwcm90b2NvbHMgY29udGFpbiBkdXBsaWNhdGVzOiAnIiArIGVuY29kZVByb3RvY29s
U3RyaW5nKHByb3RvY29sc1tpXSkgKyAiJyIpOworICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiV2ViU29ja2V0IHByb3RvY29scyBjb250YWluIGR1cGxpY2F0ZXM6ICciICsgZW5j
b2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ldKSArICInIik7CiAgICAgICAgICAgICBtX3N0
YXRlID0gQ0xPU0VEOwogICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICAgICAg
cmV0dXJuOwpAQCAtMjk5LDcgKzI5OSw3IEBAIGJvb2wgV2ViU29ja2V0OjpzZW5kKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgQVNTRVJUKG1fY2hhbm5lbCk7
CiAgICAgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OlNlbmRSZXN1bHQgcmVzdWx0ID0gbV9j
aGFubmVsLT5zZW5kKG1lc3NhZ2UpOwogICAgIGlmIChyZXN1bHQgPT0gVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw6OkludmFsaWRNZXNzYWdlKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJzb2NrZXQgbWVzc2FnZSBjb250YWlucyBpbnZhbGlk
IGNoYXJhY3RlcihzKS4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRD
b25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2Vic29j
a2V0IG1lc3NhZ2UgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIocykuIik7CiAgICAgICAgIGVj
ID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTM3Myw3ICsz
NzMsNyBAQCB2b2lkIFdlYlNvY2tldDo6Y2xvc2UoaW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVh
c29uLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgfQogICAgICAgICBDU3RyaW5nIHV0Zjgg
PSByZWFzb24udXRmOChTdHJpbmc6OlN0cmljdENvbnZlcnNpb25SZXBsYWNpbmdVbnBhaXJlZFN1
cnJvZ2F0ZXNXaXRoRkZGRCk7CiAgICAgICAgIGlmICh1dGY4Lmxlbmd0aCgpID4gbWF4UmVhc29u
U2l6ZUluQnl0ZXMpIHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJXZWJTb2NrZXQgY2xvc2UgbWVzc2FnZSBpcyB0b28gbG9uZy4iKTsKKyAgICAg
ICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBjbG9zZSBtZXNzYWdlIGlz
IHRvbyBsb25nLiIpOwogICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CkBAIC00MzgsNyArNDM4LDcgQEAgdm9pZCBXZWJTb2NrZXQ6OnNl
dEJpbmFyeVR5cGUoY29uc3QgU3RyaW5nJiBiaW5hcnlUeXBlKQogICAgICAgICBtX2JpbmFyeVR5
cGUgPSBCaW5hcnlUeXBlQXJyYXlCdWZmZXI7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIiciICsgYmluYXJ5VHlwZSAr
ICInIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBiaW5hcnlUeXBlOyBiaW5hcnlUeXBlIHJlbWFp
bnMgdW5jaGFuZ2VkLiIpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIiciICsgYmluYXJ5
VHlwZSArICInIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBiaW5hcnlUeXBlOyBiaW5hcnlUeXBl
IHJlbWFpbnMgdW5jaGFuZ2VkLiIpOwogfQogCiBjb25zdCBBdG9taWNTdHJpbmcmIFdlYlNvY2tl
dDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggYmVlY2YyZGMwOTEyYTE0
ZmQ2Mjg3Y2NhMDFiYjM1YWY4NDk3NWY3Yy4uNzFkOWM1MjFlZjdjMTY2MzQxMGZiNGZhZTJlYTRl
NmQxZGI0MWM5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMTk0LDcgKzE5NCw3IEBAIHZvaWQgV2ViU29j
a2V0Q2hhbm5lbDo6ZmFpbChjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBBU1NFUlQoIW1fc3Vz
cGVuZGVkKTsKICAgICBpZiAobV9kb2N1bWVudCkgewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKG1fZG9jdW1lbnQsIG1faWRl
bnRpZmllciwgcmVhc29uKTsKLSAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJT
b2NrZXQgY29ubmVjdGlvbiB0byAnIiArIG1faGFuZHNoYWtlLT51cmwoKS5zdHJpbmcoKSArICIn
IGZhaWxlZDogIiArIHJlYXNvbik7CisgICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgY29ubmVj
dGlvbiB0byAnIiArIG1faGFuZHNoYWtlLT51cmwoKS5zdHJpbmcoKSArICInIGZhaWxlZDogIiAr
IHJlYXNvbik7CiAgICAgfQogCiAgICAgLy8gSHliaS0xMCBzcGVjaWZpY2F0aW9uIGV4cGxpY2l0
bHkgc3RhdGVzIHdlIG11c3Qgbm90IGNvbnRpbnVlIHRvIGhhbmRsZSBpbmNvbWluZyBkYXRhCkBA
IC0zMzEsNyArMzMxLDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRGYWlsU29ja2V0U3Ry
ZWFtKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlLCBjb25zdCBTb2MKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgbWVzc2FnZSA9ICJXZWJTb2NrZXQgbmV0d29yayBlcnJvcjogIiArIGVycm9y
LmxvY2FsaXplZERlc2NyaXB0aW9uKCk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IobV9kb2N1bWVudCwgbV9pZGVudGlmaWVy
LCBtZXNzYWdlKTsKLSAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTmV0d29y
a01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2Fn
ZSk7CisgICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE5ldHdvcmtNZXNzYWdl
U291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiAgICAgfQogICAgIG1fc2hvdWxk
RGlzY2FyZFJlY2VpdmVkRGF0YSA9IHRydWU7CiAgICAgaGFuZGxlLT5kaXNjb25uZWN0KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQppbmRleCAwOTViMmJiOTM3MWZkYzgzZDk2ZjgxNWJlNWE5MGI4ZmE3ZWQ2YTE4Li4w
MWE4N2UzMGVhOWEwODhjOGQ1OWVjODdlMTAzNGYxODVmZjEyMzk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAg
LTE5MDksNiArMTkwOSw3IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JD
YW52YXNJbnN0cnVtZW50YXRpb24uaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5o
IFwKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZVR5cGVzLmggXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JDb3VudGVy
cy5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggMDQ1MjM5ZGE2MmIzMjg2NjhhZDU1MzFhMTEwNzk4NGRkYjc3ZDQyNC4uZWQ0NzgyY2M1
ZTA1MDgwZTUzZDQxMTU5NTI5NzU0ZmZmMDQ4OWE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTUy
LDYgKzE1Miw3IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JCYXNlQWdlbnQuaCcsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3Iv
SW5zcGVjdG9yQ29uc29sZVR5cGVzLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCcs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGE4
YWY5MGY2NmU1NGQ2YjEzNDgyZTI5YmI3NjNlN2VkYjIyMTcwMjguLjZiZjMxYmQ3ZmU5N2UyZDFk
NGQwZTJiZTgwNDQ0ODkxY2FkM2JlYTIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC03NTE1NCw2ICs3NTE1NCwxMCBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9y
Q29uc29sZVR5cGVzLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JDb250cm9sbGVyLmNwcCIKIAkJCQk+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzQ4ZTkwM2M0MzgyYzUwZTQ5OGYwMzJiM2YzNTYzY2Vm
YzdjODlmMS4uNTAwOWFkY2I0NGRhNDU0OTA1OGQ4ZTE3NTAxNGRhMWQxOTU4Y2I4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
Nzk3LDYgKzc5Nyw3IEBACiAJCTJEOUEyNDc1MTVCOUMyRTMwMEQzNDUyNyAvKiBET01ET01TZWN1
cml0eVBvbGljeUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDlBMjQ3MTE1QjlDMjk1MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xp
Y3lJbnRlcm5hbC5oICovOyB9OwogCQkyRDlBMjQ3NjE1QjlDMkY0MDBEMzQ1MjcgLyogRE9NRE9N
U2VjdXJpdHlQb2xpY3kuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUEyNDcwMTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01T
ZWN1cml0eVBvbGljeS5oICovOyB9OwogCQkyRDlGMEUxMzE0RkYxQ0JGMDBCQTBGRjcgLyogbGlu
ZWFyU1JHQi5pY2MgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAqLzsgfTsKKwkJ
MkRGMkU5RDUxNjZFMzk3NTAwMzVCRUYyIC8qIEluc3BlY3RvckNvbnNvbGVUeXBlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRGMkU5RDQxNjZFMzk3
NDAwMzVCRUYyIC8qIEluc3BlY3RvckNvbnNvbGVUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJFMDg4OEQ0MTE0ODg0OEEwMEFGNDI2NSAv
KiBKU0RPTUZvcm1EYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAq
LzsgfTsKIAkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQzMTE0ODg0
OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi87IH07CiAJCTJFMDg4OEU2MTE0ODg0RTIw
MEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEU1MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RP
TUZvcm1EYXRhQ3VzdG9tLmNwcCAqLzsgfTsKQEAgLTc5ODAsNiArNzk4MSw3IEBACiAJCTJEOUEy
NDcxMTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeUludGVybmFsLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTURPTVNlY3VyaXR5UG9saWN5SW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5QTI0NzIxNUI5QzJDNzAwRDM0
NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gRE9NRE9NU2VjdXJpdHlQb2xpY3kubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBh
dGggPSBsaW5lYXJTUkdCLmljYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkRGMkU5
RDQxNjZFMzk3NDAwMzVCRUYyIC8qIEluc3BlY3RvckNvbnNvbGVUeXBlcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JDb25zb2xlVHlwZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4QzMxMTQ4ODNBOTAwQUY0MjY1IC8qIERPTUZvcm1E
YXRhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01Gb3JtRGF0YS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZv
cm1EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NRm9y
bURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhEMzExNDg4NDhB
MDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0RPTUZvcm1EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDg2
MSw2ICsxNDg2Myw3IEBACiAJCQkJRjMzMzVCRjYxMkUwN0RDMzAwRDMzMDExIC8qIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudC5jcHAgKi8sCiAJCQkJRjMzMzVCRjcxMkUwN0RDMzAwRDMzMDExIC8qIElu
c3BlY3RvckNvbnNvbGVBZ2VudC5oICovLAogCQkJCUYzRjVDRjEwMTJFRDgxQTgwMDg0QzU2OSAv
KiBJbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmggKi8sCisJCQkJMkRGMkU5RDQxNjZF
Mzk3NDAwMzVCRUYyIC8qIEluc3BlY3RvckNvbnNvbGVUeXBlcy5oICovLAogCQkJCTFDODFCOTU3
MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLywKIAkJCQkxQzgx
Qjk1NjBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5oICovLAogCQkJCUYz
MjVBNDA4MTRFRTM2RkEwMDczMjRFMiAvKiBJbnNwZWN0b3JDb3VudGVycy5jcHAgKi8sCkBAIC0y
NTg4NSw2ICsyNTg4OCw3IEBACiAJCQkJOTNGNzJBRjMxNjY2RURGQzAwMkEwMkJEIC8qIExheWVy
UG9vbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREVCQ0NERDIxNjY0NkU4MjAwQTQ1MkUxIC8qIFJl
bmRlck1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlERUJDQ0RENDE2
NjQ2RUFGMDBBNDUyRTEgLyogTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmggaW4gSGVhZGVycyAq
LywKKwkJCQkyREYyRTlENTE2NkUzOTc1MDAzNUJFRjIgLyogSW5zcGVjdG9yQ29uc29sZVR5cGVz
LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAppbmRleCBkMWRjMGIxY2VlZDMyMTE2YjY3ZjEy
NDhiMjgwYTRmZDRkN2MzYmEzLi5hOWIzNGE2NTZjOGZmZWExZTc5ZTFjZGU2Zjc2ZjhmNjBkNDc5
ODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRo
TlNSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Y
UGF0aE5TUmVzb2x2ZXIuY3BwCkBAIC03OCw3ICs3OCw3IEBAIFN0cmluZyBKU0N1c3RvbVhQYXRo
TlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyYgcHJlZml4KQogICAg
ICAgICBjYWxsVHlwZSA9IG1fY3VzdG9tUmVzb2x2ZXItPm1ldGhvZFRhYmxlKCktPmdldENhbGxE
YXRhKG1fY3VzdG9tUmVzb2x2ZXIuZ2V0KCksIGNhbGxEYXRhKTsKICAgICAgICAgaWYgKGNhbGxU
eXBlID09IENhbGxUeXBlTm9uZSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFBhc3MgYWN0dWFs
IGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgVVJMLgotICAgICAgICAgICAgbV9nbG9iYWxPYmplY3Qt
PmltcGwoKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhhdmUg
YSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIpOworICAgICAgICAgICAgbV9nbG9iYWxPYmpl
Y3QtPmltcGwoKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJYUGF0aE5TUmVzb2x2ZXIgZG9lcyBub3QgaGF2ZSBhIGxvb2t1cE5hbWVz
cGFjZVVSSSBtZXRob2QuIik7CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgICAg
IH0KICAgICAgICAgZnVuY3Rpb24gPSBtX2N1c3RvbVJlc29sdmVyLmdldCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29s
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRo
TlNSZXNvbHZlci5jcHAKaW5kZXggMWJhMDNhNDQ1Y2NkZjc5ZjRjZDlkMWUwYjAxZTExODBiYjA5
M2EyNC4uMmYyNzY3NjM4Mjc4NzU1MjEzN2U2NjljODZlZDM1NDU2MDgwYmQ2NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29s
dmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Y
UGF0aE5TUmVzb2x2ZXIuY3BwCkBAIC02OCw3ICs2OCw3IEBAIFN0cmluZyBWOEN1c3RvbVhQYXRo
TlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyYgcHJlZml4KQogICAg
IH0KIAogICAgIGlmIChsb29rdXBOYW1lc3BhY2VVUklGdW5jLklzRW1wdHkoKSAmJiAhbV9yZXNv
bHZlci0+SXNGdW5jdGlvbigpKSB7Ci0gICAgICAgIGFjdGl2ZURPTVdpbmRvdyhCaW5kaW5nU3Rh
dGU6Omluc3RhbmNlKCkpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJYUGF0aE5TUmVzb2x2ZXIgZG9lcyBu
b3QgaGF2ZSBhIGxvb2t1cE5hbWVzcGFjZVVSSSBtZXRob2QuIik7CisgICAgICAgIGFjdGl2ZURP
TVdpbmRvdyhCaW5kaW5nU3RhdGU6Omluc3RhbmNlKCkpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlhQYXRoTlNSZXNvbHZlciBkb2Vz
IG5vdCBoYXZlIGEgbG9va3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKTsKICAgICAgICAgcmV0dXJu
IFN0cmluZygpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcAppbmRleCAyMjU3ODVm
MjQzZWZlNDY4Yzc2MTVjMTIzYjEyZjU5NGE0ZWUxM2I3Li45YmY4MWYxODkxZGU5ZGI2NjliNTQ0
NDE3OWZiMDM1MDJhNjM5YTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFM
aXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcApAQCAtMzI0LDcg
KzMyNCw3IEBAIHN0YXRpYyB2b2lkIGFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29s
ZShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluCiAKICAgICBtZXNzYWdlLmFwcGVuZChz
ZXJpYWxpemVkRXhwcmVzc2lvbik7CiAKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2Uo
SFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBUaXBNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwg
VGlwTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogdm9pZCByZXBvcnRNZWRpYVF1ZXJ5V2Fy
bmluZ0lmTmVlZGVkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgTWVkaWFRdWVyeVNldCogbWVk
aWFRdWVyeVNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGNkNzRiOTE3ZmZkZmNkMDA1
ODJmM2E3MzAwOTRlMGM3M2U1MmZiNzYuLjc4OGMzODVhODI2YzJkN2M5ZTE3ZDc3YjdmMDY5NjBl
N2I3OGUyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjYxNCw3ICsyNjE0LDcgQEAg
RXZlbnRUYXJnZXQqIERvY3VtZW50OjplcnJvckV2ZW50VGFyZ2V0KCkKIAogdm9pZCBEb2N1bWVu
dDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPiBjYWxsU3RhY2spCiB7Ci0gICAgYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkws
IGxpbmVOdW1iZXIsIGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwg
Y2FsbFN0YWNrKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0VVJMKGNvbnN0IEtVUkwmIHVybCkK
QEAgLTI4ODMsNyArMjg4Myw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYoY29u
c3QgU3RyaW5nJiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAgICAgICAgICAgICAg
IFN0cmluZyBtZXNzYWdlID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiArIHVybCgpLnN0cmluZygp
ICsgIicgaW4gYSBmcmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnIiAr
IGNvbnRlbnQgKyAiJy4iOwogICAgICAgICAgICAgICAgIGZyYW1lTG9hZGVyLT5zdG9wQWxsTG9h
ZGVycygpOwogICAgICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCktPnNj
aGVkdWxlTG9jYXRpb25DaGFuZ2Uoc2VjdXJpdHlPcmlnaW4oKSwgYmxhbmtVUkwoKSwgU3RyaW5n
KCkpOwotICAgICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRp
Zmllcik7CisgICAgICAgICAgICAgICAgYWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgcmVxdWVzdElkZW50aWZpZXIpOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShlcXVp
diwgImNvbnRlbnQtc2VjdXJpdHktcG9saWN5IikpCkBAIC00NzQzLDI5ICs0NzQzLDI5IEBAIHZv
aWQgRG9jdW1lbnQ6OnBhcnNlRE5TUHJlZmV0Y2hDb250cm9sSGVhZGVyKGNvbnN0IFN0cmluZyYg
ZG5zUHJlZmV0Y2hDb250cm9sKQogICAgIG1faGF2ZUV4cGxpY2l0bHlEaXNhYmxlZEROU1ByZWZl
dGNoID0gdHJ1ZTsKIH0KIAotdm9pZCBEb2N1bWVudDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9p
ZCBEb2N1bWVudDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVl
c3RJZGVudGlmaWVyKQogewogICAgIGlmICghaXNDb250ZXh0VGhyZWFkKCkpIHsKLSAgICAgICAg
cG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCB0eXBlLCBsZXZl
bCwgbWVzc2FnZSkpOworICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNy
ZWF0ZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
ICAgICBpZiAoRE9NV2luZG93KiB3aW5kb3cgPSBkb21XaW5kb3coKSkgewogICAgICAgICBpZiAo
Q29uc29sZSogY29uc29sZSA9IHdpbmRvdy0+Y29uc29sZSgpKQotICAgICAgICAgICAgY29uc29s
ZS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRp
ZmllciwgdGhpcyk7CisgICAgICAgICAgICBjb25zb2xlLT5hZGRNZXNzYWdlKHNvdXJjZSwgbGV2
ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVudGlmaWVyLCB0aGlzKTsKICAgICB9CiB9CiAKLXZvaWQg
RG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5
cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKK3ZvaWQg
RG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBs
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5z
aWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKICAgICBpZiAoIWlzQ29udGV4dFRo
cmVhZCgpKSB7Ci0gICAgICAgIHBvc3RUYXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRl
KHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKKyAgICAgICAgcG9zdFRhc2soQWRkQ29u
c29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCBsZXZlbCwgbWVzc2FnZSkpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKERPTVdpbmRvdyogd2luZG93ID0gZG9tV2luZG93
KCkpIHsKICAgICAgICAgaWYgKENvbnNvbGUqIGNvbnNvbGUgPSB3aW5kb3ctPmNvbnNvbGUoKSkK
LSAgICAgICAgICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVy
KTsKKyAgICAgICAgICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2Fn
ZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsK
ICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMWVlYWE2ODI5NDQ2MTM3NTgzZmFl
MWEzY2QzODYwNjUxYmFkYzZhZi4uZDk3MGMzMjFkNTVmMDcxOGFmZTdmOGMwYTg2NWY4NzA2NGZl
YmJhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExNzYsNyArMTE3Niw3IEBAIHB1YmxpYzoK
ICAgICBEb2N1bWVudCogdGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKTsKICNlbmRpZgog
Ci0gICAgdmlydHVhbCB2b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9u
ZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVz
c2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCiBwcm90ZWN0ZWQ6CiAgICAg
RG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCk7
CkBAIC0xMjExLDcgKzEyMTEsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgS1VSTCYg
dmlydHVhbFVSTCgpIGNvbnN0OyAvLyBTYW1lIGFzIHVybCgpLCBidXQgbmVlZGVkIGZvciBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0IHRvIGltcGxlbWVudCBpdCB3aXRob3V0IGEgcGVyZm9ybWFuY2Ug
bG9zcyBmb3IgZGlyZWN0IGNhbGxzLgogICAgIHZpcnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVV
UkwoY29uc3QgU3RyaW5nJikgY29uc3Q7IC8vIFNhbWUgYXMgY29tcGxldGVVUkwoKSBmb3IgdGhl
IHNhbWUgcmVhc29uIGFzIGFib3ZlLgogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0g
MCk7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNp
Z25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxv
bmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKIAogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW1U
aW1lckludGVydmFsKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApp
bmRleCA0ZmE1NTllOGZiODJiNWNkMjg0N2IzZGEwMjA3OTM2YTUxNzE1NzFmLi4zMDBhNDA4M2U4
OGI0OWU0YWI5MWIzNTIwMmFmYTk1NmY0YmMzNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVs
ZW1lbnQuY3BwCkBAIC0zMzksNyArMzM5LDcgQEAgdm9pZCBTY3JpcHRFbGVtZW50Ojpub3RpZnlG
aW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAKICAgICAgICAgZGlzcGF0Y2hFcnJv
ckV2ZW50KCk7CiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVz
c2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBD
cm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKLSAgICAgICAgbV9lbGVt
ZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBt
X2VsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmlu
ZGV4IDAyMWM2ZTVlNDVkZTFiZGFhOTM5N2M1ZGQ3MDEyODMxMzY5NjViZWUuLjQ3NjZjZWU0Y2M1
Yzc4YTY5NmRhYzIyY2Y0NDc0NDQ1YzYzOTBjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGljOgogCiB2
b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OkFkZENvbnNvbGVNZXNzYWdlVGFzazo6cGVyZm9y
bVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSAgICBjb250ZXh0LT5h
ZGRDb25zb2xlTWVzc2FnZShtX3NvdXJjZSwgbV90eXBlLCBtX2xldmVsLCBtX21lc3NhZ2UpOwor
ICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKG1fc291cmNlLCBtX2xldmVsLCBtX21lc3Nh
Z2UpOwogfQogCiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkKQEAgLTMyMSwxNCArMzIxLDE0IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmVw
b3J0RXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluCiAgICAgbV9w
ZW5kaW5nRXhjZXB0aW9ucy5jbGVhcigpOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0
eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lk
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7
Ci0gICAgYWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkws
IGxpbmVOdW1iZXIsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOworICAgIGFkZE1lc3Nh
Z2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjYWxsU3Rh
Y2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAotdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAgICBhZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIFN0cmluZygpLCAwLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAg
ICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIFN0cmluZygpLCAwLCBjYWxsU3Rh
Y2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBhMmRmY2U3MTY2ZTFjZDAzNmU0NmYzODZjZjVmYjNm
NjFhYjNlNzc1Li5hMjAyODM3ZDliYWYwMDVjNGY2MDY0NjAyYmU5YTljMTAwZmRmYjU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTg0LDkgKzg0
LDkgQEAgcHVibGljOgogCiAgICAgYm9vbCBzYW5pdGl6ZVNjcmlwdEVycm9yKFN0cmluZyYgZXJy
b3JNZXNzYWdlLCBpbnQmIGxpbmVOdW1iZXIsIFN0cmluZyYgc291cmNlVVJMLCBDYWNoZWRTY3Jp
cHQqID0gMCk7CiAgICAgdm9pZCByZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+LCBDYWNoZWRTY3JpcHQqID0gMCk7Ci0gICAgdm9pZCBhZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gPSAwLCB1bnNpZ25lZCBsb25nIHJl
cXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciA9IDApOwotICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSA9IDA7CisgICAgdm9pZCBhZGRDb25z
b2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NS
ZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKTsKKyAgICB2b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2aXJ0dWFsIHZv
aWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSA9IDA7
CiAKICNpZiBFTkFCTEUoQkxPQikKICAgICBQdWJsaWNVUkxNYW5hZ2VyJiBwdWJsaWNVUkxNYW5h
Z2VyKCk7CkBAIC0xNzEsMjEgKzE3MSwxOSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgY2xh
c3MgQWRkQ29uc29sZU1lc3NhZ2VUYXNrIDogcHVibGljIFRhc2sgewogICAgIHB1YmxpYzoKLSAg
ICAgICAgc3RhdGljIFBhc3NPd25QdHI8QWRkQ29uc29sZU1lc3NhZ2VUYXNrPiBjcmVhdGUoTWVz
c2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKQorICAgICAgICBzdGF0aWMgUGFzc093blB0cjxBZGRDb25z
b2xlTWVzc2FnZVRhc2s+IGNyZWF0ZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVs
IGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgQWRkQ29uc29sZU1lc3NhZ2VUYXNrKHNvdXJjZSwgdHlwZSwgbGV2
ZWwsIG1lc3NhZ2UpKTsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQWRkQ29uc29s
ZU1lc3NhZ2VUYXNrKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKICAgICAgICAgfQogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAg
IHByaXZhdGU6Ci0gICAgICAgIEFkZENvbnNvbGVNZXNzYWdlVGFzayhNZXNzYWdlU291cmNlIHNv
dXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UpCisgICAgICAgIEFkZENvbnNvbGVNZXNzYWdlVGFzayhNZXNzYWdlU291cmNlIHNv
dXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgICAg
ICAgICA6IG1fc291cmNlKHNvdXJjZSkKLSAgICAgICAgICAgICwgbV90eXBlKHR5cGUpCiAgICAg
ICAgICAgICAsIG1fbGV2ZWwobGV2ZWwpCiAgICAgICAgICAgICAsIG1fbWVzc2FnZShtZXNzYWdl
Lmlzb2xhdGVkQ29weSgpKQogICAgICAgICB7CiAgICAgICAgIH0KICAgICAgICAgTWVzc2FnZVNv
dXJjZSBtX3NvdXJjZTsKLSAgICAgICAgTWVzc2FnZVR5cGUgbV90eXBlOwogICAgICAgICBNZXNz
YWdlTGV2ZWwgbV9sZXZlbDsKICAgICAgICAgU3RyaW5nIG1fbWVzc2FnZTsKICAgICB9OwpAQCAt
MTk0LDcgKzE5Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBLVVJMJiB2aXJ0dWFs
VVJMKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwoY29u
c3QgU3RyaW5nJikgY29uc3QgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0g
MCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
dW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25l
ZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOwogICAgIHZpcnR1YWwgRXZlbnRUYXJn
ZXQqIGVycm9yRXZlbnRUYXJnZXQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlv
blRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pID0gMDsK
ICAgICBib29sIGRpc3BhdGNoRXJyb3JFdmVudChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
aW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBDYWNoZWRTY3JpcHQqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IDFhOTk5MTI5Mzdh
ZDcwZWVlNzBiZDkyZWYzYmFhMGJhZWVjMDU5MjcuLjEwODgzODBhNjVlNjAwYmUxNWQ1YzgzYzIy
M2NhZjUyZWE2MmVhZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFy
Z3VtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNw
cApAQCAtNDUwLDcgKzQ1MCw3IEBAIHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50
KiBkb2N1bWVudCwgVmlld3BvcnRFcnJvckNvZGUgZXJyb3JDb2RlLCBjb25zCiAgICAgICAgIG1l
c3NhZ2UuYXBwZW5kKCIgTm90ZSB0aGF0ICc7JyBpcyBub3QgYSBzZXBhcmF0b3IgaW4gdmlld3Bv
cnQgdmFsdWVzLiBUaGUgbGlzdCBzaG91bGQgYmUgY29tbWEtc2VwYXJhdGVkLiIpOwogCiAgICAg
Ly8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9u
Y2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAzMjc0IGV4aXN0cy4KLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCB2aWV3cG9ydEVycm9yTWVzc2FnZUxldmVsKGVycm9y
Q29kZSksIG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVz
c2FnZVNvdXJjZSwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdl
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L1dlYktpdEJsb2JCdWlsZGVyLmNwcAppbmRleCA4MzEyYTU0N2M2Mjg4MDc1ZDE0MWY4NDczMDFj
NGI1NTJmNzhmZGRjLi5kMmI2YmVhYjU0NGZiNWNkNTBhMTRkZWJlZTlmMGM0NGI1N2FmNDY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcApAQCAtOTIs
NyArOTIsNyBAQCB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoY29uc3QgU3RyaW5nJiB0ZXh0LCBj
b25zdCBTdHJpbmcmIGVuZGluZ1R5cGUpCiB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgQXJyYXlCdWZmZXIqIGFycmF5QnVmZmVyKQogewog
ICAgIFN0cmluZyBjb25zb2xlTWVzc2FnZSgiQXJyYXlCdWZmZXIgdmFsdWVzIGFyZSBkZXByZWNh
dGVkIGluIEJsb2IgQ29uc3RydWN0b3IuIFVzZSBBcnJheUJ1ZmZlclZpZXcgaW5zdGVhZC4iKTsK
LSAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgY29udGV4
dC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVs
LCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVt
ZXJhdGlvbigiV2ViQ29yZS5CbG9iLmNvbnN0cnVjdG9yLkFycmF5QnVmZmVyT3JWaWV3IiwgQmxv
YkNvbnN0cnVjdG9yQXJyYXlCdWZmZXIsIEJsb2JDb25zdHJ1Y3RvckFycmF5QnVmZmVyT3JWaWV3
TWF4KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHAKaW5kZXggMGM1YmY5MWE3M2VmNTNmNjE5YjgyZWZlODcwMDhjYWYyYWIxYWJlZS4uNGNmMzU5
MjAwYmY2N2YxMGVkZDNlYzY1MjU0NTE5MTk5ZDQ5ZDMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xNzQsNyArMTc0LDcgQEAgc3Rh
dGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1lbnQp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZWxlbWVudC0+ZG9jdW1lbnQoKS0+aXNT
YW5kYm94ZWQoU2FuZGJveEF1dG9tYXRpY0ZlYXR1cmVzKSkgewogICAgICAgICAvLyBGSVhNRTog
VGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0
aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhp
c3RzLgotICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1M
TWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tl
ZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1l
IGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBz
ZXQuIik7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhU
TUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXV0b2ZvY3VzaW5n
IG9uIGEgZm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQg
YW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGlmIChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IGQyYzRjZDEzZmE1
NDY5YTNmODVjNDQyNTA0ZjFhODFlMTI4YTU3YTguLjQ0ZWQ1MTVmYTI2ZjViOWMwMjdkYWIxN2Rk
MjViNzFjYzNmNDEyZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAK
QEAgLTI1OSw3ICsyNTksNyBAQCBib29sIEhUTUxGb3JtRWxlbWVudDo6dmFsaWRhdGVJbnRlcmFj
dGl2ZWx5KEV2ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg
ICAgIFN0cmluZyBtZXNzYWdlKCJBbiBpbnZhbGlkIGZvcm0gY29udHJvbCB3aXRoIG5hbWU9JyVu
YW1lJyBpcyBub3QgZm9jdXNhYmxlLiIpOwogICAgICAgICAgICAgbWVzc2FnZS5yZXBsYWNlKCIl
bmFtZSIsIHVuaGFuZGxlZEFzc29jaWF0ZWRFbGVtZW50LT5uYW1lKCkpOwotICAgICAgICAgICAg
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgICAgICAgICBkb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsIG1lc3NhZ2UpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAKaW5kZXggOGQyYmVjOTk2ODQwNGU5
MzdkZjkyZWNiNzhkYzJlYmNiZWI3YjViMS4uNTU3YjkzMDZlNDNiM2I4MWUyMDc5NWU3MWQ1ZGRj
ODJlMmU4Zjc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAK
QEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3QKICAgICAgICAgU3RyaW5n
IGludmFsaWRUb2tlbnM7CiAgICAgICAgIHNldFNhbmRib3hGbGFncyh2YWx1ZS5pc051bGwoKSA/
IFNhbmRib3hOb25lIDogU2VjdXJpdHlDb250ZXh0OjpwYXJzZVNhbmRib3hQb2xpY3kodmFsdWUs
IGludmFsaWRUb2tlbnMpKTsKICAgICAgICAgaWYgKCFpbnZhbGlkVG9rZW5zLmlzTnVsbCgpKQot
ICAgICAgICAgICAgZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yIHdoaWxlIHBhcnNp
bmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICIgKyBpbnZhbGlkVG9rZW5zKTsKKyAgICAgICAg
ICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkVycm9yIHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1
dGU6ICIgKyBpbnZhbGlkVG9rZW5zKTsKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gc2VhbWxlc3NB
dHRyKSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGFkZGluZyBvciByZW1vdmluZyB0aGUgc2VhbWxl
c3MgYXR0cmlidXRlLCB3ZSBuZWVkIHRvIGZvcmNlIHRoZSBjb250ZW50IGRvY3VtZW50IHRvIHJl
Y2FsY3VsYXRlIGl0cyBTdHlsZVJlc29sdmVyLgogICAgICAgICBpZiAoY29udGVudERvY3VtZW50
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCBmNWYyYjU2
M2ViMDI5NjVhYTA1Y2U5M2U0MTI3NjMzZGRhZDk5MmI1Li5mNDZmNTVkNTFiOTgyYTk3MjIwODhj
YTQyY2Y4YmI4MzY5YzEwZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
cmFja0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVu
dC5jcHAKQEAgLTIzMCw3ICsyMzAsNyBAQCBib29sIEhUTUxUcmFja0VsZW1lbnQ6OmNhbkxvYWRV
cmwoY29uc3QgS1VSTCYgdXJsKQogCiAgICAgaWYgKCFkb2N1bWVudCgpLT5jb250ZW50U2VjdXJp
dHlQb2xpY3koKS0+YWxsb3dNZWRpYUZyb21Tb3VyY2UodXJsKSkgewogICAgICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIlRleHQg
dHJhY2sgbG9hZCBkZW5pZWQgYnkgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuIikpKTsKLSAgICAg
ICAgZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNz
YWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICBMT0coTWVkaWEsICJIVE1MVHJhY2tFbGVt
ZW50OjpjYW5Mb2FkVXJsKCVzKSAtPiByZWplY3RlZCBieSBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eSIsIHVybEZvckxvZ2dpbmcodXJsKS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IGI0NWZmNDAwOTViNjEyOTJiMDMzODBmZWZj
OThjZDI3MTFjNjc0MjkuLjlmMWFjOGIzMjc5Y2I1NzNhZjE1NjFiNmVmY2FmNjU2NmVlNDg3ZTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmNwcApAQCAtMTkxNiw3ICsxOTE2LDcgQEAgUGFzc1JlZlB0cjxJbWFnZURh
dGE+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRhKEltYWdlQnVmZmVyOjpD
b29yZGkKIHsKICAgICBpZiAoIWNhbnZhcygpLT5vcmlnaW5DbGVhbigpKSB7CiAgICAgICAgIERF
RklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgi
VW5hYmxlIHRvIGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBo
YXMgYmVlbiB0YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRhLiIpKSk7Ci0gICAgICAgIGNhbnZh
cygpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBj
YW52YXMoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICBlYyA9IFNFQ1VSSVRZ
X0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggZDMwY2FkOGE5NDBj
ZTZjYTBjZDkyZTY3ZGQzNjIwMTk4NjI0YjE1Zi4uNzQyNjY4YzA4YmQ2YTUxZGZkNTY2NmEwNTFj
NWY5Zjc3OTFhYzlhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC01MjQ1LDcgKzUyNDUsNyBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6cHJpbnRXYXJuaW5nVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjYW52YXMoKS0+ZG9jdW1lbnQoKTsKICAg
ICBpZiAoIWRvY3VtZW50KQogICAgICAgICByZXR1cm47Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNv
bGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3Nh
Z2VMZXZlbCwgbWVzc2FnZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxN
ZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogYm9vbCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlRnJhbWVidWZmZXJGdW5jUGFyYW1ldGVycyhj
b25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gYXR0YWNo
bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKaW5kZXggOTNi
ZWNkOTkzN2UyOWQxOTE1NjM2ZTQzMzJkMzk1ZjcyMjJmMzhiMi4uYWNmY2MyZmI5ZTg0ZTI1YjVk
NWQ0MzkyOWI2Nzg5YzcwZjQ5ZGYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvWFNTQXVkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNT
QXVkaXRvci5jcHAKQEAgLTIzOSw3ICsyMzksNyBAQCB2b2lkIFhTU0F1ZGl0b3I6OmluaXQoKQog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKG1feHNzUHJvdGVjdGlvbiA9PSBYU1NQcm90ZWN0aW9u
SW52YWxpZCkgewotICAgICAgICAgICAgbV9wYXJzZXItPmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVl
ICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3Ry
aW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0
aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CisgICAgICAgICAgICBtX3BhcnNlci0+ZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkVycm9yIHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIgKyBoZWFkZXJWYWx1ZSAr
ICI6ICIgICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9zaXRpb24gIiArIFN0cmlu
Zzo6Zm9ybWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRlZmF1bHQgcHJvdGVjdGlv
bnMgd2lsbCBiZSBhcHBsaWVkLiIpOwogICAgICAgICAgICAgbV94c3NQcm90ZWN0aW9uID0gWFNT
UHJvdGVjdGlvbkVuYWJsZWQ7CiAgICAgICAgIH0KIApAQCAtMjkwLDcgKzI5MCw3IEBAIHZvaWQg
WFNTQXVkaXRvcjo6ZmlsdGVyVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKICAgICBpZiAoZGlkQmxv
Y2tTY3JpcHQpIHsKICAgICAgICAgLy8gRklYTUU6IENvbnNpZGVyIHVzaW5nIGEgbW9yZSBoZWxw
ZnVsIGNvbnNvbGUgbWVzc2FnZS4KICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcs
IGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBKYXZh
U2NyaXB0IHNjcmlwdC4gU291cmNlIGNvZGUgb2Ygc2NyaXB0IGZvdW5kIHdpdGhpbiByZXF1ZXN0
LlxuIikpKTsKLSAgICAgICAgbV9wYXJzZXItPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBjb25z
b2xlTWVzc2FnZSk7CisgICAgICAgIG1fcGFyc2VyLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7
CiAKICAgICAgICAgYm9vbCBkaWRCbG9ja0VudGlyZVBhZ2UgPSAobV94c3NQcm90ZWN0aW9uID09
IFhTU1Byb3RlY3Rpb25CbG9ja0VuYWJsZWQpOwogICAgICAgICBpZiAoZGlkQmxvY2tFbnRpcmVQ
YWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdl
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCAwYTRl
NDdkYWFkOWU1YWUxZjhjYzY1ZjQ2MzlhYTFiODJmMTc5MWJmLi44NDNjM2I2ZGNlMWIzZGZiNWI5
N2VkNjE0OTkwNDYwMTA2ZjdjYWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZU1lc3NhZ2UuaApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBDb25zb2xlTWVzc2FnZV9oCiAK
ICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlVHlw
ZXMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0
YXRlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaAppbmRleCAzYzQ2NzgwMTdlMDg2YTdjNGUw
ZDgxMjM1ZGQ1MDQ5ZDRlYjY3NTJiLi4wMGE3NTRiMzliMGE2OTg0MWUxYzA0NzlmNzBjMmQ1OTEw
OGQ2YjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
c29sZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNv
bGVBZ2VudC5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JCYXNlQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb25z
b2xlVHlwZXMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIlNj
cmlwdFN0YXRlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlVHlwZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlVHlwZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZWU0YWJm
MGZlZjgzOWI4MzJhZTQ4YzJkMDhhYjZmMGE4MjQwY2RjCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVUeXBlcy5oCkBAIC0wLDAgKzEs
NDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yQ29uc29sZVR5cGVzX2gKKyNk
ZWZpbmUgSW5zcGVjdG9yQ29uc29sZVR5cGVzX2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitl
bnVtIE1lc3NhZ2VUeXBlIHsKKyAgICBMb2dNZXNzYWdlVHlwZSwKKyAgICBEaXJNZXNzYWdlVHlw
ZSwKKyAgICBEaXJYTUxNZXNzYWdlVHlwZSwKKyAgICBUcmFjZU1lc3NhZ2VUeXBlLAorICAgIFN0
YXJ0R3JvdXBNZXNzYWdlVHlwZSwKKyAgICBTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUs
CisgICAgRW5kR3JvdXBNZXNzYWdlVHlwZSwKKyAgICBDbGVhck1lc3NhZ2VUeXBlLAorICAgIEFz
c2VydE1lc3NhZ2VUeXBlLAorICAgIFRpbWluZ01lc3NhZ2VUeXBlCit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDb25zb2xlVHlwZXNfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKaW5kZXggODFiY2VlZGVj
Njk5Zjc3MTJjZWRiYmY0MGQ5NjlkYTI5NjAwMTJiYi4uOThkMGVhYjg1M2RlYjFkYWFmM2YzN2Qy
YzE4ZmUxZWJjOTZkOWM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ29uc29s
ZVR5cGVzLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JCYXNlQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlVHlwZXMuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIlNjcmlwdEJyZWFrcG9pbnQuaCIK
ICNpbmNsdWRlICJTY3JpcHREZWJ1Z0xpc3RlbmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDZmNmE5YWI2
ZWYyMWM2MWIwYTdiMDYwYjI2OGFmOTM4MzJjMDY2OTYuLjMxOGUzNDZjZWRhMjRiMDVjZGEwMzIy
NDlkYTA1YWYzODgzZGJiMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQ1NTQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDYW52YXNBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3Rv
ckNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGF0
YWJhc2VBZ2VudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDJjNmQyYTkyOGZmZWM4YmVjY2VmNWQ5YzBmNzc0Njc0
ZWJmYjUwZjIuLjAxMjE5MjIwNTZiZTcyNjA3MGVhYzNmMzhiNGFmODgyMDY0OGRiMjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRl
ICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb25z
b2xlVHlwZXMuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAKaW5kZXggNmQ3MTg1YmM0
OGE4MTZiYWRjODMwNGUxY2Q3YzZmZjRjMzk0N2Y3Yy4uMzdlZjcxNTc3ODBjYTQ1YzQ1MzJkZjli
ZjAzMDFkNDJjYWNiNWY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQcm9maWxlckFnZW50LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIklu
amVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZVR5
cGVzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JTdGF0ZS5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCmluZGV4IDg2OWY5MGY1NGE3NzI4ZTkwYjI5YmM5MWQyYzIzOThlYjZj
YWY4OWMuLmQ5YWE2N2FjYTVlZDMwNWMyNzFiNTc0N2Q5ODBiZjhlZGY1MDQ1MWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpIHsgfQogCi0gICAgdmlydHVhbCB2
b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIHsgfQorICAg
IHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIHsgfQogCiAgICAg
dmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpIHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25z
dCBTdHJpbmcmLCBGcmFtZSopIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCmluZGV4IDk3NDQxYjQxYjZhNmUyZTQyOWFlNTIxYmE0ZmE3NWZiZDZiMGQy
MzUuLmZhZjFlN2RhMjNkMTBjNDQzNGI4OWIzM2M2MGYyMzQ3N2Q2YjY5MTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMzM1LDcgKzMzNSw3IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OnN1Ym1pdEZvcm0oUGFzc1JlZlB0cjxGb3JtU3VibWlzc2lvbj4gc3VibWlzc2lvbikK
IAogICAgIGlmIChpc0RvY3VtZW50U2FuZGJveGVkKG1fZnJhbWUsIFNhbmRib3hGb3JtcykpIHsK
ICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBj
b25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgIkJsb2NrZWQgZm9ybSBzdWJtaXNzaW9uIHRvICciICsgc3VibWlzc2lvbi0+
YWN0aW9uKCkuc3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJv
eGVkIGFuZCB0aGUgJ2FsbG93LWZvcm1zJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgZm9ybSBzdWJtaXNzaW9uIHRvICciICsg
c3VibWlzc2lvbi0+YWN0aW9uKCkuc3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJh
bWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LWZvcm1zJyBwZXJtaXNzaW9uIGlzIG5vdCBz
ZXQuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE0MDYsNyArMTQwNiw3IEBAIHZv
aWQgRnJhbWVMb2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZChGcmFtZSogZnJhbWUsIGNvbnN0
IFN0cmluZyYgdXJsKQogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwg
cmVzb3VyY2U6ICIgKyB1cmwpOworICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiTm90IGFsbG93ZWQgdG8g
bG9hZCBsb2NhbCByZXNvdXJjZTogIiArIHVybCk7CiB9CiAKIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgRnJhbWVMb2FkZXI6OmluaXRpYWxSZXF1ZXN0KCkgY29uc3QKQEAgLTI5MjEsNyArMjkyMSw3
IEBAIGJvb2wgRnJhbWVMb2FkZXI6OnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRpb25z
KGNvbnN0IFN0cmluZyYgY29udGVudCwgY29uCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9IGVsc2UgewogICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJJbnZhbGlkICdYLUZyYW1lLU9w
dGlvbnMnIGhlYWRlciBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgJyIgKyB1cmwuc3RyaW5nKCkg
KyAiJzogJyIgKyBjb250ZW50ICsgIicgaXMgbm90IGEgcmVjb2duaXplZCBkaXJlY3RpdmUuIFRo
ZSBoZWFkZXIgd2lsbCBiZSBpZ25vcmVkLiI7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIG1fZnJh
bWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC0zMjk0LDcgKzMyOTQsNyBAQCBGcmFtZSogY3JlYXRlV2luZG93KEZy
YW1lKiBvcGVuZXJGcmFtZSwgRnJhbWUqIGxvb2t1cEZyYW1lLCBjb25zdCBGcmFtZUxvYWRSZXF1
ZQogICAgIC8vIFNhbmRib3hlZCBmcmFtZXMgY2Fubm90IG9wZW4gbmV3IGF1eGlsaWFyeSBicm93
c2luZyBjb250ZXh0cy4KICAgICBpZiAoaXNEb2N1bWVudFNhbmRib3hlZChvcGVuZXJGcmFtZSwg
U2FuZGJveFBvcHVwcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQg
YmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgb3BlbmVy
RnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIG9wZW5pbmcgJyIgKyBy
ZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLnN0cmluZygpICsgIicgaW4gYSBuZXcgd2lu
ZG93IGJlY2F1c2UgdGhlIHJlcXVlc3Qgd2FzIG1hZGUgaW4gYSBzYW5kYm94ZWQgZnJhbWUgd2hv
c2UgJ2FsbG93LXBvcHVwcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAgICBvcGVu
ZXJGcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBvcGVuaW5nICciICsgcmVxdWVzdC5yZXNvdXJj
ZVJlcXVlc3QoKS51cmwoKS5zdHJpbmcoKSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRo
ZSByZXF1ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1
cHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCBlMjI0N2QyNTRjN2Y4NjA5
ZWY2ZWEyYTk3NzNiNWY5ZjdkMWI2OTVhLi5lNjdlZDU5MDQ2NzgwODgyODRjZjM2NDkwMjBlMTMx
ZGJhMDI4YzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTI4Miw3
ICsyODIsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJj
ZSogcmVzb3VyY2UpCiAgICAgICAgIGVycm9yRXZlbnRTZW5kZXIoKS5kaXNwYXRjaEV2ZW50U29v
bih0aGlzKTsKIAogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1l
c3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiBpbWFnZSBsb2FkIGRlbmllZCBieSBD
cm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKLSAgICAgICAgZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29u
c29sZU1lc3NhZ2UpOwogCiAgICAgICAgIEFTU0VSVCghbV9oYXNQZW5kaW5nTG9hZEV2ZW50KTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAppbmRleCA2
OTE0ZTkxNWI0MjJhYTc2YmNmYWY2NGE4MmZmOGJmMjEzYTMyMDgyLi5mMDc0MTg5ZGQwYzAyNWQw
MDlkZWMwZGVmOGJhNWZlMWJjMmQ2OTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFp
blJlc291cmNlTG9hZGVyLmNwcApAQCAtMzY3LDcgKzM2Nyw3IEBAIHZvaWQgTWFpblJlc291cmNl
TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcikKICAg
ICAgICAgaWYgKGZyYW1lTG9hZGVyKCktPnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRp
b25zKGNvbnRlbnQsIHIudXJsKCksIGlkZW50aWZpZXIoKSkpIHsKICAgICAgICAgICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclhGcmFtZU9wdGlvbnNEZW5pZWQobV9k
b2N1bWVudExvYWRlci0+ZnJhbWUoKSwgZG9jdW1lbnRMb2FkZXIoKSwgaWRlbnRpZmllcigpLCBy
KTsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiAr
IHIudXJsKCkuc3RyaW5nKCkgKyAiJyBpbiBhIGZyYW1lIGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1l
LU9wdGlvbnMnIHRvICciICsgY29udGVudCArICInLiI7Ci0gICAgICAgICAgICBtX2RvY3VtZW50
TG9hZGVyLT5mcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgaWRlbnRp
ZmllcigpKTsKKyAgICAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCktPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UsIGlkZW50aWZpZXIoKSk7CiAKICAgICAgICAgICAgIGNhbmNlbCgpOwogICAgICAg
ICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29u
dGVudENoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNr
ZXIuY3BwCmluZGV4IDM4MThkNWZiMDFhZTEyYTY0MzE1YzRhZmQ0OWM0MzhlYmU2OWQwYTEuLmI4
YzI5M2RjYjNiMzgwYzM5ZDVjZjQxODdkNTI1YjE5YmViMmI0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKQEAgLTEwMiw3ICsxMDIsNyBAQCB2
b2lkIE1peGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcoYm9vbCBhbGxvd2VkLCBjb25zdCBT
dHJpbmcmIGFjdGlvbiwgY29uc3QgSwogICAgIC8vIEZJWE1FOiBXaHkgZG9lcyB0aGlzIG1lc3Nh
Z2Ugbm90IGhhdmUgYSBzb3VyY2UgVVJMIG9yIGEgbGluZSBudW1iZXI/IHdlYmtpdC5vcmcvYi85
Nzk3OQogICAgIFN0cmluZyBtZXNzYWdlID0gU3RyaW5nOjpmb3JtYXQoIiVzVGhlIHBhZ2UgYXQg
JXMgJXMgaW5zZWN1cmUgY29udGVudCBmcm9tICVzLlxuIiwKICAgICAgICAgKGFsbG93ZWQgPyAi
IiA6ICJbYmxvY2tlZF0gIiksIGFzVVRGOChtX2ZyYW1lLT5kb2N1bWVudCgpLT51cmwoKSkuZGF0
YSgpLCBhY3Rpb24udXRmOCgpLmRhdGEoKSwgYXNVVEY4KHRhcmdldCkuZGF0YSgpKTsKLSAgICBt
X2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1fZnJh
bWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBXYXJu
aW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAppbmRleCA3ZTE0YjQzMzQ5
Yzg1MGExOTViNjZjMjU5MDYxMzZkOGI4MGY2ZjQwLi5mNmFlZjQ5ZjA5MGI5Nzc3ZTdkYmU5ZTYw
MTk5MWQyOGMyMDEyNmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRy
YWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVy
LmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpjb3JzUG9saWN5
UHJldmVudGVkTG9hZCgpCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNv
bGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJDcm9zcy1vcmlnaW4gdGV4dCB0cmFjayBsb2FkIGRl
bmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKICAgICBE
b2N1bWVudCogZG9jdW1lbnQgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCk7Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7
CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKICAgICBtX3N0YXRlID0gRmFpbGVkOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlR3JvdXAuY3BwCmluZGV4IDExOGVlMWE1ZDg1ZDM3MGQzNjUwNTVmMzE1ZTMwNmY4NmM0
YTIyMjYuLmFmMmM5NTJkYThkZGJhMDM5Zjk0NjY0NzMxMmEyZjlmMjNkODczNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
R3JvdXAuY3BwCkBAIC00NzQsNyArNDc0LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmFib3J0KEZyYW1lKiBmcmFtZSkKICAgICBpZiAobV9jb21wbGV0aW9uVHlwZSAhPSBOb25lKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgVGlwTWVzc2FnZUxldmVsLCAi
QXBwbGljYXRpb24gQ2FjaGUgZG93bmxvYWQgcHJvY2VzcyB3YXMgYWJvcnRlZC4iKTsKKyAgICBm
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBU
aXBNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBkb3dubG9hZCBwcm9jZXNzIHdhcyBh
Ym9ydGVkLiIpOwogICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiB9CiAKQEAgLTU2OCw3ICs1Njgs
NyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291
cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlcwogCiAgICAgaWYgKHJlc3BvbnNlLmh0dHBTdGF0
dXNDb2RlKCkgLyAxMDAgIT0gMiB8fCByZXNwb25zZS51cmwoKSAhPSBtX2N1cnJlbnRIYW5kbGUt
PmZpcnN0UmVxdWVzdCgpLnVybCgpKSB7CiAgICAgICAgIGlmICgodHlwZSAmIEFwcGxpY2F0aW9u
Q2FjaGVSZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291
cmNlOjpGYWxsYmFjaykpIHsKLSAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENv
bnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsg
bV9jdXJyZW50SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJpbmcoKSArIAorICAgICAg
ICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdl
U291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWls
ZWQsIGJlY2F1c2UgIiArIG1fY3VycmVudEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkuc3Ry
aW5nKCkgKyAKICAgICAgICAgICAgICAgICAoKHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAx
MDAgIT0gMikgPyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIgOiAiIHdhcyByZWRpcmVjdGVkLiIp
KTsKICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBjYWNoZVVwZGF0ZUZhaWxlZCgpIGNhbiBjYXVz
ZSB0aGUgY2FjaGUgZ3JvdXAgdG8gYmUgZGVsZXRlZC4KICAgICAgICAgICAgIGNhY2hlVXBkYXRl
RmFpbGVkKCk7CkBAIC02NDUsNyArNjQ1LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgZG91YmxlIGZpbmkKICAg
ICAvLyBGSVhNRTogU2hvdWxkIHdlIGJyZWFrIGVhcmxpZXIgYW5kIHByZXZlbnQgcmVkb3dubG9h
ZGluZyBvbiBsYXRlciBwYWdlIGxvYWRzPwogICAgIGlmIChtX29yaWdpblF1b3RhRXhjZWVkZWRQ
cmV2aW91c2x5ICYmIG1fYXZhaWxhYmxlU3BhY2VJblF1b3RhIDwgbV9jYWNoZUJlaW5nVXBkYXRl
ZC0+ZXN0aW1hdGVkU2l6ZUluU3RvcmFnZSgpKSB7CiAgICAgICAgIG1fY3VycmVudFJlc291cmNl
ID0gMDsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3Ro
ZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBs
aWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2Vl
ZGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShP
dGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUg
dXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNlZWRlZC4iKTsKICAgICAg
ICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY3OCw3
ICs2NzgsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmFpbChSZXNvdXJjZUhh
bmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZUVycm9yJgogICAgIG1fcGVuZGluZ0VudHJpZXMu
cmVtb3ZlKHVybCk7CiAKICAgICBpZiAoKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6
OkV4cGxpY2l0KSB8fCAodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6RmFsbGJhY2sp
KSB7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVy
TWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGlj
YXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgdXJsLnN0cmluZygpICsgIiBj
b3VsZCBub3QgYmUgZmV0Y2hlZC4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFw
cGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2UgIiArIHVybC5zdHJpbmcoKSAr
ICIgY291bGQgbm90IGJlIGZldGNoZWQuIik7CiAgICAgICAgIC8vIE5vdGUgdGhhdCBjYWNoZVVw
ZGF0ZUZhaWxlZCgpIGNhbiBjYXVzZSB0aGUgY2FjaGUgZ3JvdXAgdG8gYmUgZGVsZXRlZC4KICAg
ICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICB9IGVsc2UgewpAQCAtNzA3LDEzICs3MDcs
MTMgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJlc3Bv
bnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAxMDAgIT0gMikgewotICAgICAgICBtX2ZyYW1l
LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0
IGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAi
QXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuIik7CiAgICAg
ICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBp
ZiAocmVzcG9uc2UudXJsKCkgIT0gbV9tYW5pZmVzdEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJs
KCkpIHsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3Ro
ZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBs
aWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSBhIHJl
ZGlyZWN0aW9uIHdhcyBhdHRlbXB0ZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVz
ZSBhIHJlZGlyZWN0aW9uIHdhcyBhdHRlbXB0ZWQuIik7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFp
bGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MzMsNyArNzMzLDcgQEAgdm9pZCBB
cHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZEZpbmlzaExvYWRpbmdNYW5pZmVzdCgpCiAKICAgICBp
ZiAoIWlzVXBncmFkZUF0dGVtcHQgJiYgIW1fbWFuaWZlc3RSZXNvdXJjZSkgewogICAgICAgICAv
LyBUaGUgc2VydmVyIHJldHVybmVkIDMwNCBOb3QgTW9kaWZpZWQgZXZlbiB0aG91Z2ggd2UgZGlk
bid0IHNlbmQgYSBjb25kaXRpb25hbCByZXF1ZXN0LgotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5v
dCBiZSBmZXRjaGVkIGJlY2F1c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNl
cnZlciByZXNwb25zZS4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0
aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkIGJlY2F1c2Ugb2YgYW4gdW5l
eHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNlcnZlciByZXNwb25zZS4iKTsKICAgICAgICAgY2Fj
aGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTc1OSw3ICs3NTks
NyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0
KCkKICAgICBNYW5pZmVzdCBtYW5pZmVzdDsKICAgICBpZiAoIXBhcnNlTWFuaWZlc3QobV9tYW5p
ZmVzdFVSTCwgbV9tYW5pZmVzdFJlc291cmNlLT5kYXRhKCktPmRhdGEoKSwgbV9tYW5pZmVzdFJl
c291cmNlLT5kYXRhKCktPnNpemUoKSwgbWFuaWZlc3QpKSB7CiAgICAgICAgIC8vIEF0IHRoZSB0
aW1lIG9mIHRoaXMgd3JpdGluZywgbGFjayBvZiAiQ0FDSEUgTUFOSUZFU1QiIHNpZ25hdHVyZSBp
cyB0aGUgb25seSByZWFzb24gZm9yIHBhcnNlTWFuaWZlc3QgdG8gZmFpbC4KLSAgICAgICAgbV9m
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5p
ZmVzdCBjb3VsZCBub3QgYmUgcGFyc2VkLiBEb2VzIGl0IHN0YXJ0IHdpdGggQ0FDSEUgTUFOSUZF
U1Q/Iik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90
aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBt
YW5pZmVzdCBjb3VsZCBub3QgYmUgcGFyc2VkLiBEb2VzIGl0IHN0YXJ0IHdpdGggQ0FDSEUgTUFO
SUZFU1Q/Iik7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC05NDgsNyArOTQ4LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmNo
ZWNrSWZMb2FkSXNDb21wbGV0ZSgpCiAgICAgICAgICAgICAgICAgLy8gV2UgcmFuIG91dCBvZiBz
cGFjZSBmb3IgdGhpcyBvcmlnaW4uIEZhbGwgZG93biB0byB0aGUgbm9ybWFsIGVycm9yIGhhbmRs
aW5nCiAgICAgICAgICAgICAgICAgLy8gYWZ0ZXIgcmVjb3JkaW5nIHRoaXMgc3RhdGUuCiAgICAg
ICAgICAgICAgICAgbV9vcmlnaW5RdW90YUV4Y2VlZGVkUHJldmlvdXNseSA9IHRydWU7Ci0gICAg
ICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNh
dGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVk
LiIpOworICAgICAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBD
YWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIpOwog
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoZmFpbHVyZVJlYXNvbiA9PSBBcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZTo6VG90YWxRdW90YVJlYWNoZWQgJiYgIW1fY2FsbGVkUmVhY2hlZE1h
eEFwcENhY2hlU2l6ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNGZiYWY0NzdjNzUwZjEzZjhmZjY4YjEzNmJl
OTcxYmFkNTkxN2Q1Ny4uYzU4ZTIyMDU0NTA3MzU0MGYzZGNhNWU3YjZkZTRhM2ZlNjIyYWUyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC02NDEsNyArNjQxLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
cHJpbnRBY2Nlc3NEZW5pZWRNZXNzYWdlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKICAgICAgICAg
bWVzc2FnZSA9ICJVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCAiICsgdXJsLnN0cmluZygpICsg
IiBmcm9tIGZyYW1lIHdpdGggVVJMICIgKyBtX2RvY3VtZW50LT51cmwoKS5zdHJpbmcoKSArICIu
IERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC5cbiI7CiAKICAgICAvLyBG
SVhNRTogcHJvdmlkZSBsaW5lIG51bWJlciBhbmQgc291cmNlIFVSTC4KLSAgICBmcmFtZSgpLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgZnJhbWUoKS0+ZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNldEF1dG9M
b2FkSW1hZ2VzKGJvb2wgZW5hYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
MzVjMzIzMjhjMzQzYTBmNTY5MzI5NmQ3MDU3MTE3NzMwOGJhYWIyOS4uNmJhYTEzNDc2MzFmMDBl
Y2JiYjBkMmRiODI2YWFiY2M3OTQxZGI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0xMzQsNyArMTM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1
YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgPSAwOwogICAgICAgICAKLSAgICAgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJl
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgYWRk
TWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkg
PSAwOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBGcmFtZSogZnJhbWUpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnNvbGUuY3BwCmluZGV4IDYwNmIwM2Q5ODRkMTcxMTI0ODI0NjJkNWY4NjZlODdkYmE5YzViMzEu
LjZjYjQ2N2YzOTIxODIxYWVkODRhNDAyNWI5MzZmNmI2YjlmZjcyNWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
b25zb2xlLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAj
aW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUluc3RydW1l
bnRhdGlvbi5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJNZW1vcnlJbmZvLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgpAQCAtMTM1LDcgKzEzNiw3IEBAIHN0YXRpYyB2b2lkIHByaW50TWVzc2FnZVNv
dXJjZUFuZExldmVsUHJlZml4KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwKICAg
ICBwcmludGYoIiVzICVzOiIsIHNvdXJjZVN0cmluZywgbGV2ZWxTdHJpbmcpOwogfQogCi12b2lk
IENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5
cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyLCBEb2N1bWVudCogZG9jdW1lbnQpCit2b2lkIENvbnNvbGU6
OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBEb2N1
bWVudCogZG9jdW1lbnQpCiB7CiAgICAgU3RyaW5nIHVybDsKICAgICBpZiAoZG9jdW1lbnQpCkBA
IC0xNDYsMTUgKzE0NywxNSBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZQogICAgICAgICBpZiAo
IXBhcnNlci0+aXNXYWl0aW5nRm9yU2NyaXB0cygpICYmICFwYXJzZXItPmlzRXhlY3V0aW5nU2Ny
aXB0KCkpCiAgICAgICAgICAgICBsaW5lID0gcGFyc2VyLT5saW5lTnVtYmVyKCkub25lQmFzZWRJ
bnQoKTsKICAgICB9Ci0gICAgYWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdl
LCB1cmwsIGxpbmUsIDAsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBhZGRNZXNzYWdlKHNvdXJj
ZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZSwgMCwgcmVxdWVzdElkZW50aWZpZXIpOwogfQog
Ci12b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VU
eXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQordm9pZCBDb25zb2xlOjphZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKLSAg
ICBhZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIFN0cmluZygpLCAwLCBj
YWxsU3RhY2ssIDApOworICAgIGFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgU3Ry
aW5nKCksIDAsIGNhbGxTdGFjaywgMCk7CiB9CiAKLXZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShN
ZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgdXJsLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiB1cmwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7
CiAgICAgaWYgKG11dGVDb3VudCAmJiBzb3VyY2UgIT0gQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2Up
CiAgICAgICAgIHJldHVybjsKQEAgLTE2MywxMiArMTY0LDEyIEBAIHZvaWQgQ29uc29sZTo6YWRk
TWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxl
dmVsIGxlCiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKLSAgICBwYWdlLT5jaHJv
bWUoKS0+Y2xpZW50KCktPmFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCB0eXBlLCBsZXZlbCwg
bWVzc2FnZSwgbGluZU51bWJlciwgdXJsKTsKKyAgICBwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCkt
PmFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwg
dXJsKTsKIAogICAgIGlmIChjYWxsU3RhY2spCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNz
YWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIHNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKICAg
ICBlbHNlCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29u
c29sZShwYWdlLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCB1cmwsIGxpbmVOdW1iZXIs
IHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjph
ZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBt
ZXNzYWdlLCB1cmwsIGxpbmVOdW1iZXIsIHJlcXVlc3RJZGVudGlmaWVyKTsKIAogICAgIGlmICgh
Q29uc29sZTo6c2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE3
OSwxMSArMTgwLDEwIEBAIHZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNv
dXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxlCiAgICAgcHJpbnRmKCIgJXNc
biIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7CiB9CiAKLXZvaWQgQ29uc29sZTo6YWRkTWVzc2Fn
ZShNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIFNjcmlwdFN0YXRlKiBzdGF0
ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IHBycEFyZ3VtZW50cywgYm9vbCBhY2NlcHRO
b0FyZ3VtZW50cywgYm9vbCBwcmludFRyYWNlKQorc3RhdGljIHZvaWQgaW50ZXJuYWxBZGRNZXNz
YWdlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgU2Ny
aXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gcHJwQXJndW1lbnRz
LCBib29sIHByaW50RXhjZXB0aW9ucywgYm9vbCBhY2NlcHROb0FyZ3VtZW50cyA9IGZhbHNlLCBi
b29sIHByaW50VHJhY2UgPSBmYWxzZSkKIHsKICAgICBSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMgPSBwcnBBcmd1bWVudHM7CiAKLSAgICBQYWdlKiBwYWdlID0gdGhpcy0+cGFnZSgp
OwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xOTQsNyArMTk0LDcgQEAg
dm9pZCBDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBs
ZXZlbCwgU2NyaXB0U3RhdGUqIHN0YXQKICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxs
U3RhY2soY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHN0YXRlLCBzdGFja1NpemUpKTsKICAgICBjb25z
dCBTY3JpcHRDYWxsRnJhbWUmIGxhc3RDYWxsZXIgPSBjYWxsU3RhY2stPmF0KDApOwogCi0gICAg
aWYgKHNob3VsZFByaW50RXhjZXB0aW9ucygpKSB7CisgICAgaWYgKHByaW50RXhjZXB0aW9ucykg
ewogICAgICAgICBwcmludFNvdXJjZVVSTEFuZExpbmUobGFzdENhbGxlci5zb3VyY2VVUkwoKSwg
MCk7CiAgICAgICAgIHByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KENvbnNvbGVBUElN
ZXNzYWdlU291cmNlLCBsZXZlbCk7CiAKQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lkIENvbnNvbGU6
OmFkZE1lc3NhZ2UoTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBTY3JpcHRT
dGF0ZSogc3RhdAogCiAgICAgU3RyaW5nIG1lc3NhZ2U7CiAgICAgaWYgKGFyZ3VtZW50cy0+Z2V0
Rmlyc3RBcmd1bWVudEFzU3RyaW5nKG1lc3NhZ2UpKQotICAgICAgICBwYWdlLT5jaHJvbWUoKS0+
Y2xpZW50KCktPmFkZE1lc3NhZ2VUb0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIHR5
cGUsIGxldmVsLCBtZXNzYWdlLCBsYXN0Q2FsbGVyLmxpbmVOdW1iZXIoKSwgbGFzdENhbGxlci5z
b3VyY2VVUkwoKSk7CisgICAgICAgIHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+YWRkTWVzc2Fn
ZVRvQ29uc29sZShDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIGxhc3RD
YWxsZXIubGluZU51bWJlcigpLCBsYXN0Q2FsbGVyLnNvdXJjZVVSTCgpKTsKIAogICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlLCBDb25zb2xlQVBJ
TWVzc2FnZVNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHN0YXRlLCBhcmd1bWVudHMucmVs
ZWFzZSgpKTsKIH0KQEAgLTIyOSw3ICsyMjksNyBAQCB2b2lkIENvbnNvbGU6OmRlYnVnKFNjcmlw
dFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAog
dm9pZCBDb25zb2xlOjplcnJvcihTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgYWRkTWVzc2FnZShMb2dNZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVz
c2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFy
Z3VtZW50cywgc2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6Omlu
Zm8oU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1l
bnRzKQpAQCAtMjM5LDMyICsyMzksMzIgQEAgdm9pZCBDb25zb2xlOjppbmZvKFNjcmlwdFN0YXRl
KiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBD
b25zb2xlOjpsb2coU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1lc3NhZ2UoTG9nTWVzc2FnZVR5cGUsIExvZ01lc3Nh
Z2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2Uo
KSwgTG9nTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hv
dWxkUHJpbnRFeGNlcHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6Ondhcm4oU2NyaXB0U3Rh
dGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAg
IGFkZE1lc3NhZ2UoTG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIHN0YXRlLCBh
cmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBl
LCBXYXJuaW5nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2Vw
dGlvbnMoKSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6ZGlyKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBhZGRNZXNzYWdlKERp
ck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGlu
dGVybmFsQWRkTWVzc2FnZShwYWdlKCksIERpck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWws
IHN0YXRlLCBhcmd1bWVudHMsIHNob3VsZFByaW50RXhjZXB0aW9ucygpKTsKIH0KIAogdm9pZCBD
b25zb2xlOjpkaXJ4bWwoU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3Vt
ZW50cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1lc3NhZ2UoRGlyWE1MTWVzc2FnZVR5cGUsIExv
Z01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdl
KHBhZ2UoKSwgRGlyWE1MTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3Vt
ZW50cywgc2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6OmNsZWFy
KFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50
cykKIHsKLSAgICBhZGRNZXNzYWdlKENsZWFyTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwg
c3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwg
Q2xlYXJNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCBzaG91
bGRQcmludEV4Y2VwdGlvbnMoKSwgdHJ1ZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6dHJhY2UoU2Ny
aXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQog
ewotICAgIGFkZE1lc3NhZ2UoVHJhY2VNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0
ZSwgYXJndW1lbnRzLCB0cnVlLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CisgICAgaW50ZXJu
YWxBZGRNZXNzYWdlKHBhZ2UoKSwgVHJhY2VNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBz
dGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSwgdHJ1ZSwgc2hvdWxkUHJp
bnRFeGNlcHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6OmFzc2VydENvbmRpdGlvbihTY3Jp
cHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIGJv
b2wgY29uZGl0aW9uKQpAQCAtMjcyLDcgKzI3Miw3IEBAIHZvaWQgQ29uc29sZTo6YXNzZXJ0Q29u
ZGl0aW9uKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFy
CiAgICAgaWYgKGNvbmRpdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgYWRkTWVzc2FnZShB
c3NlcnRNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHRy
dWUpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIEFzc2VydE1lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxkUHJpbnRFeGNlcHRpb25z
KCksIHRydWUpOwogfQogCiB2b2lkIENvbnNvbGU6OmNvdW50KFNjcmlwdFN0YXRlKiBzdGF0ZSwg
UGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgK
aW5kZXggNWMzZmM2ZmYwNDcyNTViZmNlODk1MjgxMmM5YWJlNDMzYWFmYjFkYS4uMWM5NWNkNzA0
YTUxM2FiOTVkZjg4NTQzZWYxOGEwNmU5Y2QzYTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Db25zb2xlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgKQEAg
LTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkRP
TVdpbmRvd1Byb3BlcnR5LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZVR5cGVzLmgiCiAj
aW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgog
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCkBAIC01Nyw5ICs1OCw5IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDb25zb2xlPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgQ29uc29sZShmcmFtZSkpOyB9CiAgICAgdmlydHVhbCB+Q29uc29sZSgpOwog
Ci0gICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIHVuc2ln
bmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKLSAgICB2b2lkIGFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwotICAgIHZvaWQgYWRkTWVzc2FnZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwLCBEb2N1bWVudCogPSAw
KTsKKyAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gPSAwLCB1bnNpZ25lZCBsb25nIHJl
cXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4pOworICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDAsIERvY3VtZW50KiA9IDApOwogCiAgICAgdm9pZCBkZWJ1ZyhTY3JpcHRTdGF0ZSosIFBh
c3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7CiAgICAgdm9pZCBlcnJvcihTY3JpcHRTdGF0ZSos
IFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPik7CkBAIC05NSw3ICs5Niw2IEBAIHB1YmxpYzoK
IAogcHJpdmF0ZToKICAgICBpbmxpbmUgUGFnZSogcGFnZSgpIGNvbnN0OwotICAgIHZvaWQgYWRk
TWVzc2FnZShNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBTY3JpcHRTdGF0ZSosIFBhc3NSZWZQ
dHI8U2NyaXB0QXJndW1lbnRzPiwgYm9vbCBhY2NlcHROb0FyZ3VtZW50cyA9IGZhbHNlLCBib29s
IHByaW50VHJhY2UgPSBmYWxzZSk7CiAKICAgICBleHBsaWNpdCBDb25zb2xlKEZyYW1lKik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oCmluZGV4IGIzODM0MDBjYTJjZWZmN2Y2ZWUzMDgy
YmEzYjEzZjUxMzM4OWJmMjIuLjViZWNmMDYzNTE0MWJiY2U2ZjJmYTRiZTEyODVlZTBlN2M0YjU4
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaApAQCAtMzcsMjEgKzM3LDYgQEAgZW51
bSBNZXNzYWdlU291cmNlIHsKICAgICBPdGhlck1lc3NhZ2VTb3VyY2UsCiB9OwogCi0vLyBGSVhN
RTogbWFrZSB0aGlzIGVudW0gcHJpdmF0ZSB0byBpbnNwZWN0b3IsIHJlbW92ZSBpdCBmcm9tIGNs
aWVudCBjYWxsYmFja3MuCi0vLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYzNzEKLWVudW0gTWVzc2FnZVR5cGUgewotICAgIExvZ01lc3NhZ2VUeXBlLAotICAgIERp
ck1lc3NhZ2VUeXBlLAotICAgIERpclhNTE1lc3NhZ2VUeXBlLAotICAgIFRyYWNlTWVzc2FnZVR5
cGUsCi0gICAgU3RhcnRHcm91cE1lc3NhZ2VUeXBlLAotICAgIFN0YXJ0R3JvdXBDb2xsYXBzZWRN
ZXNzYWdlVHlwZSwKLSAgICBFbmRHcm91cE1lc3NhZ2VUeXBlLAotICAgIENsZWFyTWVzc2FnZVR5
cGUsCi0gICAgQXNzZXJ0TWVzc2FnZVR5cGUsCi0gICAgVGltaW5nTWVzc2FnZVR5cGUKLX07Ci0K
IGVudW0gTWVzc2FnZUxldmVsIHsKICAgICBUaXBNZXNzYWdlTGV2ZWwsCiAgICAgTG9nTWVzc2Fn
ZUxldmVsLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQ
b2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3Bw
CmluZGV4IDQ5OTYzMDJlNmEwMTE5MWQyM2VmYWFiYmEwNmM0MzUzMzM1ZTUzZDkuLjRiOTA4MTJl
ZDQzOTM0MzdiZTU5ZTYzZTA4MjFhNDM4Yzk1MWUwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTE3MDMsNyArMTcwMyw3IEBAIHZvaWQg
Q29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIGNvCiAgICAgICAgIGlmIChjYWxsU3RhY2sgJiYgIWNhbGxTdGFjay0+
c2l6ZSgpKQogICAgICAgICAgICAgY2FsbFN0YWNrID0gMDsKICAgICB9Ci0gICAgbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4
dExpbmUub25lQmFzZWRJbnQoKSwgY2FsbFN0YWNrKTsKKyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCksIGNhbGxT
dGFjayk7CiB9CiAKIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRCbG9ja2VkU2Ny
aXB0RXhlY3V0aW9uVG9JbnNwZWN0b3IoY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0KSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGI3OTc3M2IxZGYwNDJmMDViZmU4MTI4
NGM3ZDYyMjUzOTQyN2M3NDEuLjk3ZjY2MjdhMmE2MjMyNTZkZTJkMzQ3M2I1MDJlMmY2ZmMwYjZk
ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTg4Nyw3ICs4ODcsNyBAQCB2b2lk
IERPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnRXaXRoT3JpZ2luQ2hlY2soU2VjdXJpdHlP
cmlnaW4qIGludGVuZGVkVGFyZwogICAgICAgICBpZiAoIWludGVuZGVkVGFyZ2V0T3JpZ2luLT5p
c1NhbWVTY2hlbWVIb3N0UG9ydChkb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKSkgewogICAg
ICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiVW5hYmxlIHRvIHBvc3QgbWVzc2FnZSB0byAiICsg
aW50ZW5kZWRUYXJnZXRPcmlnaW4tPnRvU3RyaW5nKCkgKwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiLiBSZWNpcGllbnQgaGFzIG9yaWdpbiAiICsgZG9jdW1lbnQoKS0+c2VjdXJpdHlP
cmlnaW4oKS0+dG9TdHJpbmcoKSArICIuXG4iOwotICAgICAgICAgICAgY29uc29sZSgpLT5hZGRN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCBtZXNzYWdlLCBzdGFja1RyYWNlKTsKKyAgICAgICAgICAgIGNvbnNvbGUoKS0+YWRkTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBzdGFja1RyYWNl
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KQEAgLTE3NjIsNyArMTc2
Miw3IEBAIHZvaWQgRE9NV2luZG93OjpwcmludEVycm9yTWVzc2FnZShjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCiAgICAgaWYgKHNldHRpbmdzLT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgY29uc29s
ZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UpOwogfQogCiBTdHJpbmcgRE9NV2luZG93Ojpjcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2Fn
ZShET01XaW5kb3cqIGFjdGl2ZVdpbmRvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
aW5kZXggNjEwMTcwMjA4NWNjMjM4N2UzMWI1ZTE5M2I5YzMyOWExODRlZGNhOS4uNDAxZGYzNmYz
YzNhMTgzNmUzZTY3MGJhMmJkNmViNGVlOTE3ZDI4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNv
dXJjZS5jcHAKQEAgLTIxNSw3ICsyMTUsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNlaXZl
UmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcAogICAg
ICAgICAgICAgbWVzc2FnZS5hcHBlbmQoY2hhcnNldCk7CiAgICAgICAgICAgICBtZXNzYWdlLmFw
cGVuZExpdGVyYWwoIlwiKSB0aGF0IGlzIG5vdCBVVEYtOC4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rp
b24uIik7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBs
aW5lLgotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
bWVzc2FnZS50b1N0cmluZygpKTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
bWVzc2FnZS50b1N0cmluZygpKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8v
IFRvIGtlZXAgdGhlIHNpZ25hbC10by1ub2lzZSByYXRpbyBsb3csIHdlIG9ubHkgbG9nIDIwMC1y
ZXNwb25zZSB3aXRoIGFuIGludmFsaWQgTUlNRSB0eXBlLgpAQCAtMjI1LDcgKzIyNSw3IEBAIHZv
aWQgRXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwCiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZChyZXNwb25z
ZS5taW1lVHlwZSgpKTsKICAgICAgICAgICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiXCIpIHRo
YXQgaXMgbm90IFwidGV4dC9ldmVudC1zdHJlYW1cIi4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rpb24u
Iik7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBsaW5l
LgotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZS50b1N0cmluZygpKTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZS50b1N0cmluZygpKTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAppbmRleCBiNWQ4MWI2MjAwMGEwMjI4NmNmMGZh
NDA2MDM5MTBmNzBmZDNkMWQ4Li5mOWVmNGE2ZTUwMzkyMDMzYzE0YzY5MjI2NTBiMGE4ZWUyMzU3
NTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcApA
QCAtMTg4LDcgKzE4OCw3IEBAIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZW1vdmVBbGxB
bmltYXRpb25FbGVtZW50c0Zyb21UYXJnZXQoU1ZHRWxlbWVudCogdGFyCiBzdGF0aWMgdm9pZCBy
ZXBvcnRNZXNzYWdlKERvY3VtZW50KiBkb2N1bWVudCwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKGRvY3VtZW50LT5mcmFtZSgpKQotICAgICAg
ICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdl
VHlwZSwgbGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBsZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zOjpyZXBvcnRXYXJuaW5nKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeS5jcHAKaW5kZXggY2ZmMGQ1ZmIxZjBkNWM0MGFkMTIzYzkyOWI0YmY0MDZmN2JiY2MzNy4u
ZWM0MWQyMjNlNjZiMGZjZWMxZWM0ODkxMDg5NTUzMDMwNmJjZmIzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5j
cHAKQEAgLTgyLDcgKzgyLDcgQEAgcHVibGljOgogCiAgICAgLy8gV29ya2VyUmVwb3J0aW5nUHJv
eHkKICAgICB2aXJ0dWFsIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwpOwotICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CisgICAgdmly
dHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwpOwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdmlydHVh
bCB2b2lkIHBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYpOwogICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGVJbnNwZWN0b3JTdGF0ZUNvb2tpZShjb25zdCBTdHJpbmcmKTsKQEAg
LTE4OCwxNiArMTg4LDE2IEBAIHZvaWQgU2hhcmVkV29ya2VyUHJveHk6OnBvc3RFeGNlcHRpb25U
b1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwKICAgICAgICAgKCppdGVy
KS0+cG9zdFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0RXhjZXB0aW9uVGFzaywgZXJyb3JN
ZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsKIH0KIAotc3RhdGljIHZvaWQgcG9zdENv
bnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBkb2N1bWVudCwgTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGlu
ZU51bWJlcikKK3N0YXRpYyB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogZG9jdW1lbnQsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVu
c2lnbmVkIGxpbmVOdW1iZXIpCiB7Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKHNv
dXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcik7CisgICAg
ZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJj
ZVVSTCwgbGluZU51bWJlcik7CiB9CiAKLXZvaWQgU2hhcmVkV29ya2VyUHJveHk6OnBvc3RDb25z
b2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlw
ZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBTaGFyZWRXb3JrZXJQcm94
eTo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJl
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7CiAgICAgTXV0ZXhMb2NrZXIgbG9jayhtX3dv
cmtlckRvY3VtZW50c0xvY2spOwogICAgIGZvciAoSGFzaFNldDxEb2N1bWVudCo+OjppdGVyYXRv
ciBpdGVyID0gbV93b3JrZXJEb2N1bWVudHMuYmVnaW4oKTsgaXRlciAhPSBtX3dvcmtlckRvY3Vt
ZW50cy5lbmQoKTsgKytpdGVyKQotICAgICAgICAoKml0ZXIpLT5wb3N0VGFzayhjcmVhdGVDYWxs
YmFja1Rhc2soJnBvc3RDb25zb2xlTWVzc2FnZVRhc2ssIHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1l
c3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcikpOworICAgICAgICAoKml0ZXIpLT5wb3N0VGFz
ayhjcmVhdGVDYWxsYmFja1Rhc2soJnBvc3RDb25zb2xlTWVzc2FnZVRhc2ssIHNvdXJjZSwgbGV2
ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcikpOwogfQogCiAjaWYgRU5BQkxFKElO
U1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2Vy
Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQu
Y3BwCmluZGV4IDc5OTcwMDJhY2FmODY5OWE0NWI5ODcyYzg1NWQ3Yjc3YjA1Y2RlZTIuLmQyY2Ri
MzcyOWFkYmM0YTM3MTQwNDRhYWExM2ZkNDdiODRmNzhkYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0LmNwcApAQCAtODEsNyArODEsNyBAQCBTaGFy
ZWRXb3JrZXJUaHJlYWQqIFNoYXJlZFdvcmtlckNvbnRleHQ6OnRocmVhZCgpCiB2b2lkIFNoYXJl
ZFdvcmtlckNvbnRleHQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVm
UHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQogewogICAgIFdvcmtlckNvbnRleHQ6Omxv
Z0V4Y2VwdGlvblRvQ29uc29sZShlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwg
Y2FsbFN0YWNrKTsKLSAgICBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKEpTTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJj
ZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrKTsKKyAgICBhZGRNZXNzYWdlVG9Xb3JrZXJDb25z
b2xlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGVycm9yTWVzc2FnZSwgc291
cmNlVVJMLCBsaW5lTnVtYmVyLCBjYWxsU3RhY2spOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAppbmRleCBiYjgwNDEy
MDFjNDNiZWI5ZTBiZWRiYzdhN2FhMzlmZjM0N2ExZTAzLi45NWExOTczOGVmMDhkMjlmYTAzOWIw
NmY1NWU2ZTZjZWY4YzdjMGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4
dC5jcHAKQEAgLTI3OSwzNCArMjc5LDM0IEBAIHZvaWQgV29ya2VyQ29udGV4dDo6bG9nRXhjZXB0
aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpCiAgICAg
dGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdEV4Y2VwdGlvblRvV29ya2VyT2Jq
ZWN0KGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotdm9pZCBXb3Jr
ZXJDb250ZXh0OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIFdvcmtlckNvbnRleHQ6OmFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsK
ICAgICBpZiAoIWlzQ29udGV4dFRocmVhZCgpKSB7Ci0gICAgICAgIHBvc3RUYXNrKEFkZENvbnNv
bGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKKyAg
ICAgICAgcG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCBsZXZl
bCwgbWVzc2FnZSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHRocmVhZCgpLT53b3Jr
ZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNvdXJj
ZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIDAsIFN0cmluZygpKTsKKyAgICB0aHJlYWQoKS0+d29y
a2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3Vy
Y2UsIGxldmVsLCBtZXNzYWdlLCAwLCBTdHJpbmcoKSk7CiAKLSAgICBhZGRNZXNzYWdlVG9Xb3Jr
ZXJDb25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIFN0cmluZygpLCAwLCAwLCBy
ZXF1ZXN0SWRlbnRpZmllcik7CisgICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShzb3VyY2Us
IGxldmVsLCBtZXNzYWdlLCBTdHJpbmcoKSwgMCwgMCwgcmVxdWVzdElkZW50aWZpZXIpOwogfQog
Ci12b2lkIFdvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllcikKK3ZvaWQgV29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewogICAg
IGlmICghaXNDb250ZXh0VGhyZWFkKCkpIHsKLSAgICAgICAgcG9zdFRhc2soQWRkQ29uc29sZU1l
c3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSkpOworICAgICAg
ICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZShzb3VyY2UsIGxldmVsLCBt
ZXNzYWdlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgdGhyZWFkKCktPndvcmtlclJl
cG9ydGluZ1Byb3h5KCkucG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCB0
eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKLSAgICBhZGRNZXNz
YWdlVG9Xb3JrZXJDb25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVS
TCwgbGluZU51bWJlciwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgdGhyZWFk
KCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmpl
Y3Qoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKKyAgICBh
ZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVS
TCwgbGluZU51bWJlciwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAKLXZvaWQg
V29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNzYWdlU291cmNlIHNv
dXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCB1bnNpZ25lZCBsb25nIHJlcXVl
c3RJZGVudGlmaWVyKQordm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlVG9Xb3JrZXJDb25z
b2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIpCiB7CiAgICAgQVNTRVJUKGlzQ29udGV4dFRocmVhZCgpKTsKICAgICBp
ZiAoY2FsbFN0YWNrKQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUodGhpcywgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNr
LCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
YWRkTWVzc2FnZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwg
bWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgZWxzZQotICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUodGhpcywgc291
cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCByZXF1ZXN0
SWRlbnRpZmllcik7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2Fn
ZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwgbWVzc2FnZSwg
c291cmNlVVJMLCBsaW5lTnVtYmVyLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAKIGJvb2wgV29y
a2VyQ29udGV4dDo6aXNDb250ZXh0VGhyZWFkKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb250ZXh0LmgKaW5kZXggNzdlMWJlOTg5MTNjY2Q3YTg1NzRkMzkyNmM2ZTZlMWVmMzhh
YWZjOS4uY2I5MTI5ZjgxNWY3NGFjNDRjZDE0ZTQyNDg1YTNjZWMyNzYzMTViMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKQEAgLTE0NSw3ICsxNDUsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgYXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lGcm9t
U3RyaW5nKGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OkhlYWRlclR5cGUpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRp
b25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMLCBpbnQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKLSAg
ICAgICAgdm9pZCBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0
YWNrPiwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAgICAgICB2b2lk
IGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIgPSAwKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCByZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgeyByZWYoKTsgfQpAQCAtMTU5LDggKzE1OSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBjb25zdCBLVVJMJiB2aXJ0
dWFsVVJMKCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwo
Y29uc3QgU3RyaW5nJikgY29uc3Q7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
ID0gMCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICAgICAgdmlydHVhbCB2b2lk
IGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIg
PSAwKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJl
cXVlc3RJZGVudGlmaWVyID0gMCk7CiAKICAgICAgICAgdmlydHVhbCBFdmVudFRhcmdldCogZXJy
b3JFdmVudFRhcmdldCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuY3BwCmluZGV4IGMzNWQ4ZThhYTFkODlkOTg2NDJkNTkxMzBjNzgzN2FhZTdh
OTUwZmYuLjM5ZjgyODkyMDBlNTE5Y2U4MTQ0YTBhNmViOGQwMGM5MmQzNTE3ZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC0zMjcs
MTggKzMyNywxNiBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0RXhjZXB0aW9uVG9X
b3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZwogICAgIG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dC0+cG9zdFRhc2soV29ya2VyRXhjZXB0aW9uVGFzazo6Y3JlYXRlKGVycm9yTWVz
c2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMLCB0aGlzKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHBv
c3RDb25zb2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV29y
a2VyTWVzc2FnaW5nUHJveHkqIG1lc3NhZ2luZ1Byb3h5LCBNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQorc3RhdGlj
IHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBXb3JrZXJNZXNzYWdpbmdQcm94eSogbWVzc2FnaW5nUHJveHksIE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7CiAgICAgaWYgKG1lc3Nh
Z2luZ1Byb3h5LT5hc2tlZFRvVGVybWluYXRlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBjb250
ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3Vy
Y2VVUkwsIGxpbmVOdW1iZXIpOworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKHNvdXJj
ZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcik7CiB9CiAKLXZvaWQgV29y
a2VyTWVzc2FnaW5nUHJveHk6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3Jr
ZXJPYmplY3QoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwp
CiB7Ci0gICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzaygKLSAgICAgICAgY3Jl
YXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBBbGxvd0Nyb3NzVGhyZWFk
QWNjZXNzKHRoaXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKSk7CisgICAgbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0LT5wb3N0VGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJnBvc3RDb25zb2xlTWVz
c2FnZVRhc2ssIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3ModGhpcyksIHNvdXJjZSwgbGV2ZWwsIG1l
c3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCkpOwogfQogCiB2b2lkIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5Ojp3b3JrZXJUaHJlYWRDcmVhdGVkKFBhc3NSZWZQdHI8RGVkaWNhdGVkV29ya2VyVGhy
ZWFkPiB3b3JrZXJUaHJlYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmgKaW5kZXggNzdiY2FiMmI2NjgwNzQwZGNhMTFkMTYwNWFkODYwNGU5OTExODIw
MC4uZTg2OTI0ZTcxMjU4NGRlYWIwYzQ0MDgzZDhmZTZiODc0YjI3Y2M5NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNjgsNyArNjgsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIChPbmx5IHVzZSB0aGVzZSBtZXRob2Rz
IGluIHRoZSB3b3JrZXIgY29udGV4dCB0aHJlYWQuKQogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9z
dE1lc3NhZ2VUb1dvcmtlck9iamVjdChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4s
IFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKICAgICAgICAgdmlydHVhbCB2
b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAgICAgICAgdmly
dHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKKyAgICAgICAgdmlydHVhbCB2b2lk
IHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwpOwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJpbmcmKTsKICAgICAgICAgdmly
dHVhbCB2b2lkIHVwZGF0ZUluc3BlY3RvclN0YXRlQ29va2llKGNvbnN0IFN0cmluZyYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCmluZGV4IDgwNGFm
MjE2NDBlZWY3M2M0NTEyNDQ2ZTAxNWNkMmI4YWI1MjNmY2MuLmJlMTkzNTA1MjFhOWY0MDU2YzJj
MjBhMjdkZTI3NjkxNWU4NmM1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyUmVwb3J0aW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clJlcG9ydGluZ1Byb3h5LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3Qg
U3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCkgPSAwOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dv
cmtlck9iamVjdChNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCkgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJP
YmplY3QoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOwogI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvUGFnZUluc3Bl
Y3Rvcihjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVJbnNw
ZWN0b3JTdGF0ZUNvb2tpZShjb25zdCBTdHJpbmcmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcAppbmRleCAyOTUzNmRhODQyY2Q5MDcwMjdlYzFjN2NlMmYzODkxMWYxZjMz
MzI2Li5lZDQ3NjJkMTRhYTk4ZjBkOGMyNWFhYTRmMWRjYmM2Mzg1NGM3NzM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCBzdGF0aWMgdm9p
ZCBsb2dDb25zb2xlRXJyb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3Qg
U3RyaW5nJiBtZXNzYQogICAgICAgICByZXR1cm47CiAgICAgLy8gRklYTUU6IEl0J3Mgbm90IGdv
b2QgdG8gcmVwb3J0IHRoZSBiYWQgdXNhZ2Ugd2l0aG91dCBpbmRpY2F0aW5nIHdoYXQgc291cmNl
IGxpbmUgaXQgY2FtZSBmcm9tLgogICAgIC8vIFdlIHNob3VsZCBwYXNzIGFkZGl0aW9uYWwgcGFy
YW1ldGVycyBzbyB3ZSBjYW4gdGVsbCB0aGUgY29uc29sZSB3aGVyZSB0aGUgbWlzdGFrZSBvY2N1
cnJlZC4KLSAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgY29udGV4dC0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZSk7CiB9CiAKIFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IFhNTEh0dHBSZXF1ZXN0Ojpj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxTZWN1cml0
eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4pCkBAIC02ODIsNyArNjgyLDcgQEAgdm9pZCBYTUxIdHRw
UmVxdWVzdDo6c2VuZChET01Gb3JtRGF0YSogYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB2b2lk
IFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEFycmF5QnVmZmVyKiBib2R5LCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKICAgICBTdHJpbmcgY29uc29sZU1lc3NhZ2UoIkFycmF5QnVmZmVyIGlzIGRlcHJlY2F0
ZWQgaW4gWE1MSHR0cFJlcXVlc3Quc2VuZCgpLiBVc2UgQXJyYXlCdWZmZXJWaWV3IGluc3RlYWQu
Iik7Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xl
TWVzc2FnZSk7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsK
IAogICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLlhI
Ui5zZW5kLkFycmF5QnVmZmVyT3JWaWV3IiwgWE1MSHR0cFJlcXVlc3RTZW5kQXJyYXlCdWZmZXIs
IFhNTEh0dHBSZXF1ZXN0U2VuZEFycmF5QnVmZmVyT3JWaWV3TWF4KTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAKaW5kZXggYTkxMjk4OGRhNjM4Y2NmODQy
ZTdiMTdhZjVlNDM0NDZlOGEzMmQyOC4uMGIyZmYxYmQyM2EyNTRkZjg5OGRlMjE3ZTQ4OTMxMmRj
MjBlOWExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4
c2x0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3Bw
CkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBYU0xUUHJvY2Vzc29yOjpwYXJzZUVycm9yRnVuYyh2
b2lkKiB1c2VyRGF0YSwgeG1sRXJyb3IqIGVycm9yKQogICAgICAgICBicmVhazsKICAgICB9CiAK
LSAgICBjb25zb2xlLT5hZGRNZXNzYWdlKFhNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5maWxlLCBlcnJvci0+bGluZSk7CisgICAg
Y29uc29sZS0+YWRkTWVzc2FnZShYTUxNZXNzYWdlU291cmNlLCBsZXZlbCwgZXJyb3ItPm1lc3Nh
Z2UsIGVycm9yLT5maWxlLCBlcnJvci0+bGluZSk7CiB9CiAKIC8vIEZJWE1FOiBUaGVyZSBzZWVt
cyB0byBiZSBubyB3YXkgdG8gY29udHJvbCB0aGUgY3R4dCBwb2ludGVyIGZvciBsb2FkaW5nIGhl
cmUsIHRodXMgd2UgaGF2ZSBnbG9iYWxzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hTTFRQcm9jZXNzb3JRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvclF0
LmNwcAppbmRleCAwYzQxNDBhOGQ3OWVkZWZhNTAyMzM1ZmUwMTgzMTJmNDc1ZjE3MGY0Li42YmYz
ZjI0YzQzNDdjYzE5ZmU1Zjk2MjY3M2RjMDA3NDNmZTM5OTViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvclF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFNMVFByb2Nlc3NvclF0LmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIFhTTFRNZXNzYWdlSGFu
ZGxlcjo6aGFuZGxlTWVzc2FnZShRdE1zZ1R5cGUgdHlwZSwgY29uc3QgUVN0cmluZyYgZGVzY3Jp
cHRpbwogICAgIH0KIAogICAgIENvbnNvbGUqIGNvbnNvbGUgPSBtX2RvY3VtZW50LT5kb21XaW5k
b3coKS0+Y29uc29sZSgpOwotICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoWE1MTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBkZXNjcmlwdGlvbiwgc291cmNlTG9jYXRpb24udXJp
KCkudG9TdHJpbmcoKSwgc291cmNlTG9jYXRpb24ubGluZSgpKTsKKyAgICBjb25zb2xlLT5hZGRN
ZXNzYWdlKFhNTE1lc3NhZ2VTb3VyY2UsIGxldmVsLCBkZXNjcmlwdGlvbiwgc291cmNlTG9jYXRp
b24udXJpKCkudG9TdHJpbmcoKSwgc291cmNlTG9jYXRpb24ubGluZSgpKTsKIH0KIAogY2xhc3Mg
WFNMVFVyaVJlc29sdmVyIDogcHVibGljIFFBYnN0cmFjdFVyaVJlc29sdmVyIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRC
bGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCBlODJlMWIyYTIyNmQ3YjNjYTJmNzAwMjU5
OGRkYWQyYzg5NWU0ZGE0Li40MDM5NjkyMGJkYjhkNmJkMDY4ZGRlM2RlYjg5ODcwYzE2MDc1MTNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC04OSw3ICs4OSw3IEBA
IENocm9tZUNsaWVudEJsYWNrQmVycnk6OkNocm9tZUNsaWVudEJsYWNrQmVycnkoV2ViUGFnZVBy
aXZhdGUqIHBhZ2VQcml2YXRlKQogewogfQogCi12b2lkIENocm9tZUNsaWVudEJsYWNrQmVycnk6
OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29u
c3QgU3RyaW5nJiBzb3VyY2VJRCkKK3ZvaWQgQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6YWRkTWVz
c2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKIHsK
ICNpZiAhZGVmaW5lZChQVUJMSUNfQlVJTEQpIHx8ICFQVUJMSUNfQlVJTEQKICAgICBpZiAobV93
ZWJQYWdlUHJpdmF0ZS0+bV9kdW1wUmVuZGVyVHJlZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaCBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFj
a0JlcnJ5LmgKaW5kZXggZTEyOWY0NTg0MjE5NmJhNWU2NTFjNWUwZDg1NmY5ZTJhYmJiZTg1YS4u
ZTFkOTkzN2ZkNDI2NmZjOWExMmM2ZWYwYTZiYThjODQ0ZGZiN2VlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVy
cnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50QmxhY2tCZXJyeS5oCkBAIC02MSw3ICs2MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgc2V0TWVudWJhclZpc2libGUoYm9vbCk7CiAgICAgdmlydHVhbCBib29sIG1lbnViYXJW
aXNpYmxlKCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKLSAgICB2aXJ0
dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCk7CiAgICAg
dmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwogICAgIHZpcnR1
YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgU3RyaW5nJiwgRnJhbWUq
KTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3dTb29uKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTaGFyZWRXb3JrZXJDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNoYXJlZFdvcmtlckNsaWVudC5oCmluZGV4IDI0
MGZlNzZlODZmMTY0YmYxMzFlYjZhNWJmMmMyNGU0OTQ2MDRkMWEuLjQ1ZTM4MWNhMDE3Y2IxNmYx
NTgyMGRhNTAzMWQxNDIzYzcxODU2MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlNoYXJlZFdvcmtlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYlNoYXJlZFdvcmtlckNsaWVudC5oCkBAIC01OSwxMyArNTksMTMgQEAg
cHVibGljOgogICAgIC8vIEZJWE1FOiB0aGUgYmVsb3cgaXMgZm9yIGNvbXBhdGliaWxpdHkgb25s
eSBhbmQgc2hvdWxkIGJlCiAgICAgLy8gcmVtb3ZlZCBvbmNlIENocm9taXVtIGlzIHVwZGF0ZWQg
dG8gcmVtb3ZlIG1lc3NhZ2UKICAgICAvLyBkZXN0aW5hdGlvbiBwYXJhbWV0ZXIgPGh0dHA6Ly93
ZWJraXQub3JnL2IvMzcxNTU+LgotICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VU
b1dvcmtlck9iamVjdChpbnQsIGludCBzb3VyY2VJZGVudGlmaWVyLCBpbnQgbWVzc2FnZVR5cGUs
IGludCBtZXNzYWdlTGV2ZWwsCisgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRv
V29ya2VyT2JqZWN0KGludCwgaW50IHNvdXJjZUlkZW50aWZpZXIsIGludCBtZXNzYWdlTGV2ZWws
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFdlYlN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFdlYlN0cmluZyYgc291
cmNlVVJMKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3Jr
ZXJPYmplY3QoaW50IHNvdXJjZUlkZW50aWZpZXIsIGludCBtZXNzYWdlVHlwZSwgaW50IG1lc3Nh
Z2VMZXZlbCwKKyAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmpl
Y3QoaW50IHNvdXJjZUlkZW50aWZpZXIsIGludCBtZXNzYWdlTGV2ZWwsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbWVz
c2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFdlYlN0cmluZyYgc291cmNlVVJMKQogICAgIHsK
LSAgICAgICAgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoMCwgc291cmNlSWRlbnRp
ZmllciwgbWVzc2FnZVR5cGUsIG1lc3NhZ2VMZXZlbCwKKyAgICAgICAgcG9zdENvbnNvbGVNZXNz
YWdlVG9Xb3JrZXJPYmplY3QoMCwgc291cmNlSWRlbnRpZmllciwgbWVzc2FnZUxldmVsLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLCBsaW5lTnVtYmVy
LCBzb3VyY2VVUkwpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9D
aHJvbWVDbGllbnRJbXBsLmNwcAppbmRleCA0MjE1YWQ3MDAyZDQ4NGNlNzQ2NjIyZGJhMGZiODgy
OWJhMjA2NWIxLi5hZDZhMjMyYzc5N2I0OTczNmEyM2IyZTRlNTZmZDU4OWMxZGRkYzdlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcApAQCAt
MzkyLDcgKzM5Miw2IEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6c2V0UmVzaXphYmxlKGJvb2wg
dmFsdWUpCiB9CiAKIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6YWRkTWVzc2FnZVRvQ29uc29sZShN
ZXNzYWdlU291cmNlIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBNZXNzYWdlVHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbGluZU51bWJlciwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCA3NzA4NGY4
MDEwMmY2MjM3YjY3ODJkYzhiNjBmY2MyY2UyNjY5NTIwLi4wNTU5ZmQzNzdjNGFjOGM4NjY2YTk5
MDg4NzM0OTFkMTljYzcyYjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9DaHJvbWVDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hy
b21lQ2xpZW50SW1wbC5oCkBAIC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJv
b2wgbWVudWJhclZpc2libGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wp
OwogICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKAotICAgICAgICBXZWJDb3Jl
OjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxl
dmVsLAorICAgICAgICBXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2
ZWwsCiAgICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVt
YmVyLAogICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSUQpOwogICAgIHZpcnR1YWwg
Ym9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDVkMzJhZmQ4NWZlMmUyNzk4Nzc1MzJi
NzJlYTViM2JlYjRiNjUyOWMuLjdhMmRlOGFlZWQwZTljZjQzMjU4ODRlODVmZTVlMjg2OGMzNDJk
NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAt
ODQxLDcgKzg0MSw3IEBAIHZvaWQgV2ViRnJhbWVJbXBsOjphZGRNZXNzYWdlVG9Db25zb2xlKGNv
bnN0IFdlYkNvbnNvbGVNZXNzYWdlJiBtZXNzYWdlKQogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdl
U291cmNlLCBMb2dNZXNzYWdlVHlwZSwgd2ViQ29yZU1lc3NhZ2VMZXZlbCwgbWVzc2FnZS50ZXh0
KTsKKyAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3Nh
Z2VTb3VyY2UsIHdlYkNvcmVNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UudGV4dCk7CiB9CiAKIHZvaWQg
V2ViRnJhbWVJbXBsOjpjb2xsZWN0R2FyYmFnZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwCmluZGV4IDYxYWVlNDE2OTEzODYyYmNjOWFhNjk3
MzEyZTc3ZWY5NDk4ZTU1YTYuLjljYTM1YzgyYzk3YjU3ZjM1YWU1ZjI3ODJmODI4N2UxZDBjMTFm
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cElt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwu
Y3BwCkBAIC04NSw3ICs4NSw3IEBAIHByaXZhdGU6CiAgICAgICAgIG1fcG9wdXAtPndpZGdldENs
aWVudCgpLT5zZXRXaW5kb3dSZWN0KG1fcG9wdXAtPm1fd2luZG93UmVjdEluU2NyZWVuKTsKICAg
ICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNl
LCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2ln
bmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmKSBPVkVSUklERQorICAgIHZpcnR1YWwg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmKSBP
VkVSUklERQogICAgIHsKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAi
Q09OU09MRSBNRVNTU0FHRToldTogJXNcbiIsIGxpbmVOdW1iZXIsIG1lc3NhZ2UudXRmOCgpLmRh
dGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRX
b3JrZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtl
ckltcGwuY3BwCmluZGV4IDExOWQ5YWNiNjk5NGJkOTc2ZjA0YzY2MTkyNDI0OTgxZjI0ZGJkMzMu
LjMxMDljNzVkM2ZiNGE3YTg0MWFiNDZkZTMwZGM5ZjFhNjhlNWQ5NGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3BwCkBAIC0yMDMs
MzAgKzIwMywyNSBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlckltcGw6OnBvc3RFeGNlcHRpb25UYXNr
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiB9CiAKIHZvaWQgV2ViU2hhcmVkV29y
a2VySW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSBz
b3VyY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE1lc3NhZ2VUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbCBsZXZlbCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGluZU51bWJlciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwpCiB7Ci0gICAgV2ViV29ya2VyQmFzZTo6ZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFk
KGNyZWF0ZUNhbGxiYWNrVGFzaygmcG9zdENvbnNvbGVNZXNzYWdlVGFzaywgQWxsb3dDcm9zc1Ro
cmVhZEFjY2Vzcyh0aGlzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc291cmNlLCB0eXBlLCBsZXZlbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKSk7CisgICAgV2Vi
V29ya2VyQmFzZTo6ZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkKGNyZWF0ZUNhbGxiYWNrVGFzaygm
cG9zdENvbnNvbGVNZXNzYWdlVGFzaywgQWxsb3dDcm9zc1RocmVhZEFjY2Vzcyh0aGlzKSwgc291
cmNlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKSk7CiB9CiAKIHZvaWQg
V2ViU2hhcmVkV29ya2VySW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFdlYlNoYXJlZFdvcmtlckltcGwqIHRoaXNQdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNvdXJjZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdHlwZSwgaW50IGxl
dmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGxpbmVOdW1iZXIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7CiAg
ICAgaWYgKCF0aGlzUHRyLT5jbGllbnQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIHRoaXNQdHIt
PmNsaWVudCgpLT5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3VyY2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHR5cGUsIGxldmVsLCBtZXNzYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOworICAg
IHRoaXNQdHItPmNsaWVudCgpLT5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3Vy
Y2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCiB2b2lkIFdl
YlNoYXJlZFdvcmtlckltcGw6OnBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNo
YXJlZFdvcmtlckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdv
cmtlckltcGwuaAppbmRleCA0MDQxNTkyYjVjZWFhNmU2YTViMTlhYzYyYjBmZDYwNmE4NTNmYzZl
Li40OTEyMTFlNTRkNmYzZjA0ZGU5ZTc5NGNlMTg1MjAxZDM3ZjVlMjc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRXb3JrZXJJbXBsLmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5oCkBAIC03NCw4ICs3
NCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2Jq
ZWN0KAogICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYsIGludCwgY29uc3QgV1RGOjpTdHJpbmcm
KTsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoCi0g
ICAgICAgIFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLAotICAg
ICAgICBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiwgaW50LCBjb25z
dCBXVEY6OlN0cmluZyYpOworICAgICAgICBXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3Jl
OjpNZXNzYWdlTGV2ZWwsCisgICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiwgaW50LCBjb25zdCBX
VEY6OlN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rv
cihjb25zdCBXVEY6OlN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVJbnNwZWN0b3JT
dGF0ZUNvb2tpZShjb25zdCBXVEY6OlN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBjb25maXJt
TWVzc2FnZUZyb21Xb3JrZXJPYmplY3QoYm9vbCk7CkBAIC0xNDYsNyArMTQ2LDYgQEAgcHJpdmF0
ZToKICAgICAgICAgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosCiAgICAgICAgIFdl
YlNoYXJlZFdvcmtlckltcGwqIHRoaXNQdHIsCiAgICAgICAgIGludCBzb3VyY2UsCi0gICAgICAg
IGludCB0eXBlLAogICAgICAgICBpbnQgbGV2ZWwsCiAgICAgICAgIGNvbnN0IFdURjo6U3RyaW5n
JiBtZXNzYWdlLAogICAgICAgICBpbnQgbGluZU51bWJlciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAKaW5kZXggMmMwZmI5YWM4MDlh
MDk2NThkMzU0YjAzOTI5YzFiMGFiYzIwOGY3MC4uY2Y3ZTBkMmYwOWRjMGI5NjlmZTYzYzQ2ZTEw
ZTIzM2Q0NjY3NDI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5jcHAKQEAgLTE4Nyw5ICsxODcsOSBAQCB2b2lkIFdlYldvcmtlckNs
aWVudEltcGw6OnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZQogICAgIG1fcHJveHktPnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChlcnJvck1l
c3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAKLXZvaWQgV2ViV29ya2VyQ2xpZW50
SW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCit2b2lkIFdl
YldvcmtlckNsaWVudEltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewotICAgIG1fcHJv
eHktPnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNvdXJjZSwgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CisgICAgbV9wcm94eS0+cG9zdENvbnNv
bGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJl
ciwgc291cmNlVVJMKTsKIH0KIAogdm9pZCBXZWJXb3JrZXJDbGllbnRJbXBsOjp3b3JrZXJDb250
ZXh0RGVzdHJveWVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YldvcmtlckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtl
ckNsaWVudEltcGwuaAppbmRleCBmNjc3OTA4M2JkYmQzZjY1NzU1YmNkNTBhNTI2YmUyYTAxNjI0
ZGI4Li4zODFhNDk1YmFmNGY2YWY4NGExMTQyMGNjNTQ1YzI0ZTMwMjAzYTg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCkBAIC05Miw3
ICs5Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlck9i
amVjdChQYXNzUmVmUHRyPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NPd25Q
dHI8V2ViQ29yZTo6TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JN
ZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpIE9WRVJSSURF
OwogCi0gICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KFdl
YkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBXZWJDb3JlOjpNZXNz
YWdlTGV2ZWwsCisgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2Jq
ZWN0KFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgdm9pZCBjb25maXJtTWVzc2FnZUZyb21Xb3JrZXJPYmplY3QoYm9v
bCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlcG9ydFBlbmRpbmdBY3Rpdml0eShib29s
KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IDBmZTBmZmFiNjc3ZjhhMDg5ZmM0YzU5MDI4NzcwNWQz
NjY2YWUyYmIuLjVlZjVlNjhlN2FiMDVjNjk1MGQxZWEwODdiYzg3NjBmYjQzYzBmNGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZs
LmNwcApAQCAtMjczLDcgKzI3Myw3IEBAIGJvb2wgQ2hyb21lQ2xpZW50RWZsOjpydW5CZWZvcmVV
bmxvYWRDb25maXJtUGFuZWwoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBGcmFtZSoKICAgICByZXR1
cm4gcnVuSmF2YVNjcmlwdENvbmZpcm0oZnJhbWUsIG1lc3NhZ2UpOwogfQogCi12b2lkIENocm9t
ZUNsaWVudEVmbDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlw
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCit2b2lkIENocm9tZUNsaWVu
dEVmbDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKQog
ewogICAgIGV3a192aWV3X2FkZF9jb25zb2xlX21lc3NhZ2UobV92aWV3LCBtZXNzYWdlLnV0Zjgo
KS5kYXRhKCksIGxpbmVOdW1iZXIsIHNvdXJjZUlELnV0ZjgoKS5kYXRhKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmggYi9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAppbmRleCBh
YjEwNzc4ZmE5NWI4OTEzNzJiMzk2ZTc3Y2NjMjkxOTM4YTgyODhlLi5iOTJkMmNjMDZhZTIwZmE5
ODllYzU1YzU3MjM4YjExMGY3MzU3ODgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaApAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAgdmlydHVhbCB2
b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLAorICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKTsKIAogICAgIHZpcnR1YWwgYm9v
bCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCmluZGV4IDYxNTJmNTA4
MGJmYmRlYzljZTQ0MWM5YzM5MTUwMmIyMDAxOTk5ODUuLjU4ZjFlZDFhMjgyZWQ1OWI0NDEzNDdi
MzRmNjY4MDk4NDIxNDY4MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcApAQCAtMzI3LDcgKzMyNyw3IEBAIGJvb2wgQ2hy
b21lQ2xpZW50OjpydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcm
IG1lc3NhZ2UsIFdlYkNvCiAgICAgcmV0dXJuIHJ1bkphdmFTY3JpcHRDb25maXJtKGZyYW1lLCBt
ZXNzYWdlKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoV2Vi
Q29yZTo6TWVzc2FnZVNvdXJjZSBzb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlIHR5cGUsIFdl
YkNvcmU6Ok1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSWQpCit2b2lk
IENocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNl
IHNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlk
KQogewogICAgIGdib29sZWFuIHJldHZhbDsKICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUobV93
ZWJWaWV3LCAiY29uc29sZS1tZXNzYWdlIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpLCBsaW5lTnVt
YmVyLCBzb3VyY2VJZC51dGY4KCkuZGF0YSgpLCAmcmV0dmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggNDRjMjExYWQ0
NjI4N2VmZmQ3NDMwNGMwMmRjYzZkYjMwZmFmNjAzYy4uNWM5MmUwOWQ2M2NlOTUxZmRmYzFkNjQ1
NDg2ZjE2MWFhYjI0YjY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKQEAgLTgyLDkgKzgyLDcgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgICAg
ICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxpbmVOdW1i
ZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBh
ZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgV1RG
OjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5n
JiBzb3VyY2VJRCk7CiAKICAgICAgICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENv
bmZpcm1QYW5lbCgpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmly
bVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBGcmFtZSogZnJhbWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRl
eCA3MDczNDljNWJkNjUyNWEzNTg3N2FlMmFiZjJlMzBlZjhkN2NmNWIxLi4wYzE5OTlhODNkNjJl
MzVlZjA3ODJjNTA5M2U0MTIyYWEyYjRkMTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNzQsNyArNzQsNyBAQCBwdWJs
aWM6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKSBPVkVSUklERTsK
ICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNz
YWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBj
b25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0
IFdURjo6U3RyaW5nJiBzb3VyY2VVUkwpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VM
ZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNv
bnN0IFdURjo6U3RyaW5nJiBzb3VyY2VVUkwpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCBib29s
IGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Ym9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1lc3Nh
Z2UsIFdlYkNvcmU6OkZyYW1lKikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggODYwYTkzMzg2ZmIzZGE4
NGRlOTViZGM0ZWI0ZjVlYzZlMmVkN2Y3ZC4uNjQ5ODkwNTVmZjJhNGFkN2Q1ZDJjMTc2NDgxMzhl
ZWU1MDQ2NzNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtOTcsMTcgKzk3LDYgQEAgTlNTdHJpbmcgKldlYkNvbnNv
bGVNZXNzYWdlTmV0d29ya01lc3NhZ2VTb3VyY2UgPSBAIk5ldHdvcmtNZXNzYWdlU291cmNlIjsK
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNzYWdlU291cmNlID0gQCJD
b25zb2xlQVBJTWVzc2FnZVNvdXJjZSI7CiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VPdGhl
ck1lc3NhZ2VTb3VyY2UgPSBAIk90aGVyTWVzc2FnZVNvdXJjZSI7CiAKLU5TU3RyaW5nICpXZWJD
b25zb2xlTWVzc2FnZUxvZ01lc3NhZ2VUeXBlID0gQCJMb2dNZXNzYWdlVHlwZSI7Ci1OU1N0cmlu
ZyAqV2ViQ29uc29sZU1lc3NhZ2VEaXJNZXNzYWdlVHlwZSA9IEAiRGlyTWVzc2FnZVR5cGUiOwot
TlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQ2xlYXJNZXNzYWdlVHlwZSA9IEAiQ2xlYXJNZXNz
YWdlVHlwZSI7Ci1OU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VEaXJYTUxNZXNzYWdlVHlwZSA9
IEAiRGlyWE1MTWVzc2FnZVR5cGUiOwotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlVHJhY2VN
ZXNzYWdlVHlwZSA9IEAiVHJhY2VNZXNzYWdlVHlwZSI7Ci1OU1N0cmluZyAqV2ViQ29uc29sZU1l
c3NhZ2VTdGFydEdyb3VwTWVzc2FnZVR5cGUgPSBAIlN0YXJ0R3JvdXBNZXNzYWdlVHlwZSI7Ci1O
U1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUg
PSBAIlN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSI7Ci1OU1N0cmluZyAqV2ViQ29uc29s
ZU1lc3NhZ2VFbmRHcm91cE1lc3NhZ2VUeXBlID0gQCJFbmRHcm91cE1lc3NhZ2VUeXBlIjsKLU5T
U3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUFzc2VydE1lc3NhZ2VUeXBlID0gQCJBc3NlcnRNZXNz
YWdlVHlwZSI7Ci1OU1N0cmluZyogV2ViQ29uc29sZU1lc3NhZ2VUaW1pbmdNZXNzYWdlVHlwZSA9
IEAiVGltaW5nTWVzc2FnZVR5cGUiOwotCiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VUaXBN
ZXNzYWdlTGV2ZWwgPSBAIlRpcE1lc3NhZ2VMZXZlbCI7CiBOU1N0cmluZyAqV2ViQ29uc29sZU1l
c3NhZ2VMb2dNZXNzYWdlTGV2ZWwgPSBAIkxvZ01lc3NhZ2VMZXZlbCI7CiBOU1N0cmluZyAqV2Vi
Q29uc29sZU1lc3NhZ2VXYXJuaW5nTWVzc2FnZUxldmVsID0gQCJXYXJuaW5nTWVzc2FnZUxldmVs
IjsKQEAgLTM1NywzNCArMzQ2LDYgQEAgaW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9y
TWVzc2FnZVNvdXJjZShNZXNzYWdlU291cmNlIHNvdXJjZSkKICAgICByZXR1cm4gQCIiOwogfQog
Ci1pbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlVHlwZShNZXNzYWdlVHlw
ZSB0eXBlKQotewotICAgIHN3aXRjaCAodHlwZSkgewotICAgIGNhc2UgTG9nTWVzc2FnZVR5cGU6
Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUxvZ01lc3NhZ2VUeXBlOwotICAgIGNh
c2UgQ2xlYXJNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQ2xl
YXJNZXNzYWdlVHlwZTsKLSAgICBjYXNlIERpck1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4g
V2ViQ29uc29sZU1lc3NhZ2VEaXJNZXNzYWdlVHlwZTsKLSAgICBjYXNlIERpclhNTE1lc3NhZ2VU
eXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VEaXJYTUxNZXNzYWdlVHlwZTsK
LSAgICBjYXNlIFRyYWNlTWVzc2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVz
c2FnZVRyYWNlTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBTdGFydEdyb3VwTWVzc2FnZVR5cGU6Ci0g
ICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBNZXNzYWdlVHlwZTsKLSAg
ICBjYXNlIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdl
YkNvbnNvbGVNZXNzYWdlU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlOwotICAgIGNhc2Ug
RW5kR3JvdXBNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlRW5k
R3JvdXBNZXNzYWdlVHlwZTsKLSAgICBjYXNlIEFzc2VydE1lc3NhZ2VUeXBlOgotICAgICAgICBy
ZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VBc3NlcnRNZXNzYWdlVHlwZTsKLSAgICBjYXNlIFRpbWlu
Z01lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VUaW1pbmdNZXNz
YWdlVHlwZTsKLSAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEAi
IjsKLX0KLQogaW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9yTWVzc2FnZUxldmVsKE1l
c3NhZ2VMZXZlbCBsZXZlbCkKIHsKICAgICBzd2l0Y2ggKGxldmVsKSB7CkBAIC00MDMsNyArMzY0
LDcgQEAgaW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9yTWVzc2FnZUxldmVsKE1lc3Nh
Z2VMZXZlbCBsZXZlbCkKICAgICByZXR1cm4gQCIiOwogfQogCi12b2lkIFdlYkNocm9tZUNsaWVu
dDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUg
dHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVk
IGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQgV2ViQ2hyb21l
Q2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
TGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIGlkIGRlbGVnYXRlID0gW21fd2Vi
VmlldyBVSURlbGVnYXRlXTsKICAgICBCT09MIHJlc3BvbmRzVG9OZXdTZWxlY3RvciA9IE5POwpA
QCAtNDI2LDcgKzM4Nyw2IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25z
b2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlCiAgICAgICAgIFtOU051
bWJlciBudW1iZXJXaXRoVW5zaWduZWRJbnQ6bGluZU51bWJlcl0sIEAibGluZU51bWJlciIsCiAg
ICAgICAgIChOU1N0cmluZyAqKXNvdXJjZVVSTCwgQCJzb3VyY2VVUkwiLAogICAgICAgICBtZXNz
YWdlU291cmNlLCBAIk1lc3NhZ2VTb3VyY2UiLAotICAgICAgICBzdHJpbmdGb3JNZXNzYWdlVHlw
ZSh0eXBlKSwgQCJNZXNzYWdlVHlwZSIsCiAgICAgICAgIHN0cmluZ0Zvck1lc3NhZ2VMZXZlbChs
ZXZlbCksIEAiTWVzc2FnZUxldmVsIiwKICAgICAgICAgTlVMTF07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCBiYjUzNGEyNDE0
ZjJkOTA1YTExN2ZiNWFkZWI0NmQxNWEyZjg4OTIzLi4zZjI0MGVhNTNlZDdmZGEwMGI4MDlmZTIw
NWRkNDJhNDYwY2JmZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlVJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJV
SURlbGVnYXRlUHJpdmF0ZS5oCkBAIC0xMTEsMTYgKzExMSw2IEBAIGV4dGVybiBOU1N0cmluZyAq
V2ViQ29uc29sZU1lc3NhZ2VOZXR3b3JrTWVzc2FnZVNvdXJjZTsKIGV4dGVybiBOU1N0cmluZyAq
V2ViQ29uc29sZU1lc3NhZ2VDb25zb2xlQVBJTWVzc2FnZVNvdXJjZTsKIGV4dGVybiBOU1N0cmlu
ZyAqV2ViQ29uc29sZU1lc3NhZ2VPdGhlck1lc3NhZ2VTb3VyY2U7CiAKLS8vIE1lc3NhZ2UgVHlw
ZXMuCi1leHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlTG9nTWVzc2FnZVR5cGU7Ci1l
eHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlRGlyTWVzc2FnZVR5cGU7Ci1leHRlcm4g
TlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlRGlyWE1MTWVzc2FnZVR5cGU7Ci1leHRlcm4gTlNT
dHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlVHJhY2VNZXNzYWdlVHlwZTsKLWV4dGVybiBOU1N0cmlu
ZyAqV2ViQ29uc29sZU1lc3NhZ2VTdGFydEdyb3VwTWVzc2FnZVR5cGU7Ci1leHRlcm4gTlNTdHJp
bmcgKldlYkNvbnNvbGVNZXNzYWdlU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlOwotZXh0
ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUVuZEdyb3VwTWVzc2FnZVR5cGU7Ci1leHRl
cm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQXNzZXJ0TWVzc2FnZVR5cGU7Ci0KIC8vIE1l
c3NhZ2UgTGV2ZWxzLgogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVRpcE1lc3Nh
Z2VMZXZlbDsKIGV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VMb2dNZXNzYWdlTGV2
ZWw7CkBAIC0xNjksMTEgKzE1OSw2IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3Nh
Z2VEZWJ1Z01lc3NhZ2VMZXZlbDsKICAgICAgICAgICAgIFdoZXJlIHRoZSBtZXNzYWdlIGNhbWUg
ZnJvbS4gSFRNTCwgWE1MLCBKYXZhU2NyaXB0LCBDU1MsIGV0Yy4KICAgICAgICAgICAgIFNlZSBX
ZWJDb25zb2xlTWVzc2FnZUhUTUxNZXNzYWdlU291cmNlIGFuZCBzaW1pbGFyIGNvbnN0YW50cy4K
ICAgICAgICAgPC9kZD4KLSAgICAgICAgPGR0Pk1lc3NhZ2VUeXBlPC9kdD4KLSAgICAgICAgPGRk
PgotICAgICAgICAgICAgQ2xhc3Mgb2YgbWVzc2FnZS4gU3RhcnQgLyBFbmQgb2YgYSBHcm91cCwg
YSBMb2csIE5ldHdvcmsgcmVsYXRlZCwgZXRjLgotICAgICAgICAgICAgU2VlIFdlYkNvbnNvbGVN
ZXNzYWdlTG9nTWVzc2FnZVR5cGUgYW5kIHNpbWlsYXIgY29uc3RhbnRzLgotICAgICAgICA8L2Rk
PgogICAgICAgICA8ZHQ+TWVzc2FnZUxldmVsPC9kdD4KICAgICAgICAgPGRkPgogICAgICAgICAg
ICAgU2V2ZXJpdHkgbGV2ZWwgb2YgdGhlIG1lc3NhZ2UuIFRpcCwgTG9nLCBXYXJuaW5nLCBldGMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQu
Y3BwCmluZGV4IDcxYjQ1ZDZkZGQ3MmUxM2FlNDQ5OTFjNWZjY2Y1OTliNWQyMmFkMzYuLmQxNTRk
NDJkNjEyYmEwM2VjZGY3YTk4NDEwZTc5NDA2ZDE3ZDJjMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCkBAIC0zMDcsNyArMzA3
LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRRdDo6c2V0UmVzaXphYmxlKGJvb2wpCiAgICAgbm90SW1w
bGVtZW50ZWQoKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRRdDo6YWRkTWVzc2FnZVRvQ29uc29s
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCit2
b2lkIENocm9tZUNsaWVudFF0OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZUlEKQogewogICAgIFFTdHJpbmcgeCA9IG1lc3NhZ2U7CiAgICAg
UVN0cmluZyB5ID0gc291cmNlSUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFF0LmgKaW5kZXggMTIyYjQwOGZiNTc0OGJjYjljMDc0ODRkNjZmNzQ1
YzlkNGEzMTRlZS4uZDczY2I0MDk0OWYwNGZiNTkwYWJjNDZmYjEwNjEyMTYxMjZkZmJkMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaApA
QCAtMTAxLDcgKzEwMSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFi
bGUoYm9vbCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpOworICAgIHZpcnR1
YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUlEKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJt
UGFuZWwoKTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDY4YmRkZWYwMzQxODRi
NWQ0MDFkNWNkMGY3NGE1NjIxZjY0YjY5ZTIuLmQ4YjJmMDZlZGY4YmNlNTZjZDM2NzhmNTc0NzNl
ODAwYzVkNDI4MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMzM0LDcgKzMzNCw3IEBAIHZvaWQgV2ViQ2hyb21l
Q2xpZW50OjpzZXRSZXNpemFibGUoYm9vbCByZXNpemFibGUpCiAgICAgfQogfQogCi12b2lkIFdl
YkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGxpbmUsIGNvbnN0IFN0cmluZyYgdXJsKQordm9pZCBXZWJDaHJvbWVDbGll
bnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lLCBjb25zdCBTdHJp
bmcmIHVybCkKIHsKICAgICBDT01QdHI8SVdlYlVJRGVsZWdhdGU+IHVpRGVsZWdhdGU7CiAgICAg
aWYgKFNVQ0NFRURFRChtX3dlYlZpZXctPnVpRGVsZWdhdGUoJnVpRGVsZWdhdGUpKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApp
bmRleCA5YWVjNzM0NmYwMjU5ZmVmMDg1ZGFhN2E2NzVjZTM4ZGU1YTdkNDM2Li5lNDc3MmZmYjVj
MzU1M2Y4YTkyYWRhMDA1ZDBlMzdjOWM1OGIyMmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNzgsNyArNzgsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAgdmly
dHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlIHR5cGUsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmUsIGNvbnN0IFdURjo6
U3RyaW5nJiB1cmwpOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNv
cmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJp
bmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmUsIGNvbnN0IFdURjo6U3RyaW5nJiB1cmwpOwogCiAg
ICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwogICAgIHZp
cnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcm
IG1lc3NhZ2UsIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCmluZGV4IGRl
NmJmNzE5MGZiMDIzOWI0MDE3OGZhNGRlOGJlZGNmNDA4NWJlNDEuLjg0NDMzOTJiYzkzYmNmNzdm
ZTFhNGNmZjA1ZWJhOTJlZjE4NjgzMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2Uv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwCkBAIC0xODQsNyArMTg0
LDcgQEAgYm9vbCBDaHJvbWVDbGllbnRXaW5DRTo6cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVs
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRnJhbWUKICAgICByZXR1cm4gcnVuSmF2YVNjcmlwdENv
bmZpcm0oZnJhbWUsIG1lc3NhZ2UpOwogfQogCi12b2lkIENocm9tZUNsaWVudFdpbkNFOjphZGRN
ZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkIGludCwgY29uc3QgU3RyaW5nJikKK3ZvaWQgQ2hyb21l
Q2xpZW50V2luQ0U6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikKIHsKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCmluZGV4IDk2Y2VhMWE2MmFiZDk4NWZhMTIyMGJj
YjdmNGQ3OWVjOTY5ODcxM2YuLjUxMjZhNTAyODQwMTA3OGZjNjFjZmUzNTYzMjI2ZjVhMjgzZTAy
MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50V2luQ0UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFdpbkNFLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdl
VG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBX
ZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25l
ZCBpbnQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlEKTsKKyAgICB2aXJ0
dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJD
b3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSUQpOwogCiAgICAgdmlydHVhbCBi
b29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwogICAgIHZpcnR1YWwgYm9vbCBy
dW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIFdl
YkNvcmU6OkZyYW1lKiBmcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0Nocm9tZUNsaWVudFd4LmNwcAppbmRleCA1ZjExNjdiNTQ3Y2Q2MWE2ZjA1YWMyOGYxN2Iz
YWNkZTc2ZDE2ZjRjLi42OTFkYTg1YmZkYjMwMmFhNDhiMDM2YmI1OGMyZDBlOTJmODI2ZDg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5j
cHAKQEAgLTIyNywxMCArMjI3LDkgQEAgdm9pZCBDaHJvbWVDbGllbnRXeDo6c2V0UmVzaXphYmxl
KGJvb2wpCiB9CiAKIHZvaWQgQ2hyb21lQ2xpZW50V3g6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVz
c2FnZVNvdXJjZSBzb3VyY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBNZXNzYWdlVHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTWVzc2FnZUxldmVsIGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBtZXNzYWdlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsaW5lTnVtYmVyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBz
b3VyY2VJRCkKIHsKICAgICBpZiAobV93ZWJWaWV3KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCmluZGV4IDUwNTQwZjA5NDNlOWQ2OTYzZjE5
NTRjMTFlNjJjY2NhN2Y5ZDhhNTguLmIzMWE4YmY1ZGY4ODljOWM4N2I3NjY2MWFjYjQ2OTZlMDRi
OGM1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVD
bGllbnRXeC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGll
bnRXeC5oCkBAIC04MSw3ICs4MSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVz
aXphYmxlKGJvb2wpOwogCiAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVz
c2FnZVNvdXJjZSBzb3VyY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TWVzc2FnZVR5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBN
ZXNzYWdlTGV2ZWwgbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4
IDA5N2FiZThjYWFkNTFjNTMzYWVkYjRjOTMyODI1MDI1NTUxYzk4MTAuLjE2M2MxYzRjYmMxOGQz
ZmI1MmY2ZWY2NTQ2MzdiYzFkZjFhMjA0ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAg
LTI2Nyw3ICsyNjcsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXphYmxlKGJvb2wg
cmVzaXphYmxlKQogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRJ
c1Jlc2l6YWJsZShyZXNpemFibGUpKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiAvKnNvdXJjZUlEKi8pCit2b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29u
c29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
dW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiAvKnNvdXJjZUlEKi8pCiB7CiAgICAg
Ly8gTm90aWZ5IHRoZSBidW5kbGUgY2xpZW50LgogICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVV
SUNsaWVudCgpLndpbGxBZGRNZXNzYWdlVG9Db25zb2xlKG1fcGFnZSwgbWVzc2FnZSwgbGluZU51
bWJlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAxZTYyZjdhYmQ0Y2MyYmI4NTI5ZTUwZjc3
MTBmNzJkNjA4ZTAxYzYzLi5iZmVkOTBkOTc3ZDQzY2IwMzdhYTVlOGZkZTk1NTI1NjY1N2I0NTNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTkwLDcgKzkwLDcgQEAgcHJpdmF0ZToKICAgICAK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpIE9WRVJSSURFOwogICAgIAotICAg
IHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2Us
IFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
SUQpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNv
cmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKSBPVkVS
UklERTsKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBh
bmVsKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1Q
YW5lbChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkZyYW1lKikgT1ZFUlJJREU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178751</attachid>
            <date>2012-12-11 01:53:50 -0800</date>
            <delta_ts>2012-12-11 02:25:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66371-20121211105110.patch</filename>
            <type>text/plain</type>
            <size>139619</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc3YzBmYzAzNTY2NWY5
ZDY0ODI0ZGI4YzgyMGYxNWJhYjU4NmQ4Yy4uM2I1MGFlMWIwZGZlMmY4Y2UyMzIzNzM3YjJlYTEy
MWQ0M2E4ODNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3MyBAQAorMjAxMi0xMi0xMCAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENv
bnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBw
cml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4K
KworICAgICAgICBXZSBjYW4gc2ltcGxpZnkgY29uc29sZSBtZXNzYWdlIGdlbmVyYXRpb24gYSBi
aXQsIGFzIG5vdGhpbmcgb3V0c2lkZSB0aGUKKyAgICAgICAgQ29uc29sZSBvYmplY3QgaXRzZWxm
IHdpbGwgZ2VuZXJhdGUgbWVzc2FnZXMgb2YgYW55IHR5cGUgb3RoZXIgdGhhbgorICAgICAgICBM
b2dNZXNzYWdlVHlwZS4gVGhpcyBwYXRjaCByZWZhY3RvcnMgdGhlIGV4dGVybmFsbHktZmFjaW5n
IEFQSSBlbmRwb2ludHMKKyAgICAgICAgb24gU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBhbmQgQ29u
c29sZSB0byBkcm9wIHRoZSBNZXNzYWdlVHlwZSBwYXJhbWV0ZXIsCisgICAgICAgIG1vdmVzIHRo
ZSBNZXNzYWdlVHlwZSBlbnVtIGludG8gYSBuZXcgSW5zcGVjdG9yQ29uc29sZVR5cGVzLmggaGVh
ZGVyLAorICAgICAgICBhbmQgdXBkYXRlcyBhbGwgdGhlIGNhbGwgc2l0ZXMgKGFuZCBDaHJvbWVD
bGllbnRzKSB0byBkcm9wIHRoZSBwYXJhbWV0ZXIKKyAgICAgICAgZnJvbSB0aGVpciBpbnRlcmZh
Y2VzLgorCisgICAgICAgIEFzIGEgdGVtcG9yYXJ5IGJhbmRhZ2UgZm9yIHBvcnRzIHVzaW5nIHRo
aXMgaW50ZXJmYWNlLCB0aGlzIHBhdGNoCisgICAgICAgIGluY2x1ZGVzIGFsaWFzZXMgZm9yIHRo
ZSBuZXcgbWV0aG9kcyB0aGF0IHJldGFpbiB0aGUgb2xkIGludGVyZmFjZS4KKyAgICAgICAgSSds
bCByZW1vdmUgdGhlbSBpbiBhIGZ1dHVyZSBwYXRjaC4KKworICAgICAgICBIZXJlLCB3ZSBvbmx5
IHJlZmFjdG9yIGFuIGludGVybmFsIGludGVyZmFjZS4gTm8gdGVzdHMgc2hvdWxkIGJyZWFrLgor
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgor
ICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICAgICBXZSBhZGRlZCBhIG5ldyBmaWxlISBPTUchCisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVm
ZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFz
ZS9BYnN0cmFjdERhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RGF0YWJh
c2U6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNvbm5lY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZXRCaW5hcnlUeXBlKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpmYWlsKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0pOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
Q3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOEN1c3RvbVhQYXRoTlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKToKKyAg
ICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZFJlc29sdXRp
b25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmFkZE1lc3NhZ2UpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
ICAgICAgICAoRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAg
KiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OnBlcmZvcm1UYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNz
YWdlKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OkFkZENv
bnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFZpZXdwb3J0V2FybmluZyk6CisgICAgICAgICogZmls
ZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCbG9iQnVpbGRl
cjo6YXBwZW5kKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlk
YXRlSW50ZXJhY3RpdmVseSk6CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgor
ICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVHJhY2tFbGVtZW50OjpjYW5Mb2FkVXJsKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6cHJpbnRXYXJuaW5nVG9Db25zb2xlKToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1
ZGl0b3I6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6ZmlsdGVyVG9rZW4p
OgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHA6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50
cy5oOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpzaG91bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyk6Cisg
ICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2Vp
dmVSZXNwb25zZSk6CisgICAgICAgICogbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWl4ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyk6CisgICAg
ICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tMb2FkZXI6OmNvcnNQb2xpY3lQcmV2ZW50ZWRMb2FkKToKKyAgICAgICAgKiBsb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFw
cGxpY2F0aW9uQ2FjaGVHcm91cDo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRp
b25DYWNoZUdyb3VwOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBw
bGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJ
c0NvbXBsZXRlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNz
RGVuaWVkTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAg
KENocm9tZUNsaWVudCk6CisgICAgICAgICAgICBEcm9wIExvZ01lc3NhZ2VUeXBlIGZyb20gZXZl
cnl3aGVyZS4KKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29uc29sZTo6YWRkTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjppbnRlcm5hbEFkZE1lc3Nh
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6ZXJyb3IpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29uc29sZTo6bG9nKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Ondhcm4pOgorICAg
ICAgICAoV2ViQ29yZTo6Q29uc29sZTo6ZGlyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6
OmRpcnhtbCk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpjbGVhcik6CisgICAgICAgIChX
ZWJDb3JlOjpDb25zb2xlOjp0cmFjZSk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjphc3Nl
cnRDb25kaXRpb24pOgorICAgICAgICAqIHBhZ2UvQ29uc29sZS5oOgorICAgICAgICAoQ29uc29s
ZSk6CisgICAgICAgICAgICBDcmVhdGUgYSBuZXcgaW50ZXJuYWxBZGRNZXNzYWdlIHRoYXQncyB1
c2VkIGZvciB0aGUgdmFyaW91cworICAgICAgICAgICAgQ29uc29sZSBtZXNzYWdlIHR5cGVzLiBF
dmVyeXRoaW5nIGVsc2Ugcm91dGVzIHRocm91Z2gKKyAgICAgICAgICAgIDo6YWRkTWVzc2FnZS4K
KyAgICAgICAgKiBwYWdlL0NvbnNvbGVUeXBlcy5oOgorICAgICAgICAgICAgRHJvcCBNZXNzYWdl
VHlwZXMgZnJvbSB0aGlzIGZpbGUsIGFkZCBpdCB0byBDb25zb2xlQVBJVHlwZS5oCisgICAgICAg
ICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUpOgorICAgICAgICAqIHBhZ2UvRE9NV2lu
ZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZl
bnRXaXRoT3JpZ2luQ2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpwcmludEVy
cm9yTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBzdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydE1lc3Nh
Z2UpOgorICAgICAgICAqIHdvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3Bw
OgorICAgICAgICAoU2hhcmVkV29ya2VyUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6cG9zdENv
bnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJQcm94eTo6
cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QpOgorICAgICAgICAqIHdvcmtlcnMvU2hh
cmVkV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250
ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNv
bGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAoV29ya2Vy
Q29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKToKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAo
V29ya2VyTWVzc2FnaW5nUHJveHkpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyUmVwb3J0aW5n
UHJveHkuaDoKKyAgICAgICAgKFdvcmtlclJlcG9ydGluZ1Byb3h5KToKKyAgICAgICAgKiB4bWwv
WE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nQ29uc29sZUVycm9yKToK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZW5kKToKKyAgICAgICAgKiB4bWwv
WFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNMVFByb2Nlc3Nv
cjo6cGFyc2VFcnJvckZ1bmMpOgorICAgICAgICAqIHhtbC9YU0xUUHJvY2Vzc29yUXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6WFNMVE1lc3NhZ2VIYW5kbGVyOjpoYW5kbGVNZXNzYWdlKToKKyAg
ICAgICAgICAgIERyb3AgTG9nTWVzc2FnZUxldmVsIGZyb20gZXZlcnl3aGVyZS4KKwogMjAxMi0x
Mi0xMSAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIxMzcyNDMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5n
ZUxvZwppbmRleCA1MDgzMzFlOGM0NWM0MTI5MGU4Njc1MmI1MTgzYjM0Zjc3MWZjNDc1Li5lYzc0
ZWUyZGMwNGY5NzU3NmVhYjk2YjRlYjZkZjE4YTkxNWQxNDhlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMCAgTWlrZSBXZXN0ICA8bWt3
c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBz
aG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGlu
c3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAgICBE
cm9wcyBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBt
ZXRob2QuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEJsYWNrQmVycnk6OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNr
QmVycnkuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEJsYWNrQmVycnkpOgorCiAyMDEyLTEyLTEw
ICBNYXggRmVpbCAgPG1mZWlsQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIEZsYXNo
IGNvbnRlbnQgaXMgYmVpbmcgcmVuZGVyZWQgYXMgZ2FyYmxlZCBjaGFyYWN0ZXJzIHdoZW4gRmxh
c2hwbGF5ZXIgaXMgZGlzYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOTRiMWQy
NjAwNDE2Yjk1NmM3ZmQxOTA3MzlhODMwZGQyMzQ3MDVjNC4uODliZGUzYTdkZDhiOTc1ZDY3MjZi
MDQ1Y2M3ZTI3ZjkwODAzN2YyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNiBAQAorMjAxMi0xMi0xMCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNz
YWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAgICBEcm9wcyBXZWJDb3JlOjpNZXNzYWdl
TGV2ZWwgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBtZXRob2QsIGFuZCBhbGwKKyAgICAg
ICAgdGhlIGFuY2lsbGlhcnkgcGxhY2VzIGl0IHRvdWNoZXMuCisKKyAgICAgICAgQWxpYXNlcyBw
b3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCB3aXRoIHRoZSBvbGQgaW50ZXJmYWNlIGlu
CisgICAgICAgIG9yZGVyIHRvIG1haW50YWluIGJhY2stY29tcGF0LiBXaWxsIHJlbW92ZSBpdCBp
biBhIGZ1dHVyZSBwYXRjaCBvbmNlCisgICAgICAgIENocm9taXVtIGlzIHVwZGF0ZWQuCisKKyAg
ICAgICAgKiBwdWJsaWMvV2ViU2hhcmVkV29ya2VyQ2xpZW50Lmg6CisgICAgICAgIChXZWJTaGFy
ZWRXb3JrZXJDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTaGFyZWRXb3JrZXJDbGllbnQ6
OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KToKKyAgICAgICAgKiBzcmMvQ2hyb21l
Q2xpZW50SW1wbC5jcHA6CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAg
ICAgKENocm9tZUNsaWVudEltcGwpOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAg
ICAgICAqIHNyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViU2hhcmVk
V29ya2VySW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNoYXJlZFdvcmtlckltcGw6OnBv
c3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2hh
cmVkV29ya2VySW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAgICogc3JjL1dl
YlNoYXJlZFdvcmtlckltcGwuaDoKKyAgICAgICAgKFdlYlNoYXJlZFdvcmtlckltcGwpOgorICAg
ICAgICAqIHNyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
V29ya2VyQ2xpZW50SW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QpOgorICAg
ICAgICAqIHNyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmg6CisgICAgICAgIChXZWJXb3JrZXJDbGll
bnRJbXBsKToKKwogMjAxMi0xMi0xMCAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSBXZWJDb21wb3NpdG9yT3V0cHV0U3VyZmFj
ZSBpbXBsZW1lbnRhdGlvbnMgZnJvbSBEUlQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAwM2NjYWRkMmU1
MmVkN2QxZjgzNzBmOTY3NzNhYWRlZDdjN2Y5YzRiLi5iM2E1ZGNkYTk4OTE1ZTJhMjU5MjVmZmVi
YzcxOGNmNGNkYTgxNGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MTItMTAgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBz
aG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IFBhdmVs
IEZlbGRtYW4uCisKKyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGZyb20gdGhl
IGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6
YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgorCiAyMDEyLTEyLTA1ICBIYWx0
b24gSHVvICA8aGFsdG9uLmh1b0BpbnRlbC5jb20+CiAKICAgICAgICAgW0NNYWtlXSBVbmlmeSBj
b2Rpbmcgc3R5bGUgZm9yIENNYWtlIGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggYzNmNDlhMzQ0
MDk1NGNmOGM4M2RlMWY0OTc5YzBkYjNiNTA1MTI3Yi4uZDY1OGM5MzM5YjBlZGNkMmFlMjAyYjY3
OWI4ZmExZTNhNWI1MTEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTEyLTEwICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogQ29uc29sZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0gaXQg
c2hvdWxkIGJlIHByaXZhdGUgdG8gaW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBQYXZl
bCBGZWxkbWFuLgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRo
ZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudDo6YWRk
TWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
R3RrLmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgorCiAyMDEyLTEyLTEwICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBCdWlsZCBH
T2JqZWN0IERPTSBiaW5kaW5ncyBhcyBhIHNlcGFyYXRlIGxpYnJhcnkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCA1ZjNkYTM5OGNiMmNkZGU4NGEzMWY1NTVjMmUyM2I3NjQ0MzhmNzUxLi4yZjFkYzBkMjRm
ODg3OGQ3ZDFjM2M4MDBjMjM2ZmNhZDljNmIxZGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTItMTItMTAgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVz
c2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCisKKyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2Fn
ZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGll
bnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAg
ICAgKFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisKIDIwMTItMTItMDkg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEZhY3RvciBub2Rl
IHRyYXZlcnNhbCBpbnRvIHN0YW5kYWxvbmUgZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDEy
YzJiZmIwZWExNDgxOGQ2N2UyNjRiZjQ1MDM3MjNjNTA2MWNjMGYuLjE2ZjAyMDhhMTIwNDE4Y2Fh
N2MwM2E3Y2JkOTdjNzNlNWQ3YWJlYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTItMTItMTAgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUg
LSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5
IFBhdmVsIEZlbGRtYW4uCisKKyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGZy
b20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50
UXQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRRdCk6CisKIDIwMTItMTItMTAgIEFu
ZHkgU2hhdyAgPGFuZHkuc2hhd0BkaWdpYS5jb20+CiAgICAgICAgIAogICAgICAgICBDaGVjayB0
aGF0IHBsdWdpbiBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQgYmVmb3JlIHF1ZXJ5aW5nIHRoZSBk
YXRhYmFzZSBmb3IgaW5zdGFsbGVkIHBsdWdpbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggZjE1ODcx
NTYyMzZkMjRlZDdlYjk4NDg0NjA2MDQ0MzQ3Yjk1NWZjZC4uZmU0MzU2MTM4ZmVhZmU0MTAxYWNj
ZTA0MjM3ZTM4NjViNjU1MzQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDEyLTEyLTEwICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogQ29uc29sZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0g
aXQgc2hvdWxkIGJlIHByaXZhdGUgdG8gaW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBQ
YXZlbCBGZWxkbWFuLgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9t
IHRoZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmFkZE1l
c3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKwogMjAxMi0xMi0xMCAgWHVlcWluZyBI
dWFuZyAgPGh1YW5neHVlcWluZ0BiYWlkdS5jb20+CiAKICAgICAgICAgQVNTRVJUSU9OIGZhaWxl
ZCBpbiBXaW5kb3dzOiBjc3MzL2NzczMtbW9kc2VsLTMzLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cK
aW5kZXggY2FiZGQ5NTgxOTQxYWFmN2Y4NTZiMDEyMDU5ODZlMzRmMGU0NWMwZC4uYWYzOTg2Yjcz
Njk2MmZkNjIxNTM2YTk4MTlmNWRlZmEzNGI0ZjMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW5jZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9z
ZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAgICBEcm9wcyBXZWJDb3JlOjpN
ZXNzYWdlTGV2ZWwgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBtZXRob2QuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkNocm9tZUNsaWVudFdpbkNFOjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50
V2luQ0UpOgorCiAyMDEyLTExLTI5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgogCiAgICAgICAgIFtXSzJdIEZvcndhcmQgY29va2llIGphciBjYWxscyB0byBOZXR3b3JrUHJv
Y2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDBiMWRiODdhYzcxMTdiNTQ4NTA4ZGQyZTkzODI1MWFjZWJlMjJi
M2MuLjY3MGU3MWYyNTA0OTI4MWY2Mjg5NjBiY2EzNjk0M2NlNzJkYTY3MDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4
cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAgICBEcm9wcyBXZWJDb3Jl
OjpNZXNzYWdlTGV2ZWwgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBtZXRob2QuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAg
ICAgICAgKFdlYkNocm9tZUNsaWVudCk6CisKIDIwMTItMTItMTAgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gQWRkIGEgdXNlciBkZWZhdWx0IHRv
IGxpbWl0IHRoZSBudW1iZXIgb2Ygd2ViIHByb2Nlc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KaW5kZXggMTAwOWEyN2U5NmVmMzhlYjE4ZjYyNzA5NzU5MmZkZmJkYWVlNWJiMy4uYzc2
MDdiMjM0MDQ3MmJkYzNmYTRkOTUwNTM0MTI2NTNlYTA3NzU1ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCkBAIC0zNjY5LDYgKzM2NjksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3V0eXBlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9p
Y3UvdW5pY29kZS91dmVyc2lvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQmluZGlu
Z1Zpc2l0b3JzLmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMu
aCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggXAogCVNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbHMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcAppbmRl
eCA0Mzc3MDVkNTg3NzNmNzUxMmFjNDAxOTY5ZjcwYTQ2YTBiMDZiNWRhLi44ODFiODAzYjc1Y2Fl
NjY4YzJiMDg4MjMyMTQyZjM3Mzc2MTIxNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCkBAIC00NDks
NyArNDQ5LDcgQEAgYm9vbCBBdWRpb0J1ZmZlclNvdXJjZU5vZGU6Omxvb3BpbmcoKQogewogICAg
IHN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7CiAgICAgaWYgKGZpcnN0VGltZSAmJiBjb250
ZXh0KCkgJiYgY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAg
Y29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJBdWRp
b0J1ZmZlclNvdXJjZU5vZGUgJ2xvb3BpbmcnIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkLiAgVXNl
ICdsb29wJyBpbnN0ZWFkLiIpOworICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2Fn
ZUxldmVsLCAiQXVkaW9CdWZmZXJTb3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVw
cmVjYXRlZC4gIFVzZSAnbG9vcCcgaW5zdGVhZC4iKTsKICAgICAgICAgZmlyc3RUaW1lID0gZmFs
c2U7CiAgICAgfQogCkBAIC00NjAsNyArNDYwLDcgQEAgdm9pZCBBdWRpb0J1ZmZlclNvdXJjZU5v
ZGU6OnNldExvb3BpbmcoYm9vbCBsb29waW5nKQogewogICAgIHN0YXRpYyBib29sIGZpcnN0VGlt
ZSA9IHRydWU7CiAgICAgaWYgKGZpcnN0VGltZSAmJiBjb250ZXh0KCkgJiYgY29udGV4dCgpLT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKLSAgICAgICAgY29udGV4dCgpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJBdWRpb0J1ZmZlclNvdXJjZU5vZGUgJ2xv
b3BpbmcnIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkLiAgVXNlICdsb29wJyBpbnN0ZWFkLiIpOwor
ICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCAiQXVkaW9CdWZmZXJT
b3VyY2VOb2RlICdsb29waW5nJyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gIFVzZSAnbG9vcCcg
aW5zdGVhZC4iKTsKICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNl
LmNwcAppbmRleCA2MjkwN2UzZTFjZTZiMDkxNWMyYjAzNDc2MDllNTA3ZThjMDFjZWI2Li42Y2Zl
NTFiNTg1NzgzZDdjMjhlNjI1ODZkZjVkMmJhZTY5MmE2NTJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5jcHAKQEAg
LTU2Nyw3ICs1NjcsNyBAQCBib29sIEFic3RyYWN0RGF0YWJhc2U6OmlzSW50ZXJydXB0ZWQoKQog
CiB2b2lkIEFic3RyYWN0RGF0YWJhc2U6OmxvZ0Vycm9yTWVzc2FnZShjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCiB7Ci0gICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2Fn
ZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
bWVzc2FnZSk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2Fn
ZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAog
I2lmIFBMQVRGT1JNKENIUk9NSVVNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0LmNwcAppbmRleCAwNmQyYWU4ZWYwMTY4ZTMxYTMxMWIzMTk5NTM1ZjYx
MjE1Yjc5Y2VkLi43ODUyYjJlYjJkM2EwMjI0Y2IyZTRlZjUwZGVjNTIxNzMxNjRiMTZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAt
MjEzLDI2ICsyMTMsMjYgQEAgdm9pZCBXZWJTb2NrZXQ6OmNvbm5lY3QoY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwcm90b2NvbHMsIEV4Y2UKICAgICBtX3VybCA9IEtV
UkwoS1VSTCgpLCB1cmwpOwogCiAgICAgaWYgKCFtX3VybC5pc1ZhbGlkKCkpIHsKLSAgICAgICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkludmFsaWQgdXJsIGZvciBX
ZWJTb2NrZXQgIiArIG1fdXJsLnN0cmluZygpKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxl
dmVsLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5nKCkpOwogICAg
ICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKICAgICBpZiAoIW1fdXJsLnByb3RvY29sSXMoIndzIikgJiYgIW1f
dXJsLnByb3RvY29sSXMoIndzcyIpKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJXcm9uZyB1cmwgc2NoZW1lIGZvciBXZWJTb2NrZXQgIiArIG1fdXJs
LnN0cmluZygpKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xl
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV3JvbmcgdXJsIHNj
aGVtZSBmb3IgV2ViU29ja2V0ICIgKyBtX3VybC5zdHJpbmcoKSk7CiAgICAgICAgIG1fc3RhdGUg
PSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBpZiAobV91cmwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpIHsKLSAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVSTCBoYXMgZnJhZ21lbnQgY29t
cG9uZW50ICIgKyBtX3VybC5zdHJpbmcoKSk7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgIlVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50ICIgKyBtX3VybC5zdHJpbmcoKSk7CiAgICAg
ICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBpZiAoIXBvcnRBbGxvd2VkKG1fdXJsKSkgewotICAgICAgICBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IHBvcnQgIiAr
IFN0cmluZzo6bnVtYmVyKG1fdXJsLnBvcnQoKSkgKyAiIGJsb2NrZWQiKTsKKyAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IHBvcnQgIiArIFN0cmluZzo6bnVtYmVyKG1f
dXJsLnBvcnQoKSkgKyAiIGJsb2NrZWQiKTsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAg
ICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CiAgICAgICAgIHJldHVybjsKQEAgLTI1Nyw3ICsyNTcs
NyBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVj
dG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgIC8vIGNvbXBseSB3aXRoIFdlYlNvY2tl
dCBBUEkgc3BlY2lmaWNhdGlvbiwgYnV0IGl0IHNlZW1zIHRvIGJlIHRoZSBvbmx5IHJlYXNvbmFi
bGUgd2F5IHRvIGhhbmRsZSB0aGlzIGNvbmZsaWN0LgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgcHJvdG9jb2xzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGlmICghaXNWYWxpZFByb3RvY29s
U3RyaW5nKHByb3RvY29sc1tpXSkpIHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICciICsgZW5j
b2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ldKSArICInIik7CisgICAgICAgICAgICBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICciICsgZW5j
b2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ldKSArICInIik7CiAgICAgICAgICAgICBtX3N0
YXRlID0gQ0xPU0VEOwogICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICAgICAg
cmV0dXJuOwpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0
IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcHJvdG9jb2xzLCBFeGNlCiAgICAg
SGFzaFNldDxTdHJpbmc+IHZpc2l0ZWQ7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm90
b2NvbHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYgKHZpc2l0ZWQuY29udGFpbnMocHJvdG9j
b2xzW2ldKSkgewotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25z
b2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIldlYlNvY2tldCBwcm90b2NvbHMgY29udGFpbiBkdXBsaWNhdGVzOiAnIiArIGVuY29k
ZVByb3RvY29sU3RyaW5nKHByb3RvY29sc1tpXSkgKyAiJyIpOworICAgICAgICAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IHByb3RvY29scyBjb250YWluIGR1cGxpY2F0ZXM6
ICciICsgZW5jb2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ldKSArICInIik7CiAgICAgICAg
ICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAg
ICAgICAgICAgcmV0dXJuOwpAQCAtMjk5LDcgKzI5OSw3IEBAIGJvb2wgV2ViU29ja2V0OjpzZW5k
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgQVNTRVJUKG1f
Y2hhbm5lbCk7CiAgICAgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OlNlbmRSZXN1bHQgcmVz
dWx0ID0gbV9jaGFubmVsLT5zZW5kKG1lc3NhZ2UpOwogICAgIGlmIChyZXN1bHQgPT0gVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWw6OkludmFsaWRNZXNzYWdlKSB7Ci0gICAgICAgIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJzb2NrZXQgbWVzc2FnZSBjb250YWlu
cyBpbnZhbGlkIGNoYXJhY3RlcihzKS4iKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiV2Vic29ja2V0IG1lc3NhZ2UgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIocykuIik7CiAg
ICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAg
LTM3Myw3ICszNzMsNyBAQCB2b2lkIFdlYlNvY2tldDo6Y2xvc2UoaW50IGNvZGUsIGNvbnN0IFN0
cmluZyYgcmVhc29uLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgfQogICAgICAgICBDU3Ry
aW5nIHV0ZjggPSByZWFzb24udXRmOChTdHJpbmc6OlN0cmljdENvbnZlcnNpb25SZXBsYWNpbmdV
bnBhaXJlZFN1cnJvZ2F0ZXNXaXRoRkZGRCk7CiAgICAgICAgIGlmICh1dGY4Lmxlbmd0aCgpID4g
bWF4UmVhc29uU2l6ZUluQnl0ZXMpIHsKLSAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgY2xvc2UgbWVzc2FnZSBpcyB0b28gbG9uZy4i
KTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBjbG9zZSBt
ZXNzYWdlIGlzIHRvbyBsb25nLiIpOwogICAgICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC00MzgsNyArNDM4LDcgQEAgdm9pZCBXZWJT
b2NrZXQ6OnNldEJpbmFyeVR5cGUoY29uc3QgU3RyaW5nJiBiaW5hcnlUeXBlKQogICAgICAgICBt
X2JpbmFyeVR5cGUgPSBCaW5hcnlUeXBlQXJyYXlCdWZmZXI7CiAgICAgICAgIHJldHVybjsKICAg
ICB9Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIiciICsgYmlu
YXJ5VHlwZSArICInIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBiaW5hcnlUeXBlOyBiaW5hcnlU
eXBlIHJlbWFpbnMgdW5jaGFuZ2VkLiIpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIici
ICsgYmluYXJ5VHlwZSArICInIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBiaW5hcnlUeXBlOyBi
aW5hcnlUeXBlIHJlbWFpbnMgdW5jaGFuZ2VkLiIpOwogfQogCiBjb25zdCBBdG9taWNTdHJpbmcm
IFdlYlNvY2tldDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggYmVlY2Yy
ZGMwOTEyYTE0ZmQ2Mjg3Y2NhMDFiYjM1YWY4NDk3NWY3Yy4uNzFkOWM1MjFlZjdjMTY2MzQxMGZi
NGZhZTJlYTRlNmQxZGI0MWM5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMTk0LDcgKzE5NCw3IEBAIHZv
aWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBBU1NF
UlQoIW1fc3VzcGVuZGVkKTsKICAgICBpZiAobV9kb2N1bWVudCkgewogICAgICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKG1fZG9jdW1l
bnQsIG1faWRlbnRpZmllciwgcmVhc29uKTsKLSAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29s
ZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJXZWJTb2NrZXQgY29ubmVjdGlvbiB0byAnIiArIG1faGFuZHNoYWtlLT51cmwoKS5zdHJp
bmcoKSArICInIGZhaWxlZDogIiArIHJlYXNvbik7CisgICAgICAgIG1fZG9jdW1lbnQtPmFkZENv
bnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2Nr
ZXQgY29ubmVjdGlvbiB0byAnIiArIG1faGFuZHNoYWtlLT51cmwoKS5zdHJpbmcoKSArICInIGZh
aWxlZDogIiArIHJlYXNvbik7CiAgICAgfQogCiAgICAgLy8gSHliaS0xMCBzcGVjaWZpY2F0aW9u
IGV4cGxpY2l0bHkgc3RhdGVzIHdlIG11c3Qgbm90IGNvbnRpbnVlIHRvIGhhbmRsZSBpbmNvbWlu
ZyBkYXRhCkBAIC0zMzEsNyArMzMxLDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRGYWls
U29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlLCBjb25zdCBTb2MKICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgbWVzc2FnZSA9ICJXZWJTb2NrZXQgbmV0d29yayBlcnJvcjog
IiArIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCk7CiAgICAgICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IobV9kb2N1bWVudCwgbV9p
ZGVudGlmaWVyLCBtZXNzYWdlKTsKLSAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3Nh
Z2UoTmV0d29ya01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgbWVzc2FnZSk7CisgICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE5ldHdv
cmtNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiAgICAgfQogICAg
IG1fc2hvdWxkRGlzY2FyZFJlY2VpdmVkRGF0YSA9IHRydWU7CiAgICAgaGFuZGxlLT5kaXNjb25u
ZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQppbmRleCBjYzI0NjBmNjUyNTgxNzZhOWJhYTNkNzA4MWNkNWU3MDc3
YzcyZTgzLi41ZTA4NWYyYzBmZDgwNzZmZDVmMDBiMDA1Zjk5MWJhYTdiYzY5ZTkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKQEAgLTE4OTMsNiArMTg5Myw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvdHJhY2sv
V2ViVlRUVG9rZW4uaCBcCiAgICAgaHRtbC90cmFjay9XZWJWVFRUb2tlbml6ZXIuaCBcCiAgICAg
aW5zcGVjdG9yL0JpbmRpbmdWaXNpdG9ycy5oIFwKKyAgICBpbnNwZWN0b3IvQ29uc29sZUFQSVR5
cGVzLmggXAogICAgIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIFwKICAgICBpbnNwZWN0b3Iv
Q29udGVudFNlYXJjaFV0aWxzLmggXAogICAgIGluc3BlY3Rvci9ET01FZGl0b3IuaCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKaW5kZXggZGMwMjE4YWE2MTU1Y2U0NjczZDJkOGIxMjM0YWViODFkNzQzMzUzOC4u
MDVkMjY2NWQxYmI5NTFkNDg1Y2FjM2VjYmExOGE4Njc0ZjI2ZGVjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQpAQCAtMTc2MSw2ICsxNzYxLDcgQEAKICAgICAgICAgICAgICdpY3UvdW5pY29kZS91dHlwZXMu
aCcsCiAgICAgICAgICAgICAnaWN1L3VuaWNvZGUvdXZlcnNpb24uaCcsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL0JpbmRpbmdWaXNpdG9ycy5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvQ29u
c29sZUFQSVR5cGVzLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5j
cHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxzLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGU0NTNhNmFlMzRiOGI3NDI5YzZl
ZDNlNDRjMDQwMzRiMTg5MGI0MGIuLjc3ZDQzYjM5MWNhNWQ5ZjQyNmZiMDIxNTllOGVkYTFlMjZj
NjNkZTQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC03NDU0Niw2ICs3NDU0NiwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcQ29uc29sZUFQSVR5cGVzLmgiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxDb25z
b2xlTWVzc2FnZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFjMzZm
ODI2YTVlZGFhOWUwZDgzYWEwNDZmOGQ1MGE5ZmE2OGVjZmMuLmM2NjdiMGM2NTI2OTVjODQ4YzM3
MjYyODdjNTg2MTMyN2JlYzA5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgwMSw2ICs4MDEsNyBAQAogCQkyRDlBMjQ3NTE1
QjlDMkUzMDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3lJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QTI0NzExNUI5QzI5NTAw
RDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5SW50ZXJuYWwuaCAqLzsgfTsKIAkJMkQ5QTI0
NzYxNUI5QzJGNDAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5LmggaW4gQ29weSBHZW5l
cmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlBMjQ3
MDE1QjlDMjk1MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3kuaCAqLzsgfTsKIAkJMkQ5
RjBFMTMxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjIGluIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlGMEUxMjE0RkYxQ0JGMDBCQTBGRjcg
LyogbGluZWFyU1JHQi5pY2MgKi87IH07CisJCTJERjJFOUQ1MTY2RTM5NzUwMDM1QkVGMiAvKiBD
b25zb2xlQVBJVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDJERjJFOUQ0MTY2RTM5NzQwMDM1QkVGMiAvKiBDb25zb2xlQVBJVHlwZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyRTA4ODhENDEx
NDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMjExNDg4NDhBMDBBRjQyNjUgLyogSlNE
T01Gb3JtRGF0YS5jcHAgKi87IH07CiAJCTJFMDg4OEQ1MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RP
TUZvcm1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oICovOyB9OwogCQky
RTA4ODhFNjExNDg4NEUyMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhFNTExNDg4NEUy
MDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgKi87IH07CkBAIC03OTgyLDYgKzc5
ODMsNyBAQAogCQkyRDlBMjQ3MTE1QjlDMjk1MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xp
Y3lJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01ET01TZWN1
cml0eVBvbGljeUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOUEy
NDcyMTVCOUMyQzcwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTURPTVNlY3VyaXR5UG9saWN5Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDlGMEUxMjE0RkYxQ0JGMDBCQTBGRjcgLyog
bGluZWFyU1JHQi5pY2MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBmaWxlOyBwYXRoID0gbGluZWFyU1JHQi5pY2M7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTJERjJFOUQ0MTY2RTM5NzQwMDM1QkVGMiAvKiBDb25zb2xlQVBJVHlwZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29uc29sZUFQSVR5cGVzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEMzMTE0ODgzQTkwMEFGNDI2NSAvKiBET01G
b3JtRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NRm9ybURhdGEuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhEMjExNDg4NDhBMDBBRjQyNjUgLyogSlNE
T01Gb3JtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RP
TUZvcm1EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDMxMTQ4
ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNET01Gb3JtRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTQ4MDgsNiArMTQ4MTAsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMUM4MUI5NTkwRTk3MzMw
ODAwMjY2RTA3IC8qIGZyb250LWVuZCAqLywKIAkJCQlGMzVBRTVBQjE0OTI1RjVCMDA0RDU3NzYg
LyogQmluZGluZ1Zpc2l0b3JzLmggKi8sCisJCQkJMkRGMkU5RDQxNjZFMzk3NDAwMzVCRUYyIC8q
IENvbnNvbGVBUElUeXBlcy5oICovLAogCQkJCTQxRjA2MThEMEY1RjA2OTgwMEEwN0VBQyAvKiBD
b25zb2xlTWVzc2FnZS5jcHAgKi8sCiAJCQkJNDFGMDYxOEMwRjVGMDY5ODAwQTA3RUFDIC8qIENv
bnNvbGVNZXNzYWdlLmggKi8sCiAJCQkJNTkxMDJGQjkxNDMyN0QzQjAwM0M5RDA0IC8qIENvbnRl
bnRTZWFyY2hVdGlscy5jcHAgKi8sCkBAIC0yMjc3MCw2ICsyMjc3Myw3IEBACiAJCQkJRkQzMTYw
OEYxMkIwMjZGNzAwQzFBMzU5IC8qIENvbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1Qzk3QUYz
MDhFQTkwODgwMEFDRDI3MyAvKiBjb25maWcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMEIzNkE1
MENEM0M2N0MwMEFDN0VCNSAvKiBDb25zb2xlLmggaW4gSGVhZGVycyAqLywKKwkJCQkyREYyRTlE
NTE2NkUzOTc1MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MUYwNjE4RTBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDRTU2NDRFMTM3QTM0RDYwMDdEMjkzNCAvKiBDb25zb2xlVHlwZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4MTg3MjFDMDk3N0QzQzAwMDU4MjZEOSAvKiBDb250YWluZXJOb2Rl
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL1Nj
cmlwdENvbnRyb2xsZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL1NjcmlwdENv
bnRyb2xsZXJCYXNlLmNwcAppbmRleCA4NTRkNTg2YTIwY2NkZGFmNGYxZDdiMjQyZGNjYWUxOTE5
MzFlYWEzLi44MWIyZjUyOTM2MGRlZTE5OTliNjBlOGRkNDE5Y2YwYjY1ODFmMDljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwCkBAIC00
MSw3ICs0MSw3IEBAIGJvb2wgU2NyaXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMoUmVh
c29uRm9yQ2FsbGluZ0NhbkV4ZWN1dGVTY3JpcHRzIHJlYXNvCiAgICAgaWYgKG1fZnJhbWUtPmRv
Y3VtZW50KCkgJiYgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+aXNTYW5kYm94ZWQoU2FuZGJveFNjcmlw
dHMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9m
ZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCiAgICAgICAgIGlmIChyZWFzb24gPT0gQWJv
dXRUb0V4ZWN1dGVTY3JpcHQpCi0gICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRD
b25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCAiQmxvY2tlZCBzY3JpcHQgZXhlY3V0aW9uIGluICciICsgbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+dXJsKCkuc3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRoZSBkb2N1bWVudCdzIGZyYW1l
IGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBz
ZXQuIik7IAorICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBzY3JpcHQg
ZXhlY3V0aW9uIGluICciICsgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nKCkgKyAi
JyBiZWNhdXNlIHRoZSBkb2N1bWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxv
dy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7IAogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1
c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1
c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKaW5kZXggZDFkYzBiMWNlZWQzMjExNmI2N2YxMjQ4YjI4
MGE0ZmQ0ZDdjM2JhMy4uYTliMzRhNjU2YzhmZmVhMWU3OWUxY2RlNmY3NmY4ZjYwZDQ3OTg0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVz
b2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhO
U1Jlc29sdmVyLmNwcApAQCAtNzgsNyArNzgsNyBAQCBTdHJpbmcgSlNDdXN0b21YUGF0aE5TUmVz
b2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVSSShjb25zdCBTdHJpbmcmIHByZWZpeCkKICAgICAgICAg
Y2FsbFR5cGUgPSBtX2N1c3RvbVJlc29sdmVyLT5tZXRob2RUYWJsZSgpLT5nZXRDYWxsRGF0YSht
X2N1c3RvbVJlc29sdmVyLmdldCgpLCBjYWxsRGF0YSk7CiAgICAgICAgIGlmIChjYWxsVHlwZSA9
PSBDYWxsVHlwZU5vbmUpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBQYXNzIGFjdHVhbCBsaW5l
IG51bWJlciBhbmQgc291cmNlIFVSTC4KLSAgICAgICAgICAgIG1fZ2xvYmFsT2JqZWN0LT5pbXBs
KCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIlhQYXRoTlNSZXNvbHZlciBkb2VzIG5vdCBoYXZlIGEgbG9v
a3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKTsKKyAgICAgICAgICAgIG1fZ2xvYmFsT2JqZWN0LT5p
bXBsKCktPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhhdmUgYSBsb29rdXBOYW1lc3BhY2VV
UkkgbWV0aG9kLiIpOwogICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgICAgICB9CiAg
ICAgICAgIGZ1bmN0aW9uID0gbV9jdXN0b21SZXNvbHZlci5nZXQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21YUGF0aE5TUmVz
b2x2ZXIuY3BwCmluZGV4IDNlNWZhZTc4M2QwYmM5Yzk5NWQ4MTAzNTViODk5MGFkMzhmZTA3Yjku
Ljg2ZTNjM2Q1OTc5NGQ2NWJiNGZkZTBiNjE2YWFiOWM1OTFhNTJhMGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhO
U1Jlc29sdmVyLmNwcApAQCAtNjgsNyArNjgsNyBAQCBTdHJpbmcgVjhDdXN0b21YUGF0aE5TUmVz
b2x2ZXI6Omxvb2t1cE5hbWVzcGFjZVVSSShjb25zdCBTdHJpbmcmIHByZWZpeCkKICAgICB9CiAK
ICAgICBpZiAobG9va3VwTmFtZXNwYWNlVVJJRnVuYy5Jc0VtcHR5KCkgJiYgIW1fcmVzb2x2ZXIt
PklzRnVuY3Rpb24oKSkgewotICAgICAgICBhY3RpdmVET01XaW5kb3coQmluZGluZ1N0YXRlOjpp
bnN0YW5jZSgpKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhh
dmUgYSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIpOworICAgICAgICBhY3RpdmVET01XaW5k
b3coQmluZGluZ1N0YXRlOjppbnN0YW5jZSgpKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJYUGF0aE5TUmVzb2x2ZXIgZG9lcyBub3Qg
aGF2ZSBhIGxvb2t1cE5hbWVzcGFjZVVSSSBtZXRob2QuIik7CiAgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAKaW5kZXggMjI1Nzg1ZjI0M2Vm
ZTQ2OGM3NjE1YzEyM2IxMmY1OTRhNGVlMTNiNy4uOWJmODFmMTg5MWRlOWRiNjY5YjU0NDQxNzlm
YjAzNTAyYTYzOWE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAKQEAgLTMyNCw3ICszMjQs
NyBAQCBzdGF0aWMgdm9pZCBhZGRSZXNvbHV0aW9uV2FybmluZ01lc3NhZ2VUb0NvbnNvbGUoRG9j
dW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbgogCiAgICAgbWVzc2FnZS5hcHBlbmQoc2VyaWFs
aXplZEV4cHJlc3Npb24pOwogCi0gICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgVGlwTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsK
KyAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIFRpcE1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgcmVwb3J0TWVkaWFRdWVyeVdhcm5pbmdJ
Zk5lZWRlZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IE1lZGlhUXVlcnlTZXQqIG1lZGlhUXVl
cnlTZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBkY2E0NDkzMmQ2MjhhYWQ0Y2QzNGRk
NDc1YzJiY2JjMzMyZmM4NjNkLi45ZTBlZTE5MmU5MmYxNzhkNGI1OTRjMmNjNDIwOTg4YzZkZDg3
NmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTI2MTcsNyArMjYxNyw3IEBAIEV2ZW50
VGFyZ2V0KiBEb2N1bWVudDo6ZXJyb3JFdmVudFRhcmdldCgpCiAKIHZvaWQgRG9jdW1lbnQ6Omxv
Z0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gY2FsbFN0YWNrKQogewotICAgIGFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNz
YWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBsaW5l
TnVtYmVyLCBjYWxsU3RhY2spOworICAgIGFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxT
dGFjayk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnNldFVSTChjb25zdCBLVVJMJiB1cmwpCkBAIC0y
ODg2LDcgKzI4ODYsNyBAQCB2b2lkIERvY3VtZW50Ojpwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0
cmluZyYgZXF1aXYsIGNvbnN0IFN0cmluZyYgY29udGVudCkKICAgICAgICAgICAgICAgICBTdHJp
bmcgbWVzc2FnZSA9ICJSZWZ1c2VkIHRvIGRpc3BsYXkgJyIgKyB1cmwoKS5zdHJpbmcoKSArICIn
IGluIGEgZnJhbWUgYmVjYXVzZSBpdCBzZXQgJ1gtRnJhbWUtT3B0aW9ucycgdG8gJyIgKyBjb250
ZW50ICsgIicuIjsKICAgICAgICAgICAgICAgICBmcmFtZUxvYWRlci0+c3RvcEFsbExvYWRlcnMo
KTsKICAgICAgICAgICAgICAgICBmcmFtZS0+bmF2aWdhdGlvblNjaGVkdWxlcigpLT5zY2hlZHVs
ZUxvY2F0aW9uQ2hhbmdlKHNlY3VyaXR5T3JpZ2luKCksIGJsYW5rVVJMKCksIFN0cmluZygpKTsK
LSAgICAgICAgICAgICAgICBhZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgcmVxdWVzdElkZW50aWZpZXIp
OworICAgICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoZXF1aXYsICJj
b250ZW50LXNlY3VyaXR5LXBvbGljeSIpKQpAQCAtNDc2NCwyOSArNDc2NCwyOSBAQCB2b2lkIERv
Y3VtZW50OjpwYXJzZUROU1ByZWZldGNoQ29udHJvbEhlYWRlcihjb25zdCBTdHJpbmcmIGRuc1By
ZWZldGNoQ29udHJvbCkKICAgICBtX2hhdmVFeHBsaWNpdGx5RGlzYWJsZWRETlNQcmVmZXRjaCA9
IHRydWU7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKK3ZvaWQgRG9j
dW1lbnQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2
ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllcikKIHsKICAgICBpZiAoIWlzQ29udGV4dFRocmVhZCgpKSB7Ci0gICAgICAgIHBvc3RU
YXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1l
c3NhZ2UpKTsKKyAgICAgICAgcG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUo
c291cmNlLCBsZXZlbCwgbWVzc2FnZSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAg
aWYgKERPTVdpbmRvdyogd2luZG93ID0gZG9tV2luZG93KCkpIHsKICAgICAgICAgaWYgKENvbnNv
bGUqIGNvbnNvbGUgPSB3aW5kb3ctPmNvbnNvbGUoKSkKLSAgICAgICAgICAgIGNvbnNvbGUtPmFk
ZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgcmVxdWVzdElkZW50aWZpZXIs
IHRoaXMpOworICAgICAgICAgICAgY29uc29sZS0+YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBt
ZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllciwgdGhpcyk7CiAgICAgfQogfQogCi12b2lkIERvY3Vt
ZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBN
ZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiBjYWxsU3RhY2ssIFNjcmlwdFN0YXRlKiBzdGF0ZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllcikKK3ZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IGNhbGxTdGFjaywgU2NyaXB0U3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJ
ZGVudGlmaWVyKQogewogICAgIGlmICghaXNDb250ZXh0VGhyZWFkKCkpIHsKLSAgICAgICAgcG9z
dFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCB0eXBlLCBsZXZlbCwg
bWVzc2FnZSkpOworICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0
ZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBpZiAoRE9NV2luZG93KiB3aW5kb3cgPSBkb21XaW5kb3coKSkgewogICAgICAgICBpZiAoQ29u
c29sZSogY29uc29sZSA9IHdpbmRvdy0+Y29uc29sZSgpKQotICAgICAgICAgICAgY29uc29sZS0+
YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVO
dW1iZXIsIGNhbGxTdGFjaywgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgICAg
IGNvbnNvbGUtPmFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBs
aW5lTnVtYmVyLCBjYWxsU3RhY2ssIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgfQog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGFiMGI1ZmM4NjAwOWYxZjBlYzQ4NGQ1MGY2ZGQ4
YWMwMDYyM2NkZWUuLjA0NWVjMDY5ZjM1MDQ4OWMzZWE2ZTBmMmU1YmUxMTliYTAwMzcwZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTc4LDcgKzExNzgsNyBAQCBwdWJsaWM6CiAgICAgRG9j
dW1lbnQqIHRlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50KCk7CiAjZW5kaWYKIAotICAgIHZp
cnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIgPSAwKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKIAogcHJvdGVjdGVkOgogICAgIERvY3VtZW50
KEZyYW1lKiwgY29uc3QgS1VSTCYsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpOwpAQCAtMTIx
Myw3ICsxMjEzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IEtVUkwmIHZpcnR1YWxV
UkwoKSBjb25zdDsgLy8gU2FtZSBhcyB1cmwoKSwgYnV0IG5lZWRlZCBmb3IgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCB0byBpbXBsZW1lbnQgaXQgd2l0aG91dCBhIHBlcmZvcm1hbmNlIGxvc3MgZm9y
IGRpcmVjdCBjYWxscy4KICAgICB2aXJ0dWFsIEtVUkwgdmlydHVhbENvbXBsZXRlVVJMKGNvbnN0
IFN0cmluZyYpIGNvbnN0OyAvLyBTYW1lIGFzIGNvbXBsZXRlVVJMKCkgZm9yIHRoZSBzYW1lIHJl
YXNvbiBhcyBhYm92ZS4KIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllciA9IDApOworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBT
Y3JpcHRTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAK
ICAgICB2aXJ0dWFsIGRvdWJsZSBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggNGZhNTU5ZThmYjgyYjVjZDI4NDdiM2Rh
MDIwNzkzNmE1MTcxNTcxZi4uMzAwYTQwODNlODhiNDllNGFiOTFiMzUyMDJhZmE5NTZmNGJjMzc3
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApAQCAtMzM5LDcgKzMzOSw3IEBA
IHZvaWQgU2NyaXB0RWxlbWVudDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlKQogCiAgICAgICAgIGRpc3BhdGNoRXJyb3JFdmVudCgpOwogICAgICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9y
aWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcg
cG9saWN5LiIpKSk7Ci0gICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25z
b2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVz
c2FnZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAppbmRleCA4ODE0NjBkNjIwZGQ3MzY2YmNhYjBjODE2
MzBmYjY5Njc3YWUxYjM0Li4xZmYzNjJkMjc0ZDI1ZWE3M2FjMmM1ODFiMmI0OTM3MDcwNjc0NmI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBA
IC05Myw3ICs5Myw3IEBAIHB1YmxpYzoKIAogdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpB
ZGRDb25zb2xlTWVzc2FnZVRhc2s6OnBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQpCiB7Ci0gICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UobV9zb3VyY2UsIG1f
dHlwZSwgbV9sZXZlbCwgbV9tZXNzYWdlKTsKKyAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2Fn
ZShtX3NvdXJjZSwgbV9sZXZlbCwgbV9tZXNzYWdlKTsKIH0KIAogU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCkBAIC0zMjEsOSArMzIxLDkgQEAgdm9pZCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpyZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UsIGludCBsaW4KICAgICBtX3BlbmRpbmdFeGNlcHRpb25zLmNsZWFyKCk7CiB9CiAK
LXZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51
bWJlciwgU2NyaXB0U3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVy
KQordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBTY3JpcHRTdGF0
ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7Ci0gICAgYWRkTWVz
c2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIs
IDAsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgYWRkTWVzc2FnZShzb3VyY2UsIGxl
dmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIDAsIHN0YXRlLCByZXF1ZXN0SWRl
bnRpZmllcik7CiB9CiAKIGJvb2wgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlzcGF0Y2hFcnJv
ckV2ZW50KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwsIENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYjBiOGRiZjNlNDE3Y2Mw
MzcxZGI4ZmIyYmIyZWQwZmU4ZTc3ZGY0Yy4uNmU0MzQ2NjIxZjhlZTM0NWE1MjA5MDhkMmNhOTY1
YzMzN2E3N2ZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCkBAIC04Niw4ICs4Niw4IEBAIHB1YmxpYzoKICAgICBib29sIHNhbml0aXplU2NyaXB0RXJy
b3IoU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCYgbGluZU51bWJlciwgU3RyaW5nJiBzb3VyY2VV
UkwsIENhY2hlZFNjcmlwdCogPSAwKTsKICAgICB2b2lkIHJlcG9ydEV4Y2VwdGlvbihjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIENhY2hlZFNjcmlwdCogPSAwKTsKIAot
ICAgIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCwgdW5zaWduZWQgbGluZU51bWJlciwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllciA9IDApOwotICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSA9IDA7CisgICAg
dm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIg
PSAwKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIgPSAwKSA9IDA7CiAKICNpZiBFTkFCTEUoQkxPQikKICAgICBQdWJsaWNVUkxN
YW5hZ2VyJiBwdWJsaWNVUkxNYW5hZ2VyKCk7CkBAIC0xNzIsMjEgKzE3MiwxOSBAQCBwdWJsaWM6
CiBwcm90ZWN0ZWQ6CiAgICAgY2xhc3MgQWRkQ29uc29sZU1lc3NhZ2VUYXNrIDogcHVibGljIFRh
c2sgewogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8QWRkQ29uc29sZU1l
c3NhZ2VUYXNrPiBjcmVhdGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUs
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorICAgICAgICBzdGF0
aWMgUGFzc093blB0cjxBZGRDb25zb2xlTWVzc2FnZVRhc2s+IGNyZWF0ZShNZXNzYWdlU291cmNl
IHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQWRkQ29uc29sZU1lc3NhZ2VU
YXNrKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKKyAgICAgICAgICAgIHJldHVybiBh
ZG9wdFB0cihuZXcgQWRkQ29uc29sZU1lc3NhZ2VUYXNrKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2Up
KTsKICAgICAgICAgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopOwogICAgIHByaXZhdGU6Ci0gICAgICAgIEFkZENvbnNvbGVNZXNzYWdl
VGFzayhNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVs
IGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCisgICAgICAgIEFkZENvbnNvbGVNZXNzYWdl
VGFzayhNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UpCiAgICAgICAgICAgICA6IG1fc291cmNlKHNvdXJjZSkKLSAgICAgICAgICAg
ICwgbV90eXBlKHR5cGUpCiAgICAgICAgICAgICAsIG1fbGV2ZWwobGV2ZWwpCiAgICAgICAgICAg
ICAsIG1fbWVzc2FnZShtZXNzYWdlLmlzb2xhdGVkQ29weSgpKQogICAgICAgICB7CiAgICAgICAg
IH0KICAgICAgICAgTWVzc2FnZVNvdXJjZSBtX3NvdXJjZTsKLSAgICAgICAgTWVzc2FnZVR5cGUg
bV90eXBlOwogICAgICAgICBNZXNzYWdlTGV2ZWwgbV9sZXZlbDsKICAgICAgICAgU3RyaW5nIG1f
bWVzc2FnZTsKICAgICB9OwpAQCAtMTk1LDcgKzE5Myw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCBjb25zdCBLVVJMJiB2aXJ0dWFsVVJMKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgS1VSTCB2
aXJ0dWFsQ29tcGxldGVVUkwoY29uc3QgU3RyaW5nJikgY29uc3QgPSAwOwogCi0gICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWdu
ZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBTY3JpcHRTdGF0ZSog
PSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJl
ciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBTY3JpcHRTdGF0ZSogPSAwLCB1bnNpZ25l
ZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgPSAwOwogICAgIHZpcnR1YWwgRXZlbnRUYXJn
ZXQqIGVycm9yRXZlbnRUYXJnZXQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlv
blRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pID0gMDsK
ICAgICBib29sIGRpc3BhdGNoRXJyb3JFdmVudChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
aW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBDYWNoZWRTY3JpcHQqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IDFhOTk5MTI5Mzdh
ZDcwZWVlNzBiZDkyZWYzYmFhMGJhZWVjMDU5MjcuLjEwODgzODBhNjVlNjAwYmUxNWQ1YzgzYzIy
M2NhZjUyZWE2MmVhZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFy
Z3VtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNw
cApAQCAtNDUwLDcgKzQ1MCw3IEBAIHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50
KiBkb2N1bWVudCwgVmlld3BvcnRFcnJvckNvZGUgZXJyb3JDb2RlLCBjb25zCiAgICAgICAgIG1l
c3NhZ2UuYXBwZW5kKCIgTm90ZSB0aGF0ICc7JyBpcyBub3QgYSBzZXBhcmF0b3IgaW4gdmlld3Bv
cnQgdmFsdWVzLiBUaGUgbGlzdCBzaG91bGQgYmUgY29tbWEtc2VwYXJhdGVkLiIpOwogCiAgICAg
Ly8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9u
Y2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAzMjc0IGV4aXN0cy4KLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCB2aWV3cG9ydEVycm9yTWVzc2FnZUxldmVsKGVycm9y
Q29kZSksIG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVz
c2FnZVNvdXJjZSwgdmlld3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdl
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L1dlYktpdEJsb2JCdWlsZGVyLmNwcAppbmRleCA4MzEyYTU0N2M2Mjg4MDc1ZDE0MWY4NDczMDFj
NGI1NTJmNzhmZGRjLi5kMmI2YmVhYjU0NGZiNWNkNTBhMTRkZWJlZTlmMGM0NGI1N2FmNDY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcApAQCAtOTIs
NyArOTIsNyBAQCB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoY29uc3QgU3RyaW5nJiB0ZXh0LCBj
b25zdCBTdHJpbmcmIGVuZGluZ1R5cGUpCiB2b2lkIEJsb2JCdWlsZGVyOjphcHBlbmQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgQXJyYXlCdWZmZXIqIGFycmF5QnVmZmVyKQogewog
ICAgIFN0cmluZyBjb25zb2xlTWVzc2FnZSgiQXJyYXlCdWZmZXIgdmFsdWVzIGFyZSBkZXByZWNh
dGVkIGluIEJsb2IgQ29uc3RydWN0b3IuIFVzZSBBcnJheUJ1ZmZlclZpZXcgaW5zdGVhZC4iKTsK
LSAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgY29udGV4
dC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVs
LCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVt
ZXJhdGlvbigiV2ViQ29yZS5CbG9iLmNvbnN0cnVjdG9yLkFycmF5QnVmZmVyT3JWaWV3IiwgQmxv
YkNvbnN0cnVjdG9yQXJyYXlCdWZmZXIsIEJsb2JDb25zdHJ1Y3RvckFycmF5QnVmZmVyT3JWaWV3
TWF4KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHAKaW5kZXggNzMzODNlMDkzMjFjOGU3MGUwYzEwYzkyMDhiNGU2MjEyYTE4ZjI2ZS4uZGYyNzY0
MmNlZjRjNWIxOTFmNGYzNzQ0NjM4Yjg5MTllY2U2Y2NjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xNzQsNyArMTc0LDcgQEAgc3Rh
dGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1lbnQp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZWxlbWVudC0+ZG9jdW1lbnQoKS0+aXNT
YW5kYm94ZWQoU2FuZGJveEF1dG9tYXRpY0ZlYXR1cmVzKSkgewogICAgICAgICAvLyBGSVhNRTog
VGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0
aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhp
c3RzLgotICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1M
TWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tl
ZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1l
IGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBz
ZXQuIik7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhU
TUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXV0b2ZvY3VzaW5n
IG9uIGEgZm9ybSBjb250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQg
YW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIGlmIChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IGM2ZjE2ZTkwZmVl
MDYwZTlhYzc3MTI5MTVjYmE5MjA5NTc5NWVjYzguLjRmNzMxYTA5OTljOTMwYWZkYWQ0MjkwMWQ4
NDVjMzI2NDYxYzg4OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAK
QEAgLTI2MCw3ICsyNjAsNyBAQCBib29sIEhUTUxGb3JtRWxlbWVudDo6dmFsaWRhdGVJbnRlcmFj
dGl2ZWx5KEV2ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg
ICAgIFN0cmluZyBtZXNzYWdlKCJBbiBpbnZhbGlkIGZvcm0gY29udHJvbCB3aXRoIG5hbWU9JyVu
YW1lJyBpcyBub3QgZm9jdXNhYmxlLiIpOwogICAgICAgICAgICAgbWVzc2FnZS5yZXBsYWNlKCIl
bmFtZSIsIHVuaGFuZGxlZEFzc29jaWF0ZWRFbGVtZW50LT5uYW1lKCkpOwotICAgICAgICAgICAg
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgICAgICAgICBkb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsIG1lc3NhZ2UpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAKaW5kZXggOGQyYmVjOTk2ODQwNGU5
MzdkZjkyZWNiNzhkYzJlYmNiZWI3YjViMS4uNTU3YjkzMDZlNDNiM2I4MWUyMDc5NWU3MWQ1ZGRj
ODJlMmU4Zjc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAK
QEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3QKICAgICAgICAgU3RyaW5n
IGludmFsaWRUb2tlbnM7CiAgICAgICAgIHNldFNhbmRib3hGbGFncyh2YWx1ZS5pc051bGwoKSA/
IFNhbmRib3hOb25lIDogU2VjdXJpdHlDb250ZXh0OjpwYXJzZVNhbmRib3hQb2xpY3kodmFsdWUs
IGludmFsaWRUb2tlbnMpKTsKICAgICAgICAgaWYgKCFpbnZhbGlkVG9rZW5zLmlzTnVsbCgpKQot
ICAgICAgICAgICAgZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yIHdoaWxlIHBhcnNp
bmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1dGU6ICIgKyBpbnZhbGlkVG9rZW5zKTsKKyAgICAgICAg
ICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkVycm9yIHdoaWxlIHBhcnNpbmcgdGhlICdzYW5kYm94JyBhdHRyaWJ1
dGU6ICIgKyBpbnZhbGlkVG9rZW5zKTsKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gc2VhbWxlc3NB
dHRyKSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGFkZGluZyBvciByZW1vdmluZyB0aGUgc2VhbWxl
c3MgYXR0cmlidXRlLCB3ZSBuZWVkIHRvIGZvcmNlIHRoZSBjb250ZW50IGRvY3VtZW50IHRvIHJl
Y2FsY3VsYXRlIGl0cyBTdHlsZVJlc29sdmVyLgogICAgICAgICBpZiAoY29udGVudERvY3VtZW50
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCBmNWYyYjU2
M2ViMDI5NjVhYTA1Y2U5M2U0MTI3NjMzZGRhZDk5MmI1Li5mNDZmNTVkNTFiOTgyYTk3MjIwODhj
YTQyY2Y4YmI4MzY5YzEwZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
cmFja0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVu
dC5jcHAKQEAgLTIzMCw3ICsyMzAsNyBAQCBib29sIEhUTUxUcmFja0VsZW1lbnQ6OmNhbkxvYWRV
cmwoY29uc3QgS1VSTCYgdXJsKQogCiAgICAgaWYgKCFkb2N1bWVudCgpLT5jb250ZW50U2VjdXJp
dHlQb2xpY3koKS0+YWxsb3dNZWRpYUZyb21Tb3VyY2UodXJsKSkgewogICAgICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIlRleHQg
dHJhY2sgbG9hZCBkZW5pZWQgYnkgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuIikpKTsKLSAgICAg
ICAgZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNz
YWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICBMT0coTWVkaWEsICJIVE1MVHJhY2tFbGVt
ZW50OjpjYW5Mb2FkVXJsKCVzKSAtPiByZWplY3RlZCBieSBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eSIsIHVybEZvckxvZ2dpbmcodXJsKS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IGI0NWZmNDAwOTViNjEyOTJiMDMzODBmZWZj
OThjZDI3MTFjNjc0MjkuLjlmMWFjOGIzMjc5Y2I1NzNhZjE1NjFiNmVmY2FmNjU2NmVlNDg3ZTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmNwcApAQCAtMTkxNiw3ICsxOTE2LDcgQEAgUGFzc1JlZlB0cjxJbWFnZURh
dGE+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRhKEltYWdlQnVmZmVyOjpD
b29yZGkKIHsKICAgICBpZiAoIWNhbnZhcygpLT5vcmlnaW5DbGVhbigpKSB7CiAgICAgICAgIERF
RklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgi
VW5hYmxlIHRvIGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBo
YXMgYmVlbiB0YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRhLiIpKSk7Ci0gICAgICAgIGNhbnZh
cygpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBj
YW52YXMoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICBlYyA9IFNFQ1VSSVRZ
X0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggZDM5ZTJiYjg4ZWMz
MTJjMjY4Yzg2ZDQxOWQ5NmVmN2YxMTcxMDZjYi4uYTNmN2ZhYzU5MTA0NzQ1ZjZiM2IzODQ0MjI4
ODc1ZjhlZWY1MDcxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC01MjU1LDcgKzUyNTUsNyBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dDo6cHJpbnRXYXJuaW5nVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjYW52YXMoKS0+ZG9jdW1lbnQoKTsKICAg
ICBpZiAoIWRvY3VtZW50KQogICAgICAgICByZXR1cm47Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNv
bGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3Nh
Z2VMZXZlbCwgbWVzc2FnZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxN
ZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogYm9vbCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlRnJhbWVidWZmZXJGdW5jUGFyYW1ldGVycyhj
b25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gYXR0YWNo
bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKaW5kZXggOTNi
ZWNkOTkzN2UyOWQxOTE1NjM2ZTQzMzJkMzk1ZjcyMjJmMzhiMi4uYWNmY2MyZmI5ZTg0ZTI1YjVk
NWQ0MzkyOWI2Nzg5YzcwZjQ5ZGYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvWFNTQXVkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNT
QXVkaXRvci5jcHAKQEAgLTIzOSw3ICsyMzksNyBAQCB2b2lkIFhTU0F1ZGl0b3I6OmluaXQoKQog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKG1feHNzUHJvdGVjdGlvbiA9PSBYU1NQcm90ZWN0aW9u
SW52YWxpZCkgewotICAgICAgICAgICAgbV9wYXJzZXItPmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVl
ICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3Ry
aW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0
aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CisgICAgICAgICAgICBtX3BhcnNlci0+ZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkVycm9yIHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIgKyBoZWFkZXJWYWx1ZSAr
ICI6ICIgICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9zaXRpb24gIiArIFN0cmlu
Zzo6Zm9ybWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRlZmF1bHQgcHJvdGVjdGlv
bnMgd2lsbCBiZSBhcHBsaWVkLiIpOwogICAgICAgICAgICAgbV94c3NQcm90ZWN0aW9uID0gWFNT
UHJvdGVjdGlvbkVuYWJsZWQ7CiAgICAgICAgIH0KIApAQCAtMjkwLDcgKzI5MCw3IEBAIHZvaWQg
WFNTQXVkaXRvcjo6ZmlsdGVyVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKICAgICBpZiAoZGlkQmxv
Y2tTY3JpcHQpIHsKICAgICAgICAgLy8gRklYTUU6IENvbnNpZGVyIHVzaW5nIGEgbW9yZSBoZWxw
ZnVsIGNvbnNvbGUgbWVzc2FnZS4KICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcs
IGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBKYXZh
U2NyaXB0IHNjcmlwdC4gU291cmNlIGNvZGUgb2Ygc2NyaXB0IGZvdW5kIHdpdGhpbiByZXF1ZXN0
LlxuIikpKTsKLSAgICAgICAgbV9wYXJzZXItPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBjb25z
b2xlTWVzc2FnZSk7CisgICAgICAgIG1fcGFyc2VyLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7
CiAKICAgICAgICAgYm9vbCBkaWRCbG9ja0VudGlyZVBhZ2UgPSAobV94c3NQcm90ZWN0aW9uID09
IFhTU1Byb3RlY3Rpb25CbG9ja0VuYWJsZWQpOwogICAgICAgICBpZiAoZGlkQmxvY2tFbnRpcmVQ
YWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBl
cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjE5MGYxMTU4MjI3ZmU1YzljZTg4NDM2NmM0YmE3Y2Y3NTRlZjlmYzAKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmgKQEAgLTAs
MCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDb25zb2xlQVBJVHlwZXNfaAorI2Rl
ZmluZSBDb25zb2xlQVBJVHlwZXNfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gTWVz
c2FnZVR5cGUgeworICAgIExvZ01lc3NhZ2VUeXBlLAorICAgIERpck1lc3NhZ2VUeXBlLAorICAg
IERpclhNTE1lc3NhZ2VUeXBlLAorICAgIFRyYWNlTWVzc2FnZVR5cGUsCisgICAgU3RhcnRHcm91
cE1lc3NhZ2VUeXBlLAorICAgIFN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSwKKyAgICBF
bmRHcm91cE1lc3NhZ2VUeXBlLAorICAgIENsZWFyTWVzc2FnZVR5cGUsCisgICAgQXNzZXJ0TWVz
c2FnZVR5cGUsCisgICAgVGltaW5nTWVzc2FnZVR5cGUKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIENvbnNvbGVBUElUeXBlc19oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db25zb2xlTWVzc2FnZS5oCmluZGV4IGRlOWMwM2VkMDMyYTRiNjExYTcxMTgzOGU4Yzc2
NzhhMTIwZjgzNzQuLjZhMzhkMzQwYmRlZWQ4YTg3MWQ1Y2U1NWM2NzgwZjU3MmViYjQwNGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0zMSw2ICszMSw3
IEBACiAjaWZuZGVmIENvbnNvbGVNZXNzYWdlX2gKICNkZWZpbmUgQ29uc29sZU1lc3NhZ2VfaAog
CisjaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCiAjaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5o
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5o
CmluZGV4IDk3ZjMzZTVjMDVkMDc3ZGE3NzQ0ODkzYTc3OWQyYjA2ODFiMTc4MGYuLjg1OTFhMDM2
MGY0MTgyM2M1NWExYTA1OWM2NDkwMGZkMzkzYzM2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKKyNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKICNp
bmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYXNlQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKaW5kZXggYzRmYmZhNGE3MGQ4NmIzNjRm
MGRlZTNhOTEyZjU4OWMyYWYzNzE0Yy4uMGIxOWE3MTEyYjBlOGIzZWZhNGNlZDljNWI1ZGMwNzFk
MjM4ZGI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRl
YnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5oCkBAIC0zMSw2ICszMSw3IEBACiAjZGVmaW5lIEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnRfaAogCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpICYmIEVOQUJMRShJTlNQ
RUNUT1IpCisjaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCiAjaW5jbHVkZSAiQ29uc29sZVR5
cGVzLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JC
YXNlQWdlbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggMGM5ZDE3ZWIyYTdiYzBlNWM0OTY0NTQyNDM0NDZl
M2VmY2Q1OTYyMy4uN2NjOTc2ZDIxMDhlM2I1ZjMyZjgyN2EzZWNlZGY3N2RjN2Y3YWVjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5jcHAKQEAgLTM2LDYgKzM2LDggQEAKIAogI2luY2x1ZGUgIkNTU1J1bGUuaCIKICNpbmNs
dWRlICJDU1NTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKKyNpbmNs
dWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJE
YXRhYmFzZS5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRGF0YS5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4
IDk1OTUxMmI1OTI4NTkxNTM3NzU3YzE3YTg3Mzg3NWNiOGMyN2UzODcuLmIxN2JkMGM0YWM5ZmQz
N2Y1YzkxNzIyNzNmODViZjNiYmM5OWY4MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNk
ZWZpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uX2gKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9y
LmgiCisjaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCiAjaW5jbHVkZSAiQ29uc29sZVR5cGVz
LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAKaW5kZXgg
NmQ3MTg1YmM0OGE4MTZiYWRjODMwNGUxY2Q3YzZmZjRjMzk0N2Y3Yy4uMzlhM2YyNGMxZTlhYjNm
YWU5ZDkyM2ViMTA2Nzk1NzU4ZjU1YzljNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcApAQCAtMzQsNiArMzQsOCBAQAogI2lu
Y2x1ZGUgIkluc3BlY3RvclByb2ZpbGVyQWdlbnQuaCIKIAogI2luY2x1ZGUgIkNvbnNvbGUuaCIK
KyNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKKyNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIK
ICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0SG9z
dC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCmluZGV4IDg2OWY5MGY1NGE3NzI4ZTkwYjI5YmM5MWQyYzIzOThlYjZj
YWY4OWMuLmQ5YWE2N2FjYTVlZDMwNWMyNzFiNTc0N2Q5ODBiZjhlZGY1MDQ1MWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpIHsgfQogCi0gICAgdmlydHVhbCB2
b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIHsgfQorICAg
IHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIHsgfQogCiAgICAg
dmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpIHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25z
dCBTdHJpbmcmLCBGcmFtZSopIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCmluZGV4IDk3NDQxYjQxYjZhNmUyZTQyOWFlNTIxYmE0ZmE3NWZiZDZiMGQy
MzUuLmZhZjFlN2RhMjNkMTBjNDQzNGI4OWIzM2M2MGYyMzQ3N2Q2YjY5MTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMzM1LDcgKzMzNSw3IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OnN1Ym1pdEZvcm0oUGFzc1JlZlB0cjxGb3JtU3VibWlzc2lvbj4gc3VibWlzc2lvbikK
IAogICAgIGlmIChpc0RvY3VtZW50U2FuZGJveGVkKG1fZnJhbWUsIFNhbmRib3hGb3JtcykpIHsK
ICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBj
b25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgIkJsb2NrZWQgZm9ybSBzdWJtaXNzaW9uIHRvICciICsgc3VibWlzc2lvbi0+
YWN0aW9uKCkuc3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJv
eGVkIGFuZCB0aGUgJ2FsbG93LWZvcm1zJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgZm9ybSBzdWJtaXNzaW9uIHRvICciICsg
c3VibWlzc2lvbi0+YWN0aW9uKCkuc3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJh
bWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LWZvcm1zJyBwZXJtaXNzaW9uIGlzIG5vdCBz
ZXQuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE0MDYsNyArMTQwNiw3IEBAIHZv
aWQgRnJhbWVMb2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZChGcmFtZSogZnJhbWUsIGNvbnN0
IFN0cmluZyYgdXJsKQogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwg
cmVzb3VyY2U6ICIgKyB1cmwpOworICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiTm90IGFsbG93ZWQgdG8g
bG9hZCBsb2NhbCByZXNvdXJjZTogIiArIHVybCk7CiB9CiAKIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgRnJhbWVMb2FkZXI6OmluaXRpYWxSZXF1ZXN0KCkgY29uc3QKQEAgLTI5MjEsNyArMjkyMSw3
IEBAIGJvb2wgRnJhbWVMb2FkZXI6OnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRpb25z
KGNvbnN0IFN0cmluZyYgY29udGVudCwgY29uCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9IGVsc2UgewogICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJJbnZhbGlkICdYLUZyYW1lLU9w
dGlvbnMnIGhlYWRlciBlbmNvdW50ZXJlZCB3aGVuIGxvYWRpbmcgJyIgKyB1cmwuc3RyaW5nKCkg
KyAiJzogJyIgKyBjb250ZW50ICsgIicgaXMgbm90IGEgcmVjb2duaXplZCBkaXJlY3RpdmUuIFRo
ZSBoZWFkZXIgd2lsbCBiZSBpZ25vcmVkLiI7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIG1fZnJh
bWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC0zMjk0LDcgKzMyOTQsNyBAQCBGcmFtZSogY3JlYXRlV2luZG93KEZy
YW1lKiBvcGVuZXJGcmFtZSwgRnJhbWUqIGxvb2t1cEZyYW1lLCBjb25zdCBGcmFtZUxvYWRSZXF1
ZQogICAgIC8vIFNhbmRib3hlZCBmcmFtZXMgY2Fubm90IG9wZW4gbmV3IGF1eGlsaWFyeSBicm93
c2luZyBjb250ZXh0cy4KICAgICBpZiAoaXNEb2N1bWVudFNhbmRib3hlZChvcGVuZXJGcmFtZSwg
U2FuZGJveFBvcHVwcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQg
YmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgb3BlbmVy
RnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIG9wZW5pbmcgJyIgKyBy
ZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLnN0cmluZygpICsgIicgaW4gYSBuZXcgd2lu
ZG93IGJlY2F1c2UgdGhlIHJlcXVlc3Qgd2FzIG1hZGUgaW4gYSBzYW5kYm94ZWQgZnJhbWUgd2hv
c2UgJ2FsbG93LXBvcHVwcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAgICBvcGVu
ZXJGcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBvcGVuaW5nICciICsgcmVxdWVzdC5yZXNvdXJj
ZVJlcXVlc3QoKS51cmwoKS5zdHJpbmcoKSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRo
ZSByZXF1ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1
cHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCBlMjI0N2QyNTRjN2Y4NjA5
ZWY2ZWEyYTk3NzNiNWY5ZjdkMWI2OTVhLi5lNjdlZDU5MDQ2NzgwODgyODRjZjM2NDkwMjBlMTMx
ZGJhMDI4YzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTI4Miw3
ICsyODIsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJj
ZSogcmVzb3VyY2UpCiAgICAgICAgIGVycm9yRXZlbnRTZW5kZXIoKS5kaXNwYXRjaEV2ZW50U29v
bih0aGlzKTsKIAogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1l
c3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiBpbWFnZSBsb2FkIGRlbmllZCBieSBD
cm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKLSAgICAgICAgZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29u
c29sZU1lc3NhZ2UpOwogCiAgICAgICAgIEFTU0VSVCghbV9oYXNQZW5kaW5nTG9hZEV2ZW50KTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAppbmRleCA2
OTE0ZTkxNWI0MjJhYTc2YmNmYWY2NGE4MmZmOGJmMjEzYTMyMDgyLi5mMDc0MTg5ZGQwYzAyNWQw
MDlkZWMwZGVmOGJhNWZlMWJjMmQ2OTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFp
blJlc291cmNlTG9hZGVyLmNwcApAQCAtMzY3LDcgKzM2Nyw3IEBAIHZvaWQgTWFpblJlc291cmNl
TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcikKICAg
ICAgICAgaWYgKGZyYW1lTG9hZGVyKCktPnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRp
b25zKGNvbnRlbnQsIHIudXJsKCksIGlkZW50aWZpZXIoKSkpIHsKICAgICAgICAgICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclhGcmFtZU9wdGlvbnNEZW5pZWQobV9k
b2N1bWVudExvYWRlci0+ZnJhbWUoKSwgZG9jdW1lbnRMb2FkZXIoKSwgaWRlbnRpZmllcigpLCBy
KTsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiAr
IHIudXJsKCkuc3RyaW5nKCkgKyAiJyBpbiBhIGZyYW1lIGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1l
LU9wdGlvbnMnIHRvICciICsgY29udGVudCArICInLiI7Ci0gICAgICAgICAgICBtX2RvY3VtZW50
TG9hZGVyLT5mcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgaWRlbnRp
ZmllcigpKTsKKyAgICAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCktPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UsIGlkZW50aWZpZXIoKSk7CiAKICAgICAgICAgICAgIGNhbmNlbCgpOwogICAgICAg
ICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29u
dGVudENoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNr
ZXIuY3BwCmluZGV4IDM4MThkNWZiMDFhZTEyYTY0MzE1YzRhZmQ0OWM0MzhlYmU2OWQwYTEuLmI4
YzI5M2RjYjNiMzgwYzM5ZDVjZjQxODdkNTI1YjE5YmViMmI0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKQEAgLTEwMiw3ICsxMDIsNyBAQCB2
b2lkIE1peGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcoYm9vbCBhbGxvd2VkLCBjb25zdCBT
dHJpbmcmIGFjdGlvbiwgY29uc3QgSwogICAgIC8vIEZJWE1FOiBXaHkgZG9lcyB0aGlzIG1lc3Nh
Z2Ugbm90IGhhdmUgYSBzb3VyY2UgVVJMIG9yIGEgbGluZSBudW1iZXI/IHdlYmtpdC5vcmcvYi85
Nzk3OQogICAgIFN0cmluZyBtZXNzYWdlID0gU3RyaW5nOjpmb3JtYXQoIiVzVGhlIHBhZ2UgYXQg
JXMgJXMgaW5zZWN1cmUgY29udGVudCBmcm9tICVzLlxuIiwKICAgICAgICAgKGFsbG93ZWQgPyAi
IiA6ICJbYmxvY2tlZF0gIiksIGFzVVRGOChtX2ZyYW1lLT5kb2N1bWVudCgpLT51cmwoKSkuZGF0
YSgpLCBhY3Rpb24udXRmOCgpLmRhdGEoKSwgYXNVVEY4KHRhcmdldCkuZGF0YSgpKTsKLSAgICBt
X2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1fZnJh
bWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBXYXJu
aW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAppbmRleCA3ZTE0YjQzMzQ5
Yzg1MGExOTViNjZjMjU5MDYxMzZkOGI4MGY2ZjQwLi5mNmFlZjQ5ZjA5MGI5Nzc3ZTdkYmU5ZTYw
MTk5MWQyOGMyMDEyNmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRy
YWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVy
LmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpjb3JzUG9saWN5
UHJldmVudGVkTG9hZCgpCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNv
bGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJDcm9zcy1vcmlnaW4gdGV4dCB0cmFjayBsb2FkIGRl
bmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKICAgICBE
b2N1bWVudCogZG9jdW1lbnQgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCk7Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7
CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKICAgICBtX3N0YXRlID0gRmFpbGVkOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlR3JvdXAuY3BwCmluZGV4IDExOGVlMWE1ZDg1ZDM3MGQzNjUwNTVmMzE1ZTMwNmY4NmM0
YTIyMjYuLmFmMmM5NTJkYThkZGJhMDM5Zjk0NjY0NzMxMmEyZjlmMjNkODczNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
R3JvdXAuY3BwCkBAIC00NzQsNyArNDc0LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmFib3J0KEZyYW1lKiBmcmFtZSkKICAgICBpZiAobV9jb21wbGV0aW9uVHlwZSAhPSBOb25lKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgVGlwTWVzc2FnZUxldmVsLCAi
QXBwbGljYXRpb24gQ2FjaGUgZG93bmxvYWQgcHJvY2VzcyB3YXMgYWJvcnRlZC4iKTsKKyAgICBm
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBU
aXBNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBkb3dubG9hZCBwcm9jZXNzIHdhcyBh
Ym9ydGVkLiIpOwogICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiB9CiAKQEAgLTU2OCw3ICs1Njgs
NyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291
cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlcwogCiAgICAgaWYgKHJlc3BvbnNlLmh0dHBTdGF0
dXNDb2RlKCkgLyAxMDAgIT0gMiB8fCByZXNwb25zZS51cmwoKSAhPSBtX2N1cnJlbnRIYW5kbGUt
PmZpcnN0UmVxdWVzdCgpLnVybCgpKSB7CiAgICAgICAgIGlmICgodHlwZSAmIEFwcGxpY2F0aW9u
Q2FjaGVSZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291
cmNlOjpGYWxsYmFjaykpIHsKLSAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENv
bnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsg
bV9jdXJyZW50SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJpbmcoKSArIAorICAgICAg
ICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdl
U291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWls
ZWQsIGJlY2F1c2UgIiArIG1fY3VycmVudEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkuc3Ry
aW5nKCkgKyAKICAgICAgICAgICAgICAgICAoKHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAx
MDAgIT0gMikgPyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIgOiAiIHdhcyByZWRpcmVjdGVkLiIp
KTsKICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBjYWNoZVVwZGF0ZUZhaWxlZCgpIGNhbiBjYXVz
ZSB0aGUgY2FjaGUgZ3JvdXAgdG8gYmUgZGVsZXRlZC4KICAgICAgICAgICAgIGNhY2hlVXBkYXRl
RmFpbGVkKCk7CkBAIC02NDUsNyArNjQ1LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgZG91YmxlIGZpbmkKICAg
ICAvLyBGSVhNRTogU2hvdWxkIHdlIGJyZWFrIGVhcmxpZXIgYW5kIHByZXZlbnQgcmVkb3dubG9h
ZGluZyBvbiBsYXRlciBwYWdlIGxvYWRzPwogICAgIGlmIChtX29yaWdpblF1b3RhRXhjZWVkZWRQ
cmV2aW91c2x5ICYmIG1fYXZhaWxhYmxlU3BhY2VJblF1b3RhIDwgbV9jYWNoZUJlaW5nVXBkYXRl
ZC0+ZXN0aW1hdGVkU2l6ZUluU3RvcmFnZSgpKSB7CiAgICAgICAgIG1fY3VycmVudFJlc291cmNl
ID0gMDsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3Ro
ZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBs
aWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2Vl
ZGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShP
dGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUg
dXBkYXRlIGZhaWxlZCwgYmVjYXVzZSBzaXplIHF1b3RhIHdhcyBleGNlZWRlZC4iKTsKICAgICAg
ICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY3OCw3
ICs2NzgsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmFpbChSZXNvdXJjZUhh
bmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZUVycm9yJgogICAgIG1fcGVuZGluZ0VudHJpZXMu
cmVtb3ZlKHVybCk7CiAKICAgICBpZiAoKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6
OkV4cGxpY2l0KSB8fCAodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6RmFsbGJhY2sp
KSB7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVy
TWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGlj
YXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgdXJsLnN0cmluZygpICsgIiBj
b3VsZCBub3QgYmUgZmV0Y2hlZC4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFw
cGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2UgIiArIHVybC5zdHJpbmcoKSAr
ICIgY291bGQgbm90IGJlIGZldGNoZWQuIik7CiAgICAgICAgIC8vIE5vdGUgdGhhdCBjYWNoZVVw
ZGF0ZUZhaWxlZCgpIGNhbiBjYXVzZSB0aGUgY2FjaGUgZ3JvdXAgdG8gYmUgZGVsZXRlZC4KICAg
ICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICB9IGVsc2UgewpAQCAtNzA3LDEzICs3MDcs
MTMgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJlc3Bv
bnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgLyAxMDAgIT0gMikgewotICAgICAgICBtX2ZyYW1l
LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0
IGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAi
QXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuIik7CiAgICAg
ICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBp
ZiAocmVzcG9uc2UudXJsKCkgIT0gbV9tYW5pZmVzdEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJs
KCkpIHsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3Ro
ZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBs
aWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSBhIHJl
ZGlyZWN0aW9uIHdhcyBhdHRlbXB0ZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCkt
PmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVz
ZSBhIHJlZGlyZWN0aW9uIHdhcyBhdHRlbXB0ZWQuIik7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFp
bGVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MzMsNyArNzMzLDcgQEAgdm9pZCBB
cHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZEZpbmlzaExvYWRpbmdNYW5pZmVzdCgpCiAKICAgICBp
ZiAoIWlzVXBncmFkZUF0dGVtcHQgJiYgIW1fbWFuaWZlc3RSZXNvdXJjZSkgewogICAgICAgICAv
LyBUaGUgc2VydmVyIHJldHVybmVkIDMwNCBOb3QgTW9kaWZpZWQgZXZlbiB0aG91Z2ggd2UgZGlk
bid0IHNlbmQgYSBjb25kaXRpb25hbCByZXF1ZXN0LgotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5v
dCBiZSBmZXRjaGVkIGJlY2F1c2Ugb2YgYW4gdW5leHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNl
cnZlciByZXNwb25zZS4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0
aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkIGJlY2F1c2Ugb2YgYW4gdW5l
eHBlY3RlZCAzMDQgTm90IE1vZGlmaWVkIHNlcnZlciByZXNwb25zZS4iKTsKICAgICAgICAgY2Fj
aGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTc1OSw3ICs3NTks
NyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0
KCkKICAgICBNYW5pZmVzdCBtYW5pZmVzdDsKICAgICBpZiAoIXBhcnNlTWFuaWZlc3QobV9tYW5p
ZmVzdFVSTCwgbV9tYW5pZmVzdFJlc291cmNlLT5kYXRhKCktPmRhdGEoKSwgbV9tYW5pZmVzdFJl
c291cmNlLT5kYXRhKCktPnNpemUoKSwgbWFuaWZlc3QpKSB7CiAgICAgICAgIC8vIEF0IHRoZSB0
aW1lIG9mIHRoaXMgd3JpdGluZywgbGFjayBvZiAiQ0FDSEUgTUFOSUZFU1QiIHNpZ25hdHVyZSBp
cyB0aGUgb25seSByZWFzb24gZm9yIHBhcnNlTWFuaWZlc3QgdG8gZmFpbC4KLSAgICAgICAgbV9m
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5p
ZmVzdCBjb3VsZCBub3QgYmUgcGFyc2VkLiBEb2VzIGl0IHN0YXJ0IHdpdGggQ0FDSEUgTUFOSUZF
U1Q/Iik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90
aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBt
YW5pZmVzdCBjb3VsZCBub3QgYmUgcGFyc2VkLiBEb2VzIGl0IHN0YXJ0IHdpdGggQ0FDSEUgTUFO
SUZFU1Q/Iik7CiAgICAgICAgIGNhY2hlVXBkYXRlRmFpbGVkKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC05NDgsNyArOTQ4LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmNo
ZWNrSWZMb2FkSXNDb21wbGV0ZSgpCiAgICAgICAgICAgICAgICAgLy8gV2UgcmFuIG91dCBvZiBz
cGFjZSBmb3IgdGhpcyBvcmlnaW4uIEZhbGwgZG93biB0byB0aGUgbm9ybWFsIGVycm9yIGhhbmRs
aW5nCiAgICAgICAgICAgICAgICAgLy8gYWZ0ZXIgcmVjb3JkaW5nIHRoaXMgc3RhdGUuCiAgICAg
ICAgICAgICAgICAgbV9vcmlnaW5RdW90YUV4Y2VlZGVkUHJldmlvdXNseSA9IHRydWU7Ci0gICAg
ICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNh
dGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVk
LiIpOworICAgICAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBD
YWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIpOwog
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoZmFpbHVyZVJlYXNvbiA9PSBBcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZTo6VG90YWxRdW90YVJlYWNoZWQgJiYgIW1fY2FsbGVkUmVhY2hlZE1h
eEFwcENhY2hlU2l6ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNGZiYWY0NzdjNzUwZjEzZjhmZjY4YjEzNmJl
OTcxYmFkNTkxN2Q1Ny4uYzU4ZTIyMDU0NTA3MzU0MGYzZGNhNWU3YjZkZTRhM2ZlNjIyYWUyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC02NDEsNyArNjQxLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
cHJpbnRBY2Nlc3NEZW5pZWRNZXNzYWdlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKICAgICAgICAg
bWVzc2FnZSA9ICJVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCAiICsgdXJsLnN0cmluZygpICsg
IiBmcm9tIGZyYW1lIHdpdGggVVJMICIgKyBtX2RvY3VtZW50LT51cmwoKS5zdHJpbmcoKSArICIu
IERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC5cbiI7CiAKICAgICAvLyBG
SVhNRTogcHJvdmlkZSBsaW5lIG51bWJlciBhbmQgc291cmNlIFVSTC4KLSAgICBmcmFtZSgpLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgZnJhbWUoKS0+ZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNldEF1dG9M
b2FkSW1hZ2VzKGJvb2wgZW5hYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
Mzk1YWQ2ZTc2Mjk0ZTRhNzcwMDIzMzc3YjRjNjNmNDVhYjI1NGY1Zi4uYTMzY2JjYzExZWM5ZWYw
NzUwNzJmNTdhNTIzODdmOWZmNDIyY2E4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0yMyw2ICsyMyw3IEBACiAjZGVmaW5lIENocm9tZUNsaWVudF9oCiAKICNpbmNsdWRlICJB
WE9iamVjdENhY2hlLmgiCisjaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCiAjaW5jbHVkZSAi
Q29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJl
Y3Rpb24uaCIKQEAgLTEzNSw3ICsxMzYsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgPSAwOwogICAgICAgICAKLSAgICAg
ICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQg
bGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkgPSAwOworICAgICAgICB2aXJ0dWFs
IHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBz
b3VyY2VJRCkgPSAwOworICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgTWVzc2FnZVR5cGUg
dmFyaWFudCBvbmNlIGFsbCB0aGUgY2xpZW50cyBhcmUgdXBkYXRlZC4KKyAgICAgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VU
eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
bGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKKyAgICAgICAgeworICAgICAgICAg
ICAgYWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVy
LCBzb3VyY2VJRCk7CisgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVm
b3JlVW5sb2FkQ29uZmlybVBhbmVsKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVm
b3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRnJhbWUqIGZyYW1l
KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAppbmRleCA5NmMzY2UzZGRmNDg3MzAyNGZiYzhi
ZTI2NzQzNzZmOTcyMDRjZGRkLi5hM2Y2MTI3M2VlOWQxZjgxMGU2N2NhMTllMDdmNDBiYzhiYWM4
ODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKQEAgLTMxLDYgKzMxLDggQEAKIAogI2luY2x1
ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgorI2luY2x1ZGUgIkNvbnNv
bGVBUElUeXBlcy5oIgorI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgpAQCAt
MTM1LDcgKzEzNyw3IEBAIHN0YXRpYyB2b2lkIHByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJl
Zml4KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwKICAgICBwcmludGYoIiVzICVz
OiIsIHNvdXJjZVN0cmluZywgbGV2ZWxTdHJpbmcpOwogfQogCi12b2lkIENvbnNvbGU6OmFkZE1l
c3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyLCBEb2N1bWVudCogZG9jdW1lbnQpCit2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBEb2N1bWVudCogZG9jdW1lbnQp
CiB7CiAgICAgU3RyaW5nIHVybDsKICAgICBpZiAoZG9jdW1lbnQpCkBAIC0xNDYsMTUgKzE0OCwx
NSBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZQogICAgICAgICBpZiAoIXBhcnNlci0+aXNXYWl0
aW5nRm9yU2NyaXB0cygpICYmICFwYXJzZXItPmlzRXhlY3V0aW5nU2NyaXB0KCkpCiAgICAgICAg
ICAgICBsaW5lID0gcGFyc2VyLT5saW5lTnVtYmVyKCkub25lQmFzZWRJbnQoKTsKICAgICB9Ci0g
ICAgYWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCB1cmwsIGxpbmUsIDAs
IDAsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1l
c3NhZ2UsIHVybCwgbGluZSwgMCwgMCwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCi12b2lkIENv
bnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUs
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQordm9pZCBDb25zb2xlOjphZGRNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKLSAgICBhZGRNZXNz
YWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIFN0cmluZygpLCAwLCBjYWxsU3RhY2ss
IDApOworICAgIGFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgU3RyaW5nKCksIDAs
IGNhbGxTdGFjaywgMCk7CiB9CiAKLXZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291
cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgdXJsLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBTY3JpcHRTdGF0ZSogc3RhdGUs
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIENvbnNvbGU6OmFkZE1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHVybCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgU2NyaXB0U3RhdGUqIHN0YXRlLCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewogICAgIGlmIChtdXRlQ291bnQgJiYgc291
cmNlICE9IENvbnNvbGVBUElNZXNzYWdlU291cmNlKQogICAgICAgICByZXR1cm47CkBAIC0xNjMs
MTIgKzE2NSwxMiBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZQogICAgIGlmICghcGFnZSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5hZGRNZXNzYWdl
VG9Db25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHVybCk7
CisgICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5hZGRNZXNzYWdlVG9Db25zb2xlKHNvdXJj
ZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHVybCk7CiAKICAgICBpZiAoY2FsbFN0YWNr
KQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUo
cGFnZSwgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRl
bnRpZmllcik7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRv
Q29uc29sZShwYWdlLCBzb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwgbWVzc2FnZSwgY2Fs
bFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgZWxzZQotICAgICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgc291cmNlLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgdXJsLCBsaW5lTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIp
OworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUo
cGFnZSwgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZU51
bWJlciwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKIAogICAgIGlmICghQ29uc29sZTo6c2hv
dWxkUHJpbnRFeGNlcHRpb25zKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE3OSwxMSArMTgxLDEw
IEBAIHZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxlCiAgICAgcHJpbnRmKCIgJXNcbiIsIG1lc3NhZ2Uu
dXRmOCgpLmRhdGEoKSk7CiB9CiAKLXZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlVHlw
ZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IHBycEFyZ3VtZW50cywgYm9vbCBhY2NlcHROb0FyZ3VtZW50cywg
Ym9vbCBwcmludFRyYWNlKQorc3RhdGljIHZvaWQgaW50ZXJuYWxBZGRNZXNzYWdlKFBhZ2UqIHBh
Z2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgU2NyaXB0U3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gcHJwQXJndW1lbnRzLCBib29sIHByaW50
RXhjZXB0aW9ucywgYm9vbCBhY2NlcHROb0FyZ3VtZW50cyA9IGZhbHNlLCBib29sIHByaW50VHJh
Y2UgPSBmYWxzZSkKIHsKICAgICBSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMgPSBw
cnBBcmd1bWVudHM7CiAKLSAgICBQYWdlKiBwYWdlID0gdGhpcy0+cGFnZSgpOwogICAgIGlmICgh
cGFnZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xOTQsNyArMTk1LDcgQEAgdm9pZCBDb25zb2xl
OjphZGRNZXNzYWdlKE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgU2NyaXB0
U3RhdGUqIHN0YXQKICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2soY3JlYXRl
U2NyaXB0Q2FsbFN0YWNrKHN0YXRlLCBzdGFja1NpemUpKTsKICAgICBjb25zdCBTY3JpcHRDYWxs
RnJhbWUmIGxhc3RDYWxsZXIgPSBjYWxsU3RhY2stPmF0KDApOwogCi0gICAgaWYgKHNob3VsZFBy
aW50RXhjZXB0aW9ucygpKSB7CisgICAgaWYgKHByaW50RXhjZXB0aW9ucykgewogICAgICAgICBw
cmludFNvdXJjZVVSTEFuZExpbmUobGFzdENhbGxlci5zb3VyY2VVUkwoKSwgMCk7CiAgICAgICAg
IHByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KENvbnNvbGVBUElNZXNzYWdlU291cmNl
LCBsZXZlbCk7CiAKQEAgLTIxNiw3ICsyMTcsNyBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2Uo
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBTY3JpcHRTdGF0ZSogc3RhdAog
CiAgICAgU3RyaW5nIG1lc3NhZ2U7CiAgICAgaWYgKGFyZ3VtZW50cy0+Z2V0Rmlyc3RBcmd1bWVu
dEFzU3RyaW5nKG1lc3NhZ2UpKQotICAgICAgICBwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsIHR5cGUsIGxldmVsLCBt
ZXNzYWdlLCBsYXN0Q2FsbGVyLmxpbmVOdW1iZXIoKSwgbGFzdENhbGxlci5zb3VyY2VVUkwoKSk7
CisgICAgICAgIHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShD
b25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIGxhc3RDYWxsZXIubGluZU51
bWJlcigpLCBsYXN0Q2FsbGVyLnNvdXJjZVVSTCgpKTsKIAogICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlLCBDb25zb2xlQVBJTWVzc2FnZVNvdXJj
ZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHN0YXRlLCBhcmd1bWVudHMucmVsZWFzZSgpKTsKIH0K
QEAgLTIyOSw3ICsyMzAsNyBAQCB2b2lkIENvbnNvbGU6OmRlYnVnKFNjcmlwdFN0YXRlKiBzdGF0
ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBDb25zb2xl
OjplcnJvcihTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMpCiB7Ci0gICAgYWRkTWVzc2FnZShMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCks
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hv
dWxkUHJpbnRFeGNlcHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6OmluZm8oU2NyaXB0U3Rh
dGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpAQCAtMjM5
LDMyICsyNDAsMzIgQEAgdm9pZCBDb25zb2xlOjppbmZvKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBDb25zb2xlOjpsb2co
U2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
KQogewotICAgIGFkZE1lc3NhZ2UoTG9nTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3Rh
dGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVzc2Fn
ZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxkUHJpbnRFeGNl
cHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6Ondhcm4oU2NyaXB0U3RhdGUqIHN0YXRlLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1lc3NhZ2Uo
TG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOwor
ICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVz
c2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9
CiAKIHZvaWQgQ29uc29sZTo6ZGlyKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBhZGRNZXNzYWdlKERpck1lc3NhZ2VUeXBl
LCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVz
c2FnZShwYWdlKCksIERpck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1
bWVudHMsIHNob3VsZFByaW50RXhjZXB0aW9ucygpKTsKIH0KIAogdm9pZCBDb25zb2xlOjpkaXJ4
bWwoU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1l
bnRzKQogewotICAgIGFkZE1lc3NhZ2UoRGlyWE1MTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZl
bCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgRGly
WE1MTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxk
UHJpbnRFeGNlcHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6OmNsZWFyKFNjcmlwdFN0YXRl
KiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBh
ZGRNZXNzYWdlKENsZWFyTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3Vt
ZW50cywgdHJ1ZSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgQ2xlYXJNZXNzYWdl
VHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2Vw
dGlvbnMoKSwgdHJ1ZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6dHJhY2UoU2NyaXB0U3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1l
c3NhZ2UoVHJhY2VNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRz
LCB0cnVlLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdl
KHBhZ2UoKSwgVHJhY2VNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1l
bnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSwgdHJ1ZSwgc2hvdWxkUHJpbnRFeGNlcHRpb25z
KCkpOwogfQogCiB2b2lkIENvbnNvbGU6OmFzc2VydENvbmRpdGlvbihTY3JpcHRTdGF0ZSogc3Rh
dGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIGJvb2wgY29uZGl0aW9u
KQpAQCAtMjcyLDcgKzI3Myw3IEBAIHZvaWQgQ29uc29sZTo6YXNzZXJ0Q29uZGl0aW9uKFNjcmlw
dFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyCiAgICAgaWYgKGNv
bmRpdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgYWRkTWVzc2FnZShBc3NlcnRNZXNzYWdl
VHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHRydWUpOworICAgIGlu
dGVybmFsQWRkTWVzc2FnZShwYWdlKCksIEFzc2VydE1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxkUHJpbnRFeGNlcHRpb25zKCksIHRydWUpOwog
fQogCiB2b2lkIENvbnNvbGU6OmNvdW50KFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29uc29sZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgKaW5kZXggMTY2NzQ2
ZTUxZjg1Mjc5ODFiMmQzZDllYTYyYWFjNWVmZjlkYmViYy4uM2Q1M2E3NWNmNTUxMzY5NTQxODI3
M2ExY2YyNmZmM2E4NzE5Y2E3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25z
b2xlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgKQEAgLTI5LDYgKzI5LDcg
QEAKICNpZm5kZWYgQ29uc29sZV9oCiAjZGVmaW5lIENvbnNvbGVfaAogCisjaW5jbHVkZSAiQ29u
c29sZUFQSVR5cGVzLmgiCiAjaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAiRE9N
V2luZG93UHJvcGVydHkuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKQEAgLTU3LDkg
KzU4LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvbnNvbGU+IGNyZWF0ZShG
cmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDb25zb2xlKGZyYW1lKSk7IH0KICAg
ICB2aXJ0dWFsIH5Db25zb2xlKCk7CiAKLSAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+ID0gMCwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0
SWRlbnRpZmllciA9IDApOwotICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
bG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAsIERvY3VtZW50KiA9IDApOworICAgIHZvaWQgYWRk
TWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPik7CisgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlm
aWVyID0gMCwgRG9jdW1lbnQqID0gMCk7CiAKICAgICB2b2lkIGRlYnVnKFNjcmlwdFN0YXRlKiwg
UGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKICAgICB2b2lkIGVycm9yKFNjcmlwdFN0YXRl
KiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKQEAgLTk1LDcgKzk2LDYgQEAgcHVibGlj
OgogCiBwcml2YXRlOgogICAgIGlubGluZSBQYWdlKiBwYWdlKCkgY29uc3Q7Ci0gICAgdm9pZCBh
ZGRNZXNzYWdlKE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIFNjcmlwdFN0YXRlKiwgUGFzc1Jl
ZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBib29sIGFjY2VwdE5vQXJndW1lbnRzID0gZmFsc2UsIGJv
b2wgcHJpbnRUcmFjZSA9IGZhbHNlKTsKIAogICAgIGV4cGxpY2l0IENvbnNvbGUoRnJhbWUqKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKaW5kZXggYjM4MzQwMGNhMmNlZmY3ZjZlZTMw
ODJiYTNiMTNmNTEzMzg5YmYyMi4uNWJlY2YwNjM1MTQxYmJjZTZmMmZhNGJlMTI4NWVlMGU3YzRi
NTg0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oCkBAIC0zNywyMSArMzcsNiBAQCBl
bnVtIE1lc3NhZ2VTb3VyY2UgewogICAgIE90aGVyTWVzc2FnZVNvdXJjZSwKIH07CiAKLS8vIEZJ
WE1FOiBtYWtlIHRoaXMgZW51bSBwcml2YXRlIHRvIGluc3BlY3RvciwgcmVtb3ZlIGl0IGZyb20g
Y2xpZW50IGNhbGxiYWNrcy4KLS8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NjM3MQotZW51bSBNZXNzYWdlVHlwZSB7Ci0gICAgTG9nTWVzc2FnZVR5cGUsCi0gICAg
RGlyTWVzc2FnZVR5cGUsCi0gICAgRGlyWE1MTWVzc2FnZVR5cGUsCi0gICAgVHJhY2VNZXNzYWdl
VHlwZSwKLSAgICBTdGFydEdyb3VwTWVzc2FnZVR5cGUsCi0gICAgU3RhcnRHcm91cENvbGxhcHNl
ZE1lc3NhZ2VUeXBlLAotICAgIEVuZEdyb3VwTWVzc2FnZVR5cGUsCi0gICAgQ2xlYXJNZXNzYWdl
VHlwZSwKLSAgICBBc3NlcnRNZXNzYWdlVHlwZSwKLSAgICBUaW1pbmdNZXNzYWdlVHlwZQotfTsK
LQogZW51bSBNZXNzYWdlTGV2ZWwgewogICAgIFRpcE1lc3NhZ2VMZXZlbCwKICAgICBMb2dNZXNz
YWdlTGV2ZWwsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5j
cHAKaW5kZXggYjA1NjBlMzMyOGJlNjA2YzMzODA4MzA4OGRiN2EzYjY4ZjBhMTgwMy4uZmFkMTRk
NzdkODFkMTM4ODk3NWNjM2Q3MmZmNjZlMzZjNDMzZWQ2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMTY5Miw3ICsxNjkyLDcgQEAgdm9p
ZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydEludmFsaWRTb3VyY2VFeHByZXNzaW9uKGNv
bnN0IFN0cmluZyYgZGlyZWN0aXYKIAogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmxvZ1Rv
Q29uc29sZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwg
Y29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgU2NyaXB0U3RhdGUqIHN0YXRl
KSBjb25zdAogewotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCksIHN0YXRlKTsKKyAg
ICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5l
Lm9uZUJhc2VkSW50KCksIHN0YXRlKTsKIH0KIAogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OnJlcG9ydEJsb2NrZWRTY3JpcHRFeGVjdXRpb25Ub0luc3BlY3Rvcihjb25zdCBTdHJpbmcmIGRp
cmVjdGl2ZVRleHQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYjc5Nzcz
YjFkZjA0MmYwNWJmZTgxMjg0YzdkNjIyNTM5NDI3Yzc0MS4uOTdmNjYyN2EyYTYyMzI1NmRlMmQz
NDczYjUwMmUyZjZmYzBiNmRkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtODg3
LDcgKzg4Nyw3IEBAIHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaE1lc3NhZ2VFdmVudFdpdGhPcmln
aW5DaGVjayhTZWN1cml0eU9yaWdpbiogaW50ZW5kZWRUYXJnCiAgICAgICAgIGlmICghaW50ZW5k
ZWRUYXJnZXRPcmlnaW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGRvY3VtZW50KCktPnNlY3VyaXR5
T3JpZ2luKCkpKSB7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJVbmFibGUgdG8gcG9z
dCBtZXNzYWdlIHRvICIgKyBpbnRlbmRlZFRhcmdldE9yaWdpbi0+dG9TdHJpbmcoKSArCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICIuIFJlY2lwaWVudCBoYXMgb3JpZ2luICIgKyBkb2N1
bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpICsgIi5cbiI7Ci0gICAgICAgICAg
ICBjb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHN0YWNrVHJhY2UpOworICAgICAgICAgICAgY29u
c29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UsIHN0YWNrVHJhY2UpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
fQpAQCAtMTc2Miw3ICsxNzYyLDcgQEAgdm9pZCBET01XaW5kb3c6OnByaW50RXJyb3JNZXNzYWdl
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICBpZiAoc2V0dGluZ3MtPnByaXZhdGVCcm93c2lu
Z0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc29sZSgpLT5hZGRNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNz
YWdlKTsKKyAgICBjb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIFN0cmluZyBET01XaW5kb3c6OmNyb3NzRG9tYWlu
QWNjZXNzRXJyb3JNZXNzYWdlKERPTVdpbmRvdyogYWN0aXZlV2luZG93KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50U291cmNlLmNwcAppbmRleCA2MTAxNzAyMDg1Y2MyMzg3ZTMxYjVlMTkzYjljMzI5YTE4
NGVkY2E5Li40MDFkZjM2ZjNjM2ExODM2ZTNlNjcwYmEyYmQ2ZWI0ZWU5MTdkMjg1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmNwcApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgRXZlbnRT
b3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwCiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZChjaGFyc2V0KTsKICAgICAg
ICAgICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiXCIpIHRoYXQgaXMgbm90IFVURi04LiBBYm9y
dGluZyB0aGUgY29ubmVjdGlvbi4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlz
c2luZyB0aGUgc291cmNlIGxpbmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOwogICAgICAgICB9CiAgICAgfSBl
bHNlIHsKICAgICAgICAgLy8gVG8ga2VlcCB0aGUgc2lnbmFsLXRvLW5vaXNlIHJhdGlvIGxvdywg
d2Ugb25seSBsb2cgMjAwLXJlc3BvbnNlIHdpdGggYW4gaW52YWxpZCBNSU1FIHR5cGUuCkBAIC0y
MjUsNyArMjI1LDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2ln
bmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3AKICAgICAgICAgICAgIG1lc3Nh
Z2UuYXBwZW5kKHJlc3BvbnNlLm1pbWVUeXBlKCkpOwogICAgICAgICAgICAgbWVzc2FnZS5hcHBl
bmRMaXRlcmFsKCJcIikgdGhhdCBpcyBub3QgXCJ0ZXh0L2V2ZW50LXN0cmVhbVwiLiBBYm9ydGlu
ZyB0aGUgY29ubmVjdGlvbi4iKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgbWlzc2lu
ZyB0aGUgc291cmNlIGxpbmUuCi0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOworICAgICAgICAgICAgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCBtZXNzYWdlLnRvU3RyaW5nKCkpOwogICAgICAgICB9CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCmluZGV4IDM3NDdj
Y2IwOWM5Y2U1NmFiMjQzMTIxMjUxMGEzYTNiODMzMmNlMTIuLjgxMDRmYmQ2MDgyYTY3YjJhYmYx
YWQ5Yjk5OGI1NGIzMTBhM2E0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdE
b2N1bWVudEV4dGVuc2lvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVu
dEV4dGVuc2lvbnMuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBTVkdEb2N1bWVudEV4dGVu
c2lvbnM6OmRpc3BhdGNoU1ZHTG9hZEV2ZW50VG9PdXRlcm1vc3RTVkdFbGVtZW50cygpCiBzdGF0
aWMgdm9pZCByZXBvcnRNZXNzYWdlKERvY3VtZW50KiBkb2N1bWVudCwgTWVzc2FnZUxldmVsIGxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgaWYgKGRvY3VtZW50LT5mcmFtZSgp
KQotICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICBkb2N1bWVudC0+YWRkQ29u
c29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBsZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZXBvcnRXYXJuaW5nKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeS5jcHAKaW5kZXggY2ZmMGQ1ZmIxZjBkNWM0MGFkMTIzYzkyOWI0YmY0MDZm
N2JiY2MzNy4uZWM0MWQyMjNlNjZiMGZjZWMxZWM0ODkxMDg5NTUzMDMwNmJjZmIzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9y
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgcHVibGljOgogCiAgICAgLy8gV29ya2VyUmVw
b3J0aW5nUHJveHkKICAgICB2aXJ0dWFsIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0
KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwpOwotICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtl
ck9iamVjdChNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7
CisgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51
bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYp
OwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVJbnNwZWN0b3JTdGF0ZUNvb2tpZShjb25zdCBTdHJp
bmcmKTsKQEAgLTE4OCwxNiArMTg4LDE2IEBAIHZvaWQgU2hhcmVkV29ya2VyUHJveHk6OnBvc3RF
eGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwKICAgICAg
ICAgKCppdGVyKS0+cG9zdFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0RXhjZXB0aW9uVGFz
aywgZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsKIH0KIAotc3RhdGljIHZv
aWQgcG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBkb2N1bWVu
dCwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBs
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5z
aWduZWQgbGluZU51bWJlcikKK3N0YXRpYyB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRhc2soU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogZG9jdW1lbnQsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNz
YWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIpCiB7Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJl
cik7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3Nh
Z2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcik7CiB9CiAKLXZvaWQgU2hhcmVkV29ya2VyUHJveHk6
OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBTaGFyZWRX
b3JrZXJQcm94eTo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJj
ZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQg
bGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7CiAgICAgTXV0ZXhMb2NrZXIg
bG9jayhtX3dvcmtlckRvY3VtZW50c0xvY2spOwogICAgIGZvciAoSGFzaFNldDxEb2N1bWVudCo+
OjppdGVyYXRvciBpdGVyID0gbV93b3JrZXJEb2N1bWVudHMuYmVnaW4oKTsgaXRlciAhPSBtX3dv
cmtlckRvY3VtZW50cy5lbmQoKTsgKytpdGVyKQotICAgICAgICAoKml0ZXIpLT5wb3N0VGFzayhj
cmVhdGVDYWxsYmFja1Rhc2soJnBvc3RDb25zb2xlTWVzc2FnZVRhc2ssIHNvdXJjZSwgdHlwZSwg
bGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcikpOworICAgICAgICAoKml0ZXIp
LT5wb3N0VGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJnBvc3RDb25zb2xlTWVzc2FnZVRhc2ssIHNv
dXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlcikpOwogfQogCiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hh
cmVkV29ya2VyQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtl
ckNvbnRleHQuY3BwCmluZGV4IDc5OTcwMDJhY2FmODY5OWE0NWI5ODcyYzg1NWQ3Yjc3YjA1Y2Rl
ZTIuLmQyY2RiMzcyOWFkYmM0YTM3MTQwNDRhYWExM2ZkNDdiODRmNzhkYTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0LmNwcApAQCAtODEsNyArODEs
NyBAQCBTaGFyZWRXb3JrZXJUaHJlYWQqIFNoYXJlZFdvcmtlckNvbnRleHQ6OnRocmVhZCgpCiB2
b2lkIFNoYXJlZFdvcmtlckNvbnRleHQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVy
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQogewogICAgIFdvcmtlckNv
bnRleHQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGlu
ZU51bWJlciwgY2FsbFN0YWNrKTsKLSAgICBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKEpTTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3Nh
Z2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrKTsKKyAgICBhZGRNZXNzYWdlVG9X
b3JrZXJDb25zb2xlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGVycm9yTWVz
c2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjYWxsU3RhY2spOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAppbmRl
eCBjNjk3YzAwNzA5OGFiNDI0ZWUyYmRiNWI4NGZhOTU5Y2RjYjhmZjNlLi5jNGVjMjIyZjkxZTc5
NmViYmQzOWQ3ZDAzODZiZmQ3ZDhlMjlmZTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5jcHAKQEAgLTI3OSwzNCArMjc5LDM0IEBAIHZvaWQgV29ya2VyQ29udGV4dDo6
bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBT
dHJpCiAgICAgdGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdEV4Y2VwdGlvblRv
V29ya2VyT2JqZWN0KGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAot
dm9pZCBXb3JrZXJDb250ZXh0OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIFdvcmtlckNvbnRl
eHQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllcikKIHsKICAgICBpZiAoIWlzQ29udGV4dFRocmVhZCgpKSB7Ci0gICAgICAgIHBvc3RUYXNr
KEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3Nh
Z2UpKTsKKyAgICAgICAgcG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291
cmNlLCBsZXZlbCwgbWVzc2FnZSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHRocmVh
ZCgpLT53b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2Jq
ZWN0KHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIDAsIFN0cmluZygpKTsKKyAgICB0aHJl
YWQoKS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9i
amVjdChzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCAwLCBTdHJpbmcoKSk7CiAKLSAgICBhZGRNZXNz
YWdlVG9Xb3JrZXJDb25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIFN0cmluZygp
LCAwLCAwLCAwLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgYWRkTWVzc2FnZVRvV29ya2VyQ29u
c29sZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBTdHJpbmcoKSwgMCwgMCwgMCwgcmVxdWVzdElk
ZW50aWZpZXIpOwogfQogCi12b2lkIFdvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNv
dXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51
bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgU2NyaXB0U3RhdGUq
IHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBXb3JrZXJDb250
ZXh0OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVk
IGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIFNjcmlw
dFN0YXRlKiBzdGF0ZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKICAgICBp
ZiAoIWlzQ29udGV4dFRocmVhZCgpKSB7Ci0gICAgICAgIHBvc3RUYXNrKEFkZENvbnNvbGVNZXNz
YWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKKyAgICAgICAg
cG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCBsZXZlbCwgbWVz
c2FnZSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHRocmVhZCgpLT53b3JrZXJSZXBv
cnRpbmdQcm94eSgpLnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNvdXJjZSwgdHlw
ZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7Ci0gICAgYWRkTWVzc2Fn
ZVRvV29ya2VyQ29uc29sZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkws
IGxpbmVOdW1iZXIsIGNhbGxTdGFjaywgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICB0
aHJlYWQoKS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtl
ck9iamVjdChzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwor
ICAgIGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgc291
cmNlVVJMLCBsaW5lTnVtYmVyLCBjYWxsU3RhY2ssIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7
CiB9CiAKLXZvaWQgV29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBTY3JpcHRT
dGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIFdvcmtl
ckNvbnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IGNhbGxTdGFjaywgU2NyaXB0U3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJ
ZGVudGlmaWVyKQogewogICAgIEFTU0VSVChpc0NvbnRleHRUaHJlYWQoKSk7CiAgICAgaWYgKGNh
bGxTdGFjaykKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9D
b25zb2xlKHRoaXMsIHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgcmVx
dWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1l
c3NhZ2VUb0NvbnNvbGUodGhpcywgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3Nh
Z2UsIGNhbGxTdGFjaywgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIGVsc2UKLSAgICAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwg
dHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgc3RhdGUsIHJlcXVl
c3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNz
YWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdl
LCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAK
IGJvb2wgV29ya2VyQ29udGV4dDo6aXNDb250ZXh0VGhyZWFkKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNDk2ZDczNTg1NjNjNDhkOWZjZWIwZWE4Njk2
MzIwZjdkNDNhYmRlMi4uNGFiYzNiMmY0ZTA0MWE5N2ZlOWZlNjk4NzU2NDhiMGNjMmIxODkxNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKQEAgLTE0NSw3ICsxNDUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgYXBwbHlDb250ZW50U2VjdXJpdHlQ
b2xpY3lGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBs
b2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+KTsKLSAgICAgICAgdm9pZCBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllciA9IDApOworICAgICAgICB2b2lkIGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4sIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZp
ZXIgPSAwKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZTY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkgeyByZWYoKTsgfQpAQCAtMTU5LDggKzE1OSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBjb25zdCBLVVJMJiB2aXJ0dWFsVVJMKCkgY29u
c3Q7CiAgICAgICAgIHZpcnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwoY29uc3QgU3RyaW5n
JikgY29uc3Q7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+LCBTY3JpcHRTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyID0gMCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICAgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAKICAgICAgICAg
dmlydHVhbCBFdmVudFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IGMzNWQ4ZThhYTFk
ODlkOTg2NDJkNTkxMzBjNzgzN2FhZTdhOTUwZmYuLjM5ZjgyODkyMDBlNTE5Y2U4MTQ0YTBhNmVi
OGQwMGM5MmQzNTE3ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuY3BwCkBAIC0zMjcsMTggKzMyNywxNiBAQCB2b2lkIFdvcmtlck1lc3NhZ2lu
Z1Byb3h5Ojpwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZwogICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soV29ya2VyRXhjZXB0
aW9uVGFzazo6Y3JlYXRlKGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMLCB0aGlz
KSk7CiB9CiAKLXN0YXRpYyB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgV29ya2VyTWVzc2FnaW5nUHJveHkqIG1lc3NhZ2luZ1Byb3h5
LCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMKQorc3RhdGljIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVGFzayhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXb3JrZXJNZXNzYWdpbmdQcm94eSogbWVzc2Fn
aW5nUHJveHksIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpCiB7CiAgICAgaWYgKG1lc3NhZ2luZ1Byb3h5LT5hc2tlZFRvVGVybWluYXRlKCkpCiAg
ICAgICAgIHJldHVybjsKLSAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIHR5
cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpOworICAgIGNvbnRleHQt
PmFkZENvbnNvbGVNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGlu
ZU51bWJlcik7CiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RDb25zb2xlTWVz
c2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBl
LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6
cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7Ci0gICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
LT5wb3N0VGFzaygKLSAgICAgICAgY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3Nh
Z2VUYXNrLCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKHRoaXMpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNl
VVJMKSk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhjcmVhdGVDYWxs
YmFja1Rhc2soJnBvc3RDb25zb2xlTWVzc2FnZVRhc2ssIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3Mo
dGhpcyksIHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCkpOwog
fQogCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJUaHJlYWRDcmVhdGVkKFBhc3NS
ZWZQdHI8RGVkaWNhdGVkV29ya2VyVGhyZWFkPiB3b3JrZXJUaHJlYWQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggNzdiY2FiMmI2NjgwNzQw
ZGNhMTFkMTYwNWFkODYwNGU5OTExODIwMC4uZTg2OTI0ZTcxMjU4NGRlYWIwYzQ0MDgzZDhmZTZi
ODc0YjI3Y2M5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5n
UHJveHkuaApAQCAtNjgsNyArNjgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8v
IChPbmx5IHVzZSB0aGVzZSBtZXRob2RzIGluIHRoZSB3b3JrZXIgY29udGV4dCB0aHJlYWQuKQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlck9iamVjdChQYXNzUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJy
YXk+KTsKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChj
b25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYg
c291cmNlVVJMKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29y
a2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQg
bGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwogI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25z
dCBTdHJpbmcmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUluc3BlY3RvclN0YXRlQ29v
a2llKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJSZXBvcnRpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBv
cnRpbmdQcm94eS5oCmluZGV4IDgwNGFmMjE2NDBlZWY3M2M0NTEyNDQ2ZTAxNWNkMmI4YWI1MjNm
Y2MuLmJlMTkzNTA1MjFhOWY0MDU2YzJjMjBhMjdkZTI3NjkxNWU4NmM1MTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKQEAgLTQ1LDcgKzQ1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0RXhjZXB0
aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOwogCi0gICAgICAgIHZpcnR1YWwgdm9p
ZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlLCBNZXNzYWdl
VHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgcG9z
dENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCkgPSAwOwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCB1cGRhdGVJbnNwZWN0b3JTdGF0ZUNvb2tpZShjb25zdCBTdHJpbmcmKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCAyYTNhNTE3MmYzODZj
MTM5NmFlZThiNDVmNDY1ZjYxNTRjYTJhNDViLi5lNzUwYWI5NzY4N2QzZDliYjUxZDhkYzQ3YjRi
YjI3NzMyMjAwNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTE2
Myw3ICsxNjMsNyBAQCBzdGF0aWMgdm9pZCBsb2dDb25zb2xlRXJyb3IoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXNzYQogICAgICAgICByZXR1cm47CiAg
ICAgLy8gRklYTUU6IEl0J3Mgbm90IGdvb2QgdG8gcmVwb3J0IHRoZSBiYWQgdXNhZ2Ugd2l0aG91
dCBpbmRpY2F0aW5nIHdoYXQgc291cmNlIGxpbmUgaXQgY2FtZSBmcm9tLgogICAgIC8vIFdlIHNo
b3VsZCBwYXNzIGFkZGl0aW9uYWwgcGFyYW1ldGVycyBzbyB3ZSBjYW4gdGVsbCB0aGUgY29uc29s
ZSB3aGVyZSB0aGUgbWlzdGFrZSBvY2N1cnJlZC4KLSAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
bWVzc2FnZSk7CisgICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIFBhc3NSZWZQdHI8WE1MSHR0cFJl
cXVlc3Q+IFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4pCkBAIC02OTMs
NyArNjkzLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChET01Gb3JtRGF0YSogYm9keSwg
RXhjZXB0aW9uQ29kZSYgZWMpCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEFycmF5QnVmZmVy
KiBib2R5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBTdHJpbmcgY29uc29sZU1lc3NhZ2Uo
IkFycmF5QnVmZmVyIGlzIGRlcHJlY2F0ZWQgaW4gWE1MSHR0cFJlcXVlc3Quc2VuZCgpLiBVc2Ug
QXJyYXlCdWZmZXJWaWV3IGluc3RlYWQuIik7Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJu
aW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdl
TGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKIAogICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3Jh
bUVudW1lcmF0aW9uKCJXZWJDb3JlLlhIUi5zZW5kLkFycmF5QnVmZmVyT3JWaWV3IiwgWE1MSHR0
cFJlcXVlc3RTZW5kQXJyYXlCdWZmZXIsIFhNTEh0dHBSZXF1ZXN0U2VuZEFycmF5QnVmZmVyT3JW
aWV3TWF4KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JM
aWJ4c2x0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAK
aW5kZXggYTkxMjk4OGRhNjM4Y2NmODQyZTdiMTdhZjVlNDM0NDZlOGEzMmQyOC4uMGIyZmYxYmQy
M2EyNTRkZjg5OGRlMjE3ZTQ4OTMxMmRjMjBlOWExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBYU0xUUHJv
Y2Vzc29yOjpwYXJzZUVycm9yRnVuYyh2b2lkKiB1c2VyRGF0YSwgeG1sRXJyb3IqIGVycm9yKQog
ICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBjb25zb2xlLT5hZGRNZXNzYWdlKFhNTE1lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5m
aWxlLCBlcnJvci0+bGluZSk7CisgICAgY29uc29sZS0+YWRkTWVzc2FnZShYTUxNZXNzYWdlU291
cmNlLCBsZXZlbCwgZXJyb3ItPm1lc3NhZ2UsIGVycm9yLT5maWxlLCBlcnJvci0+bGluZSk7CiB9
CiAKIC8vIEZJWE1FOiBUaGVyZSBzZWVtcyB0byBiZSBubyB3YXkgdG8gY29udHJvbCB0aGUgY3R4
dCBwb2ludGVyIGZvciBsb2FkaW5nIGhlcmUsIHRodXMgd2UgaGF2ZSBnbG9iYWxzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JRdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFNMVFByb2Nlc3NvclF0LmNwcAppbmRleCAwYzQxNDBhOGQ3OWVkZWZhNTAyMzM1
ZmUwMTgzMTJmNDc1ZjE3MGY0Li42YmYzZjI0YzQzNDdjYzE5ZmU1Zjk2MjY3M2RjMDA3NDNmZTM5
OTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvclF0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvclF0LmNwcApAQCAtODQsNyArODQs
NyBAQCB2b2lkIFhTTFRNZXNzYWdlSGFuZGxlcjo6aGFuZGxlTWVzc2FnZShRdE1zZ1R5cGUgdHlw
ZSwgY29uc3QgUVN0cmluZyYgZGVzY3JpcHRpbwogICAgIH0KIAogICAgIENvbnNvbGUqIGNvbnNv
bGUgPSBtX2RvY3VtZW50LT5kb21XaW5kb3coKS0+Y29uc29sZSgpOwotICAgIGNvbnNvbGUtPmFk
ZE1lc3NhZ2UoWE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBkZXNjcmlw
dGlvbiwgc291cmNlTG9jYXRpb24udXJpKCkudG9TdHJpbmcoKSwgc291cmNlTG9jYXRpb24ubGlu
ZSgpKTsKKyAgICBjb25zb2xlLT5hZGRNZXNzYWdlKFhNTE1lc3NhZ2VTb3VyY2UsIGxldmVsLCBk
ZXNjcmlwdGlvbiwgc291cmNlTG9jYXRpb24udXJpKCkudG9TdHJpbmcoKSwgc291cmNlTG9jYXRp
b24ubGluZSgpKTsKIH0KIAogY2xhc3MgWFNMVFVyaVJlc29sdmVyIDogcHVibGljIFFBYnN0cmFj
dFVyaVJlc29sdmVyIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCBl
ODJlMWIyYTIyNmQ3YjNjYTJmNzAwMjU5OGRkYWQyYzg5NWU0ZGE0Li40MDM5NjkyMGJkYjhkNmJk
MDY4ZGRlM2RlYjg5ODcwYzE2MDc1MTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVy
cnkuY3BwCkBAIC04OSw3ICs4OSw3IEBAIENocm9tZUNsaWVudEJsYWNrQmVycnk6OkNocm9tZUNs
aWVudEJsYWNrQmVycnkoV2ViUGFnZVByaXZhdGUqIHBhZ2VQcml2YXRlKQogewogfQogCi12b2lk
IENocm9tZUNsaWVudEJsYWNrQmVycnk6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNp
Z25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKK3ZvaWQgQ2hyb21l
Q2xpZW50QmxhY2tCZXJyeTo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29u
c3QgU3RyaW5nJiBzb3VyY2VJRCkKIHsKICNpZiAhZGVmaW5lZChQVUJMSUNfQlVJTEQpIHx8ICFQ
VUJMSUNfQlVJTEQKICAgICBpZiAobV93ZWJQYWdlUHJpdmF0ZS0+bV9kdW1wUmVuZGVyVHJlZSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKaW5kZXggZTEyOWY0NTg0MjE5NmJhNWU2
NTFjNWUwZDg1NmY5ZTJhYmJiZTg1YS4uZTFkOTkzN2ZkNDI2NmZjOWExMmM2ZWYwYTZiYThjODQ0
ZGZiN2VlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oCkBAIC02MSw3ICs2MSw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVudWJhclZpc2libGUoYm9vbCk7CiAg
ICAgdmlydHVhbCBib29sIG1lbnViYXJWaXNpYmxlKCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFJl
c2l6YWJsZShib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VJRCk7CiAgICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENv
bmZpcm1QYW5lbCgpOwogICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwoY29uc3QgU3RyaW5nJiwgRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3dT
b29uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTaGFy
ZWRXb3JrZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNoYXJl
ZFdvcmtlckNsaWVudC5oCmluZGV4IDI0MGZlNzZlODZmMTY0YmYxMzFlYjZhNWJmMmMyNGU0OTQ2
MDRkMWEuLmI3NWVjN2ZjMWZjNjlkZmY4ZGU5NGY3N2ZlYmRhN2Q1NTQyY2Q3NmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNoYXJlZFdvcmtlckNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNoYXJlZFdvcmtlckNsaWVu
dC5oCkBAIC01NiwxNiArNTYsMjMgQEAgcHVibGljOgogICAgICAgICBjb25zdCBXZWJTdHJpbmcm
IGVycm9yU3RyaW5nLCBpbnQgbGluZU51bWJlciwKICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBz
b3VyY2VVUkwpID0gMDsKIAotICAgIC8vIEZJWE1FOiB0aGUgYmVsb3cgaXMgZm9yIGNvbXBhdGli
aWxpdHkgb25seSBhbmQgc2hvdWxkIGJlCi0gICAgLy8gcmVtb3ZlZCBvbmNlIENocm9taXVtIGlz
IHVwZGF0ZWQgdG8gcmVtb3ZlIG1lc3NhZ2UKLSAgICAvLyBkZXN0aW5hdGlvbiBwYXJhbWV0ZXIg
PGh0dHA6Ly93ZWJraXQub3JnL2IvMzcxNTU+LgotICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29s
ZU1lc3NhZ2VUb1dvcmtlck9iamVjdChpbnQsIGludCBzb3VyY2VJZGVudGlmaWVyLCBpbnQgbWVz
c2FnZVR5cGUsIGludCBtZXNzYWdlTGV2ZWwsCisgICAgLy8gRklYTUU6IHRoZSB0d28gYmVsb3cg
YXJlIGZvciBjb21wYXRpYmlsaXR5IG9ubHkgYW5kIHNob3VsZCBiZSByZW1vdmVkCisgICAgLy8g
b25jZSBDaHJvbWl1bSBpcyB1cGRhdGVkIHRvIHJlbW92ZSBtZXNzYWdlIGRlc3RpbmF0aW9uIHBh
cmFtZXRlcgorICAgIC8vIDxodHRwOi8vd2Via2l0Lm9yZy9iLzM3MTU1PiBhbmQgdGhlIG1lc3Nh
Z2UgdHlwZSBwYXJhbWV0ZXIKKyAgICAvLyA8aHR0cDovL3dlYmtpdC5vcmcvYi82NjM3MT4uCisg
ICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCwgaW50
IHNvdXJjZUlkZW50aWZpZXIsIGludCwgaW50IG1lc3NhZ2VMZXZlbCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBtZXNz
YWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgV2ViU3RyaW5nJiBzb3VyY2VVUkwpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoaW50IHNvdXJj
ZUlkZW50aWZpZXIsIGludCwgaW50IG1lc3NhZ2VMZXZlbCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlLCBp
bnQgbGluZU51bWJlciwgY29uc3QgV2ViU3RyaW5nJiBzb3VyY2VVUkwpCisgICAgeworICAgICAg
ICBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCgwLCBzb3VyY2VJZGVudGlmaWVyLCAw
LCBtZXNzYWdlTGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CisgICAgfQogCi0gICAgdmlydHVhbCB2
b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCBzb3VyY2VJZGVudGlmaWVy
LCBpbnQgbWVzc2FnZVR5cGUsIGludCBtZXNzYWdlTGV2ZWwsCisgICAgdmlydHVhbCB2b2lkIHBv
c3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCBzb3VyY2VJZGVudGlmaWVyLCBpbnQg
bWVzc2FnZUxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBX
ZWJTdHJpbmcmIHNvdXJjZVVSTCkKICAgICB7Ci0gICAgICAgIHBvc3RDb25zb2xlTWVzc2FnZVRv
V29ya2VyT2JqZWN0KDAsIHNvdXJjZUlkZW50aWZpZXIsIG1lc3NhZ2VUeXBlLCBtZXNzYWdlTGV2
ZWwsCisgICAgICAgIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KDAsIHNvdXJjZUlk
ZW50aWZpZXIsIG1lc3NhZ2VMZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggNTZl
MTdmNzU1NDc5YjVlN2NmOWI0NDkxOGM1OWJlZmEwNjkxOGFkMi4uMTA3YzQ2YTRmOGU1Yjg3Mjg5
YWM3NmY3MmNkZDFjZGU0YmE4ZjM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTM5Miw3ICszOTIsNiBAQCB2b2lkIENocm9tZUNs
aWVudEltcGw6OnNldFJlc2l6YWJsZShib29sIHZhbHVlKQogfQogCiB2b2lkIENocm9tZUNsaWVu
dEltcGw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVR5cGUgdHlwZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlTGV2ZWwgbGV2
ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGxpbmVOdW1iZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9DaHJvbWVDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgKaW5kZXggNzcwODRmODAxMDJmNjIzN2I2NzgyZGM4YjYwZmNjMmNlMjY2
OTUyMC4uMDU1OWZkMzc3YzRhYzhjODY2NmE5OTA4ODczNDkxZDE5Y2M3MmI2MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAtOTcsNyArOTcs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIG1lbnViYXJWaXNpYmxlKCk7CiAgICAgdmly
dHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZSgKLSAgICAgICAgV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVz
c2FnZVR5cGUsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwKKyAgICAgICAgV2ViQ29yZTo6TWVzc2Fn
ZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLAogICAgICAgICBjb25zdCBXVEY6OlN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwKICAgICAgICAgY29uc3QgV1RGOjpTdHJp
bmcmIHNvdXJjZUlEKTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmly
bVBhbmVsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApp
bmRleCA1ZWUxMzZhOGU2MjMxY2E0N2I5ZjEyMGI1NDE3NjA2NWNjYzkwMjQ3Li5mOTQzZjViOGY0
ZDA4MDMzYTBjZWRiZWRlYmFmZTkyMGRkNzdkOGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTg0Miw3ICs4NDIsNyBAQCB2b2lkIFdlYkZyYW1l
SW1wbDo6YWRkTWVzc2FnZVRvQ29uc29sZShjb25zdCBXZWJDb25zb2xlTWVzc2FnZSYgbWVzc2Fn
ZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIHdlYkNv
cmVNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UudGV4dCk7CisgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCB3ZWJDb3JlTWVzc2FnZUxldmVs
LCBtZXNzYWdlLnRleHQpOwogfQogCiB2b2lkIFdlYkZyYW1lSW1wbDo6Y29sbGVjdEdhcmJhZ2Uo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1w
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcApp
bmRleCA3NDkyOWE2ZDAzNDk4MTQ5NTYyMjQ3NThjMDY2ZDA5YTE1ZTAwNmYxLi5lY2JkYTM3OThj
YThlMDlhNGQ3ZGNkZjM0NTc0NWJhMDk3NzYxNTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcApAQCAtODUsNyArODUsNyBAQCBwcml2YXRl
OgogICAgICAgICBtX3BvcHVwLT53aWRnZXRDbGllbnQoKS0+c2V0V2luZG93UmVjdChtX3BvcHVw
LT5tX3dpbmRvd1JlY3RJblNjcmVlbik7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJikgT1ZFUlJJREUKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
bGluZU51bWJlciwgY29uc3QgU3RyaW5nJikgT1ZFUlJJREUKICAgICB7CiAjaWZuZGVmIE5ERUJV
RwogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNPTlNPTEUgTUVTU1NBR0U6JXU6ICVzXG4iLCBs
aW5lTnVtYmVyLCBtZXNzYWdlLnV0ZjgoKS5kYXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRXb3JrZXJJbXBsLmNwcAppbmRleCAxMTlkOWFjYjY5OTRi
ZDk3NmYwNGM2NjE5MjQyNDk4MWYyNGRiZDMzLi4zMTA5Yzc1ZDNmYjRhN2E4NDFhYjQ2ZGUzMGRj
OWYxYTY4ZTVkOTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
aGFyZWRXb3JrZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
aGFyZWRXb3JrZXJJbXBsLmNwcApAQCAtMjAzLDMwICsyMDMsMjUgQEAgdm9pZCBXZWJTaGFyZWRX
b3JrZXJJbXBsOjpwb3N0RXhjZXB0aW9uVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LAogfQogCiB2b2lkIFdlYlNoYXJlZFdvcmtlckltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRv
V29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlVHlwZSB0eXBlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBNZXNzYWdlTGV2ZWwgbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxp
bmVOdW1iZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewotICAgIFdlYldvcmtlckJh
c2U6OmRpc3BhdGNoVGFza1RvTWFpblRocmVhZChjcmVhdGVDYWxsYmFja1Rhc2soJnBvc3RDb25z
b2xlTWVzc2FnZVRhc2ssIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3ModGhpcyksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSwgdHlwZSwgbGV2ZWwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UsIGxpbmVO
dW1iZXIsIHNvdXJjZVVSTCkpOworICAgIFdlYldvcmtlckJhc2U6OmRpc3BhdGNoVGFza1RvTWFp
blRocmVhZChjcmVhdGVDYWxsYmFja1Rhc2soJnBvc3RDb25zb2xlTWVzc2FnZVRhc2ssIEFsbG93
Q3Jvc3NUaHJlYWRBY2Nlc3ModGhpcyksIHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1i
ZXIsIHNvdXJjZVVSTCkpOwogfQogCiB2b2lkIFdlYlNoYXJlZFdvcmtlckltcGw6OnBvc3RDb25z
b2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJTaGFyZWRXb3JrZXJJ
bXBsKiB0aGlzUHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBzb3VyY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHR5cGUsIGludCBsZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBtZXNzYWdlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsaW5lTnVt
YmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIGlmICghdGhpc1B0ci0+Y2xpZW50KCkpCiAg
ICAgICAgIHJldHVybjsKLSAgICB0aGlzUHRyLT5jbGllbnQoKS0+cG9zdENvbnNvbGVNZXNzYWdl
VG9Xb3JrZXJPYmplY3Qoc291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlLCBsZXZlbCwgbWVzc2FnZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGluZU51bWJlciwgc291cmNlVVJMKTsKKyAgICB0aGlzUHRyLT5jbGllbnQoKS0+cG9zdENvbnNv
bGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJl
ciwgc291cmNlVVJMKTsKIH0KIAogdm9pZCBXZWJTaGFyZWRXb3JrZXJJbXBsOjpwb3N0TWVzc2Fn
ZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRXb3JrZXJJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRXb3JrZXJJbXBsLmgKaW5kZXggNDA0MTU5MmI1Y2Vh
YTZlNmE1YjE5YWM2MmIwZmQ2MDZhODUzZmM2ZS4uNDkxMjExZTU0ZDZmM2YwNGRlOWU3OTRjZTE4
NTIwMWQzN2Y1ZTI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
U2hhcmVkV29ya2VySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNo
YXJlZFdvcmtlckltcGwuaApAQCAtNzQsOCArNzQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdCgKICAgICAgICAgY29uc3QgV1RGOjpTdHJp
bmcmLCBpbnQsIGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25z
b2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KAotICAgICAgICBXZWJDb3JlOjpNZXNzYWdlU291cmNl
LCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwKLSAgICAgICAgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBj
b25zdCBXVEY6OlN0cmluZyYsIGludCwgY29uc3QgV1RGOjpTdHJpbmcmKTsKKyAgICAgICAgV2Vi
Q29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLAorICAgICAgICBjb25z
dCBXVEY6OlN0cmluZyYsIGludCwgY29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZv
aWQgcG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3IoY29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlSW5zcGVjdG9yU3RhdGVDb29raWUoY29uc3QgV1RGOjpTdHJpbmcm
KTsKICAgICB2aXJ0dWFsIHZvaWQgY29uZmlybU1lc3NhZ2VGcm9tV29ya2VyT2JqZWN0KGJvb2wp
OwpAQCAtMTQ2LDcgKzE0Niw2IEBAIHByaXZhdGU6CiAgICAgICAgIFdlYkNvcmU6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLAogICAgICAgICBXZWJTaGFyZWRXb3JrZXJJbXBsKiB0aGlzUHRyLAog
ICAgICAgICBpbnQgc291cmNlLAotICAgICAgICBpbnQgdHlwZSwKICAgICAgICAgaW50IGxldmVs
LAogICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgaW50IGxpbmVO
dW1iZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJD
bGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVu
dEltcGwuY3BwCmluZGV4IDJjMGZiOWFjODA5YTA5NjU4ZDM1NGIwMzkyOWMxYjBhYmMyMDhmNzAu
LmNmN2UwZDJmMDlkYzBiOTY5ZmU2M2M0NmUxMGUyMzNkNDY2NzQyOWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwCkBAIC0xODcs
OSArMTg3LDkgQEAgdm9pZCBXZWJXb3JrZXJDbGllbnRJbXBsOjpwb3N0RXhjZXB0aW9uVG9Xb3Jr
ZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UKICAgICBtX3Byb3h5LT5wb3N0RXhj
ZXB0aW9uVG9Xb3JrZXJPYmplY3QoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
OwogfQogCi12b2lkIFdlYldvcmtlckNsaWVudEltcGw6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29y
a2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdl
TGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBXZWJXb3JrZXJDbGllbnRJbXBsOjpwb3N0Q29uc29s
ZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVs
IGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCkKIHsKLSAgICBtX3Byb3h5LT5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtl
ck9iamVjdChzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VV
UkwpOworICAgIG1fcHJveHktPnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNvdXJj
ZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAKIHZvaWQgV2Vi
V29ya2VyQ2xpZW50SW1wbDo6d29ya2VyQ29udGV4dERlc3Ryb3llZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmgKaW5kZXggZjY3NzkwODNi
ZGJkM2Y2NTc1NWJjZDUwYTUyNmJlMmEwMTYyNGRiOC4uMzgxYTQ5NWJhZjRmNmFmODRhMTE0MjBj
YzU0NWMyNGUzMDIwM2E4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViV29ya2VyQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YldvcmtlckNsaWVudEltcGwuaApAQCAtOTIsNyArOTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJPYmplY3QoUGFzc1JlZlB0cjxXZWJDb3JlOjpTZXJp
YWxpemVkU2NyaXB0VmFsdWU+LCBQYXNzT3duUHRyPFdlYkNvcmU6Ok1lc3NhZ2VQb3J0Q2hhbm5l
bEFycmF5PikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtl
ck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29u
c29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3Jl
OjpNZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLAorICAgIHZpcnR1YWwgdm9pZCBw
b3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBX
ZWJDb3JlOjpNZXNzYWdlTGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNv
bnN0IFN0cmluZyYgc291cmNlVVJMKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY29uZmly
bU1lc3NhZ2VGcm9tV29ya2VyT2JqZWN0KGJvb2wpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCByZXBvcnRQZW5kaW5nQWN0aXZpdHkoYm9vbCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRleCAwZmUw
ZmZhYjY3N2Y4YTA4OWZjNGM1OTAyODc3MDVkMzY2NmFlMmJiLi41ZWY1ZTY4ZTdhYjA1YzY5NTBk
MWVhMDg3YmM4NzYwZmI0M2MwZjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKQEAgLTI3Myw3ICsyNzMsNyBAQCBib29s
IENocm9tZUNsaWVudEVmbDo6cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgRnJhbWUqCiAgICAgcmV0dXJuIHJ1bkphdmFTY3JpcHRDb25maXJtKGZyYW1l
LCBtZXNzYWdlKTsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRFZmw6OmFkZE1lc3NhZ2VUb0NvbnNv
bGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLAordm9pZCBDaHJvbWVDbGllbnRFZmw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGluZU51bWJl
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKIHsKICAgICBld2tfdmlld19hZGRfY29uc29sZV9t
ZXNzYWdlKG1fdmlldywgbWVzc2FnZS51dGY4KCkuZGF0YSgpLCBsaW5lTnVtYmVyLCBzb3VyY2VJ
RC51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggYWIxMDc3OGZhOTViODkxMzcyYjM5NmU3N2NjYzI5
MTkzOGE4Mjg4ZS4uYjkyZDJjYzA2YWUyMGZhOTg5ZWM1NWM1NzIzOGIxMTBmNzM1Nzg4MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZs
LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZs
LmgKQEAgLTg1LDcgKzg1LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6
YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBz
b3VyY2VJRCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBh
bmVsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmNwcAppbmRleCA2MTUyZjUwODBiZmJkZWM5Y2U0NDFjOWMzOTE1MDJiMjAwMTk5
OTg1Li41OGYxZWQxYTI4MmVkNTliNDQxMzQ3YjM0ZjY2ODA5ODQyMTQ2ODFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAK
QEAgLTMyNyw3ICszMjcsNyBAQCBib29sIENocm9tZUNsaWVudDo6cnVuQmVmb3JlVW5sb2FkQ29u
ZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBXZWJDbwogICAgIHJldHVybiBy
dW5KYXZhU2NyaXB0Q29uZmlybShmcmFtZSwgbWVzc2FnZSk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xp
ZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2Ugc291cmNlLCBX
ZWJDb3JlOjpNZXNzYWdlVHlwZSB0eXBlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNv
bnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3Qg
V1RGOjpTdHJpbmcmIHNvdXJjZUlkKQordm9pZCBDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSBzb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJZCkKIHsKICAgICBnYm9vbGVhbiByZXR2YWw7CiAg
ICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKG1fd2ViVmlldywgImNvbnNvbGUtbWVzc2FnZSIsIG1l
c3NhZ2UudXRmOCgpLmRhdGEoKSwgbGluZU51bWJlciwgc291cmNlSWQudXRmOCgpLmRhdGEoKSwg
JnJldHZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEd0ay5oCmluZGV4IDQ0YzIxMWFkNDYyODdlZmZkNzQzMDRjMDJkY2M2ZGIzMGZhZjYw
M2MuLjVjOTJlMDlkNjNjZTk1MWZkZmMxZDY0NTQ4NmYxNjFhYWIyNGI2NDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCkBAIC04
Miw5ICs4Miw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBz
ZXRSZXNpemFibGUoYm9vbCk7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0Nv
bnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
V1RGOjpTdHJpbmcmIG1lc3NhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNl
SUQpOworICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291
cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSUQpOwogCiAgICAgICAgIHZpcnR1
YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKTsKICAgICAgICAgdmlydHVh
bCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVz
c2FnZSwgRnJhbWUqIGZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNzA3MzQ5YzViZDY1MjVhMzU4NzdhZTJhYmYy
ZTMwZWY4ZDdjZjViMS4uMGMxOTk5YTgzZDYyZTM1ZWYwNzgyYzUwOTNlNDEyMmFhMmI0ZDEzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKQEAgLTc0LDcgKzc0LDcgQEAgcHVibGljOgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBz
ZXRSZXNpemFibGUoYm9vbCkgT1ZFUlJJREU7CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIGFkZE1l
c3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5
cGUsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVu
c2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlVVJMKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNz
YWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlVVJMKSBP
VkVSUklERTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBh
bmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSopIE9WRVJSSURF
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCmluZGV4IDg2MGE5MzM4NmZiM2RhODRkZTk1YmRjNGViNGY1ZWM2ZTJlZDdmN2QuLjY0
OTg5MDU1ZmYyYTRhZDdkNWQyYzE3NjQ4MTM4ZWVlNTA0NjczZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTk3LDE3
ICs5Nyw2IEBAIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU5ldHdvcmtNZXNzYWdlU291cmNl
ID0gQCJOZXR3b3JrTWVzc2FnZVNvdXJjZSI7CiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VD
b25zb2xlQVBJTWVzc2FnZVNvdXJjZSA9IEAiQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UiOwogTlNT
dHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlT3RoZXJNZXNzYWdlU291cmNlID0gQCJPdGhlck1lc3Nh
Z2VTb3VyY2UiOwogCi1OU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VMb2dNZXNzYWdlVHlwZSA9
IEAiTG9nTWVzc2FnZVR5cGUiOwotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlRGlyTWVzc2Fn
ZVR5cGUgPSBAIkRpck1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNs
ZWFyTWVzc2FnZVR5cGUgPSBAIkNsZWFyTWVzc2FnZVR5cGUiOwotTlNTdHJpbmcgKldlYkNvbnNv
bGVNZXNzYWdlRGlyWE1MTWVzc2FnZVR5cGUgPSBAIkRpclhNTE1lc3NhZ2VUeXBlIjsKLU5TU3Ry
aW5nICpXZWJDb25zb2xlTWVzc2FnZVRyYWNlTWVzc2FnZVR5cGUgPSBAIlRyYWNlTWVzc2FnZVR5
cGUiOwotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlU3RhcnRHcm91cE1lc3NhZ2VUeXBlID0g
QCJTdGFydEdyb3VwTWVzc2FnZVR5cGUiOwotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlU3Rh
cnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlID0gQCJTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2Fn
ZVR5cGUiOwotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlRW5kR3JvdXBNZXNzYWdlVHlwZSA9
IEAiRW5kR3JvdXBNZXNzYWdlVHlwZSI7Ci1OU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VBc3Nl
cnRNZXNzYWdlVHlwZSA9IEAiQXNzZXJ0TWVzc2FnZVR5cGUiOwotTlNTdHJpbmcqIFdlYkNvbnNv
bGVNZXNzYWdlVGltaW5nTWVzc2FnZVR5cGUgPSBAIlRpbWluZ01lc3NhZ2VUeXBlIjsKLQogTlNT
dHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlVGlwTWVzc2FnZUxldmVsID0gQCJUaXBNZXNzYWdlTGV2
ZWwiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlTG9nTWVzc2FnZUxldmVsID0gQCJMb2dN
ZXNzYWdlTGV2ZWwiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlV2FybmluZ01lc3NhZ2VM
ZXZlbCA9IEAiV2FybmluZ01lc3NhZ2VMZXZlbCI7CkBAIC0zNTcsMzQgKzM0Niw2IEBAIGlubGlu
ZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VTb3VyY2UoTWVzc2FnZVNvdXJjZSBz
b3VyY2UpCiAgICAgcmV0dXJuIEAiIjsKIH0KIAotaW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3Ry
aW5nRm9yTWVzc2FnZVR5cGUoTWVzc2FnZVR5cGUgdHlwZSkKLXsKLSAgICBzd2l0Y2ggKHR5cGUp
IHsKLSAgICBjYXNlIExvZ01lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1l
c3NhZ2VMb2dNZXNzYWdlVHlwZTsKLSAgICBjYXNlIENsZWFyTWVzc2FnZVR5cGU6Ci0gICAgICAg
IHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUNsZWFyTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBEaXJN
ZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlRGlyTWVzc2FnZVR5
cGU7Ci0gICAgY2FzZSBEaXJYTUxNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNv
bGVNZXNzYWdlRGlyWE1MTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBUcmFjZU1lc3NhZ2VUeXBlOgot
ICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VUcmFjZU1lc3NhZ2VUeXBlOwotICAgIGNh
c2UgU3RhcnRHcm91cE1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3Nh
Z2VTdGFydEdyb3VwTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBTdGFydEdyb3VwQ29sbGFwc2VkTWVz
c2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBDb2xs
YXBzZWRNZXNzYWdlVHlwZTsKLSAgICBjYXNlIEVuZEdyb3VwTWVzc2FnZVR5cGU6Ci0gICAgICAg
IHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUVuZEdyb3VwTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBB
c3NlcnRNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQXNzZXJ0
TWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBUaW1pbmdNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJu
IFdlYkNvbnNvbGVNZXNzYWdlVGltaW5nTWVzc2FnZVR5cGU7Ci0gICAgfQotICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBAIiI7Ci19Ci0KIGlubGluZSBzdGF0aWMgTlNTdHJp
bmcgKnN0cmluZ0Zvck1lc3NhZ2VMZXZlbChNZXNzYWdlTGV2ZWwgbGV2ZWwpCiB7CiAgICAgc3dp
dGNoIChsZXZlbCkgewpAQCAtNDAzLDcgKzM2NCw3IEBAIGlubGluZSBzdGF0aWMgTlNTdHJpbmcg
KnN0cmluZ0Zvck1lc3NhZ2VMZXZlbChNZXNzYWdlTGV2ZWwgbGV2ZWwpCiAgICAgcmV0dXJuIEAi
IjsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShN
ZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkK
IHsKICAgICBpZCBkZWxlZ2F0ZSA9IFttX3dlYlZpZXcgVUlEZWxlZ2F0ZV07CiAgICAgQk9PTCBy
ZXNwb25kc1RvTmV3U2VsZWN0b3IgPSBOTzsKQEAgLTQyNiw3ICszODcsNiBAQCB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVz
c2FnZVR5cGUgdHlwZQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aFVuc2lnbmVkSW50Omxp
bmVOdW1iZXJdLCBAImxpbmVOdW1iZXIiLAogICAgICAgICAoTlNTdHJpbmcgKilzb3VyY2VVUkws
IEAic291cmNlVVJMIiwKICAgICAgICAgbWVzc2FnZVNvdXJjZSwgQCJNZXNzYWdlU291cmNlIiwK
LSAgICAgICAgc3RyaW5nRm9yTWVzc2FnZVR5cGUodHlwZSksIEAiTWVzc2FnZVR5cGUiLAogICAg
ICAgICBzdHJpbmdGb3JNZXNzYWdlTGV2ZWwobGV2ZWwpLCBAIk1lc3NhZ2VMZXZlbCIsCiAgICAg
ICAgIE5VTExdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlVJ
RGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdh
dGVQcml2YXRlLmgKaW5kZXggYmI1MzRhMjQxNGYyZDkwNWExMTdmYjVhZGViNDZkMTVhMmY4ODky
My4uM2YyNDBlYTUzZWQ3ZmRhMDBiODA5ZmUyMDVkZDQyYTQ2MGNiZmUyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtMTExLDE2
ICsxMTEsNiBAQCBleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlTmV0d29ya01lc3Nh
Z2VTb3VyY2U7CiBleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQ29uc29sZUFQSU1l
c3NhZ2VTb3VyY2U7CiBleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlT3RoZXJNZXNz
YWdlU291cmNlOwogCi0vLyBNZXNzYWdlIFR5cGVzLgotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25z
b2xlTWVzc2FnZUxvZ01lc3NhZ2VUeXBlOwotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVz
c2FnZURpck1lc3NhZ2VUeXBlOwotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZURp
clhNTE1lc3NhZ2VUeXBlOwotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVRyYWNl
TWVzc2FnZVR5cGU7Ci1leHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlU3RhcnRHcm91
cE1lc3NhZ2VUeXBlOwotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3Jv
dXBDb2xsYXBzZWRNZXNzYWdlVHlwZTsKLWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3Nh
Z2VFbmRHcm91cE1lc3NhZ2VUeXBlOwotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2Fn
ZUFzc2VydE1lc3NhZ2VUeXBlOwotCiAvLyBNZXNzYWdlIExldmVscy4KIGV4dGVybiBOU1N0cmlu
ZyAqV2ViQ29uc29sZU1lc3NhZ2VUaXBNZXNzYWdlTGV2ZWw7CiBleHRlcm4gTlNTdHJpbmcgKldl
YkNvbnNvbGVNZXNzYWdlTG9nTWVzc2FnZUxldmVsOwpAQCAtMTY5LDExICsxNTksNiBAQCBleHRl
cm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlRGVidWdNZXNzYWdlTGV2ZWw7CiAgICAgICAg
ICAgICBXaGVyZSB0aGUgbWVzc2FnZSBjYW1lIGZyb20uIEhUTUwsIFhNTCwgSmF2YVNjcmlwdCwg
Q1NTLCBldGMuCiAgICAgICAgICAgICBTZWUgV2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNv
dXJjZSBhbmQgc2ltaWxhciBjb25zdGFudHMuCiAgICAgICAgIDwvZGQ+Ci0gICAgICAgIDxkdD5N
ZXNzYWdlVHlwZTwvZHQ+Ci0gICAgICAgIDxkZD4KLSAgICAgICAgICAgIENsYXNzIG9mIG1lc3Nh
Z2UuIFN0YXJ0IC8gRW5kIG9mIGEgR3JvdXAsIGEgTG9nLCBOZXR3b3JrIHJlbGF0ZWQsIGV0Yy4K
LSAgICAgICAgICAgIFNlZSBXZWJDb25zb2xlTWVzc2FnZUxvZ01lc3NhZ2VUeXBlIGFuZCBzaW1p
bGFyIGNvbnN0YW50cy4KLSAgICAgICAgPC9kZD4KICAgICAgICAgPGR0Pk1lc3NhZ2VMZXZlbDwv
ZHQ+CiAgICAgICAgIDxkZD4KICAgICAgICAgICAgIFNldmVyaXR5IGxldmVsIG9mIHRoZSBtZXNz
YWdlLiBUaXAsIExvZywgV2FybmluZywgZXRjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAppbmRleCA3MWI0NWQ2ZGRkNzJlMTNhZTQ0
OTkxYzVmY2NmNTk5YjVkMjJhZDM2Li5kMTU0ZDQyZDYxMmJhMDNlY2RmN2E5ODQxMGU3OTQwNmQx
N2QyYzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0LmNwcApAQCAtMzA3LDcgKzMwNyw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50UXQ6OnNl
dFJlc2l6YWJsZShib29sKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgQ2hyb21l
Q2xpZW50UXQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUs
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKQordm9pZCBDaHJvbWVDbGllbnRRdDo6YWRkTWVzc2Fn
ZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKIHsKICAg
ICBRU3RyaW5nIHggPSBtZXNzYWdlOwogICAgIFFTdHJpbmcgeSA9IHNvdXJjZUlEOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCmluZGV4IDEy
MmI0MDhmYjU3NDhiY2I5YzA3NDg0ZDY2Zjc0NWM5ZDRhMzE0ZWUuLmQ3M2NiNDA5NDlmMDRmYjU5
MGFiYzQ2ZmIxMDYxMjE2MTI2ZGZiZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKQEAgLTEwMSw3ICsxMDEsNyBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAgdmlydHVhbCB2b2lk
IGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBT
dHJpbmcmIHNvdXJjZUlEKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCk7CiAKICAgICB2aXJ0dWFsIGJv
b2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmlydHVhbCBib29sIHJ1
bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEZyYW1lKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAppbmRleCA2OGJkZGVmMDM0MTg0YjVkNDAxZDVjZDBmNzRhNTYyMWY2NGI2OWUyLi5k
OGIyZjA2ZWRmOGJjZTU2Y2QzNjc4ZjU3NDczZTgwMGM1ZDQyODBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTMz
NCw3ICszMzQsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXphYmxlKGJvb2wgcmVz
aXphYmxlKQogICAgIH0KIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lLCBjb25zdCBTdHJp
bmcmIHVybCkKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgdW5zaWduZWQgbGluZSwgY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgQ09NUHRyPElXZWJV
SURlbGVnYXRlPiB1aURlbGVnYXRlOwogICAgIGlmIChTVUNDRUVERUQobV93ZWJWaWV3LT51aURl
bGVnYXRlKCZ1aURlbGVnYXRlKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggOWFlYzczNDZmMDI1OWZlZjA4NWRhYTdh
Njc1Y2UzOGRlNWE3ZDQzNi4uZTQ3NzJmZmI1YzM1NTNmOGE5MmFkYTAwNWQwZTM3YzljNThiMjJh
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNl
dFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xl
KFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2Ugc291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSB0eXBl
LCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdl
LCB1bnNpZ25lZCBsaW5lLCBjb25zdCBXVEY6OlN0cmluZyYgdXJsKTsKKyAgICB2aXJ0dWFsIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lLCBj
b25zdCBXVEY6OlN0cmluZyYgdXJsKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVV
bmxvYWRDb25maXJtUGFuZWwoKTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29u
ZmlybVBhbmVsKGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSogZnJh
bWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFdpbkNFLmNwcAppbmRleCBkZTZiZjcxOTBmYjAyMzliNDAxNzhmYTRkZThiZWRj
ZjQwODViZTQxLi44NDQzMzkyYmM5M2JjZjc3ZmUxYTRjZmYwNWViYTkyZWYxODY4MzJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdp
bkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFdpbkNFLmNwcApAQCAtMTg0LDcgKzE4NCw3IEBAIGJvb2wgQ2hyb21lQ2xpZW50V2luQ0U6
OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEZyYW1l
CiAgICAgcmV0dXJuIHJ1bkphdmFTY3JpcHRDb25maXJtKGZyYW1lLCBtZXNzYWdlKTsKIH0KIAot
dm9pZCBDaHJvbWVDbGllbnRXaW5DRTo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNl
LCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBpbnQs
IGNvbnN0IFN0cmluZyYpCit2b2lkIENocm9tZUNsaWVudFdpbkNFOjphZGRNZXNzYWdlVG9Db25z
b2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQs
IGNvbnN0IFN0cmluZyYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaCBi
L1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaApp
bmRleCA5NmNlYTFhNjJhYmQ5ODVmYTEyMjBiY2I3ZjRkNzllYzk2OTg3MTNmLi41MTI2YTUwMjg0
MDEwNzhmYzYxY2ZlMzU2MzIyNmY1YTI4M2UwMjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKKysrIGIvU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCkBAIC03Niw3ICs3
Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291
cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBX
VEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFdURjo6
U3RyaW5nJiBzb3VyY2VJRCk7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUo
V2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6
OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcm
IHNvdXJjZUlEKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJt
UGFuZWwoKTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNv
bnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpGcmFtZSogZnJhbWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcCBi
L1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKaW5kZXgg
NWYxMTY3YjU0N2NkNjFhNmYwNWFjMjhmMTdiM2FjZGU3NmQxNmY0Yy4uNjkxZGE4NWJmZGIzMDJh
YTQ4YjAzNmJiNThjMmQwZTkyZjgyNmQ4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9X
ZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dl
YktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCkBAIC0yMjcsMTAgKzIyNyw5IEBAIHZvaWQg
Q2hyb21lQ2xpZW50V3g6OnNldFJlc2l6YWJsZShib29sKQogfQogCiB2b2lkIENocm9tZUNsaWVu
dFd4OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVR5cGUgdHlwZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbCBsZXZlbCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCBsaW5lTnVtYmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgbGluZU51bWJlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCiB7CiAgICAgaWYgKG1fd2ViVmll
dykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNs
aWVudFd4LmggYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3gu
aAppbmRleCA1MDU0MGYwOTQzZTlkNjk2M2YxOTU0YzExZTYyY2NjYTdmOWQ4YTU4Li5iMzFhOGJm
NWRmODg5YzljODdiNzY2NjFhY2I0Njk2ZTA0YjhjNTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaApAQCAtODEsNyArODEsNiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VUeXBlIHR5cGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZUxldmVsIGxldmVsLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBiYTM1NzM2M2EwNjg4M2E1OWVlOGUxZmZhOGY5
MjE0MTUyMDMyY2I4Li43OTVhZWM3MDE2Y2RlZjA0ODcwOTU1ZmE4ZTlhMjEwOWNlZjBmZDRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0yNjgsNyArMjY4LDcgQEAgdm9pZCBXZWJDaHJv
bWVDbGllbnQ6OnNldFJlc2l6YWJsZShib29sIHJlc2l6YWJsZSkKICAgICBtX3BhZ2UtPnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0SXNSZXNpemFibGUocmVzaXphYmxlKSk7CiB9CiAK
LXZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgLypzb3VyY2VJRCovKQordm9pZCBXZWJD
aHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0
cmluZyYgLypzb3VyY2VJRCovKQogewogICAgIC8vIE5vdGlmeSB0aGUgYnVuZGxlIGNsaWVudC4K
ICAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlVUlDbGllbnQoKS53aWxsQWRkTWVzc2FnZVRvQ29u
c29sZShtX3BhZ2UsIG1lc3NhZ2UsIGxpbmVOdW1iZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5k
ZXggYTQ4MWM4ZjVjM2NmMTQ0NDM0MDI3NjI3YWZjODRlMzBjYjdjZDA1NC4uYjE5YjVmZWZhYzRh
ODE5NWNmNDdiZjk0NzBjZWE3Mzc4NzJjYWMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC05
MSw3ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJs
ZShib29sKSBPVkVSUklERTsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29u
c29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpNZXNzYWdlVHlwZSwgV2ViQ29y
ZTo6TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5l
TnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlLCBXZWJDb3JlOjpN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VJRCkgT1ZFUlJJREU7CiAgICAgCiAgICAgdmlydHVhbCBib29s
IGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Ym9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBX
ZWJDb3JlOjpGcmFtZSopIE9WRVJSSURFOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178756</attachid>
            <date>2012-12-11 02:25:56 -0800</date>
            <delta_ts>2012-12-11 07:21:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66371-20121211112317.patch</filename>
            <type>text/plain</type>
            <size>139431</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzFlZDI4ODc3OTgyYTE2
MjU5MGZjNzdhMjc3ODgyZjI2NGEyYTU1OC4uNDc3M2E4ZjgzOTZjMmU3YmY5ZTQzNjk1ZTg4NjQ3
NWJiOTk4MzI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3MyBAQAorMjAxMi0xMi0xMCAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENv
bnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBw
cml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4K
KworICAgICAgICBXZSBjYW4gc2ltcGxpZnkgY29uc29sZSBtZXNzYWdlIGdlbmVyYXRpb24gYSBi
aXQsIGFzIG5vdGhpbmcgb3V0c2lkZSB0aGUKKyAgICAgICAgQ29uc29sZSBvYmplY3QgaXRzZWxm
IHdpbGwgZ2VuZXJhdGUgbWVzc2FnZXMgb2YgYW55IHR5cGUgb3RoZXIgdGhhbgorICAgICAgICBM
b2dNZXNzYWdlVHlwZS4gVGhpcyBwYXRjaCByZWZhY3RvcnMgdGhlIGV4dGVybmFsbHktZmFjaW5n
IEFQSSBlbmRwb2ludHMKKyAgICAgICAgb24gU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBhbmQgQ29u
c29sZSB0byBkcm9wIHRoZSBNZXNzYWdlVHlwZSBwYXJhbWV0ZXIsCisgICAgICAgIG1vdmVzIHRo
ZSBNZXNzYWdlVHlwZSBlbnVtIGludG8gYSBuZXcgSW5zcGVjdG9yQ29uc29sZVR5cGVzLmggaGVh
ZGVyLAorICAgICAgICBhbmQgdXBkYXRlcyBhbGwgdGhlIGNhbGwgc2l0ZXMgKGFuZCBDaHJvbWVD
bGllbnRzKSB0byBkcm9wIHRoZSBwYXJhbWV0ZXIKKyAgICAgICAgZnJvbSB0aGVpciBpbnRlcmZh
Y2VzLgorCisgICAgICAgIEFzIGEgdGVtcG9yYXJ5IGJhbmRhZ2UgZm9yIHBvcnRzIHVzaW5nIHRo
aXMgaW50ZXJmYWNlLCB0aGlzIHBhdGNoCisgICAgICAgIGluY2x1ZGVzIGFsaWFzZXMgZm9yIHRo
ZSBuZXcgbWV0aG9kcyB0aGF0IHJldGFpbiB0aGUgb2xkIGludGVyZmFjZS4KKyAgICAgICAgSSds
bCByZW1vdmUgdGhlbSBpbiBhIGZ1dHVyZSBwYXRjaC4KKworICAgICAgICBIZXJlLCB3ZSBvbmx5
IHJlZmFjdG9yIGFuIGludGVybmFsIGludGVyZmFjZS4gTm8gdGVzdHMgc2hvdWxkIGJyZWFrLgor
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgor
ICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICAgICBXZSBhZGRlZCBhIG5ldyBmaWxlISBPTUchCisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVm
ZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFz
ZS9BYnN0cmFjdERhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RGF0YWJh
c2U6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNvbm5lY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZXRCaW5hcnlUeXBlKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpmYWlsKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0pOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
Q3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOEN1c3RvbVhQYXRoTlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKToKKyAg
ICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZFJlc29sdXRp
b25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmFkZE1lc3NhZ2UpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
ICAgICAgICAoRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAg
KiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OnBlcmZvcm1UYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNz
YWdlKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OkFkZENv
bnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFZpZXdwb3J0V2FybmluZyk6CisgICAgICAgICogZmls
ZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCbG9iQnVpbGRl
cjo6YXBwZW5kKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlk
YXRlSW50ZXJhY3RpdmVseSk6CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgor
ICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVHJhY2tFbGVtZW50OjpjYW5Mb2FkVXJsKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6cHJpbnRXYXJuaW5nVG9Db25zb2xlKToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1
ZGl0b3I6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6ZmlsdGVyVG9rZW4p
OgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHA6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50
cy5oOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpzaG91bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyk6Cisg
ICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2Vp
dmVSZXNwb25zZSk6CisgICAgICAgICogbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWl4ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyk6CisgICAg
ICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tMb2FkZXI6OmNvcnNQb2xpY3lQcmV2ZW50ZWRMb2FkKToKKyAgICAgICAgKiBsb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFw
cGxpY2F0aW9uQ2FjaGVHcm91cDo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRp
b25DYWNoZUdyb3VwOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBw
bGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJ
c0NvbXBsZXRlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNz
RGVuaWVkTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAg
KENocm9tZUNsaWVudCk6CisgICAgICAgICAgICBEcm9wIExvZ01lc3NhZ2VUeXBlIGZyb20gZXZl
cnl3aGVyZS4KKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29uc29sZTo6YWRkTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjppbnRlcm5hbEFkZE1lc3Nh
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6ZXJyb3IpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29uc29sZTo6bG9nKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Ondhcm4pOgorICAg
ICAgICAoV2ViQ29yZTo6Q29uc29sZTo6ZGlyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6
OmRpcnhtbCk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpjbGVhcik6CisgICAgICAgIChX
ZWJDb3JlOjpDb25zb2xlOjp0cmFjZSk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjphc3Nl
cnRDb25kaXRpb24pOgorICAgICAgICAqIHBhZ2UvQ29uc29sZS5oOgorICAgICAgICAoQ29uc29s
ZSk6CisgICAgICAgICAgICBDcmVhdGUgYSBuZXcgaW50ZXJuYWxBZGRNZXNzYWdlIHRoYXQncyB1
c2VkIGZvciB0aGUgdmFyaW91cworICAgICAgICAgICAgQ29uc29sZSBtZXNzYWdlIHR5cGVzLiBF
dmVyeXRoaW5nIGVsc2Ugcm91dGVzIHRocm91Z2gKKyAgICAgICAgICAgIDo6YWRkTWVzc2FnZS4K
KyAgICAgICAgKiBwYWdlL0NvbnNvbGVUeXBlcy5oOgorICAgICAgICAgICAgRHJvcCBNZXNzYWdl
VHlwZXMgZnJvbSB0aGlzIGZpbGUsIGFkZCBpdCB0byBDb25zb2xlQVBJVHlwZS5oCisgICAgICAg
ICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUpOgorICAgICAgICAqIHBhZ2UvRE9NV2lu
ZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZl
bnRXaXRoT3JpZ2luQ2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpwcmludEVy
cm9yTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBzdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydE1lc3Nh
Z2UpOgorICAgICAgICAqIHdvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3Bw
OgorICAgICAgICAoU2hhcmVkV29ya2VyUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6cG9zdENv
bnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJQcm94eTo6
cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QpOgorICAgICAgICAqIHdvcmtlcnMvU2hh
cmVkV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250
ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNv
bGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAoV29ya2Vy
Q29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKToKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAo
V29ya2VyTWVzc2FnaW5nUHJveHkpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyUmVwb3J0aW5n
UHJveHkuaDoKKyAgICAgICAgKFdvcmtlclJlcG9ydGluZ1Byb3h5KToKKyAgICAgICAgKiB4bWwv
WE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nQ29uc29sZUVycm9yKToK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZW5kKToKKyAgICAgICAgKiB4bWwv
WFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNMVFByb2Nlc3Nv
cjo6cGFyc2VFcnJvckZ1bmMpOgorICAgICAgICAqIHhtbC9YU0xUUHJvY2Vzc29yUXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6WFNMVE1lc3NhZ2VIYW5kbGVyOjpoYW5kbGVNZXNzYWdlKToKKyAg
ICAgICAgICAgIERyb3AgTG9nTWVzc2FnZUxldmVsIGZyb20gZXZlcnl3aGVyZS4KKwogMjAxMi0x
Mi0xMSAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGdvb2dsZS5jb20+CiAKICAgICAgICAg
UmVtb3ZlIHBhbmdvIGZpbGVzIGRlbGV0ZWQgYXQgcjEzNzI2MyBmb3JtIFdlYkNvcmUuZ3lwaS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IDUwODMzMWU4YzQ1YzQxMjkwZTg2NzUy
YjUxODNiMzRmNzcxZmM0NzUuLmVjNzRlZTJkYzA0Zjk3NTc2ZWFiOTZiNGViNmRmMThhOTE1ZDE0
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTEyLTEwICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogQ29uc29sZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0gaXQg
c2hvdWxkIGJlIHByaXZhdGUgdG8gaW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBQYXZl
bCBGZWxkbWFuLgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRo
ZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xp
ZW50QmxhY2tCZXJyeTo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50Qmxh
Y2tCZXJyeSk6CisKIDIwMTItMTItMTAgIE1heCBGZWlsICA8bWZlaWxAcmltLmNvbT4KIAogICAg
ICAgICBbQmxhY2tCZXJyeV0gRmxhc2ggY29udGVudCBpcyBiZWluZyByZW5kZXJlZCBhcyBnYXJi
bGVkIGNoYXJhY3RlcnMgd2hlbiBGbGFzaHBsYXllciBpcyBkaXNhYmxlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCA5NGIxZDI2MDA0MTZiOTU2YzdmZDE5MDczOWE4MzBkZDIzNDcwNWM0
Li44OWJkZTNhN2RkOGI5NzVkNjcyNmIwNDVjYzdlMjdmOTA4MDM3ZjI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEyLTEwICBNaWtlIFdlc3QgIDxt
a3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29uc29sZVR5cGVz
IHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0gaXQgc2hvdWxkIGJlIHByaXZhdGUgdG8g
aW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgorCisgICAgICAg
IERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNzYWdlVG9Db25zb2xl
IG1ldGhvZCwgYW5kIGFsbAorICAgICAgICB0aGUgYW5jaWxsaWFyeSBwbGFjZXMgaXQgdG91Y2hl
cy4KKworICAgICAgICBBbGlhc2VzIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0IHdp
dGggdGhlIG9sZCBpbnRlcmZhY2UgaW4KKyAgICAgICAgb3JkZXIgdG8gbWFpbnRhaW4gYmFjay1j
b21wYXQuIFdpbGwgcmVtb3ZlIGl0IGluIGEgZnV0dXJlIHBhdGNoIG9uY2UKKyAgICAgICAgQ2hy
b21pdW0gaXMgdXBkYXRlZC4KKworICAgICAgICAqIHB1YmxpYy9XZWJTaGFyZWRXb3JrZXJDbGll
bnQuaDoKKyAgICAgICAgKFdlYlNoYXJlZFdvcmtlckNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlNoYXJlZFdvcmtlckNsaWVudDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qp
OgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvQ2hy
b21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50SW1wbCk6CisgICAgICAgICog
c3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6YWRk
TWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwOgor
ICAgICAgICAqIHNyYy9XZWJTaGFyZWRXb3JrZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViU2hhcmVkV29ya2VySW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTaGFyZWRXb3JrZXJJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VU
YXNrKToKKyAgICAgICAgKiBzcmMvV2ViU2hhcmVkV29ya2VySW1wbC5oOgorICAgICAgICAoV2Vi
U2hhcmVkV29ya2VySW1wbCk6CisgICAgICAgICogc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJXb3JrZXJDbGllbnRJbXBsOjpwb3N0Q29uc29sZU1lc3Nh
Z2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgICogc3JjL1dlYldvcmtlckNsaWVudEltcGwuaDoK
KyAgICAgICAgKFdlYldvcmtlckNsaWVudEltcGwpOgorCiAyMDEyLTEyLTEwICBEYW5hIEphbnNl
bnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIFdl
YkNvbXBvc2l0b3JPdXRwdXRTdXJmYWNlIGltcGxlbWVudGF0aW9ucyBmcm9tIERSVApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCmluZGV4IDAzY2NhZGQyZTUyZWQ3ZDFmODM3MGY5Njc3M2FhZGVkN2M3ZjljNGIuLmIz
YTVkY2RhOTg5MTVlMmEyNTkyNWZmZWJjNzE4Y2Y0Y2RhODE0YTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4
cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAgICBEcm9wcyBXZWJDb3Jl
OjpNZXNzYWdlTGV2ZWwgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBtZXRob2QuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2hyb21lQ2xpZW50RWZsOjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEVm
bCk6CisKIDIwMTItMTItMDUgIEhhbHRvbiBIdW8gIDxoYWx0b24uaHVvQGludGVsLmNvbT4KIAog
ICAgICAgICBbQ01ha2VdIFVuaWZ5IGNvZGluZyBzdHlsZSBmb3IgQ01ha2UgZmlsZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwppbmRleCBjM2Y0OWEzNDQwOTU0Y2Y4YzgzZGUxZjQ5NzljMGRiM2I1MDUxMjdiLi5k
NjU4YzkzMzliMGVkY2QyYWUyMDJiNjc5YjhmYTFlM2E1YjUxMTA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMTAgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBl
eHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCisKKyAgICAgICAgRHJvcHMgV2ViQ29y
ZTo6TWVzc2FnZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Q2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisK
IDIwMTItMTItMTAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdIEJ1aWxkIEdPYmplY3QgRE9NIGJpbmRpbmdzIGFzIGEgc2VwYXJhdGUg
bGlicmFyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDVmM2RhMzk4Y2IyY2RkZTg0YTMxZjU1NWMyZTIz
Yjc2NDQzOGY3NTEuLjJmMWRjMGQyNGY4ODc4ZDdkMWMzYzgwMGMyMzZmY2FkOWM2YjFkZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMCAgTWlrZSBXZXN0ICA8
bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBl
cyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRv
IGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAg
ICBEcm9wcyBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29s
ZSBtZXRob2QuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoK
KyAgICAgICAgKFdlYkNocm9tZUNsaWVudCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9D
b25zb2xlKToKKwogMjAxMi0xMi0wOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgRmFjdG9yIG5vZGUgdHJhdmVyc2FsIGludG8gc3RhbmRhbG9uZSBmdW5jdGlv
bnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKaW5kZXggMTJjMmJmYjBlYTE0ODE4ZDY3ZTI2NGJmNDUwMzcyM2M1MDYx
Y2MwZi4uMTZmMDIwOGExMjA0MThjYWE3YzAzYTdjYmQ5N2M3M2U1ZDdhYmVhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQg
bm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rv
ci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzcx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAgICBEcm9wcyBX
ZWJDb3JlOjpNZXNzYWdlTGV2ZWwgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBtZXRob2Qu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaDoKKyAgICAgICAgKENocm9tZUNsaWVu
dFF0KToKKwogMjAxMi0xMi0xMCAgQW5keSBTaGF3ICA8YW5keS5zaGF3QGRpZ2lhLmNvbT4KICAg
ICAgICAgCiAgICAgICAgIENoZWNrIHRoYXQgcGx1Z2luIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxl
ZCBiZWZvcmUgcXVlcnlpbmcgdGhlIGRhdGFiYXNlIGZvciBpbnN0YWxsZWQgcGx1Z2lucy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwppbmRleCBmMTU4NzE1NjIzNmQyNGVkN2ViOTg0ODQ2MDYwNDQzNDdiOTU1ZmNk
Li5mZTQzNTYxMzhmZWFmZTQxMDFhY2NlMDQyMzdlMzg2NWI2NTUzNDM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMTAgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxkIG5v
dCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0b3Iu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQor
CisgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCisKKyAgICAgICAgRHJvcHMgV2Vi
Q29yZTo6TWVzc2FnZUxldmVsIGZyb20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAg
KFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQpOgor
CiAyMDEyLTEyLTEwICBYdWVxaW5nIEh1YW5nICA8aHVhbmd4dWVxaW5nQGJhaWR1LmNvbT4KIAog
ICAgICAgICBBU1NFUlRJT04gZmFpbGVkIGluIFdpbmRvd3M6IGNzczMvY3NzMy1tb2RzZWwtMzMu
aHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCBjYWJkZDk1ODE5NDFhYWY3Zjg1NmIwMTIwNTk4
NmUzNGYwZTQ1YzBkLi5hZjM5ODZiNzM2OTYyZmQ2MjE1MzZhOTgxOWY1ZGVmYTM0YjRmMzI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEyLTEwICBNaWtlIFdl
c3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29uc29s
ZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0gaXQgc2hvdWxkIGJlIHByaXZh
dGUgdG8gaW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgorCisg
ICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNzYWdlVG9D
b25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdp
bkNFLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50V2luQ0U6OmFkZE1lc3NhZ2VU
b0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6
CisgICAgICAgIChDaHJvbWVDbGllbnRXaW5DRSk6CisKIDIwMTItMTEtMjkgIEFsZXhleSBQcm9z
a3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gRm9yd2FyZCBjb29raWUg
amFyIGNhbGxzIHRvIE5ldHdvcmtQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDdlNTI2MGJjZjMxMTFm
MjE1NjJmMWM3YmY5YjIyNTU5YzVhNzkxNC4uNGUwYjEwYmI1NWE5NzFiZDBmN2U0MDUxOWMwZDNk
ZWY3NTQ4MjZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEyLTEwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29u
c29sZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBlIC0gaXQgc2hvdWxkIGJlIHBy
aXZhdGUgdG8gaW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgor
CisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCBmcm9tIHRoZSBhZGRNZXNzYWdl
VG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50Ojph
ZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKwogMjAxMi0x
Mi0xMCAgRGFuIFdpbnNoaXAgIDxkYW53QGdub21lLm9yZz4KIAogICAgICAgICBbU291cF0gRml4
IHNwZWxsaW5nIG9mICJpbml0aWF0aW5nIiBpbiBBUEkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCA4MDNhOTg5ZjE5ODk4Njk2MmRhYWM2ZmM1MGVkNjExOWRkNDFhNWRmLi43YzFk
NDJmYjlkYTA5NjQ3YTBmNTVlMzhjOGY5MzcxMjU2NjE5NzlkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTM2NjksNiArMzY2OSw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXR5cGVzLmggXAogCVNvdXJjZS9XZWJDb3JlL2lj
dS91bmljb2RlL3V2ZXJzaW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9CaW5kaW5n
VmlzaXRvcnMuaCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlscy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCmluZGV4
IDQzNzcwNWQ1ODc3M2Y3NTEyYWM0MDE5NjlmNzBhNDZhMGIwNmI1ZGEuLjg4MWI4MDNiNzVjYWU2
NjhjMmIwODgyMzIxNDJmMzczNzYxMjE1ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKQEAgLTQ0OSw3
ICs0NDksNyBAQCBib29sIEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6bG9vcGluZygpCiB7CiAgICAg
c3RhdGljIGJvb2wgZmlyc3RUaW1lID0gdHJ1ZTsKICAgICBpZiAoZmlyc3RUaW1lICYmIGNvbnRl
eHQoKSAmJiBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewotICAgICAgICBj
b250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlv
QnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2Ug
J2xvb3AnIGluc3RlYWQuIik7CisgICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdl
TGV2ZWwsICJBdWRpb0J1ZmZlclNvdXJjZU5vZGUgJ2xvb3BpbmcnIGF0dHJpYnV0ZSBpcyBkZXBy
ZWNhdGVkLiAgVXNlICdsb29wJyBpbnN0ZWFkLiIpOwogICAgICAgICBmaXJzdFRpbWUgPSBmYWxz
ZTsKICAgICB9CiAKQEAgLTQ2MCw3ICs0NjAsNyBAQCB2b2lkIEF1ZGlvQnVmZmVyU291cmNlTm9k
ZTo6c2V0TG9vcGluZyhib29sIGxvb3BpbmcpCiB7CiAgICAgc3RhdGljIGJvb2wgZmlyc3RUaW1l
ID0gdHJ1ZTsKICAgICBpZiAoZmlyc3RUaW1lICYmIGNvbnRleHQoKSAmJiBjb250ZXh0KCktPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewotICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNz
YWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9v
cGluZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7Cisg
ICAgICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJBdWRpb0J1ZmZlclNv
dXJjZU5vZGUgJ2xvb3BpbmcnIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkLiAgVXNlICdsb29wJyBp
bnN0ZWFkLiIpOwogICAgICAgICBmaXJzdFRpbWUgPSBmYWxzZTsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2Uu
Y3BwCmluZGV4IDYyOTA3ZTNlMWNlNmIwOTE1YzJiMDM0NzYwOWU1MDdlOGMwMWNlYjYuLjZjZmU1
MWI1ODU3ODNkN2MyOGU2MjU4NmRmNWQyYmFlNjkyYTY1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmNwcApAQCAt
NTY3LDcgKzU2Nyw3IEBAIGJvb2wgQWJzdHJhY3REYXRhYmFzZTo6aXNJbnRlcnJ1cHRlZCgpCiAK
IHZvaWQgQWJzdHJhY3REYXRhYmFzZTo6bG9nRXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKIHsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdl
KE90aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBt
ZXNzYWdlKTsKKyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdl
KE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiAj
aWYgUExBVEZPUk0oQ0hST01JVU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXQuY3BwCmluZGV4IDA2ZDJhZThlZjAxNjhlMzFhMzExYjMxOTk1MzVmNjEy
MTViNzljZWQuLjc4NTJiMmViMmQzYTAyMjRjYjJlNGVmNTBkZWM1MjE3MzE2NGIxNmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC0y
MTMsMjYgKzIxMywyNiBAQCB2b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByb3RvY29scywgRXhjZQogICAgIG1fdXJsID0gS1VS
TChLVVJMKCksIHVybCk7CiAKICAgICBpZiAoIW1fdXJsLmlzVmFsaWQoKSkgewotICAgICAgICBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiSW52YWxpZCB1cmwgZm9yIFdl
YlNvY2tldCAiICsgbV91cmwuc3RyaW5nKCkpOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJJbnZhbGlkIHVybCBmb3IgV2ViU29ja2V0ICIgKyBtX3VybC5zdHJpbmcoKSk7CiAgICAg
ICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAogICAgIGlmICghbV91cmwucHJvdG9jb2xJcygid3MiKSAmJiAhbV91
cmwucHJvdG9jb2xJcygid3NzIikpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIldyb25nIHVybCBzY2hlbWUgZm9yIFdlYlNvY2tldCAiICsgbV91cmwu
c3RyaW5nKCkpOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXcm9uZyB1cmwgc2No
ZW1lIGZvciBXZWJTb2NrZXQgIiArIG1fdXJsLnN0cmluZygpKTsKICAgICAgICAgbV9zdGF0ZSA9
IENMT1NFRDsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIGlmIChtX3VybC5oYXNGcmFnbWVudElkZW50aWZpZXIoKSkgewotICAgICAgICBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiVVJMIGhhcyBmcmFnbWVudCBjb21w
b25lbnQgIiArIG1fdXJsLnN0cmluZygpKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiVVJMIGhhcyBmcmFnbWVudCBjb21wb25lbnQgIiArIG1fdXJsLnN0cmluZygpKTsKICAgICAg
ICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogICAgIGlmICghcG9ydEFsbG93ZWQobV91cmwpKSB7Ci0gICAgICAgIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcG9ydCAiICsg
U3RyaW5nOjpudW1iZXIobV91cmwucG9ydCgpKSArICIgYmxvY2tlZCIpOworICAgICAgICBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcG9ydCAiICsgU3RyaW5nOjpudW1iZXIobV91
cmwucG9ydCgpKSArICIgYmxvY2tlZCIpOwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAg
ICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKICAgICAgICAgcmV0dXJuOwpAQCAtMjU3LDcgKzI1Nyw3
IEBAIHZvaWQgV2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0
b3I8U3RyaW5nPiYgcHJvdG9jb2xzLCBFeGNlCiAgICAgLy8gY29tcGx5IHdpdGggV2ViU29ja2V0
IEFQSSBzcGVjaWZpY2F0aW9uLCBidXQgaXQgc2VlbXMgdG8gYmUgdGhlIG9ubHkgcmVhc29uYWJs
ZSB3YXkgdG8gaGFuZGxlIHRoaXMgY29uZmxpY3QuCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBwcm90b2NvbHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYgKCFpc1ZhbGlkUHJvdG9jb2xT
dHJpbmcocHJvdG9jb2xzW2ldKSkgewotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJyIgKyBlbmNv
ZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsgIiciKTsKKyAgICAgICAgICAgIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJyIgKyBlbmNv
ZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsgIiciKTsKICAgICAgICAgICAgIG1fc3Rh
dGUgPSBDTE9TRUQ7CiAgICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgICAgICBy
ZXR1cm47CkBAIC0yNjYsNyArMjY2LDcgQEAgdm9pZCBXZWJTb2NrZXQ6OmNvbm5lY3QoY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwcm90b2NvbHMsIEV4Y2UKICAgICBI
YXNoU2V0PFN0cmluZz4gdmlzaXRlZDsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3Rv
Y29scy5zaXplKCk7ICsraSkgewogICAgICAgICBpZiAodmlzaXRlZC5jb250YWlucyhwcm90b2Nv
bHNbaV0pKSB7Ci0gICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCAiV2ViU29ja2V0IHByb3RvY29scyBjb250YWluIGR1cGxpY2F0ZXM6ICciICsgZW5jb2Rl
UHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ldKSArICInIik7CisgICAgICAgICAgICBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcHJvdG9jb2xzIGNvbnRhaW4gZHVwbGljYXRlczog
JyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2NvbHNbaV0pICsgIiciKTsKICAgICAgICAg
ICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAg
ICAgICAgICByZXR1cm47CkBAIC0yOTksNyArMjk5LDcgQEAgYm9vbCBXZWJTb2NrZXQ6OnNlbmQo
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBBU1NFUlQobV9j
aGFubmVsKTsKICAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6U2VuZFJlc3VsdCByZXN1
bHQgPSBtX2NoYW5uZWwtPnNlbmQobWVzc2FnZSk7CiAgICAgaWYgKHJlc3VsdCA9PSBUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbDo6SW52YWxpZE1lc3NhZ2UpIHsKLSAgICAgICAgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYnNvY2tldCBtZXNzYWdlIGNvbnRhaW5z
IGludmFsaWQgY2hhcmFjdGVyKHMpLiIpOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJXZWJzb2NrZXQgbWVzc2FnZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcihzKS4iKTsKICAg
ICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAt
MzczLDcgKzM3Myw3IEBAIHZvaWQgV2ViU29ja2V0OjpjbG9zZShpbnQgY29kZSwgY29uc3QgU3Ry
aW5nJiByZWFzb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICB9CiAgICAgICAgIENTdHJp
bmcgdXRmOCA9IHJlYXNvbi51dGY4KFN0cmluZzo6U3RyaWN0Q29udmVyc2lvblJlcGxhY2luZ1Vu
cGFpcmVkU3Vycm9nYXRlc1dpdGhGRkZEKTsKICAgICAgICAgaWYgKHV0ZjgubGVuZ3RoKCkgPiBt
YXhSZWFzb25TaXplSW5CeXRlcykgewotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBjbG9zZSBtZXNzYWdlIGlzIHRvbyBsb25nLiIp
OworICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNsb3NlIG1l
c3NhZ2UgaXMgdG9vIGxvbmcuIik7CiAgICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTQzOCw3ICs0MzgsNyBAQCB2b2lkIFdlYlNv
Y2tldDo6c2V0QmluYXJ5VHlwZShjb25zdCBTdHJpbmcmIGJpbmFyeVR5cGUpCiAgICAgICAgIG1f
YmluYXJ5VHlwZSA9IEJpbmFyeVR5cGVBcnJheUJ1ZmZlcjsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KLSAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiJyIgKyBiaW5h
cnlUeXBlICsgIicgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJpbmFyeVR5
cGUgcmVtYWlucyB1bmNoYW5nZWQuIik7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiJyIg
KyBiaW5hcnlUeXBlICsgIicgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJp
bmFyeVR5cGUgcmVtYWlucyB1bmNoYW5nZWQuIik7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYg
V2ViU29ja2V0OjppbnRlcmZhY2VOYW1lKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCBiZWVjZjJk
YzA5MTJhMTRmZDYyODdjY2EwMWJiMzVhZjg0OTc1ZjdjLi43MWQ5YzUyMWVmN2MxNjYzNDEwZmI0
ZmFlMmVhNGU2ZDFkYjQxYzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC0xOTQsNyArMTk0LDcgQEAgdm9p
ZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0cmluZyYgcmVhc29uKQogICAgIEFTU0VS
VCghbV9zdXNwZW5kZWQpOwogICAgIGlmIChtX2RvY3VtZW50KSB7CiAgICAgICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IobV9kb2N1bWVu
dCwgbV9pZGVudGlmaWVyLCByZWFzb24pOwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgIldlYlNvY2tldCBjb25uZWN0aW9uIHRvICciICsgbV9oYW5kc2hha2UtPnVybCgpLnN0cmlu
ZygpICsgIicgZmFpbGVkOiAiICsgcmVhc29uKTsKKyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29u
c29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tl
dCBjb25uZWN0aW9uIHRvICciICsgbV9oYW5kc2hha2UtPnVybCgpLnN0cmluZygpICsgIicgZmFp
bGVkOiAiICsgcmVhc29uKTsKICAgICB9CiAKICAgICAvLyBIeWJpLTEwIHNwZWNpZmljYXRpb24g
ZXhwbGljaXRseSBzdGF0ZXMgd2UgbXVzdCBub3QgY29udGludWUgdG8gaGFuZGxlIGluY29taW5n
IGRhdGEKQEAgLTMzMSw3ICszMzEsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxT
b2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFNvYwogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBtZXNzYWdlID0gIldlYlNvY2tldCBuZXR3b3JrIGVycm9yOiAi
ICsgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihtX2RvY3VtZW50LCBtX2lk
ZW50aWZpZXIsIG1lc3NhZ2UpOwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2Fn
ZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCBtZXNzYWdlKTsKKyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTmV0d29y
a01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKICAgICB9CiAgICAg
bV9zaG91bGREaXNjYXJkUmVjZWl2ZWREYXRhID0gdHJ1ZTsKICAgICBoYW5kbGUtPmRpc2Nvbm5l
Y3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCmluZGV4IDU2YzhlMzY3MzM2MzI3MWMxMmUwYzU5NDY1NzFlOGQyNDhj
ZmU2NzYuLjFkZWUzZjc5ZGMzZTgyM2E2NTdlYTY1NjZiOGI5ZDQ1MjQ5ZTAwNWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQpAQCAtMTg5Myw2ICsxODkzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgaHRtbC90cmFjay9X
ZWJWVFRUb2tlbi5oIFwKICAgICBodG1sL3RyYWNrL1dlYlZUVFRva2VuaXplci5oIFwKICAgICBp
bnNwZWN0b3IvQmluZGluZ1Zpc2l0b3JzLmggXAorICAgIGluc3BlY3Rvci9Db25zb2xlQVBJVHlw
ZXMuaCBcCiAgICAgaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggXAogICAgIGluc3BlY3Rvci9D
b250ZW50U2VhcmNoVXRpbHMuaCBcCiAgICAgaW5zcGVjdG9yL0RPTUVkaXRvci5oIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQppbmRleCBhMGZlMjBkOWEwN2U0YjE3ZDE1MDY2N2E3ZGJmMGU5OGU3NDg3ZTk0Li5i
YWM0MDcxZjZhYzM4YjgzZWFjM2M5ODMwMWVjYWE5MjFmOGVmOWU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC0xNzYxLDYgKzE3NjEsNyBAQAogICAgICAgICAgICAgJ2ljdS91bmljb2RlL3V0eXBlcy5o
JywKICAgICAgICAgICAgICdpY3UvdW5pY29kZS91dmVyc2lvbi5oJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvQmluZGluZ1Zpc2l0b3JzLmgnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9Db25z
b2xlQVBJVHlwZXMuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNw
cCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgnLAogICAgICAgICAg
ICAgJ2luc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbHMuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZTQ1M2E2YWUzNGI4Yjc0MjljNmVk
M2U0NGMwNDAzNGIxODkwYjQwYi4uNzdkNDNiMzkxY2E1ZDlmNDI2ZmIwMjE1OWU4ZWRhMWUyNmM2
M2RlNCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
QEAgLTc0NTQ2LDYgKzc0NTQ2LDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxDb25zb2xlQVBJVHlwZXMuaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXENvbnNv
bGVNZXNzYWdlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYWMzNmY4
MjZhNWVkYWE5ZTBkODNhYTA0NmY4ZDUwYTlmYTY4ZWNmYy4uYzY2N2IwYzY1MjY5NWM4NDhjMzcy
NjI4N2M1ODYxMzI3YmVjMDlhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODAxLDYgKzgwMSw3IEBACiAJCTJEOUEyNDc1MTVC
OUMyRTMwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeUludGVybmFsLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlBMjQ3MTE1QjlDMjk1MDBE
MzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3lJbnRlcm5hbC5oICovOyB9OwogCQkyRDlBMjQ3
NjE1QjlDMkY0MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQb2xpY3kuaCBpbiBDb3B5IEdlbmVy
YXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUEyNDcw
MTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeS5oICovOyB9OwogCQkyRDlG
MEUxMzE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAv
KiBsaW5lYXJTUkdCLmljYyAqLzsgfTsKKwkJMkRGMkU5RDUxNjZFMzk3NTAwMzVCRUYyIC8qIENv
bnNvbGVBUElUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkRGMkU5RDQxNjZFMzk3NDAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJFMDg4OEQ0MTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RP
TUZvcm1EYXRhLmNwcCAqLzsgfTsKIAkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9N
Rm9ybURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi87IH07CiAJCTJF
MDg4OEU2MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEU1MTE0ODg0RTIw
MEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCAqLzsgfTsKQEAgLTc5ODIsNiArNzk4
Myw3IEBACiAJCTJEOUEyNDcxMTVCOUMyOTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGlj
eUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTURPTVNlY3Vy
aXR5UG9saWN5SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5QTI0
NzIxNUI5QzJDNzAwRDM0NTI3IC8qIERPTURPTVNlY3VyaXR5UG9saWN5Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NRE9NU2VjdXJpdHlQb2xpY3kubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBs
aW5lYXJTUkdCLmljYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IGZpbGU7IHBhdGggPSBsaW5lYXJTUkdCLmljYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMkRGMkU5RDQxNjZFMzk3NDAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25zb2xlQVBJVHlwZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4QzMxMTQ4ODNBOTAwQUY0MjY1IC8qIERPTUZv
cm1EYXRhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01Gb3JtRGF0YS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RP
TUZvcm1EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9N
Rm9ybURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhEMzExNDg4
NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0RPTUZvcm1EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NDgwOCw2ICsxNDgxMCw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQkxQzgxQjk1OTBFOTczMzA4
MDAyNjZFMDcgLyogZnJvbnQtZW5kICovLAogCQkJCUYzNUFFNUFCMTQ5MjVGNUIwMDRENTc3NiAv
KiBCaW5kaW5nVmlzaXRvcnMuaCAqLywKKwkJCQkyREYyRTlENDE2NkUzOTc0MDAzNUJFRjIgLyog
Q29uc29sZUFQSVR5cGVzLmggKi8sCiAJCQkJNDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFDIC8qIENv
bnNvbGVNZXNzYWdlLmNwcCAqLywKIAkJCQk0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29u
c29sZU1lc3NhZ2UuaCAqLywKIAkJCQk1OTEwMkZCOTE0MzI3RDNCMDAzQzlEMDQgLyogQ29udGVu
dFNlYXJjaFV0aWxzLmNwcCAqLywKQEAgLTIyNzcwLDYgKzIyNzczLDcgQEAKIAkJCQlGRDMxNjA4
RjEyQjAyNkY3MDBDMUEzNTkgLyogQ29uZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVDOTdBRjMw
OEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwQjM2QTUw
Q0QzQzY3QzAwQUM3RUI1IC8qIENvbnNvbGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTJERjJFOUQ1
MTY2RTM5NzUwMDM1QkVGMiAvKiBDb25zb2xlQVBJVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQxRjA2MThFMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNFNTY0NEUxMzdBMzRENjAwN0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTgxODcyMUMwOTc3RDNDMDAwNTgyNkQ5IC8qIENvbnRhaW5lck5vZGUu
aCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvU2Ny
aXB0Q29udHJvbGxlckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvU2NyaXB0Q29u
dHJvbGxlckJhc2UuY3BwCmluZGV4IDg1NGQ1ODZhMjBjY2RkYWY0ZjFkN2IyNDJkY2NhZTE5MTkz
MWVhYTMuLjgxYjJmNTI5MzYwZGVlMTk5OWI2MGU4ZGQ0MTljZjBiNjU4MWYwOWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL1NjcmlwdENvbnRyb2xsZXJCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAKQEAgLTQx
LDcgKzQxLDcgQEAgYm9vbCBTY3JpcHRDb250cm9sbGVyOjpjYW5FeGVjdXRlU2NyaXB0cyhSZWFz
b25Gb3JDYWxsaW5nQ2FuRXhlY3V0ZVNjcmlwdHMgcmVhc28KICAgICBpZiAobV9mcmFtZS0+ZG9j
dW1lbnQoKSAmJiBtX2ZyYW1lLT5kb2N1bWVudCgpLT5pc1NhbmRib3hlZChTYW5kYm94U2NyaXB0
cykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2Zm
IHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KICAgICAgICAgaWYgKHJlYXNvbiA9PSBBYm91
dFRvRXhlY3V0ZVNjcmlwdCkKLSAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENv
bnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJCbG9ja2VkIHNjcmlwdCBleGVjdXRpb24gaW4gJyIgKyBtX2ZyYW1lLT5kb2N1
bWVudCgpLT51cmwoKS5zdHJpbmcoKSArICInIGJlY2F1c2UgdGhlIGRvY3VtZW50J3MgZnJhbWUg
aXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNl
dC4iKTsgCisgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShIVE1MTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIHNjcmlwdCBl
eGVjdXRpb24gaW4gJyIgKyBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKSArICIn
IGJlY2F1c2UgdGhlIGRvY3VtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93
LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsgCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3Vz
dG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3Vz
dG9tWFBhdGhOU1Jlc29sdmVyLmNwcAppbmRleCBkMWRjMGIxY2VlZDMyMTE2YjY3ZjEyNDhiMjgw
YTRmZDRkN2MzYmEzLi5hOWIzNGE2NTZjOGZmZWExZTc5ZTFjZGU2Zjc2ZjhmNjBkNDc5ODRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNv
bHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5T
UmVzb2x2ZXIuY3BwCkBAIC03OCw3ICs3OCw3IEBAIFN0cmluZyBKU0N1c3RvbVhQYXRoTlNSZXNv
bHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyYgcHJlZml4KQogICAgICAgICBj
YWxsVHlwZSA9IG1fY3VzdG9tUmVzb2x2ZXItPm1ldGhvZFRhYmxlKCktPmdldENhbGxEYXRhKG1f
Y3VzdG9tUmVzb2x2ZXIuZ2V0KCksIGNhbGxEYXRhKTsKICAgICAgICAgaWYgKGNhbGxUeXBlID09
IENhbGxUeXBlTm9uZSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFBhc3MgYWN0dWFsIGxpbmUg
bnVtYmVyIGFuZCBzb3VyY2UgVVJMLgotICAgICAgICAgICAgbV9nbG9iYWxPYmplY3QtPmltcGwo
KS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IEVycm9yTWVzc2FnZUxldmVsLCAiWFBhdGhOU1Jlc29sdmVyIGRvZXMgbm90IGhhdmUgYSBsb29r
dXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIpOworICAgICAgICAgICAgbV9nbG9iYWxPYmplY3QtPmlt
cGwoKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJYUGF0aE5TUmVzb2x2ZXIgZG9lcyBub3QgaGF2ZSBhIGxvb2t1cE5hbWVzcGFjZVVS
SSBtZXRob2QuIik7CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgICAgIH0KICAg
ICAgICAgZnVuY3Rpb24gPSBtX2N1c3RvbVJlc29sdmVyLmdldCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNv
bHZlci5jcHAKaW5kZXggM2U1ZmFlNzgzZDBiYzljOTk1ZDgxMDM1NWI4OTkwYWQzOGZlMDdiOS4u
ODZlM2MzZDU5Nzk0ZDY1YmI0ZmRlMGI2MTZhYWI5YzU5MWE1MmEwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21YUGF0aE5T
UmVzb2x2ZXIuY3BwCkBAIC02OCw3ICs2OCw3IEBAIFN0cmluZyBWOEN1c3RvbVhQYXRoTlNSZXNv
bHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyYgcHJlZml4KQogICAgIH0KIAog
ICAgIGlmIChsb29rdXBOYW1lc3BhY2VVUklGdW5jLklzRW1wdHkoKSAmJiAhbV9yZXNvbHZlci0+
SXNGdW5jdGlvbigpKSB7Ci0gICAgICAgIGFjdGl2ZURPTVdpbmRvdyhCaW5kaW5nU3RhdGU6Omlu
c3RhbmNlKCkpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNz
YWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJYUGF0aE5TUmVzb2x2ZXIgZG9lcyBub3QgaGF2
ZSBhIGxvb2t1cE5hbWVzcGFjZVVSSSBtZXRob2QuIik7CisgICAgICAgIGFjdGl2ZURPTVdpbmRv
dyhCaW5kaW5nU3RhdGU6Omluc3RhbmNlKCkpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlhQYXRoTlNSZXNvbHZlciBkb2VzIG5vdCBo
YXZlIGEgbG9va3VwTmFtZXNwYWNlVVJJIG1ldGhvZC4iKTsKICAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcAppbmRleCAyMjU3ODVmMjQzZWZl
NDY4Yzc2MTVjMTIzYjEyZjU5NGE0ZWUxM2I3Li45YmY4MWYxODkxZGU5ZGI2NjliNTQ0NDE3OWZi
MDM1MDJhNjM5YTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcApAQCAtMzI0LDcgKzMyNCw3
IEBAIHN0YXRpYyB2b2lkIGFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZShEb2N1
bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluCiAKICAgICBtZXNzYWdlLmFwcGVuZChzZXJpYWxp
emVkRXhwcmVzc2lvbik7CiAKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBUaXBNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwor
ICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgVGlwTWVz
c2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogdm9pZCByZXBvcnRNZWRpYVF1ZXJ5V2FybmluZ0lm
TmVlZGVkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgTWVkaWFRdWVyeVNldCogbWVkaWFRdWVy
eVNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGRjYTQ0OTMyZDYyOGFhZDRjZDM0ZGQ0
NzVjMmJjYmMzMzJmYzg2M2QuLjllMGVlMTkyZTkyZjE3OGQ0YjU5NGMyY2M0MjA5ODhjNmRkODc2
YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjYxNyw3ICsyNjE3LDcgQEAgRXZlbnRU
YXJnZXQqIERvY3VtZW50OjplcnJvckV2ZW50VGFyZ2V0KCkKIAogdm9pZCBEb2N1bWVudDo6bG9n
RXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNr
PiBjYWxsU3RhY2spCiB7Ci0gICAgYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVO
dW1iZXIsIGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0
YWNrKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0VVJMKGNvbnN0IEtVUkwmIHVybCkKQEAgLTI4
ODYsNyArMjg4Niw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYoY29uc3QgU3Ry
aW5nJiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAgICAgICAgICAgICAgIFN0cmlu
ZyBtZXNzYWdlID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiArIHVybCgpLnN0cmluZygpICsgIicg
aW4gYSBmcmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnIiArIGNvbnRl
bnQgKyAiJy4iOwogICAgICAgICAgICAgICAgIGZyYW1lTG9hZGVyLT5zdG9wQWxsTG9hZGVycygp
OwogICAgICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCktPnNjaGVkdWxl
TG9jYXRpb25DaGFuZ2Uoc2VjdXJpdHlPcmlnaW4oKSwgYmxhbmtVUkwoKSwgU3RyaW5nKCkpOwot
ICAgICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllcik7
CisgICAgICAgICAgICAgICAgYWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgcmVxdWVzdElkZW50aWZpZXIpOwogICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShlcXVpdiwgImNv
bnRlbnQtc2VjdXJpdHktcG9saWN5IikpCkBAIC00NzY0LDI5ICs0NzY0LDI5IEBAIHZvaWQgRG9j
dW1lbnQ6OnBhcnNlRE5TUHJlZmV0Y2hDb250cm9sSGVhZGVyKGNvbnN0IFN0cmluZyYgZG5zUHJl
ZmV0Y2hDb250cm9sKQogICAgIG1faGF2ZUV4cGxpY2l0bHlEaXNhYmxlZEROU1ByZWZldGNoID0g
dHJ1ZTsKIH0KIAotdm9pZCBEb2N1bWVudDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBEb2N1
bWVudDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyKQogewogICAgIGlmICghaXNDb250ZXh0VGhyZWFkKCkpIHsKLSAgICAgICAgcG9zdFRh
c2soQWRkQ29uc29sZU1lc3NhZ2VUYXNrOjpjcmVhdGUoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSkpOworICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZShz
b3VyY2UsIGxldmVsLCBtZXNzYWdlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBp
ZiAoRE9NV2luZG93KiB3aW5kb3cgPSBkb21XaW5kb3coKSkgewogICAgICAgICBpZiAoQ29uc29s
ZSogY29uc29sZSA9IHdpbmRvdy0+Y29uc29sZSgpKQotICAgICAgICAgICAgY29uc29sZS0+YWRk
TWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllciwg
dGhpcyk7CisgICAgICAgICAgICBjb25zb2xlLT5hZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1l
c3NhZ2UsIHJlcXVlc3RJZGVudGlmaWVyLCB0aGlzKTsKICAgICB9CiB9CiAKLXZvaWQgRG9jdW1l
bnQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1l
c3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
IGNhbGxTdGFjaywgU2NyaXB0U3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyKQordm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYg
c291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gY2FsbFN0YWNrLCBTY3JpcHRTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIpCiB7CiAgICAgaWYgKCFpc0NvbnRleHRUaHJlYWQoKSkgewotICAgICAgICBwb3N0
VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZShzb3VyY2UsIHR5cGUsIGxldmVsLCBt
ZXNzYWdlKSk7CisgICAgICAgIHBvc3RUYXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRl
KHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAg
IGlmIChET01XaW5kb3cqIHdpbmRvdyA9IGRvbVdpbmRvdygpKSB7CiAgICAgICAgIGlmIChDb25z
b2xlKiBjb25zb2xlID0gd2luZG93LT5jb25zb2xlKCkpCi0gICAgICAgICAgICBjb25zb2xlLT5h
ZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51
bWJlciwgY2FsbFN0YWNrLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICAgICAg
Y29uc29sZS0+YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxp
bmVOdW1iZXIsIGNhbGxTdGFjaywgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYWIwYjVmYzg2MDA5ZjFmMGVjNDg0ZDUwZjZkZDhh
YzAwNjIzY2RlZS4uMDQ1ZWMwNjlmMzUwNDg5YzNlYTZlMGYyZTViZTExOWJhMDAzNzBkNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKQEAgLTExNzgsNyArMTE3OCw3IEBAIHB1YmxpYzoKICAgICBEb2N1
bWVudCogdGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKTsKICNlbmRpZgogCi0gICAgdmly
dHVhbCB2b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0
SWRlbnRpZmllciA9IDApOworICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
bG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQo
RnJhbWUqLCBjb25zdCBLVVJMJiwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCk7CkBAIC0xMjEz
LDcgKzEyMTMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgS1VSTCYgdmlydHVhbFVS
TCgpIGNvbnN0OyAvLyBTYW1lIGFzIHVybCgpLCBidXQgbmVlZGVkIGZvciBTY3JpcHRFeGVjdXRp
b25Db250ZXh0IHRvIGltcGxlbWVudCBpdCB3aXRob3V0IGEgcGVyZm9ybWFuY2UgbG9zcyBmb3Ig
ZGlyZWN0IGNhbGxzLgogICAgIHZpcnR1YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwoY29uc3Qg
U3RyaW5nJikgY29uc3Q7IC8vIFNhbWUgYXMgY29tcGxldGVVUkwoKSBmb3IgdGhlIHNhbWUgcmVh
c29uIGFzIGFib3ZlLgogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+LCBTY3JpcHRTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyID0gMCk7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIFNj
cmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKIAog
ICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCA0ZmE1NTllOGZiODJiNWNkMjg0N2IzZGEw
MjA3OTM2YTUxNzE1NzFmLi4zMDBhNDA4M2U4OGI0OWU0YWI5MWIzNTIwMmFmYTk1NmY0YmMzNzc0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0zMzksNyArMzM5LDcgQEAg
dm9pZCBTY3JpcHRFbGVtZW50Ojpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3Vy
Y2UpCiAKICAgICAgICAgZGlzcGF0Y2hFcnJvckV2ZW50KCk7CiAgICAgICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3Jp
Z2luIHNjcmlwdCBsb2FkIGRlbmllZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBw
b2xpY3kuIikpKTsKLSAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
Y29uc29sZU1lc3NhZ2UpOworICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNz
YWdlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDg4MTQ2MGQ2MjBkZDczNjZiY2FiMGM4MTYz
MGZiNjk2NzdhZTFiMzQuLjFmZjM2MmQyNzRkMjVlYTczYWMyYzU4MWIyYjQ5MzcwNzA2NzQ2Yjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAg
LTkzLDcgKzkzLDcgQEAgcHVibGljOgogCiB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OkFk
ZENvbnNvbGVNZXNzYWdlVGFzazo6cGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCkKIHsKLSAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShtX3NvdXJjZSwgbV90
eXBlLCBtX2xldmVsLCBtX21lc3NhZ2UpOworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdl
KG1fc291cmNlLCBtX2xldmVsLCBtX21lc3NhZ2UpOwogfQogCiBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkKQEAgLTMyMSw5ICszMjEsOSBAQCB2b2lkIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJlcG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgaW50IGxpbgogICAgIG1fcGVuZGluZ0V4Y2VwdGlvbnMuY2xlYXIoKTsKIH0KIAot
dm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVt
YmVyLCBTY3JpcHRTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIp
Cit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFNjcmlwdFN0YXRl
KiBzdGF0ZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAgICBhZGRNZXNz
YWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwg
MCwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2
ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgMCwgc3RhdGUsIHJlcXVlc3RJZGVu
dGlmaWVyKTsKIH0KIAogYm9vbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpkaXNwYXRjaEVycm9y
RXZlbnQoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBT
dHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBiMGI4ZGJmM2U0MTdjYzAz
NzFkYjhmYjJiYjJlZDBmZThlNzdkZjRjLi42ZTQzNDY2MjFmOGVlMzQ1YTUyMDkwOGQyY2E5NjVj
MzM3YTc3ZmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgKQEAgLTg2LDggKzg2LDggQEAgcHVibGljOgogICAgIGJvb2wgc2FuaXRpemVTY3JpcHRFcnJv
cihTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50JiBsaW5lTnVtYmVyLCBTdHJpbmcmIHNvdXJjZVVS
TCwgQ2FjaGVkU2NyaXB0KiA9IDApOwogICAgIHZvaWQgcmVwb3J0RXhjZXB0aW9uKGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgQ2FjaGVkU2NyaXB0KiA9IDApOwogCi0g
ICAgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBTY3JpcHRTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJl
cXVlc3RJZGVudGlmaWVyID0gMCk7Ci0gICAgdmlydHVhbCB2b2lkIGFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApID0gMDsKKyAgICB2
b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51
bWJlciwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApOworICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0
SWRlbnRpZmllciA9IDApID0gMDsKIAogI2lmIEVOQUJMRShCTE9CKQogICAgIFB1YmxpY1VSTE1h
bmFnZXImIHB1YmxpY1VSTE1hbmFnZXIoKTsKQEAgLTE3MiwyMSArMTcyLDE5IEBAIHB1YmxpYzoK
IHByb3RlY3RlZDoKICAgICBjbGFzcyBBZGRDb25zb2xlTWVzc2FnZVRhc2sgOiBwdWJsaWMgVGFz
ayB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc093blB0cjxBZGRDb25zb2xlTWVz
c2FnZVRhc2s+IGNyZWF0ZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwg
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCisgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPEFkZENvbnNvbGVNZXNzYWdlVGFzaz4gY3JlYXRlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICAg
ICAgewotICAgICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBBZGRDb25zb2xlTWVzc2FnZVRh
c2soc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSkpOworICAgICAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBBZGRDb25zb2xlTWVzc2FnZVRhc2soc291cmNlLCBsZXZlbCwgbWVzc2FnZSkp
OwogICAgICAgICB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kik7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgQWRkQ29uc29sZU1lc3NhZ2VU
YXNrKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKKyAgICAgICAgQWRkQ29uc29sZU1lc3NhZ2VU
YXNrKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSkKICAgICAgICAgICAgIDogbV9zb3VyY2Uoc291cmNlKQotICAgICAgICAgICAg
LCBtX3R5cGUodHlwZSkKICAgICAgICAgICAgICwgbV9sZXZlbChsZXZlbCkKICAgICAgICAgICAg
ICwgbV9tZXNzYWdlKG1lc3NhZ2UuaXNvbGF0ZWRDb3B5KCkpCiAgICAgICAgIHsKICAgICAgICAg
fQogICAgICAgICBNZXNzYWdlU291cmNlIG1fc291cmNlOwotICAgICAgICBNZXNzYWdlVHlwZSBt
X3R5cGU7CiAgICAgICAgIE1lc3NhZ2VMZXZlbCBtX2xldmVsOwogICAgICAgICBTdHJpbmcgbV9t
ZXNzYWdlOwogICAgIH07CkBAIC0xOTUsNyArMTkzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IGNvbnN0IEtVUkwmIHZpcnR1YWxVUkwoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBLVVJMIHZp
cnR1YWxDb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0dWFs
IHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIFNjcmlwdFN0YXRlKiA9
IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSA9IDA7CiAgICAgdmlydHVhbCBFdmVudFRhcmdl
dCogZXJyb3JFdmVudFRhcmdldCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9u
VG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCwgaW50IGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikgPSAwOwog
ICAgIGJvb2wgZGlzcGF0Y2hFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBp
bnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIENhY2hlZFNjcmlwdCopOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXggMWE5OTkxMjkzN2Fk
NzBlZWU3MGJkOTJlZjNiYWEwYmFlZWMwNTkyNy4uMTA4ODM4MGE2NWU2MDBiZTE1ZDVjODNjMjIz
Y2FmNTJlYTYyZWFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJn
dW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3Bw
CkBAIC00NTAsNyArNDUwLDcgQEAgdm9pZCByZXBvcnRWaWV3cG9ydFdhcm5pbmcoRG9jdW1lbnQq
IGRvY3VtZW50LCBWaWV3cG9ydEVycm9yQ29kZSBlcnJvckNvZGUsIGNvbnMKICAgICAgICAgbWVz
c2FnZS5hcHBlbmQoIiBOb3RlIHRoYXQgJzsnIGlzIG5vdCBhIHNlcGFyYXRvciBpbiB2aWV3cG9y
dCB2YWx1ZXMuIFRoZSBsaXN0IHNob3VsZCBiZSBjb21tYS1zZXBhcmF0ZWQuIik7CiAKICAgICAv
LyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25j
ZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDMyNzQgZXhpc3RzLgotICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2Fn
ZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoZXJyb3JD
b2RlKSwgbWVzc2FnZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNz
YWdlU291cmNlLCB2aWV3cG9ydEVycm9yTWVzc2FnZUxldmVsKGVycm9yQ29kZSksIG1lc3NhZ2Up
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
V2ViS2l0QmxvYkJ1aWxkZXIuY3BwCmluZGV4IDgzMTJhNTQ3YzYyODgwNzVkMTQxZjg0NzMwMWM0
YjU1MmY3OGZkZGMuLmQyYjZiZWFiNTQ0ZmI1Y2Q1MGExNGRlYmVlOWYwYzQ0YjU3YWY0NjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwCkBAIC05Miw3
ICs5Miw3IEBAIHZvaWQgQmxvYkJ1aWxkZXI6OmFwcGVuZChjb25zdCBTdHJpbmcmIHRleHQsIGNv
bnN0IFN0cmluZyYgZW5kaW5nVHlwZSkKIHZvaWQgQmxvYkJ1aWxkZXI6OmFwcGVuZChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBBcnJheUJ1ZmZlciogYXJyYXlCdWZmZXIpCiB7CiAg
ICAgU3RyaW5nIGNvbnNvbGVNZXNzYWdlKCJBcnJheUJ1ZmZlciB2YWx1ZXMgYXJlIGRlcHJlY2F0
ZWQgaW4gQmxvYiBDb25zdHJ1Y3Rvci4gVXNlIEFycmF5QnVmZmVyVmlldyBpbnN0ZWFkLiIpOwot
ICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICBjb250ZXh0
LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWws
IGNvbnNvbGVNZXNzYWdlKTsKIAogICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1l
cmF0aW9uKCJXZWJDb3JlLkJsb2IuY29uc3RydWN0b3IuQXJyYXlCdWZmZXJPclZpZXciLCBCbG9i
Q29uc3RydWN0b3JBcnJheUJ1ZmZlciwgQmxvYkNvbnN0cnVjdG9yQXJyYXlCdWZmZXJPclZpZXdN
YXgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNw
cAppbmRleCA3MzM4M2UwOTMyMWM4ZTcwZTBjMTBjOTIwOGI0ZTYyMTJhMThmMjZlLi5kZjI3NjQy
Y2VmNGM1YjE5MWY0ZjM3NDQ2MzhiODkxOWVjZTZjY2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0
aWMgYm9vbCBzaG91bGRBdXRvZm9jdXMoSFRNTEZvcm1Db250cm9sRWxlbWVudCogZWxlbWVudCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChlbGVtZW50LT5kb2N1bWVudCgpLT5pc1Nh
bmRib3hlZChTYW5kYm94QXV0b21hdGljRmVhdHVyZXMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBU
aGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRp
b24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlz
dHMuCi0gICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2Vk
IGF1dG9mb2N1c2luZyBvbiBhIGZvcm0gY29udHJvbCBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUg
aXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNl
dC4iKTsKKyAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRN
TE1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdXRvZm9jdXNpbmcg
b24gYSBmb3JtIGNvbnRyb2wgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBh
bmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgaWYgKGVsZW1lbnQtPmhhc0F1dG9mb2N1c2VkKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKaW5kZXggYzZmMTZlOTBmZWUw
NjBlOWFjNzcxMjkxNWNiYTkyMDk1Nzk1ZWNjOC4uNGY3MzFhMDk5OWM5MzBhZmRhZDQyOTAxZDg0
NWMzMjY0NjFjODg5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApA
QCAtMjYwLDcgKzI2MCw3IEBAIGJvb2wgSFRNTEZvcm1FbGVtZW50Ojp2YWxpZGF0ZUludGVyYWN0
aXZlbHkoRXZlbnQqIGV2ZW50KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg
ICAgU3RyaW5nIG1lc3NhZ2UoIkFuIGludmFsaWQgZm9ybSBjb250cm9sIHdpdGggbmFtZT0nJW5h
bWUnIGlzIG5vdCBmb2N1c2FibGUuIik7CiAgICAgICAgICAgICBtZXNzYWdlLnJlcGxhY2UoIiVu
YW1lIiwgdW5oYW5kbGVkQXNzb2NpYXRlZEVsZW1lbnQtPm5hbWUoKSk7Ci0gICAgICAgICAgICBk
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICAgICAgICAgIGRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgbWVzc2FnZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAppbmRleCA4ZDJiZWM5OTY4NDA0ZTkz
N2RmOTJlY2I3OGRjMmViY2JlYjdiNWIxLi41NTdiOTMwNmU0M2IzYjgxZTIwNzk1ZTcxZDVkZGM4
MmUyZThmNzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcApA
QCAtOTAsNyArOTAsNyBAQCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdAogICAgICAgICBTdHJpbmcg
aW52YWxpZFRva2VuczsKICAgICAgICAgc2V0U2FuZGJveEZsYWdzKHZhbHVlLmlzTnVsbCgpID8g
U2FuZGJveE5vbmUgOiBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeSh2YWx1ZSwg
aW52YWxpZFRva2VucykpOwogICAgICAgICBpZiAoIWludmFsaWRUb2tlbnMuaXNOdWxsKCkpCi0g
ICAgICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igd2hpbGUgcGFyc2lu
ZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogIiArIGludmFsaWRUb2tlbnMpOworICAgICAgICAg
ICAgZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0
ZTogIiArIGludmFsaWRUb2tlbnMpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBzZWFtbGVzc0F0
dHIpIHsKICAgICAgICAgLy8gSWYgd2UncmUgYWRkaW5nIG9yIHJlbW92aW5nIHRoZSBzZWFtbGVz
cyBhdHRyaWJ1dGUsIHdlIG5lZWQgdG8gZm9yY2UgdGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8gcmVj
YWxjdWxhdGUgaXRzIFN0eWxlUmVzb2x2ZXIuCiAgICAgICAgIGlmIChjb250ZW50RG9jdW1lbnQo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCmluZGV4IGY1ZjJiNTYz
ZWIwMjk2NWFhMDVjZTkzZTQxMjc2MzNkZGFkOTkyYjUuLmY0NmY1NWQ1MWI5ODJhOTcyMjA4OGNh
NDJjZjhiYjgzNjljMTBmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRy
YWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50
LmNwcApAQCAtMjMwLDcgKzIzMCw3IEBAIGJvb2wgSFRNTFRyYWNrRWxlbWVudDo6Y2FuTG9hZFVy
bChjb25zdCBLVVJMJiB1cmwpCiAKICAgICBpZiAoIWRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0
eVBvbGljeSgpLT5hbGxvd01lZGlhRnJvbVNvdXJjZSh1cmwpKSB7CiAgICAgICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiVGV4dCB0
cmFjayBsb2FkIGRlbmllZCBieSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4iKSkpOwotICAgICAg
ICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBkb2N1
bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxl
dmVsLCBjb25zb2xlTWVzc2FnZSk7CiAgICAgICAgIExPRyhNZWRpYSwgIkhUTUxUcmFja0VsZW1l
bnQ6OmNhbkxvYWRVcmwoJXMpIC0+IHJlamVjdGVkIGJ5IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5
IiwgdXJsRm9yTG9nZ2luZyh1cmwpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggYjQ1ZmY0MDA5NWI2MTI5MmIwMzM4MGZlZmM5
OGNkMjcxMWM2NzQyOS4uOWYxYWM4YjMyNzljYjU3M2FmMTU2MWI2ZWZjYWY2NTY2ZWU0ODdlMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuY3BwCkBAIC0xOTE2LDcgKzE5MTYsNyBAQCBQYXNzUmVmUHRyPEltYWdlRGF0
YT4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEoSW1hZ2VCdWZmZXI6OkNv
b3JkaQogewogICAgIGlmICghY2FudmFzKCktPm9yaWdpbkNsZWFuKCkpIHsKICAgICAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJV
bmFibGUgdG8gZ2V0IGltYWdlIGRhdGEgZnJvbSBjYW52YXMgYmVjYXVzZSB0aGUgY2FudmFzIGhh
cyBiZWVuIHRhaW50ZWQgYnkgY3Jvc3Mtb3JpZ2luIGRhdGEuIikpKTsKLSAgICAgICAgY2FudmFz
KCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGNh
bnZhcygpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAgICAgICAgIGVjID0gU0VDVVJJVFlf
RVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBkMzllMmJiODhlYzMx
MmMyNjhjODZkNDE5ZDk2ZWY3ZjExNzEwNmNiLi5hM2Y3ZmFjNTkxMDQ3NDVmNmIzYjM4NDQyMjg4
NzVmOGVlZjUwNzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTUyNTUsNyArNTI1NSw3IEBAIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpwcmludFdhcm5pbmdUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNz
YWdlKQogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNhbnZhcygpLT5kb2N1bWVudCgpOwogICAg
IGlmICghZG9jdW1lbnQpCiAgICAgICAgIHJldHVybjsKLSAgICBkb2N1bWVudC0+YWRkQ29uc29s
ZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2Fn
ZUxldmVsLCBtZXNzYWdlKTsKKyAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1l
c3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiBib29sIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVGcmFtZWJ1ZmZlckZ1bmNQYXJhbWV0ZXJzKGNv
bnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBhdHRhY2ht
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcAppbmRleCA5M2Jl
Y2Q5OTM3ZTI5ZDE5MTU2MzZlNDMzMmQzOTVmNzIyMmYzOGIyLi5hY2ZjYzJmYjllODRlMjViNWQ1
ZDQzOTI5YjY3ODljNzBmNDlkZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9YU1NBdWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NB
dWRpdG9yLmNwcApAQCAtMjM5LDcgKzIzOSw3IEBAIHZvaWQgWFNTQXVkaXRvcjo6aW5pdCgpCiAg
ICAgICAgIH0KIAogICAgICAgICBpZiAobV94c3NQcm90ZWN0aW9uID09IFhTU1Byb3RlY3Rpb25J
bnZhbGlkKSB7Ci0gICAgICAgICAgICBtX3BhcnNlci0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJFcnJvciBwYXJzaW5nIGhlYWRlciBYLVhTUy1Qcm90ZWN0aW9uOiAiICsgaGVhZGVyVmFsdWUg
KyAiOiAiICArIGVycm9yRGV0YWlscyArICIgYXQgY2hhcmFjdGVyIHBvc2l0aW9uICIgKyBTdHJp
bmc6OmZvcm1hdCgiJXUiLCBlcnJvclBvc2l0aW9uKSArICIuIFRoZSBkZWZhdWx0IHByb3RlY3Rp
b25zIHdpbGwgYmUgYXBwbGllZC4iKTsKKyAgICAgICAgICAgIG1fcGFyc2VyLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAi
RXJyb3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVlICsg
IjogIiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3RyaW5n
Ojpmb3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0aW9u
cyB3aWxsIGJlIGFwcGxpZWQuIik7CiAgICAgICAgICAgICBtX3hzc1Byb3RlY3Rpb24gPSBYU1NQ
cm90ZWN0aW9uRW5hYmxlZDsKICAgICAgICAgfQogCkBAIC0yOTAsNyArMjkwLDcgQEAgdm9pZCBY
U1NBdWRpdG9yOjpmaWx0ZXJUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgIGlmIChkaWRCbG9j
a1NjcmlwdCkgewogICAgICAgICAvLyBGSVhNRTogQ29uc2lkZXIgdXNpbmcgYSBtb3JlIGhlbHBm
dWwgY29uc29sZSBtZXNzYWdlLgogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywg
Y29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIlJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFT
Y3JpcHQgc2NyaXB0LiBTb3VyY2UgY29kZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3Qu
XG4iKSkpOwotICAgICAgICBtX3BhcnNlci0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNv
bGVNZXNzYWdlKTsKKyAgICAgICAgbV9wYXJzZXItPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsK
IAogICAgICAgICBib29sIGRpZEJsb2NrRW50aXJlUGFnZSA9IChtX3hzc1Byb3RlY3Rpb24gPT0g
WFNTUHJvdGVjdGlvbkJsb2NrRW5hYmxlZCk7CiAgICAgICAgIGlmIChkaWRCbG9ja0VudGlyZVBh
Z2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTkwZjExNTgyMjdmZTVjOWNlODg0MzY2YzRiYTdjZjc1NGVmOWZjMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaApAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENvbnNvbGVBUElUeXBlc19oCisjZGVm
aW5lIENvbnNvbGVBUElUeXBlc19oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBNZXNz
YWdlVHlwZSB7CisgICAgTG9nTWVzc2FnZVR5cGUsCisgICAgRGlyTWVzc2FnZVR5cGUsCisgICAg
RGlyWE1MTWVzc2FnZVR5cGUsCisgICAgVHJhY2VNZXNzYWdlVHlwZSwKKyAgICBTdGFydEdyb3Vw
TWVzc2FnZVR5cGUsCisgICAgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlLAorICAgIEVu
ZEdyb3VwTWVzc2FnZVR5cGUsCisgICAgQ2xlYXJNZXNzYWdlVHlwZSwKKyAgICBBc3NlcnRNZXNz
YWdlVHlwZSwKKyAgICBUaW1pbmdNZXNzYWdlVHlwZQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gQ29uc29sZUFQSVR5cGVzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggZGU5YzAzZWQwMzJhNGI2MTFhNzExODM4ZThjNzY3
OGExMjBmODM3NC4uNmEzOGQzNDBiZGVlZDhhODcxZDVjZTU1YzY3ODBmNTcyZWJiNDA0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTMxLDYgKzMxLDcg
QEAKICNpZm5kZWYgQ29uc29sZU1lc3NhZ2VfaAogI2RlZmluZSBDb25zb2xlTWVzc2FnZV9oCiAK
KyNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgK
aW5kZXggOTdmMzNlNWMwNWQwNzdkYTc3NDQ4OTNhNzc5ZDJiMDY4MWIxNzgwZi4uODU5MWEwMzYw
ZjQxODIzYzU1YTFhMDU5YzY0OTAwZmQzOTNjMzY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApAQCAtMjcsNiArMjcsNyBAQAogCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKIAorI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgogI2lu
Y2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCBjNGZiZmE0YTcwZDg2YjM2NGYw
ZGVlM2E5MTJmNTg5YzJhZjM3MTRjLi4wYjE5YTcxMTJiMGU4YjNlZmE0Y2VkOWM1YjVkYzA3MWQy
MzhkYjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKICNkZWZpbmUgSW5zcGVjdG9yRGVidWdnZXJB
Z2VudF9oCiAKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgRU5BQkxFKElOU1BF
Q1RPUikKKyNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKICNpbmNsdWRlICJDb25zb2xlVHlw
ZXMuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJh
c2VBZ2VudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCAwYzlkMTdlYjJhN2JjMGU1YzQ5NjQ1NDI0MzQ0NmUz
ZWZjZDU5NjIzLi43Y2M5NzZkMjEwOGUzYjVmMzJmODI3YTNlY2VkZjc3ZGM3ZjdhZWM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcApAQCAtMzYsNiArMzYsOCBAQAogCiAjaW5jbHVkZSAiQ1NTUnVsZS5oIgogI2luY2x1
ZGUgIkNTU1N0eWxlUnVsZS5oIgorI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgorI2luY2x1
ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRh
dGFiYXNlLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25EYXRhLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXgg
OTU5NTEyYjU5Mjg1OTE1Mzc3NTdjMTdhODczODc1Y2I4YzI3ZTM4Ny4uYjE3YmQwYzRhYzlmZDM3
ZjVjOTE3MjI3M2Y4NWJmM2JiYzk5ZjgxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMzIsNiArMzIsNyBAQAogI2Rl
ZmluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25faAogCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3Iu
aCIKKyNpbmNsdWRlICJDb25zb2xlQVBJVHlwZXMuaCIKICNpbmNsdWRlICJDb25zb2xlVHlwZXMu
aCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAppbmRleCA2
ZDcxODViYzQ4YTgxNmJhZGM4MzA0ZTFjZDdjNmZmNGMzOTQ3ZjdjLi4zOWEzZjI0YzFlOWFiM2Zh
ZTlkOTIzZWIxMDY3OTU3NThmNTVjOWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAjaW5j
bHVkZSAiSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIgogCiAjaW5jbHVkZSAiQ29uc29sZS5oIgor
I2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgorI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgog
I2luY2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmgKaW5kZXggODY5ZjkwZjU0YTc3MjhlOTBiMjliYzkxZDJjMjM5OGViNmNh
Zjg5Yy4uZDlhYTY3YWNhNWVkMzA1YzI3MWI1NzQ3ZDk4MGJmOGVkZjUwNDUxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMTA1LDcgKzEwNSw3IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9CisgICAg
dmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9CiAKICAgICB2
aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCkgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0
IFN0cmluZyYsIEZyYW1lKikgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAKaW5kZXggOTc0NDFiNDFiNmE2ZTJlNDI5YWU1MjFiYTRmYTc1ZmJkNmIwZDIz
NS4uZmFmMWU3ZGEyM2QxMGM0NDM0Yjg5YjMzYzYwZjIzNDc3ZDZiNjkxMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0zMzUsNyArMzM1LDcgQEAgdm9pZCBGcmFtZUxv
YWRlcjo6c3VibWl0Rm9ybShQYXNzUmVmUHRyPEZvcm1TdWJtaXNzaW9uPiBzdWJtaXNzaW9uKQog
CiAgICAgaWYgKGlzRG9jdW1lbnRTYW5kYm94ZWQobV9mcmFtZSwgU2FuZGJveEZvcm1zKSkgewog
ICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNv
bnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRD
b25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCAiQmxvY2tlZCBmb3JtIHN1Ym1pc3Npb24gdG8gJyIgKyBzdWJtaXNzaW9uLT5h
Y3Rpb24oKS5zdHJpbmcoKSArICInIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94
ZWQgYW5kIHRoZSAnYWxsb3ctZm9ybXMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAg
ICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBmb3JtIHN1Ym1pc3Npb24gdG8gJyIgKyBz
dWJtaXNzaW9uLT5hY3Rpb24oKS5zdHJpbmcoKSArICInIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFt
ZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctZm9ybXMnIHBlcm1pc3Npb24gaXMgbm90IHNl
dC4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTQwNiw3ICsxNDA2LDcgQEAgdm9p
ZCBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKEZyYW1lKiBmcmFtZSwgY29uc3Qg
U3RyaW5nJiB1cmwpCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZnJh
bWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiTm90IGFsbG93ZWQgdG8gbG9hZCBsb2NhbCBy
ZXNvdXJjZTogIiArIHVybCk7CisgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJOb3QgYWxsb3dlZCB0byBs
b2FkIGxvY2FsIHJlc291cmNlOiAiICsgdXJsKTsKIH0KIAogY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBGcmFtZUxvYWRlcjo6aW5pdGlhbFJlcXVlc3QoKSBjb25zdApAQCAtMjkyMSw3ICsyOTIxLDcg
QEAgYm9vbCBGcmFtZUxvYWRlcjo6c2hvdWxkSW50ZXJydXB0TG9hZEZvclhGcmFtZU9wdGlvbnMo
Y29uc3QgU3RyaW5nJiBjb250ZW50LCBjb24KICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIkludmFsaWQgJ1gtRnJhbWUtT3B0
aW9ucycgaGVhZGVyIGVuY291bnRlcmVkIHdoZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmcoKSAr
ICInOiAnIiArIGNvbnRlbnQgKyAiJyBpcyBub3QgYSByZWNvZ25pemVkIGRpcmVjdGl2ZS4gVGhl
IGhlYWRlciB3aWxsIGJlIGlnbm9yZWQuIjsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgbV9mcmFt
ZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSwgcmVxdWVzdElkZW50aWZpZXIpOwogICAgIH0KIAogICAgIHJl
dHVybiBmYWxzZTsKQEAgLTMyOTQsNyArMzI5NCw3IEBAIEZyYW1lKiBjcmVhdGVXaW5kb3coRnJh
bWUqIG9wZW5lckZyYW1lLCBGcmFtZSogbG9va3VwRnJhbWUsIGNvbnN0IEZyYW1lTG9hZFJlcXVl
CiAgICAgLy8gU2FuZGJveGVkIGZyYW1lcyBjYW5ub3Qgb3BlbiBuZXcgYXV4aWxpYXJ5IGJyb3dz
aW5nIGNvbnRleHRzLgogICAgIGlmIChpc0RvY3VtZW50U2FuZGJveGVkKG9wZW5lckZyYW1lLCBT
YW5kYm94UG9wdXBzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBi
ZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICBvcGVuZXJG
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgb3BlbmluZyAnIiArIHJl
cXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkgKyAiJyBpbiBhIG5ldyB3aW5k
b3cgYmVjYXVzZSB0aGUgcmVxdWVzdCB3YXMgbWFkZSBpbiBhIHNhbmRib3hlZCBmcmFtZSB3aG9z
ZSAnYWxsb3ctcG9wdXBzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIG9wZW5l
ckZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIG9wZW5pbmcgJyIgKyByZXF1ZXN0LnJlc291cmNl
UmVxdWVzdCgpLnVybCgpLnN0cmluZygpICsgIicgaW4gYSBuZXcgd2luZG93IGJlY2F1c2UgdGhl
IHJlcXVlc3Qgd2FzIG1hZGUgaW4gYSBzYW5kYm94ZWQgZnJhbWUgd2hvc2UgJ2FsbG93LXBvcHVw
cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IGUyMjQ3ZDI1NGM3Zjg2MDll
ZjZlYTJhOTc3M2I1ZjlmN2QxYjY5NWEuLmU2N2VkNTkwNDY3ODA4ODI4NGNmMzY0OTAyMGUxMzFk
YmEwMjhjMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtMjgyLDcg
KzI4Miw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSkKICAgICAgICAgZXJyb3JFdmVudFNlbmRlcigpLmRpc3BhdGNoRXZlbnRTb29u
KHRoaXMpOwogCiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVz
c2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIGltYWdlIGxvYWQgZGVuaWVkIGJ5IENy
b3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iKSkpOwotICAgICAgICBkb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBkb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25z
b2xlTWVzc2FnZSk7CiAKICAgICAgICAgQVNTRVJUKCFtX2hhc1BlbmRpbmdMb2FkRXZlbnQpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDY5
MTRlOTE1YjQyMmFhNzZiY2ZhZjY0YTgyZmY4YmYyMTNhMzIwODIuLmYwNzQxODlkZDBjMDI1ZDAw
OWRlYzBkZWY4YmE1ZmUxYmMyZDY5MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWlu
UmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zNjcsNyArMzY3LDcgQEAgdm9pZCBNYWluUmVzb3VyY2VM
b2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByKQogICAg
ICAgICBpZiAoZnJhbWVMb2FkZXIoKS0+c2hvdWxkSW50ZXJydXB0TG9hZEZvclhGcmFtZU9wdGlv
bnMoY29udGVudCwgci51cmwoKSwgaWRlbnRpZmllcigpKSkgewogICAgICAgICAgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZUFmdGVyWEZyYW1lT3B0aW9uc0RlbmllZChtX2Rv
Y3VtZW50TG9hZGVyLT5mcmFtZSgpLCBkb2N1bWVudExvYWRlcigpLCBpZGVudGlmaWVyKCksIHIp
OwogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiUmVmdXNlZCB0byBkaXNwbGF5ICciICsg
ci51cmwoKS5zdHJpbmcoKSArICInIGluIGEgZnJhbWUgYmVjYXVzZSBpdCBzZXQgJ1gtRnJhbWUt
T3B0aW9ucycgdG8gJyIgKyBjb250ZW50ICsgIicuIjsKLSAgICAgICAgICAgIG1fZG9jdW1lbnRM
b2FkZXItPmZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBpZGVudGlm
aWVyKCkpOworICAgICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
bWVzc2FnZSwgaWRlbnRpZmllcigpKTsKIAogICAgICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250
ZW50Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tl
ci5jcHAKaW5kZXggMzgxOGQ1ZmIwMWFlMTJhNjQzMTVjNGFmZDQ5YzQzOGViZTY5ZDBhMS4uYjhj
MjkzZGNiM2IzODBjMzlkNWNmNDE4N2Q1MjViMTliZWIyYjQyYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcApAQCAtMTAyLDcgKzEwMiw3IEBAIHZv
aWQgTWl4ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyhib29sIGFsbG93ZWQsIGNvbnN0IFN0
cmluZyYgYWN0aW9uLCBjb25zdCBLCiAgICAgLy8gRklYTUU6IFdoeSBkb2VzIHRoaXMgbWVzc2Fn
ZSBub3QgaGF2ZSBhIHNvdXJjZSBVUkwgb3IgYSBsaW5lIG51bWJlcj8gd2Via2l0Lm9yZy9iLzk3
OTc5CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBTdHJpbmc6OmZvcm1hdCgiJXNUaGUgcGFnZSBhdCAl
cyAlcyBpbnNlY3VyZSBjb250ZW50IGZyb20gJXMuXG4iLAogICAgICAgICAoYWxsb3dlZCA/ICIi
IDogIltibG9ja2VkXSAiKSwgYXNVVEY4KG1fZnJhbWUtPmRvY3VtZW50KCktPnVybCgpKS5kYXRh
KCksIGFjdGlvbi51dGY4KCkuZGF0YSgpLCBhc1VURjgodGFyZ2V0KS5kYXRhKCkpOwotICAgIG1f
ZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbV9mcmFt
ZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIFdhcm5p
bmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCmluZGV4IDdlMTRiNDMzNDlj
ODUwYTE5NWI2NmMyNTkwNjEzNmQ4YjgwZjZmNDAuLmY2YWVmNDlmMDkwYjk3NzdlN2RiZTllNjAx
OTkxZDI4YzIwMTI2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJh
Y2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIu
Y3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6OmNvcnNQb2xpY3lQ
cmV2ZW50ZWRMb2FkKCkKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29s
ZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiB0ZXh0IHRyYWNrIGxvYWQgZGVu
aWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iKSkpOwogICAgIERv
Y3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4obV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0KTsKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsK
KyAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVHcm91cC5jcHAKaW5kZXggMTE4ZWUxYTVkODVkMzcwZDM2NTA1NWYzMTVlMzA2Zjg2YzRh
MjIyNi4uYWYyYzk1MmRhOGRkYmEwMzlmOTQ2NjQ3MzEyYTJmOWYyM2Q4NzM3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVH
cm91cC5jcHAKQEAgLTQ3NCw3ICs0NzQsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
YWJvcnQoRnJhbWUqIGZyYW1lKQogICAgIGlmIChtX2NvbXBsZXRpb25UeXBlICE9IE5vbmUpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBUaXBNZXNzYWdlTGV2ZWwsICJB
cHBsaWNhdGlvbiBDYWNoZSBkb3dubG9hZCBwcm9jZXNzIHdhcyBhYm9ydGVkLiIpOworICAgIGZy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIFRp
cE1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFi
b3J0ZWQuIik7CiAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKIH0KIApAQCAtNTY4LDcgKzU2OCw3
IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3Vy
Y2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzCiAKICAgICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1
c0NvZGUoKSAvIDEwMCAhPSAyIHx8IHJlc3BvbnNlLnVybCgpICE9IG1fY3VycmVudEhhbmRsZS0+
Zmlyc3RSZXF1ZXN0KCkudXJsKCkpIHsKICAgICAgICAgaWYgKCh0eXBlICYgQXBwbGljYXRpb25D
YWNoZVJlc291cmNlOjpFeHBsaWNpdCkgfHwgKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2U6OkZhbGxiYWNrKSkgewotICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyBt
X2N1cnJlbnRIYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpLnN0cmluZygpICsgCisgICAgICAg
ICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxl
ZCwgYmVjYXVzZSAiICsgbV9jdXJyZW50SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJp
bmcoKSArIAogICAgICAgICAgICAgICAgICgocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEw
MCAhPSAyKSA/ICIgY291bGQgbm90IGJlIGZldGNoZWQuIiA6ICIgd2FzIHJlZGlyZWN0ZWQuIikp
OwogICAgICAgICAgICAgLy8gTm90ZSB0aGF0IGNhY2hlVXBkYXRlRmFpbGVkKCkgY2FuIGNhdXNl
IHRoZSBjYWNoZSBncm91cCB0byBiZSBkZWxldGVkLgogICAgICAgICAgICAgY2FjaGVVcGRhdGVG
YWlsZWQoKTsKQEAgLTY0NSw3ICs2NDUsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBkb3VibGUgZmluaQogICAg
IC8vIEZJWE1FOiBTaG91bGQgd2UgYnJlYWsgZWFybGllciBhbmQgcHJldmVudCByZWRvd25sb2Fk
aW5nIG9uIGxhdGVyIHBhZ2UgbG9hZHM/CiAgICAgaWYgKG1fb3JpZ2luUXVvdGFFeGNlZWRlZFBy
ZXZpb3VzbHkgJiYgbV9hdmFpbGFibGVTcGFjZUluUXVvdGEgPCBtX2NhY2hlQmVpbmdVcGRhdGVk
LT5lc3RpbWF0ZWRTaXplSW5TdG9yYWdlKCkpIHsKICAgICAgICAgbV9jdXJyZW50UmVzb3VyY2Ug
PSAwOwotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhl
ck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxp
Y2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVk
ZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90
aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1
cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNpemUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIpOwogICAgICAg
ICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjc4LDcg
KzY3OCw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGYWlsKFJlc291cmNlSGFu
ZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlRXJyb3ImCiAgICAgbV9wZW5kaW5nRW50cmllcy5y
ZW1vdmUodXJsKTsKIAogICAgIGlmICgodHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6
RXhwbGljaXQpIHx8ICh0eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpGYWxsYmFjaykp
IHsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNh
dGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyB1cmwuc3RyaW5nKCkgKyAiIGNv
dWxkIG5vdCBiZSBmZXRjaGVkLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRD
b25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBw
bGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgdXJsLnN0cmluZygpICsg
IiBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iKTsKICAgICAgICAgLy8gTm90ZSB0aGF0IGNhY2hlVXBk
YXRlRmFpbGVkKCkgY2FuIGNhdXNlIHRoZSBjYWNoZSBncm91cCB0byBiZSBkZWxldGVkLgogICAg
ICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgIH0gZWxzZSB7CkBAIC03MDcsMTMgKzcwNywx
MyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkUmVjZWl2ZU1hbmlmZXN0UmVzcG9u
c2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAo
cmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyKSB7Ci0gICAgICAgIG1fZnJhbWUt
PmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3Qg
Y291bGQgbm90IGJlIGZldGNoZWQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJB
cHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iKTsKICAgICAg
ICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlm
IChyZXNwb25zZS51cmwoKSAhPSBtX21hbmlmZXN0SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwo
KSkgewotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhl
ck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxp
Y2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNhdXNlIGEgcmVk
aXJlY3Rpb24gd2FzIGF0dGVtcHRlZC4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNhdXNl
IGEgcmVkaXJlY3Rpb24gd2FzIGF0dGVtcHRlZC4iKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWls
ZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTczMyw3ICs3MzMsNyBAQCB2b2lkIEFw
cGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0KCkKIAogICAgIGlm
ICghaXNVcGdyYWRlQXR0ZW1wdCAmJiAhbV9tYW5pZmVzdFJlc291cmNlKSB7CiAgICAgICAgIC8v
IFRoZSBzZXJ2ZXIgcmV0dXJuZWQgMzA0IE5vdCBNb2RpZmllZCBldmVuIHRob3VnaCB3ZSBkaWRu
J3Qgc2VuZCBhIGNvbmRpdGlvbmFsIHJlcXVlc3QuCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90
IGJlIGZldGNoZWQgYmVjYXVzZSBvZiBhbiB1bmV4cGVjdGVkIDMwNCBOb3QgTW9kaWZpZWQgc2Vy
dmVyIHJlc3BvbnNlLiIpOworICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRp
b24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVzZSBvZiBhbiB1bmV4
cGVjdGVkIDMwNCBOb3QgTW9kaWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpOwogICAgICAgICBjYWNo
ZVVwZGF0ZUZhaWxlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNzU5LDcgKzc1OSw3
IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nTWFuaWZlc3Qo
KQogICAgIE1hbmlmZXN0IG1hbmlmZXN0OwogICAgIGlmICghcGFyc2VNYW5pZmVzdChtX21hbmlm
ZXN0VVJMLCBtX21hbmlmZXN0UmVzb3VyY2UtPmRhdGEoKS0+ZGF0YSgpLCBtX21hbmlmZXN0UmVz
b3VyY2UtPmRhdGEoKS0+c2l6ZSgpLCBtYW5pZmVzdCkpIHsKICAgICAgICAgLy8gQXQgdGhlIHRp
bWUgb2YgdGhpcyB3cml0aW5nLCBsYWNrIG9mICJDQUNIRSBNQU5JRkVTVCIgc2lnbmF0dXJlIGlz
IHRoZSBvbmx5IHJlYXNvbiBmb3IgcGFyc2VNYW5pZmVzdCB0byBmYWlsLgotICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlm
ZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5JRkVT
VD8iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3Ro
ZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1h
bmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5J
RkVTVD8iKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTk0OCw3ICs5NDgsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hl
Y2tJZkxvYWRJc0NvbXBsZXRlKCkKICAgICAgICAgICAgICAgICAvLyBXZSByYW4gb3V0IG9mIHNw
YWNlIGZvciB0aGlzIG9yaWdpbi4gRmFsbCBkb3duIHRvIHRoZSBub3JtYWwgZXJyb3IgaGFuZGxp
bmcKICAgICAgICAgICAgICAgICAvLyBhZnRlciByZWNvcmRpbmcgdGhpcyBzdGF0ZS4KICAgICAg
ICAgICAgICAgICBtX29yaWdpblF1b3RhRXhjZWVkZWRQcmV2aW91c2x5ID0gdHJ1ZTsKLSAgICAg
ICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0
aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQu
Iik7CisgICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENh
Y2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIik7CiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChmYWlsdXJlUmVhc29uID09IEFwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlOjpUb3RhbFF1b3RhUmVhY2hlZCAmJiAhbV9jYWxsZWRSZWFjaGVkTWF4
QXBwQ2FjaGVTaXplKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAxYjJjNWNlZDI0MmNmMWM2NDc2YjAxZTk0NTY3
YjBjZWU4MjlmZTQ1Li5lOTM3YjdiY2IyYjgyODc2M2Q3NzgzYjg0NzBiOTBiODgwMGIwN2VjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTYzNiw3ICs2MzYsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpw
cmludEFjY2Vzc0RlbmllZE1lc3NhZ2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAogICAgIGVsc2UK
ICAgICAgICAgbWVzc2FnZSA9ICJVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCAiICsgdXJsLnN0
cmluZygpICsgIiBmcm9tIGZyYW1lIHdpdGggVVJMICIgKyBtX2RvY3VtZW50LT51cmwoKS5zdHJp
bmcoKSArICIuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC5cbiI7CiAK
LSAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VT
b3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAg
ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnNldEF1dG9Mb2FkSW1hZ2VzKGJvb2wgZW5hYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgKaW5kZXggMzk1YWQ2ZTc2Mjk0ZTRhNzcwMDIzMzc3YjRjNjNmNDVhYjI1NGY1Zi4u
YTMzY2JjYzExZWM5ZWYwNzUwNzJmNTdhNTIzODdmOWZmNDIyY2E4YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZUNsaWVudC5oCkBAIC0yMyw2ICsyMyw3IEBACiAjZGVmaW5lIENocm9tZUNsaWVudF9o
CiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCisjaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVz
LmgiCiAjaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5j
bHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKQEAgLTEzNSw3ICsxMzYsMTIgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgPSAwOwog
ICAgICAgICAKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkgPSAwOwor
ICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VJRCkgPSAwOworICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHRo
aXMgTWVzc2FnZVR5cGUgdmFyaWFudCBvbmNlIGFsbCB0aGUgY2xpZW50cyBhcmUgdXBkYXRlZC4K
KyAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBz
b3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKKyAgICAg
ICAgeworICAgICAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIGxldmVsLCBtZXNz
YWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VJRCk7CisgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFs
IGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCkgPSAwOwogICAgICAgICB2aXJ0
dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgRnJhbWUqIGZyYW1lKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnNvbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAppbmRleCA1NzE0ZDZm
YjFlZGFiOTQ1MjNlYzFlNjNmNmE4YzgxOWVjODlhN2ZmLi5kNGUzNDgxODNjODAyODIxMmRjN2Q2
YzNmMzYxOGQ4ZDcwMGMyY2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNv
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKQEAgLTMxLDYgKzMx
LDggQEAKIAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgor
I2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgorI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFt
ZUxvYWRlci5oIgpAQCAtMTM2LDcgKzEzOCw3IEBAIHN0YXRpYyB2b2lkIHByaW50TWVzc2FnZVNv
dXJjZUFuZExldmVsUHJlZml4KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwKICAg
ICBwcmludGYoIiVzICVzOiIsIHNvdXJjZVN0cmluZywgbGV2ZWxTdHJpbmcpOwogfQogCi12b2lk
IENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5
cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyLCBEb2N1bWVudCogZG9jdW1lbnQpCit2b2lkIENvbnNvbGU6
OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBEb2N1
bWVudCogZG9jdW1lbnQpCiB7CiAgICAgU3RyaW5nIHVybDsKICAgICBpZiAoZG9jdW1lbnQpCkBA
IC0xNDcsMTUgKzE0OSwxNSBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZQogICAgICAgICBpZiAo
IXBhcnNlci0+aXNXYWl0aW5nRm9yU2NyaXB0cygpICYmICFwYXJzZXItPmlzRXhlY3V0aW5nU2Ny
aXB0KCkpCiAgICAgICAgICAgICBsaW5lID0gcGFyc2VyLT5saW5lTnVtYmVyKCkub25lQmFzZWRJ
bnQoKTsKICAgICB9Ci0gICAgYWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdl
LCB1cmwsIGxpbmUsIDAsIDAsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBhZGRNZXNzYWdlKHNv
dXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZSwgMCwgMCwgcmVxdWVzdElkZW50aWZpZXIp
OwogfQogCi12b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQordm9pZCBDb25zb2xlOjph
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykK
IHsKLSAgICBhZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIFN0cmluZygp
LCAwLCBjYWxsU3RhY2ssIDApOworICAgIGFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2Fn
ZSwgU3RyaW5nKCksIDAsIGNhbGxTdGFjaywgMCk7CiB9CiAKLXZvaWQgQ29uc29sZTo6YWRkTWVz
c2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVs
IGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgdXJsLCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBTY3Jp
cHRTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIENv
bnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHVybCwgdW5zaWduZWQgbGlu
ZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgU2NyaXB0U3Rh
dGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewogICAgIGlmICht
dXRlQ291bnQgJiYgc291cmNlICE9IENvbnNvbGVBUElNZXNzYWdlU291cmNlKQogICAgICAgICBy
ZXR1cm47CkBAIC0xNjUsMTQgKzE2NywxNCBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZQogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAoY2FsbFN0YWNrKQotICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgc291cmNlLCB0eXBlLCBsZXZl
bCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZShwYWdlLCBzb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBsZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmll
cik7CiAgICAgZWxzZQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUocGFnZSwgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgdXJsLCBsaW5l
TnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgc291cmNlLCBMb2dNZXNzYWdl
VHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZU51bWJlciwgc3RhdGUsIHJlcXVlc3RJZGVu
dGlmaWVyKTsKIAogICAgIGlmICghbV9mcmFtZS0+c2V0dGluZ3MoKSB8fCBtX2ZyYW1lLT5zZXR0
aW5ncygpLT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIHR5
cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCB1cmwpOworICAgIHBhZ2UtPmNocm9tZSgp
LT5jbGllbnQoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBs
aW5lTnVtYmVyLCB1cmwpOwogCiAgICAgaWYgKCFzaG91bGRQcmludEV4Y2VwdGlvbnMoKSkKICAg
ICAgICAgcmV0dXJuOwpAQCAtMTgzLDExICsxODUsMTAgQEAgdm9pZCBDb25zb2xlOjphZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwg
bGUKICAgICBwcmludGYoIiAlc1xuIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKIH0KIAotdm9p
ZCBDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZl
bCwgU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gcHJwQXJn
dW1lbnRzLCBib29sIGFjY2VwdE5vQXJndW1lbnRzLCBib29sIHByaW50VHJhY2UpCitzdGF0aWMg
dm9pZCBpbnRlcm5hbEFkZE1lc3NhZ2UoUGFnZSogcGFnZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVz
c2FnZUxldmVsIGxldmVsLCBTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPiBwcnBBcmd1bWVudHMsIGJvb2wgcHJpbnRFeGNlcHRpb25zLCBib29sIGFjY2VwdE5v
QXJndW1lbnRzID0gZmFsc2UsIGJvb2wgcHJpbnRUcmFjZSA9IGZhbHNlKQogewogICAgIFJlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cyA9IHBycEFyZ3VtZW50czsKIAotICAgIFBhZ2Uq
IHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAK
QEAgLTIwMiwxMyArMjAzLDEzIEBAIHZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlVHlw
ZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIFNjcmlwdFN0YXRlKiBzdGF0CiAgICAgYm9vbCBn
b3RNZXNzYWdlID0gYXJndW1lbnRzLT5nZXRGaXJzdEFyZ3VtZW50QXNTdHJpbmcobWVzc2FnZSk7
CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2Us
IENvbnNvbGVBUElNZXNzYWdlU291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc3RhdGUsIGFy
Z3VtZW50cy5yZWxlYXNlKCkpOwogCi0gICAgaWYgKCFtX2ZyYW1lLT5zZXR0aW5ncygpIHx8IG1f
ZnJhbWUtPnNldHRpbmdzKCktPnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKKyAgICBpZiAoIXBh
Z2UtPnNldHRpbmdzKCkgfHwgcGFnZS0+c2V0dGluZ3MoKS0+cHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoZ290TWVzc2FnZSkKICAgICAgICAgcGFn
ZS0+Y2hyb21lKCktPmNsaWVudCgpLT5hZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNz
YWdlU291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGFzdENhbGxlci5saW5lTnVtYmVyKCks
IGxhc3RDYWxsZXIuc291cmNlVVJMKCkpOwogCi0gICAgaWYgKHNob3VsZFByaW50RXhjZXB0aW9u
cygpKSB7CisgICAgaWYgKHByaW50RXhjZXB0aW9ucykgewogICAgICAgICBwcmludFNvdXJjZVVS
TEFuZExpbmUobGFzdENhbGxlci5zb3VyY2VVUkwoKSwgMCk7CiAgICAgICAgIHByaW50TWVzc2Fn
ZVNvdXJjZUFuZExldmVsUHJlZml4KENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBsZXZlbCk7CiAK
QEAgLTIzNyw3ICsyMzgsNyBAQCB2b2lkIENvbnNvbGU6OmRlYnVnKFNjcmlwdFN0YXRlKiBzdGF0
ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBDb25zb2xl
OjplcnJvcihTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBh
cmd1bWVudHMpCiB7Ci0gICAgYWRkTWVzc2FnZShMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCks
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hv
dWxkUHJpbnRFeGNlcHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6OmluZm8oU2NyaXB0U3Rh
dGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpAQCAtMjQ3
LDMyICsyNDgsMzIgQEAgdm9pZCBDb25zb2xlOjppbmZvKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFz
c1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBDb25zb2xlOjpsb2co
U2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRz
KQogewotICAgIGFkZE1lc3NhZ2UoTG9nTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3Rh
dGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVzc2Fn
ZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxkUHJpbnRFeGNl
cHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6Ondhcm4oU2NyaXB0U3RhdGUqIHN0YXRlLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1lc3NhZ2Uo
TG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOwor
ICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVz
c2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9
CiAKIHZvaWQgQ29uc29sZTo6ZGlyKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBhZGRNZXNzYWdlKERpck1lc3NhZ2VUeXBl
LCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVz
c2FnZShwYWdlKCksIERpck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1
bWVudHMsIHNob3VsZFByaW50RXhjZXB0aW9ucygpKTsKIH0KIAogdm9pZCBDb25zb2xlOjpkaXJ4
bWwoU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1l
bnRzKQogewotICAgIGFkZE1lc3NhZ2UoRGlyWE1MTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZl
bCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgRGly
WE1MTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxk
UHJpbnRFeGNlcHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6OmNsZWFyKFNjcmlwdFN0YXRl
KiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBh
ZGRNZXNzYWdlKENsZWFyTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3Vt
ZW50cywgdHJ1ZSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgQ2xlYXJNZXNzYWdl
VHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2Vw
dGlvbnMoKSwgdHJ1ZSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6dHJhY2UoU2NyaXB0U3RhdGUqIHN0
YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1l
c3NhZ2UoVHJhY2VNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRz
LCB0cnVlLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdl
KHBhZ2UoKSwgVHJhY2VNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1l
bnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSwgdHJ1ZSwgc2hvdWxkUHJpbnRFeGNlcHRpb25z
KCkpOwogfQogCiB2b2lkIENvbnNvbGU6OmFzc2VydENvbmRpdGlvbihTY3JpcHRTdGF0ZSogc3Rh
dGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMsIGJvb2wgY29uZGl0aW9u
KQpAQCAtMjgwLDcgKzI4MSw3IEBAIHZvaWQgQ29uc29sZTo6YXNzZXJ0Q29uZGl0aW9uKFNjcmlw
dFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyCiAgICAgaWYgKGNv
bmRpdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgYWRkTWVzc2FnZShBc3NlcnRNZXNzYWdl
VHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHRydWUpOworICAgIGlu
dGVybmFsQWRkTWVzc2FnZShwYWdlKCksIEFzc2VydE1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxkUHJpbnRFeGNlcHRpb25zKCksIHRydWUpOwog
fQogCiB2b2lkIENvbnNvbGU6OmNvdW50KFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29uc29sZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgKaW5kZXggMTY2NzQ2
ZTUxZjg1Mjc5ODFiMmQzZDllYTYyYWFjNWVmZjlkYmViYy4uM2Q1M2E3NWNmNTUxMzY5NTQxODI3
M2ExY2YyNmZmM2E4NzE5Y2E3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25z
b2xlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgKQEAgLTI5LDYgKzI5LDcg
QEAKICNpZm5kZWYgQ29uc29sZV9oCiAjZGVmaW5lIENvbnNvbGVfaAogCisjaW5jbHVkZSAiQ29u
c29sZUFQSVR5cGVzLmgiCiAjaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAiRE9N
V2luZG93UHJvcGVydHkuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKQEAgLTU3LDkg
KzU4LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvbnNvbGU+IGNyZWF0ZShG
cmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDb25zb2xlKGZyYW1lKSk7IH0KICAg
ICB2aXJ0dWFsIH5Db25zb2xlKCk7CiAKLSAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+ID0gMCwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0
SWRlbnRpZmllciA9IDApOwotICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
bG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDAsIERvY3VtZW50KiA9IDApOworICAgIHZvaWQgYWRk
TWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPik7CisgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlm
aWVyID0gMCwgRG9jdW1lbnQqID0gMCk7CiAKICAgICB2b2lkIGRlYnVnKFNjcmlwdFN0YXRlKiwg
UGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKICAgICB2b2lkIGVycm9yKFNjcmlwdFN0YXRl
KiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+KTsKQEAgLTk1LDcgKzk2LDYgQEAgcHVibGlj
OgogCiBwcml2YXRlOgogICAgIGlubGluZSBQYWdlKiBwYWdlKCkgY29uc3Q7Ci0gICAgdm9pZCBh
ZGRNZXNzYWdlKE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIFNjcmlwdFN0YXRlKiwgUGFzc1Jl
ZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBib29sIGFjY2VwdE5vQXJndW1lbnRzID0gZmFsc2UsIGJv
b2wgcHJpbnRUcmFjZSA9IGZhbHNlKTsKIAogICAgIGV4cGxpY2l0IENvbnNvbGUoRnJhbWUqKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKaW5kZXggYjM4MzQwMGNhMmNlZmY3ZjZlZTMw
ODJiYTNiMTNmNTEzMzg5YmYyMi4uNWJlY2YwNjM1MTQxYmJjZTZmMmZhNGJlMTI4NWVlMGU3YzRi
NTg0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oCkBAIC0zNywyMSArMzcsNiBAQCBl
bnVtIE1lc3NhZ2VTb3VyY2UgewogICAgIE90aGVyTWVzc2FnZVNvdXJjZSwKIH07CiAKLS8vIEZJ
WE1FOiBtYWtlIHRoaXMgZW51bSBwcml2YXRlIHRvIGluc3BlY3RvciwgcmVtb3ZlIGl0IGZyb20g
Y2xpZW50IGNhbGxiYWNrcy4KLS8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NjM3MQotZW51bSBNZXNzYWdlVHlwZSB7Ci0gICAgTG9nTWVzc2FnZVR5cGUsCi0gICAg
RGlyTWVzc2FnZVR5cGUsCi0gICAgRGlyWE1MTWVzc2FnZVR5cGUsCi0gICAgVHJhY2VNZXNzYWdl
VHlwZSwKLSAgICBTdGFydEdyb3VwTWVzc2FnZVR5cGUsCi0gICAgU3RhcnRHcm91cENvbGxhcHNl
ZE1lc3NhZ2VUeXBlLAotICAgIEVuZEdyb3VwTWVzc2FnZVR5cGUsCi0gICAgQ2xlYXJNZXNzYWdl
VHlwZSwKLSAgICBBc3NlcnRNZXNzYWdlVHlwZSwKLSAgICBUaW1pbmdNZXNzYWdlVHlwZQotfTsK
LQogZW51bSBNZXNzYWdlTGV2ZWwgewogICAgIFRpcE1lc3NhZ2VMZXZlbCwKICAgICBMb2dNZXNz
YWdlTGV2ZWwsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5j
cHAKaW5kZXggYjA1NjBlMzMyOGJlNjA2YzMzODA4MzA4OGRiN2EzYjY4ZjBhMTgwMy4uZmFkMTRk
NzdkODFkMTM4ODk3NWNjM2Q3MmZmNjZlMzZjNDMzZWQ2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMTY5Miw3ICsxNjkyLDcgQEAgdm9p
ZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydEludmFsaWRTb3VyY2VFeHByZXNzaW9uKGNv
bnN0IFN0cmluZyYgZGlyZWN0aXYKIAogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmxvZ1Rv
Q29uc29sZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwg
Y29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgU2NyaXB0U3RhdGUqIHN0YXRl
KSBjb25zdAogewotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCksIHN0YXRlKTsKKyAg
ICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5l
Lm9uZUJhc2VkSW50KCksIHN0YXRlKTsKIH0KIAogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OnJlcG9ydEJsb2NrZWRTY3JpcHRFeGVjdXRpb25Ub0luc3BlY3Rvcihjb25zdCBTdHJpbmcmIGRp
cmVjdGl2ZVRleHQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggOWVhZDE0
ZTJkZmM2ODRkYjkzMmNlN2ZjMDAwNWRjMDRkMGU3YTdkZS4uYjliNjdjNmY4ZjYzNzgyMDk4MWM2
N2YxMjc1MDQ0MTg1YmFmOWQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtODg3
LDcgKzg4Nyw3IEBAIHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaE1lc3NhZ2VFdmVudFdpdGhPcmln
aW5DaGVjayhTZWN1cml0eU9yaWdpbiogaW50ZW5kZWRUYXJnCiAgICAgICAgIGlmICghaW50ZW5k
ZWRUYXJnZXRPcmlnaW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGRvY3VtZW50KCktPnNlY3VyaXR5
T3JpZ2luKCkpKSB7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJVbmFibGUgdG8gcG9z
dCBtZXNzYWdlIHRvICIgKyBpbnRlbmRlZFRhcmdldE9yaWdpbi0+dG9TdHJpbmcoKSArCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICIuIFJlY2lwaWVudCBoYXMgb3JpZ2luICIgKyBkb2N1
bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpICsgIi5cbiI7Ci0gICAgICAgICAg
ICBjb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHN0YWNrVHJhY2UpOworICAgICAgICAgICAgY29u
c29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1l
c3NhZ2UsIHN0YWNrVHJhY2UpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
fQpAQCAtMTc1Niw3ICsxNzU2LDcgQEAgdm9pZCBET01XaW5kb3c6OnByaW50RXJyb3JNZXNzYWdl
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgY29uc29s
ZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UpOwogfQogCiBTdHJpbmcgRE9NV2luZG93Ojpjcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2Fn
ZShET01XaW5kb3cqIGFjdGl2ZVdpbmRvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
aW5kZXggNjEwMTcwMjA4NWNjMjM4N2UzMWI1ZTE5M2I5YzMyOWExODRlZGNhOS4uNDAxZGYzNmYz
YzNhMTgzNmUzZTY3MGJhMmJkNmViNGVlOTE3ZDI4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNv
dXJjZS5jcHAKQEAgLTIxNSw3ICsyMTUsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNlaXZl
UmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcAogICAg
ICAgICAgICAgbWVzc2FnZS5hcHBlbmQoY2hhcnNldCk7CiAgICAgICAgICAgICBtZXNzYWdlLmFw
cGVuZExpdGVyYWwoIlwiKSB0aGF0IGlzIG5vdCBVVEYtOC4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rp
b24uIik7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBs
aW5lLgotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVz
c2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
bWVzc2FnZS50b1N0cmluZygpKTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
bWVzc2FnZS50b1N0cmluZygpKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8v
IFRvIGtlZXAgdGhlIHNpZ25hbC10by1ub2lzZSByYXRpbyBsb3csIHdlIG9ubHkgbG9nIDIwMC1y
ZXNwb25zZSB3aXRoIGFuIGludmFsaWQgTUlNRSB0eXBlLgpAQCAtMjI1LDcgKzIyNSw3IEBAIHZv
aWQgRXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwCiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZChyZXNwb25z
ZS5taW1lVHlwZSgpKTsKICAgICAgICAgICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiXCIpIHRo
YXQgaXMgbm90IFwidGV4dC9ldmVudC1zdHJlYW1cIi4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rpb24u
Iik7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBsaW5l
LgotICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZS50b1N0cmluZygpKTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZS50b1N0cmluZygpKTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAppbmRleCAzNzQ3Y2NiMDljOWNlNTZhYjI0MzEy
MTI1MTBhM2EzYjgzMzJjZTEyLi44MTA0ZmJkNjA4MmE2N2IyYWJmMWFkOWI5OThiNTRiMzEwYTNh
NDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcApA
QCAtMTM2LDcgKzEzNiw3IEBAIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpkaXNwYXRjaFNW
R0xvYWRFdmVudFRvT3V0ZXJtb3N0U1ZHRWxlbWVudHMoKQogc3RhdGljIHZvaWQgcmVwb3J0TWVz
c2FnZShEb2N1bWVudCogZG9jdW1lbnQsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlKQogewogICAgIGlmIChkb2N1bWVudC0+ZnJhbWUoKSkKLSAgICAgICAgZG9jdW1l
bnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxl
dmVsLCBtZXNzYWdlKTsKKyAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UpOwogfQogCiB2b2lkIFNWR0RvY3VtZW50RXh0ZW5z
aW9uczo6cmVwb3J0V2FybmluZyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3Bw
CmluZGV4IGNmZjBkNWZiMWYwZDVjNDBhZDEyM2M5MjliNGJmNDA2ZjdiYmNjMzcuLmVjNDFkMjIz
ZTY2YjBmY2VjMWVjNDg5MTA4OTU1MzAzMDZiY2ZiMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCkBAIC04
Miw3ICs4Miw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFdvcmtlclJlcG9ydGluZ1Byb3h5CiAgICAg
dmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNv
dXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBp
bnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOworICAgIHZpcnR1YWwgdm9p
ZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlLCBNZXNzYWdl
TGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMKTsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHZpcnR1YWwgdm9pZCBw
b3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlSW5zcGVjdG9yU3RhdGVDb29raWUoY29uc3QgU3RyaW5nJik7CkBAIC0xODgsMTYg
KzE4OCwxNiBAQCB2b2lkIFNoYXJlZFdvcmtlclByb3h5Ojpwb3N0RXhjZXB0aW9uVG9Xb3JrZXJP
YmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsCiAgICAgICAgICgqaXRlciktPnBvc3RU
YXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygmcG9zdEV4Y2VwdGlvblRhc2ssIGVycm9yTWVzc2FnZSwg
bGluZU51bWJlciwgc291cmNlVVJMKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHBvc3RDb25zb2xlTWVz
c2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogZG9jdW1lbnQsIE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIp
CitzdGF0aWMgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGRvY3VtZW50LCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBs
aW5lTnVtYmVyKQogewotICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIHR5
cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpOworICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxp
bmVOdW1iZXIpOwogfQogCi12b2lkIFNoYXJlZFdvcmtlclByb3h5Ojpwb3N0Q29uc29sZU1lc3Nh
Z2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwg
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQgU2hhcmVkV29ya2VyUHJveHk6OnBvc3RD
b25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdl
TGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIE11dGV4TG9ja2VyIGxvY2sobV93b3JrZXJEb2N1
bWVudHNMb2NrKTsKICAgICBmb3IgKEhhc2hTZXQ8RG9jdW1lbnQqPjo6aXRlcmF0b3IgaXRlciA9
IG1fd29ya2VyRG9jdW1lbnRzLmJlZ2luKCk7IGl0ZXIgIT0gbV93b3JrZXJEb2N1bWVudHMuZW5k
KCk7ICsraXRlcikKLSAgICAgICAgKCppdGVyKS0+cG9zdFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNr
KCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBz
b3VyY2VVUkwsIGxpbmVOdW1iZXIpKTsKKyAgICAgICAgKCppdGVyKS0+cG9zdFRhc2soY3JlYXRl
Q2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBzb3VyY2UsIGxldmVsLCBtZXNz
YWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpKTsKIH0KIAogI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0LmNwcAppbmRl
eCA3OTk3MDAyYWNhZjg2OTlhNDViOTg3MmM4NTVkN2I3N2IwNWNkZWUyLi5kMmNkYjM3MjlhZGJj
NGEzNzE0MDQ0YWFhMTNmZDQ3Yjg0Zjc4ZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgU2hhcmVkV29ya2Vy
VGhyZWFkKiBTaGFyZWRXb3JrZXJDb250ZXh0Ojp0aHJlYWQoKQogdm9pZCBTaGFyZWRXb3JrZXJD
b250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKICAgICBXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRp
b25Ub0NvbnNvbGUoZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFj
ayk7Ci0gICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxp
bmVOdW1iZXIsIGNhbGxTdGFjayk7CisgICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwg
bGluZU51bWJlciwgY2FsbFN0YWNrKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKaW5kZXggYzY5N2MwMDcwOThhYjQy
NGVlMmJkYjViODRmYTk1OWNkY2I4ZmYzZS4uYzRlYzIyMmY5MWU3OTZlYmJkMzlkN2QwMzg2YmZk
N2Q4ZTI5ZmUyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCkBA
IC0yNzksMzQgKzI3OSwzNCBAQCB2b2lkIFdvcmtlckNvbnRleHQ6OmxvZ0V4Y2VwdGlvblRvQ29u
c29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaQogICAgIHRocmVhZCgp
LT53b3JrZXJSZXBvcnRpbmdQcm94eSgpLnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChlcnJv
ck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAKLXZvaWQgV29ya2VyQ29udGV4
dDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5
cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBXb3JrZXJDb250ZXh0OjphZGRDb25zb2xlTWVz
c2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAgICAgaWYg
KCFpc0NvbnRleHRUaHJlYWQoKSkgewotICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2Fn
ZVRhc2s6OmNyZWF0ZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlKSk7CisgICAgICAgIHBv
c3RUYXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgbGV2ZWwsIG1lc3Nh
Z2UpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICB0aHJlYWQoKS0+d29ya2VyUmVwb3J0
aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3VyY2UsIHR5cGUs
IGxldmVsLCBtZXNzYWdlLCAwLCBTdHJpbmcoKSk7CisgICAgdGhyZWFkKCktPndvcmtlclJlcG9y
dGluZ1Byb3h5KCkucG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCBsZXZl
bCwgbWVzc2FnZSwgMCwgU3RyaW5nKCkpOwogCi0gICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29s
ZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBTdHJpbmcoKSwgMCwgMCwgMCwgcmVxdWVz
dElkZW50aWZpZXIpOworICAgIGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoc291cmNlLCBsZXZl
bCwgbWVzc2FnZSwgU3RyaW5nKCksIDAsIDAsIDAsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAot
dm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNz
YWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIFNjcmlwdFN0YXRlKiBzdGF0ZSwgdW5zaWduZWQg
bG9uZyByZXF1ZXN0SWRlbnRpZmllcikKK3ZvaWQgV29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZShN
ZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBTY3JpcHRTdGF0ZSogc3RhdGUsIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAgICAgaWYgKCFpc0NvbnRleHRUaHJl
YWQoKSkgewotICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZShz
b3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlKSk7CisgICAgICAgIHBvc3RUYXNrKEFkZENvbnNv
bGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KLSAgICB0aHJlYWQoKS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0
Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdl
LCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwotICAgIGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUo
c291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjYWxs
U3RhY2ssIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgdGhyZWFkKCktPndvcmtlclJl
cG9ydGluZ1Byb3h5KCkucG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCBs
ZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKKyAgICBhZGRNZXNzYWdlVG9X
b3JrZXJDb25zb2xlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJl
ciwgY2FsbFN0YWNrLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCi12b2lkIFdvcmtl
ckNvbnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2Us
IE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgU2NyaXB0U3RhdGUqIHN0YXRlLCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNz
YWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIFNj
cmlwdFN0YXRlKiBzdGF0ZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKICAg
ICBBU1NFUlQoaXNDb250ZXh0VGhyZWFkKCkpOwogICAgIGlmIChjYWxsU3RhY2spCi0gICAgICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSh0aGlzLCBzb3Vy
Y2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsK
KyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRo
aXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ssIHJl
cXVlc3RJZGVudGlmaWVyKTsKICAgICBlbHNlCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNz
YWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7Cisg
ICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSh0aGlz
LCBzb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5l
TnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCiBib29sIFdvcmtlckNvbnRl
eHQ6OmlzQ29udGV4dFRocmVhZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29u
dGV4dC5oCmluZGV4IDQ5NmQ3MzU4NTYzYzQ4ZDlmY2ViMGVhODY5NjMyMGY3ZDQzYWJkZTIuLjRh
YmMzYjJmNGUwNDFhOTdmZTlmZTY5ODc1NjQ4YjBjYzJiMTg5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2b2lkIGFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5RnJvbVN0cmluZyhj
b25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpIZWFkZXJUeXBlKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25z
b2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
aW50IGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAgICAgIHZv
aWQgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwg
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIFNj
cmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAg
ICAgICAgdm9pZCBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
dW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBTY3JpcHRT
dGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAKICAgICBw
cml2YXRlOgogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IHsgcmVmKCk7IH0KQEAgLTE1OSw4ICsxNTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZpcnR1YWwgY29uc3QgS1VSTCYgdmlydHVhbFVSTCgpIGNvbnN0OwogICAgICAgICB2aXJ0
dWFsIEtVUkwgdmlydHVhbENvbXBsZXRlVVJMKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgU2Ny
aXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwotICAg
ICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25n
IHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+LCBTY3JpcHRTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVu
dGlmaWVyID0gMCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNz
YWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
bG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwogCiAgICAgICAgIHZpcnR1YWwgRXZlbnRUYXJn
ZXQqIGVycm9yRXZlbnRUYXJnZXQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCBjMzVkOGU4YWExZDg5ZDk4NjQyZDU5MTMwYzc4
MzdhYWU3YTk1MGZmLi4zOWY4Mjg5MjAwZTUxOWNlODE0NGEwYTZlYjhkMDBjOTJkMzUxN2Q5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApA
QCAtMzI3LDE4ICszMjcsMTYgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdEV4Y2Vw
dGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWcKICAgICBtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKFdvcmtlckV4Y2VwdGlvblRhc2s6OmNyZWF0ZShl
cnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgdGhpcykpOwogfQogCi1zdGF0aWMg
dm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIFdvcmtlck1lc3NhZ2luZ1Byb3h5KiBtZXNzYWdpbmdQcm94eSwgTWVzc2FnZVNvdXJjZSBz
b3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkK
K3N0YXRpYyB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgV29ya2VyTWVzc2FnaW5nUHJveHkqIG1lc3NhZ2luZ1Byb3h5LCBNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIGlm
IChtZXNzYWdpbmdQcm94eS0+YXNrZWRUb1Rlcm1pbmF0ZSgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2Fn
ZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyKTsKKyAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2Fn
ZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpOwogfQogCi12
b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxl
dmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCkKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RDb25zb2xlTWVzc2Fn
ZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMKQogewotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soCi0gICAg
ICAgIGNyZWF0ZUNhbGxiYWNrVGFzaygmcG9zdENvbnNvbGVNZXNzYWdlVGFzaywgQWxsb3dDcm9z
c1RocmVhZEFjY2Vzcyh0aGlzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSwg
dHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCkpOworICAgIG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29u
c29sZU1lc3NhZ2VUYXNrLCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKHRoaXMpLCBzb3VyY2UsIGxl
dmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsKIH0KIAogdm9pZCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6d29ya2VyVGhyZWFkQ3JlYXRlZChQYXNzUmVmUHRyPERlZGljYXRlZFdv
cmtlclRocmVhZD4gd29ya2VyVGhyZWFkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDc3YmNhYjJiNjY4MDc0MGRjYTExZDE2MDVhZDg2MDRl
OTkxMTgyMDAuLmU4NjkyNGU3MTI1ODRkZWFiMGM0NDA4M2Q4ZmU2Yjg3NGIyN2NjOTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTY4LDcg
KzY4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyAoT25seSB1c2UgdGhlc2Ug
bWV0aG9kcyBpbiB0aGUgd29ya2VyIGNvbnRleHQgdGhyZWFkLikKICAgICAgICAgdmlydHVhbCB2
b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJPYmplY3QoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5Pik7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CisgICAgICAgIHZpcnR1
YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMKTsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICB2aXJ0
dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3IoY29uc3QgU3RyaW5nJik7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVJbnNwZWN0b3JTdGF0ZUNvb2tpZShjb25zdCBTdHJpbmcm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJv
eHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaAppbmRl
eCA4MDRhZjIxNjQwZWVmNzNjNDUxMjQ0NmUwMTVjZDJiOGFiNTIzZmNjLi5iZTE5MzUwNTIxYTlm
NDA1NmMyYzIwYTI3ZGUyNzY5MTVlODZjNTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0
KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwpID0gMDsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNz
YWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRv
V29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpID0gMDsKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1Bh
Z2VJbnNwZWN0b3IoY29uc3QgU3RyaW5nJikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgdXBk
YXRlSW5zcGVjdG9yU3RhdGVDb29raWUoY29uc3QgU3RyaW5nJikgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggMmEzYTUxNzJmMzg2YzEzOTZhZWU4YjQ1ZjQ2NWY2
MTU0Y2EyYTQ1Yi4uZTc1MGFiOTc2ODdkM2Q5YmI1MWQ4ZGM0N2I0YmIyNzczMjIwMDc3NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0xNjMsNyArMTYzLDcgQEAgc3Rh
dGljIHZvaWQgbG9nQ29uc29sZUVycm9yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IGNvbnN0IFN0cmluZyYgbWVzc2EKICAgICAgICAgcmV0dXJuOwogICAgIC8vIEZJWE1FOiBJdCdz
IG5vdCBnb29kIHRvIHJlcG9ydCB0aGUgYmFkIHVzYWdlIHdpdGhvdXQgaW5kaWNhdGluZyB3aGF0
IHNvdXJjZSBsaW5lIGl0IGNhbWUgZnJvbS4KICAgICAvLyBXZSBzaG91bGQgcGFzcyBhZGRpdGlv
bmFsIHBhcmFtZXRlcnMgc28gd2UgY2FuIHRlbGwgdGhlIGNvbnNvbGUgd2hlcmUgdGhlIG1pc3Rh
a2Ugb2NjdXJyZWQuCi0gICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGNv
bnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsIG1lc3NhZ2UpOwogfQogCiBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBYTUxIdHRwUmVx
dWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8
U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luKQpAQCAtNjkzLDcgKzY5Myw3IEBAIHZvaWQg
WE1MSHR0cFJlcXVlc3Q6OnNlbmQoRE9NRm9ybURhdGEqIGJvZHksIEV4Y2VwdGlvbkNvZGUmIGVj
KQogdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChBcnJheUJ1ZmZlciogYm9keSwgRXhjZXB0aW9u
Q29kZSYgZWMpCiB7CiAgICAgU3RyaW5nIGNvbnNvbGVNZXNzYWdlKCJBcnJheUJ1ZmZlciBpcyBk
ZXByZWNhdGVkIGluIFhNTEh0dHBSZXF1ZXN0LnNlbmQoKS4gVXNlIEFycmF5QnVmZmVyVmlldyBp
bnN0ZWFkLiIpOwotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwg
Y29uc29sZU1lc3NhZ2UpOworICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVz
c2FnZSk7CiAKICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2Vi
Q29yZS5YSFIuc2VuZC5BcnJheUJ1ZmZlck9yVmlldyIsIFhNTEh0dHBSZXF1ZXN0U2VuZEFycmF5
QnVmZmVyLCBYTUxIdHRwUmVxdWVzdFNlbmRBcnJheUJ1ZmZlck9yVmlld01heCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwCmluZGV4IGE5MTI5ODhkYTYz
OGNjZjg0MmU3YjE3YWY1ZTQzNDQ2ZThhMzJkMjguLjBiMmZmMWJkMjNhMjU0ZGY4OThkZTIxN2U0
ODkzMTJkYzIwZTlhMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vz
c29yTGlieHNsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4
c2x0LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgWFNMVFByb2Nlc3Nvcjo6cGFyc2VFcnJv
ckZ1bmModm9pZCogdXNlckRhdGEsIHhtbEVycm9yKiBlcnJvcikKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCi0gICAgY29uc29sZS0+YWRkTWVzc2FnZShYTUxNZXNzYWdlU291cmNlLCBMb2dNZXNz
YWdlVHlwZSwgbGV2ZWwsIGVycm9yLT5tZXNzYWdlLCBlcnJvci0+ZmlsZSwgZXJyb3ItPmxpbmUp
OworICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoWE1MTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIGVycm9y
LT5tZXNzYWdlLCBlcnJvci0+ZmlsZSwgZXJyb3ItPmxpbmUpOwogfQogCiAvLyBGSVhNRTogVGhl
cmUgc2VlbXMgdG8gYmUgbm8gd2F5IHRvIGNvbnRyb2wgdGhlIGN0eHQgcG9pbnRlciBmb3IgbG9h
ZGluZyBoZXJlLCB0aHVzIHdlIGhhdmUgZ2xvYmFscy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YU0xUUHJvY2Vzc29yUXQuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9j
ZXNzb3JRdC5jcHAKaW5kZXggMGM0MTQwYThkNzllZGVmYTUwMjMzNWZlMDE4MzEyZjQ3NWYxNzBm
NC4uNmJmM2YyNGM0MzQ3Y2MxOWZlNWY5NjI2NzNkYzAwNzQzZmUzOTk1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JRdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL1hTTFRQcm9jZXNzb3JRdC5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBYU0xUTWVz
c2FnZUhhbmRsZXI6OmhhbmRsZU1lc3NhZ2UoUXRNc2dUeXBlIHR5cGUsIGNvbnN0IFFTdHJpbmcm
IGRlc2NyaXB0aW8KICAgICB9CiAKICAgICBDb25zb2xlKiBjb25zb2xlID0gbV9kb2N1bWVudC0+
ZG9tV2luZG93KCktPmNvbnNvbGUoKTsKLSAgICBjb25zb2xlLT5hZGRNZXNzYWdlKFhNTE1lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwgZGVzY3JpcHRpb24sIHNvdXJjZUxvY2F0
aW9uLnVyaSgpLnRvU3RyaW5nKCksIHNvdXJjZUxvY2F0aW9uLmxpbmUoKSk7CisgICAgY29uc29s
ZS0+YWRkTWVzc2FnZShYTUxNZXNzYWdlU291cmNlLCBsZXZlbCwgZGVzY3JpcHRpb24sIHNvdXJj
ZUxvY2F0aW9uLnVyaSgpLnRvU3RyaW5nKCksIHNvdXJjZUxvY2F0aW9uLmxpbmUoKSk7CiB9CiAK
IGNsYXNzIFhTTFRVcmlSZXNvbHZlciA6IHB1YmxpYyBRQWJzdHJhY3RVcmlSZXNvbHZlciB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAKaW5kZXggZTgyZTFiMmEyMjZkN2IzY2Ey
ZjcwMDI1OThkZGFkMmM4OTVlNGRhNC4uNDAzOTY5MjBiZGI4ZDZiZDA2OGRkZTNkZWI4OTg3MGMx
NjA3NTEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtODksNyAr
ODksNyBAQCBDaHJvbWVDbGllbnRCbGFja0JlcnJ5OjpDaHJvbWVDbGllbnRCbGFja0JlcnJ5KFdl
YlBhZ2VQcml2YXRlKiBwYWdlUHJpdmF0ZSkKIHsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRCbGFj
a0JlcnJ5OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCit2b2lkIENocm9tZUNsaWVudEJsYWNrQmVycnk6
OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
SUQpCiB7CiAjaWYgIWRlZmluZWQoUFVCTElDX0JVSUxEKSB8fCAhUFVCTElDX0JVSUxECiAgICAg
aWYgKG1fd2ViUGFnZVByaXZhdGUtPm1fZHVtcFJlbmRlclRyZWUpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0Jl
cnJ5LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50QmxhY2tCZXJyeS5oCmluZGV4IGUxMjlmNDU4NDIxOTZiYTVlNjUxYzVlMGQ4NTZmOWUyYWJi
YmU4NWEuLmUxZDk5MzdmZDQyNjZmYzlhMTJjNmVmMGE2YmE4Yzg0NGRmYjdlZTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRC
bGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHNldE1lbnViYXJWaXNpYmxlKGJvb2wpOwogICAgIHZpcnR1YWwgYm9vbCBt
ZW51YmFyVmlzaWJsZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7Ci0g
ICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQg
bGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCk7CisgICAgdmlydHVhbCB2b2lkIGFk
ZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQp
OwogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKTsKICAg
ICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYs
IEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlV2luZG93U29vbigpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2hhcmVkV29ya2VyQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTaGFyZWRXb3JrZXJDbGllbnQuaApp
bmRleCAyNDBmZTc2ZTg2ZjE2NGJmMTMxZWI2YTViZjJjMjRlNDk0NjA0ZDFhLi5iNzVlYzdmYzFm
YzY5ZGZmOGRlOTRmNzdmZWJkYTdkNTU0MmNkNzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJTaGFyZWRXb3JrZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTaGFyZWRXb3JrZXJDbGllbnQuaApAQCAtNTYsMTYgKzU2
LDIzIEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBlcnJvclN0cmluZywgaW50
IGxpbmVOdW1iZXIsCiAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgc291cmNlVVJMKSA9IDA7CiAK
LSAgICAvLyBGSVhNRTogdGhlIGJlbG93IGlzIGZvciBjb21wYXRpYmlsaXR5IG9ubHkgYW5kIHNo
b3VsZCBiZQotICAgIC8vIHJlbW92ZWQgb25jZSBDaHJvbWl1bSBpcyB1cGRhdGVkIHRvIHJlbW92
ZSBtZXNzYWdlCi0gICAgLy8gZGVzdGluYXRpb24gcGFyYW1ldGVyIDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzM3MTU1Pi4KLSAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJP
YmplY3QoaW50LCBpbnQgc291cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VUeXBlLCBpbnQgbWVz
c2FnZUxldmVsLAorICAgIC8vIEZJWE1FOiB0aGUgdHdvIGJlbG93IGFyZSBmb3IgY29tcGF0aWJp
bGl0eSBvbmx5IGFuZCBzaG91bGQgYmUgcmVtb3ZlZAorICAgIC8vIG9uY2UgQ2hyb21pdW0gaXMg
dXBkYXRlZCB0byByZW1vdmUgbWVzc2FnZSBkZXN0aW5hdGlvbiBwYXJhbWV0ZXIKKyAgICAvLyA8
aHR0cDovL3dlYmtpdC5vcmcvYi8zNzE1NT4gYW5kIHRoZSBtZXNzYWdlIHR5cGUgcGFyYW1ldGVy
CisgICAgLy8gPGh0dHA6Ly93ZWJraXQub3JnL2IvNjYzNzE+LgorICAgIHZpcnR1YWwgdm9pZCBw
b3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChpbnQsIGludCBzb3VyY2VJZGVudGlmaWVy
LCBpbnQsIGludCBtZXNzYWdlTGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1i
ZXIsIGNvbnN0IFdlYlN0cmluZyYgc291cmNlVVJMKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHBv
c3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KGludCBzb3VyY2VJZGVudGlmaWVyLCBpbnQs
IGludCBtZXNzYWdlTGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNv
bnN0IFdlYlN0cmluZyYgc291cmNlVVJMKQorICAgIHsKKyAgICAgICAgcG9zdENvbnNvbGVNZXNz
YWdlVG9Xb3JrZXJPYmplY3QoMCwgc291cmNlSWRlbnRpZmllciwgMCwgbWVzc2FnZUxldmVsLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLCBsaW5lTnVt
YmVyLCBzb3VyY2VVUkwpOworICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1l
c3NhZ2VUb1dvcmtlck9iamVjdChpbnQgc291cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VUeXBl
LCBpbnQgbWVzc2FnZUxldmVsLAorICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VU
b1dvcmtlck9iamVjdChpbnQgc291cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VMZXZlbCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2Vi
U3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgV2ViU3RyaW5nJiBzb3VyY2VV
UkwpCiAgICAgewotICAgICAgICBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCgwLCBz
b3VyY2VJZGVudGlmaWVyLCBtZXNzYWdlVHlwZSwgbWVzc2FnZUxldmVsLAorICAgICAgICBwb3N0
Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCgwLCBzb3VyY2VJZGVudGlmaWVyLCBtZXNzYWdl
TGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2Us
IGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCmluZGV4IDU2ZTE3Zjc1NTQ3OWI1ZTdjZjli
NDQ5MThjNTliZWZhMDY5MThhZDIuLjEwN2M0NmE0ZjhlNWI4NzI4OWFjNzZmNzJjZGQxY2RlNGJh
OGYzNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVu
dEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudElt
cGwuY3BwCkBAIC0zOTIsNyArMzkyLDYgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpzZXRSZXNp
emFibGUoYm9vbCB2YWx1ZSkKIH0KIAogdm9pZCBDaHJvbWVDbGllbnRJbXBsOjphZGRNZXNzYWdl
VG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZUxldmVsIGxldmVsLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsaW5lTnVt
YmVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50
SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmlu
ZGV4IDc3MDg0ZjgwMTAyZjYyMzdiNjc4MmRjOGI2MGZjYzJjZTI2Njk1MjAuLjA1NTlmZDM3N2M0
YWM4Yzg2NjZhOTkwODg3MzQ5MWQxOWNjNzJiNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKQEAgLTk3LDcgKzk3LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBtZW51YmFyVmlzaWJsZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNp
emFibGUoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoCi0gICAg
ICAgIFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBXZWJDb3Jl
OjpNZXNzYWdlTGV2ZWwsCisgICAgICAgIFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6
Ok1lc3NhZ2VMZXZlbCwKICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsCiAgICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCk7CiAg
ICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggNWVlMTM2YThlNjIz
MWNhNDdiOWYxMjBiNTQxNzYwNjVjY2M5MDI0Ny4uZjk0M2Y1YjhmNGQwODAzM2EwY2VkYmVkZWJh
ZmU5MjBkZDc3ZDhiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwCkBAIC04NDIsNyArODQyLDcgQEAgdm9pZCBXZWJGcmFtZUltcGw6OmFkZE1lc3NhZ2VU
b0NvbnNvbGUoY29uc3QgV2ViQ29uc29sZU1lc3NhZ2UmIG1lc3NhZ2UpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShP
dGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCB3ZWJDb3JlTWVzc2FnZUxldmVsLCBt
ZXNzYWdlLnRleHQpOworICAgIGZyYW1lKCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KE90aGVyTWVzc2FnZVNvdXJjZSwgd2ViQ29yZU1lc3NhZ2VMZXZlbCwgbWVzc2FnZS50ZXh0KTsK
IH0KIAogdm9pZCBXZWJGcmFtZUltcGw6OmNvbGxlY3RHYXJiYWdlKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAKaW5kZXggNzQ5MjlhNmQwMzQ5
ODE0OTU2MjI0NzU4YzA2NmQwOWExNWUwMDZmMS4uZWNiZGEzNzk4Y2E4ZTA5YTRkN2RjZGYzNDU3
NDViYTA5Nzc2MTU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UGFnZVBvcHVwSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFn
ZVBvcHVwSW1wbC5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV9wb3B1
cC0+d2lkZ2V0Q2xpZW50KCktPnNldFdpbmRvd1JlY3QobV9wb3B1cC0+bV93aW5kb3dSZWN0SW5T
Y3JlZW4pOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYpIE9WRVJSSURFCisg
ICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0
IFN0cmluZyYpIE9WRVJSSURFCiAgICAgewogI2lmbmRlZiBOREVCVUcKICAgICAgICAgZnByaW50
ZihzdGRlcnIsICJDT05TT0xFIE1FU1NTQUdFOiV1OiAlc1xuIiwgbGluZU51bWJlciwgbWVzc2Fn
ZS51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlNoYXJlZFdvcmtlckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
U2hhcmVkV29ya2VySW1wbC5jcHAKaW5kZXggMTE5ZDlhY2I2OTk0YmQ5NzZmMDRjNjYxOTI0MjQ5
ODFmMjRkYmQzMy4uMzEwOWM3NWQzZmI0YTdhODQxYWI0NmRlMzBkYzlmMWE2OGU1ZDk0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5j
cHAKQEAgLTIwMywzMCArMjAzLDI1IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VySW1wbDo6cG9zdEV4
Y2VwdGlvblRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwKIH0KIAogdm9pZCBX
ZWJTaGFyZWRXb3JrZXJJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNz
YWdlU291cmNlIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVR5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVzc2FnZUxldmVsIGxl
dmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsaW5lTnVtYmVyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKLSAgICBXZWJXb3JrZXJCYXNlOjpkaXNwYXRjaFRhc2tU
b01haW5UaHJlYWQoY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBB
bGxvd0Nyb3NzVGhyZWFkQWNjZXNzKHRoaXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzb3VyY2UsIHR5cGUsIGxldmVsLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
KTsKKyAgICBXZWJXb3JrZXJCYXNlOjpkaXNwYXRjaFRhc2tUb01haW5UaHJlYWQoY3JlYXRlQ2Fs
bGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNz
KHRoaXMpLCBzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsK
IH0KIAogdm9pZCBXZWJTaGFyZWRXb3JrZXJJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgV2ViU2hhcmVkV29ya2VySW1wbCogdGhpc1B0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc291cmNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0
eXBlLCBpbnQgbGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGluZU51bWJlciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCkKIHsKICAgICBpZiAoIXRoaXNQdHItPmNsaWVudCgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgdGhpc1B0ci0+Y2xpZW50KCktPnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNv
dXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVOdW1iZXIsIHNvdXJj
ZVVSTCk7CisgICAgdGhpc1B0ci0+Y2xpZW50KCktPnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2Vy
T2JqZWN0KHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9
CiAKIHZvaWQgV2ViU2hhcmVkV29ya2VySW1wbDo6cG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3Io
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU2hhcmVkV29ya2VySW1wbC5oCmluZGV4IDQwNDE1OTJiNWNlYWE2ZTZhNWIxOWFjNjJiMGZk
NjA2YTg1M2ZjNmUuLjQ5MTIxMWU1NGQ2ZjNmMDRkZTllNzk0Y2UxODUyMDFkMzdmNWUyNzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTaGFyZWRXb3JrZXJJbXBsLmgK
QEAgLTc0LDggKzc0LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwb3N0RXhjZXB0aW9u
VG9Xb3JrZXJPYmplY3QoCiAgICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiwgaW50LCBjb25zdCBX
VEY6OlN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtl
ck9iamVjdCgKLSAgICAgICAgV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2Fn
ZVR5cGUsCi0gICAgICAgIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcm
LCBpbnQsIGNvbnN0IFdURjo6U3RyaW5nJik7CisgICAgICAgIFdlYkNvcmU6Ok1lc3NhZ2VTb3Vy
Y2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwKKyAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmLCBp
bnQsIGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Q
YWdlSW5zcGVjdG9yKGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0
ZUluc3BlY3RvclN0YXRlQ29va2llKGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAgdmlydHVhbCB2
b2lkIGNvbmZpcm1NZXNzYWdlRnJvbVdvcmtlck9iamVjdChib29sKTsKQEAgLTE0Niw3ICsxNDYs
NiBAQCBwcml2YXRlOgogICAgICAgICBXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwK
ICAgICAgICAgV2ViU2hhcmVkV29ya2VySW1wbCogdGhpc1B0ciwKICAgICAgICAgaW50IHNvdXJj
ZSwKLSAgICAgICAgaW50IHR5cGUsCiAgICAgICAgIGludCBsZXZlbCwKICAgICAgICAgY29uc3Qg
V1RGOjpTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgIGludCBsaW5lTnVtYmVyLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcAppbmRleCAy
YzBmYjlhYzgwOWEwOTY1OGQzNTRiMDM5MjljMWIwYWJjMjA4ZjcwLi5jZjdlMGQyZjA5ZGMwYjk2
OWZlNjNjNDZlMTBlMjMzZDQ2Njc0MjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcApAQCAtMTg3LDkgKzE4Nyw5IEBAIHZvaWQg
V2ViV29ya2VyQ2xpZW50SW1wbDo6cG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlCiAgICAgbV9wcm94eS0+cG9zdEV4Y2VwdGlvblRvV29ya2VyT2Jq
ZWN0KGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotdm9pZCBXZWJX
b3JrZXJDbGllbnRJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCkKK3ZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJP
YmplY3QoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7
Ci0gICAgbV9wcm94eS0+cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCB0
eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKKyAgICBtX3Byb3h5
LT5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChzb3VyY2UsIGxldmVsLCBtZXNzYWdl
LCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCiB2b2lkIFdlYldvcmtlckNsaWVudEltcGw6
OndvcmtlckNvbnRleHREZXN0cm95ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCmluZGV4IGY2Nzc5MDgzYmRiZDNmNjU3NTViY2Q1MGE1
MjZiZTJhMDE2MjRkYjguLjM4MWE0OTViYWY0ZjZhZjg0YTExNDIwY2M1NDVjMjRlMzAyMDNhODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBs
LmgKQEAgLTkyLDcgKzkyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2Fn
ZVRvV29ya2VyT2JqZWN0KFBhc3NSZWZQdHI8V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiwgUGFzc093blB0cjxXZWJDb3JlOjpNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCkgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3Jr
ZXJPYmplY3QoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUsIFdl
YkNvcmU6Ok1lc3NhZ2VMZXZlbCwKKyAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdl
VG9Xb3JrZXJPYmplY3QoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxl
dmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNvbmZpcm1NZXNzYWdlRnJvbVdvcmtl
ck9iamVjdChib29sKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0UGVuZGluZ0Fj
dGl2aXR5KGJvb2wpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKaW5kZXggMGZlMGZmYWI2NzdmOGEwODlmYzRj
NTkwMjg3NzA1ZDM2NjZhZTJiYi4uNWVmNWU2OGU3YWIwNWM2OTUwZDFlYTA4N2JjODc2MGZiNDNj
MGY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRFZmwuY3BwCkBAIC0yNzMsNyArMjczLDcgQEAgYm9vbCBDaHJvbWVDbGllbnRFZmw6
OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEZyYW1l
KgogICAgIHJldHVybiBydW5KYXZhU2NyaXB0Q29uZmlybShmcmFtZSwgbWVzc2FnZSk7CiB9CiAK
LXZvaWQgQ2hyb21lQ2xpZW50RWZsOjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKK3ZvaWQg
Q2hyb21lQ2xpZW50RWZsOjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYg
c291cmNlSUQpCiB7CiAgICAgZXdrX3ZpZXdfYWRkX2NvbnNvbGVfbWVzc2FnZShtX3ZpZXcsIG1l
c3NhZ2UudXRmOCgpLmRhdGEoKSwgbGluZU51bWJlciwgc291cmNlSUQudXRmOCgpLmRhdGEoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5oCmluZGV4IGFiMTA3NzhmYTk1Yjg5MTM3MmIzOTZlNzdjY2MyOTE5MzhhODI4OGUuLmI5MmQy
Y2MwNmFlMjBmYTk4OWVjNTVjNTcyMzhiMTEwZjczNTc4ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC04NSw3ICs4NSw3
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdl
VHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCisgICAgdmlydHVhbCB2
b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpOwogCiAgICAg
dmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBi
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5k
ZXggNjE1MmY1MDgwYmZiZGVjOWNlNDQxYzljMzkxNTAyYjIwMDE5OTk4NS4uNThmMWVkMWEyODJl
ZDU5YjQ0MTM0N2IzNGY2NjgwOTg0MjE0NjgxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC0zMjcsNyArMzI3LDcg
QEAgYm9vbCBDaHJvbWVDbGllbnQ6OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBX
VEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViQ28KICAgICByZXR1cm4gcnVuSmF2YVNjcmlwdENvbmZp
cm0oZnJhbWUsIG1lc3NhZ2UpOwogfQogCi12b2lkIENocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRv
Q29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlIHNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5
cGUgdHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3Vy
Y2VJZCkKK3ZvaWQgQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1l
c3NhZ2VTb3VyY2Ugc291cmNlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdU
Rjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmlu
ZyYgc291cmNlSWQpCiB7CiAgICAgZ2Jvb2xlYW4gcmV0dmFsOwogICAgIGdfc2lnbmFsX2VtaXRf
YnlfbmFtZShtX3dlYlZpZXcsICJjb25zb2xlLW1lc3NhZ2UiLCBtZXNzYWdlLnV0ZjgoKS5kYXRh
KCksIGxpbmVOdW1iZXIsIHNvdXJjZUlkLnV0ZjgoKS5kYXRhKCksICZyZXR2YWwpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRl
eCA0NGMyMTFhZDQ2Mjg3ZWZmZDc0MzA0YzAyZGNjNmRiMzBmYWY2MDNjLi41YzkyZTA5ZDYzY2U5
NTFmZGZjMWQ2NDU0ODZmMTYxYWFiMjRiNjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtODIsOSArODIsNyBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wp
OwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNz
YWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlEKTsKKyAgICAgICAgdmly
dHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3Qg
V1RGOjpTdHJpbmcmIHNvdXJjZUlEKTsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVm
b3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVV
bmxvYWRDb25maXJtUGFuZWwoY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIEZyYW1lKiBmcmFt
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IDcwNzM0OWM1YmQ2NTI1YTM1ODc3YWUyYWJmMmUzMGVmOGQ3Y2Y1YjEuLjBj
MTk5OWE4M2Q2MmUzNWVmMDc4MmM1MDkzZTQxMjJhYTJiNGQxM2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC03NCw3ICs3
NCw3IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wp
IE9WRVJSSURFOwogICAgIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdl
YkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBXZWJDb3JlOjpNZXNz
YWdlTGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51
bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZVVSTCkgT1ZFUlJJREU7CisgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29y
ZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGlu
ZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZVVSTCkgT1ZFUlJJREU7CiAKICAgICB2
aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0
cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCA4NjBh
OTMzODZmYjNkYTg0ZGU5NWJkYzRlYjRmNWVjNmUyZWQ3ZjdkLi42NDk4OTA1NWZmMmE0YWQ3ZDVk
MmMxNzY0ODEzOGVlZTUwNDY3M2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC05NywxNyArOTcsNiBAQCBOU1N0cmlu
ZyAqV2ViQ29uc29sZU1lc3NhZ2VOZXR3b3JrTWVzc2FnZVNvdXJjZSA9IEAiTmV0d29ya01lc3Nh
Z2VTb3VyY2UiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQ29uc29sZUFQSU1lc3NhZ2VT
b3VyY2UgPSBAIkNvbnNvbGVBUElNZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25zb2xl
TWVzc2FnZU90aGVyTWVzc2FnZVNvdXJjZSA9IEAiT3RoZXJNZXNzYWdlU291cmNlIjsKIAotTlNT
dHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlTG9nTWVzc2FnZVR5cGUgPSBAIkxvZ01lc3NhZ2VUeXBl
IjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZURpck1lc3NhZ2VUeXBlID0gQCJEaXJNZXNz
YWdlVHlwZSI7Ci1OU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VDbGVhck1lc3NhZ2VUeXBlID0g
QCJDbGVhck1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZURpclhNTE1l
c3NhZ2VUeXBlID0gQCJEaXJYTUxNZXNzYWdlVHlwZSI7Ci1OU1N0cmluZyAqV2ViQ29uc29sZU1l
c3NhZ2VUcmFjZU1lc3NhZ2VUeXBlID0gQCJUcmFjZU1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpX
ZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBNZXNzYWdlVHlwZSA9IEAiU3RhcnRHcm91cE1lc3Nh
Z2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBDb2xsYXBzZWRN
ZXNzYWdlVHlwZSA9IEAiU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5n
ICpXZWJDb25zb2xlTWVzc2FnZUVuZEdyb3VwTWVzc2FnZVR5cGUgPSBAIkVuZEdyb3VwTWVzc2Fn
ZVR5cGUiOwotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQXNzZXJ0TWVzc2FnZVR5cGUgPSBA
IkFzc2VydE1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nKiBXZWJDb25zb2xlTWVzc2FnZVRpbWluZ01l
c3NhZ2VUeXBlID0gQCJUaW1pbmdNZXNzYWdlVHlwZSI7Ci0KIE5TU3RyaW5nICpXZWJDb25zb2xl
TWVzc2FnZVRpcE1lc3NhZ2VMZXZlbCA9IEAiVGlwTWVzc2FnZUxldmVsIjsKIE5TU3RyaW5nICpX
ZWJDb25zb2xlTWVzc2FnZUxvZ01lc3NhZ2VMZXZlbCA9IEAiTG9nTWVzc2FnZUxldmVsIjsKIE5T
U3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVdhcm5pbmdNZXNzYWdlTGV2ZWwgPSBAIldhcm5pbmdN
ZXNzYWdlTGV2ZWwiOwpAQCAtMzU3LDM0ICszNDYsNiBAQCBpbmxpbmUgc3RhdGljIE5TU3RyaW5n
ICpzdHJpbmdGb3JNZXNzYWdlU291cmNlKE1lc3NhZ2VTb3VyY2Ugc291cmNlKQogICAgIHJldHVy
biBAIiI7CiB9CiAKLWlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VUeXBl
KE1lc3NhZ2VUeXBlIHR5cGUpCi17Ci0gICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBMb2dN
ZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlTG9nTWVzc2FnZVR5
cGU7Ci0gICAgY2FzZSBDbGVhck1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29s
ZU1lc3NhZ2VDbGVhck1lc3NhZ2VUeXBlOwotICAgIGNhc2UgRGlyTWVzc2FnZVR5cGU6Ci0gICAg
ICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZURpck1lc3NhZ2VUeXBlOwotICAgIGNhc2UgRGly
WE1MTWVzc2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZURpclhNTE1l
c3NhZ2VUeXBlOwotICAgIGNhc2UgVHJhY2VNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdl
YkNvbnNvbGVNZXNzYWdlVHJhY2VNZXNzYWdlVHlwZTsKLSAgICBjYXNlIFN0YXJ0R3JvdXBNZXNz
YWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlU3RhcnRHcm91cE1lc3Nh
Z2VUeXBlOwotICAgIGNhc2UgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlOgotICAgICAg
ICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGU7
Ci0gICAgY2FzZSBFbmRHcm91cE1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29s
ZU1lc3NhZ2VFbmRHcm91cE1lc3NhZ2VUeXBlOwotICAgIGNhc2UgQXNzZXJ0TWVzc2FnZVR5cGU6
Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUFzc2VydE1lc3NhZ2VUeXBlOwotICAg
IGNhc2UgVGltaW5nTWVzc2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2Fn
ZVRpbWluZ01lc3NhZ2VUeXBlOwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICByZXR1cm4gQCIiOwotfQotCiBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNz
YWdlTGV2ZWwoTWVzc2FnZUxldmVsIGxldmVsKQogewogICAgIHN3aXRjaCAobGV2ZWwpIHsKQEAg
LTQwMyw3ICszNjQsNyBAQCBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdl
TGV2ZWwoTWVzc2FnZUxldmVsIGxldmVsKQogICAgIHJldHVybiBAIiI7CiB9CiAKLXZvaWQgV2Vi
Q2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBp
bnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7CiAgICAgaWQgZGVsZWdh
dGUgPSBbbV93ZWJWaWV3IFVJRGVsZWdhdGVdOwogICAgIEJPT0wgcmVzcG9uZHNUb05ld1NlbGVj
dG9yID0gTk87CkBAIC00MjYsNyArMzg3LDYgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUKICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhVbnNpZ25lZEludDpsaW5lTnVtYmVyXSwgQCJsaW5l
TnVtYmVyIiwKICAgICAgICAgKE5TU3RyaW5nICopc291cmNlVVJMLCBAInNvdXJjZVVSTCIsCiAg
ICAgICAgIG1lc3NhZ2VTb3VyY2UsIEAiTWVzc2FnZVNvdXJjZSIsCi0gICAgICAgIHN0cmluZ0Zv
ck1lc3NhZ2VUeXBlKHR5cGUpLCBAIk1lc3NhZ2VUeXBlIiwKICAgICAgICAgc3RyaW5nRm9yTWVz
c2FnZUxldmVsKGxldmVsKSwgQCJNZXNzYWdlTGV2ZWwiLAogICAgICAgICBOVUxMXTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4
IGJiNTM0YTI0MTRmMmQ5MDVhMTE3ZmI1YWRlYjQ2ZDE1YTJmODg5MjMuLjNmMjQwZWE1M2VkN2Zk
YTAwYjgwOWZlMjA1ZGQ0MmE0NjBjYmZlMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTExMSwxNiArMTExLDYgQEAgZXh0ZXJu
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU5ldHdvcmtNZXNzYWdlU291cmNlOwogZXh0ZXJu
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNzYWdlU291cmNlOwogZXh0
ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVyTWVzc2FnZVNvdXJjZTsKIAotLy8g
TWVzc2FnZSBUeXBlcy4KLWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VMb2dNZXNz
YWdlVHlwZTsKLWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VEaXJNZXNzYWdlVHlw
ZTsKLWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VEaXJYTUxNZXNzYWdlVHlwZTsK
LWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VUcmFjZU1lc3NhZ2VUeXBlOwotZXh0
ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBNZXNzYWdlVHlwZTsKLWV4
dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2Fn
ZVR5cGU7Ci1leHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlRW5kR3JvdXBNZXNzYWdl
VHlwZTsKLWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VBc3NlcnRNZXNzYWdlVHlw
ZTsKLQogLy8gTWVzc2FnZSBMZXZlbHMuCiBleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNz
YWdlVGlwTWVzc2FnZUxldmVsOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUxv
Z01lc3NhZ2VMZXZlbDsKQEAgLTE2OSwxMSArMTU5LDYgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJD
b25zb2xlTWVzc2FnZURlYnVnTWVzc2FnZUxldmVsOwogICAgICAgICAgICAgV2hlcmUgdGhlIG1l
c3NhZ2UgY2FtZSBmcm9tLiBIVE1MLCBYTUwsIEphdmFTY3JpcHQsIENTUywgZXRjLgogICAgICAg
ICAgICAgU2VlIFdlYkNvbnNvbGVNZXNzYWdlSFRNTE1lc3NhZ2VTb3VyY2UgYW5kIHNpbWlsYXIg
Y29uc3RhbnRzLgogICAgICAgICA8L2RkPgotICAgICAgICA8ZHQ+TWVzc2FnZVR5cGU8L2R0Pgot
ICAgICAgICA8ZGQ+Ci0gICAgICAgICAgICBDbGFzcyBvZiBtZXNzYWdlLiBTdGFydCAvIEVuZCBv
ZiBhIEdyb3VwLCBhIExvZywgTmV0d29yayByZWxhdGVkLCBldGMuCi0gICAgICAgICAgICBTZWUg
V2ViQ29uc29sZU1lc3NhZ2VMb2dNZXNzYWdlVHlwZSBhbmQgc2ltaWxhciBjb25zdGFudHMuCi0g
ICAgICAgIDwvZGQ+CiAgICAgICAgIDxkdD5NZXNzYWdlTGV2ZWw8L2R0PgogICAgICAgICA8ZGQ+
CiAgICAgICAgICAgICBTZXZlcml0eSBsZXZlbCBvZiB0aGUgbWVzc2FnZS4gVGlwLCBMb2csIFdh
cm5pbmcsIGV0Yy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5jcHAKaW5kZXggNzFiNDVkNmRkZDcyZTEzYWU0NDk5MWM1ZmNjZjU5OWI1ZDIy
YWQzNi4uZDE1NGQ0MmQ2MTJiYTAzZWNkZjdhOTg0MTBlNzk0MDZkMTdkMmMxYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKQEAg
LTMwNyw3ICszMDcsNyBAQCB2b2lkIENocm9tZUNsaWVudFF0OjpzZXRSZXNpemFibGUoYm9vbCkK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIENocm9tZUNsaWVudFF0OjphZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBz
b3VyY2VJRCkKK3ZvaWQgQ2hyb21lQ2xpZW50UXQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCiB7CiAgICAgUVN0cmluZyB4ID0gbWVz
c2FnZTsKICAgICBRU3RyaW5nIHkgPSBzb3VyY2VJRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCAxMjJiNDA4ZmI1NzQ4YmNiOWMw
NzQ4NGQ2NmY3NDVjOWQ0YTMxNGVlLi5kNzNjYjQwOTQ5ZjA0ZmI1OTBhYmM0NmZiMTA2MTIxNjEy
NmRmYmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oCkBAIC0xMDEsNyArMTAxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lk
IHNldFJlc2l6YWJsZShib29sKTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25z
b2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCk7
CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNv
bnN0IFN0cmluZyYgc291cmNlSUQpOwogCiAgICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVu
bG9hZENvbmZpcm1QYW5lbCgpOwogICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25m
aXJtUGFuZWwoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBGcmFtZSopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNjhi
ZGRlZjAzNDE4NGI1ZDQwMWQ1Y2QwZjc0YTU2MjFmNjRiNjllMi4uZDhiMmYwNmVkZjhiY2U1NmNk
MzY3OGY1NzQ3M2U4MDBjNWQ0MjgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0zMzQsNyArMzM0LDcgQEAgdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OnNldFJlc2l6YWJsZShib29sIHJlc2l6YWJsZSkKICAgICB9CiB9
CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3Vy
Y2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZSwgY29uc3QgU3RyaW5nJiB1cmwpCit2b2lkIFdl
YkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmUs
IGNvbnN0IFN0cmluZyYgdXJsKQogewogICAgIENPTVB0cjxJV2ViVUlEZWxlZ2F0ZT4gdWlEZWxl
Z2F0ZTsKICAgICBpZiAoU1VDQ0VFREVEKG1fd2ViVmlldy0+dWlEZWxlZ2F0ZSgmdWlEZWxlZ2F0
ZSkpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCmluZGV4IDlhZWM3MzQ2ZjAyNTlmZWYwODVkYWE3YTY3NWNlMzhkZTVhN2Q0MzYu
LmU0NzcyZmZiNWMzNTUzZjhhOTJhZGEwMDVkMGUzN2M5YzU4YjIyYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC03OCw3
ICs3OCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdl
U291cmNlIHNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUgdHlwZSwgV2ViQ29yZTo6TWVzc2Fn
ZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZSwg
Y29uc3QgV1RGOjpTdHJpbmcmIHVybCk7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0Nv
bnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25z
dCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZSwgY29uc3QgV1RGOjpTdHJpbmcm
IHVybCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVs
KCk7CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBX
VEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqIGZyYW1lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3Bw
IGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5j
cHAKaW5kZXggZGU2YmY3MTkwZmIwMjM5YjQwMTc4ZmE0ZGU4YmVkY2Y0MDg1YmU0MS4uODQ0MzM5
MmJjOTNiY2Y3N2ZlMWE0Y2ZmMDVlYmE5MmVmMTg2ODMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKQEAg
LTE4NCw3ICsxODQsNyBAQCBib29sIENocm9tZUNsaWVudFdpbkNFOjpydW5CZWZvcmVVbmxvYWRD
b25maXJtUGFuZWwoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBGcmFtZQogICAgIHJldHVybiBydW5K
YXZhU2NyaXB0Q29uZmlybShmcmFtZSwgbWVzc2FnZSk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50
V2luQ0U6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQgaW50LCBjb25zdCBTdHJpbmcmKQor
dm9pZCBDaHJvbWVDbGllbnRXaW5DRTo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkLCBjb25zdCBTdHJpbmcmKQog
ewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dp
bmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKaW5kZXggOTZjZWExYTYyYWJk
OTg1ZmExMjIwYmNiN2Y0ZDc5ZWM5Njk4NzEzZi4uNTEyNmE1MDI4NDAxMDc4ZmM2MWNmZTM1NjMy
MjZmNWEyODNlMDIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAgdmlydHVhbCB2b2lk
IGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVz
c2FnZVR5cGUsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSUQp
OworICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VT
b3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2Us
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCk7CiAKICAg
ICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmly
dHVhbCBib29sIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYg
bWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqIGZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCmluZGV4IDVmMTE2N2I1NDdjZDYxYTZm
MDVhYzI4ZjE3YjNhY2RlNzZkMTZmNGMuLjY5MWRhODViZmRiMzAyYWE0OGIwMzZiYjU4YzJkMGU5
MmY4MjZkODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJv
bWVDbGllbnRXeC5jcHAKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9t
ZUNsaWVudFd4LmNwcApAQCAtMjI3LDEwICsyMjcsOSBAQCB2b2lkIENocm9tZUNsaWVudFd4Ojpz
ZXRSZXNpemFibGUoYm9vbCkKIH0KIAogdm9pZCBDaHJvbWVDbGllbnRXeDo6YWRkTWVzc2FnZVRv
Q29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE1lc3NhZ2VUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBNZXNzYWdlTGV2ZWwgbGV2ZWwsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGluZU51bWJl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxp
bmVOdW1iZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBTdHJpbmcmIHNvdXJjZUlEKQogewogICAgIGlmIChtX3dlYlZpZXcpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oIGIvU291cmNl
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKaW5kZXggNTA1NDBmMDk0
M2U5ZDY5NjNmMTk1NGMxMWU2MmNjY2E3ZjlkOGE1OC4uYjMxYThiZjVkZjg4OWM5Yzg3Yjc2NjYx
YWNiNDY5NmUwNGI4YzU5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0Nocm9tZUNsaWVudFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0Nocm9tZUNsaWVudFd4LmgKQEAgLTgxLDcgKzgxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBzZXRSZXNpemFibGUoYm9vbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRv
Q29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBNZXNzYWdlVHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE1lc3NhZ2VMZXZlbCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKaW5kZXggYmEzNTczNjNhMDY4ODNhNTllZThlMWZmYThmOTIxNDE1MjAzMmNiOC4uNzk1
YWVjNzAxNmNkZWYwNDg3MDk1NWZhOGU5YTIxMDljZWYwZmQ0YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcApAQCAtMjY4LDcgKzI2OCw3IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRSZXNp
emFibGUoYm9vbCByZXNpemFibGUpCiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OlNldElzUmVzaXphYmxlKHJlc2l6YWJsZSkpOwogfQogCi12b2lkIFdlYkNocm9tZUNs
aWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIC8qc291cmNlSUQqLykKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRN
ZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIC8qc291cmNlSUQq
LykKIHsKICAgICAvLyBOb3RpZnkgdGhlIGJ1bmRsZSBjbGllbnQuCiAgICAgbV9wYWdlLT5pbmpl
Y3RlZEJ1bmRsZVVJQ2xpZW50KCkud2lsbEFkZE1lc3NhZ2VUb0NvbnNvbGUobV9wYWdlLCBtZXNz
YWdlLCBsaW5lTnVtYmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGE0ODFjOGY1YzNjZjE0
NDQzNDAyNzYyN2FmYzg0ZTMwY2I3Y2QwNTQuLmIxOWI1ZmVmYWM0YTgxOTVjZjQ3YmY5NDcwY2Vh
NzM3ODcyY2FjMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtOTEsNyArOTEsNyBAQCBwcml2
YXRlOgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgT1ZFUlJJREU7
CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVz
c2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VJRCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0Nv
bnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlSUQpIE9WRVJSSURFOwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxv
YWRDb25maXJtUGFuZWwoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5s
b2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqKSBP
VkVSUklERTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178800</attachid>
            <date>2012-12-11 07:22:05 -0800</date>
            <delta_ts>2012-12-11 08:11:07 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-66371-20121211161926.patch</filename>
            <type>text/plain</type>
            <size>139464</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODA5Y2Y5NjQ0N2EyZmU3
ZDhiZTNmNGZiOTM4MTZmNGM1YzZhMDNhNi4uOTVhZjBkZWUyMDA0ZWNiOTJjNjNhZTljMzA3Njdi
MmMyMGJmNmI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3MyBAQAorMjAxMi0xMi0xMSAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENv
bnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBw
cml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4K
KworICAgICAgICBXZSBjYW4gc2ltcGxpZnkgY29uc29sZSBtZXNzYWdlIGdlbmVyYXRpb24gYSBi
aXQsIGFzIG5vdGhpbmcgb3V0c2lkZSB0aGUKKyAgICAgICAgQ29uc29sZSBvYmplY3QgaXRzZWxm
IHdpbGwgZ2VuZXJhdGUgbWVzc2FnZXMgb2YgYW55IHR5cGUgb3RoZXIgdGhhbgorICAgICAgICBM
b2dNZXNzYWdlVHlwZS4gVGhpcyBwYXRjaCByZWZhY3RvcnMgdGhlIGV4dGVybmFsbHktZmFjaW5n
IEFQSSBlbmRwb2ludHMKKyAgICAgICAgb24gU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBhbmQgQ29u
c29sZSB0byBkcm9wIHRoZSBNZXNzYWdlVHlwZSBwYXJhbWV0ZXIsCisgICAgICAgIG1vdmVzIHRo
ZSBNZXNzYWdlVHlwZSBlbnVtIGludG8gYSBuZXcgSW5zcGVjdG9yQ29uc29sZVR5cGVzLmggaGVh
ZGVyLAorICAgICAgICBhbmQgdXBkYXRlcyBhbGwgdGhlIGNhbGwgc2l0ZXMgKGFuZCBDaHJvbWVD
bGllbnRzKSB0byBkcm9wIHRoZSBwYXJhbWV0ZXIKKyAgICAgICAgZnJvbSB0aGVpciBpbnRlcmZh
Y2VzLgorCisgICAgICAgIEFzIGEgdGVtcG9yYXJ5IGJhbmRhZ2UgZm9yIHBvcnRzIHVzaW5nIHRo
aXMgaW50ZXJmYWNlLCB0aGlzIHBhdGNoCisgICAgICAgIGluY2x1ZGVzIGFsaWFzZXMgZm9yIHRo
ZSBuZXcgbWV0aG9kcyB0aGF0IHJldGFpbiB0aGUgb2xkIGludGVyZmFjZS4KKyAgICAgICAgSSds
bCByZW1vdmUgdGhlbSBpbiBhIGZ1dHVyZSBwYXRjaC4KKworICAgICAgICBIZXJlLCB3ZSBvbmx5
IHJlZmFjdG9yIGFuIGludGVybmFsIGludGVyZmFjZS4gTm8gdGVzdHMgc2hvdWxkIGJyZWFrLgor
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgor
ICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICAgICBXZSBhZGRlZCBhIG5ldyBmaWxlISBPTUchCisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9CdWZmZXJTb3VyY2VOb2RlOjpsb29waW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVm
ZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFz
ZS9BYnN0cmFjdERhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFic3RyYWN0RGF0YWJh
c2U6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNvbm5lY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0OjpzZXRCaW5hcnlUeXBlKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpmYWlsKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0pOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
Q3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOEN1c3RvbVhQYXRoTlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKToKKyAg
ICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFkZFJlc29sdXRp
b25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmFkZE1lc3NhZ2UpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
ICAgICAgICAoRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAg
KiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OnBlcmZvcm1UYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkZENvbnNvbGVNZXNz
YWdlKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpBZGRDb25zb2xlTWVzc2FnZVRhc2s6OkFkZENv
bnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydFZpZXdwb3J0V2FybmluZyk6CisgICAgICAgICogZmls
ZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCbG9iQnVpbGRl
cjo6YXBwZW5kKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlk
YXRlSW50ZXJhY3RpdmVseSk6CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgor
ICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVHJhY2tFbGVtZW50OjpjYW5Mb2FkVXJsKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpnZXRJbWFnZURhdGEpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6cHJpbnRXYXJuaW5nVG9Db25zb2xlKToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1
ZGl0b3I6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvcjo6ZmlsdGVyVG9rZW4p
OgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHA6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50
cy5oOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpzaG91bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyk6Cisg
ICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
TG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2Vp
dmVSZXNwb25zZSk6CisgICAgICAgICogbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWl4ZWRDb250ZW50Q2hlY2tlcjo6bG9nV2FybmluZyk6CisgICAg
ICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
VHJhY2tMb2FkZXI6OmNvcnNQb2xpY3lQcmV2ZW50ZWRMb2FkKToKKyAgICAgICAgKiBsb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFw
cGxpY2F0aW9uQ2FjaGVHcm91cDo6YWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRp
b25DYWNoZUdyb3VwOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXBw
bGljYXRpb25DYWNoZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVNYW5pZmVzdFJlc3BvbnNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZ01hbmlmZXN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJ
c0NvbXBsZXRlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNz
RGVuaWVkTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAg
KENocm9tZUNsaWVudCk6CisgICAgICAgICAgICBEcm9wIExvZ01lc3NhZ2VUeXBlIGZyb20gZXZl
cnl3aGVyZS4KKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29uc29sZTo6YWRkTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjppbnRlcm5hbEFkZE1lc3Nh
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6Q29uc29sZTo6ZXJyb3IpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29uc29sZTo6bG9nKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6Ondhcm4pOgorICAg
ICAgICAoV2ViQ29yZTo6Q29uc29sZTo6ZGlyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnNvbGU6
OmRpcnhtbCk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjpjbGVhcik6CisgICAgICAgIChX
ZWJDb3JlOjpDb25zb2xlOjp0cmFjZSk6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjphc3Nl
cnRDb25kaXRpb24pOgorICAgICAgICAqIHBhZ2UvQ29uc29sZS5oOgorICAgICAgICAoQ29uc29s
ZSk6CisgICAgICAgICAgICBDcmVhdGUgYSBuZXcgaW50ZXJuYWxBZGRNZXNzYWdlIHRoYXQncyB1
c2VkIGZvciB0aGUgdmFyaW91cworICAgICAgICAgICAgQ29uc29sZSBtZXNzYWdlIHR5cGVzLiBF
dmVyeXRoaW5nIGVsc2Ugcm91dGVzIHRocm91Z2gKKyAgICAgICAgICAgIDo6YWRkTWVzc2FnZS4K
KyAgICAgICAgKiBwYWdlL0NvbnNvbGVUeXBlcy5oOgorICAgICAgICAgICAgRHJvcCBNZXNzYWdl
VHlwZXMgZnJvbSB0aGlzIGZpbGUsIGFkZCBpdCB0byBDb25zb2xlQVBJVHlwZS5oCisgICAgICAg
ICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUpOgorICAgICAgICAqIHBhZ2UvRE9NV2lu
ZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hNZXNzYWdlRXZl
bnRXaXRoT3JpZ2luQ2hlY2spOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpwcmludEVy
cm9yTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKiBzdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9ydE1lc3Nh
Z2UpOgorICAgICAgICAqIHdvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3Bw
OgorICAgICAgICAoU2hhcmVkV29ya2VyUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6cG9zdENv
bnNvbGVNZXNzYWdlVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJQcm94eTo6
cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QpOgorICAgICAgICAqIHdvcmtlcnMvU2hh
cmVkV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250
ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2VUb1dvcmtlckNvbnNv
bGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAoV29ya2Vy
Q29udGV4dCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKToKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVj
dCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAo
V29ya2VyTWVzc2FnaW5nUHJveHkpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyUmVwb3J0aW5n
UHJveHkuaDoKKyAgICAgICAgKFdvcmtlclJlcG9ydGluZ1Byb3h5KToKKyAgICAgICAgKiB4bWwv
WE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nQ29uc29sZUVycm9yKToK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZW5kKToKKyAgICAgICAgKiB4bWwv
WFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNMVFByb2Nlc3Nv
cjo6cGFyc2VFcnJvckZ1bmMpOgorICAgICAgICAqIHhtbC9YU0xUUHJvY2Vzc29yUXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6WFNMVE1lc3NhZ2VIYW5kbGVyOjpoYW5kbGVNZXNzYWdlKToKKyAg
ICAgICAgICAgIERyb3AgTG9nTWVzc2FnZVR5cGUgZnJvbSBldmVyeXdoZXJlLgorCiAyMDEyLTEy
LTExICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UkVHUkVTU0lPTihyMTM2OTQ4KTogaW5zcGVjdG9yL3N0eWxlcy9pbXBvcnQtcHNldWRvY2xhc3Mt
Y3Jhc2guaHRtbCBoaXRzIGFuIGFzc2VydGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cK
aW5kZXggNTA4MzMxZThjNDVjNDEyOTBlODY3NTJiNTE4M2IzNGY3NzFmYzQ3NS4uOGE1MjgyNjI0
YmRiMTk1MGNhOWViMmRmNWQ2OGJlN2I0NDkzYWJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMTEgIE1pa2UgV2VzdCAgPG1rd3N0QGNo
cm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMgc2hvdWxk
IG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBpbnNwZWN0
b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3
MQorCisgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCisKKyAgICAgICAgRHJvcHMg
V2ViQ29yZTo6TWVzc2FnZVR5cGUgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBtZXRob2Qu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEJsYWNrQmVycnk6OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnku
aDoKKyAgICAgICAgKENocm9tZUNsaWVudEJsYWNrQmVycnkpOgorCiAyMDEyLTEyLTEwICBNYXgg
RmVpbCAgPG1mZWlsQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIEZsYXNoIGNvbnRl
bnQgaXMgYmVpbmcgcmVuZGVyZWQgYXMgZ2FyYmxlZCBjaGFyYWN0ZXJzIHdoZW4gRmxhc2hwbGF5
ZXIgaXMgZGlzYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOTRiMWQyNjAwNDE2
Yjk1NmM3ZmQxOTA3MzlhODMwZGQyMzQ3MDVjNC4uZjcxZWVjODg3NzRiNzg4YjJmYzRlMzllOWVl
OGVkYjM2OGIxNWU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBA
QAorMjAxMi0xMi0xMSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlw
ZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAgICBEcm9wcyBXZWJDb3JlOjpNZXNzYWdlVHlwZSBm
cm9tIHRoZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZCwgYW5kIGFsbAorICAgICAgICB0aGUg
YW5jaWxsaWFyeSBwbGFjZXMgaXQgdG91Y2hlcy4KKworICAgICAgICBBbGlhc2VzIHBvc3RDb25z
b2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0IHdpdGggdGhlIG9sZCBpbnRlcmZhY2UgaW4KKyAgICAg
ICAgb3JkZXIgdG8gbWFpbnRhaW4gYmFjay1jb21wYXQuIFdpbGwgcmVtb3ZlIGl0IGluIGEgZnV0
dXJlIHBhdGNoIG9uY2UKKyAgICAgICAgQ2hyb21pdW0gaXMgdXBkYXRlZC4KKworICAgICAgICAq
IHB1YmxpYy9XZWJTaGFyZWRXb3JrZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYlNoYXJlZFdvcmtl
ckNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNoYXJlZFdvcmtlckNsaWVudDo6cG9zdENv
bnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QpOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAoQ2hy
b21lQ2xpZW50SW1wbCk6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICog
c3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwOgorICAgICAgICAqIHNyYy9XZWJTaGFyZWRXb3JrZXJJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2hhcmVkV29ya2VySW1wbDo6cG9zdENvbnNv
bGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTaGFyZWRXb3Jr
ZXJJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKToKKyAgICAgICAgKiBzcmMvV2ViU2hhcmVk
V29ya2VySW1wbC5oOgorICAgICAgICAoV2ViU2hhcmVkV29ya2VySW1wbCk6CisgICAgICAgICog
c3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJXb3JrZXJD
bGllbnRJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCk6CisgICAgICAgICog
c3JjL1dlYldvcmtlckNsaWVudEltcGwuaDoKKyAgICAgICAgKFdlYldvcmtlckNsaWVudEltcGwp
OgorCiAyMDEyLTEyLTEwICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIFdlYkNvbXBvc2l0b3JPdXRwdXRTdXJmYWNlIGltcGxl
bWVudGF0aW9ucyBmcm9tIERSVApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDAzY2NhZGQyZTUyZWQ3ZDFm
ODM3MGY5Njc3M2FhZGVkN2M3ZjljNGIuLjRlZTI0OTM2OGMzZjBkMWQ3ZGJlOTkyMWQ4MDkzNmZi
OWY3NjEwYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMSAg
TWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBi
ZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1h
bi4KKworICAgICAgICBEcm9wcyBXZWJDb3JlOjpNZXNzYWdlVHlwZSBmcm9tIHRoZSBhZGRNZXNz
YWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5o
OgorICAgICAgICAoQ2hyb21lQ2xpZW50RWZsKToKKwogMjAxMi0xMi0wNSAgSGFsdG9uIEh1byAg
PGhhbHRvbi5odW9AaW50ZWwuY29tPgogCiAgICAgICAgIFtDTWFrZV0gVW5pZnkgY29kaW5nIHN0
eWxlIGZvciBDTWFrZSBmaWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDlkYjUyNmRjNTQwMzZhMTQw
ZjMwZGEyNzk0OTFmODU0ZDk5OTI2ZGMuLmJiMjAyOWNiNzM5OGQ4NWQzNTJiMWYxMDcxOTJhYWVj
MDczM2MwODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0xMSAg
TWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBi
ZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1h
bi4KKworICAgICAgICBEcm9wcyBXZWJDb3JlOjpNZXNzYWdlVHlwZSBmcm9tIHRoZSBhZGRNZXNz
YWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRv
Q29uc29sZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6Cisg
ICAgICAgIChDaHJvbWVDbGllbnQpOgorCiAyMDEyLTEyLTExICBNYXJ0aW4gUm9iaW5zb24gIDxt
cm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ292ZXJpdHldIFtHVEtdIFJlbW92ZSBz
b21lIHJlZHVuZGFudCBudWxsIGNoZWNrcyBpbiBEdW1wUmVuZGVyVHJlZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IDVmM2RhMzk4Y2IyY2RkZTg0YTMxZjU1NWMyZTIzYjc2NDQzOGY3NTEuLmYyYTc0NWVj
NGFlY2FjMjk0NGIxNDdjZjYxM2E2M2MyMTQxODg2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0xMi0xMSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBN
ZXNzYWdlVHlwZSAtIGl0IHNob3VsZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAgICBEcm9wcyBXZWJDb3JlOjpNZXNz
YWdlVHlwZSBmcm9tIHRoZSBhZGRNZXNzYWdlVG9Db25zb2xlIG1ldGhvZC4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xp
ZW50KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAg
ICAgIChXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorCiAyMDEyLTEyLTA5
ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBGYWN0b3Igbm9k
ZSB0cmF2ZXJzYWwgaW50byBzdGFuZGFsb25lIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBj
YjI2MzU3NzAwNTBkNzkwNGU0ZWZjNzhiYTBiYmY2ZmNiZGU0MmNiLi5iYTc4Njg4ZWFhZDEyOWJi
ZWNhODIwNjBiMjY2OGUzMTBiYzYwMTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDEyLTEyLTExICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogQ29uc29sZVR5cGVzIHNob3VsZCBub3QgZXhwb3NlIE1lc3NhZ2VUeXBl
IC0gaXQgc2hvdWxkIGJlIHByaXZhdGUgdG8gaW5zcGVjdG9yLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzEKKworICAgICAgICBSZXZpZXdlZCBi
eSBQYXZlbCBGZWxkbWFuLgorCisgICAgICAgIERyb3BzIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlIGZy
b20gdGhlIGFkZE1lc3NhZ2VUb0NvbnNvbGUgbWV0aG9kLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50
UXQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRRdCk6CisKIDIwMTItMTItMTEgIFN0
ZXBoZW4gS2VsbHkgIDxzdGVwaGVuLmtlbGx5QGtkYWIuY29tPgogCiAgICAgICAgIFdlYktpdCB0
ZXN0cyBmb3IgdGhlIFF0IEFQSSBzaG91bGQgaW5jbHVkZSB0ZXN0cyBvZiBDTWFrZSBjb25maWcg
ZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBmMTU4NzE1NjIzNmQyNGVkN2ViOTg0ODQ2MDYwNDQz
NDdiOTU1ZmNkLi4yMTJmNTZkOWU4ZDExOGZiNGU2NGMxNDExZTJiZjAxN2M4NDQxMjU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMTEgIE1pa2UgV2VzdCAgPG1r
d3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zb2xlVHlwZXMg
c2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQgYmUgcHJpdmF0ZSB0byBp
bnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCisKKyAgICAgICAg
RHJvcHMgV2ViQ29yZTo6TWVzc2FnZVR5cGUgZnJvbSB0aGUgYWRkTWVzc2FnZVRvQ29uc29sZSBt
ZXRob2QuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgor
ICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNocm9tZUNs
aWVudCk6CisKIDIwMTItMTItMTAgIFh1ZXFpbmcgSHVhbmcgIDxodWFuZ3h1ZXFpbmdAYmFpZHUu
Y29tPgogCiAgICAgICAgIEFTU0VSVElPTiBmYWlsZWQgaW4gV2luZG93czogY3NzMy9jc3MzLW1v
ZHNlbC0zMy5odG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IGNhYmRkOTU4MTk0MWFhZjdmODU2
YjAxMjA1OTg2ZTM0ZjBlNDVjMGQuLjU4NjI1YmE1OWRmNTRkN2FkNjE2N2EzOWQ4ZGI1OGEwNzE4
OTJkZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTItMTEg
IE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBDb25zb2xlVHlwZXMgc2hvdWxkIG5vdCBleHBvc2UgTWVzc2FnZVR5cGUgLSBpdCBzaG91bGQg
YmUgcHJpdmF0ZSB0byBpbnNwZWN0b3IuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02NjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRt
YW4uCisKKyAgICAgICAgRHJvcHMgV2ViQ29yZTo6TWVzc2FnZVR5cGUgZnJvbSB0aGUgYWRkTWVz
c2FnZVRvQ29uc29sZSBtZXRob2QuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRXaW5DRS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudFdpbkNFOjphZGRN
ZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50V2luQ0UpOgorCiAyMDEyLTExLTI5ICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJdIEZvcndhcmQg
Y29va2llIGphciBjYWxscyB0byBOZXR3b3JrUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDMyMjJjMDBi
MjUyYjNlYWMyOGJkYTllNGFkOTdhN2QzNTgwNjZhODAuLjIyYTRmYTUzZjUzNmNhODQwZTFkOTMz
MGJiNTY1MGFkNmY2MDQ5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0x
MSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IENvbnNvbGVUeXBlcyBzaG91bGQgbm90IGV4cG9zZSBNZXNzYWdlVHlwZSAtIGl0IHNob3Vs
ZCBiZSBwcml2YXRlIHRvIGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVs
ZG1hbi4KKworICAgICAgICBEcm9wcyBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwgZnJvbSB0aGUgYWRk
TWVzc2FnZVRvQ29uc29sZSBtZXRob2QuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNs
aWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudCk6CisK
IDIwMTItMTItMTEgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8dGhpYWdvLnNhbnRvc0BpbnRl
bC5jb20+CiAKICAgICAgICAgW0VGTF0gSW5jcmVhc2UgdGhlIHRpbWVvdXQgb2YgdGhlIEFQSSB1
bml0IHRlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA0NDE2ZWRiMTIzNDZj
YTc5NmNkMWI4Yjg4ZTFlMDEwOTdkNTU3NTBjLi42MDMzMTY5MGQ0N2RiZjY4ODdmMjVlYWVlNjU2
OWVhMjljMWY0NTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTM2NzEsNiAr
MzY3MSw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaWN1L3VuaWNv
ZGUvdXR5cGVzLmggXAogCVNvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3V2ZXJzaW9uLmggXAog
CVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9CaW5kaW5nVmlzaXRvcnMuaCBcCisJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVBUElUeXBlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hV
dGlscy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCmluZGV4IDQzNzcwNWQ1ODc3M2Y3NTEyYWM0MDE5
NjlmNzBhNDZhMGIwNmI1ZGEuLjg4MWI4MDNiNzVjYWU2NjhjMmIwODgyMzIxNDJmMzczNzYxMjE1
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKQEAgLTQ0OSw3ICs0NDksNyBAQCBib29sIEF1ZGlvQnVm
ZmVyU291cmNlTm9kZTo6bG9vcGluZygpCiB7CiAgICAgc3RhdGljIGJvb2wgZmlyc3RUaW1lID0g
dHJ1ZTsKICAgICBpZiAoZmlyc3RUaW1lICYmIGNvbnRleHQoKSAmJiBjb250ZXh0KCktPnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSkgewotICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdl
VHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGlu
ZycgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CisgICAg
ICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsICJBdWRpb0J1ZmZlclNvdXJj
ZU5vZGUgJ2xvb3BpbmcnIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkLiAgVXNlICdsb29wJyBpbnN0
ZWFkLiIpOwogICAgICAgICBmaXJzdFRpbWUgPSBmYWxzZTsKICAgICB9CiAKQEAgLTQ2MCw3ICs0
NjAsNyBAQCB2b2lkIEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6c2V0TG9vcGluZyhib29sIGxvb3Bp
bmcpCiB7CiAgICAgc3RhdGljIGJvb2wgZmlyc3RUaW1lID0gdHJ1ZTsKICAgICBpZiAoZmlyc3RU
aW1lICYmIGNvbnRleHQoKSAmJiBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkg
ewotICAgICAgICBjb250ZXh0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VM
ZXZlbCwgIkF1ZGlvQnVmZmVyU291cmNlTm9kZSAnbG9vcGluZycgYXR0cmlidXRlIGlzIGRlcHJl
Y2F0ZWQuICBVc2UgJ2xvb3AnIGluc3RlYWQuIik7CisgICAgICAgIGNvbnRleHQoKS0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIFdh
cm5pbmdNZXNzYWdlTGV2ZWwsICJBdWRpb0J1ZmZlclNvdXJjZU5vZGUgJ2xvb3BpbmcnIGF0dHJp
YnV0ZSBpcyBkZXByZWNhdGVkLiAgVXNlICdsb29wJyBpbnN0ZWFkLiIpOwogICAgICAgICBmaXJz
dFRpbWUgPSBmYWxzZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2UuY3BwCmluZGV4IDYyOTA3ZTNlMWNlNmIw
OTE1YzJiMDM0NzYwOWU1MDdlOGMwMWNlYjYuLjZjZmU1MWI1ODU3ODNkN2MyOGU2MjU4NmRmNWQy
YmFlNjkyYTY1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJh
c2UvQWJzdHJhY3REYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmNwcApAQCAtNTY3LDcgKzU2Nyw3IEBAIGJvb2wgQWJz
dHJhY3REYXRhYmFzZTo6aXNJbnRlcnJ1cHRlZCgpCiAKIHZvaWQgQWJzdHJhY3REYXRhYmFzZTo6
bG9nRXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBtX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9n
TWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBtX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCmluZGV4
IDA2ZDJhZThlZjAxNjhlMzFhMzExYjMxOTk1MzVmNjEyMTViNzljZWQuLjc4NTJiMmViMmQzYTAy
MjRjYjJlNGVmNTBkZWM1MjE3MzE2NGIxNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC0yMTMsMjYgKzIxMywyNiBAQCB2b2lkIFdl
YlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4m
IHByb3RvY29scywgRXhjZQogICAgIG1fdXJsID0gS1VSTChLVVJMKCksIHVybCk7CiAKICAgICBp
ZiAoIW1fdXJsLmlzVmFsaWQoKSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCAiSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5n
KCkpOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJJbnZhbGlkIHVybCBmb3IgV2Vi
U29ja2V0ICIgKyBtX3VybC5zdHJpbmcoKSk7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAg
ICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlm
ICghbV91cmwucHJvdG9jb2xJcygid3MiKSAmJiAhbV91cmwucHJvdG9jb2xJcygid3NzIikpIHsK
LSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25nIHVy
bCBzY2hlbWUgZm9yIFdlYlNvY2tldCAiICsgbV91cmwuc3RyaW5nKCkpOworICAgICAgICBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJXcm9uZyB1cmwgc2NoZW1lIGZvciBXZWJTb2NrZXQgIiArIG1f
dXJsLnN0cmluZygpKTsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAgZWMgPSBT
WU5UQVhfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChtX3VybC5oYXNGcmFn
bWVudElkZW50aWZpZXIoKSkgewotICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVz
c2FnZUxldmVsLCAiVVJMIGhhcyBmcmFnbWVudCBjb21wb25lbnQgIiArIG1fdXJsLnN0cmluZygp
KTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiVVJMIGhhcyBmcmFnbWVudCBjb21w
b25lbnQgIiArIG1fdXJsLnN0cmluZygpKTsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAg
ICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmICgh
cG9ydEFsbG93ZWQobV91cmwpKSB7Ci0gICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgcG9ydCAiICsgU3RyaW5nOjpudW1iZXIobV91cmwucG9y
dCgpKSArICIgYmxvY2tlZCIpOworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJT
b2NrZXQgcG9ydCAiICsgU3RyaW5nOjpudW1iZXIobV91cmwucG9ydCgpKSArICIgYmxvY2tlZCIp
OwogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsK
ICAgICAgICAgcmV0dXJuOwpAQCAtMjU3LDcgKzI1Nyw3IEBAIHZvaWQgV2ViU29ja2V0Ojpjb25u
ZWN0KGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcHJvdG9jb2xzLCBF
eGNlCiAgICAgLy8gY29tcGx5IHdpdGggV2ViU29ja2V0IEFQSSBzcGVjaWZpY2F0aW9uLCBidXQg
aXQgc2VlbXMgdG8gYmUgdGhlIG9ubHkgcmVhc29uYWJsZSB3YXkgdG8gaGFuZGxlIHRoaXMgY29u
ZmxpY3QuCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm90b2NvbHMuc2l6ZSgpOyArK2kp
IHsKICAgICAgICAgaWYgKCFpc1ZhbGlkUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xzW2ldKSkgewot
ICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25n
IHByb3RvY29sIGZvciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2Nv
bHNbaV0pICsgIiciKTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldyb25n
IHByb3RvY29sIGZvciBXZWJTb2NrZXQgJyIgKyBlbmNvZGVQcm90b2NvbFN0cmluZyhwcm90b2Nv
bHNbaV0pICsgIiciKTsKICAgICAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgICAg
ICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0yNjYsNyArMjY2LDcg
QEAgdm9pZCBXZWJTb2NrZXQ6OmNvbm5lY3QoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBwcm90b2NvbHMsIEV4Y2UKICAgICBIYXNoU2V0PFN0cmluZz4gdmlzaXRlZDsK
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3RvY29scy5zaXplKCk7ICsraSkgewogICAg
ICAgICBpZiAodmlzaXRlZC5jb250YWlucyhwcm90b2NvbHNbaV0pKSB7Ci0gICAgICAgICAgICBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IHByb3RvY29s
cyBjb250YWluIGR1cGxpY2F0ZXM6ICciICsgZW5jb2RlUHJvdG9jb2xTdHJpbmcocHJvdG9jb2xz
W2ldKSArICInIik7CisgICAgICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENv
bnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2Nr
ZXQgcHJvdG9jb2xzIGNvbnRhaW4gZHVwbGljYXRlczogJyIgKyBlbmNvZGVQcm90b2NvbFN0cmlu
Zyhwcm90b2NvbHNbaV0pICsgIiciKTsKICAgICAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAg
ICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0yOTks
NyArMjk5LDcgQEAgYm9vbCBXZWJTb2NrZXQ6OnNlbmQoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBF
eGNlcHRpb25Db2RlJiBlYykKICAgICBBU1NFUlQobV9jaGFubmVsKTsKICAgICBUaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbDo6U2VuZFJlc3VsdCByZXN1bHQgPSBtX2NoYW5uZWwtPnNlbmQobWVz
c2FnZSk7CiAgICAgaWYgKHJlc3VsdCA9PSBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6SW52
YWxpZE1lc3NhZ2UpIHsKLSAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25z
b2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIldlYnNvY2tldCBtZXNzYWdlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyKHMpLiIp
OworICAgICAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJzb2NrZXQgbWVzc2FnZSBjb250
YWlucyBpbnZhbGlkIGNoYXJhY3RlcihzKS4iKTsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAtMzczLDcgKzM3Myw3IEBAIHZvaWQgV2Vi
U29ja2V0OjpjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24sIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogICAgICAgICB9CiAgICAgICAgIENTdHJpbmcgdXRmOCA9IHJlYXNvbi51dGY4KFN0
cmluZzo6U3RyaWN0Q29udmVyc2lvblJlcGxhY2luZ1VucGFpcmVkU3Vycm9nYXRlc1dpdGhGRkZE
KTsKICAgICAgICAgaWYgKHV0ZjgubGVuZ3RoKCkgPiBtYXhSZWFzb25TaXplSW5CeXRlcykgewot
ICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNv
Y2tldCBjbG9zZSBtZXNzYWdlIGlzIHRvbyBsb25nLiIpOworICAgICAgICAgICAgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNsb3NlIG1lc3NhZ2UgaXMgdG9vIGxvbmcuIik7CiAg
ICAgICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KQEAgLTQzOCw3ICs0MzgsNyBAQCB2b2lkIFdlYlNvY2tldDo6c2V0QmluYXJ5VHlwZShjb25z
dCBTdHJpbmcmIGJpbmFyeVR5cGUpCiAgICAgICAgIG1fYmluYXJ5VHlwZSA9IEJpbmFyeVR5cGVB
cnJheUJ1ZmZlcjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5
cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiJyIgKyBiaW5hcnlUeXBlICsgIicgaXMgbm90IGEgdmFs
aWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJpbmFyeVR5cGUgcmVtYWlucyB1bmNoYW5nZWQuIik7
CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiJyIgKyBiaW5hcnlUeXBlICsgIicgaXMgbm90
IGEgdmFsaWQgdmFsdWUgZm9yIGJpbmFyeVR5cGU7IGJpbmFyeVR5cGUgcmVtYWlucyB1bmNoYW5n
ZWQuIik7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgV2ViU29ja2V0OjppbnRlcmZhY2VOYW1l
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9X
ZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9X
ZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCBiZWVjZjJkYzA5MTJhMTRmZDYyODdjY2EwMWJiMzVh
Zjg0OTc1ZjdjLi43MWQ5YzUyMWVmN2MxNjYzNDEwZmI0ZmFlMmVhNGU2ZDFkYjQxYzlkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENo
YW5uZWwuY3BwCkBAIC0xOTQsNyArMTk0LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWls
KGNvbnN0IFN0cmluZyYgcmVhc29uKQogICAgIEFTU0VSVCghbV9zdXNwZW5kZWQpOwogICAgIGlm
IChtX2RvY3VtZW50KSB7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVj
ZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IobV9kb2N1bWVudCwgbV9pZGVudGlmaWVyLCByZWFzb24p
OwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBjb25uZWN0aW9u
IHRvICciICsgbV9oYW5kc2hha2UtPnVybCgpLnN0cmluZygpICsgIicgZmFpbGVkOiAiICsgcmVh
c29uKTsKKyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBjb25uZWN0aW9uIHRvICciICsgbV9o
YW5kc2hha2UtPnVybCgpLnN0cmluZygpICsgIicgZmFpbGVkOiAiICsgcmVhc29uKTsKICAgICB9
CiAKICAgICAvLyBIeWJpLTEwIHNwZWNpZmljYXRpb24gZXhwbGljaXRseSBzdGF0ZXMgd2UgbXVz
dCBub3QgY29udGludWUgdG8gaGFuZGxlIGluY29taW5nIGRhdGEKQEAgLTMzMSw3ICszMzEsNyBA
QCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFt
SGFuZGxlKiBoYW5kbGUsIGNvbnN0IFNvYwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtZXNz
YWdlID0gIldlYlNvY2tldCBuZXR3b3JrIGVycm9yOiAiICsgZXJyb3IubG9jYWxpemVkRGVzY3Jp
cHRpb24oKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2Vi
U29ja2V0RnJhbWVFcnJvcihtX2RvY3VtZW50LCBtX2lkZW50aWZpZXIsIG1lc3NhZ2UpOwotICAg
ICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICAgICAgbV9k
b2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTmV0d29ya01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBtZXNzYWdlKTsKICAgICB9CiAgICAgbV9zaG91bGREaXNjYXJkUmVjZWl2ZWRE
YXRhID0gdHJ1ZTsKICAgICBoYW5kbGUtPmRpc2Nvbm5lY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IGU1
ZGQ0NzMzNjk4YzZlOTA5ZDRhYWZiYmM4MzM1ZDJmN2YwZWVlYTMuLjc1NTNjYTllOTA1YzBjNTdj
OGE2MTM1NDY4NWYyOWY4MDZmM2JmZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTg5NSw2ICsxODk1LDcg
QEAgSEVBREVSUyArPSBcCiAgICAgaHRtbC90cmFjay9XZWJWVFRUb2tlbi5oIFwKICAgICBodG1s
L3RyYWNrL1dlYlZUVFRva2VuaXplci5oIFwKICAgICBpbnNwZWN0b3IvQmluZGluZ1Zpc2l0b3Jz
LmggXAorICAgIGluc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaCBcCiAgICAgaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmggXAogICAgIGluc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbHMuaCBcCiAg
ICAgaW5zcGVjdG9yL0RPTUVkaXRvci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlYmJlMWM2ZTJm
YTc4N2I5OWFkMzliNWY3OWQ4N2FmZDg3NmVhMWU2Li43Yzk0NGY1MDRmOTkxM2YwN2QzY2U0NWQ1
ZjQxYjNjMGVjNWRkNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNzYxLDYgKzE3NjEsNyBAQAog
ICAgICAgICAgICAgJ2ljdS91bmljb2RlL3V0eXBlcy5oJywKICAgICAgICAgICAgICdpY3UvdW5p
Y29kZS91dmVyc2lvbi5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvQmluZGluZ1Zpc2l0b3Jz
LmgnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaCcsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9Db250ZW50U2Vh
cmNoVXRpbHMuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKaW5kZXggZTQ1M2E2YWUzNGI4Yjc0MjljNmVkM2U0NGMwNDAzNGIxODkwYjQwYi4uNzdk
NDNiMzkxY2E1ZDlmNDI2ZmIwMjE1OWU4ZWRhMWUyNmM2M2RlNCAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTc0NTQ2LDYgKzc0NTQ2LDEwIEBA
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3Bl
Y3RvclxDb25zb2xlQVBJVHlwZXMuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJ
CVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXENvbnNvbGVNZXNzYWdlLmNwcCIKIAkJCQk+CiAJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMDQxZWUwNTNlYThlNWRmODUxMTk0NTNhNzU0NGVk
ZDNkNDlhODczNy4uMDc4NDViNzY3M2UwNzI4ZmRlN2Q4MDYxN2Q2NDJiMDc5NDUyZjNkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtODAxLDYgKzgwMSw3IEBACiAJCTJEOUEyNDc1MTVCOUMyRTMwMEQzNDUyNyAvKiBET01ET01T
ZWN1cml0eVBvbGljeUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDlBMjQ3MTE1QjlDMjk1MDBEMzQ1MjcgLyogRE9NRE9NU2VjdXJpdHlQ
b2xpY3lJbnRlcm5hbC5oICovOyB9OwogCQkyRDlBMjQ3NjE1QjlDMkY0MDBEMzQ1MjcgLyogRE9N
RE9NU2VjdXJpdHlQb2xpY3kuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUEyNDcwMTVCOUMyOTUwMEQzNDUyNyAvKiBET01E
T01TZWN1cml0eVBvbGljeS5oICovOyB9OwogCQkyRDlGMEUxMzE0RkYxQ0JGMDBCQTBGRjcgLyog
bGluZWFyU1JHQi5pY2MgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAqLzsgfTsK
KwkJMkRGMkU5RDUxNjZFMzk3NTAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRGMkU5RDQxNjZFMzk3NDAw
MzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTJFMDg4OEQ0MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZv
cm1EYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLzsgfTsKIAkJ
MkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2
NSAvKiBKU0RPTUZvcm1EYXRhLmggKi87IH07CiAJCTJFMDg4OEU2MTE0ODg0RTIwMEFGNDI2NSAv
KiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJFMDg4OEU1MTE0ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRh
Q3VzdG9tLmNwcCAqLzsgfTsKQEAgLTc5ODQsNiArNzk4NSw3IEBACiAJCTJEOUEyNDcxMTVCOUMy
OTUwMEQzNDUyNyAvKiBET01ET01TZWN1cml0eVBvbGljeUludGVybmFsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTURPTVNlY3VyaXR5UG9saWN5SW50ZXJuYWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5QTI0NzIxNUI5QzJDNzAwRDM0NTI3IC8qIERP
TURPTVNlY3VyaXR5UG9saWN5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRE9NRE9NU2VjdXJpdHlQb2xpY3kubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBsaW5l
YXJTUkdCLmljYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkRGMkU5RDQxNjZFMzk3
NDAwMzVCRUYyIC8qIENvbnNvbGVBUElUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDb25zb2xlQVBJVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkUwODg4QzMxMTQ4ODNBOTAwQUY0MjY1IC8qIERPTUZvcm1EYXRhLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBET01Gb3JtRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3Jt
RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTUZvcm1EYXRhLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDgxMiw2ICsxNDgxNCw3IEBACiAJCQlj
aGlsZHJlbiA9ICgKIAkJCQkxQzgxQjk1OTBFOTczMzA4MDAyNjZFMDcgLyogZnJvbnQtZW5kICov
LAogCQkJCUYzNUFFNUFCMTQ5MjVGNUIwMDRENTc3NiAvKiBCaW5kaW5nVmlzaXRvcnMuaCAqLywK
KwkJCQkyREYyRTlENDE2NkUzOTc0MDAzNUJFRjIgLyogQ29uc29sZUFQSVR5cGVzLmggKi8sCiAJ
CQkJNDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLywKIAkJ
CQk0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuaCAqLywKIAkJCQk1
OTEwMkZCOTE0MzI3RDNCMDAzQzlEMDQgLyogQ29udGVudFNlYXJjaFV0aWxzLmNwcCAqLywKQEAg
LTIyNzc2LDYgKzIyNzc5LDcgQEAKIAkJCQlGRDMxNjA4RjEyQjAyNkY3MDBDMUEzNTkgLyogQ29u
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVDOTdBRjMwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZp
Zy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwQjM2QTUwQ0QzQzY3QzAwQUM3RUI1IC8qIENvbnNv
bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTJERjJFOUQ1MTY2RTM5NzUwMDM1QkVGMiAvKiBDb25z
b2xlQVBJVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjA2MThFMEY1RjA2OTgwMEEwN0VB
QyAvKiBDb25zb2xlTWVzc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNTY0NEUxMzdBMzRE
NjAwN0QyOTM0IC8qIENvbnNvbGVUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgxODcyMUMw
OTc3RDNDMDAwNTgyNkQ5IC8qIENvbnRhaW5lck5vZGUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwCmluZGV4IDg1
NGQ1ODZhMjBjY2RkYWY0ZjFkN2IyNDJkY2NhZTE5MTkzMWVhYTMuLjgxYjJmNTI5MzYwZGVlMTk5
OWI2MGU4ZGQ0MTljZjBiNjU4MWYwOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL1NjcmlwdENvbnRyb2xsZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgYm9vbCBTY3JpcHRD
b250cm9sbGVyOjpjYW5FeGVjdXRlU2NyaXB0cyhSZWFzb25Gb3JDYWxsaW5nQ2FuRXhlY3V0ZVNj
cmlwdHMgcmVhc28KICAgICBpZiAobV9mcmFtZS0+ZG9jdW1lbnQoKSAmJiBtX2ZyYW1lLT5kb2N1
bWVudCgpLT5pc1NhbmRib3hlZChTYW5kYm94U2NyaXB0cykpIHsKICAgICAgICAgLy8gRklYTUU6
IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1
dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4
aXN0cy4KICAgICAgICAgaWYgKHJlYXNvbiA9PSBBYm91dFRvRXhlY3V0ZVNjcmlwdCkKLSAgICAg
ICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdl
U291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIHNjcmlw
dCBleGVjdXRpb24gaW4gJyIgKyBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKSAr
ICInIGJlY2F1c2UgdGhlIGRvY3VtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2Fs
bG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsgCisgICAgICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIHNjcmlwdCBleGVjdXRpb24gaW4gJyIgKyBtX2ZyYW1l
LT5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKSArICInIGJlY2F1c2UgdGhlIGRvY3VtZW50J3Mg
ZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMg
bm90IHNldC4iKTsgCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcApp
bmRleCBkMWRjMGIxY2VlZDMyMTE2YjY3ZjEyNDhiMjgwYTRmZDRkN2MzYmEzLi5hOWIzNGE2NTZj
OGZmZWExZTc5ZTFjZGU2Zjc2ZjhmNjBkNDc5ODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCkBAIC03OCw3ICs3
OCw3IEBAIFN0cmluZyBKU0N1c3RvbVhQYXRoTlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJ
KGNvbnN0IFN0cmluZyYgcHJlZml4KQogICAgICAgICBjYWxsVHlwZSA9IG1fY3VzdG9tUmVzb2x2
ZXItPm1ldGhvZFRhYmxlKCktPmdldENhbGxEYXRhKG1fY3VzdG9tUmVzb2x2ZXIuZ2V0KCksIGNh
bGxEYXRhKTsKICAgICAgICAgaWYgKGNhbGxUeXBlID09IENhbGxUeXBlTm9uZSkgewogICAgICAg
ICAgICAgLy8gRklYTUU6IFBhc3MgYWN0dWFsIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgVVJMLgot
ICAgICAgICAgICAgbV9nbG9iYWxPYmplY3QtPmltcGwoKS0+Y29uc29sZSgpLT5hZGRNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiWFBh
dGhOU1Jlc29sdmVyIGRvZXMgbm90IGhhdmUgYSBsb29rdXBOYW1lc3BhY2VVUkkgbWV0aG9kLiIp
OworICAgICAgICAgICAgbV9nbG9iYWxPYmplY3QtPmltcGwoKS0+Y29uc29sZSgpLT5hZGRNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJYUGF0aE5TUmVzb2x2ZXIg
ZG9lcyBub3QgaGF2ZSBhIGxvb2t1cE5hbWVzcGFjZVVSSSBtZXRob2QuIik7CiAgICAgICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7CiAgICAgICAgIH0KICAgICAgICAgZnVuY3Rpb24gPSBtX2N1c3Rv
bVJlc29sdmVyLmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKaW5kZXggM2U1ZmFlNzgz
ZDBiYzljOTk1ZDgxMDM1NWI4OTkwYWQzOGZlMDdiOS4uODZlM2MzZDU5Nzk0ZDY1YmI0ZmRlMGI2
MTZhYWI5YzU5MWE1MmEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCkBAIC02OCw3ICs2
OCw3IEBAIFN0cmluZyBWOEN1c3RvbVhQYXRoTlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJ
KGNvbnN0IFN0cmluZyYgcHJlZml4KQogICAgIH0KIAogICAgIGlmIChsb29rdXBOYW1lc3BhY2VV
UklGdW5jLklzRW1wdHkoKSAmJiAhbV9yZXNvbHZlci0+SXNGdW5jdGlvbigpKSB7Ci0gICAgICAg
IGFjdGl2ZURPTVdpbmRvdyhCaW5kaW5nU3RhdGU6Omluc3RhbmNlKCkpLT5jb25zb2xlKCktPmFk
ZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJYUGF0aE5TUmVzb2x2ZXIgZG9lcyBub3QgaGF2ZSBhIGxvb2t1cE5hbWVzcGFjZVVSSSBt
ZXRob2QuIik7CisgICAgICAgIGFjdGl2ZURPTVdpbmRvdyhCaW5kaW5nU3RhdGU6Omluc3RhbmNl
KCkpLT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIlhQYXRoTlNSZXNvbHZlciBkb2VzIG5vdCBoYXZlIGEgbG9va3VwTmFtZXNwYWNlVVJJ
IG1ldGhvZC4iKTsKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFMaXN0LmNwcAppbmRleCAyMjU3ODVmMjQzZWZlNDY4Yzc2MTVjMTIzYjEyZjU5NGE0ZWUx
M2I3Li45YmY4MWYxODkxZGU5ZGI2NjliNTQ0NDE3OWZiMDM1MDJhNjM5YTQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFMaXN0LmNwcApAQCAtMzI0LDcgKzMyNCw3IEBAIHN0YXRpYyB2b2lkIGFkZFJlc29s
dXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0
cmluCiAKICAgICBtZXNzYWdlLmFwcGVuZChzZXJpYWxpemVkRXhwcmVzc2lvbik7CiAKLSAgICBk
b2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBUaXBNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgVGlwTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0K
IAogdm9pZCByZXBvcnRNZWRpYVF1ZXJ5V2FybmluZ0lmTmVlZGVkKERvY3VtZW50KiBkb2N1bWVu
dCwgY29uc3QgTWVkaWFRdWVyeVNldCogbWVkaWFRdWVyeVNldCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDU1MWI0ZGFiNTM0MDVjMWNlMGE0ZTQ1ZWQyMDg1NzFmMWI3NjdlNDUuLjdlNTU3
NTQ2NGQ4MTk0ZjVmNDA5OTllMzI2OTAyZmRkNjBlYzE0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtMjYxOSw3ICsyNjE5LDcgQEAgRXZlbnRUYXJnZXQqIERvY3VtZW50OjplcnJvckV2
ZW50VGFyZ2V0KCkKIAogdm9pZCBEb2N1bWVudDo6bG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0
IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVO
dW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2spCiB7Ci0gICAgYWRk
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFjayk7CisgICAg
YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBlcnJvck1lc3Nh
Z2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrKTsKIH0KIAogdm9pZCBEb2N1bWVu
dDo6c2V0VVJMKGNvbnN0IEtVUkwmIHVybCkKQEAgLTI4ODgsNyArMjg4OCw3IEBAIHZvaWQgRG9j
dW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYoY29uc3QgU3RyaW5nJiBlcXVpdiwgY29uc3QgU3RyaW5n
JiBjb250ZW50KQogICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJlZnVzZWQgdG8g
ZGlzcGxheSAnIiArIHVybCgpLnN0cmluZygpICsgIicgaW4gYSBmcmFtZSBiZWNhdXNlIGl0IHNl
dCAnWC1GcmFtZS1PcHRpb25zJyB0byAnIiArIGNvbnRlbnQgKyAiJy4iOwogICAgICAgICAgICAg
ICAgIGZyYW1lTG9hZGVyLT5zdG9wQWxsTG9hZGVycygpOwogICAgICAgICAgICAgICAgIGZyYW1l
LT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCktPnNjaGVkdWxlTG9jYXRpb25DaGFuZ2Uoc2VjdXJpdHlP
cmlnaW4oKSwgYmxhbmtVUkwoKSwgU3RyaW5nKCkpOwotICAgICAgICAgICAgICAgIGFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgYWRkQ29u
c29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwg
cmVxdWVzdElkZW50aWZpZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNl
IGlmIChlcXVhbElnbm9yaW5nQ2FzZShlcXVpdiwgImNvbnRlbnQtc2VjdXJpdHktcG9saWN5Iikp
CkBAIC00NzY2LDI5ICs0NzY2LDI5IEBAIHZvaWQgRG9jdW1lbnQ6OnBhcnNlRE5TUHJlZmV0Y2hD
b250cm9sSGVhZGVyKGNvbnN0IFN0cmluZyYgZG5zUHJlZmV0Y2hDb250cm9sKQogICAgIG1faGF2
ZUV4cGxpY2l0bHlEaXNhYmxlZEROU1ByZWZldGNoID0gdHJ1ZTsKIH0KIAotdm9pZCBEb2N1bWVu
dDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5
cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBs
b25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBEb2N1bWVudDo6YWRkQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQogewogICAgIGlmICghaXND
b250ZXh0VGhyZWFkKCkpIHsKLSAgICAgICAgcG9zdFRhc2soQWRkQ29uc29sZU1lc3NhZ2VUYXNr
OjpjcmVhdGUoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSkpOworICAgICAgICBwb3N0VGFz
ayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoRE9NV2luZG93KiB3aW5kb3cgPSBk
b21XaW5kb3coKSkgewogICAgICAgICBpZiAoQ29uc29sZSogY29uc29sZSA9IHdpbmRvdy0+Y29u
c29sZSgpKQotICAgICAgICAgICAgY29uc29sZS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxl
dmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllciwgdGhpcyk7CisgICAgICAgICAgICBjb25z
b2xlLT5hZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVudGlmaWVy
LCB0aGlzKTsKICAgICB9CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2FnZVNv
dXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51
bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgU2NyaXB0U3RhdGUq
IHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQordm9pZCBEb2N1bWVudDo6
YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBTY3JpcHRTdGF0
ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAgICAgaWYgKCFp
c0NvbnRleHRUaHJlYWQoKSkgewotICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRh
c2s6OmNyZWF0ZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlKSk7CisgICAgICAgIHBvc3RU
YXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2Up
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChET01XaW5kb3cqIHdpbmRvdyA9
IGRvbVdpbmRvdygpKSB7CiAgICAgICAgIGlmIChDb25zb2xlKiBjb25zb2xlID0gd2luZG93LT5j
b25zb2xlKCkpCi0gICAgICAgICAgICBjb25zb2xlLT5hZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwg
bGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrLCBzdGF0ZSwg
cmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICAgICAgY29uc29sZS0+YWRkTWVzc2FnZShzb3Vy
Y2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFjaywgc3Rh
dGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5k
ZXggN2EzMWRiZTQ3YTc4ZmRjZWYzZGVmMTIxYTdiMTQ0MDFhNjEzMWVkZS4uZDk5NGY2MWNlNTMx
MjU0Y2MyZmI0NGUxMDllZmMxYTUyYzc1ZjY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEx
ODEsNyArMTE4MSw3IEBAIHB1YmxpYzoKICAgICBEb2N1bWVudCogdGVtcGxhdGVDb250ZW50c093
bmVyRG9jdW1lbnQoKTsKICNlbmRpZgogCi0gICAgdmlydHVhbCB2b2lkIGFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAgIHZp
cnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApOwogCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiwgYm9v
bCBpc1hIVE1MLCBib29sIGlzSFRNTCk7CkBAIC0xMjE2LDcgKzEyMTYsNyBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgY29uc3QgS1VSTCYgdmlydHVhbFVSTCgpIGNvbnN0OyAvLyBTYW1lIGFzIHVy
bCgpLCBidXQgbmVlZGVkIGZvciBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHRvIGltcGxlbWVudCBp
dCB3aXRob3V0IGEgcGVyZm9ybWFuY2UgbG9zcyBmb3IgZGlyZWN0IGNhbGxzLgogICAgIHZpcnR1
YWwgS1VSTCB2aXJ0dWFsQ29tcGxldGVVUkwoY29uc3QgU3RyaW5nJikgY29uc3Q7IC8vIFNhbWUg
YXMgY29tcGxldGVVUkwoKSBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIGFib3ZlLgogCi0gICAgdmly
dHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5z
aWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBTY3JpcHRTdGF0
ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKIAogICAgIHZpcnR1YWwgZG91YmxlIG1pbmlt
dW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNw
cAppbmRleCA0ZmE1NTllOGZiODJiNWNkMjg0N2IzZGEwMjA3OTM2YTUxNzE1NzFmLi4zMDBhNDA4
M2U4OGI0OWU0YWI5MWIzNTIwMmFmYTk1NmY0YmMzNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEVsZW1lbnQuY3BwCkBAIC0zMzksNyArMzM5LDcgQEAgdm9pZCBTY3JpcHRFbGVtZW50Ojpub3Rp
ZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAKICAgICAgICAgZGlzcGF0Y2hF
cnJvckV2ZW50KCk7CiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xl
TWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIHNjcmlwdCBsb2FkIGRlbmllZCBi
eSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKLSAgICAgICAgbV9l
bGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAg
ICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3Bw
CmluZGV4IDg4MTQ2MGQ2MjBkZDczNjZiY2FiMGM4MTYzMGZiNjk2NzdhZTFiMzQuLjFmZjM2MmQy
NzRkMjVlYTczYWMyYzU4MWIyYjQ5MzcwNzA2NzQ2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGljOgog
CiB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OkFkZENvbnNvbGVNZXNzYWdlVGFzazo6cGVy
Zm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSAgICBjb250ZXh0
LT5hZGRDb25zb2xlTWVzc2FnZShtX3NvdXJjZSwgbV90eXBlLCBtX2xldmVsLCBtX21lc3NhZ2Up
OworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKG1fc291cmNlLCBtX2xldmVsLCBtX21l
c3NhZ2UpOwogfQogCiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkKQEAgLTMyMSw5ICszMjEsOSBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJl
cG9ydEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbgogICAgIG1f
cGVuZGluZ0V4Y2VwdGlvbnMuY2xlYXIoKTsKIH0KIAotdm9pZCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUg
dHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBTY3JpcHRTdGF0ZSogc3RhdGUs
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2
ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIFNjcmlwdFN0YXRlKiBzdGF0ZSwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllcikKIHsKLSAgICBhZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgMCwgc3RhdGUsIHJlcXVlc3RJZGVudGlm
aWVyKTsKKyAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwg
bGluZU51bWJlciwgMCwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAogYm9vbCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpkaXNwYXRjaEVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVk
U2NyaXB0KiBjYWNoZWRTY3JpcHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAppbmRleCBiMGI4ZGJmM2U0MTdjYzAzNzFkYjhmYjJiYjJlZDBmZThlNzdkZjRj
Li42ZTQzNDY2MjFmOGVlMzQ1YTUyMDkwOGQyY2E5NjVjMzM3YTc3ZmIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTg2LDggKzg2LDggQEAgcHVi
bGljOgogICAgIGJvb2wgc2FuaXRpemVTY3JpcHRFcnJvcihTdHJpbmcmIGVycm9yTWVzc2FnZSwg
aW50JiBsaW5lTnVtYmVyLCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0KiA9IDApOwog
ICAgIHZvaWQgcmVwb3J0RXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQg
bGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFBhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPiwgQ2FjaGVkU2NyaXB0KiA9IDApOwogCi0gICAgdm9pZCBhZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBT
Y3JpcHRTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7Ci0g
ICAgdmlydHVhbCB2b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VU
eXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllciA9IDApID0gMDsKKyAgICB2b2lkIGFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBT
dHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgU2NyaXB0U3RhdGUqID0gMCwg
dW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOworICAgIHZpcnR1YWwgdm9pZCBh
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApID0gMDsKIAog
I2lmIEVOQUJMRShCTE9CKQogICAgIFB1YmxpY1VSTE1hbmFnZXImIHB1YmxpY1VSTE1hbmFnZXIo
KTsKQEAgLTE3MiwyMSArMTcyLDE5IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBjbGFzcyBB
ZGRDb25zb2xlTWVzc2FnZVRhc2sgOiBwdWJsaWMgVGFzayB7CiAgICAgcHVibGljOgotICAgICAg
ICBzdGF0aWMgUGFzc093blB0cjxBZGRDb25zb2xlTWVzc2FnZVRhc2s+IGNyZWF0ZShNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCisgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEFkZENvbnNvbGVN
ZXNzYWdlVGFzaz4gY3JlYXRlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBBZGRDb25zb2xlTWVzc2FnZVRhc2soc291cmNlLCB0eXBlLCBsZXZlbCwg
bWVzc2FnZSkpOworICAgICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBBZGRDb25zb2xlTWVz
c2FnZVRhc2soc291cmNlLCBsZXZlbCwgbWVzc2FnZSkpOwogICAgICAgICB9CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgcHJp
dmF0ZToKLSAgICAgICAgQWRkQ29uc29sZU1lc3NhZ2VUYXNrKE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKKyAgICAgICAgQWRkQ29uc29sZU1lc3NhZ2VUYXNrKE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICAgICAgICAg
IDogbV9zb3VyY2Uoc291cmNlKQotICAgICAgICAgICAgLCBtX3R5cGUodHlwZSkKICAgICAgICAg
ICAgICwgbV9sZXZlbChsZXZlbCkKICAgICAgICAgICAgICwgbV9tZXNzYWdlKG1lc3NhZ2UuaXNv
bGF0ZWRDb3B5KCkpCiAgICAgICAgIHsKICAgICAgICAgfQogICAgICAgICBNZXNzYWdlU291cmNl
IG1fc291cmNlOwotICAgICAgICBNZXNzYWdlVHlwZSBtX3R5cGU7CiAgICAgICAgIE1lc3NhZ2VM
ZXZlbCBtX2xldmVsOwogICAgICAgICBTdHJpbmcgbV9tZXNzYWdlOwogICAgIH07CkBAIC0xOTUs
NyArMTkzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IEtVUkwmIHZpcnR1YWxVUkwo
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBLVVJMIHZpcnR1YWxDb21wbGV0ZVVSTChjb25zdCBT
dHJpbmcmKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4sIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIgPSAwKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4sIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIg
PSAwKSA9IDA7CiAgICAgdmlydHVhbCBFdmVudFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYg
ZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIFBh
c3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikgPSAwOwogICAgIGJvb2wgZGlzcGF0Y2hFcnJvckV2
ZW50KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwsIENhY2hlZFNjcmlwdCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9y
dEFyZ3VtZW50cy5jcHAKaW5kZXggMWE5OTkxMjkzN2FkNzBlZWU3MGJkOTJlZjNiYWEwYmFlZWMw
NTkyNy4uMTA4ODM4MGE2NWU2MDBiZTE1ZDVjODNjMjIzY2FmNTJlYTYyZWFlOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCkBAIC00NTAsNyArNDUwLDcgQEAgdm9p
ZCByZXBvcnRWaWV3cG9ydFdhcm5pbmcoRG9jdW1lbnQqIGRvY3VtZW50LCBWaWV3cG9ydEVycm9y
Q29kZSBlcnJvckNvZGUsIGNvbnMKICAgICAgICAgbWVzc2FnZS5hcHBlbmQoIiBOb3RlIHRoYXQg
JzsnIGlzIG5vdCBhIHNlcGFyYXRvciBpbiB2aWV3cG9ydCB2YWx1ZXMuIFRoZSBsaXN0IHNob3Vs
ZCBiZSBjb21tYS1zZXBhcmF0ZWQuIik7CiAKICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNo
b3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgIGRvY3Vt
ZW50LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoZXJyb3JDb2RlKSwgbWVzc2FnZSk7CisgICAgZG9j
dW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCB2aWV3cG9ydEVycm9y
TWVzc2FnZUxldmVsKGVycm9yQ29kZSksIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwCmlu
ZGV4IDgzMTJhNTQ3YzYyODgwNzVkMTQxZjg0NzMwMWM0YjU1MmY3OGZkZGMuLmQyYjZiZWFiNTQ0
ZmI1Y2Q1MGExNGRlYmVlOWYwYzQ0YjU3YWY0NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwCkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgQmxvYkJ1aWxk
ZXI6OmFwcGVuZChjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYgZW5kaW5nVHlwZSkK
IHZvaWQgQmxvYkJ1aWxkZXI6OmFwcGVuZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBBcnJheUJ1ZmZlciogYXJyYXlCdWZmZXIpCiB7CiAgICAgU3RyaW5nIGNvbnNvbGVNZXNzYWdl
KCJBcnJheUJ1ZmZlciB2YWx1ZXMgYXJlIGRlcHJlY2F0ZWQgaW4gQmxvYiBDb25zdHJ1Y3Rvci4g
VXNlIEFycmF5QnVmZmVyVmlldyBpbnN0ZWFkLiIpOwotICAgIGNvbnRleHQtPmFkZENvbnNvbGVN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdNZXNzYWdlTGV2
ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKIAogICAg
IEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkJsb2IuY29u
c3RydWN0b3IuQXJyYXlCdWZmZXJPclZpZXciLCBCbG9iQ29uc3RydWN0b3JBcnJheUJ1ZmZlciwg
QmxvYkNvbnN0cnVjdG9yQXJyYXlCdWZmZXJPclZpZXdNYXgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCA3MzM4M2UwOTMyMWM4ZTcw
ZTBjMTBjOTIwOGI0ZTYyMTJhMThmMjZlLi5kZjI3NjQyY2VmNGM1YjE5MWY0ZjM3NDQ2MzhiODkx
OWVjZTZjY2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHAKQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRBdXRvZm9jdXMo
SFRNTEZvcm1Db250cm9sRWxlbWVudCogZWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIGlmIChlbGVtZW50LT5kb2N1bWVudCgpLT5pc1NhbmRib3hlZChTYW5kYm94QXV0b21hdGlj
RmVhdHVyZXMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1v
dmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCi0gICAgICAgIGVsZW1lbnQtPmRv
Y3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdl
VHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIGF1dG9mb2N1c2luZyBvbiBhIGZvcm0g
Y29udHJvbCBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2Fs
bG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgZWxlbWVudC0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCAiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgYmVjYXVz
ZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBw
ZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAg
ICAgaWYgKGVsZW1lbnQtPmhhc0F1dG9mb2N1c2VkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxG
b3JtRWxlbWVudC5jcHAKaW5kZXggYzZmMTZlOTBmZWUwNjBlOWFjNzcxMjkxNWNiYTkyMDk1Nzk1
ZWNjOC4uNGY3MzFhMDk5OWM5MzBhZmRhZDQyOTAxZDg0NWMzMjY0NjFjODg5ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApAQCAtMjYwLDcgKzI2MCw3IEBAIGJvb2wg
SFRNTEZvcm1FbGVtZW50Ojp2YWxpZGF0ZUludGVyYWN0aXZlbHkoRXZlbnQqIGV2ZW50KQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UoIkFuIGlu
dmFsaWQgZm9ybSBjb250cm9sIHdpdGggbmFtZT0nJW5hbWUnIGlzIG5vdCBmb2N1c2FibGUuIik7
CiAgICAgICAgICAgICBtZXNzYWdlLnJlcGxhY2UoIiVuYW1lIiwgdW5oYW5kbGVkQXNzb2NpYXRl
ZEVsZW1lbnQtPm5hbWUoKSk7Ci0gICAgICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVz
c2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCBtZXNzYWdlKTsKKyAgICAgICAgICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhU
TUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiAgICAgICAgIH0K
ICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSUZyYW1lRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVF
bGVtZW50LmNwcAppbmRleCA4ZDJiZWM5OTY4NDA0ZTkzN2RmOTJlY2I3OGRjMmViY2JlYjdiNWIx
Li41NTdiOTMwNmU0M2IzYjgxZTIwNzk1ZTcxZDVkZGM4MmUyZThmNzYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcApAQCAtOTAsNyArOTAsNyBAQCB2b2lkIEhU
TUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1l
LCBjb25zdCBBdG9taWNTdAogICAgICAgICBTdHJpbmcgaW52YWxpZFRva2VuczsKICAgICAgICAg
c2V0U2FuZGJveEZsYWdzKHZhbHVlLmlzTnVsbCgpID8gU2FuZGJveE5vbmUgOiBTZWN1cml0eUNv
bnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeSh2YWx1ZSwgaW52YWxpZFRva2VucykpOwogICAgICAg
ICBpZiAoIWludmFsaWRUb2tlbnMuaXNOdWxsKCkpCi0gICAgICAgICAgICBkb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0
ZTogIiArIGludmFsaWRUb2tlbnMpOworICAgICAgICAgICAgZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igd2hp
bGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogIiArIGludmFsaWRUb2tlbnMpOwog
ICAgIH0gZWxzZSBpZiAobmFtZSA9PSBzZWFtbGVzc0F0dHIpIHsKICAgICAgICAgLy8gSWYgd2Un
cmUgYWRkaW5nIG9yIHJlbW92aW5nIHRoZSBzZWFtbGVzcyBhdHRyaWJ1dGUsIHdlIG5lZWQgdG8g
Zm9yY2UgdGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8gcmVjYWxjdWxhdGUgaXRzIFN0eWxlUmVzb2x2
ZXIuCiAgICAgICAgIGlmIChjb250ZW50RG9jdW1lbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUcmFja0VsZW1lbnQuY3BwCmluZGV4IGY1ZjJiNTYzZWIwMjk2NWFhMDVjZTkzZTQxMjc2MzNk
ZGFkOTkyYjUuLmY0NmY1NWQ1MWI5ODJhOTcyMjA4OGNhNDJjZjhiYjgzNjljMTBmYTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMjMwLDcgKzIzMCw3IEBA
IGJvb2wgSFRNTFRyYWNrRWxlbWVudDo6Y2FuTG9hZFVybChjb25zdCBLVVJMJiB1cmwpCiAKICAg
ICBpZiAoIWRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd01lZGlhRnJv
bVNvdXJjZSh1cmwpKSB7CiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25z
b2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiVGV4dCB0cmFjayBsb2FkIGRlbmllZCBieSBDb250
ZW50IFNlY3VyaXR5IFBvbGljeS4iKSkpOwotICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xl
TWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAg
ICAgICAgIExPRyhNZWRpYSwgIkhUTUxUcmFja0VsZW1lbnQ6OmNhbkxvYWRVcmwoJXMpIC0+IHJl
amVjdGVkIGJ5IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IiwgdXJsRm9yTG9nZ2luZyh1cmwpLnV0
ZjgoKS5kYXRhKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAK
aW5kZXggYjQ1ZmY0MDA5NWI2MTI5MmIwMzM4MGZlZmM5OGNkMjcxMWM2NzQyOS4uOWYxYWM4YjMy
NzljYjU3M2FmMTU2MWI2ZWZjYWY2NTY2ZWU0ODdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCkBAIC0xOTE2
LDcgKzE5MTYsNyBAQCBQYXNzUmVmUHRyPEltYWdlRGF0YT4gQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjpnZXRJbWFnZURhdGEoSW1hZ2VCdWZmZXI6OkNvb3JkaQogewogICAgIGlmICghY2FudmFz
KCktPm9yaWdpbkNsZWFuKCkpIHsKICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcs
IGNvbnNvbGVNZXNzYWdlLCAoQVNDSUlMaXRlcmFsKCJVbmFibGUgdG8gZ2V0IGltYWdlIGRhdGEg
ZnJvbSBjYW52YXMgYmVjYXVzZSB0aGUgY2FudmFzIGhhcyBiZWVuIHRhaW50ZWQgYnkgY3Jvc3Mt
b3JpZ2luIGRhdGEuIikpKTsKLSAgICAgICAgY2FudmFzKCktPmRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLT5hZGRD
b25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xl
TWVzc2FnZSk7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1cm4gMDsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcAppbmRleCBkMzllMmJiODhlYzMxMmMyNjhjODZkNDE5ZDk2ZWY3ZjExNzEw
NmNiLi5hM2Y3ZmFjNTkxMDQ3NDVmNmIzYjM4NDQyMjg4NzVmOGVlZjUwNzEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAK
QEAgLTUyNTUsNyArNTI1NSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpwcmludFdh
cm5pbmdUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIERvY3VtZW50KiBkb2N1
bWVudCA9IGNhbnZhcygpLT5kb2N1bWVudCgpOwogICAgIGlmICghZG9jdW1lbnQpCiAgICAgICAg
IHJldHVybjsKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBk
b2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNz
YWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFs
aWRhdGVGcmFtZWJ1ZmZlckZ1bmNQYXJhbWV0ZXJzKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwg
R0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBhdHRhY2htZW50KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9YU1NBdWRpdG9yLmNwcAppbmRleCA5M2JlY2Q5OTM3ZTI5ZDE5MTU2MzZlNDMzMmQz
OTVmNzIyMmYzOGIyLi5hY2ZjYzJmYjllODRlMjViNWQ1ZDQzOTI5YjY3ODljNzBmNDlkZjMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcApAQCAtMjM5LDcgKzIz
OSw3IEBAIHZvaWQgWFNTQXVkaXRvcjo6aW5pdCgpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAo
bV94c3NQcm90ZWN0aW9uID09IFhTU1Byb3RlY3Rpb25JbnZhbGlkKSB7Ci0gICAgICAgICAgICBt
X3BhcnNlci0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciBwYXJzaW5nIGhlYWRlciBY
LVhTUy1Qcm90ZWN0aW9uOiAiICsgaGVhZGVyVmFsdWUgKyAiOiAiICArIGVycm9yRGV0YWlscyAr
ICIgYXQgY2hhcmFjdGVyIHBvc2l0aW9uICIgKyBTdHJpbmc6OmZvcm1hdCgiJXUiLCBlcnJvclBv
c2l0aW9uKSArICIuIFRoZSBkZWZhdWx0IHByb3RlY3Rpb25zIHdpbGwgYmUgYXBwbGllZC4iKTsK
KyAgICAgICAgICAgIG1fcGFyc2VyLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1Y
U1MtUHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVlICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAi
IGF0IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3RyaW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3Np
dGlvbikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CiAg
ICAgICAgICAgICBtX3hzc1Byb3RlY3Rpb24gPSBYU1NQcm90ZWN0aW9uRW5hYmxlZDsKICAgICAg
ICAgfQogCkBAIC0yOTAsNyArMjkwLDcgQEAgdm9pZCBYU1NBdWRpdG9yOjpmaWx0ZXJUb2tlbihI
VE1MVG9rZW4mIHRva2VuKQogICAgIGlmIChkaWRCbG9ja1NjcmlwdCkgewogICAgICAgICAvLyBG
SVhNRTogQ29uc2lkZXIgdXNpbmcgYSBtb3JlIGhlbHBmdWwgY29uc29sZSBtZXNzYWdlLgogICAg
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxp
dGVyYWwoIlJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29k
ZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3QuXG4iKSkpOwotICAgICAgICBtX3BhcnNl
ci0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNz
YWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgbV9w
YXJzZXItPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKIAogICAgICAgICBib29sIGRpZEJsb2Nr
RW50aXJlUGFnZSA9IChtX3hzc1Byb3RlY3Rpb24gPT0gWFNTUHJvdGVjdGlvbkJsb2NrRW5hYmxl
ZCk7CiAgICAgICAgIGlmIChkaWRCbG9ja0VudGlyZVBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZUFQSVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29uc29sZUFQSVR5cGVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkwZjExNTgyMjdmZTVjOWNlODg0
MzY2YzRiYTdjZjc1NGVmOWZjMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Db25zb2xlQVBJVHlwZXMuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgor
ICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIENvbnNvbGVBUElUeXBlc19oCisjZGVmaW5lIENvbnNvbGVBUElUeXBlc19oCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBNZXNzYWdlVHlwZSB7CisgICAgTG9nTWVzc2Fn
ZVR5cGUsCisgICAgRGlyTWVzc2FnZVR5cGUsCisgICAgRGlyWE1MTWVzc2FnZVR5cGUsCisgICAg
VHJhY2VNZXNzYWdlVHlwZSwKKyAgICBTdGFydEdyb3VwTWVzc2FnZVR5cGUsCisgICAgU3RhcnRH
cm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlLAorICAgIEVuZEdyb3VwTWVzc2FnZVR5cGUsCisgICAg
Q2xlYXJNZXNzYWdlVHlwZSwKKyAgICBBc3NlcnRNZXNzYWdlVHlwZSwKKyAgICBUaW1pbmdNZXNz
YWdlVHlwZQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ29uc29s
ZUFQSVR5cGVzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5k
ZXggZGU5YzAzZWQwMzJhNGI2MTFhNzExODM4ZThjNzY3OGExMjBmODM3NC4uNmEzOGQzNDBiZGVl
ZDhhODcxZDVjZTU1YzY3ODBmNTcyZWJiNDA0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgQ29uc29sZU1lc3Nh
Z2VfaAogI2RlZmluZSBDb25zb2xlTWVzc2FnZV9oCiAKKyNpbmNsdWRlICJDb25zb2xlQVBJVHlw
ZXMuaCIKICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9u
dGVuZC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKaW5kZXggOTdmMzNlNWMwNWQwNzdkYTc3
NDQ4OTNhNzc5ZDJiMDY4MWIxNzgwZi4uODU5MWEwMzYwZjQxODIzYzU1YTFhMDU5YzY0OTAwZmQz
OTNjMzY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAor
I2luY2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgogI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250
ZW5kLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaAppbmRleCBjNGZiZmE0YTcwZDg2YjM2NGYwZGVlM2E5MTJmNTg5YzJhZjM3MTRjLi4w
YjE5YTcxMTJiMGU4YjNlZmE0Y2VkOWM1YjVkYzA3MWQyMzhkYjU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTMxLDYgKzMx
LDcgQEAKICNkZWZpbmUgSW5zcGVjdG9yRGVidWdnZXJBZ2VudF9oCiAKICNpZiBFTkFCTEUoSkFW
QVNDUklQVF9ERUJVR0dFUikgJiYgRU5BQkxFKElOU1BFQ1RPUikKKyNpbmNsdWRlICJDb25zb2xl
QVBJVHlwZXMuaCIKICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJJbmplY3Rl
ZFNjcmlwdC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRl
eCA2ZTk5MzEyMzZkNDZkODhkZjkyN2Q0NzIxMmFkNDNhYmQ4YWFiMjQyLi4zMzkzNjZhMmEzYjg1
OGRmYjI5MDdjYjQzYmE2ZGNkNTkwNjdmMGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtMzYsNiArMzYsOCBA
QAogCiAjaW5jbHVkZSAiQ1NTUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgorI2lu
Y2x1ZGUgIkNvbnNvbGVBUElUeXBlcy5oIgorI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2lu
Y2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRGV2
aWNlT3JpZW50YXRpb25EYXRhLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggOTU5NTEyYjU5Mjg1OTE1Mzc3NTdjMTdh
ODczODc1Y2I4YzI3ZTM4Ny4uYjE3YmQwYzRhYzlmZDM3ZjVjOTE3MjI3M2Y4NWJmM2JiYzk5Zjgx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25faAogCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKKyNpbmNsdWRlICJDb25zb2xlQVBJ
VHlwZXMuaCIKICNpbmNsdWRlICJDb25zb2xlVHlwZXMuaCIKICNpbmNsdWRlICJFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAppbmRleCA2ZDcxODViYzQ4YTgxNmJhZGM4MzA0ZTFj
ZDdjNmZmNGMzOTQ3ZjdjLi4zOWEzZjI0YzFlOWFiM2ZhZTlkOTIzZWIxMDY3OTU3NThmNTVjOWM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVy
QWdlbnQuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5oIgogCiAjaW5jbHVkZSAiQ29uc29sZS5oIgorI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBl
cy5oIgorI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0
LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q29uc29sZUFnZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggODY5
ZjkwZjU0YTc3MjhlOTBiMjliYzkxZDJjMjM5OGViNmNhZjg5Yy4uZDlhYTY3YWNhNWVkMzA1YzI3
MWI1NzQ3ZDk4MGJmOGVkZjUwNDUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
aApAQCAtMTA1LDcgKzEwNSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNp
emFibGUoYm9vbCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1
bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VU
b0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmLCB1bnNp
Z25lZCwgY29uc3QgU3RyaW5nJikgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYsIEZyYW1lKikgeyByZXR1
cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggOTc0NDFi
NDFiNmE2ZTJlNDI5YWU1MjFiYTRmYTc1ZmJkNmIwZDIzNS4uZmFmMWU3ZGEyM2QxMGM0NDM0Yjg5
YjMzYzYwZjIzNDc3ZDZiNjkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CkBAIC0zMzUsNyArMzM1LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3VibWl0Rm9ybShQYXNzUmVm
UHRyPEZvcm1TdWJtaXNzaW9uPiBzdWJtaXNzaW9uKQogCiAgICAgaWYgKGlzRG9jdW1lbnRTYW5k
Ym94ZWQobV9mcmFtZSwgU2FuZGJveEZvcm1zKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBt
ZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRv
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgot
ICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2Fn
ZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBmb3Jt
IHN1Ym1pc3Npb24gdG8gJyIgKyBzdWJtaXNzaW9uLT5hY3Rpb24oKS5zdHJpbmcoKSArICInIGJl
Y2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctZm9ybXMn
IHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAi
QmxvY2tlZCBmb3JtIHN1Ym1pc3Npb24gdG8gJyIgKyBzdWJtaXNzaW9uLT5hY3Rpb24oKS5zdHJp
bmcoKSArICInIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAn
YWxsb3ctZm9ybXMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApAQCAtMTQwNiw3ICsxNDA2LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6cmVwb3J0TG9j
YWxMb2FkRmFpbGVkKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiB1cmwpCiAgICAgaWYgKCFm
cmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNv
bGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCAiTm90IGFsbG93ZWQgdG8gbG9hZCBsb2NhbCByZXNvdXJjZTogIiArIHVybCk7CisgICAg
ZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsICJOb3QgYWxsb3dlZCB0byBsb2FkIGxvY2FsIHJlc291cmNlOiAiICsg
dXJsKTsKIH0KIAogY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBGcmFtZUxvYWRlcjo6aW5pdGlhbFJl
cXVlc3QoKSBjb25zdApAQCAtMjkyMSw3ICsyOTIxLDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6c2hv
dWxkSW50ZXJydXB0TG9hZEZvclhGcmFtZU9wdGlvbnMoY29uc3QgU3RyaW5nJiBjb250ZW50LCBj
b24KICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0gZWxzZSB7CiAgICAgICAgIFN0cmlu
ZyBtZXNzYWdlID0gIkludmFsaWQgJ1gtRnJhbWUtT3B0aW9ucycgaGVhZGVyIGVuY291bnRlcmVk
IHdoZW4gbG9hZGluZyAnIiArIHVybC5zdHJpbmcoKSArICInOiAnIiArIGNvbnRlbnQgKyAiJyBp
cyBub3QgYSByZWNvZ25pemVkIGRpcmVjdGl2ZS4gVGhlIGhlYWRlciB3aWxsIGJlIGlnbm9yZWQu
IjsKLSAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHJl
cXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgcmVx
dWVzdElkZW50aWZpZXIpOwogICAgIH0KIAogICAgIHJldHVybiBmYWxzZTsKQEAgLTMyOTQsNyAr
MzI5NCw3IEBAIEZyYW1lKiBjcmVhdGVXaW5kb3coRnJhbWUqIG9wZW5lckZyYW1lLCBGcmFtZSog
bG9va3VwRnJhbWUsIGNvbnN0IEZyYW1lTG9hZFJlcXVlCiAgICAgLy8gU2FuZGJveGVkIGZyYW1l
cyBjYW5ub3Qgb3BlbiBuZXcgYXV4aWxpYXJ5IGJyb3dzaW5nIGNvbnRleHRzLgogICAgIGlmIChp
c0RvY3VtZW50U2FuZGJveGVkKG9wZW5lckZyYW1lLCBTYW5kYm94UG9wdXBzKSkgewogICAgICAg
ICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUg
b25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICBvcGVuZXJGcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgIkJsb2NrZWQgb3BlbmluZyAnIiArIHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCku
dXJsKCkuc3RyaW5nKCkgKyAiJyBpbiBhIG5ldyB3aW5kb3cgYmVjYXVzZSB0aGUgcmVxdWVzdCB3
YXMgbWFkZSBpbiBhIHNhbmRib3hlZCBmcmFtZSB3aG9zZSAnYWxsb3ctcG9wdXBzJyBwZXJtaXNz
aW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIG9wZW5lckZyYW1lLT5kb2N1bWVudCgpLT5hZGRD
b25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9j
a2VkIG9wZW5pbmcgJyIgKyByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLnN0cmluZygp
ICsgIicgaW4gYSBuZXcgd2luZG93IGJlY2F1c2UgdGhlIHJlcXVlc3Qgd2FzIG1hZGUgaW4gYSBz
YW5kYm94ZWQgZnJhbWUgd2hvc2UgJ2FsbG93LXBvcHVwcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0
LiIpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VM
b2FkZXIuY3BwCmluZGV4IGUyMjQ3ZDI1NGM3Zjg2MDllZjZlYTJhOTc3M2I1ZjlmN2QxYjY5NWEu
LmU2N2VkNTkwNDY3ODA4ODI4NGNmMzY0OTAyMGUxMzFkYmEwMjhjMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtMjgyLDcgKzI4Miw3IEBAIHZvaWQgSW1hZ2VMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICAgICAgZXJy
b3JFdmVudFNlbmRlcigpLmRpc3BhdGNoRXZlbnRTb29uKHRoaXMpOwogCiAgICAgICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jv
c3Mtb3JpZ2luIGltYWdlIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFy
aW5nIHBvbGljeS4iKSkpOwotICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29s
ZU1lc3NhZ2UpOworICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICAgICAg
QVNTRVJUKCFtX2hhc1BlbmRpbmdMb2FkRXZlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDY5MTRlOTE1YjQyMmFhNzZiY2ZhZjY0YTgy
ZmY4YmYyMTNhMzIwODIuLmYwNzQxODlkZDBjMDI1ZDAwOWRlYzBkZWY4YmE1ZmUxYmMyZDY5Mjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0z
NjcsNyArMzY3LDcgQEAgdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25z
ZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByKQogICAgICAgICBpZiAoZnJhbWVMb2FkZXIoKS0+
c2hvdWxkSW50ZXJydXB0TG9hZEZvclhGcmFtZU9wdGlvbnMoY29udGVudCwgci51cmwoKSwgaWRl
bnRpZmllcigpKSkgewogICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250
aW51ZUFmdGVyWEZyYW1lT3B0aW9uc0RlbmllZChtX2RvY3VtZW50TG9hZGVyLT5mcmFtZSgpLCBk
b2N1bWVudExvYWRlcigpLCBpZGVudGlmaWVyKCksIHIpOwogICAgICAgICAgICAgU3RyaW5nIG1l
c3NhZ2UgPSAiUmVmdXNlZCB0byBkaXNwbGF5ICciICsgci51cmwoKS5zdHJpbmcoKSArICInIGlu
IGEgZnJhbWUgYmVjYXVzZSBpdCBzZXQgJ1gtRnJhbWUtT3B0aW9ucycgdG8gJyIgKyBjb250ZW50
ICsgIicuIjsKLSAgICAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCktPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBpZGVudGlmaWVyKCkpOworICAgICAgICAgICAgbV9k
b2N1bWVudExvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgaWRlbnRpZmllcigpKTsK
IAogICAgICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKaW5kZXggMzgxOGQ1ZmIwMWFl
MTJhNjQzMTVjNGFmZDQ5YzQzOGViZTY5ZDBhMS4uYjhjMjkzZGNiM2IzODBjMzlkNWNmNDE4N2Q1
MjViMTliZWIyYjQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29u
dGVudENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRD
aGVja2VyLmNwcApAQCAtMTAyLDcgKzEwMiw3IEBAIHZvaWQgTWl4ZWRDb250ZW50Q2hlY2tlcjo6
bG9nV2FybmluZyhib29sIGFsbG93ZWQsIGNvbnN0IFN0cmluZyYgYWN0aW9uLCBjb25zdCBLCiAg
ICAgLy8gRklYTUU6IFdoeSBkb2VzIHRoaXMgbWVzc2FnZSBub3QgaGF2ZSBhIHNvdXJjZSBVUkwg
b3IgYSBsaW5lIG51bWJlcj8gd2Via2l0Lm9yZy9iLzk3OTc5CiAgICAgU3RyaW5nIG1lc3NhZ2Ug
PSBTdHJpbmc6OmZvcm1hdCgiJXNUaGUgcGFnZSBhdCAlcyAlcyBpbnNlY3VyZSBjb250ZW50IGZy
b20gJXMuXG4iLAogICAgICAgICAoYWxsb3dlZCA/ICIiIDogIltibG9ja2VkXSAiKSwgYXNVVEY4
KG1fZnJhbWUtPmRvY3VtZW50KCktPnVybCgpKS5kYXRhKCksIGFjdGlvbi51dGY4KCkuZGF0YSgp
LCBhc1VURjgodGFyZ2V0KS5kYXRhKCkpOwotICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENv
bnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01l
c3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2Up
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0
VHJhY2tMb2FkZXIuY3BwCmluZGV4IDdlMTRiNDMzNDljODUwYTE5NWI2NmMyNTkwNjEzNmQ4Yjgw
ZjZmNDAuLmY2YWVmNDlmMDkwYjk3NzdlN2RiZTllNjAxOTkxZDI4YzIwMTI2ZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAg
dm9pZCBUZXh0VHJhY2tMb2FkZXI6OmNvcnNQb2xpY3lQcmV2ZW50ZWRMb2FkKCkKIHsKICAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwo
IkNyb3NzLW9yaWdpbiB0ZXh0IHRyYWNrIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNv
dXJjZSBTaGFyaW5nIHBvbGljeS4iKSkpOwogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRp
Y19jYXN0PERvY3VtZW50Kj4obV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICBkb2N1bWVu
dC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICBkb2N1bWVudC0+YWRkQ29uc29s
ZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3Nh
Z2UpOwogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggMTE4
ZWUxYTVkODVkMzcwZDM2NTA1NWYzMTVlMzA2Zjg2YzRhMjIyNi4uYWYyYzk1MmRhOGRkYmEwMzlm
OTQ2NjQ3MzEyYTJmOWYyM2Q4NzM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKQEAgLTQ3NCw3ICs0NzQs
NyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6YWJvcnQoRnJhbWUqIGZyYW1lKQogICAg
IGlmIChtX2NvbXBsZXRpb25UeXBlICE9IE5vbmUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZy
YW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBUaXBNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBkb3dubG9h
ZCBwcm9jZXNzIHdhcyBhYm9ydGVkLiIpOworICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25z
b2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIFRpcE1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0
aW9uIENhY2hlIGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIik7CiAgICAgY2FjaGVVcGRh
dGVGYWlsZWQoKTsKIH0KIApAQCAtNTY4LDcgKzU2OCw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNo
ZUdyb3VwOjpkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3Qg
UmVzCiAKICAgICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyIHx8IHJl
c3BvbnNlLnVybCgpICE9IG1fY3VycmVudEhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkpIHsK
ICAgICAgICAgaWYgKCh0eXBlICYgQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpFeHBsaWNpdCkg
fHwgKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6OkZhbGxiYWNrKSkgewotICAgICAg
ICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdl
U291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBD
YWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlICIgKyBtX2N1cnJlbnRIYW5kbGUtPmZpcnN0UmVx
dWVzdCgpLnVybCgpLnN0cmluZygpICsgCisgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZhaWxlZCwgYmVjYXVzZSAiICsgbV9jdXJyZW50
SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJpbmcoKSArIAogICAgICAgICAgICAgICAg
ICgocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSAvIDEwMCAhPSAyKSA/ICIgY291bGQgbm90IGJl
IGZldGNoZWQuIiA6ICIgd2FzIHJlZGlyZWN0ZWQuIikpOwogICAgICAgICAgICAgLy8gTm90ZSB0
aGF0IGNhY2hlVXBkYXRlRmFpbGVkKCkgY2FuIGNhdXNlIHRoZSBjYWNoZSBncm91cCB0byBiZSBk
ZWxldGVkLgogICAgICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKQEAgLTY0NSw3ICs2NDUs
NyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJj
ZUhhbmRsZSogaGFuZGxlLCBkb3VibGUgZmluaQogICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgYnJl
YWsgZWFybGllciBhbmQgcHJldmVudCByZWRvd25sb2FkaW5nIG9uIGxhdGVyIHBhZ2UgbG9hZHM/
CiAgICAgaWYgKG1fb3JpZ2luUXVvdGFFeGNlZWRlZFByZXZpb3VzbHkgJiYgbV9hdmFpbGFibGVT
cGFjZUluUXVvdGEgPCBtX2NhY2hlQmVpbmdVcGRhdGVkLT5lc3RpbWF0ZWRTaXplSW5TdG9yYWdl
KCkpIHsKICAgICAgICAgbV9jdXJyZW50UmVzb3VyY2UgPSAwOwotICAgICAgICBtX2ZyYW1lLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWls
ZWQsIGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIik7CisgICAgICAgIG1fZnJhbWUt
PmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVkLCBiZWNhdXNlIHNp
emUgcXVvdGEgd2FzIGV4Y2VlZGVkLiIpOwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjc4LDcgKzY3OCw3IEBAIHZvaWQgQXBwbGljYXRp
b25DYWNoZUdyb3VwOjpkaWRGYWlsKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291
cmNlRXJyb3ImCiAgICAgbV9wZW5kaW5nRW50cmllcy5yZW1vdmUodXJsKTsKIAogICAgIGlmICgo
dHlwZSAmIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6RXhwbGljaXQpIHx8ICh0eXBlICYgQXBw
bGljYXRpb25DYWNoZVJlc291cmNlOjpGYWxsYmFjaykpIHsKLSAgICAgICAgbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdl
VHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSB1cGRhdGUgZmFpbGVk
LCBiZWNhdXNlICIgKyB1cmwuc3RyaW5nKCkgKyAiIGNvdWxkIG5vdCBiZSBmZXRjaGVkLiIpOwor
ICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgdXBkYXRlIGZh
aWxlZCwgYmVjYXVzZSAiICsgdXJsLnN0cmluZygpICsgIiBjb3VsZCBub3QgYmUgZmV0Y2hlZC4i
KTsKICAgICAgICAgLy8gTm90ZSB0aGF0IGNhY2hlVXBkYXRlRmFpbGVkKCkgY2FuIGNhdXNlIHRo
ZSBjYWNoZSBncm91cCB0byBiZSBkZWxldGVkLgogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgp
OwogICAgIH0gZWxzZSB7CkBAIC03MDcsMTMgKzcwNywxMyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cDo6ZGlkUmVjZWl2ZU1hbmlmZXN0UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUo
KSAvIDEwMCAhPSAyKSB7Ci0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVN
ZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQuIik7
CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBcHBsaWNhdGlvbiBDYWNoZSBtYW5pZmVz
dCBjb3VsZCBub3QgYmUgZmV0Y2hlZC4iKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChyZXNwb25zZS51cmwoKSAhPSBtX21h
bmlmZXN0SGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKSkgewotICAgICAgICBtX2ZyYW1lLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNv
dWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNhdXNlIGEgcmVkaXJlY3Rpb24gd2FzIGF0dGVtcHRlZC4i
KTsKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlm
ZXN0IGNvdWxkIG5vdCBiZSBmZXRjaGVkLCBiZWNhdXNlIGEgcmVkaXJlY3Rpb24gd2FzIGF0dGVt
cHRlZC4iKTsKICAgICAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTczMyw3ICs3MzMsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZGlk
RmluaXNoTG9hZGluZ01hbmlmZXN0KCkKIAogICAgIGlmICghaXNVcGdyYWRlQXR0ZW1wdCAmJiAh
bV9tYW5pZmVzdFJlc291cmNlKSB7CiAgICAgICAgIC8vIFRoZSBzZXJ2ZXIgcmV0dXJuZWQgMzA0
IE5vdCBNb2RpZmllZCBldmVuIHRob3VnaCB3ZSBkaWRuJ3Qgc2VuZCBhIGNvbmRpdGlvbmFsIHJl
cXVlc3QuCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90
aGVyTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBw
bGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQgYmVjYXVzZSBvZiBh
biB1bmV4cGVjdGVkIDMwNCBOb3QgTW9kaWZpZWQgc2VydmVyIHJlc3BvbnNlLiIpOworICAgICAg
ICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQg
bm90IGJlIGZldGNoZWQgYmVjYXVzZSBvZiBhbiB1bmV4cGVjdGVkIDMwNCBOb3QgTW9kaWZpZWQg
c2VydmVyIHJlc3BvbnNlLiIpOwogICAgICAgICBjYWNoZVVwZGF0ZUZhaWxlZCgpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtNzU5LDcgKzc1OSw3IEBAIHZvaWQgQXBwbGljYXRpb25DYWNo
ZUdyb3VwOjpkaWRGaW5pc2hMb2FkaW5nTWFuaWZlc3QoKQogICAgIE1hbmlmZXN0IG1hbmlmZXN0
OwogICAgIGlmICghcGFyc2VNYW5pZmVzdChtX21hbmlmZXN0VVJMLCBtX21hbmlmZXN0UmVzb3Vy
Y2UtPmRhdGEoKS0+ZGF0YSgpLCBtX21hbmlmZXN0UmVzb3VyY2UtPmRhdGEoKS0+c2l6ZSgpLCBt
YW5pZmVzdCkpIHsKICAgICAgICAgLy8gQXQgdGhlIHRpbWUgb2YgdGhpcyB3cml0aW5nLCBsYWNr
IG9mICJDQUNIRSBNQU5JRkVTVCIgc2lnbmF0dXJlIGlzIHRoZSBvbmx5IHJlYXNvbiBmb3IgcGFy
c2VNYW5pZmVzdCB0byBmYWlsLgotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25z
b2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJzZWQu
IERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5JRkVTVD8iKTsKKyAgICAgICAgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIG1hbmlmZXN0IGNvdWxkIG5vdCBiZSBwYXJz
ZWQuIERvZXMgaXQgc3RhcnQgd2l0aCBDQUNIRSBNQU5JRkVTVD8iKTsKICAgICAgICAgY2FjaGVV
cGRhdGVGYWlsZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTk0OCw3ICs5NDgsNyBA
QCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y2hlY2tJZkxvYWRJc0NvbXBsZXRlKCkKICAg
ICAgICAgICAgICAgICAvLyBXZSByYW4gb3V0IG9mIHNwYWNlIGZvciB0aGlzIG9yaWdpbi4gRmFs
bCBkb3duIHRvIHRoZSBub3JtYWwgZXJyb3IgaGFuZGxpbmcKICAgICAgICAgICAgICAgICAvLyBh
ZnRlciByZWNvcmRpbmcgdGhpcyBzdGF0ZS4KICAgICAgICAgICAgICAgICBtX29yaWdpblF1b3Rh
RXhjZWVkZWRQcmV2aW91c2x5ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1
bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQs
IGJlY2F1c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIik7CisgICAgICAgICAgICAgICAgbV9m
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1
c2Ugc2l6ZSBxdW90YSB3YXMgZXhjZWVkZWQuIik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIGlmIChmYWlsdXJlUmVhc29uID09IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpUb3RhbFF1
b3RhUmVhY2hlZCAmJiAhbV9jYWxsZWRSZWFjaGVkTWF4QXBwQ2FjaGVTaXplKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApp
bmRleCAxYjJjNWNlZDI0MmNmMWM2NDc2YjAxZTk0NTY3YjBjZWU4MjlmZTQ1Li5lOTM3YjdiY2Iy
YjgyODc2M2Q3NzgzYjg0NzBiOTBiODgwMGIwN2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTYzNiw3ICs2MzYs
NyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludEFjY2Vzc0RlbmllZE1lc3NhZ2Uo
Y29uc3QgS1VSTCYgdXJsKSBjb25zdAogICAgIGVsc2UKICAgICAgICAgbWVzc2FnZSA9ICJVbnNh
ZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCAiICsgdXJsLnN0cmluZygpICsgIiBmcm9tIGZyYW1lIHdp
dGggVVJMICIgKyBtX2RvY3VtZW50LT51cmwoKS5zdHJpbmcoKSArICIuIERvbWFpbnMsIHByb3Rv
Y29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC5cbiI7CiAKLSAgICBmcmFtZSgpLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZSk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNldEF1dG9Mb2FkSW1hZ2Vz
KGJvb2wgZW5hYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMzk1YWQ2ZTc2
Mjk0ZTRhNzcwMDIzMzc3YjRjNjNmNDVhYjI1NGY1Zi4uYTMzY2JjYzExZWM5ZWYwNzUwNzJmNTdh
NTIzODdmOWZmNDIyY2E4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yMyw2
ICsyMyw3IEBACiAjZGVmaW5lIENocm9tZUNsaWVudF9oCiAKICNpbmNsdWRlICJBWE9iamVjdENh
Y2hlLmgiCisjaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCiAjaW5jbHVkZSAiQ29uc29sZVR5
cGVzLmgiCiAjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIK
QEAgLTEzNSw3ICsxMzYsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1
YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCkgPSAwOwogICAgICAgICAKLSAgICAgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJl
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgYWRk
TWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkg
PSAwOworICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgTWVzc2FnZVR5cGUgdmFyaWFudCBv
bmNlIGFsbCB0aGUgY2xpZW50cyBhcmUgdXBkYXRlZC4KKyAgICAgICAgdmlydHVhbCB2b2lkIGFk
ZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNz
YWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJl
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKKyAgICAgICAgeworICAgICAgICAgICAgYWRkTWVz
c2FnZVRvQ29uc29sZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VJ
RCk7CisgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2Fk
Q29uZmlybVBhbmVsKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2Fk
Q29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRnJhbWUqIGZyYW1lKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db25zb2xlLmNwcAppbmRleCA1NzE0ZDZmYjFlZGFiOTQ1MjNlYzFlNjNmNmE4Yzgx
OWVjODlhN2ZmLi5kNGUzNDgxODNjODAyODIxMmRjN2Q2YzNmMzYxOGQ4ZDcwMGMyY2IzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29uc29sZS5jcHAKQEAgLTMxLDYgKzMxLDggQEAKIAogI2luY2x1ZGUgIkNocm9t
ZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgorI2luY2x1ZGUgIkNvbnNvbGVBUElUeXBl
cy5oIgorI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgpAQCAtMTM2LDcgKzEz
OCw3IEBAIHN0YXRpYyB2b2lkIHByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwKICAgICBwcmludGYoIiVzICVzOiIsIHNvdXJj
ZVN0cmluZywgbGV2ZWxTdHJpbmcpOwogfQogCi12b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBE
b2N1bWVudCogZG9jdW1lbnQpCit2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyLCBEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAg
U3RyaW5nIHVybDsKICAgICBpZiAoZG9jdW1lbnQpCkBAIC0xNDcsMTUgKzE0OSwxNSBAQCB2b2lk
IENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5
cGUsIE1lc3NhZ2VMZXZlbCBsZQogICAgICAgICBpZiAoIXBhcnNlci0+aXNXYWl0aW5nRm9yU2Ny
aXB0cygpICYmICFwYXJzZXItPmlzRXhlY3V0aW5nU2NyaXB0KCkpCiAgICAgICAgICAgICBsaW5l
ID0gcGFyc2VyLT5saW5lTnVtYmVyKCkub25lQmFzZWRJbnQoKTsKICAgICB9Ci0gICAgYWRkTWVz
c2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCB1cmwsIGxpbmUsIDAsIDAsIHJlcXVl
c3RJZGVudGlmaWVyKTsKKyAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHVy
bCwgbGluZSwgMCwgMCwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCi12b2lkIENvbnNvbGU6OmFk
ZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VM
ZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY2FsbFN0YWNrKQordm9pZCBDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykKIHsKLSAgICBhZGRNZXNzYWdlKHNvdXJj
ZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIFN0cmluZygpLCAwLCBjYWxsU3RhY2ssIDApOworICAg
IGFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgU3RyaW5nKCksIDAsIGNhbGxTdGFj
aywgMCk7CiB9CiAKLXZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgdXJsLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBTY3JpcHRTdGF0ZSogc3RhdGUsIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIpCit2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIHVybCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+IGNhbGxTdGFjaywgU2NyaXB0U3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25n
IHJlcXVlc3RJZGVudGlmaWVyKQogewogICAgIGlmIChtdXRlQ291bnQgJiYgc291cmNlICE9IENv
bnNvbGVBUElNZXNzYWdlU291cmNlKQogICAgICAgICByZXR1cm47CkBAIC0xNjUsMTQgKzE2Nywx
NCBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAo
Y2FsbFN0YWNrKQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VU
b0NvbnNvbGUocGFnZSwgc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrLCBy
ZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRk
TWVzc2FnZVRvQ29uc29sZShwYWdlLCBzb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBsZXZlbCwgbWVz
c2FnZSwgY2FsbFN0YWNrLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgZWxzZQotICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUocGFnZSwgc291cmNl
LCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgdXJsLCBsaW5lTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElk
ZW50aWZpZXIpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VU
b0NvbnNvbGUocGFnZSwgc291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIHVy
bCwgbGluZU51bWJlciwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVyKTsKIAogICAgIGlmICghbV9m
cmFtZS0+c2V0dGluZ3MoKSB8fCBtX2ZyYW1lLT5zZXR0aW5ncygpLT5wcml2YXRlQnJvd3NpbmdF
bmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBhZ2UtPmNocm9tZSgpLT5jbGllbnQo
KS0+YWRkTWVzc2FnZVRvQ29uc29sZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5l
TnVtYmVyLCB1cmwpOworICAgIHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+YWRkTWVzc2FnZVRv
Q29uc29sZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCB1cmwpOwogCiAgICAg
aWYgKCFzaG91bGRQcmludEV4Y2VwdGlvbnMoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTgzLDEx
ICsxODUsMTAgQEAgdm9pZCBDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNl
LCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGUKICAgICBwcmludGYoIiAlc1xuIiwg
bWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKIH0KIAotdm9pZCBDb25zb2xlOjphZGRNZXNzYWdlKE1l
c3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgU2NyaXB0U3RhdGUqIHN0YXRlLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gcHJwQXJndW1lbnRzLCBib29sIGFjY2VwdE5vQXJn
dW1lbnRzLCBib29sIHByaW50VHJhY2UpCitzdGF0aWMgdm9pZCBpbnRlcm5hbEFkZE1lc3NhZ2Uo
UGFnZSogcGFnZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBTY3JpcHRT
dGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBwcnBBcmd1bWVudHMsIGJv
b2wgcHJpbnRFeGNlcHRpb25zLCBib29sIGFjY2VwdE5vQXJndW1lbnRzID0gZmFsc2UsIGJvb2wg
cHJpbnRUcmFjZSA9IGZhbHNlKQogewogICAgIFJlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3Vt
ZW50cyA9IHBycEFyZ3VtZW50czsKIAotICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAg
ICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKQEAgLTIwMiwxMyArMjAzLDEzIEBAIHZv
aWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2
ZWwsIFNjcmlwdFN0YXRlKiBzdGF0CiAgICAgYm9vbCBnb3RNZXNzYWdlID0gYXJndW1lbnRzLT5n
ZXRGaXJzdEFyZ3VtZW50QXNTdHJpbmcobWVzc2FnZSk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHBhZ2UsIENvbnNvbGVBUElNZXNzYWdlU291cmNl
LCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc3RhdGUsIGFyZ3VtZW50cy5yZWxlYXNlKCkpOwogCi0g
ICAgaWYgKCFtX2ZyYW1lLT5zZXR0aW5ncygpIHx8IG1fZnJhbWUtPnNldHRpbmdzKCktPnByaXZh
dGVCcm93c2luZ0VuYWJsZWQoKSkKKyAgICBpZiAoIXBhZ2UtPnNldHRpbmdzKCkgfHwgcGFnZS0+
c2V0dGluZ3MoKS0+cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBpZiAoZ290TWVzc2FnZSkKICAgICAgICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5h
ZGRNZXNzYWdlVG9Db25zb2xlKENvbnNvbGVBUElNZXNzYWdlU291cmNlLCB0eXBlLCBsZXZlbCwg
bWVzc2FnZSwgbGFzdENhbGxlci5saW5lTnVtYmVyKCksIGxhc3RDYWxsZXIuc291cmNlVVJMKCkp
OwogCi0gICAgaWYgKHNob3VsZFByaW50RXhjZXB0aW9ucygpKSB7CisgICAgaWYgKHByaW50RXhj
ZXB0aW9ucykgewogICAgICAgICBwcmludFNvdXJjZVVSTEFuZExpbmUobGFzdENhbGxlci5zb3Vy
Y2VVUkwoKSwgMCk7CiAgICAgICAgIHByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KENv
bnNvbGVBUElNZXNzYWdlU291cmNlLCBsZXZlbCk7CiAKQEAgLTIzNyw3ICsyMzgsNyBAQCB2b2lk
IENvbnNvbGU6OmRlYnVnKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+IGFyZ3VtZW50cykKIAogdm9pZCBDb25zb2xlOjplcnJvcihTY3JpcHRTdGF0ZSogc3Rh
dGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBhcmd1bWVudHMpCiB7Ci0gICAgYWRkTWVz
c2FnZShMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMp
OworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpOwog
fQogCiB2b2lkIENvbnNvbGU6OmluZm8oU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNj
cmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQpAQCAtMjQ3LDMyICsyNDgsMzIgQEAgdm9pZCBDb25z
b2xlOjppbmZvKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
IGFyZ3VtZW50cykKIAogdm9pZCBDb25zb2xlOjpsb2coU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNz
UmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1lc3NhZ2UoTG9n
TWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7CisgICAgaW50
ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgTG9nTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwg
c3RhdGUsIGFyZ3VtZW50cywgc2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpOwogfQogCiB2b2lkIENv
bnNvbGU6Ondhcm4oU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50
cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1lc3NhZ2UoTG9nTWVzc2FnZVR5cGUsIFdhcm5pbmdN
ZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShw
YWdlKCksIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1l
bnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSk7CiB9CiAKIHZvaWQgQ29uc29sZTo6ZGlyKFNj
cmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50cykK
IHsKLSAgICBhZGRNZXNzYWdlKERpck1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRl
LCBhcmd1bWVudHMpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCksIERpck1lc3NhZ2VU
eXBlLCBMb2dNZXNzYWdlTGV2ZWwsIHN0YXRlLCBhcmd1bWVudHMsIHNob3VsZFByaW50RXhjZXB0
aW9ucygpKTsKIH0KIAogdm9pZCBDb25zb2xlOjpkaXJ4bWwoU2NyaXB0U3RhdGUqIHN0YXRlLCBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1lc3NhZ2Uo
RGlyWE1MTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cyk7Cisg
ICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgRGlyWE1MTWVzc2FnZVR5cGUsIExvZ01lc3Nh
Z2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgc2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpOwogfQog
CiB2b2lkIENvbnNvbGU6OmNsZWFyKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3Jp
cHRBcmd1bWVudHM+IGFyZ3VtZW50cykKIHsKLSAgICBhZGRNZXNzYWdlKENsZWFyTWVzc2FnZVR5
cGUsIExvZ01lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywgdHJ1ZSk7CisgICAgaW50ZXJu
YWxBZGRNZXNzYWdlKHBhZ2UoKSwgQ2xlYXJNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBz
dGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2VwdGlvbnMoKSwgdHJ1ZSk7CiB9CiAKIHZv
aWQgQ29uc29sZTo6dHJhY2UoU2NyaXB0U3RhdGUqIHN0YXRlLCBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4gYXJndW1lbnRzKQogewotICAgIGFkZE1lc3NhZ2UoVHJhY2VNZXNzYWdlVHlwZSwg
TG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCB0cnVlLCBzaG91bGRQcmludEV4Y2Vw
dGlvbnMoKSk7CisgICAgaW50ZXJuYWxBZGRNZXNzYWdlKHBhZ2UoKSwgVHJhY2VNZXNzYWdlVHlw
ZSwgTG9nTWVzc2FnZUxldmVsLCBzdGF0ZSwgYXJndW1lbnRzLCBzaG91bGRQcmludEV4Y2VwdGlv
bnMoKSwgdHJ1ZSwgc2hvdWxkUHJpbnRFeGNlcHRpb25zKCkpOwogfQogCiB2b2lkIENvbnNvbGU6
OmFzc2VydENvbmRpdGlvbihTY3JpcHRTdGF0ZSogc3RhdGUsIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPiBhcmd1bWVudHMsIGJvb2wgY29uZGl0aW9uKQpAQCAtMjgwLDcgKzI4MSw3IEBAIHZv
aWQgQ29uc29sZTo6YXNzZXJ0Q29uZGl0aW9uKFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0
cjxTY3JpcHRBcmd1bWVudHM+IGFyCiAgICAgaWYgKGNvbmRpdGlvbikKICAgICAgICAgcmV0dXJu
OwogCi0gICAgYWRkTWVzc2FnZShBc3NlcnRNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IHN0YXRlLCBhcmd1bWVudHMsIHRydWUpOworICAgIGludGVybmFsQWRkTWVzc2FnZShwYWdlKCks
IEFzc2VydE1lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgc3RhdGUsIGFyZ3VtZW50cywg
c2hvdWxkUHJpbnRFeGNlcHRpb25zKCksIHRydWUpOwogfQogCiB2b2lkIENvbnNvbGU6OmNvdW50
KFNjcmlwdFN0YXRlKiBzdGF0ZSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3VtZW50
cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Db25zb2xlLmgKaW5kZXggMTY2NzQ2ZTUxZjg1Mjc5ODFiMmQzZDllYTYyYWFj
NWVmZjlkYmViYy4uM2Q1M2E3NWNmNTUxMzY5NTQxODI3M2ExY2YyNmZmM2E4NzE5Y2E3MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db25zb2xlLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpZm5kZWYgQ29uc29sZV9oCiAj
ZGVmaW5lIENvbnNvbGVfaAogCisjaW5jbHVkZSAiQ29uc29sZUFQSVR5cGVzLmgiCiAjaW5jbHVk
ZSAiQ29uc29sZVR5cGVzLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKICNpbmNs
dWRlICJTY3JpcHRDYWxsU3RhY2suaCIKQEAgLTU3LDkgKzU4LDkgQEAgcHVibGljOgogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENvbnNvbGU+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBDb25zb2xlKGZyYW1lKSk7IH0KICAgICB2aXJ0dWFsIH5Db25zb2xlKCk7CiAK
LSAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5z
aWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+ID0gMCwgU2NyaXB0
U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwotICAgIHZv
aWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAg
dm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDAsIERvY3VtZW50KiA9IDApOworICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDAs
IFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsK
KyAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CisgICAgdm9pZCBh
ZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCwgRG9jdW1lbnQqID0gMCk7
CiAKICAgICB2b2lkIGRlYnVnKFNjcmlwdFN0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVu
dHM+KTsKICAgICB2b2lkIGVycm9yKFNjcmlwdFN0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1
bWVudHM+KTsKQEAgLTk1LDcgKzk2LDYgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIGlubGlu
ZSBQYWdlKiBwYWdlKCkgY29uc3Q7Ci0gICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VUeXBlLCBN
ZXNzYWdlTGV2ZWwsIFNjcmlwdFN0YXRlKiwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBi
b29sIGFjY2VwdE5vQXJndW1lbnRzID0gZmFsc2UsIGJvb2wgcHJpbnRUcmFjZSA9IGZhbHNlKTsK
IAogICAgIGV4cGxpY2l0IENvbnNvbGUoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5
cGVzLmgKaW5kZXggYjM4MzQwMGNhMmNlZmY3ZjZlZTMwODJiYTNiMTNmNTEzMzg5YmYyMi4uNWJl
Y2YwNjM1MTQxYmJjZTZmMmZhNGJlMTI4NWVlMGU3YzRiNTg0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnNvbGVUeXBlcy5oCkBAIC0zNywyMSArMzcsNiBAQCBlbnVtIE1lc3NhZ2VTb3VyY2UgewogICAg
IE90aGVyTWVzc2FnZVNvdXJjZSwKIH07CiAKLS8vIEZJWE1FOiBtYWtlIHRoaXMgZW51bSBwcml2
YXRlIHRvIGluc3BlY3RvciwgcmVtb3ZlIGl0IGZyb20gY2xpZW50IGNhbGxiYWNrcy4KLS8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3MQotZW51bSBNZXNzYWdl
VHlwZSB7Ci0gICAgTG9nTWVzc2FnZVR5cGUsCi0gICAgRGlyTWVzc2FnZVR5cGUsCi0gICAgRGly
WE1MTWVzc2FnZVR5cGUsCi0gICAgVHJhY2VNZXNzYWdlVHlwZSwKLSAgICBTdGFydEdyb3VwTWVz
c2FnZVR5cGUsCi0gICAgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlLAotICAgIEVuZEdy
b3VwTWVzc2FnZVR5cGUsCi0gICAgQ2xlYXJNZXNzYWdlVHlwZSwKLSAgICBBc3NlcnRNZXNzYWdl
VHlwZSwKLSAgICBUaW1pbmdNZXNzYWdlVHlwZQotfTsKLQogZW51bSBNZXNzYWdlTGV2ZWwgewog
ICAgIFRpcE1lc3NhZ2VMZXZlbCwKICAgICBMb2dNZXNzYWdlTGV2ZWwsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggYjA1NjBlMzMyOGJlNjA2
YzMzODA4MzA4OGRiN2EzYjY4ZjBhMTgwMy4uZmFkMTRkNzdkODFkMTM4ODk3NWNjM2Q3MmZmNjZl
MzZjNDMzZWQ2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJp
dHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmNwcApAQCAtMTY5Miw3ICsxNjkyLDcgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OnJlcG9ydEludmFsaWRTb3VyY2VFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aXYKIAog
dm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmxvZ1RvQ29uc29sZShjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVy
JiBjb250ZXh0TGluZSwgU2NyaXB0U3RhdGUqIHN0YXRlKSBjb25zdAogewotICAgIG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRl
eHRMaW5lLm9uZUJhc2VkSW50KCksIHN0YXRlKTsKKyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCksIHN0YXRlKTsK
IH0KIAogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydEJsb2NrZWRTY3JpcHRFeGVj
dXRpb25Ub0luc3BlY3Rvcihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZVRleHQpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggOWVhZDE0ZTJkZmM2ODRkYjkzMmNlN2ZjMDAwNWRj
MDRkMGU3YTdkZS4uYjliNjdjNmY4ZjYzNzgyMDk4MWM2N2YxMjc1MDQ0MTg1YmFmOWQyZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtODg3LDcgKzg4Nyw3IEBAIHZvaWQgRE9NV2lu
ZG93OjpkaXNwYXRjaE1lc3NhZ2VFdmVudFdpdGhPcmlnaW5DaGVjayhTZWN1cml0eU9yaWdpbiog
aW50ZW5kZWRUYXJnCiAgICAgICAgIGlmICghaW50ZW5kZWRUYXJnZXRPcmlnaW4tPmlzU2FtZVNj
aGVtZUhvc3RQb3J0KGRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKSB7CiAgICAgICAgICAg
ICBTdHJpbmcgbWVzc2FnZSA9ICJVbmFibGUgdG8gcG9zdCBtZXNzYWdlIHRvICIgKyBpbnRlbmRl
ZFRhcmdldE9yaWdpbi0+dG9TdHJpbmcoKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICIuIFJlY2lwaWVudCBoYXMgb3JpZ2luICIgKyBkb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigp
LT50b1N0cmluZygpICsgIi5cbiI7Ci0gICAgICAgICAgICBjb25zb2xlKCktPmFkZE1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UsIHN0YWNrVHJhY2UpOworICAgICAgICAgICAgY29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHN0YWNrVHJhY2UpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQpAQCAtMTc1Niw3ICsxNzU2LDcgQEAg
dm9pZCBET01XaW5kb3c6OnByaW50RXJyb3JNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkK
ICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNvbnNv
bGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgY29uc29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiBTdHJpbmcgRE9NV2lu
ZG93Ojpjcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2FnZShET01XaW5kb3cqIGFjdGl2ZVdpbmRv
dykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggNjEwMTcwMjA4NWNjMjM4N2Uz
MWI1ZTE5M2I5YzMyOWExODRlZGNhOS4uNDAxZGYzNmYzYzNhMTgzNmUzZTY3MGJhMmJkNmViNGVl
OTE3ZDI4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTIxNSw3ICsyMTUs
NyBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcAogICAgICAgICAgICAgbWVzc2FnZS5hcHBlbmQo
Y2hhcnNldCk7CiAgICAgICAgICAgICBtZXNzYWdlLmFwcGVuZExpdGVyYWwoIlwiKSB0aGF0IGlz
IG5vdCBVVEYtOC4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rpb24uIik7CiAgICAgICAgICAgICAvLyBG
SVhNRTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBsaW5lLgotICAgICAgICAgICAgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZS50b1N0cmluZygpKTsKKyAg
ICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZS50b1N0cmluZygpKTsKICAg
ICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIFRvIGtlZXAgdGhlIHNpZ25hbC10by1u
b2lzZSByYXRpbyBsb3csIHdlIG9ubHkgbG9nIDIwMC1yZXNwb25zZSB3aXRoIGFuIGludmFsaWQg
TUlNRSB0eXBlLgpAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZFJlY2Vp
dmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwCiAg
ICAgICAgICAgICBtZXNzYWdlLmFwcGVuZChyZXNwb25zZS5taW1lVHlwZSgpKTsKICAgICAgICAg
ICAgIG1lc3NhZ2UuYXBwZW5kTGl0ZXJhbCgiXCIpIHRoYXQgaXMgbm90IFwidGV4dC9ldmVudC1z
dHJlYW1cIi4gQWJvcnRpbmcgdGhlIGNvbm5lY3Rpb24uIik7CiAgICAgICAgICAgICAvLyBGSVhN
RTogV2UgYXJlIG1pc3NpbmcgdGhlIHNvdXJjZSBsaW5lLgotICAgICAgICAgICAgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZS50b1N0cmluZygpKTsKKyAgICAg
ICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZS50b1N0cmluZygpKTsKICAgICAg
ICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50
RXh0ZW5zaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmNwcAppbmRleCAzNzQ3Y2NiMDljOWNlNTZhYjI0MzEyMTI1MTBhM2EzYjgzMzJjZTEyLi44MTA0
ZmJkNjA4MmE2N2IyYWJmMWFkOWI5OThiNTRiMzEwYTNhNDkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcApAQCAtMTM2LDcgKzEzNiw3IEBAIHZvaWQg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpkaXNwYXRjaFNWR0xvYWRFdmVudFRvT3V0ZXJtb3N0U1ZH
RWxlbWVudHMoKQogc3RhdGljIHZvaWQgcmVwb3J0TWVzc2FnZShEb2N1bWVudCogZG9jdW1lbnQs
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIGlmIChk
b2N1bWVudC0+ZnJhbWUoKSkKLSAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIGxldmVsLCBtZXNzYWdlKTsKKyAgICAgICAg
ZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIG1lc3Nh
Z2UpOwogfQogCiB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVwb3J0V2FybmluZyhjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCmluZGV4IGNmZjBkNWZiMWYwZDVjNDBh
ZDEyM2M5MjliNGJmNDA2ZjdiYmNjMzcuLmVjNDFkMjIzZTY2YjBmY2VjMWVjNDg5MTA4OTU1MzAz
MDZiY2ZiMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoKIAog
ICAgIC8vIFdvcmtlclJlcG9ydGluZ1Byb3h5CiAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRp
b25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLSAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNv
bGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwpOworICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dv
cmtlck9iamVjdChNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rv
cihjb25zdCBTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlSW5zcGVjdG9yU3RhdGVD
b29raWUoY29uc3QgU3RyaW5nJik7CkBAIC0xODgsMTYgKzE4OCwxNiBAQCB2b2lkIFNoYXJlZFdv
cmtlclByb3h5Ojpwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UsCiAgICAgICAgICgqaXRlciktPnBvc3RUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygm
cG9zdEV4Y2VwdGlvblRhc2ssIGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKSk7
CiB9CiAKLXN0YXRpYyB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogZG9jdW1lbnQsIE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBl
LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIpCitzdGF0aWMgdm9pZCBwb3N0Q29uc29s
ZU1lc3NhZ2VUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGRvY3VtZW50LCBNZXNzYWdlU291
cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyKQogewotICAgIGRvY3Vt
ZW50LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3Vy
Y2VVUkwsIGxpbmVOdW1iZXIpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShzb3Vy
Y2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpOwogfQogCi12b2lkIFNo
YXJlZFdvcmtlclByb3h5Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCkKK3ZvaWQgU2hhcmVkV29ya2VyUHJveHk6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2Jq
ZWN0KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewog
ICAgIE11dGV4TG9ja2VyIGxvY2sobV93b3JrZXJEb2N1bWVudHNMb2NrKTsKICAgICBmb3IgKEhh
c2hTZXQ8RG9jdW1lbnQqPjo6aXRlcmF0b3IgaXRlciA9IG1fd29ya2VyRG9jdW1lbnRzLmJlZ2lu
KCk7IGl0ZXIgIT0gbV93b3JrZXJEb2N1bWVudHMuZW5kKCk7ICsraXRlcikKLSAgICAgICAgKCpp
dGVyKS0+cG9zdFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNr
LCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpKTsK
KyAgICAgICAgKCppdGVyKS0+cG9zdFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29s
ZU1lc3NhZ2VUYXNrLCBzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1i
ZXIpKTsKIH0KIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0LmNwcAppbmRleCA3OTk3MDAyYWNhZjg2OTlhNDViOTg3
MmM4NTVkN2I3N2IwNWNkZWUyLi5kMmNkYjM3MjlhZGJjNGEzNzE0MDQ0YWFhMTNmZDQ3Yjg0Zjc4
ZGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5j
cHAKQEAgLTgxLDcgKzgxLDcgQEAgU2hhcmVkV29ya2VyVGhyZWFkKiBTaGFyZWRXb3JrZXJDb250
ZXh0Ojp0aHJlYWQoKQogdm9pZCBTaGFyZWRXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0Nv
bnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
LCBpbnQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykK
IHsKICAgICBXb3JrZXJDb250ZXh0Ojpsb2dFeGNlcHRpb25Ub0NvbnNvbGUoZXJyb3JNZXNzYWdl
LCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFjayk7Ci0gICAgYWRkTWVzc2FnZVRvV29y
a2VyQ29uc29sZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgZXJyb3JNZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNhbGxTdGFjayk7Cisg
ICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBlcnJvck1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dC5jcHAKaW5kZXggYzY5N2MwMDcwOThhYjQyNGVlMmJkYjViODRmYTk1OWNkY2I4ZmYz
ZS4uYzRlYzIyMmY5MWU3OTZlYmJkMzlkN2QwMzg2YmZkN2Q4ZTI5ZmUyYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCkBAIC0yNzksMzQgKzI3OSwzNCBAQCB2b2lk
IFdvcmtlckNvbnRleHQ6OmxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgY29uc3QgU3RyaQogICAgIHRocmVhZCgpLT53b3JrZXJSZXBvcnRpbmdQcm94eSgp
LnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNv
dXJjZVVSTCk7CiB9CiAKLXZvaWQgV29ya2VyQ29udGV4dDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVz
c2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyKQor
dm9pZCBXb3JrZXJDb250ZXh0OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxv
bmcgcmVxdWVzdElkZW50aWZpZXIpCiB7CiAgICAgaWYgKCFpc0NvbnRleHRUaHJlYWQoKSkgewot
ICAgICAgICBwb3N0VGFzayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZShzb3VyY2UsIHR5
cGUsIGxldmVsLCBtZXNzYWdlKSk7CisgICAgICAgIHBvc3RUYXNrKEFkZENvbnNvbGVNZXNzYWdl
VGFzazo6Y3JlYXRlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KLSAgICB0aHJlYWQoKS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1l
c3NhZ2VUb1dvcmtlck9iamVjdChzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCAwLCBTdHJp
bmcoKSk7CisgICAgdGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdENvbnNvbGVN
ZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgMCwgU3RyaW5nKCkp
OwogCi0gICAgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShzb3VyY2UsIHR5cGUsIGxldmVsLCBt
ZXNzYWdlLCBTdHJpbmcoKSwgMCwgMCwgMCwgcmVxdWVzdElkZW50aWZpZXIpOworICAgIGFkZE1l
c3NhZ2VUb1dvcmtlckNvbnNvbGUoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgU3RyaW5nKCksIDAs
IDAsIDAsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAotdm9pZCBXb3JrZXJDb250ZXh0OjphZGRN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2
ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkws
IHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3Rh
Y2ssIFNjcmlwdFN0YXRlKiBzdGF0ZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikK
K3ZvaWQgV29ya2VyQ29udGV4dDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVz
c2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4g
Y2FsbFN0YWNrLCBTY3JpcHRTdGF0ZSogc3RhdGUsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50
aWZpZXIpCiB7CiAgICAgaWYgKCFpc0NvbnRleHRUaHJlYWQoKSkgewotICAgICAgICBwb3N0VGFz
ayhBZGRDb25zb2xlTWVzc2FnZVRhc2s6OmNyZWF0ZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNz
YWdlKSk7CisgICAgICAgIHBvc3RUYXNrKEFkZENvbnNvbGVNZXNzYWdlVGFzazo6Y3JlYXRlKHNv
dXJjZSwgbGV2ZWwsIG1lc3NhZ2UpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICB0aHJl
YWQoKS0+d29ya2VyUmVwb3J0aW5nUHJveHkoKS5wb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9i
amVjdChzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
OwotICAgIGFkZE1lc3NhZ2VUb1dvcmtlckNvbnNvbGUoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjYWxsU3RhY2ssIHN0YXRlLCByZXF1ZXN0SWRl
bnRpZmllcik7CisgICAgdGhyZWFkKCktPndvcmtlclJlcG9ydGluZ1Byb3h5KCkucG9zdENvbnNv
bGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJl
ciwgc291cmNlVVJMKTsKKyAgICBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKHNvdXJjZSwgbGV2
ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2FsbFN0YWNrLCBzdGF0ZSwgcmVx
dWVzdElkZW50aWZpZXIpOwogfQogCi12b2lkIFdvcmtlckNvbnRleHQ6OmFkZE1lc3NhZ2VUb1dv
cmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3Nh
Z2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNh
bGxTdGFjaywgU2NyaXB0U3RhdGUqIHN0YXRlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlm
aWVyKQordm9pZCBXb3JrZXJDb250ZXh0OjphZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3Nh
Z2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2ssIFNjcmlwdFN0YXRlKiBzdGF0ZSwgdW5zaWdu
ZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKICAgICBBU1NFUlQoaXNDb250ZXh0VGhyZWFk
KCkpOwogICAgIGlmIChjYWxsU3RhY2spCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6YWRkTWVzc2FnZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdl
LCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjphZGRNZXNzYWdlVG9Db25zb2xlKHRoaXMsIHNvdXJjZSwgTG9nTWVzc2FnZVR5
cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ssIHJlcXVlc3RJZGVudGlmaWVyKTsKICAgICBl
bHNlCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29s
ZSh0aGlzLCBzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VVUkwsIGxpbmVOdW1i
ZXIsIHN0YXRlLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSh0aGlzLCBzb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBzdGF0ZSwgcmVxdWVzdElk
ZW50aWZpZXIpOwogfQogCiBib29sIFdvcmtlckNvbnRleHQ6OmlzQ29udGV4dFRocmVhZCgpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCmluZGV4IDQ5NmQ3MzU4NTYz
YzQ4ZDlmY2ViMGVhODY5NjMyMGY3ZDQzYWJkZTIuLjRhYmMzYjJmNGUwNDFhOTdmZTlmZTY5ODc1
NjQ4YjBjYzJiMTg5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBA
IC0xNDUsNyArMTQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGFwcGx5
Q29udGVudFNlY3VyaXR5UG9saWN5RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1
cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlKTsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JN
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPik7Ci0gICAgICAgIHZvaWQgYWRkTWVzc2FnZVRvV29ya2VyQ29u
c29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICAgICAgdm9pZCBhZGRNZXNzYWdlVG9X
b3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBTY3JpcHRTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25n
IHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CiAKICAgICBwcml2YXRlOgogICAgICAgICB2aXJ0dWFs
IHZvaWQgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIHsgcmVmKCk7IH0KQEAgLTE1OSw4ICsx
NTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgY29uc3QgS1VSTCYg
dmlydHVhbFVSTCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIEtVUkwgdmlydHVhbENvbXBsZXRl
VVJMKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNz
YWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIs
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQg
bG9uZyByZXF1ZXN0SWRlbnRpZmllciA9IDApOwotICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29u
c29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7
CisgICAgICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VM
ZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5z
aWduZWQgbGluZU51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBTY3JpcHRTdGF0
ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CisgICAgICAgIHZp
cnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApOwogCiAgICAgICAgIHZpcnR1YWwgRXZlbnRUYXJnZXQqIGVycm9yRXZlbnRUYXJnZXQoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApp
bmRleCBjMzVkOGU4YWExZDg5ZDk4NjQyZDU5MTMwYzc4MzdhYWU3YTk1MGZmLi4zOWY4Mjg5MjAw
ZTUxOWNlODE0NGEwYTZlYjhkMDBjOTJkMzUxN2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtMzI3LDE4ICszMjcsMTYgQEAgdm9p
ZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0
IFN0cmluZyYgZXJyb3JNZXNzYWcKICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RU
YXNrKFdvcmtlckV4Y2VwdGlvblRhc2s6OmNyZWF0ZShlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIs
IHNvdXJjZVVSTCwgdGhpcykpOwogfQogCi1zdGF0aWMgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VU
YXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdvcmtlck1lc3NhZ2luZ1Byb3h5
KiBtZXNzYWdpbmdQcm94eSwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUs
IE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3N0YXRpYyB2b2lkIHBvc3RDb25zb2xl
TWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV29ya2VyTWVzc2Fn
aW5nUHJveHkqIG1lc3NhZ2luZ1Byb3h5LCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxl
dmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNv
bnN0IFN0cmluZyYgc291cmNlVVJMKQogewogICAgIGlmIChtZXNzYWdpbmdQcm94eS0+YXNrZWRU
b1Rlcm1pbmF0ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgY29udGV4dC0+YWRkQ29uc29sZU1l
c3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgc291cmNlVVJMLCBsaW5lTnVtYmVy
KTsKKyAgICBjb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdl
LCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIpOwogfQogCi12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5
Ojpwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQgV29ya2Vy
TWVzc2FnaW5nUHJveHk6OnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
aW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQogewotICAgIG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soCi0gICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFzaygm
cG9zdENvbnNvbGVNZXNzYWdlVGFzaywgQWxsb3dDcm9zc1RocmVhZEFjY2Vzcyh0aGlzKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxp
bmVOdW1iZXIsIHNvdXJjZVVSTCkpOworICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9z
dFRhc2soY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBBbGxvd0Ny
b3NzVGhyZWFkQWNjZXNzKHRoaXMpLCBzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVy
LCBzb3VyY2VVUkwpKTsKIH0KIAogdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyVGhy
ZWFkQ3JlYXRlZChQYXNzUmVmUHRyPERlZGljYXRlZFdvcmtlclRocmVhZD4gd29ya2VyVGhyZWFk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4
IDc3YmNhYjJiNjY4MDc0MGRjYTExZDE2MDVhZDg2MDRlOTkxMTgyMDAuLmU4NjkyNGU3MTI1ODRk
ZWFiMGM0NDA4M2Q4ZmU2Yjg3NGIyN2NjOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTY4LDcgKzY4LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAvLyAoT25seSB1c2UgdGhlc2UgbWV0aG9kcyBpbiB0aGUgd29ya2VyIGNv
bnRleHQgdGhyZWFkLikKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJP
YmplY3QoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNzT3duUHRyPE1lc3Nh
Z2VQb3J0Q2hhbm5lbEFycmF5Pik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0RXhjZXB0aW9u
VG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29u
c29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVz
c2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBT
dHJpbmcmIHNvdXJjZVVSTCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3Nh
Z2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1Bh
Z2VJbnNwZWN0b3IoY29uc3QgU3RyaW5nJik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVJ
bnNwZWN0b3JTdGF0ZUNvb2tpZShjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaAppbmRleCA4MDRhZjIxNjQwZWVmNzNjNDUxMjQ0
NmUwMTVjZDJiOGFiNTIzZmNjLi5iZTE5MzUwNTIxYTlmNDA1NmMyYzIwYTI3ZGUyNzY5MTVlODZj
NTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1By
b3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5o
CkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFs
IHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNz
YWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpID0gMDsKIAotICAg
ICAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpID0gMDsKKyAgICAgICAg
dmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpID0gMDsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
ICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3IoY29uc3QgU3RyaW5n
JikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlSW5zcGVjdG9yU3RhdGVDb29raWUo
Y29uc3QgU3RyaW5nJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5k
ZXggMmEzYTUxNzJmMzg2YzEzOTZhZWU4YjQ1ZjQ2NWY2MTU0Y2EyYTQ1Yi4uZTc1MGFiOTc2ODdk
M2Q5YmI1MWQ4ZGM0N2I0YmIyNzczMjIwMDc3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwCkBAIC0xNjMsNyArMTYzLDcgQEAgc3RhdGljIHZvaWQgbG9nQ29uc29sZUVycm9y
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbWVzc2EKICAg
ICAgICAgcmV0dXJuOwogICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBnb29kIHRvIHJlcG9ydCB0aGUg
YmFkIHVzYWdlIHdpdGhvdXQgaW5kaWNhdGluZyB3aGF0IHNvdXJjZSBsaW5lIGl0IGNhbWUgZnJv
bS4KICAgICAvLyBXZSBzaG91bGQgcGFzcyBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgc28gd2UgY2Fu
IHRlbGwgdGhlIGNvbnNvbGUgd2hlcmUgdGhlIG1pc3Rha2Ugb2NjdXJyZWQuCi0gICAgY29udGV4
dC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiBQYXNz
UmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5
T3JpZ2luKQpAQCAtNjkzLDcgKzY5Myw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNlbmQoRE9N
Rm9ybURhdGEqIGJvZHksIEV4Y2VwdGlvbkNvZGUmIGVjKQogdm9pZCBYTUxIdHRwUmVxdWVzdDo6
c2VuZChBcnJheUJ1ZmZlciogYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgU3RyaW5n
IGNvbnNvbGVNZXNzYWdlKCJBcnJheUJ1ZmZlciBpcyBkZXByZWNhdGVkIGluIFhNTEh0dHBSZXF1
ZXN0LnNlbmQoKS4gVXNlIEFycmF5QnVmZmVyVmlldyBpbnN0ZWFkLiIpOwotICAgIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICBIaXN0b2dyYW1T
dXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5YSFIuc2VuZC5BcnJheUJ1ZmZl
ck9yVmlldyIsIFhNTEh0dHBSZXF1ZXN0U2VuZEFycmF5QnVmZmVyLCBYTUxIdHRwUmVxdWVzdFNl
bmRBcnJheUJ1ZmZlck9yVmlld01heCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nl
c3NvckxpYnhzbHQuY3BwCmluZGV4IGE5MTI5ODhkYTYzOGNjZjg0MmU3YjE3YWY1ZTQzNDQ2ZThh
MzJkMjguLjBiMmZmMWJkMjNhMjU0ZGY4OThkZTIxN2U0ODkzMTJkYzIwZTlhMTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcApAQCAtMTAxLDcgKzEwMSw3
IEBAIHZvaWQgWFNMVFByb2Nlc3Nvcjo6cGFyc2VFcnJvckZ1bmModm9pZCogdXNlckRhdGEsIHht
bEVycm9yKiBlcnJvcikKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgY29uc29sZS0+YWRk
TWVzc2FnZShYTUxNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgbGV2ZWwsIGVycm9yLT5t
ZXNzYWdlLCBlcnJvci0+ZmlsZSwgZXJyb3ItPmxpbmUpOworICAgIGNvbnNvbGUtPmFkZE1lc3Nh
Z2UoWE1MTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIGVycm9yLT5tZXNzYWdlLCBlcnJvci0+ZmlsZSwg
ZXJyb3ItPmxpbmUpOwogfQogCiAvLyBGSVhNRTogVGhlcmUgc2VlbXMgdG8gYmUgbm8gd2F5IHRv
IGNvbnRyb2wgdGhlIGN0eHQgcG9pbnRlciBmb3IgbG9hZGluZyBoZXJlLCB0aHVzIHdlIGhhdmUg
Z2xvYmFscy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yUXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JRdC5jcHAKaW5kZXggMGM0MTQw
YThkNzllZGVmYTUwMjMzNWZlMDE4MzEyZjQ3NWYxNzBmNC4uNmJmM2YyNGM0MzQ3Y2MxOWZlNWY5
NjI2NzNkYzAwNzQzZmUzOTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQ
cm9jZXNzb3JRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JRdC5j
cHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBYU0xUTWVzc2FnZUhhbmRsZXI6OmhhbmRsZU1lc3Nh
Z2UoUXRNc2dUeXBlIHR5cGUsIGNvbnN0IFFTdHJpbmcmIGRlc2NyaXB0aW8KICAgICB9CiAKICAg
ICBDb25zb2xlKiBjb25zb2xlID0gbV9kb2N1bWVudC0+ZG9tV2luZG93KCktPmNvbnNvbGUoKTsK
LSAgICBjb25zb2xlLT5hZGRNZXNzYWdlKFhNTE1lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBl
LCBsZXZlbCwgZGVzY3JpcHRpb24sIHNvdXJjZUxvY2F0aW9uLnVyaSgpLnRvU3RyaW5nKCksIHNv
dXJjZUxvY2F0aW9uLmxpbmUoKSk7CisgICAgY29uc29sZS0+YWRkTWVzc2FnZShYTUxNZXNzYWdl
U291cmNlLCBsZXZlbCwgZGVzY3JpcHRpb24sIHNvdXJjZUxvY2F0aW9uLnVyaSgpLnRvU3RyaW5n
KCksIHNvdXJjZUxvY2F0aW9uLmxpbmUoKSk7CiB9CiAKIGNsYXNzIFhTTFRVcmlSZXNvbHZlciA6
IHB1YmxpYyBRQWJzdHJhY3RVcmlSZXNvbHZlciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tC
ZXJyeS5jcHAKaW5kZXggZTgyZTFiMmEyMjZkN2IzY2EyZjcwMDI1OThkZGFkMmM4OTVlNGRhNC4u
NDAzOTY5MjBiZGI4ZDZiZDA2OGRkZTNkZWI4OTg3MGMxNjA3NTEzZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVy
cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtODksNyArODksNyBAQCBDaHJvbWVDbGllbnRCbGFj
a0JlcnJ5OjpDaHJvbWVDbGllbnRCbGFja0JlcnJ5KFdlYlBhZ2VQcml2YXRlKiBwYWdlUHJpdmF0
ZSkKIHsKIH0KIAotdm9pZCBDaHJvbWVDbGllbnRCbGFja0JlcnJ5OjphZGRNZXNzYWdlVG9Db25z
b2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
SUQpCit2b2lkIENocm9tZUNsaWVudEJsYWNrQmVycnk6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVz
c2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVk
IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCiB7CiAjaWYgIWRlZmluZWQoUFVC
TElDX0JVSUxEKSB8fCAhUFVCTElDX0JVSUxECiAgICAgaWYgKG1fd2ViUGFnZVByaXZhdGUtPm1f
ZHVtcFJlbmRlclRyZWUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmggYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oCmluZGV4IGUx
MjlmNDU4NDIxOTZiYTVlNjUxYzVlMGQ4NTZmOWUyYWJiYmU4NWEuLmUxZDk5MzdmZDQyNjZmYzlh
MTJjNmVmMGE2YmE4Yzg0NGRmYjdlZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKKysrIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnku
aApAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE1lbnViYXJW
aXNpYmxlKGJvb2wpOwogICAgIHZpcnR1YWwgYm9vbCBtZW51YmFyVmlzaWJsZSgpOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3Nh
Z2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VJRCk7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpOwogICAgIHZpcnR1YWwgYm9vbCBjYW5S
dW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0cmluZyYsIEZyYW1lKik7CiAgICAgdmlydHVhbCB2
b2lkIGNsb3NlV2luZG93U29vbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViU2hhcmVkV29ya2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJTaGFyZWRXb3JrZXJDbGllbnQuaAppbmRleCAyNDBmZTc2ZTg2ZjE2NGJmMTMx
ZWI2YTViZjJjMjRlNDk0NjA0ZDFhLi5iNzVlYzdmYzFmYzY5ZGZmOGRlOTRmNzdmZWJkYTdkNTU0
MmNkNzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTaGFy
ZWRXb3JrZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJT
aGFyZWRXb3JrZXJDbGllbnQuaApAQCAtNTYsMTYgKzU2LDIzIEBAIHB1YmxpYzoKICAgICAgICAg
Y29uc3QgV2ViU3RyaW5nJiBlcnJvclN0cmluZywgaW50IGxpbmVOdW1iZXIsCiAgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgc291cmNlVVJMKSA9IDA7CiAKLSAgICAvLyBGSVhNRTogdGhlIGJlbG93
IGlzIGZvciBjb21wYXRpYmlsaXR5IG9ubHkgYW5kIHNob3VsZCBiZQotICAgIC8vIHJlbW92ZWQg
b25jZSBDaHJvbWl1bSBpcyB1cGRhdGVkIHRvIHJlbW92ZSBtZXNzYWdlCi0gICAgLy8gZGVzdGlu
YXRpb24gcGFyYW1ldGVyIDxodHRwOi8vd2Via2l0Lm9yZy9iLzM3MTU1Pi4KLSAgICB2aXJ0dWFs
IHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoaW50LCBpbnQgc291cmNlSWRl
bnRpZmllciwgaW50IG1lc3NhZ2VUeXBlLCBpbnQgbWVzc2FnZUxldmVsLAorICAgIC8vIEZJWE1F
OiB0aGUgdHdvIGJlbG93IGFyZSBmb3IgY29tcGF0aWJpbGl0eSBvbmx5IGFuZCBzaG91bGQgYmUg
cmVtb3ZlZAorICAgIC8vIG9uY2UgQ2hyb21pdW0gaXMgdXBkYXRlZCB0byByZW1vdmUgbWVzc2Fn
ZSBkZXN0aW5hdGlvbiBwYXJhbWV0ZXIKKyAgICAvLyA8aHR0cDovL3dlYmtpdC5vcmcvYi8zNzE1
NT4gYW5kIHRoZSBtZXNzYWdlIHR5cGUgcGFyYW1ldGVyCisgICAgLy8gPGh0dHA6Ly93ZWJraXQu
b3JnL2IvNjYzNzE+LgorICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtl
ck9iamVjdChpbnQsIGludCBzb3VyY2VJZGVudGlmaWVyLCBpbnQsIGludCBtZXNzYWdlTGV2ZWws
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFdlYlN0cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFdlYlN0cmluZyYgc291
cmNlVVJMKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2Vy
T2JqZWN0KGludCBzb3VyY2VJZGVudGlmaWVyLCBpbnQsIGludCBtZXNzYWdlTGV2ZWwsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0
cmluZyYgbWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFdlYlN0cmluZyYgc291cmNlVVJM
KQorICAgIHsKKyAgICAgICAgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoMCwgc291
cmNlSWRlbnRpZmllciwgMCwgbWVzc2FnZUxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOworICAgIH0K
IAotICAgIHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChpbnQg
c291cmNlSWRlbnRpZmllciwgaW50IG1lc3NhZ2VUeXBlLCBpbnQgbWVzc2FnZUxldmVsLAorICAg
IHZpcnR1YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChpbnQgc291cmNl
SWRlbnRpZmllciwgaW50IG1lc3NhZ2VMZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGlu
ZU51bWJlciwgY29uc3QgV2ViU3RyaW5nJiBzb3VyY2VVUkwpCiAgICAgewotICAgICAgICBwb3N0
Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCgwLCBzb3VyY2VJZGVudGlmaWVyLCBtZXNzYWdl
VHlwZSwgbWVzc2FnZUxldmVsLAorICAgICAgICBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9i
amVjdCgwLCBzb3VyY2VJZGVudGlmaWVyLCBtZXNzYWdlTGV2ZWwsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudElt
cGwuY3BwCmluZGV4IDU2ZTE3Zjc1NTQ3OWI1ZTdjZjliNDQ5MThjNTliZWZhMDY5MThhZDIuLjEw
N2M0NmE0ZjhlNWI4NzI4OWFjNzZmNzJjZGQxY2RlNGJhOGYzNmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCkBAIC0zOTIsNyArMzkyLDYg
QEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpzZXRSZXNpemFibGUoYm9vbCB2YWx1ZSkKIH0KIAog
dm9pZCBDaHJvbWVDbGllbnRJbXBsOjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3Nh
Z2VUeXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TWVzc2FnZUxldmVsIGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsaW5lTnVtYmVyLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmluZGV4IDc3MDg0ZjgwMTAyZjYyMzdiNjc4
MmRjOGI2MGZjYzJjZTI2Njk1MjAuLjA1NTlmZDM3N2M0YWM4Yzg2NjZhOTkwODg3MzQ5MWQxOWNj
NzJiNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVu
dEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmgKQEAgLTk3LDcgKzk3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBtZW51YmFyVmlz
aWJsZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7CiAgICAgdmlydHVh
bCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoCi0gICAgICAgIFdlYkNvcmU6Ok1lc3NhZ2VTb3Vy
Y2UsIFdlYkNvcmU6Ok1lc3NhZ2VUeXBlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsCisgICAgICAg
IFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwKICAgICAgICAg
Y29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsCiAgICAgICAg
IGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCk7CiAgICAgdmlydHVhbCBib29sIGNhblJ1bkJl
Zm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkZyYW1lSW1wbC5jcHAKaW5kZXggNWVlMTM2YThlNjIzMWNhNDdiOWYxMjBiNTQxNzYwNjVjY2M5
MDI0Ny4uZjk0M2Y1YjhmNGQwODAzM2EwY2VkYmVkZWJhZmU5MjBkZDc3ZDhiZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC04NDIsNyArODQyLDcg
QEAgdm9pZCBXZWJGcmFtZUltcGw6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoY29uc3QgV2ViQ29uc29s
ZU1lc3NhZ2UmIG1lc3NhZ2UpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBmcmFtZSgp
LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCB3ZWJDb3JlTWVzc2FnZUxldmVsLCBtZXNzYWdlLnRleHQpOworICAgIGZyYW1l
KCktPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgd2Vi
Q29yZU1lc3NhZ2VMZXZlbCwgbWVzc2FnZS50ZXh0KTsKIH0KIAogdm9pZCBXZWJGcmFtZUltcGw6
OmNvbGxlY3RHYXJiYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBhZ2VQb3B1cEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFn
ZVBvcHVwSW1wbC5jcHAKaW5kZXggNzQ5MjlhNmQwMzQ5ODE0OTU2MjI0NzU4YzA2NmQwOWExNWUw
MDZmMS4uZWNiZGEzNzk4Y2E4ZTA5YTRkN2RjZGYzNDU3NDViYTA5Nzc2MTU3ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAKQEAgLTg1LDcg
Kzg1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV9wb3B1cC0+d2lkZ2V0Q2xpZW50KCktPnNldFdp
bmRvd1JlY3QobV9wb3B1cC0+bV93aW5kb3dSZWN0SW5TY3JlZW4pOwogICAgIH0KIAotICAgIHZp
cnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBl
LCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmVO
dW1iZXIsIGNvbnN0IFN0cmluZyYpIE9WRVJSSURFCisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3Nh
Z2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYpIE9WRVJSSURFCiAgICAg
ewogI2lmbmRlZiBOREVCVUcKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDT05TT0xFIE1FU1NT
QUdFOiV1OiAlc1xuIiwgbGluZU51bWJlciwgbWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5jcHAKaW5k
ZXggMTE5ZDlhY2I2OTk0YmQ5NzZmMDRjNjYxOTI0MjQ5ODFmMjRkYmQzMy4uMzEwOWM3NWQzZmI0
YTdhODQxYWI0NmRlMzBkYzlmMWE2OGU1ZDk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5jcHAKQEAgLTIwMywzMCArMjAzLDI1IEBA
IHZvaWQgV2ViU2hhcmVkV29ya2VySW1wbDo6cG9zdEV4Y2VwdGlvblRhc2soU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwKIH0KIAogdm9pZCBXZWJTaGFyZWRXb3JrZXJJbXBsOjpwb3N0
Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJjZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVz
c2FnZVR5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTWVzc2FnZUxldmVsIGxldmVsLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBsaW5lTnVtYmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsK
LSAgICBXZWJXb3JrZXJCYXNlOjpkaXNwYXRjaFRhc2tUb01haW5UaHJlYWQoY3JlYXRlQ2FsbGJh
Y2tUYXNrKCZwb3N0Q29uc29sZU1lc3NhZ2VUYXNrLCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKHRo
aXMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2Us
IHR5cGUsIGxldmVsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsKKyAgICBXZWJXb3JrZXJCYXNlOjpk
aXNwYXRjaFRhc2tUb01haW5UaHJlYWQoY3JlYXRlQ2FsbGJhY2tUYXNrKCZwb3N0Q29uc29sZU1l
c3NhZ2VUYXNrLCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKHRoaXMpLCBzb3VyY2UsIGxldmVsLCBt
ZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpKTsKIH0KIAogdm9pZCBXZWJTaGFyZWRXb3Jr
ZXJJbXBsOjpwb3N0Q29uc29sZU1lc3NhZ2VUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
V2ViU2hhcmVkV29ya2VySW1wbCogdGhpc1B0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgc291cmNlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0eXBlLCBpbnQgbGV2ZWwsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxldmVsLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgbGluZU51bWJlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKICAgICBpZiAoIXRoaXNQ
dHItPmNsaWVudCgpKQogICAgICAgICByZXR1cm47Ci0gICAgdGhpc1B0ci0+Y2xpZW50KCktPnBv
c3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNvdXJjZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CisgICAgdGhpc1B0ci0+Y2xp
ZW50KCktPnBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KHNvdXJjZSwgbGV2ZWwsIG1l
c3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAKIHZvaWQgV2ViU2hhcmVkV29ya2Vy
SW1wbDo6cG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2hhcmVkV29ya2VySW1wbC5oCmlu
ZGV4IDQwNDE1OTJiNWNlYWE2ZTZhNWIxOWFjNjJiMGZkNjA2YTg1M2ZjNmUuLjQ5MTIxMWU1NGQ2
ZjNmMDRkZTllNzk0Y2UxODUyMDFkMzdmNWUyNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTaGFyZWRXb3JrZXJJbXBsLmgKQEAgLTc0LDggKzc0LDggQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoCiAgICAgICAg
IGNvbnN0IFdURjo6U3RyaW5nJiwgaW50LCBjb25zdCBXVEY6OlN0cmluZyYpOwogICAgIHZpcnR1
YWwgdm9pZCBwb3N0Q29uc29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdCgKLSAgICAgICAgV2ViQ29y
ZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUsCi0gICAgICAgIFdlYkNvcmU6
Ok1lc3NhZ2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmLCBpbnQsIGNvbnN0IFdURjo6U3RyaW5n
Jik7CisgICAgICAgIFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZl
bCwKKyAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmLCBpbnQsIGNvbnN0IFdURjo6U3RyaW5nJik7
CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNvbnN0IFdURjo6
U3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUluc3BlY3RvclN0YXRlQ29va2llKGNv
bnN0IFdURjo6U3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lkIGNvbmZpcm1NZXNzYWdlRnJvbVdv
cmtlck9iamVjdChib29sKTsKQEAgLTE0Niw3ICsxNDYsNiBAQCBwcml2YXRlOgogICAgICAgICBX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwKICAgICAgICAgV2ViU2hhcmVkV29ya2Vy
SW1wbCogdGhpc1B0ciwKICAgICAgICAgaW50IHNvdXJjZSwKLSAgICAgICAgaW50IHR5cGUsCiAg
ICAgICAgIGludCBsZXZlbCwKICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsCiAg
ICAgICAgIGludCBsaW5lTnVtYmVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcAppbmRleCAyYzBmYjlhYzgwOWEwOTY1OGQzNTRiMDM5
MjljMWIwYWJjMjA4ZjcwLi5jZjdlMGQyZjA5ZGMwYjk2OWZlNjNjNDZlMTBlMjMzZDQ2Njc0Mjlk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJ
bXBsLmNwcApAQCAtMTg3LDkgKzE4Nyw5IEBAIHZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6cG9z
dEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlCiAgICAg
bV9wcm94eS0+cG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGVycm9yTWVzc2FnZSwgbGluZU51
bWJlciwgc291cmNlVVJMKTsKIH0KIAotdm9pZCBXZWJXb3JrZXJDbGllbnRJbXBsOjpwb3N0Q29u
c29sZU1lc3NhZ2VUb1dvcmtlck9iamVjdChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5
cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBs
aW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQgV2ViV29ya2VyQ2xpZW50
SW1wbDo6cG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51
bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7Ci0gICAgbV9wcm94eS0+cG9zdENvbnNv
bGVNZXNzYWdlVG9Xb3JrZXJPYmplY3Qoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGlu
ZU51bWJlciwgc291cmNlVVJMKTsKKyAgICBtX3Byb3h5LT5wb3N0Q29uc29sZU1lc3NhZ2VUb1dv
cmtlck9iamVjdChzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
OwogfQogCiB2b2lkIFdlYldvcmtlckNsaWVudEltcGw6OndvcmtlckNvbnRleHREZXN0cm95ZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50
SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5o
CmluZGV4IGY2Nzc5MDgzYmRiZDNmNjU3NTViY2Q1MGE1MjZiZTJhMDE2MjRkYjguLjM4MWE0OTVi
YWY0ZjZhZjg0YTExNDIwY2M1NDVjMjRlMzAyMDNhODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmgKQEAgLTkyLDcgKzkyLDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyT2JqZWN0KFBhc3NSZWZQ
dHI8V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc093blB0cjxXZWJDb3JlOjpN
ZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0
RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBs
aW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgT1ZFUlJJREU7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoV2ViQ29yZTo6TWVzc2Fn
ZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwKKyAg
ICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoV2ViQ29yZTo6
TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGlu
dCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIGNvbmZpcm1NZXNzYWdlRnJvbVdvcmtlck9iamVjdChib29sKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0UGVuZGluZ0FjdGl2aXR5KGJvb2wpIE9WRVJSSURFOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHAKaW5kZXggMGZlMGZmYWI2NzdmOGEwODlmYzRjNTkwMjg3NzA1ZDM2NjZhZTJiYi4uNWVm
NWU2OGU3YWIwNWM2OTUwZDFlYTA4N2JjODc2MGZiNDNjMGY0ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCkBAIC0yNzMs
NyArMjczLDcgQEAgYm9vbCBDaHJvbWVDbGllbnRFZmw6OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1Q
YW5lbChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEZyYW1lKgogICAgIHJldHVybiBydW5KYXZhU2Ny
aXB0Q29uZmlybShmcmFtZSwgbWVzc2FnZSk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50RWZsOjph
ZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjphZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCiB7CiAgICAgZXdrX3Zp
ZXdfYWRkX2NvbnNvbGVfbWVzc2FnZShtX3ZpZXcsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSwgbGlu
ZU51bWJlciwgc291cmNlSUQudXRmOCgpLmRhdGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCmluZGV4IGFiMTA3NzhmYTk1Yjg5
MTM3MmIzOTZlNzdjY2MyOTE5MzhhODI4OGUuLmI5MmQyY2MwNmFlMjBmYTk4OWVjNTVjNTcyMzhi
MTEwZjczNTc4ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5oCkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2Fn
ZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsCisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxpbmVOdW1iZXIs
IGNvbnN0IFN0cmluZyYgc291cmNlSUQpOwogCiAgICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9y
ZVVubG9hZENvbmZpcm1QYW5lbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5kZXggNjE1MmY1MDgwYmZiZGVjOWNlNDQx
YzljMzkxNTAyYjIwMDE5OTk4NS4uNThmMWVkMWEyODJlZDU5YjQ0MTM0N2IzNGY2NjgwOTg0MjE0
NjgxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRHdGsuY3BwCkBAIC0zMjcsNyArMzI3LDcgQEAgYm9vbCBDaHJvbWVDbGllbnQ6OnJ1
bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgV2Vi
Q28KICAgICByZXR1cm4gcnVuSmF2YVNjcmlwdENvbmZpcm0oZnJhbWUsIG1lc3NhZ2UpOwogfQog
Ci12b2lkIENocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdl
U291cmNlIHNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUgdHlwZSwgV2ViQ29yZTo6TWVzc2Fn
ZUxldmVsIGxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxp
bmVOdW1iZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJZCkKK3ZvaWQgQ2hyb21lQ2xpZW50
OjphZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2Ugc291cmNlLCBXZWJD
b3JlOjpNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCB1bnNp
Z25lZCBsaW5lTnVtYmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSWQpCiB7CiAgICAgZ2Jv
b2xlYW4gcmV0dmFsOwogICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShtX3dlYlZpZXcsICJjb25z
b2xlLW1lc3NhZ2UiLCBtZXNzYWdlLnV0ZjgoKS5kYXRhKCksIGxpbmVOdW1iZXIsIHNvdXJjZUlk
LnV0ZjgoKS5kYXRhKCksICZyZXR2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRleCA0NGMyMTFhZDQ2Mjg3ZWZmZDc0MzA0
YzAyZGNjNmRiMzBmYWY2MDNjLi41YzkyZTA5ZDYzY2U5NTFmZGZjMWQ2NDU0ODZmMTYxYWFiMjRi
NjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuaApAQCAtODIsOSArODIsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpOwogCi0gICAgICAgIHZpcnR1YWwgdm9p
ZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0
eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlTGV2
ZWwgbGV2ZWwsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgV1RG
OjpTdHJpbmcmIHNvdXJjZUlEKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0Nv
bnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcmIHNvdXJjZUlEKTsK
IAogICAgICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3Qg
V1RGOjpTdHJpbmcmIG1lc3NhZ2UsIEZyYW1lKiBmcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDcwNzM0OWM1YmQ2
NTI1YTM1ODc3YWUyYWJmMmUzMGVmOGQ3Y2Y1YjEuLjBjMTk5OWE4M2Q2MmUzNWVmMDc4MmM1MDkz
ZTQxMjJhYTJiNGQxM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAgICAKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0UmVzaXphYmxlKGJvb2wpIE9WRVJSSURFOwogICAgIAotICAgIHZp
cnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdl
YkNvcmU6Ok1lc3NhZ2VUeXBlLCBXZWJDb3JlOjpNZXNzYWdlTGV2ZWwsIGNvbnN0IFdURjo6U3Ry
aW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJpbmcm
IHNvdXJjZVVSTCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNv
bGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBX
VEY6OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgV1RGOjpTdHJp
bmcmIHNvdXJjZVVSTCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9y
ZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6
RnJhbWUqKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCA4NjBhOTMzODZmYjNkYTg0ZGU5NWJkYzRlYjRm
NWVjNmUyZWQ3ZjdkLi42NDk4OTA1NWZmMmE0YWQ3ZDVkMmMxNzY0ODEzOGVlZTUwNDY3M2ViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCkBAIC05NywxNyArOTcsNiBAQCBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VOZXR3
b3JrTWVzc2FnZVNvdXJjZSA9IEAiTmV0d29ya01lc3NhZ2VTb3VyY2UiOwogTlNTdHJpbmcgKldl
YkNvbnNvbGVNZXNzYWdlQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UgPSBAIkNvbnNvbGVBUElNZXNz
YWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVyTWVzc2FnZVNvdXJj
ZSA9IEAiT3RoZXJNZXNzYWdlU291cmNlIjsKIAotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdl
TG9nTWVzc2FnZVR5cGUgPSBAIkxvZ01lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xl
TWVzc2FnZURpck1lc3NhZ2VUeXBlID0gQCJEaXJNZXNzYWdlVHlwZSI7Ci1OU1N0cmluZyAqV2Vi
Q29uc29sZU1lc3NhZ2VDbGVhck1lc3NhZ2VUeXBlID0gQCJDbGVhck1lc3NhZ2VUeXBlIjsKLU5T
U3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZURpclhNTE1lc3NhZ2VUeXBlID0gQCJEaXJYTUxNZXNz
YWdlVHlwZSI7Ci1OU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VUcmFjZU1lc3NhZ2VUeXBlID0g
QCJUcmFjZU1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVN0YXJ0R3Jv
dXBNZXNzYWdlVHlwZSA9IEAiU3RhcnRHcm91cE1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJD
b25zb2xlTWVzc2FnZVN0YXJ0R3JvdXBDb2xsYXBzZWRNZXNzYWdlVHlwZSA9IEAiU3RhcnRHcm91
cENvbGxhcHNlZE1lc3NhZ2VUeXBlIjsKLU5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUVuZEdy
b3VwTWVzc2FnZVR5cGUgPSBAIkVuZEdyb3VwTWVzc2FnZVR5cGUiOwotTlNTdHJpbmcgKldlYkNv
bnNvbGVNZXNzYWdlQXNzZXJ0TWVzc2FnZVR5cGUgPSBAIkFzc2VydE1lc3NhZ2VUeXBlIjsKLU5T
U3RyaW5nKiBXZWJDb25zb2xlTWVzc2FnZVRpbWluZ01lc3NhZ2VUeXBlID0gQCJUaW1pbmdNZXNz
YWdlVHlwZSI7Ci0KIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVRpcE1lc3NhZ2VMZXZlbCA9
IEAiVGlwTWVzc2FnZUxldmVsIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUxvZ01lc3Nh
Z2VMZXZlbCA9IEAiTG9nTWVzc2FnZUxldmVsIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2Fn
ZVdhcm5pbmdNZXNzYWdlTGV2ZWwgPSBAIldhcm5pbmdNZXNzYWdlTGV2ZWwiOwpAQCAtMzU3LDM0
ICszNDYsNiBAQCBpbmxpbmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlU291cmNl
KE1lc3NhZ2VTb3VyY2Ugc291cmNlKQogICAgIHJldHVybiBAIiI7CiB9CiAKLWlubGluZSBzdGF0
aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VUeXBlKE1lc3NhZ2VUeXBlIHR5cGUpCi17Ci0g
ICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBMb2dNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0
dXJuIFdlYkNvbnNvbGVNZXNzYWdlTG9nTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBDbGVhck1lc3Nh
Z2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VDbGVhck1lc3NhZ2VUeXBl
OwotICAgIGNhc2UgRGlyTWVzc2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVz
c2FnZURpck1lc3NhZ2VUeXBlOwotICAgIGNhc2UgRGlyWE1MTWVzc2FnZVR5cGU6Ci0gICAgICAg
IHJldHVybiBXZWJDb25zb2xlTWVzc2FnZURpclhNTE1lc3NhZ2VUeXBlOwotICAgIGNhc2UgVHJh
Y2VNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlVHJhY2VNZXNz
YWdlVHlwZTsKLSAgICBjYXNlIFN0YXJ0R3JvdXBNZXNzYWdlVHlwZToKLSAgICAgICAgcmV0dXJu
IFdlYkNvbnNvbGVNZXNzYWdlU3RhcnRHcm91cE1lc3NhZ2VUeXBlOwotICAgIGNhc2UgU3RhcnRH
cm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3Nh
Z2VTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGU7Ci0gICAgY2FzZSBFbmRHcm91cE1lc3Nh
Z2VUeXBlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VFbmRHcm91cE1lc3NhZ2VU
eXBlOwotICAgIGNhc2UgQXNzZXJ0TWVzc2FnZVR5cGU6Ci0gICAgICAgIHJldHVybiBXZWJDb25z
b2xlTWVzc2FnZUFzc2VydE1lc3NhZ2VUeXBlOwotICAgIGNhc2UgVGltaW5nTWVzc2FnZVR5cGU6
Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVRpbWluZ01lc3NhZ2VUeXBlOwotICAg
IH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gQCIiOwotfQotCiBpbmxp
bmUgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlTGV2ZWwoTWVzc2FnZUxldmVsIGxl
dmVsKQogewogICAgIHN3aXRjaCAobGV2ZWwpIHsKQEAgLTQwMyw3ICszNjQsNyBAQCBpbmxpbmUg
c3RhdGljIE5TU3RyaW5nICpzdHJpbmdGb3JNZXNzYWdlTGV2ZWwoTWVzc2FnZUxldmVsIGxldmVs
KQogICAgIHJldHVybiBAIiI7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdl
VG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdl
TGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmVOdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwpCiB7CiAgICAgaWQgZGVsZWdhdGUgPSBbbV93ZWJWaWV3IFVJRGVsZWdh
dGVdOwogICAgIEJPT0wgcmVzcG9uZHNUb05ld1NlbGVjdG9yID0gTk87CkBAIC00MjYsNyArMzg3
LDYgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNv
dXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhVbnNpZ25lZEludDpsaW5lTnVtYmVyXSwgQCJsaW5lTnVtYmVyIiwKICAgICAgICAgKE5TU3Ry
aW5nICopc291cmNlVVJMLCBAInNvdXJjZVVSTCIsCiAgICAgICAgIG1lc3NhZ2VTb3VyY2UsIEAi
TWVzc2FnZVNvdXJjZSIsCi0gICAgICAgIHN0cmluZ0Zvck1lc3NhZ2VUeXBlKHR5cGUpLCBAIk1l
c3NhZ2VUeXBlIiwKICAgICAgICAgc3RyaW5nRm9yTWVzc2FnZUxldmVsKGxldmVsKSwgQCJNZXNz
YWdlTGV2ZWwiLAogICAgICAgICBOVUxMXTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IGJiNTM0YTI0MTRmMmQ5MDVhMTE3ZmI1
YWRlYjQ2ZDE1YTJmODg5MjMuLjNmMjQwZWE1M2VkN2ZkYTAwYjgwOWZlMjA1ZGQ0MmE0NjBjYmZl
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVBy
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2
YXRlLmgKQEAgLTExMSwxNiArMTExLDYgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVz
c2FnZU5ldHdvcmtNZXNzYWdlU291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVz
c2FnZUNvbnNvbGVBUElNZXNzYWdlU291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xl
TWVzc2FnZU90aGVyTWVzc2FnZVNvdXJjZTsKIAotLy8gTWVzc2FnZSBUeXBlcy4KLWV4dGVybiBO
U1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VMb2dNZXNzYWdlVHlwZTsKLWV4dGVybiBOU1N0cmlu
ZyAqV2ViQ29uc29sZU1lc3NhZ2VEaXJNZXNzYWdlVHlwZTsKLWV4dGVybiBOU1N0cmluZyAqV2Vi
Q29uc29sZU1lc3NhZ2VEaXJYTUxNZXNzYWdlVHlwZTsKLWV4dGVybiBOU1N0cmluZyAqV2ViQ29u
c29sZU1lc3NhZ2VUcmFjZU1lc3NhZ2VUeXBlOwotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xl
TWVzc2FnZVN0YXJ0R3JvdXBNZXNzYWdlVHlwZTsKLWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29s
ZU1lc3NhZ2VTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGU7Ci1leHRlcm4gTlNTdHJpbmcg
KldlYkNvbnNvbGVNZXNzYWdlRW5kR3JvdXBNZXNzYWdlVHlwZTsKLWV4dGVybiBOU1N0cmluZyAq
V2ViQ29uc29sZU1lc3NhZ2VBc3NlcnRNZXNzYWdlVHlwZTsKLQogLy8gTWVzc2FnZSBMZXZlbHMu
CiBleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlVGlwTWVzc2FnZUxldmVsOwogZXh0
ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUxvZ01lc3NhZ2VMZXZlbDsKQEAgLTE2OSwx
MSArMTU5LDYgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZURlYnVnTWVzc2Fn
ZUxldmVsOwogICAgICAgICAgICAgV2hlcmUgdGhlIG1lc3NhZ2UgY2FtZSBmcm9tLiBIVE1MLCBY
TUwsIEphdmFTY3JpcHQsIENTUywgZXRjLgogICAgICAgICAgICAgU2VlIFdlYkNvbnNvbGVNZXNz
YWdlSFRNTE1lc3NhZ2VTb3VyY2UgYW5kIHNpbWlsYXIgY29uc3RhbnRzLgogICAgICAgICA8L2Rk
PgotICAgICAgICA8ZHQ+TWVzc2FnZVR5cGU8L2R0PgotICAgICAgICA8ZGQ+Ci0gICAgICAgICAg
ICBDbGFzcyBvZiBtZXNzYWdlLiBTdGFydCAvIEVuZCBvZiBhIEdyb3VwLCBhIExvZywgTmV0d29y
ayByZWxhdGVkLCBldGMuCi0gICAgICAgICAgICBTZWUgV2ViQ29uc29sZU1lc3NhZ2VMb2dNZXNz
YWdlVHlwZSBhbmQgc2ltaWxhciBjb25zdGFudHMuCi0gICAgICAgIDwvZGQ+CiAgICAgICAgIDxk
dD5NZXNzYWdlTGV2ZWw8L2R0PgogICAgICAgICA8ZGQ+CiAgICAgICAgICAgICBTZXZlcml0eSBs
ZXZlbCBvZiB0aGUgbWVzc2FnZS4gVGlwLCBMb2csIFdhcm5pbmcsIGV0Yy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKaW5kZXggNzFi
NDVkNmRkZDcyZTEzYWU0NDk5MWM1ZmNjZjU5OWI1ZDIyYWQzNi4uZDE1NGQ0MmQ2MTJiYTAzZWNk
ZjdhOTg0MTBlNzk0MDZkMTdkMmMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKQEAgLTMwNyw3ICszMDcsNyBAQCB2b2lkIENo
cm9tZUNsaWVudFF0OjpzZXRSZXNpemFibGUoYm9vbCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwog
fQogCi12b2lkIENocm9tZUNsaWVudFF0OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5z
aWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKK3ZvaWQgQ2hyb21lQ2xp
ZW50UXQ6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYg
c291cmNlSUQpCiB7CiAgICAgUVN0cmluZyB4ID0gbWVzc2FnZTsKICAgICBRU3RyaW5nIHkgPSBz
b3VyY2VJRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50UXQuaAppbmRleCAxMjJiNDA4ZmI1NzQ4YmNiOWMwNzQ4NGQ2NmY3NDVjOWQ0YTMxNGVlLi5k
NzNjYjQwOTQ5ZjA0ZmI1OTBhYmM0NmZiMTA2MTIxNjEyNmRmYmQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKKysrIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCkBAIC0xMDEsNyArMTAx
LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldFJlc2l6YWJsZShib29sKTsKIAot
ICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGlu
ZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCk7CisgICAgdmlydHVhbCB2b2lkIGFkZE1l
c3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpOwog
CiAgICAgdmlydHVhbCBib29sIGNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCgpOwogICAg
IHZpcnR1YWwgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBGcmFtZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNjhiZGRlZjAzNDE4NGI1ZDQwMWQ1Y2QwZjc0
YTU2MjFmNjRiNjllMi4uZDhiMmYwNmVkZjhiY2U1NmNkMzY3OGY1NzQ3M2U4MDBjNWQ0MjgwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCkBAIC0zMzQsNyArMzM0LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNldFJl
c2l6YWJsZShib29sIHJlc2l6YWJsZSkKICAgICB9CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50
OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0
eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQg
bGluZSwgY29uc3QgU3RyaW5nJiB1cmwpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2Fn
ZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmUsIGNvbnN0IFN0cmluZyYgdXJsKQogewog
ICAgIENPTVB0cjxJV2ViVUlEZWxlZ2F0ZT4gdWlEZWxlZ2F0ZTsKICAgICBpZiAoU1VDQ0VFREVE
KG1fd2ViVmlldy0+dWlEZWxlZ2F0ZSgmdWlEZWxlZ2F0ZSkpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDlhZWM3MzQ2
ZjAyNTlmZWYwODVkYWE3YTY3NWNlMzhkZTVhN2Q0MzYuLmU0NzcyZmZiNWMzNTUzZjhhOTJhZGEw
MDVkMGUzN2M5YzU4YjIyYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC03OCw3ICs3OCw3IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRk
TWVzc2FnZVRvQ29uc29sZShXZWJDb3JlOjpNZXNzYWdlU291cmNlIHNvdXJjZSwgV2ViQ29yZTo6
TWVzc2FnZVR5cGUgdHlwZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBXVEY6
OlN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZSwgY29uc3QgV1RGOjpTdHJpbmcmIHVybCk7
CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNv
dXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwg
dW5zaWduZWQgbGluZSwgY29uc3QgV1RGOjpTdHJpbmcmIHVybCk7CiAKICAgICB2aXJ0dWFsIGJv
b2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmlydHVhbCBib29sIHJ1
bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgV2Vi
Q29yZTo6RnJhbWUqIGZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwIGIvU291cmNlL1dlYktpdC93aW5jZS9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKaW5kZXggZGU2YmY3MTkwZmIwMjM5
YjQwMTc4ZmE0ZGU4YmVkY2Y0MDg1YmU0MS4uODQ0MzM5MmJjOTNiY2Y3N2ZlMWE0Y2ZmMDVlYmE5
MmVmMTg2ODMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKQEAgLTE4NCw3ICsxODQsNyBAQCBib29sIENo
cm9tZUNsaWVudFdpbkNFOjpydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBGcmFtZQogICAgIHJldHVybiBydW5KYXZhU2NyaXB0Q29uZmlybShmcmFtZSwg
bWVzc2FnZSk7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50V2luQ0U6OmFkZE1lc3NhZ2VUb0NvbnNv
bGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiwgdW5zaWduZWQgaW50LCBjb25zdCBTdHJpbmcmKQordm9pZCBDaHJvbWVDbGllbnRXaW5DRTo6
YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0
cmluZyYsIHVuc2lnbmVkLCBjb25zdCBTdHJpbmcmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFdpbkNFLmgKaW5kZXggOTZjZWExYTYyYWJkOTg1ZmExMjIwYmNiN2Y0ZDc5ZWM5Njk4
NzEzZi4uNTEyNmE1MDI4NDAxMDc4ZmM2MWNmZTM1NjMyMjZmNWEyODNlMDIwYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2lu
Q0UuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVz
aXphYmxlKGJvb2wpOwogCi0gICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2Vi
Q29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVzc2FnZVR5cGUsIFdlYkNvcmU6Ok1lc3Nh
Z2VMZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVt
YmVyLCBjb25zdCBXVEY6OlN0cmluZyYgc291cmNlSUQpOworICAgIHZpcnR1YWwgdm9pZCBhZGRN
ZXNzYWdlVG9Db25zb2xlKFdlYkNvcmU6Ok1lc3NhZ2VTb3VyY2UsIFdlYkNvcmU6Ok1lc3NhZ2VM
ZXZlbCwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNv
bnN0IFdURjo6U3RyaW5nJiBzb3VyY2VJRCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuUnVuQmVm
b3JlVW5sb2FkQ29uZmlybVBhbmVsKCk7CiAgICAgdmlydHVhbCBib29sIHJ1bkJlZm9yZVVubG9h
ZENvbmZpcm1QYW5lbChjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUq
IGZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJv
bWVDbGllbnRXeC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xp
ZW50V3guY3BwCmluZGV4IDVmMTE2N2I1NDdjZDYxYTZmMDVhYzI4ZjE3YjNhY2RlNzZkMTZmNGMu
LjY5MWRhODViZmRiMzAyYWE0OGIwMzZiYjU4YzJkMGU5MmY4MjZkODkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcApAQCAtMjI3LDEw
ICsyMjcsOSBAQCB2b2lkIENocm9tZUNsaWVudFd4OjpzZXRSZXNpemFibGUoYm9vbCkKIH0KIAog
dm9pZCBDaHJvbWVDbGllbnRXeDo6YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNv
dXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VU
eXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXNz
YWdlTGV2ZWwgbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGluZU51bWJlciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxpbmVOdW1iZXIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIHNvdXJjZUlEKQogewog
ICAgIGlmIChtX3dlYlZpZXcpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0
U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0Nocm9tZUNsaWVudFd4LmgKaW5kZXggNTA1NDBmMDk0M2U5ZDY5NjNmMTk1NGMxMWU2MmNjY2E3
ZjlkOGE1OC4uYjMxYThiZjVkZjg4OWM5Yzg3Yjc2NjYxYWNiNDY5NmUwNGI4YzU5YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKKysr
IGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKQEAgLTgx
LDcgKzgxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRSZXNpemFibGUoYm9vbCk7
CiAKICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNv
dXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlVHlwZSB0
eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VMZXZlbCBs
ZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50IGxpbmVOdW1iZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggYmEzNTczNjNhMDY4
ODNhNTllZThlMWZmYThmOTIxNDE1MjAzMmNiOC4uNzk1YWVjNzAxNmNkZWYwNDg3MDk1NWZhOGU5
YTIxMDljZWYwZmQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMjY4LDcgKzI2OCw3
IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRSZXNpemFibGUoYm9vbCByZXNpemFibGUpCiAg
ICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldElzUmVzaXphYmxlKHJl
c2l6YWJsZSkpOwogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6YWRkTWVzc2FnZVRvQ29uc29s
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIC8qc291cmNl
SUQqLykKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjphZGRNZXNzYWdlVG9Db25zb2xlKE1lc3NhZ2VT
b3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCBjb25zdCBTdHJpbmcmIC8qc291cmNlSUQqLykKIHsKICAgICAvLyBOb3RpZnkgdGhl
IGJ1bmRsZSBjbGllbnQuCiAgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZVVJQ2xpZW50KCkud2ls
bEFkZE1lc3NhZ2VUb0NvbnNvbGUobV9wYWdlLCBtZXNzYWdlLCBsaW5lTnVtYmVyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCmluZGV4IGE0ODFjOGY1YzNjZjE0NDQzNDAyNzYyN2FmYzg0ZTMwY2I3Y2Qw
NTQuLmIxOWI1ZmVmYWM0YTgxOTVjZjQ3YmY5NDcwY2VhNzM3ODcyY2FjMDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaApAQCAtOTEsNyArOTEsNyBAQCBwcml2YXRlOgogICAgIAogICAgIHZpcnR1YWwg
dm9pZCBzZXRSZXNpemFibGUoYm9vbCkgT1ZFUlJJREU7CiAgICAgCi0gICAgdmlydHVhbCB2b2lk
IGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNvdXJjZSwgV2ViQ29yZTo6TWVz
c2FnZVR5cGUsIFdlYkNvcmU6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1
bnNpZ25lZCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkgT1ZFUlJJREU7
CisgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoV2ViQ29yZTo6TWVzc2FnZVNv
dXJjZSwgV2ViQ29yZTo6TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2ln
bmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpIE9WRVJSSURFOwogICAgIAog
ICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIGJvb2wgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RnJhbWUqKSBPVkVSUklERTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>