<?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>68134</bug_id>
          
          <creation_ts>2011-09-14 17:22:28 -0700</creation_ts>
          <short_desc>Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms</short_desc>
          <delta_ts>2011-10-11 21:47:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>66504</blocked>
    
    <blocked>67217</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bdakin</cc>
    
    <cc>bpwv64</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>levin</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>mdwajahatali.siddiqui</cc>
    
    <cc>mihaip</cc>
    
    <cc>mitz</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>sail</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>467486</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-14 17:22:28 -0700</bug_when>
    <thetext>We should use a custom scrollbar theme in DRT to reduce pixel differences between platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467487</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-14 17:22:46 -0700</bug_when>
    <thetext>Taking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467494</commentid>
    <comment_count>2</comment_count>
      <attachid>107427</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-14 17:39:34 -0700</bug_when>
    <thetext>Created attachment 107427
Add ScrollbarThemeMock</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467511</commentid>
    <comment_count>3</comment_count>
      <attachid>107433</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-14 18:14:32 -0700</bug_when>
    <thetext>Created attachment 107433
Plumb through a setting for mock scrollbars</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467514</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-09-14 18:16:56 -0700</bug_when>
    <thetext>I&apos;m very interested in this idea.  In chromium today we use a custom scrollbar theme on windows because there are so many variations across different windows versions / themes  We also spent a ton of effort getting scrollbars to render identically to the Mac port&apos;s on Snow Leopard to share pixel results.

Is the idea to use this in all layout tests, or to have some layout tests to test the actual native theming code for scrollbars and to use this for the rest?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467517</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-14 18:20:40 -0700</bug_when>
    <thetext>The idea is to use it for all layout tests. If we find that there are tests that are testing native scrollbar behaviors, then we&apos;ll add a way to go back to to native scrollbars for that test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467520</commentid>
    <comment_count>6</comment_count>
      <attachid>107427</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-09-14 18:29:12 -0700</bug_when>
    <thetext>Comment on attachment 107427
Add ScrollbarThemeMock

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

&gt; Source/WebCore/platform/mac/ScrollbarThemeMac.mm:116
&gt; +    if (1) {
&gt; +        DEFINE_STATIC_LOCAL(ScrollbarThemeMock, theme, ());
&gt; +        return &amp;theme;
&gt; +    }

This seems like a debugging thing - did you intend to check it in?  Won&apos;t this cause the actual mac scrollbar theming code to not be used?

&gt; Source/WebCore/platform/mock/ScrollbarThemeMock.cpp:31
&gt; +using namespace std;

this doesn&apos;t appear to be used</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467521</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-09-14 18:29:59 -0700</bug_when>
    <thetext>The second patch seems very mac-specific, so I won&apos;t attempt to review it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467525</commentid>
    <comment_count>8</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-09-14 18:34:29 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; The idea is to use it for all layout tests. If we find that there are tests that are testing native scrollbar behaviors, then we&apos;ll add a way to go back to to native scrollbars for that test.

OK.  That seems like a sound plan from the chromium side as well, although I think we may want to have a few tests to hit the native theme code as well just to make sure that logic is working as expected.  There are also some native theming capabilities (such as opacity) that are probably worth testing specifically.  I think these are a special case, however, and most tests should be using a mock scrollbar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467658</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-14 23:30:12 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 107427 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=107427&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mac/ScrollbarThemeMac.mm:116
&gt; &gt; +    if (1) {
&gt; &gt; +        DEFINE_STATIC_LOCAL(ScrollbarThemeMock, theme, ());
&gt; &gt; +        return &amp;theme;
&gt; &gt; +    }
&gt; 
&gt; This seems like a debugging thing - did you intend to check it in?  Won&apos;t this cause the actual mac scrollbar theming code to not be used?

Oops, that was not supposed to be included. A later patch will enable the mock scrollbars based on a Setting.

&gt; 
&gt; &gt; Source/WebCore/platform/mock/ScrollbarThemeMock.cpp:31
&gt; &gt; +using namespace std;
&gt; 
&gt; this doesn&apos;t appear to be used

Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467961</commentid>
    <comment_count>10</comment_count>
      <attachid>107427</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-09-15 11:49:33 -0700</bug_when>
    <thetext>Comment on attachment 107427
Add ScrollbarThemeMock

OK, then R=me assuming the plan is to not land the changes to ScrollbarTheme::nativeTheme() and remove the using namespace std; declaration from ScrollbarThemeMock.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468171</commentid>
    <comment_count>11</comment_count>
      <attachid>107427</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-15 17:17:43 -0700</bug_when>
    <thetext>Comment on attachment 107427
Add ScrollbarThemeMock

http://trac.webkit.org/changeset/95245</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468206</commentid>
    <comment_count>12</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-09-15 18:15:53 -0700</bug_when>
    <thetext>This is so cool!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468359</commentid>
    <comment_count>13</comment_count>
    <who name="Deepak Sherveghar">bpwv64</who>
    <bug_when>2011-09-16 00:19:08 -0700</bug_when>
    <thetext>&gt;Source/WebCore/GNUmakefile.list.am
&gt;@@webcore_sources += \
&gt;Source/WebCore/platform/mock/GeolocationClientMock.h \
&gt;Source/WebCore/platform/mock/GeolocationServiceMock.cpp \
&gt;Source/WebCore/platform/mock/GeolocationServiceMock.h \
&gt;Source/WebCore/platform/mock/ScrollbarThemeMock.cpp \
&gt;Source/WebCore/platform/mock/ScrollbarThemeMock.cpp \
&gt;Source/WebCore/platform/mock/SpeechInputClientMock.cpp \
&gt;Source/WebCore/platform/mock/SpeechInputClientMock.h \
&gt;Source/WebCore/platform/network/AuthenticationChallengeBase.cpp \

I just updated my Webkit code and my linker complains about multiple definitions in ScrollbarThemeMock.
Error:
=====
usr/bin/ld: error: ./.libs/libWebCore.a(lt1-libWebCore_la-ScrollbarThemeMock.o): multiple definition of &apos;WebCore::ScrollbarThemeMock::trackRect(WebCore::Scrollbar*, bool)&apos;
/usr/bin/ld: ./.libs/libWebCore.a(libWebCore_la-ScrollbarThemeMock.o): previous definition here


ScrollbarThemeMock.cpp is included twice in Source/WebCore/GNUmakefile.list.am. Instead, one of them should be a header file Source/WebCore/platform/mock/ScrollbarThemeMock.h. Otherwise linker&apos;s will complain of multiple definition in gtk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468377</commentid>
    <comment_count>14</comment_count>
    <who name="Wajahat Siddiqui">mdwajahatali.siddiqui</who>
    <bug_when>2011-09-16 01:16:26 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt;Source/WebCore/GNUmakefile.list.am
&gt; &gt;@@webcore_sources += \
&gt; &gt;Source/WebCore/platform/mock/GeolocationClientMock.h \
&gt; &gt;Source/WebCore/platform/mock/GeolocationServiceMock.cpp \
&gt; &gt;Source/WebCore/platform/mock/GeolocationServiceMock.h \
&gt; &gt;Source/WebCore/platform/mock/ScrollbarThemeMock.cpp \
&gt; &gt;Source/WebCore/platform/mock/ScrollbarThemeMock.cpp \
&gt; &gt;Source/WebCore/platform/mock/SpeechInputClientMock.cpp \
&gt; &gt;Source/WebCore/platform/mock/SpeechInputClientMock.h \
&gt; &gt;Source/WebCore/platform/network/AuthenticationChallengeBase.cpp \
&gt; 
&gt; I just updated my Webkit code and my linker complains about multiple definitions in ScrollbarThemeMock.
&gt; Error:
&gt; =====
&gt; usr/bin/ld: error: ./.libs/libWebCore.a(lt1-libWebCore_la-ScrollbarThemeMock.o): multiple definition of &apos;WebCore::ScrollbarThemeMock::trackRect(WebCore::Scrollbar*, bool)&apos;
&gt; /usr/bin/ld: ./.libs/libWebCore.a(libWebCore_la-ScrollbarThemeMock.o): previous definition here
&gt; 
&gt; 
&gt; ScrollbarThemeMock.cpp is included twice in Source/WebCore/GNUmakefile.list.am. Instead, one of them should be a header file Source/WebCore/platform/mock/ScrollbarThemeMock.h. Otherwise linker&apos;s will complain of multiple definition in gtk.


Added Patch that fixes this error in https://bugs.webkit.org/show_bug.cgi?id=68229</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468683</commentid>
    <comment_count>15</comment_count>
      <attachid>107695</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-16 11:56:59 -0700</bug_when>
    <thetext>Created attachment 107695
Add a setting to enable mock scrollbars</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468794</commentid>
    <comment_count>16</comment_count>
      <attachid>107695</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-09-16 13:50:54 -0700</bug_when>
    <thetext>Comment on attachment 107695
Add a setting to enable mock scrollbars

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

&gt; Source/WebCore/page/Settings.h:474
&gt; +        static void setMockScrollbarsEnabled(bool flag);
&gt; +        static bool mockScrollbarsEnabled();

I would move the Safari theming static functions near here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468800</commentid>
    <comment_count>17</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-16 14:03:06 -0700</bug_when>
    <thetext>Sadly we can&apos;t have custom scrollbars on the main frame in WK1, so at some point we may have to declare that all pixel testing needs to be done in WK2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468929</commentid>
    <comment_count>18</comment_count>
      <attachid>107752</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-16 17:35:25 -0700</bug_when>
    <thetext>Created attachment 107752
Use the mock theme when the setting is set</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468960</commentid>
    <comment_count>19</comment_count>
      <attachid>107752</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-16 18:15:06 -0700</bug_when>
    <thetext>Comment on attachment 107752
Use the mock theme when the setting is set

Attachment 107752 did not pass cr-mac-ews (chromium):
Output: http://queues.webkit.org/results/9723334</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468961</commentid>
    <comment_count>20</comment_count>
      <attachid>107695</attachid>
    <who name="">mitz</who>
    <bug_when>2011-09-16 18:17:00 -0700</bug_when>
    <thetext>Comment on attachment 107695
Add a setting to enable mock scrollbars

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

&gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:224
&gt; +// This is a global setting.
&gt; +- (BOOL)mockScrollbarsEnabled;
&gt; +- (void)setMockScrollbarsEnabled:(BOOL)flag;

It seems wrong to represent a global setting by a WebPreferences instance method. This would be better served by a class method on WebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468964</commentid>
    <comment_count>21</comment_count>
      <attachid>107695</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-16 18:18:05 -0700</bug_when>
    <thetext>Comment on attachment 107695
Add a setting to enable mock scrollbars

http://trac.webkit.org/changeset/95347</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468966</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-16 18:19:38 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 107695 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=107695&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:224
&gt; &gt; +// This is a global setting.
&gt; &gt; +- (BOOL)mockScrollbarsEnabled;
&gt; &gt; +- (void)setMockScrollbarsEnabled:(BOOL)flag;
&gt; 
&gt; It seems wrong to represent a global setting by a WebPreferences instance method. This would be better served by a class method on WebView.

True, although there&apos;s precedent for this (poor) technique.

Do we follow a similar pattern in WK2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468967</commentid>
    <comment_count>23</comment_count>
      <attachid>107752</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-09-16 18:19:39 -0700</bug_when>
    <thetext>Comment on attachment 107752
Use the mock theme when the setting is set

Attachment 107752 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/9729188</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468970</commentid>
    <comment_count>24</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-16 18:24:01 -0700</bug_when>
    <thetext>&gt; It seems wrong to represent a global setting by a WebPreferences instance method. This would be better served by a class method on WebView.

I filed bug 68300.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469072</commentid>
    <comment_count>25</comment_count>
      <attachid>107752</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-17 07:57:39 -0700</bug_when>
    <thetext>Comment on attachment 107752
Use the mock theme when the setting is set

Attachment 107752 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9734279</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482004</commentid>
    <comment_count>26</comment_count>
      <attachid>110599</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-11 16:18:33 -0700</bug_when>
    <thetext>Created attachment 110599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482027</commentid>
    <comment_count>27</comment_count>
      <attachid>110599</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-11 16:44:37 -0700</bug_when>
    <thetext>Comment on attachment 110599
Patch

Attachment 110599 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10029666</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482040</commentid>
    <comment_count>28</comment_count>
      <attachid>110607</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-11 16:51:04 -0700</bug_when>
    <thetext>Created attachment 110607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482061</commentid>
    <comment_count>29</comment_count>
      <attachid>110607</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-11 17:12:30 -0700</bug_when>
    <thetext>Comment on attachment 110607
Patch

Seems a little strange that these functions return a pointer to a theme rather than a reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482197</commentid>
    <comment_count>30</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-11 21:40:56 -0700</bug_when>
    <thetext>This patch appears to have broken SL build: http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20%28Build%29/builds/34679/steps/compile-webkit/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482200</commentid>
    <comment_count>31</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-11 21:47:03 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/97227

(In reply to comment #30)
&gt; This patch appears to have broken SL build: http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20%28Build%29/builds/34679/steps/compile-webkit/logs/stdio
Fixed in http://trac.webkit.org/changeset/97229</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107427</attachid>
            <date>2011-09-14 17:39:34 -0700</date>
            <delta_ts>2011-09-15 17:17:43 -0700</delta_ts>
            <desc>Add ScrollbarThemeMock</desc>
            <filename>bug-68134-20110914173933.patch</filename>
            <type>text/plain</type>
            <size>17476</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUxMzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNTU4NWRj
MTgwNWI4OTY2NjJiZThlNDAyM2Y1OTZjODJiNjJkZTA3NS4uYzc1MGIxMjkyYTdkZWYxY2FhZTIw
YThiYmJkMmNlYzdjYjhiYmQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExMjMsNiArMTEy
Myw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jay5jcHAKICAgICBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50
TW9jay5jcHAKICAgICBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uU2VydmljZU1vY2suY3BwCisg
ICAgcGxhdGZvcm0vbW9jay9TY3JvbGxiYXJUaGVtZU1vY2suY3BwCiAKICAgICBwbGF0Zm9ybS9u
ZXR3b3JrL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQmFzZS5jcHAKICAgICBwbGF0Zm9ybS9uZXR3
b3JrL0Jsb2JEYXRhLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0c0Vm
bC50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzRWZsLnR4dAppbmRleCAwNTRiNGYwMjAy
NGFkN2IxMmM2YTg1MWIwOWMzZGNlNjEyMGZkMzg2Li4zM2NmYWQ0YmI1YTZjNjAyYzMyMzA2Nzdi
NGFmODM2MzRiZjlkMzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzRWZs
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzRWZsLnR4dApAQCAtNjksNiArNjks
NyBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcAogICBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9w
bmcvUE5HSW1hZ2VEZWNvZGVyLmNwcAogICBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dF
QlBJbWFnZURlY29kZXIuY3BwCisgIHBsYXRmb3JtL21vY2svU2Nyb2xsYmFyVGhlbWVNb2NrLmNw
cAogICBwbGF0Zm9ybS9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwCiAgIHBsYXRmb3JtL3RleHQv
ZWZsL1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VFZmwuY3BwCiAgIHBsdWdpbnMvUGx1Z2lu
RGF0YU5vbmUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzV2luQ0Uu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0c1dpbkNFLnR4dAppbmRleCA2MjYwMWUwYWVm
OTEyMzJjNzg2ZmE1MmVjNDFjY2RiNjA3NGIwNGFmLi5jYzBlZmI0YmFhMWNmNTAwZWIzNzc0ZGI0
ZGRjM2FhNTdkZjkxNDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzV2lu
Q0UudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNXaW5DRS50eHQKQEAgLTQ2LDYg
KzQ2LDggQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAKICAgICBwbGF0Zm9ybS9pbWFnZS1kZWNv
ZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwCiAKKyAgICBwbGF0Zm9ybS9tb2NrL1Njcm9s
bGJhclRoZW1lTW9jay5jcHAKKwogICAgIHBsYXRmb3JtL3dpbi9CaXRtYXBJbmZvLmNwcAogICAg
IHBsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNXaW4uY3BwCiAgICAgcGxhdGZvcm0vd2lu
L0NsaXBib2FyZFdpbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5YjIyMmNmOTJkY2E0Njk5YWJlZjM0MTIx
M2Y3NGE4N2I2YWY5Y2VjLi5mNjVhZjliNzg1ODNmMWJlYzNhMDliMmUxZmJlNzUyMTlmMzIzNDBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDktMTQgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBjdXN0b20gc2Nyb2xsYmFy
IHRoZW1lIGZvciB1c2UgaW4gRFJULCB0byByZWR1Y2UgcGl4ZWwgZGlmZmVyZW5jZXMgYmV0d2Vl
biBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY4MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIG5ldyBzY3JvbGxiYXIgdGhlbWUsIGNhbGxlZCBTY3JvbGxiYXJUaGVtZU1vY2ssIGZv
ciB1c2UgaW4gbGF5b3V0CisgICAgICAgIHRlc3RzLiBUaGUgbW9jayBzY3JvbGxiYXIgc2ltcGx5
IGRyYXdzIGEgbGlnaHQgZ3JheSBib3ggaW4gdGhlIHRyYWNrLAorICAgICAgICB3aXRoIGEgZGFy
ayBncmF5IGJveCBmb3IgdGhlIHRodW1iLgorICAgICAgICAKKyAgICAgICAgQWRkIFNjcm9sbGJh
clRoZW1lTW9jayBmaWxlcyB0byB0aGUgYnVpbGQgb24gYWxsIHBsYXRmb3Jtcy4gSXQgaXNuJ3Qg
aG9va2VkIHVwIHlldC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIENN
YWtlTGlzdHNFZmwudHh0OgorICAgICAgICAqIENNYWtlTGlzdHNXaW5DRS50eHQ6CisgICAgICAg
ICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9TY3Jv
bGxiYXJUaGVtZU1vY2suY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRo
ZW1lTW9jazo6dHJhY2tSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTW9j
azo6c2Nyb2xsYmFyVGhpY2tuZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
TW9jazo6cGFpbnRUcmFja0JhY2tncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFy
VGhlbWVNb2NrOjpwYWludFRodW1iKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1Njcm9sbGJh
clRoZW1lTW9jay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTW9j
azo6aGFzQnV0dG9ucyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1vY2s6Omhh
c1RodW1iKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTW9jazo6YmFja0J1dHRv
blJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNb2NrOjpmb3J3YXJkQnV0
dG9uUmVjdCk6CisKIDIwMTEtMDktMTQgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIExheWVyUmVuZGVyZXJDaHJvbWl1bSBzaG91bGRu
J3QgYmUgUmVmQ291bnRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggOWU1ZTNh
OTRlMTRmY2E5OTc3MjAwMjliNmNiZjNkNmE0NDA2YWIxZC4uZDU3Mjg1N2VhODNhZmVmYzNkYWE4
MmQyNTgyZDJlMjllYTU5YjZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0y
Njg2LDYgKzI2ODYsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRoZW1lTW9jay5jcHAgXAorCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svU2Nyb2xsYmFyVGhlbWVNb2NrLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9TcGVlY2hJbnB1dENsaWVudE1vY2suY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1NwZWVjaElucHV0Q2xpZW50TW9jay5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQmFzZS5jcHAgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IGQxZjc3MGQ2ZjAxOTUwZGRiNDMzOGU4OWVjZmU5NWRmNWVjNjYyNTMu
LjlkYjVhZWI1NzNmZDAyOTc5NjYyN2FlZGRmM2MwNWIzZTNlMDliMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTQxMzEsNiArNDEzMSw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vbW9jay9HZW9s
b2NhdGlvbkNsaWVudE1vY2suY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tb2NrL0dlb2xv
Y2F0aW9uU2VydmljZU1vY2suY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tb2NrL0dlb2xv
Y2F0aW9uU2VydmljZU1vY2suaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vbW9jay9TY3JvbGxi
YXJUaGVtZU1vY2suY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRo
ZW1lTW9jay5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tb2NrL1NwZWVjaElucHV0Q2xpZW50
TW9jay5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL21vY2svU3BlZWNoSW5wdXRDbGllbnRN
b2NrLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL25ldHdvcmsvQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VCYXNlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDgwMzBjZDk4NTEyNWM4OThkNDkzNzEz
YWQ2NjA2NzlhYWM4NDE5ZGEuLmMyNjkwOTdkOTA1MTViMTQ5MDRhNmM0ZGE5MmM5NTc3MTBmOTIz
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0xMDQxLDYgKzEwNDEsNyBAQCBTT1VSQ0VTICs9IFwKICAg
ICBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAgXAogICAgIHBsYXRmb3Jt
L21vY2svR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5jcHAgXAogICAgIHBsYXRmb3JtL21vY2svU3Bl
ZWNoSW5wdXRDbGllbnRNb2NrLmNwcCBcCisgICAgcGxhdGZvcm0vbW9jay9TY3JvbGxiYXJUaGVt
ZU1vY2suY3BwIFwKICAgICBwbGF0Zm9ybS9uZXR3b3JrL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
QmFzZS5jcHAgXAogICAgIHBsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuY3BwIFwKICAgICBwbGF0
Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwIFwKQEAgLTE5NjIsNiArMTk2Myw3IEBA
IEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNw
cCBcCiAgICAgcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvblNlcnZpY2VNb2NrLmggXAogICAgIHBs
YXRmb3JtL21vY2svU3BlZWNoSW5wdXRDbGllbnRNb2NrLmggXAorICAgIHBsYXRmb3JtL21vY2sv
U2Nyb2xsYmFyVGhlbWVNb2NrLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
LmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmggXAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVCbGVuZC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKaW5kZXggZGZhM2I5ZjE1ZDcxZWQzM2U5ZmM3NmYzZjg0M2M2ZDIzZTE2
MzkzMC4uMWJkYmE1ZTA0M2EwNjA1ZjljOThlNjJjOTkxZWQyMDY0ZTQzZDljOSAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMyNjY5LDYgKzMy
NjY5LDE0IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwbGF0Zm9ybVxtb2NrXFNjcm9sbGJhclRoZW1lTW9jay5jcHAiCisJCQkJCT4KKwkJ
CQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxtb2Nr
XFNjcm9sbGJhclRoZW1lTW9jay5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cbW9ja1xTcGVlY2hJbnB1dENsaWVudE1vY2su
Y3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDYxZjE2OGIwMTA2MTRkMDgzZDJjM2Q5NTRm
OTdjNDM4ZTU3NjhmY2UuLmEwZjIxZGJjMGM4YmZhZjQyODlmOGEyN2IwNzFkMDIwY2UwMjEwYWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTIyOSw2ICsyMjksOCBAQAogCQkwRkQzMDhENjExN0QxNjg1MDBBNzkxRjcgLyogUmVu
ZGVySUZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkQzMDhENDExN0QxNjg0MDBBNzkxRjcgLyogUmVuZGVySUZyYW1lLmggKi87IH07CiAJCTBG
RDcyMzgyMEVDOEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDcyMzgwMEVDOEJEOTMwMENBNURENyAvKiBG
bG9hdFF1YWQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkwRkQ3MjM4MzBFQzhCRDkzMDBDQTVERDcgLyogRmxvYXRRdWFkLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRDcyMzgxMEVDOEJEOTMwMENB
NURENyAvKiBGbG9hdFF1YWQuY3BwICovOyB9OworCQkwRkU3MTQwNTE0MjE3MEI4MDBEQjMzQkEg
LyogU2Nyb2xsYmFyVGhlbWVNb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRTcxNDAzMTQyMTcwQjgwMERCMzNCQSAvKiBTY3JvbGxiYXJUaGVt
ZU1vY2suY3BwICovOyB9OworCQkwRkU3MTQwNjE0MjE3MEI4MDBEQjMzQkEgLyogU2Nyb2xsYmFy
VGhlbWVNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkU3MTQwNDE0MjE3MEI4MDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWVNb2NrLmggKi87IH07
CiAJCTBGRjUwMjVCMTAyQkE5MDEwMDY2RjM5QSAvKiBET01TdHlsZU1lZGlhLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1MDI1OTEwMkJBOTAxMDA2
NkYzOUEgLyogRE9NU3R5bGVNZWRpYS5oICovOyB9OwogCQkwRkY1MDI1QzEwMkJBOTAxMDA2NkYz
OUEgLyogRE9NU3R5bGVNZWRpYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGRjUwMjVBMTAyQkE5MDEwMDY2RjM5QSAvKiBET01TdHlsZU1lZGlhLm1t
ICovOyB9OwogCQkwRkY1MDI2MzEwMkJBOTJDMDA2NkYzOUEgLyogRE9NU3R5bGVNZWRpYUludGVy
bmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkY1
MDI2MjEwMkJBOTJCMDA2NkYzOUEgLyogRE9NU3R5bGVNZWRpYUludGVybmFsLmggKi87IH07CkBA
IC02NzIxLDYgKzY3MjMsOCBAQAogCQkwRkQzMDhENDExN0QxNjg0MDBBNzkxRjcgLyogUmVuZGVy
SUZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlcklGcmFtZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ3MjM4MDBFQzhCRDkzMDBDQTVERDcg
LyogRmxvYXRRdWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsb2F0UXVh
ZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ3MjM4MTBFQzhCRDkzMDBDQTVE
RDcgLyogRmxvYXRRdWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZsb2F0UXVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGRTcxNDAzMTQy
MTcwQjgwMERCMzNCQSAvKiBTY3JvbGxiYXJUaGVtZU1vY2suY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gU2Nyb2xsYmFyVGhlbWVNb2NrLmNwcDsgcGF0aCA9IG1vY2sv
U2Nyb2xsYmFyVGhlbWVNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZF
NzE0MDQxNDIxNzBCODAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lTW9jay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBTY3JvbGxiYXJUaGVtZU1vY2suaDsgcGF0aCA9IG1vY2sv
U2Nyb2xsYmFyVGhlbWVNb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjUw
MjU5MTAyQkE5MDEwMDY2RjM5QSAvKiBET01TdHlsZU1lZGlhLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTVN0eWxlTWVkaWEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMEZGNTAyNUExMDJCQTkwMTAwNjZGMzlBIC8qIERPTVN0eWxlTWVkaWEubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01TdHlsZU1lZGlhLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1MDI2MjEwMkJBOTJCMDA2NkYzOUEgLyogRE9N
U3R5bGVNZWRpYUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TVN0eWxlTWVkaWFJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQz
MzQsNiArMTQzMzgsOCBAQAogCQkJCTU5MzA5QTEyMTFGNEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2suaCAqLywKIAkJCQkwNTJCRkNFODEyOEFCRjE1MDBGRDMzOEQg
LyogR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcCAqLywKIAkJCQkwNTJCRkNFQTEyOEFCRjIxMDBG
RDMzOEQgLyogR2VvbG9jYXRpb25DbGllbnRNb2NrLmggKi8sCisJCQkJMEZFNzE0MDMxNDIxNzBC
ODAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lTW9jay5jcHAgKi8sCisJCQkJMEZFNzE0MDQxNDIx
NzBCODAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lTW9jay5oICovLAogCQkJCTc1MzVCQzkyMTIw
MjBDRkYwMDM3RUM0NSAvKiBTcGVlY2hJbnB1dENsaWVudE1vY2suY3BwICovLAogCQkJCTc1MzVC
QzkzMTIwMjBDRkYwMDM3RUM0NSAvKiBTcGVlY2hJbnB1dENsaWVudE1vY2suaCAqLywKIAkJCSk7
CkBAIC0xOTIwOCw4ICsxOTIxNCw4IEBACiAJCQkJQkNBQTkwQzIwQTdFQkE2MDAwOEIxMjI5IC8q
IFNjcm9sbGJhci5jcHAgKi8sCiAJCQkJQkM3QjJBRjgwNDUwODI0MTAwQTgwMDBGIC8qIFNjcm9s
bGJhci5oICovLAogCQkJCUJDOEI4NTRBMEU3QzdGNTYwMEFCNjk4NCAvKiBTY3JvbGxiYXJUaGVt
ZS5oICovLAotCQkJCUJDMTQwMjg4MEU4MzY4MDgwMDMxOTcxNyAvKiBTY3JvbGxiYXJUaGVtZUNv
bXBvc2l0ZS5jcHAgKi8sCiAJCQkJQkMxNDAyODkwRTgzNjgwODAwMzE5NzE3IC8qIFNjcm9sbGJh
clRoZW1lQ29tcG9zaXRlLmggKi8sCisJCQkJQkMxNDAyODgwRTgzNjgwODAwMzE5NzE3IC8qIFNj
cm9sbGJhclRoZW1lQ29tcG9zaXRlLmNwcCAqLywKIAkJCQk5M0MwOUM4NTBCMDY1N0FBMDA1QUJE
NEQgLyogU2Nyb2xsVHlwZXMuaCAqLywKIAkJCQlCQzI0NDFDMzBFOEI2NUQwMDA1NTMyMEYgLyog
U2Nyb2xsVmlldy5jcHAgKi8sCiAJCQkJQkM2RDZFMjUwOUFGOTQzNTAwRjU5NzU5IC8qIFNjcm9s
bFZpZXcuaCAqLywKQEAgLTIzNDgyLDYgKzIzNDg4LDcgQEAKIAkJCQkxQTkyN0ZEMzE0MTZBMTVC
MDAzQTgzQzggLyogbnBydW50aW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTkyN0ZENDE0MTZB
MTVCMDAzQTgzQzggLyogbnB0eXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0VDQ0ZDM0IxNDE5
NzNENTAwMkEwQUMxIC8qIERlY29kZUVzY2FwZVNlcXVlbmNlcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEZFNzE0MDYxNDIxNzBCODAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lTW9jay5oIGluIEhl
YWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CkBAIC0yNjI5OCw2ICsyNjMwNSw3IEBACiAJCQkJRTQ0QjRCQjMxNDE2NTBENzAw
MkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzhBRDY3
NDE0MTMwQThEMDBDN0NBRTMgLyogSFRNTFNwYW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTk3NTJEMzhEMTQxMzEwNEIwMDMzMDVCRCAvKiBKU0hUTUxTcGFuRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRkU3MTQwNTE0MjE3MEI4MDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhl
bWVNb2NrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCmluZGV4IGVhZmFlZTJiODQ5NGZhNjU1MzdjMDM1OTE3
ZGJmYjhiMTQyMWU4YmEuLmE1MWFiNTY3ZWUwNWQ2MDAzNmRhZmY5NjM0ZmUwZWZjMzNjMDE2MDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMu
bW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJOU1Njcm9sbGVySW1wRGV0YWlscy5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlNjcm9sbEFuaW1hdG9y
TWFjLmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVNb2NrLmgiCiAjaW5jbHVkZSAiU2Nyb2xs
Vmlldy5oIgogI2luY2x1ZGUgIldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbmNsdWRlIDxD
YXJib24vQ2FyYm9uLmg+CkBAIC0xMDksNiArMTEwLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogU2Nyb2xsYmFyVGhlbWUqIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpCiB7CisgICAg
aWYgKDEpIHsKKyAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTY3JvbGxiYXJUaGVtZU1vY2ss
IHRoZW1lLCAoKSk7CisgICAgICAgIHJldHVybiAmdGhlbWU7CisgICAgfQogICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU2Nyb2xsYmFyVGhlbWVNYWMsIHRoZW1lLCAoKSk7CiAgICAgcmV0dXJuICZ0
aGVtZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU2Nyb2xs
YmFyVGhlbWVNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU2Nyb2xsYmFy
VGhlbWVNb2NrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MGRlNjVjNmE1OWNhOGQ5ZDU3ZmVlZTRhNTJlYzkw
OTZmNzg4MjMyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9TY3JvbGxiYXJUaGVtZU1vY2suY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIlNjcm9sbGJhclRoZW1lTW9jay5oIgorCisjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCisK
K3VzaW5nIG5hbWVzcGFjZSBzdGQ7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGlu
dCBjU2Nyb2xsYmFyVGhpY2tuZXNzW10gPSB7IDE1LCAxMSB9OworCitJbnRSZWN0IFNjcm9sbGJh
clRoZW1lTW9jazo6dHJhY2tSZWN0KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBib29sKQoreworICAg
IHJldHVybiBzY3JvbGxiYXItPmZyYW1lUmVjdCgpOworfQorCitpbnQgU2Nyb2xsYmFyVGhlbWVN
b2NrOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUp
Cit7CisgICAgcmV0dXJuIGNTY3JvbGxiYXJUaGlja25lc3NbY29udHJvbFNpemVdOworfQorCit2
b2lkIFNjcm9sbGJhclRoZW1lTW9jazo6cGFpbnRUcmFja0JhY2tncm91bmQoR3JhcGhpY3NDb250
ZXh0KiBjb250ZXh0LCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0JiB0cmFja1JlY3QpCit7Cisg
ICAgY29udGV4dC0+ZmlsbFJlY3QodHJhY2tSZWN0LCBDb2xvcjo6bGlnaHRHcmF5LCBDb2xvclNw
YWNlRGV2aWNlUkdCKTsKK30KKwordm9pZCBTY3JvbGxiYXJUaGVtZU1vY2s6OnBhaW50VGh1bWIo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0JiB0aHVt
YlJlY3QpCit7CisgICAgY29udGV4dC0+ZmlsbFJlY3QodGh1bWJSZWN0LCBDb2xvcjo6ZGFya0dy
YXksIENvbG9yU3BhY2VEZXZpY2VSR0IpOworfQorCit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svU2Nyb2xsYmFyVGhlbWVNb2NrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRoZW1lTW9jay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZjJhMmJi
NzE3NzljNWZlZTY3NjRlMDdhYTU2YzBmODBmZjRkNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRoZW1lTW9jay5oCkBAIC0wLDAgKzEs
NTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBTY3JvbGxiYXJUaGVtZU1vY2tfaAorI2RlZmluZSBTY3JvbGxiYXJUaGVtZU1vY2tfaAor
CisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCisvLyBTY3JvbGxiYXIgdGhlbWUgdXNlZCBpbiBpbWFnZSBzbmFwc2hvdHMsIHRvIGVs
aW1pbmF0ZSBhcHBlYXJhbmNlIGRpZmZlcmVuY2VzIGJldHdlZW4gcGxhdGZvcm1zLgorY2xhc3Mg
U2Nyb2xsYmFyVGhlbWVNb2NrIDogcHVibGljIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlIHsKK3B1
YmxpYzoKKyAgICB2aXJ0dWFsIGludCBzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJv
bFNpemUgPSBSZWd1bGFyU2Nyb2xsYmFyKTsKKworcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgYm9v
bCBoYXNCdXR0b25zKFNjcm9sbGJhciopIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBi
b29sIGhhc1RodW1iKFNjcm9sbGJhciopIHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwg
SW50UmVjdCBiYWNrQnV0dG9uUmVjdChTY3JvbGxiYXIqLCBTY3JvbGxiYXJQYXJ0LCBib29sIC8q
cGFpbnRpbmcqLyA9IGZhbHNlKSB7IHJldHVybiBJbnRSZWN0KCk7IH0KKyAgICB2aXJ0dWFsIElu
dFJlY3QgZm9yd2FyZEJ1dHRvblJlY3QoU2Nyb2xsYmFyKiwgU2Nyb2xsYmFyUGFydCwgYm9vbCAv
KnBhaW50aW5nKi8gPSBmYWxzZSkgeyByZXR1cm4gSW50UmVjdCgpOyB9CisgICAgdmlydHVhbCBJ
bnRSZWN0IHRyYWNrUmVjdChTY3JvbGxiYXIqLCBib29sIHBhaW50aW5nID0gZmFsc2UpOworICAg
IAorICAgIHZpcnR1YWwgdm9pZCBwYWludFRyYWNrQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQq
LCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHBhaW50VGh1
bWIoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpOworfTsKKwor
fQorI2VuZGlmIC8vIFNjcm9sbGJhclRoZW1lTW9ja19oCg==
</data>
<flag name="review"
          id="104122"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107433</attachid>
            <date>2011-09-14 18:14:32 -0700</date>
            <delta_ts>2011-09-16 11:54:59 -0700</delta_ts>
            <desc>Plumb through a setting for mock scrollbars</desc>
            <filename>bug-68134-20110914181431.patch</filename>
            <type>text/plain</type>
            <size>12003</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUxMzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNjVhZjliNzg1ODNmMWJl
YzNhMDliMmUxZmJlNzUyMTlmMzIzNDBhLi5lOWM2MjYxMGE0MjQwZGE2YWQwZTNiZDQ5ODViMDI5
OTI3MWMyNDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTEtMDktMTQgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKKyAgICAgICAgTWFrZSBjdXN0b20g
c2Nyb2xsYmFyIHRoZW1lIGZvciB1c2UgaW4gRFJULCB0byByZWR1Y2UgcGl4ZWwgZGlmZnMgYmV0
d2VlbiBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgbmV3IHNldHRpbmcgdG8gY29udHJvbCB3aGV0aGVyIHRoZSBtb2NrIHNjcm9s
bGJhciB0aGVtZSBpcyB1c2VkLgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6bW9ja1Njcm9sbGJhcnNFbmFibGVkKToKKworMjAxMS0wOS0x
NCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBNYWtl
IGN1c3RvbSBzY3JvbGxiYXIgdGhlbWUgZm9yIHVzZSBpbiBEUlQsIHRvIHJlZHVjZSBwaXhlbCBk
aWZmZXJlbmNlcyBiZXR3ZWVuIHBsYXRmb3JtcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGE5
YjRhYzUwMTExZWJkNmM1OTU5MjNjZWM4Yzg5YTBhNDE3Nzg3NGEuLjUzZWMwMGZkNmM0YTA3OGI5
MDdjNTQ2NmQ1MWI5MWQzMDRkODQ4ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTQ3MCw2
ICs0NzAsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0UGFzc3dvcmRF
Y2hvRHVyYXRpb25JblNlY29uZHMoZG91YmxlIGR1cmF0aW9uSW5TZWNvbmRzKSB7IG1fcGFzc3dv
cmRFY2hvRHVyYXRpb25JblNlY29uZHMgPSBkdXJhdGlvbkluU2Vjb25kczsgfQogICAgICAgICBk
b3VibGUgcGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSBjb25zdCB7IHJldHVybiBtX3Bh
c3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzOyB9CiAKKyAgICAgICAgdm9pZCBzZXRNb2NrU2Ny
b2xsYmFyc0VuYWJsZWQoYm9vbCBmbGFnKSB7IG1fbW9ja1Njcm9sbGJhcnNFbmFibGVkID0gZmxh
ZzsgfQorICAgICAgICBib29sIG1vY2tTY3JvbGxiYXJzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fbW9ja1Njcm9sbGJhcnNFbmFibGVkOyB9CisKICAgICBwcml2YXRlOgogICAgICAgICBQYWdl
KiBtX3BhZ2U7CiAKQEAgLTU5MSw2ICs1OTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIGJvb2wgbV9tZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZSA6IDE7CiAgICAgICAg
IGJvb2wgbV9tZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lIDogMTsKICAgICAgICAgYm9vbCBtX3Bh
c3N3b3JkRWNob0VuYWJsZWQgOiAxOworICAgICAgICBib29sIG1fbW9ja1Njcm9sbGJhcnNFbmFi
bGVkIDogMTsKIAogICAgICAgICBUaW1lcjxTZXR0aW5ncz4gbV9sb2Fkc0ltYWdlc0F1dG9tYXRp
Y2FsbHlUaW1lcjsKICAgICAgICAgdm9pZCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lckZp
cmVkKFRpbWVyPFNldHRpbmdzPiopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDFmOTM5M2UyM2ZjZWU1
ZTMwYTE2YjE2Y2M4YzAzZTIyY2JkYzIxNjguLmY1ZDk1MmNhMWQ5ZTNmYzFhMzRkYmYxYmMxMmIx
MDZhZmNmOGQyODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wOS0x
NCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtl
IGN1c3RvbSBzY3JvbGxiYXIgdGhlbWUgZm9yIHVzZSBpbiBEUlQsIHRvIHJlZHVjZSBwaXhlbCBk
aWZmcyBiZXR3ZWVuIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjgxMzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKyAgICAgICAgCisgICAgICAgIEhvb2sgdXAgYSBwcml2YXRlIHByZWZlcmVuY2UgdGhhdCBl
bmFibGVzIHRoZSBtb2NrIHNjcm9sbGJhciB0aGVtZS4KKworICAgICAgICAqIFdlYlZpZXcvV2Vi
UHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgbW9ja1Njcm9sbGJhcnNFbmFibGVkXSk6
CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZDpdKToK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorCiAyMDExLTA5LTE0
ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IHJp
ZCBvZiBXZWJDb3JlVmlld0ZhY3RvcnkgYW5kIGl0cyBXZWJWaWV3RmFjdG9yeSBzdWJjbGFzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgKaW5kZXggNDEzZWU2YWE2OTA0ZDkwN2IzODU2M2VhNTYwMzc1MjA0MGE4YmI5Mi4uZDlk
ZjI5OTFhYTRkZWE4OTMxOTMyMjcwOTlhYWYwN2E2ZjUyMmI4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xMTAs
NiArMTEwLDcgQEAKICNkZWZpbmUgV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxl
ZEtleSBAIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiCiAjZGVmaW5lIFdl
YktpdE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlUHJlZmVyZW5jZUtleSBAIldlYktp
dE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlIgogI2RlZmluZSBXZWJLaXRNZWRpYVBs
YXliYWNrQWxsb3dzSW5saW5lUHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhUGxheWJhY2tBbGxv
d3NJbmxpbmUiCisjZGVmaW5lIFdlYktpdE1vY2tTY3JvbGxiYXJzRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQiCiAKIC8vIFRoZXNlIGFyZSBwcml2YXRl
IGJvdGggYmVjYXVzZSBjYWxsZXJzIHNob3VsZCBiZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBh
bmQgYmVjYXVzZSB0aGUKIC8vIGNvdmVyIG1ldGhvZHMgdGhlbXNlbHZlcyBhcmUgcHJpdmF0ZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDFlZTZh
NTUyNzNhYjEwZTI3Y2VkMzU3NGM4NTk5Yzk0YzQ5MzhjY2MuLjkxY2FkMTY0M2Q0NjI4N2M4NGFm
MmIxNGE3NjFkZWU0MjRkNjNjNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbQpAQCAtMTUzMSw2ICsxNTMxLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xh
c3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5
OldlYktpdE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAo
Qk9PTCltb2NrU2Nyb2xsYmFyc0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1
ZUZvcktleTpXZWJLaXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwor
LSAodm9pZClzZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxm
IF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0TW9ja1Njcm9sbGJhcnNFbmFibGVkUHJl
ZmVyZW5jZUtleV07Cit9CisKIC0gKE5TU3RyaW5nICopcGljdG9ncmFwaEZvbnRGYW1pbHkKIHsK
ICAgICByZXR1cm4gW3NlbGYgX3N0cmluZ1ZhbHVlRm9yS2V5OiBXZWJLaXRQaWN0b2dyYXBoRm9u
dFByZWZlcmVuY2VLZXldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggYjc3ZDc5NzQ1YzkzYzFkZTA2YjcxZDBkMDU4YzVhYWI3
YjE4NGQyNS4uNmVhZDE4NjdlMWYxMzRiNjM5OTdjYzAwOTU1ZjVkMGM3ZWRmYmNiMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBA
IC0yMTksNiArMjE5LDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJ
bnRlcm5hbE5vdGlmaWNhdGlvbjsKIC0gKE5TU3RyaW5nICopcGljdG9ncmFwaEZvbnRGYW1pbHk7
CiAtICh2b2lkKXNldFBpY3RvZ3JhcGhGb250RmFtaWx5OihOU1N0cmluZyAqKWZhbWlseTsKIAor
LSAoQk9PTCltb2NrU2Nyb2xsYmFyc0VuYWJsZWQ7CistICh2b2lkKXNldE1vY2tTY3JvbGxiYXJz
RW5hYmxlZDooQk9PTClmbGFnOworCiAvLyBPdGhlciBwcml2YXRlIG1ldGhvZHMKIC0gKHZvaWQp
X3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb247CiAtICh2b2lkKV9wb3N0UHJlZmVy
ZW5jZXNDaGFuZ2VkQVBJTm90aWZpY2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDA1OGVkZTYzZDNmODUw
ZDRlZDNlMDRhZjU1YmUyNDM4ZmFhZTdlMzguLjRhZmQ2ZWYxNGJkNTA2NDkxYjMwZmU0NGI3MjQw
NTY2YzBhOTkxZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0wOS0xNCAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGN1c3Rv
bSBzY3JvbGxiYXIgdGhlbWUgZm9yIHVzZSBpbiBEUlQsIHRvIHJlZHVjZSBwaXhlbCBkaWZmcyBi
ZXR3ZWVuIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjgxMzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBIb29rIHVwIGEgcHJpdmF0ZSBwcmVmZXJlbmNlIHRoYXQgZW5hYmxlcyB0aGUgbW9j
ayBzY3JvbGxiYXIgdGhlbWUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9y
ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAg
ICAgKFdLUHJlZmVyZW5jZXNTZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQpOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc0dldE1vY2tTY3JvbGxiYXJzRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJl
bmNlcyk6CisKIDIwMTEtMDktMTQgIEFkYSBDaGFuICA8YWRhY2hhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgSW1wbGVtZW50IFdLQnVuZGxlRnJhbWVDb3B5V2ViQXJjaGl2ZSgpLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKaW5kZXggOTM4NzMzNGUxZWUyZTg2
ZTM3YzdkMWZlNDM5NTc5OWRhMTlhNDdhNi4uMTZjNTFlZTVjOTg1NGU2Yjg5MTQzMjZjNmM4ZWFk
MWUxMmQ3NjhjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9y
ZS5oCkBAIC05Miw2ICs5Miw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIG1hY3JvKE1lZGlh
UGxheWJhY2tBbGxvd3NJbmxpbmUsIG1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUsIEJvb2wsIGJv
b2wsIHRydWUpIFwKICAgICBtYWNybyhJbnNwZWN0b3JTdGFydHNBdHRhY2hlZCwgaW5zcGVjdG9y
U3RhcnRzQXR0YWNoZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBtYWNybyhTaG93c1Rvb2xU
aXBPdmVyVHJ1bmNhdGVkVGV4dCwgc2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQsIEJvb2ws
IGJvb2wsIGZhbHNlKSBcCisgICAgbWFjcm8oTW9ja1Njcm9sbGJhcnNFbmFibGVkLCBtb2NrU2Ny
b2xsYmFyc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgXAogCiAjZGVmaW5lIEZP
Ul9FQUNIX1dFQktJVF9ET1VCTEVfUFJFRkVSRU5DRShtYWNybykgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDJiOGY2ZTQ2M2Mz
MTQ3NzAyZjNlNzllZTQ0ZGMwNTM4Nzg0OWJiMGEuLjgyMmNiNTQ1NjBhMmU0NzliNDliYTk0MDhh
OGZkN2M5NWZiMmM3ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAKQEAgLTYxMSwzICs2MTEsMTMgQEAgYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0U2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1IKIHsKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2hvd3NUb29sVGlw
T3ZlclRydW5jYXRlZFRleHQoKTsKIH0KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0TW9ja1Njcm9s
bGJhcnNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykK
K3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQo
ZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJl
ZmVyZW5jZXNSZWYpLT5tb2NrU2Nyb2xsYmFyc0VuYWJsZWQoKTsKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXgg
MDUxM2Y1YmVmMWI3ZmRkMzBjYjZiZDEyYTk5OTAxNjhkY2E5NTI0ZS4uYmJmMTBiNzFjNDYzN2E4
NTAwOWQ2ZDJlNmVmNTQ1MGYzZTBhYmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTE0NCw2ICsxNDQsMTAg
QEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxp
bmUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXIKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRTaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVkVGV4dChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3dz
VG9vbFRpcE92ZXJUcnVuY2F0ZWRUZXh0KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYp
OwogCisvLyBEZWZhdWx0cyB0byBmYWxzZS4KK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwg
Ym9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRNb2NrU2Nyb2xsYmFy
c0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CisKICNpZmRlZiBfX2Nw
bHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKaW5kZXggZTJkNjdmYzFmZjE2ZmEwMjMxMjc3Nzc4NjU3NmVhZDBkNDI0NjE1
ZS4uYjQyZjI5MTVmODM4MjY2NjA2MmZhMjcwNGNmZWVmNDU3ZWZkYTY1NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTU4Myw2ICsxNTgz
LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNl
c1N0b3JlJiBzdG9yZSkKICAgICBzZXR0aW5ncy0+c2V0V2ViR0xFbmFibGVkKHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6d2ViR0xFbmFibGVkS2V5KCkpKTsKICAg
ICBzZXR0aW5ncy0+c2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjptZWRpYVBsYXliYWNrUmVxdWlyZXNV
c2VyR2VzdHVyZUtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldE1lZGlhUGxheWJhY2tBbGxvd3NJ
bmxpbmUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjptZWRpYVBs
YXliYWNrQWxsb3dzSW5saW5lS2V5KCkpKTsKKyAgICBzZXR0aW5ncy0+c2V0TW9ja1Njcm9sbGJh
cnNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bW9j
a1Njcm9sbGJhcnNFbmFibGVkS2V5KCkpKTsKIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICAgICBB
YnN0cmFjdERhdGFiYXNlOjpzZXRJc0F2YWlsYWJsZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OmRhdGFiYXNlc0VuYWJsZWRLZXkoKSkpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGI2YWY3ZGFkYTI3MTAyMTBj
NGE0NGE2NjhmZWI1MmQ4YTI4NGZkNzkuLmI2YzIxMGQyZTk2MTk5MTRiMzljNWNkMWZjMzIxZDE0
YTY5OWU4ZWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wOS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGN1c3RvbSBzY3JvbGxiYXIgdGhlbWUgZm9y
IHVzZSBpbiBEUlQsIHRvIHJlZHVjZSBwaXhlbCBkaWZmcyBiZXR3ZWVuIHBsYXRmb3JtcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFNldCB0
aGUgcHJlZmVyZW5jZSB0byBlbmFibGUgbW9jayBzY3JvbGxiYXJzIHdoZW4gcnVubmluZyB0ZXN0
cy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAg
ICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJv
bGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMTEtMDktMTQgIEFkYSBD
aGFuICA8YWRhY2hhbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHRlc3QgZm9yIFdLQnVuZGxl
RnJhbWVDb3B5V2ViQXJjaGl2ZSgpLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tCmluZGV4IDVmMzhhZTRjZDYzNDAzY2MyMDk2MjFmOTY3N2E4MDY4OGNhOWFlMGQu
LjZkOTE0MzhiZjI4OWUyMTBlZTBiOGI4OGIwMmM5NmFlZmMwZmYzODMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTQ0MCw2ICs0NDAsNyBAQCBzdGF0
aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICBbcHJlZmVyZW5j
ZXMgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3M6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRB
c3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNl
dEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMg
c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkOllFU107CiAKICAgICBbV2ViUHJlZmVyZW5jZXMgX3Nl
dEN1cnJlbnROZXR3b3JrTG9hZGVyU2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBDb29r
aWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbl07CiAgICAgCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDVkNTMxYWQ3OTgwMWY0ZWYy
MzZmZjk1OWIxNTllNzY4NDM5YzRhZjkuLjFhYWRjZjQ2MzI3YzA1NTQzMWRmNGE3NWQwNjk4OGUy
MTY4MWZhZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBA
IC0zOTQsNiArMzk0LDcgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lz
dGVudFZhbHVlcygpCiAgICAgV0tQcmVmZXJlbmNlc1NldERPTVBhc3RlQWxsb3dlZChwcmVmZXJl
bmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFVuaXZlcnNhbEFjY2Vzc0Zyb21GaWxl
VVJMc0FsbG93ZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRGaWxl
QWNjZXNzRnJvbUZpbGVVUkxzQWxsb3dlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CisgICAgV0tQcmVm
ZXJlbmNlc1NldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAjaWYg
RU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIFdLUHJlZmVyZW5jZXNTZXRGdWxsU2NyZWVuRW5h
YmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107695</attachid>
            <date>2011-09-16 11:56:59 -0700</date>
            <delta_ts>2011-09-16 18:18:05 -0700</delta_ts>
            <desc>Add a setting to enable mock scrollbars</desc>
            <filename>bug-68134-20110916115658.patch</filename>
            <type>text/plain</type>
            <size>13390</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUyNDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxZDRiZmQ0YzljODU0ZGZm
MzU0NjllZjdkNjBjODFhMjlmZTRmNjE1Li4yZTZlMTZiZGRmOWJlZTI4YjQ2MDAyZjk1MWE1NWY5
ZjExODEwYmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDktMTQgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBjdXN0b20g
c2Nyb2xsYmFyIHRoZW1lIGZvciB1c2UgaW4gRFJULCB0byByZWR1Y2UgcGl4ZWwgZGlmZnMgYmV0
d2VlbiBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgbmV3IHNldHRpbmcgdG8gY29udHJvbCB3aGV0aGVyIHRoZSBtb2NrIHNjcm9s
bGJhciB0aGVtZSBpcyB1c2VkLgorICAgICAgICBUaGlzIGlzIGEgZ2xvYmFsIHNldHRpbmcsIHNv
IHRoYXQgaXQgY2FuIGJlIHNldCB3aXRob3V0IGhhdmluZyB0bworICAgICAgICBhY2Nlc3MgYSBz
cGVjaWZpYyBTZXR0aW5ncyBvYmplY3QuCisKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptb2NrU2Nyb2xsYmFyc0VuYWJsZWQpOgorCiAyMDEx
LTA5LTE1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IEF0dGVtcHQgdG8gZml4IFdpbmRvd3MgYnVpbGQgYWZ0ZXIgcjk1MjQzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgppbmRleCBiZTA4NTc4MzZlYjhjMWEyY2RiYTRlYzJlZmQwZjIxODllY2Q3YzhlLi4zOTJm
MTVjMDgwMjY5NWU5NTQyMGUwOGIyNWFkNTA4NGI4ZWM1Njk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgpAQCAtOTA0LDYgKzkwNCw3IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczIzc2V0UGljdG9ncmFw
aEZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3MyM3NldFVzZXNFbmNvZGluZ0RldGVjdG9yRWIKIF9fWk43V2ViQ29yZThTZXR0
aW5nczI0c2V0QXBwbGljYXRpb25DaHJvbWVNb2RlRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI0
c2V0RE5TUHJlZmV0Y2hpbmdFbmFibGVkRWIKK19fWk43V2ViQ29yZThTZXR0aW5nczI0c2V0TW9j
a1Njcm9sbGJhcnNFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI0c2V0VGV4dEFyZWFz
QXJlUmVzaXphYmxlRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI1c2V0RGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyNXNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWRFYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA5YzcwODIwMWU4NzhlYmI5NDVhZTll
MWE0MzU5YzQxOTY0MzFjNmY5Li4wZmNlN2IzNjQwNGJmYzQxZjU2ODgwYzU0MTI1YTA1MDJhM2Fh
MmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtNzksNiArNzksOCBAQCBib29sIFNl
dHRpbmdzOjpnU2hvdWxkUGFpbnROYXRpdmVDb250cm9scyA9IHRydWU7CiBib29sIFNldHRpbmdz
OjpnQVZGb3VuZGF0aW9uRW5hYmxlZChmYWxzZSk7CiAjZW5kaWYKIAorYm9vbCBTZXR0aW5nczo6
Z01vY2tTY3JvbGxiYXJzRW5hYmxlZCA9IGZhbHNlOworCiAjaWYgUExBVEZPUk0oV0lOKSB8fCAo
T1MoV0lORE9XUykgJiYgUExBVEZPUk0oV1gpKQogYm9vbCBTZXR0aW5nczo6Z1Nob3VsZFVzZUhp
Z2hSZXNvbHV0aW9uVGltZXJzID0gdHJ1ZTsKICNlbmRpZgpAQCAtODE1LDQgKzgxNywxNCBAQCB2
b2lkIFNldHRpbmdzOjpzZXRUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoYm9vbCBlbmFibGVkKQog
I2VuZGlmCiB9CiAKK3ZvaWQgU2V0dGluZ3M6OnNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChib29s
IGZsYWcpCit7CisgICAgZ01vY2tTY3JvbGxiYXJzRW5hYmxlZCA9IGZsYWc7Cit9CisKK2Jvb2wg
U2V0dGluZ3M6Om1vY2tTY3JvbGxiYXJzRW5hYmxlZCgpCit7CisgICAgcmV0dXJuIGdNb2NrU2Ny
b2xsYmFyc0VuYWJsZWQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaAppbmRleCBhOWI0YWM1MDExMWViZDZjNTk1OTIzY2VjOGM4OWEwYTQxNzc4NzRhLi43
YWRmMmMxOGM1ZmVjMzNkNWZlZTIyMTc3OTc3YmQ0YzQ3ZmViMjgxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCkBAIC00NzAsNiArNDcwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIHNldFBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKGRvdWJsZSBkdXJhdGlvbkluU2Vj
b25kcykgeyBtX3Bhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzID0gZHVyYXRpb25JblNlY29u
ZHM7IH0KICAgICAgICAgZG91YmxlIHBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKCkgY29u
c3QgeyByZXR1cm4gbV9wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kczsgfQogCisgICAgICAg
IHN0YXRpYyB2b2lkIHNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChib29sIGZsYWcpOworICAgICAg
ICBzdGF0aWMgYm9vbCBtb2NrU2Nyb2xsYmFyc0VuYWJsZWQoKTsKKwogICAgIHByaXZhdGU6CiAg
ICAgICAgIFBhZ2UqIG1fcGFnZTsKIApAQCAtNTk4LDYgKzYwMSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICNpZiBVU0UoQVZGT1VOREFUSU9OKQogICAgICAgICBzdGF0aWMgYm9vbCBnQVZGb3Vu
ZGF0aW9uRW5hYmxlZDsKICNlbmRpZgorICAgICAgICBzdGF0aWMgYm9vbCBnTW9ja1Njcm9sbGJh
cnNFbmFibGVkOwogCiAgICAgICAgIGRvdWJsZSBtX3pvb21BbmltYXRvclNjYWxlOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggOTE1ZmQwNWVhZWFhZDdiZWUyNmJkZWM3Njg2MjA2ZGExNTliMzgyOS4u
MjRlYmNiYjEyNTE4OGVlNTIzYTU4ZDRlM2YxMDdhYWE4MWQ0MGEwNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTA5LTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgY3VzdG9tIHNjcm9sbGJhciB0aGVtZSBmb3Ig
dXNlIGluIERSVCwgdG8gcmVkdWNlIHBpeGVsIGRpZmZzIGJldHdlZW4gcGxhdGZvcm1zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgSG9vayB1
cCBhIHByaXZhdGUgcHJlZmVyZW5jZSB0aGF0IGVuYWJsZXMgdGhlIG1vY2sgc2Nyb2xsYmFyIHRo
ZW1lLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoLVtXZWJQcmVmZXJl
bmNlcyBtb2NrU2Nyb2xsYmFyc0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMg
c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmg6CisKIDIwMTEtMDktMTUgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJlbW92ZSBFTkFCTEUoU1ZHX0FTX0lNQUdFKSBzaW5jZSBhbGwgbWFq
b3IgcG9ydHMgaGF2ZSBpdCBvbiBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA0MTNlZTZhYTY5MDRk
OTA3YjM4NTYzZWE1NjAzNzUyMDQwYThiYjkyLi5kOWRmMjk5MWFhNGRlYTg5MzE5MzIyNzA5OWFh
ZjA3YTZmNTIyYjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTExMCw2ICsxMTAsNyBAQAogI2RlZmluZSBXZWJL
aXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkS2V5IEAiV2ViS2l0SGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFQbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmVQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNl
ckdlc3R1cmUiCiAjZGVmaW5lIFdlYktpdE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZSIKKyNkZWZpbmUgV2ViS2l0
TW9ja1Njcm9sbGJhcnNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1vY2tTY3JvbGxiYXJz
RW5hYmxlZCIKIAogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hv
dWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQogLy8gY292ZXIg
bWV0aG9kcyB0aGVtc2VsdmVzIGFyZSBwcml2YXRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggMWVlNmE1NTI3M2FiMTBlMjdjZWQzNTc0Yzg1OTlj
OTRjNDkzOGNjYy4uOTFjYWQxNjQzZDQ2Mjg3Yzg0YWYyYjE0YTc2MWRlZTQyNGQ2M2M1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC0xNTMxLDYg
KzE1MzEsMTYgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAg
IFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0TWVkaWFQbGF5YmFja0FsbG93
c0lubGluZVByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKW1vY2tTY3JvbGxiYXJzRW5hYmxl
ZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdE1vY2tTY3JvbGxi
YXJzRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldE1vY2tTY3JvbGxiYXJz
RW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktl
eTpXZWJLaXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAoTlNT
dHJpbmcgKilwaWN0b2dyYXBoRm9udEZhbWlseQogewogICAgIHJldHVybiBbc2VsZiBfc3RyaW5n
VmFsdWVGb3JLZXk6IFdlYktpdFBpY3RvZ3JhcGhGb250UHJlZmVyZW5jZUtleV07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBi
NzdkNzk3NDVjOTNjMWRlMDZiNzFkMGQwNThjNWFhYjdiMTg0ZDI1Li5hZjc4MTY0ZGJhYzRhNzAz
YjFkNjlhY2RjZDUwYWE1ODFiNTU1MTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTIxOSw2ICsyMTksMTAgQEAgZXh0ZXJu
IE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKIC0g
KE5TU3RyaW5nICopcGljdG9ncmFwaEZvbnRGYW1pbHk7CiAtICh2b2lkKXNldFBpY3RvZ3JhcGhG
b250RmFtaWx5OihOU1N0cmluZyAqKWZhbWlseTsKIAorLy8gVGhpcyBpcyBhIGdsb2JhbCBzZXR0
aW5nLgorLSAoQk9PTCltb2NrU2Nyb2xsYmFyc0VuYWJsZWQ7CistICh2b2lkKXNldE1vY2tTY3Jv
bGxiYXJzRW5hYmxlZDooQk9PTClmbGFnOworCiAvLyBPdGhlciBwcml2YXRlIG1ldGhvZHMKIC0g
KHZvaWQpX3Bvc3RQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb247CiAtICh2b2lkKV9wb3N0
UHJlZmVyZW5jZXNDaGFuZ2VkQVBJTm90aWZpY2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDEwZjI2NDgy
N2RmZTU1ZDI5N2RjOGIxYzEzNDdjYjg5ZTZiNzJkY2YuLmNjMDY1NzRlMTkzYTNiYjVhNWVhZWNi
M2NiN2QwNmJkZGNmMWYzYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0wOS0x
NCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtl
IGN1c3RvbSBzY3JvbGxiYXIgdGhlbWUgZm9yIHVzZSBpbiBEUlQsIHRvIHJlZHVjZSBwaXhlbCBk
aWZmcyBiZXR3ZWVuIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjgxMzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBIb29rIHVwIGEgcHJpdmF0ZSBwcmVmZXJlbmNlIHRoYXQgZW5hYmxlcyB0
aGUgbW9jayBzY3JvbGxiYXIgdGhlbWUuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5j
ZXNTdG9yZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoK
KyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQpOgorICAgICAg
ICAoV0tQcmVmZXJlbmNlc0dldE1vY2tTY3JvbGxiYXJzRW5hYmxlZCk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQ
cmVmZXJlbmNlcyk6CisKIDIwMTEtMDktMTUgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJlbW92ZSBFTkFCTEUoU1ZHX0FTX0lNQUdFKSBzaW5jZSBhbGwgbWFqb3Ig
cG9ydHMgaGF2ZSBpdCBvbiBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzU3RvcmUuaAppbmRleCA5Mzg3MzM0ZTFlZTJlODZlMzdjN2QxZmU0Mzk1Nzk5ZGEx
OWE0N2E2Li4xNmM1MWVlNWM5ODU0ZTZiODkxNDMyNmM2YzhlYWQxZTEyZDc2OGM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKQEAgLTkyLDYgKzkyLDcg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgbWFjcm8oTWVkaWFQbGF5YmFja0FsbG93c0lubGlu
ZSwgbWVkaWFQbGF5YmFja0FsbG93c0lubGluZSwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1h
Y3JvKEluc3BlY3RvclN0YXJ0c0F0dGFjaGVkLCBpbnNwZWN0b3JTdGFydHNBdHRhY2hlZCwgQm9v
bCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKFNob3dzVG9vbFRpcE92ZXJUcnVuY2F0ZWRUZXh0
LCBzaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVkVGV4dCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAg
ICBtYWNybyhNb2NrU2Nyb2xsYmFyc0VuYWJsZWQsIG1vY2tTY3JvbGxiYXJzRW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RPVUJM
RV9QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggMmI4ZjZlNDYzYzMxNDc3MDJmM2U3OWVlNDRkYzA1
Mzg3ODQ5YmIwYS4uODIyY2I1NDU2MGEyZTQ3OWI0OWJhOTQwOGE4ZmQ3Yzk1ZmIyYzdlNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApA
QCAtNjExLDMgKzYxMSwxMyBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG93c1Rvb2xUaXBPdmVy
VHJ1bmNhdGVkVGV4dChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUgogewogICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVkVGV4dCgp
OwogfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQoreworICAgIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPnNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChmbGFnKTsKK30KKworYm9vbCBX
S1ByZWZlcmVuY2VzR2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPm1vY2tT
Y3JvbGxiYXJzRW5hYmxlZCgpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCAwNTEzZjViZWYxYjdmZGQzMGNi
NmJkMTJhOTk5MDE2OGRjYTk1MjRlLi5iYmYxMGI3MWM0NjM3YTg1MDA5ZDZkMmU2ZWY1NDUwZjNl
MGFiYjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMTQ0LDYgKzE0NCwxMCBAQCBXS19FWFBPUlQgYm9vbCBX
S1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3dzVG9vbFRpcE92ZXJU
cnVuY2F0ZWRUZXh0KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7
CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvd3NUb29sVGlwT3ZlclRydW5jYXRl
ZFRleHQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKKy8vIERlZmF1bHRzIHRv
IGZhbHNlLgorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1vY2tTY3JvbGxiYXJzRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQ
T1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldE1vY2tTY3JvbGxiYXJzRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBl
MmQ2N2ZjMWZmMTZmYTAyMzEyNzc3Nzg2NTc2ZWFkMGQ0MjQ2MTVlLi5iNDJmMjkxNWY4MzgyNjY2
MDYyZmEyNzA0Y2ZlZWY0NTdlZmRhNjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xNTgzLDYgKzE1ODMsNyBAQCB2b2lkIFdlYlBhZ2U6
OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAg
IHNldHRpbmdzLT5zZXRXZWJHTEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5Ojp3ZWJHTEVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRNZWRp
YVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6Om1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlS2V5KCkpKTsK
ICAgICBzZXR0aW5ncy0+c2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVL
ZXkoKSkpOworICAgIHNldHRpbmdzLT5zZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojptb2NrU2Nyb2xsYmFyc0VuYWJsZWRL
ZXkoKSkpOwogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogICAgIEFic3RyYWN0RGF0YWJhc2U6OnNl
dElzQXZhaWxhYmxlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
ZGF0YWJhc2VzRW5hYmxlZEtleSgpKSk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggZmFhOTBiYTE0NmUxZDZiMjRkNTlkMGZmMDllMDBjNjA0ZjE3
NTBjNS4uYzA3OTIwZWRlNDQwMDI2NmM2NzZiN2M0YTIwYWY5NjAxNmQxNDkzMiAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDExLTA5LTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIE1ha2UgY3VzdG9tIHNjcm9sbGJhciB0aGVtZSBmb3IgdXNlIGluIERSVCwgdG8gcmVk
dWNlIHBpeGVsIGRpZmZzIGJldHdlZW4gcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgU2V0IHRoZSBwcmVmZXJlbmNlIHRvIGVu
YWJsZSBtb2NrIHNjcm9sbGJhcnMgd2hlbiBydW5uaW5nIHRlc3RzLgorCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXREZWZhdWx0
c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFN0YXRlVG9D
b25zaXN0ZW50VmFsdWVzKToKKwogMjAxMS0wOS0xNSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA1ZjM4YWU0Y2Q2MzQwM2NjMjA5NjIx
Zjk2NzdhODA2ODhjYTlhZTBkLi42ZDkxNDM4YmYyODllMjEwZWUwYjhiODhiMDJjOTZhZWZjMGZm
MzgzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC00
NDAsNiArNDQwLDcgQEAgc3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVl
cygpCiAgICAgW3ByZWZlcmVuY2VzIHNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzOk5PXTsKICAg
ICBbcHJlZmVyZW5jZXMgc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQ6Tk9dOwog
ICAgIFtwcmVmZXJlbmNlcyBzZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkOllFU107
CisgICAgW3ByZWZlcmVuY2VzIHNldE1vY2tTY3JvbGxiYXJzRW5hYmxlZDpZRVNdOwogCiAgICAg
W1dlYlByZWZlcmVuY2VzIF9zZXRDdXJyZW50TmV0d29ya0xvYWRlclNlc3Npb25Db29raWVBY2Nl
cHRQb2xpY3k6TlNIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21h
aW5dOwogICAgIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRl
eCA1ZDUzMWFkNzk4MDFmNGVmMjM2ZmY5NTliMTU5ZTc2ODQzOWM0YWY5Li4xYWFkY2Y0NjMyN2Mw
NTU0MzFkZjRhNzVkMDY5ODhlMjE2ODFmYWVlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcApAQCAtMzk0LDYgKzM5NCw3IEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6
OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIFdLUHJlZmVyZW5jZXNTZXRET01Q
YXN0ZUFsbG93ZWQocHJlZmVyZW5jZXMsIHRydWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRVbml2
ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHNBbGxvd2VkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBX
S1ByZWZlcmVuY2VzU2V0RmlsZUFjY2Vzc0Zyb21GaWxlVVJMc0FsbG93ZWQocHJlZmVyZW5jZXMs
IHRydWUpOworICAgIFdLUHJlZmVyZW5jZXNTZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQocHJlZmVy
ZW5jZXMsIHRydWUpOwogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBXS1ByZWZlcmVu
Y2VzU2V0RnVsbFNjcmVlbkVuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwogI2VuZGlmCg==
</data>
<flag name="review"
          id="104458"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107752</attachid>
            <date>2011-09-16 17:35:25 -0700</date>
            <delta_ts>2011-10-11 16:18:27 -0700</delta_ts>
            <desc>Use the mock theme when the setting is set</desc>
            <filename>bug-68134-20110916173524.patch</filename>
            <type>text/plain</type>
            <size>44044</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUyNDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYzc1MGIx
MjkyYTdkZWYxY2FhZTIwYThiYmJkMmNlYzdjYjhiYmQ4NC4uNDM0NDExNjJmMTAxMTY3MGE4MzFj
ZDE1ZTljZjlhMDY4ZGNhYzdlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEwMjcsNiArMTAy
Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5j
cHAKICAgICBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKICAgICBwbGF0Zm9ybS9TY3JvbGxi
YXIuY3BwCisgICAgcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwCiAgICAgcGxhdGZvcm0vU2Ny
b2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwCiAgICAgcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKICAg
ICBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU2ZTE2YmRkZjliZWUy
OGI0NjAwMmY5NTFhNTVmOWYxMTgxMGJjZS4uOWM5ZTdhM2UxODExMGRhMmE2NjU5Zjk3OGU0YTZh
MWMyNWU4ZTk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDExLTA5LTE2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgY3VzdG9t
IHNjcm9sbGJhciB0aGVtZSBmb3IgdXNlIGluIERSVCwgdG8gcmVkdWNlIHBpeGVsIGRpZmZzIGJl
dHdlZW4gcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02ODEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFVzZSBTY3JvbGxiYXJUaGVtZU1vY2sgd2hlbiB0aGUgc2V0dGluZyB0byB1c2UgbW9j
ayBzY3JvbGxiYXJzIGlzIGVuYWJsZWQuCisgICAgICAgIAorICAgICAgICBNYWtlIFNjcm9sbGJh
clRoZW1lOjpuYXRpdmVUaGVtZSgpIHByaXZhdGUsIGFuZCBhZGQgYSBuZXcgc3RhdGljIHRoZW1l
KCkgbWV0aG9kCisgICAgICAgIHRoYXQgcmVhZHMgdGhlIHNldHRpbmcsIGFuZCByZXR1cm5zIHRo
ZSBtb2NrIHRoZW1lIGlmIHNldC4gQWxsIGNhbGxlcnMgbm93IHVzZQorICAgICAgICB0aGVtZSgp
IHJ0aGVyIHRoYW4gbmF0aXZlVGhlbWUoKS4gQWRkIHRoZSBuZXcgU2Nyb2xsYmFyVGhlbWUuY3Bw
IGZpbGUgdG8gdGhlIGJ1aWxkLgorICAgICAgICAKKyAgICAgICAgRml4IHNjcm9sbCBhbmltYXRv
ciBjb2RlIGZvciBNYWMgYW5kIENocm9taXVtIHRoYXQgd2FzIGNhc3RpbmcgdGhlIFNjcm9sbGJh
clRoZW1lCisgICAgICAgIHdpdGhvdXQgdHlwZS1jaGVja2luZyBpdCB0byB0ZXN0IHdoZXRoZXIg
aXQncyB0aGUgbW9jayB0aGVtZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAg
ICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVy
RWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1lbnQ6OnN0YXJ0
UmVwZWF0aW5nVGltZXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yV2luOjpzY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JX
aW46OmFjY2VsZXJhdGlvblRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JX
aW46OmFuaW1hdGVTY3JvbGwpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6d2hlZWxFdmVudCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFy
ZWE6OnNldFNjcm9sbGJhck92ZXJsYXlTdHlsZSk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
YmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6bWF4T3ZlcmxhcEJldHdlZW5Q
YWdlcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6OlNjcm9sbGJhcik6CisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRoZW1lTW9jay5oLgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWU6OnRoZW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXJUaGVt
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6OmlzTW9ja1RoZW1lKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cExpc3RCb3guY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UG9wdXBMaXN0Qm94OjpsYXlvdXQpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L1Njcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWMubW06CisgICAgICAgIChXZWJDb3JlOjpjaHJvbWl1
bVNjcm9sbGJhclRoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yQ2hyb21p
dW1NYWM6OmRpZEFkZFZlcnRpY2FsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yQ2hyb21pdW1NYWM6OndpbGxSZW1vdmVWZXJ0aWNhbFNjcm9sbGJhcik6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckNocm9taXVtTWFjOjpkaWRBZGRIb3Jpem9udGFs
U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWM6
OndpbGxSZW1vdmVIb3Jpem9udGFsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yQ2hyb21pdW1NYWM6OnVwZGF0ZVNjcm9sbGVyU3R5bGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMubW06CisgICAgICAgICgr
W1Njcm9sbGJhclByZWZzT2JzZXJ2ZXIgYXBwZWFyYW5jZVByZWZzQ2hhbmdlZDpdKToKKyAgICAg
ICAgKCtbU2Nyb2xsYmFyUHJlZnNPYnNlcnZlciBiZWhhdmlvclByZWZzQ2hhbmdlZDpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjptYWNTY3JvbGxiYXJUaGVtZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRv
ck1hYzo6ZGlkQWRkVmVydGljYWxTY3JvbGxiYXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
QW5pbWF0b3JNYWM6OndpbGxSZW1vdmVWZXJ0aWNhbFNjcm9sbGJhcik6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcik6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6d2lsbFJlbW92ZUhvcml6b250YWxTY3Jv
bGxiYXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnVwZGF0ZVNjcm9s
bGVyU3R5bGUpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToK
KyAgICAgICAgKCtbU2Nyb2xsYmFyUHJlZnNPYnNlcnZlciBhcHBlYXJhbmNlUHJlZnNDaGFuZ2Vk
Ol0pOgorICAgICAgICAoK1tTY3JvbGxiYXJQcmVmc09ic2VydmVyIGJlaGF2aW9yUHJlZnNDaGFu
Z2VkOl0pOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svU2Nyb2xsYmFyVGhlbWVNb2NrLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1vY2s6OmlzTW9ja1RoZW1lKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXQ6OmFkanVzdElubmVyU3BpbkJ1dHRvblN0eWxlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTWVudVdp
bjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTaXplKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29ybmVyUmVjdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FsY1Nj
cm9sbGJhclRoaWNrbmVzc1VzaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1lOjpzY3Jv
bGxiYXJUaGlja25lc3MpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6
OmJ1dHRvbnNQbGFjZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhl
bWU6OnNob3VsZENlbnRlck9uVGh1bWIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xs
YmFyVGhlbWU6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6OnJlZ2lzdGVyU2Nyb2xsYmFyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1lOjp1bnJlZ2lzdGVyU2Nyb2xsYmFyKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OnNjcm9sbGJhclRoaWNrbmVzcyk6CisKIDIwMTEtMDkt
MTQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTWFr
ZSBjdXN0b20gc2Nyb2xsYmFyIHRoZW1lIGZvciB1c2UgaW4gRFJULCB0byByZWR1Y2UgcGl4ZWwg
ZGlmZnMgYmV0d2VlbiBwbGF0Zm9ybXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4
IDJmOWU0NzVhZjQyNjRkZTNiOWU0YjMyZTZhNjQxN2ZlY2JhMGJlODEuLjhkZjJhNTkyNGU5YTll
ZDMyODFlYjE1MGRhZTc2ZjA1MDQyOTZiNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQpAQCAtMjc4OSw2ICsyNzg5LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxiYXJUaGVtZUNvbXBvc2l0ZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXJUaGVtZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMzky
ZjE1YzA4MDI2OTVlOTU0MjBlMDhiMjVhZDUwODRiOGVjNTY5OS4uMjlkOGRkOTQyNjRhYzZkOTEw
ZGY4ZjM3NmM5MjdmZDA4ZDA2OWViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTM3Miw3ICsz
NzIsNyBAQCBfX1pON1dlYkNvcmUxNFNjaGVtZVJlZ2lzdHJ5MzRzaG91bGRMb2FkVVJMU2NoZW1l
QXNFbXB0eURvY3VtZW50RVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTY3JvbGxhYmxl
QXJlYTE3d2lsbEVuZExpdmVSZXNpemVFdgogX19aTjdXZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTE5
d2lsbFN0YXJ0TGl2ZVJlc2l6ZUV2CiBfX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhMjhzZXRT
Y3JvbGxPZmZzZXRGcm9tSW50ZXJuYWxzRVJLTlNfOEludFBvaW50RQotX19aTjdXZWJDb3JlMTRT
Y3JvbGxiYXJUaGVtZTExbmF0aXZlVGhlbWVFdgorX19aTjdXZWJDb3JlMTRTY3JvbGxiYXJUaGVt
ZTV0aGVtZUV2CiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcyM3NldFNjcm9sbGJhcnNTdXBwcmVz
c2VkRWJiCiBfX1pON1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luMTR0aHJlYWRzYWZlQ29weUV2CiBf
X1pON1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luMTZjcmVhdGVGcm9tU3RyaW5nRVJLTjNXVEY2U3Ry
aW5nRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDVmMzgzODI0ZWMzMTk3ZTQxOTZhZDIxNzkwYzQyZTRm
Y2U5MGM3NzUuLmFkNWY2MTI2YWZhNjI3YjlmMzg2ODExZDRmMmFlNWExZGFmNjcyY2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKQEAgLTMwNTksNiArMzA1OSw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vU2Nyb2xsYmFyLmNwcCcsCisgICAgICAgICAgICAn
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9TY3Jv
bGxiYXJUaGVtZUNvbXBvc2l0ZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Njcm9sbGJh
clRoZW1lQ29tcG9zaXRlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1NlY3VyZVRleHRJbnB1
dC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBjMjY5MDk3ZDkwNTE1YjE0OTA0YTZjNGRhOTJjOTU3
NzEwZjkyMzliLi40YzAyOTAwY2IxYjk1ODA0Mjk1Nzg4ZjM2YzU4OWY5ZTEzZGM3ZjA1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybwpAQCAtMTA2Niw2ICsxMDY2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZv
cm0vU2Nyb2xsYWJsZUFyZWEuY3BwIFwKICAgICBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAg
XAogICAgIHBsYXRmb3JtL1Njcm9sbGJhci5jcHAgXAorICAgIHBsYXRmb3JtL1Njcm9sbGJhclRo
ZW1lLmNwcCBcCiAgICAgcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwIFwKICAg
ICBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBcCiAgICAgcGxhdGZvcm0vdGV4dC9TZWdtZW50ZWRT
dHJpbmcuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKaW5kZXggYTI3MGEzZjQ4MmQ4NmMxNTgwZjY5NzU0ODk4ZjMwMGIyMzU4NzRjYi4uMzIzZGUw
M2U0ZDExOGQ1MGRlODZlZTQ2ZTFiNjE4ODUxZTFlMTgxMSAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI2OTM0LDYgKzI2OTM0LDEwIEBACiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3Jt
XFNjcm9sbGJhclRoZW1lLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBhMGYyMWRiYzBjOGJmYWY0Mjg5ZjhhMjdiMDcxZDAyMGNlMDIx
MGFjLi5lYTMyNzQ3YzI4NGE3NjM2Y2FlMjE3OTc1YjA5MDI4MTc3OTM5Y2UwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzEs
NiArMjMxLDcgQEAKIAkJMEZENzIzODMwRUM4QkQ5MzAwQ0E1REQ3IC8qIEZsb2F0UXVhZC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQ3MjM4MTBF
QzhCRDkzMDBDQTVERDcgLyogRmxvYXRRdWFkLmNwcCAqLzsgfTsKIAkJMEZFNzE0MDUxNDIxNzBC
ODAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lTW9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkU3MTQwMzE0MjE3MEI4MDBEQjMzQkEgLyogU2Ny
b2xsYmFyVGhlbWVNb2NrLmNwcCAqLzsgfTsKIAkJMEZFNzE0MDYxNDIxNzBCODAwREIzM0JBIC8q
IFNjcm9sbGJhclRoZW1lTW9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZFNzE0MDQxNDIxNzBCODAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lTW9j
ay5oICovOyB9OworCQkwRkU3MTQxNjE0MjE4OUZDMDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFNzE0
MTUxNDIxODlGQzAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lLmNwcCAqLzsgfTsKIAkJMEZGNTAy
NUIxMDJCQTkwMTAwNjZGMzlBIC8qIERPTVN0eWxlTWVkaWEuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjUwMjU5MTAyQkE5MDEwMDY2RjM5QSAvKiBE
T01TdHlsZU1lZGlhLmggKi87IH07CiAJCTBGRjUwMjVDMTAyQkE5MDEwMDY2RjM5QSAvKiBET01T
dHlsZU1lZGlhLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZGNTAyNUExMDJCQTkwMTAwNjZGMzlBIC8qIERPTVN0eWxlTWVkaWEubW0gKi87IH07CiAJ
CTBGRjUwMjYzMTAyQkE5MkMwMDY2RjM5QSAvKiBET01TdHlsZU1lZGlhSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRjUwMjYyMTAyQkE5
MkIwMDY2RjM5QSAvKiBET01TdHlsZU1lZGlhSW50ZXJuYWwuaCAqLzsgfTsKQEAgLTY3MjUsNiAr
NjcyNiw3IEBACiAJCTBGRDcyMzgxMEVDOEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmxvYXRRdWFkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZFNzE0MDMxNDIxNzBCODAwREIzM0JBIC8qIFNjcm9s
bGJhclRoZW1lTW9jay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBT
Y3JvbGxiYXJUaGVtZU1vY2suY3BwOyBwYXRoID0gbW9jay9TY3JvbGxiYXJUaGVtZU1vY2suY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkU3MTQwNDE0MjE3MEI4MDBEQjMzQkEg
LyogU2Nyb2xsYmFyVGhlbWVNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFNjcm9sbGJhclRoZW1lTW9jay5oOyBwYXRoID0gbW9jay9TY3JvbGxiYXJUaGVtZU1vY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZFNzE0MTUxNDIxODlGQzAwREIzM0JBIC8q
IFNjcm9sbGJhclRoZW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNjcm9sbGJhclRoZW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGNTAy
NTkxMDJCQTkwMTAwNjZGMzlBIC8qIERPTVN0eWxlTWVkaWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRE9NU3R5bGVNZWRpYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwRkY1MDI1QTEwMkJBOTAxMDA2NkYzOUEgLyogRE9NU3R5bGVNZWRpYS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVN0eWxlTWVkaWEubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRjUwMjYyMTAyQkE5MkIwMDY2RjM5QSAvKiBET01T
dHlsZU1lZGlhSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
U3R5bGVNZWRpYUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTIx
Myw2ICsxOTIxNSw3IEBACiAJCQkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFu
aW1hdG9yLmggKi8sCiAJCQkJQkNBQTkwQzIwQTdFQkE2MDAwOEIxMjI5IC8qIFNjcm9sbGJhci5j
cHAgKi8sCiAJCQkJQkM3QjJBRjgwNDUwODI0MTAwQTgwMDBGIC8qIFNjcm9sbGJhci5oICovLAor
CQkJCTBGRTcxNDE1MTQyMTg5RkMwMERCMzNCQSAvKiBTY3JvbGxiYXJUaGVtZS5jcHAgKi8sCiAJ
CQkJQkM4Qjg1NEEwRTdDN0Y1NjAwQUI2OTg0IC8qIFNjcm9sbGJhclRoZW1lLmggKi8sCiAJCQkJ
QkMxNDAyODkwRTgzNjgwODAwMzE5NzE3IC8qIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmggKi8s
CiAJCQkJQkMxNDAyODgwRTgzNjgwODAwMzE5NzE3IC8qIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRl
LmNwcCAqLywKQEAgLTI2MzA2LDYgKzI2MzA5LDcgQEAKIAkJCQk5NzhBRDY3NDE0MTMwQThEMDBD
N0NBRTMgLyogSFRNTFNwYW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NTJEMzhE
MTQxMzEwNEIwMDMzMDVCRCAvKiBKU0hUTUxTcGFuRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRkU3MTQwNTE0MjE3MEI4MDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWVNb2NrLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTBGRTcxNDE2MTQyMTg5RkMwMERCMzNCQSAvKiBTY3JvbGxiYXJU
aGVtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCmluZGV4IGM0OGQ1ZjkwMGE4NTI3
YjJiMzhhYjdiOTZkZTQ1NmE3NjhkMTIyNDguLmY2OGM3YzNmNjc1MGM4MTA0MDNkY2ZjZjIzMGVj
MTFjMjliZTllYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRD
b250cm9sSW5uZXJFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
VGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcApAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgU3Bp
bkJ1dHRvbkVsZW1lbnQ6OnJlbGVhc2VDYXB0dXJlKCkKIHZvaWQgU3BpbkJ1dHRvbkVsZW1lbnQ6
OnN0YXJ0UmVwZWF0aW5nVGltZXIoKQogewogICAgIG1fcHJlc3NTdGFydGluZ1N0YXRlID0gbV91
cERvd25TdGF0ZTsKLSAgICBTY3JvbGxiYXJUaGVtZSogdGhlbWUgPSBTY3JvbGxiYXJUaGVtZTo6
bmF0aXZlVGhlbWUoKTsKKyAgICBTY3JvbGxiYXJUaGVtZSogdGhlbWUgPSBTY3JvbGxiYXJUaGVt
ZTo6dGhlbWUoKTsKICAgICBtX3JlcGVhdGluZ1RpbWVyLnN0YXJ0KHRoZW1lLT5pbml0aWFsQXV0
b3Njcm9sbFRpbWVyRGVsYXkoKSwgdGhlbWUtPmF1dG9zY3JvbGxUaW1lckRlbGF5KCkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvcldpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvcldpbi5jcHAKaW5kZXgg
ZDk3MGQyNzVhN2QzZGQ1M2IyZWVmMWQ0MGEyNzBkMDY0ZjlkNjI2Zi4uNThiMDQ5ZDI3NmExNmVh
MGRhOWJlMTNiMmQ0ODQ3OWYzZmNmZDI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3JXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yV2luLmNwcApAQCAtOTksNyArOTksNyBAQCBib29sIFNjcm9sbEFuaW1h
dG9yV2luOjpzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdy
YW51bGFyaQogICAgIC8vCiAgICAgLy8gV2hlbiBhdXRvc2Nyb2xsaW5nLCB0aGUgc2Nyb2xsYmFy
J3MgYXV0b3Njcm9sbCB0aW1lciB3aWxsIGNhbGwgdXMgdG8KICAgICAvLyBpbmNyZW1lbnQgdGhl
IGRlc2lyZWQgcG9zaXRpb24gYnkgfHN0ZXB8ICh3aXRoIHxtdWx0aXBsaWVyfCA9PSAxKSBldmVy
eQotICAgIC8vIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5hdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIHNlY29uZHMuICBJZiB3ZSBzZXQKKyAgICAvLyBTY3JvbGxiYXJUaGVtZTo6dGhlbWUo
KS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBzZWNvbmRzLiBJZiB3ZSBzZXQKICAgICAvLyB0aGUg
ZGVzaXJlZCB2ZWxvY2l0eSB0byBleGFjdGx5IHRoaXMgcmF0ZSwgc21vb3RoIHNjcm9sbGluZyB3
aWxsIG5laXRoZXIKICAgICAvLyByYWNlIGFoZWFkIChhbmQgdGhlbiBoYXZlIHRvIHNsb3cgZG93
bikgbm9yIGluY3JlYXNpbmdseSBsYWcgYmVoaW5kLCBidXQKICAgICAvLyB3aWxsIGJlIHNtb290
aCBhbmQgc3luY2hyb25pemVkLgpAQCAtMTEwLDcgKzExMCw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0
b3JXaW46OnNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3Jh
bnVsYXJpCiAgICAgLy8gICBsYWcgPSB8c3RlcHwgLSB2KDAuNXRBICsgdEQpCiAgICAgLy8gV2hl
cmUKICAgICAvLyAgIHYgPSBUaGUgc3RlYWR5LXN0YXRlIHZlbG9jaXR5LAotICAgIC8vICAgICAg
IHxzdGVwfCAvIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5hdXRvc2Nyb2xsVGltZXJE
ZWxheSgpCisgICAgLy8gICAgICAgfHN0ZXB8IC8gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPmF1
dG9zY3JvbGxUaW1lckRlbGF5KCkKICAgICAvLyAgIHRBID0gYWNjZWxlcmF0aW9uVGltZSgpCiAg
ICAgLy8gICB0RCA9IFRoZSB0aW1lIHdlIHByZXRlbmQgaGFzIGFscmVhZHkgcGFzc2VkIHdoZW4g
c3RhcnRpbmcgdG8gc2Nyb2xsLAogICAgIC8vICAgICAgICB8YW5pbWF0aW9uVGltZXJEZWxheXwK
QEAgLTE1Miw3ICsxNTIsNyBAQCBib29sIFNjcm9sbEFuaW1hdG9yV2luOjpzY3JvbGwoU2Nyb2xs
YmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaQogICAgIC8vICAgbGFn
ID0gfHN0ZXB8ICogKChyIC8gaykgLSAxKQogICAgIC8vIFdoZXJlCiAgICAgLy8gICByID0gVGhl
IHJhdGlvIG9mIHRoZSBhdXRvc2Nyb2xsIHJlcGVhdCBkZWxheSwKLSAgICAvLyAgICAgICBTY3Jv
bGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSwgdG8gdGhl
CisgICAgLy8gICAgICAgU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPmF1dG9zY3JvbGxUaW1lckRl
bGF5KCksIHRvIHRoZQogICAgIC8vICAgICAgIGtleS93aGVlbCByZXBlYXQgZGVsYXkgKGkuZS4g
PiAxIHdoZW4ga2V5cyByZXBlYXQgZmFzdGVyKQogICAgIC8vICAgayA9IFRoZSB2ZWxvY2l0eSB0
cmltIGNvbnN0YW50IGdpdmVuIGJlbG93CiAgICAgLy8KQEAgLTE2MywxNCArMTYzLDE0IEBAIGJv
b2wgU2Nyb2xsQW5pbWF0b3JXaW46OnNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRh
dGlvbiwgU2Nyb2xsR3JhbnVsYXJpCiAgICAgLy8gY2FsY3VsYXRlZCBhYm92ZSBiZWluZyBsYXJn
ZXIgdGhhbiB0aGF0KS4gIFRoaXMgd2lsbCByZXN1bHQgaW4gInBlcmZlY3QiCiAgICAgLy8gYmVo
YXZpb3IgZm9yIGF1dG9zY3JvbGxpbmcgd2l0aG91dCBoYXZpbmcgdG8gc3BlY2lhbC1jYXNlIGl0
LgogICAgIGlmIChhbHJlYWR5QW5pbWF0aW5nKQotICAgICAgICBhbmltYXRpb25TdGVwIC89ICgy
LjAgLSAoKDEuMCAvIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5hdXRvc2Nyb2xsVGlt
ZXJEZWxheSgpKSAqICgwLjUgKiBhY2NlbGVyYXRpb25UaW1lKCkgKyBhbmltYXRpb25UaW1lckRl
bGF5KSkpOworICAgICAgICBhbmltYXRpb25TdGVwIC89ICgyLjAgLSAoKDEuMCAvIFNjcm9sbGJh
clRoZW1lOjp0aGVtZSgpLT5hdXRvc2Nyb2xsVGltZXJEZWxheSgpKSAqICgwLjUgKiBhY2NlbGVy
YXRpb25UaW1lKCkgKyBhbmltYXRpb25UaW1lckRlbGF5KSkpOwogICAgIC8vIFRoZSByZXN1bHQg
b2YgYWxsIHRoaXMgaXMgdGhhdCBzaW5nbGUga2V5cHJlc3NlcyBvciB3aGVlbCBmbGlja3Mgd2ls
bAogICAgIC8vIHNjcm9sbCBpbiB0aGUgc2FtZSB0aW1lIHBlcmlvZCBhcyBzaW5nbGUgcHJlc3Nl
cyBvZiBzY3JvbGxiYXIgZWxlbWVudHM7CiAgICAgLy8gaG9sZGluZyB0aGUgbW91c2UgZG93biBv
biBhIHNjcm9sbGJhciBwYXJ0IHdpbGwgc2Nyb2xsIGFzIGZhc3QgYXMKICAgICAvLyBwb3NzaWJs
ZSB3aXRob3V0IGhpdGNoaW5nOyBhbmQgb3RoZXIgcmVwZWF0ZWQgc2Nyb2xsIGV2ZW50cyB3aWxs
IGFsc28KICAgICAvLyBzY3JvbGwgd2l0aCB0aGUgc2FtZSB0aW1lIGxhZyBhcyBob2xkaW5nIGRv
d24gdGhlIG1vdXNlIG9uIGEgc2Nyb2xsYmFyCiAgICAgLy8gcGFydC4KLSAgICBkYXRhLT5tX2Rl
c2lyZWRWZWxvY2l0eSA9IGFuaW1hdGlvblN0ZXAgLyBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhl
bWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsKKyAgICBkYXRhLT5tX2Rlc2lyZWRWZWxvY2l0
eSA9IGFuaW1hdGlvblN0ZXAgLyBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+YXV0b3Njcm9sbFRp
bWVyRGVsYXkoKTsKIAogICAgIC8vIElmIHdlJ3JlIG5vdCBhbHJlYWR5IHNjcm9sbGluZywgc3Rh
cnQuCiAgICAgaWYgKCFhbHJlYWR5QW5pbWF0aW5nKQpAQCAtMTk4LDExICsxOTgsMTEgQEAgdm9p
ZCBTY3JvbGxBbmltYXRvcldpbjo6c2Nyb2xsVG9PZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmIG9mZnNldCkKIAogZG91YmxlIFNjcm9sbEFuaW1hdG9yV2luOjphY2NlbGVy
YXRpb25UaW1lKCkKIHsKLSAgICAvLyBXZSBlbGVjdCB0byB1c2UgU2Nyb2xsYmFyVGhlbWU6Om5h
dGl2ZVRoZW1lKCktPmF1dG9zY3JvbGxUaW1lckRlbGF5KCkgYXMKKyAgICAvLyBXZSBlbGVjdCB0
byB1c2UgU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPmF1dG9zY3JvbGxUaW1lckRlbGF5KCkgYXMK
ICAgICAvLyB0aGUgbGVuZ3RoIG9mIHRpbWUgd2UnbGwgdGFrZSB0byBhY2NlbGVyYXRlIGZyb20g
MCB0byBvdXIgdGFyZ2V0CiAgICAgLy8gdmVsb2NpdHkuICBDaG9vc2luZyBhIGxhcmdlciB2YWx1
ZSB3b3VsZCBwcm9kdWNlIGEgbW9yZSBwcm9ub3VuY2VkCiAgICAgLy8gYWNjZWxlcmF0aW9uIGVm
ZmVjdC4KLSAgICByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmF1dG9zY3Jv
bGxUaW1lckRlbGF5KCk7CisgICAgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5hdXRv
c2Nyb2xsVGltZXJEZWxheSgpOwogfQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yV2luOjphbmltYXRp
b25UaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yV2luPiogdGltZXIpCkBAIC0yMjQsNyAr
MjI0LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvcldpbjo6YW5pbWF0ZVNjcm9sbChQZXJBeGlzRGF0
YSogZGF0YSkKICAgICAvLyBXaGVyZQogICAgIC8vICAgdDAgPSBUaGUgdGltZSB0byBwZXJmb3Jt
IHRoZSBzY3JvbGwgd2l0aG91dCBzbW9vdGggc2Nyb2xsaW5nCiAgICAgLy8gICB0QSA9IFRoZSBh
Y2NlbGVyYXRpb24gdGltZSwKLSAgICAvLyAgICAgICAgU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRo
ZW1lKCktPmF1dG9zY3JvbGxUaW1lckRlbGF5KCkgKHNlZSBiZWxvdykKKyAgICAvLyAgICAgICAg
U2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPmF1dG9zY3JvbGxUaW1lckRlbGF5KCkgKHNlZSBiZWxv
dykKICAgICAvLyAgIHREID0gfGFuaW1hdGlvblRpbWVyRGVsYXl8CiAgICAgLy8gICB0UyA9IEEg
dmFsdWUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSB0aW1lIHJlcXVpcmVkIHRvIHBlcmZvcm0g
YQogICAgIC8vICAgICAgICBzaW5nbGUgc2Nyb2xsIGluY3JlbWVudCwgaS5lLiB0aGUgd29yayBk
b25lIGR1ZSB0byBjYWxsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCmlu
ZGV4IDk1NWE5ZTQ5NWM4MDA0YTc5MjkyYzMxZGM3Y2JmMTBjMGE5ODlkYzEuLmE0ZWIxZDQwMDM1
ZDJjMzhhNWYzMWQ4NmI4NGFiZTdlZDM5OWNlMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuY3BwCkBAIC05NTMsNyArOTUzLDcgQEAgdm9pZCBTY3JvbGxWaWV3Ojp1cGRhdGVT
Y3JvbGxDb3JuZXIoKQogCiB2b2lkIFNjcm9sbFZpZXc6OnBhaW50U2Nyb2xsQ29ybmVyKEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgY29ybmVyUmVjdCkKIHsKLSAgICBT
Y3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+cGFpbnRTY3JvbGxDb3JuZXIodGhpcywgY29u
dGV4dCwgY29ybmVyUmVjdCk7CisgICAgU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnBhaW50U2Ny
b2xsQ29ybmVyKHRoaXMsIGNvbnRleHQsIGNvcm5lclJlY3QpOwogfQogCiB2b2lkIFNjcm9sbFZp
ZXc6OmludmFsaWRhdGVTY3JvbGxDb3JuZXJSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCkBAIC0x
MDkzLDcgKzEwOTMsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OmNhbGN1bGF0ZU92ZXJoYW5nQXJlYXNG
b3JQYWludGluZyhJbnRSZWN0JiBob3Jpem9udGFsT3ZlcmhhbmdSZQogCiB2b2lkIFNjcm9sbFZp
ZXc6OnBhaW50T3ZlcmhhbmdBcmVhcyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IElu
dFJlY3QmIGhvcml6b250YWxPdmVyaGFuZ1JlY3QsIGNvbnN0IEludFJlY3QmIHZlcnRpY2FsT3Zl
cmhhbmdSZWN0LCBjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QpCiB7Ci0gICAgU2Nyb2xsYmFyVGhl
bWU6Om5hdGl2ZVRoZW1lKCktPnBhaW50T3ZlcmhhbmdBcmVhcyh0aGlzLCBjb250ZXh0LCBob3Jp
em9udGFsT3ZlcmhhbmdSZWN0LCB2ZXJ0aWNhbE92ZXJoYW5nUmVjdCwgZGlydHlSZWN0KTsKKyAg
ICBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+cGFpbnRPdmVyaGFuZ0FyZWFzKHRoaXMsIGNvbnRl
eHQsIGhvcml6b250YWxPdmVyaGFuZ1JlY3QsIHZlcnRpY2FsT3ZlcmhhbmdSZWN0LCBkaXJ0eVJl
Y3QpOwogfQogCiB2b2lkIFNjcm9sbFZpZXc6OmNhbGN1bGF0ZUFuZFBhaW50T3ZlcmhhbmdBcmVh
cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAppbmRleCA0YjUxYTY1MDU1
MmFiYmIyODc5MjQ4NzI2Zjk3NTI0MjZiOGRmMmQ4Li5jODJhYzU5ZTI2YTRkNjI3YzI4MDNkMjI0
MWJlMTg4YjI2MDY2OGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFy
ZWEuY3BwCkBAIC0yMjMsMTIgKzIyMywxMiBAQCB2b2lkIFNjcm9sbGFibGVBcmVhOjpzZXRTY3Jv
bGxiYXJPdmVybGF5U3R5bGUoU2Nyb2xsYmFyT3ZlcmxheVN0eWxlIG92ZXJsYXlTdHlsZQogICAg
IG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlID0gb3ZlcmxheVN0eWxlOwogCiAgICAgaWYgKGhvcml6
b250YWxTY3JvbGxiYXIoKSkgewotICAgICAgICBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUo
KS0+dXBkYXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKGhvcml6b250YWxTY3JvbGxiYXIoKSk7Cisg
ICAgICAgIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT51cGRhdGVTY3JvbGxiYXJPdmVybGF5U3R5
bGUoaG9yaXpvbnRhbFNjcm9sbGJhcigpKTsKICAgICAgICAgaG9yaXpvbnRhbFNjcm9sbGJhcigp
LT5pbnZhbGlkYXRlKCk7CiAgICAgfQogICAgIAogICAgIGlmICh2ZXJ0aWNhbFNjcm9sbGJhcigp
KSB7Ci0gICAgICAgIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT51cGRhdGVTY3JvbGxi
YXJPdmVybGF5U3R5bGUodmVydGljYWxTY3JvbGxiYXIoKSk7CisgICAgICAgIFNjcm9sbGJhclRo
ZW1lOjp0aGVtZSgpLT51cGRhdGVTY3JvbGxiYXJPdmVybGF5U3R5bGUodmVydGljYWxTY3JvbGxi
YXIoKSk7CiAgICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFyKCktPmludmFsaWRhdGUoKTsKICAgICB9
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAppbmRleCA3NzZkMjZhNDk1YWYz
MTBkOGE0ZTZmZDE1Y2QwNmE5NTVjNDJlMjZjLi5jMmZkNzRkYzdlOTI4ODBkMDIwYzE3ZjYxMmVk
MzM0Yjg4Zjg0OTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKQEAgLTYw
LDcgKzYwLDcgQEAgUGFzc1JlZlB0cjxTY3JvbGxiYXI+IFNjcm9sbGJhcjo6Y3JlYXRlTmF0aXZl
U2Nyb2xsYmFyKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmwKIAogaW50IFNjcm9sbGJhcjo6bWF4
T3ZlcmxhcEJldHdlZW5QYWdlcygpCiB7Ci0gICAgc3RhdGljIGludCBtYXhPdmVybGFwQmV0d2Vl
blBhZ2VzID0gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPm1heE92ZXJsYXBCZXR3ZWVu
UGFnZXMoKTsKKyAgICBzdGF0aWMgaW50IG1heE92ZXJsYXBCZXR3ZWVuUGFnZXMgPSBTY3JvbGxi
YXJUaGVtZTo6dGhlbWUoKS0+bWF4T3ZlcmxhcEJldHdlZW5QYWdlcygpOwogICAgIHJldHVybiBt
YXhPdmVybGFwQmV0d2VlblBhZ2VzOwogfQogCkBAIC04OCw3ICs4OCw3IEBAIFNjcm9sbGJhcjo6
U2Nyb2xsYmFyKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSwgU2Nyb2xsYmFyT3JpZW50
YXRpb24gb3JpZW50CiAgICAgLCBtX3N1cHByZXNzSW52YWxpZGF0aW9uKGZhbHNlKQogewogICAg
IGlmICghbV90aGVtZSkKLSAgICAgICAgbV90aGVtZSA9IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVU
aGVtZSgpOworICAgICAgICBtX3RoZW1lID0gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCk7CiAKICAg
ICBtX3RoZW1lLT5yZWdpc3RlclNjcm9sbGJhcih0aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzNzRkMmJiZGRlMWY1MDA3ZjIy
MGI4MTBlMTNiYzA5ZWM4NGY5NGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWUuaCIKKworI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lTW9j
ay5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU2Ny
b2xsYmFyVGhlbWUqIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpCit7CisgICAgaWYgKFNldHRpbmdz
Ojptb2NrU2Nyb2xsYmFyc0VuYWJsZWQoKSkgeworICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFNjcm9sbGJhclRoZW1lTW9jaywgbW9ja1RoZW1lLCAoKSk7CisgICAgICAgIHJldHVybiAmbW9j
a1RoZW1lOworICAgIH0KKyAgICByZXR1cm4gbmF0aXZlVGhlbWUoKTsKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGU5ZjA5MTBmY2UyZDI0N2Q3
MWM5ZWZhYjE1MjVjZDNhYmJjODdlMy4uOWVmMTI0Mjc2MDkzMmM4ODAxZWMxZWEwMTU4Y2Q5ZmEy
NDM3ZjIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhl
bWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0x
MDAsNiArMTAwLDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY3JvbGxi
YXIoU2Nyb2xsYmFyKikge30KICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNjcm9sbGJhcihT
Y3JvbGxiYXIqKSB7fQogCisgICAgdmlydHVhbCBib29sIGlzTW9ja1RoZW1lKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KKworICAgIHN0YXRpYyBTY3JvbGxiYXJUaGVtZSogdGhlbWUoKTsKKwor
cHJpdmF0ZToKICAgICBzdGF0aWMgU2Nyb2xsYmFyVGhlbWUqIG5hdGl2ZVRoZW1lKCk7IC8vIE11
c3QgYmUgaW1wbGVtZW50ZWQgdG8gcmV0dXJuIHRoZSBjb3JyZWN0IHRoZW1lIHN1YmNsYXNzLgog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBM
aXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTGlzdEJv
eC5jcHAKaW5kZXggMjAxNTA2NGNkYzE4ZTI1OTIwNTI1ZjMwYTQ3OTM5MzA1N2UxMjA2OC4uMzFj
N2E5YmQzNjBkMmVmYjk4NTZmZjk0ZjAwOTNiMTgwZjQ3NTkyYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBMaXN0Qm94LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cExpc3RCb3guY3BwCkBAIC04NTYsNyArODU2
LDcgQEAgdm9pZCBQb3B1cExpc3RCb3g6OmxheW91dCgpCiAgICAgLy8gU2V0IG91ciB3aWRnZXQg
YW5kIHNjcm9sbGFibGUgY29udGVudHMgc2l6ZXMuCiAgICAgaW50IHNjcm9sbGJhcldpZHRoID0g
MDsKICAgICBpZiAobV92aXNpYmxlUm93cyA8IG51bUl0ZW1zKCkpIHsKLSAgICAgICAgc2Nyb2xs
YmFyV2lkdGggPSBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhpY2tu
ZXNzKCk7CisgICAgICAgIHNjcm9sbGJhcldpZHRoID0gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkt
PnNjcm9sbGJhclRoaWNrbmVzcygpOwogCiAgICAgICAgIC8vIFVzZSBrTWluRW5kT2ZMaW5lUGFk
ZGluZyB3aGVuIHRoZXJlIGlzIGEgc2Nyb2xsYmFyIHNvIHRoYXQgd2UgdXNlCiAgICAgICAgIC8v
IGFzIG11Y2ggYXMgKGxpbmVFbmRQYWRkaW5nV2lkdGggLSBrTWluRW5kT2ZMaW5lUGFkZGluZykg
cGFkZGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Ny
b2xsQW5pbWF0b3JDaHJvbWl1bU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL1Njcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWMubW0KaW5kZXggOWE3ZjJiNTMyNDc1NGViODEz
YjJhZDI5OGExMTQ0MTY5MmNlYjk0MS4uNDIyZTE5ODE2MTE1NTkyNzI2ZDNjMzZiM2ZlNDczNmIy
NDQ2MzUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Ny
b2xsQW5pbWF0b3JDaHJvbWl1bU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9TY3JvbGxBbmltYXRvckNocm9taXVtTWFjLm1tCkBAIC00NjEsNiArNDYxLDEyIEBA
IFBhc3NPd25QdHI8U2Nyb2xsQW5pbWF0b3I+IFNjcm9sbEFuaW1hdG9yOjpjcmVhdGUoU2Nyb2xs
YWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhCiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTY3JvbGxB
bmltYXRvckNocm9taXVtTWFjKHNjcm9sbGFibGVBcmVhKSk7CiB9CiAKK3N0YXRpYyBTY3JvbGxi
YXJUaGVtZUNocm9taXVtTWFjKiBjaHJvbWl1bVNjcm9sbGJhclRoZW1lKCkKK3sKKyAgICBTY3Jv
bGxiYXJUaGVtZSogc2Nyb2xsYmFyVGhlbWUgPSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKTsKKyAg
ICByZXR1cm4gIXNjcm9sbGJhclRoZW1lLT5pc01vY2tUaGVtZSgpID8gc3RhdGljX2Nhc3Q8U2Ny
b2xsYmFyVGhlbWVDaHJvbWl1bU1hYyo+KHNjcm9sbGJhclRoZW1lKSA6IDA7Cit9CisKIFNjcm9s
bEFuaW1hdG9yQ2hyb21pdW1NYWM6OlNjcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWMoU2Nyb2xsYWJs
ZUFyZWEqIHNjcm9sbGFibGVBcmVhKQogICAgIDogU2Nyb2xsQW5pbWF0b3Ioc2Nyb2xsYWJsZUFy
ZWEpCiAjaWYgVVNFKFdLX1NDUk9MTEJBUl9QQUlOVEVSKQpAQCAtNjgyLDggKzY4OCwxMSBAQCB2
b2lkIFNjcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWM6OmRpZEVuZFNjcm9sbEdlc3R1cmUoKSBjb25z
dAogCiB2b2lkIFNjcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWM6OmRpZEFkZFZlcnRpY2FsU2Nyb2xs
YmFyKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogewotICAgIGlmIChpc1Njcm9sbGJhck92ZXJsYXlB
UElBdmFpbGFibGUoKSkgewotICAgICAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgcGFpbnRlciA9
IHN0YXRpY19jYXN0PFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqPihXZWJDb3Jl
OjpTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Ny
b2xsYmFyKTsKKyAgICBpZiAoIWlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2YWlsYWJsZSgpKQorICAg
ICAgICByZXR1cm47CisgICAgICAgIAorICAgIGlmIChTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFj
KiB0aGVtZSA9IGNocm9taXVtU2Nyb2xsYmFyVGhlbWUoKSkgeworICAgICAgICBXS1Njcm9sbGJh
clBhaW50ZXJSZWYgcGFpbnRlciA9IHRoZW1lLT5wYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJh
cik7CiAgICAgICAgIHdrU2Nyb2xsYmFyUGFpbnRlclNldERlbGVnYXRlKHBhaW50ZXIsIG1fc2Ny
b2xsYmFyUGFpbnRlckRlbGVnYXRlLmdldCgpKTsKICAgICAgICAgd2tTZXRQYWludGVyRm9yUGFp
bnRlckNvbnRyb2xsZXIobV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxlci5nZXQoKSwgcGFpbnRl
ciwgZmFsc2UpOwogICAgICAgICBpZiAoc2Nyb2xsYWJsZUFyZWEoKS0+aW5MaXZlUmVzaXplKCkp
CkBAIC02OTMsOCArNzAyLDExIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6ZGlk
QWRkVmVydGljYWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiAKIHZvaWQgU2Nyb2xs
QW5pbWF0b3JDaHJvbWl1bU1hYzo6d2lsbFJlbW92ZVZlcnRpY2FsU2Nyb2xsYmFyKFNjcm9sbGJh
ciogc2Nyb2xsYmFyKQogewotICAgIGlmIChpc1Njcm9sbGJhck92ZXJsYXlBUElBdmFpbGFibGUo
KSkgewotICAgICAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgcGFpbnRlciA9IHN0YXRpY19jYXN0
PFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqPihXZWJDb3JlOjpTY3JvbGxiYXJU
aGVtZTo6bmF0aXZlVGhlbWUoKSktPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKTsKKyAg
ICBpZiAoIWlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2YWlsYWJsZSgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAoU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyogdGhlbWUgPSBjaHJvbWl1bVNj
cm9sbGJhclRoZW1lKCkpIHsKKyAgICAgICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIHBhaW50ZXIg
PSB0aGVtZS0+cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIpOwogICAgICAgICB3a1Njcm9s
bGJhclBhaW50ZXJTZXREZWxlZ2F0ZShwYWludGVyLCBuaWwpOwogICAgICAgICB3a1NldFBhaW50
ZXJGb3JQYWludGVyQ29udHJvbGxlcihtX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgp
LCBuaWwsIGZhbHNlKTsKICAgICB9CkBAIC03MDIsOCArNzE0LDExIEBAIHZvaWQgU2Nyb2xsQW5p
bWF0b3JDaHJvbWl1bU1hYzo6d2lsbFJlbW92ZVZlcnRpY2FsU2Nyb2xsYmFyKFNjcm9sbGJhciog
c2Nyb2xsYmFyCiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6ZGlkQWRkSG9yaXpv
bnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikKIHsKLSAgICBpZiAoaXNTY3JvbGxi
YXJPdmVybGF5QVBJQXZhaWxhYmxlKCkpIHsKLSAgICAgICAgV0tTY3JvbGxiYXJQYWludGVyUmVm
IHBhaW50ZXIgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFj
Kj4oV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkpLT5wYWludGVyRm9yU2Ny
b2xsYmFyKHNjcm9sbGJhcik7CisgICAgaWYgKCFpc1Njcm9sbGJhck92ZXJsYXlBUElBdmFpbGFi
bGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKFNjcm9sbGJhclRoZW1lQ2hyb21pdW1N
YWMqIHRoZW1lID0gY2hyb21pdW1TY3JvbGxiYXJUaGVtZSgpKSB7CisgICAgICAgIFdLU2Nyb2xs
YmFyUGFpbnRlclJlZiBwYWludGVyID0gdGhlbWUtPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xs
YmFyKTsKICAgICAgICAgd2tTY3JvbGxiYXJQYWludGVyU2V0RGVsZWdhdGUocGFpbnRlciwgbV9z
Y3JvbGxiYXJQYWludGVyRGVsZWdhdGUuZ2V0KCkpOwogICAgICAgICB3a1NldFBhaW50ZXJGb3JQ
YWludGVyQ29udHJvbGxlcihtX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpLCBwYWlu
dGVyLCB0cnVlKTsKICAgICAgICAgaWYgKHNjcm9sbGFibGVBcmVhKCktPmluTGl2ZVJlc2l6ZSgp
KQpAQCAtNzEzLDggKzcyOCwxMSBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWM6OmRp
ZEFkZEhvcml6b250YWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiAKIHZvaWQgU2Ny
b2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6d2lsbFJlbW92ZUhvcml6b250YWxTY3JvbGxiYXIoU2Ny
b2xsYmFyKiBzY3JvbGxiYXIpCiB7Ci0gICAgaWYgKGlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2YWls
YWJsZSgpKSB7Ci0gICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBwYWludGVyID0gc3RhdGlj
X2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyo+KFdlYkNvcmU6OlNjcm9s
bGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIp
OworICAgIGlmICghaXNTY3JvbGxiYXJPdmVybGF5QVBJQXZhaWxhYmxlKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKiB0aGVtZSA9IGNocm9t
aXVtU2Nyb2xsYmFyVGhlbWUoKSkgeworICAgICAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgcGFp
bnRlciA9IHRoZW1lLT5wYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhcik7CiAgICAgICAgIHdr
U2Nyb2xsYmFyUGFpbnRlclNldERlbGVnYXRlKHBhaW50ZXIsIG5pbCk7CiAgICAgICAgIHdrU2V0
UGFpbnRlckZvclBhaW50ZXJDb250cm9sbGVyKG1fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIu
Z2V0KCksIG5pbCwgdHJ1ZSk7CiAgICAgfQpAQCAtMTIyNSw3ICsxMjQzLDEyIEBAIHZvaWQgU2Ny
b2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6dXBkYXRlU2Nyb2xsZXJTdHlsZSgpCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKiBtYWNUaGVtZSA9
IChTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKilTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUo
KTsKKyAgICBTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKiBtYWNUaGVtZSA9IGNocm9taXVtU2Ny
b2xsYmFyVGhlbWUoKTsKKyAgICBpZiAoIW1hY1RoZW1lKSB7CisgICAgICAgIHNldE5lZWRzU2Ny
b2xsZXJTdHlsZVVwZGF0ZShmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBp
bnQgbmV3U3R5bGUgPSB3a1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5bGUobV9zY3JvbGxi
YXJQYWludGVyQ29udHJvbGxlci5nZXQoKSk7CiAKICAgICBpZiAoU2Nyb2xsYmFyKiB2ZXJ0aWNh
bFNjcm9sbGJhciA9IHNjcm9sbGFibGVBcmVhKCktPnZlcnRpY2FsU2Nyb2xsYmFyKCkpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1l
Q2hyb21pdW1NYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxi
YXJUaGVtZUNocm9taXVtTWFjLm1tCmluZGV4IDQ3MjM0M2Q0MDFlMTE0ODQzMmJkMjZlYjZmZDhl
OTQxODdiMGUwMGMuLjE3N2JjOTI5ODQ4NzUyMDIyZjUwZDFiZDdkZTY1ODU3YWFiMzA5NDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1l
Q2hyb21pdW1NYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Ny
b2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5tbQpAQCAtOTYsNyArOTYsMTEgQEAgc3RhdGljIFNjcm9s
bGJhclBhaW50ZXJNYXAqIHNjcm9sbGJhck1hcCgpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHVudXNl
ZE5vdGlmaWNhdGlvbik7CiAKLSAgICBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZUNocm9taXVt
TWFjKj4oU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkpLT5wcmVmZXJlbmNlc0NoYW5nZWQo
KTsKKyAgICBTY3JvbGxiYXJUaGVtZSogdGhlbWUgPSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKTsK
KyAgICBpZiAodGhlbWUtPmlzTW9ja1RoZW1lKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHN0
YXRpY19jYXN0PFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqPihpc01vY2tUaGVtZSktPnByZWZl
cmVuY2VzQ2hhbmdlZCgpOwogICAgIGlmIChzY3JvbGxiYXJNYXAoKS0+aXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm47CiAgICAgU2Nyb2xsYmFyUGFpbnRlck1hcDo6aXRlcmF0b3IgZW5kID0gc2Ny
b2xsYmFyTWFwKCktPmVuZCgpOwpAQCAtMTEwLDcgKzExNCwxMSBAQCBzdGF0aWMgU2Nyb2xsYmFy
UGFpbnRlck1hcCogc2Nyb2xsYmFyTWFwKCkKIHsKICAgICBVTlVTRURfUEFSQU0odW51c2VkTm90
aWZpY2F0aW9uKTsKIAotICAgIHN0YXRpY19jYXN0PFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMq
PihTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnByZWZlcmVuY2VzQ2hhbmdlZCgpOwor
ICAgIFNjcm9sbGJhclRoZW1lKiB0aGVtZSA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpOworICAg
IGlmICh0aGVtZS0+aXNNb2NrVGhlbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc3RhdGlj
X2Nhc3Q8U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyo+KHRoZW1lKS0+cHJlZmVyZW5jZXNDaGFu
Z2VkKCk7CiB9CiAKICsgKHZvaWQpcmVnaXN0ZXJBc09ic2VydmVyCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KaW5kZXggODZjNWVkZmVkZjgx
YTM2ZTJlY2I5ZDY0ZTgwMzAyMmM3MGM4MjlmNC4uNWU2YzY4ZGI3YTQxZTc0MWQ1M2FkZWQ3YmJl
YmI2MWFlNTI0ZGM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxBbmltYXRvck1hYy5tbQpAQCAtNDUyLDYgKzQ1MiwxMiBAQCBQYXNzT3duUHRyPFNjcm9sbEFu
aW1hdG9yPiBTY3JvbGxBbmltYXRvcjo6Y3JlYXRlKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxl
QXJlYQogICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2Nyb2xsQW5pbWF0b3JNYWMoc2Nyb2xsYWJs
ZUFyZWEpKTsKIH0KIAorc3RhdGljIFNjcm9sbGJhclRoZW1lTWFjKiBtYWNTY3JvbGxiYXJUaGVt
ZSgpCit7CisgICAgU2Nyb2xsYmFyVGhlbWUqIHNjcm9sbGJhclRoZW1lID0gU2Nyb2xsYmFyVGhl
bWU6OnRoZW1lKCk7CisgICAgcmV0dXJuICFzY3JvbGxiYXJUaGVtZS0+aXNNb2NrVGhlbWUoKSA/
IHN0YXRpY19jYXN0PFNjcm9sbGJhclRoZW1lTWFjKj4oc2Nyb2xsYmFyVGhlbWUpIDogMDsKK30K
KwogU2Nyb2xsQW5pbWF0b3JNYWM6OlNjcm9sbEFuaW1hdG9yTWFjKFNjcm9sbGFibGVBcmVhKiBz
Y3JvbGxhYmxlQXJlYSkKICAgICA6IFNjcm9sbEFuaW1hdG9yKHNjcm9sbGFibGVBcmVhKQogI2lm
IFVTRShTQ1JPTExCQVJfUEFJTlRFUikKQEAgLTY4NiwxMSArNjkyLDEzIEBAIHZvaWQgU2Nyb2xs
QW5pbWF0b3JNYWM6OmRpZEVuZFNjcm9sbEdlc3R1cmUoKSBjb25zdAogdm9pZCBTY3JvbGxBbmlt
YXRvck1hYzo6ZGlkQWRkVmVydGljYWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiB7
CiAjaWYgVVNFKFNDUk9MTEJBUl9QQUlOVEVSKQotICAgIFNjcm9sbGJhclBhaW50ZXIgcGFpbnRl
ciA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjKj4oV2ViQ29yZTo6U2Ny
b2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkpLT5wYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJh
cik7Ci0gICAgW3BhaW50ZXIgc2V0RGVsZWdhdGU6bV9zY3JvbGxiYXJQYWludGVyRGVsZWdhdGUu
Z2V0KCldOwotICAgIFttX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpIHNldFZlcnRp
Y2FsU2Nyb2xsZXJJbXA6cGFpbnRlcl07Ci0gICAgaWYgKHNjcm9sbGFibGVBcmVhKCktPmluTGl2
ZVJlc2l6ZSgpKQotICAgICAgICBbcGFpbnRlciBzZXRLbm9iQWxwaGE6MV07CisgICAgaWYgKFNj
cm9sbGJhclRoZW1lTWFjKiB0aGVtZSA9IG1hY1Njcm9sbGJhclRoZW1lKCkpIHsKKyAgICAgICAg
U2Nyb2xsYmFyUGFpbnRlciBwYWludGVyID0gdGhlbWUtPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Ny
b2xsYmFyKTsKKyAgICAgICAgW3BhaW50ZXIgc2V0RGVsZWdhdGU6bV9zY3JvbGxiYXJQYWludGVy
RGVsZWdhdGUuZ2V0KCldOworICAgICAgICBbbV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxlci5n
ZXQoKSBzZXRWZXJ0aWNhbFNjcm9sbGVySW1wOnBhaW50ZXJdOworICAgICAgICBpZiAoc2Nyb2xs
YWJsZUFyZWEoKS0+aW5MaXZlUmVzaXplKCkpCisgICAgICAgICAgICBbcGFpbnRlciBzZXRLbm9i
QWxwaGE6MV07CisgICAgfQogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oc2Nyb2xsYmFyKTsKICNl
bmRpZgpAQCAtNjk5LDkgKzcwNywxMSBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpkaWRBZGRW
ZXJ0aWNhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikKIHZvaWQgU2Nyb2xsQW5pbWF0
b3JNYWM6OndpbGxSZW1vdmVWZXJ0aWNhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikK
IHsKICNpZiBVU0UoU0NST0xMQkFSX1BBSU5URVIpCi0gICAgU2Nyb2xsYmFyUGFpbnRlciBwYWlu
dGVyID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWMqPihXZWJDb3JlOjpT
Y3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xs
YmFyKTsKLSAgICBbcGFpbnRlciBzZXREZWxlZ2F0ZTpuaWxdOwotICAgIFttX3Njcm9sbGJhclBh
aW50ZXJDb250cm9sbGVyLmdldCgpIHNldFZlcnRpY2FsU2Nyb2xsZXJJbXA6bmlsXTsKKyAgICBp
ZiAoU2Nyb2xsYmFyVGhlbWVNYWMqIHRoZW1lID0gbWFjU2Nyb2xsYmFyVGhlbWUoKSkgeworICAg
ICAgICBTY3JvbGxiYXJQYWludGVyIHBhaW50ZXIgPSB0aGVtZS0+cGFpbnRlckZvclNjcm9sbGJh
cihzY3JvbGxiYXIpOworICAgICAgICBbcGFpbnRlciBzZXREZWxlZ2F0ZTpuaWxdOworICAgICAg
ICBbbV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxlci5nZXQoKSBzZXRWZXJ0aWNhbFNjcm9sbGVy
SW1wOm5pbF07CisgICAgfQogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oc2Nyb2xsYmFyKTsKICNl
bmRpZgpAQCAtNzEwLDExICs3MjAsMTMgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6d2lsbFJl
bW92ZVZlcnRpY2FsU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogdm9pZCBTY3JvbGxB
bmltYXRvck1hYzo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJh
cikKIHsKICNpZiBVU0UoU0NST0xMQkFSX1BBSU5URVIpCi0gICAgU2Nyb2xsYmFyUGFpbnRlciBw
YWludGVyID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWMqPihXZWJDb3Jl
OjpTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Ny
b2xsYmFyKTsKLSAgICBbcGFpbnRlciBzZXREZWxlZ2F0ZTptX3Njcm9sbGJhclBhaW50ZXJEZWxl
Z2F0ZS5nZXQoKV07Ci0gICAgW21fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCkgc2V0
SG9yaXpvbnRhbFNjcm9sbGVySW1wOnBhaW50ZXJdOwotICAgIGlmIChzY3JvbGxhYmxlQXJlYSgp
LT5pbkxpdmVSZXNpemUoKSkKLSAgICAgICAgW3BhaW50ZXIgc2V0S25vYkFscGhhOjFdOworICAg
IGlmIChTY3JvbGxiYXJUaGVtZU1hYyogdGhlbWUgPSBtYWNTY3JvbGxiYXJUaGVtZSgpKSB7Cisg
ICAgICAgIFNjcm9sbGJhclBhaW50ZXIgcGFpbnRlciA9IHRoZW1lLT5wYWludGVyRm9yU2Nyb2xs
YmFyKHNjcm9sbGJhcik7CisgICAgICAgIFtwYWludGVyIHNldERlbGVnYXRlOm1fc2Nyb2xsYmFy
UGFpbnRlckRlbGVnYXRlLmdldCgpXTsKKyAgICAgICAgW21fc2Nyb2xsYmFyUGFpbnRlckNvbnRy
b2xsZXIuZ2V0KCkgc2V0SG9yaXpvbnRhbFNjcm9sbGVySW1wOnBhaW50ZXJdOworICAgICAgICBp
ZiAoc2Nyb2xsYWJsZUFyZWEoKS0+aW5MaXZlUmVzaXplKCkpCisgICAgICAgICAgICBbcGFpbnRl
ciBzZXRLbm9iQWxwaGE6MV07CisgICAgfQogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oc2Nyb2xs
YmFyKTsKICNlbmRpZgpAQCAtNzIzLDkgKzczNSwxMSBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFj
OjpkaWRBZGRIb3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogdm9pZCBT
Y3JvbGxBbmltYXRvck1hYzo6d2lsbFJlbW92ZUhvcml6b250YWxTY3JvbGxiYXIoU2Nyb2xsYmFy
KiBzY3JvbGxiYXIpCiB7CiAjaWYgVVNFKFNDUk9MTEJBUl9QQUlOVEVSKQotICAgIFNjcm9sbGJh
clBhaW50ZXIgcGFpbnRlciA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFj
Kj4oV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkpLT5wYWludGVyRm9yU2Ny
b2xsYmFyKHNjcm9sbGJhcik7Ci0gICAgW3BhaW50ZXIgc2V0RGVsZWdhdGU6bmlsXTsKLSAgICBb
bV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxlci5nZXQoKSBzZXRIb3Jpem9udGFsU2Nyb2xsZXJJ
bXA6bmlsXTsKKyAgICBpZiAoU2Nyb2xsYmFyVGhlbWVNYWMqIHRoZW1lID0gbWFjU2Nyb2xsYmFy
VGhlbWUoKSkgeworICAgICAgICBTY3JvbGxiYXJQYWludGVyIHBhaW50ZXIgPSB0aGVtZS0+cGFp
bnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIpOworICAgICAgICBbcGFpbnRlciBzZXREZWxlZ2F0
ZTpuaWxdOworICAgICAgICBbbV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxlci5nZXQoKSBzZXRI
b3Jpem9udGFsU2Nyb2xsZXJJbXA6bmlsXTsKKyAgICB9CiAjZWxzZQogICAgIFVOVVNFRF9QQVJB
TShzY3JvbGxiYXIpOwogI2VuZGlmCkBAIC0xMjM2LDcgKzEyNTAsMTIgQEAgdm9pZCBTY3JvbGxB
bmltYXRvck1hYzo6dXBkYXRlU2Nyb2xsZXJTdHlsZSgpCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBTY3JvbGxiYXJUaGVtZU1hYyogbWFjVGhlbWUgPSAoU2Nyb2xsYmFyVGhlbWVNYWMq
KVNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpOworICAgIFNjcm9sbGJhclRoZW1lTWFjKiBt
YWNUaGVtZSA9IG1hY1Njcm9sbGJhclRoZW1lKCk7CisgICAgaWYgKCFtYWNUaGVtZSkgeworICAg
ICAgICBzZXROZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUoZmFsc2UpOworICAgICAgICByZXR1cm47
CisgICAgfQorCiAgICAgTlNTY3JvbGxlclN0eWxlIG5ld1N0eWxlID0gW21fc2Nyb2xsYmFyUGFp
bnRlckNvbnRyb2xsZXIuZ2V0KCkgc2Nyb2xsZXJTdHlsZV07CiAKICAgICBpZiAoU2Nyb2xsYmFy
KiB2ZXJ0aWNhbFNjcm9sbGJhciA9IHNjcm9sbGFibGVBcmVhKCktPnZlcnRpY2FsU2Nyb2xsYmFy
KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJU
aGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1h
Yy5tbQppbmRleCBlYWZhZWUyYjg0OTRmYTY1NTM3YzAzNTkxN2RiZmI4YjE0MjFlOGJhLi4xYjE0
MjUxNGViYmU2ZmJlNGIzOWQ0MGQ4YjNmNjY4NzI2MDVlZWFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCkBAIC03NSw3ICs3NSw3IEBA
IHN0YXRpYyBTY3JvbGxiYXJQYWludGVyTWFwKiBzY3JvbGxiYXJNYXAoKQogewogICAgIFVOVVNF
RF9QQVJBTSh1bnVzZWROb3RpZmljYXRpb24pOwogCi0gICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYmFy
VGhlbWVNYWMqPihTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnByZWZlcmVuY2VzQ2hh
bmdlZCgpOworICAgIHN0YXRpY19jYXN0PFNjcm9sbGJhclRoZW1lTWFjKj4oU2Nyb2xsYmFyVGhl
bWU6OnRoZW1lKCkpLT5wcmVmZXJlbmNlc0NoYW5nZWQoKTsKICAgICBpZiAoc2Nyb2xsYmFyTWFw
KCktPmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgIFNjcm9sbGJhclBhaW50ZXJNYXA6
Oml0ZXJhdG9yIGVuZCA9IHNjcm9sbGJhck1hcCgpLT5lbmQoKTsKQEAgLTk0LDcgKzk0LDcgQEAg
c3RhdGljIFNjcm9sbGJhclBhaW50ZXJNYXAqIHNjcm9sbGJhck1hcCgpCiB7CiAgICAgVU5VU0VE
X1BBUkFNKHVudXNlZE5vdGlmaWNhdGlvbik7CiAKLSAgICBzdGF0aWNfY2FzdDxTY3JvbGxiYXJU
aGVtZU1hYyo+KFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cHJlZmVyZW5jZXNDaGFu
Z2VkKCk7CisgICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVNYWMqPihTY3JvbGxiYXJUaGVt
ZTo6dGhlbWUoKSktPnByZWZlcmVuY2VzQ2hhbmdlZCgpOwogfQogCiArICh2b2lkKXJlZ2lzdGVy
QXNPYnNlcnZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9TY3Jv
bGxiYXJUaGVtZU1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU2Nyb2xsYmFy
VGhlbWVNb2NrLmgKaW5kZXggMmJmMmEyYmI3MTc3OWM1ZmVlNjc2NGUwN2FhNTZjMGY4MGZmNGQ2
ZS4uZTI1NDg0MjJhMjhmNWU3MjNlNDM1M2Y4ZjQ1NzY1MjUzY2I2ODViYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9TY3JvbGxiYXJUaGVtZU1vY2suaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRoZW1lTW9jay5oCkBAIC00NSw2
ICs0NSw5IEBAIHByb3RlY3RlZDoKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUcmFja0Jh
Y2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpOwog
ICAgIHZpcnR1YWwgdm9pZCBwYWludFRodW1iKEdyYXBoaWNzQ29udGV4dCosIFNjcm9sbGJhcios
IGNvbnN0IEludFJlY3QmKTsKKyAgICAKK3ByaXZhdGU6CisgICAgdmlydHVhbCBib29sIGlzTW9j
a1RoZW1lKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAppbmRleCBiZDQ2NWYwNzgyZTY3MjJhNjM4
NjJlNGYwOTlkOTZkMjgyZmU1YTQ2Li5lNTQwMDI0NGJlMjQ4YTEwM2UyNjY0YjZlYWFlMzhmM2Jk
ZTNiMTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVt
ZVF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNw
cApAQCAtMTA3NCw3ICsxMDc0LDcgQEAgdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RJbm5lclNw
aW5CdXR0b25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGUKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxlbWVudCogZSkgY29uc3QK
IHsKICAgICAvLyBVc2UgdGhlIHNhbWUgd2lkdGggYXMgb3VyIG5hdGl2ZSBzY3JvbGxiYXIKLSAg
ICBpbnQgd2lkdGggPSBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhp
Y2tuZXNzKCk7CisgICAgaW50IHdpZHRoID0gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnNjcm9s
bGJhclRoaWNrbmVzcygpOwogICAgIHN0eWxlLT5zZXRXaWR0aChMZW5ndGgod2lkdGgsIEZpeGVk
KSk7CiAgICAgc3R5bGUtPnNldE1pbldpZHRoKExlbmd0aCh3aWR0aCwgRml4ZWQpKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAKaW5kZXggNDRhODk2
ZTFjMDViOTE3YzhjYjc2ZDM2MDZhMTExNTY2OWYyNDUzNi4uNTc4ZWVhMTFmYzRiNTdkMWQ3NGMy
NzY5NTVjZWY0ZjliMTA5ZDgwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1BvcHVwTWVudVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Bv
cHVwTWVudVdpbi5jcHAKQEAgLTMzNCw3ICszMzQsNyBAQCB2b2lkIFBvcHVwTWVudVdpbjo6Y2Fs
Y3VsYXRlUG9zaXRpb25BbmRTaXplKGNvbnN0IEludFJlY3QmIHIsIEZyYW1lVmlldyogdikKIAog
ICAgIGlmIChuYXR1cmFsSGVpZ2h0ID4gbWF4UG9wdXBIZWlnaHQpCiAgICAgICAgIC8vIFdlIG5l
ZWQgcm9vbSBmb3IgYSBzY3JvbGxiYXIKLSAgICAgICAgcG9wdXBXaWR0aCArPSBTY3JvbGxiYXJU
aGVtZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhpY2tuZXNzKFNtYWxsU2Nyb2xsYmFyKTsK
KyAgICAgICAgcG9wdXBXaWR0aCArPSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+c2Nyb2xsYmFy
VGhpY2tuZXNzKFNtYWxsU2Nyb2xsYmFyKTsKIAogICAgIC8vIEFkZCBwYWRkaW5nIHRvIGFsaWdu
IHRoZSBwb3B1cCB0ZXh0IHdpdGggdGhlIDxzZWxlY3Q+IHRleHQKICAgICBwb3B1cFdpZHRoICs9
IG1heCgwLCBjbGllbnQoKS0+Y2xpZW50UGFkZGluZ1JpZ2h0KCkgLSBjbGllbnQoKS0+Y2xpZW50
SW5zZXRSaWdodCgpKSArIG1heCgwLCBjbGllbnQoKS0+Y2xpZW50UGFkZGluZ0xlZnQoKSAtIGNs
aWVudCgpLT5jbGllbnRJbnNldExlZnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAppbmRleCA1MTY4M2FjZDYxMTg4ODE0YjU5MWVhZWE3MjFhZDBhYjQ1NGNmOGQw
Li4xMjQyNGU2NjkxMzJkMjBjNjY1NTk1YmY0MGUwNTU1MGE5ZTA3YTU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTE3NTMsNyArMTc1Myw3IEBAIHN0YXRp
YyBMYXlvdXRSZWN0IGNvcm5lclJlY3QoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyLCBjb25zdCBM
YXlvdXRSZWN0JiBib3VuZHMpCiAgICAgaWYgKCFsYXllci0+dmVydGljYWxTY3JvbGxiYXIoKSAm
JiAhbGF5ZXItPmhvcml6b250YWxTY3JvbGxiYXIoKSkgewogICAgICAgICAvLyBGSVhNRTogVGhp
cyBpc24ndCByaWdodC4gIFdlIG5lZWQgdG8ga25vdyB0aGUgdGhpY2tuZXNzIG9mIGN1c3RvbSBz
Y3JvbGxiYXJzCiAgICAgICAgIC8vIGV2ZW4gd2hlbiB0aGV5IGRvbid0IGV4aXN0IGluIG9yZGVy
IHRvIHNldCB0aGUgcmVzaXplciBzcXVhcmUgc2l6ZSBwcm9wZXJseS4KLSAgICAgICAgaG9yaXpv
bnRhbFRoaWNrbmVzcyA9IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJU
aGlja25lc3MoKTsKKyAgICAgICAgaG9yaXpvbnRhbFRoaWNrbmVzcyA9IFNjcm9sbGJhclRoZW1l
Ojp0aGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoKTsKICAgICAgICAgdmVydGljYWxUaGlja25l
c3MgPSBob3Jpem9udGFsVGhpY2tuZXNzOwogICAgIH0gZWxzZSBpZiAobGF5ZXItPnZlcnRpY2Fs
U2Nyb2xsYmFyKCkgJiYgIWxheWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCkpIHsKICAgICAgICAg
aG9yaXpvbnRhbFRoaWNrbmVzcyA9IGxheWVyLT52ZXJ0aWNhbFNjcm9sbGJhcigpLT53aWR0aCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBh
cnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuY3Bw
CmluZGV4IDVhNTRkZTFmMjhhZTY0OWMzMTYyYWRkZWUwNDNjNzM5NGMwMmFmM2IuLmJiNjQ2MDY4
YzM0YzlhMGQ4ZTJjNTc0NGVlNGEyYjZmYzc3ZTQzYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgdm9p
ZCBSZW5kZXJTY3JvbGxiYXJQYXJ0OjpsYXlvdXRWZXJ0aWNhbFBhcnQoKQogc3RhdGljIGludCBj
YWxjU2Nyb2xsYmFyVGhpY2tuZXNzVXNpbmcoY29uc3QgTGVuZ3RoJiBsLCBpbnQgY29udGFpbmlu
Z0xlbmd0aCkKIHsKICAgICBpZiAobC5pc0ludHJpbnNpY09yQXV0bygpKQotICAgICAgICByZXR1
cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcygpOwor
ICAgICAgICByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVz
cygpOwogICAgIHJldHVybiBsLmNhbGNNaW5WYWx1ZShjb250YWluaW5nTGVuZ3RoKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAppbmRl
eCA5YjhiMmMxOGI2YjFkNzZmOGQ0ZGE1ZTRkZGUwOGEzMDYzM2YwYzgxLi43MGMyNGE1ZWEyZWQ3
OWJiOWY4ZmFkMDIxMzdjNjM1NjlkOTk2M2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzgsMjEgKzM4LDIxIEBAIGNsYXNzIFJl
bmRlclNjcm9sbGJhclRoZW1lIDogcHVibGljIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlIHsKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJTY3JvbGxiYXJUaGVtZSgpIHt9OwogICAgIAotICAg
IHZpcnR1YWwgaW50IHNjcm9sbGJhclRoaWNrbmVzcyhTY3JvbGxiYXJDb250cm9sU2l6ZSBjb250
cm9sU2l6ZSkgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnNjcm9sbGJh
clRoaWNrbmVzcyhjb250cm9sU2l6ZSk7IH0KKyAgICB2aXJ0dWFsIGludCBzY3JvbGxiYXJUaGlj
a25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUpIHsgcmV0dXJuIFNjcm9sbGJh
clRoZW1lOjp0aGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoY29udHJvbFNpemUpOyB9CiAKLSAg
ICB2aXJ0dWFsIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1BsYWNlbWVudCgpIGNv
bnN0IHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5idXR0b25zUGxhY2Vt
ZW50KCk7IH0KKyAgICB2aXJ0dWFsIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1Bs
YWNlbWVudCgpIGNvbnN0IHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5idXR0b25z
UGxhY2VtZW50KCk7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0NvbnRyb2xUaW50cygp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYWludFNjcm9sbENv
cm5lcihTY3JvbGxWaWV3KiwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0
JiBjb3JuZXJSZWN0KTsKIAotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDZW50ZXJPblRodW1iKFNj
cm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KSB7IHJl
dHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+c2hvdWxkQ2VudGVyT25UaHVtYihz
Y3JvbGxiYXIsIGV2ZW50KTsgfQorICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDZW50ZXJPblRodW1i
KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KSB7
IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+c2hvdWxkQ2VudGVyT25UaHVtYihzY3Jv
bGxiYXIsIGV2ZW50KTsgfQogICAgIAotICAgIHZpcnR1YWwgZG91YmxlIGluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5p
bml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQotICAgIHZpcnR1YWwgZG91YmxlIGF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkt
PmF1dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSBpbml0aWFsQXV0
b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+aW5p
dGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSBhdXRvc2Ny
b2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5hdXRvc2Ny
b2xsVGltZXJEZWxheSgpOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIo
U2Nyb2xsYmFyKiBzY3JvbGxiYXIpIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVt
ZSgpLT5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIpOyB9Ci0gICAgdmlydHVhbCB2b2lkIHVu
cmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpIHsgcmV0dXJuIFNjcm9sbGJh
clRoZW1lOjpuYXRpdmVUaGVtZSgpLT51bnJlZ2lzdGVyU2Nyb2xsYmFyKHNjcm9sbGJhcik7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIp
IHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5yZWdpc3RlclNjcm9sbGJhcihzY3Jv
bGxiYXIpOyB9CisgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFy
KiBzY3JvbGxiYXIpIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT51bnJlZ2lzdGVy
U2Nyb2xsYmFyKHNjcm9sbGJhcik7IH0KIAogICAgIHZpcnR1YWwgaW50IG1pbmltdW1UaHVtYkxl
bmd0aChTY3JvbGxiYXIqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbC5jcHAKaW5kZXggZTU3NTM3OTk1NTAxYzFkNmM2NDBjMDU1YjQzYjJjOWJjMWNi
MWUwNC4uYTBjZmJjMTJhNjZjZDZmMWQwOTQwNTQ5ZWNiZDRkY2VlYjA1OTE1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCkBAIC0xNTYsNyAr
MTU2LDcgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRlclRleHRDb250cm9sOjp2aXNpYmxlUG9zaXRp
b25Gb3JJbmRleChpbnQgaW5kZXgpIGNvbnN0CiBpbnQgUmVuZGVyVGV4dENvbnRyb2w6OnNjcm9s
bGJhclRoaWNrbmVzcygpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBnZXQgdGhl
IHNpemUgb2YgdGhlIHNjcm9sbGJhciBmcm9tIHRoZSBSZW5kZXJUaGVtZSBpbnN0ZWFkLgotICAg
IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhpY2tuZXNz
KCk7CisgICAgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5zY3JvbGxiYXJUaGlja25l
c3MoKTsKIH0KIAogdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGNjMDY1NzRlMTkzYTNiYjVhNWVhZWNiM2NiN2QwNmJkZGNmMWYzYzcu
LjMxOWFlYjExY2U0MTUzMmVhMTM2ZWIyOWJkMzc3YzE0MGViNGY0OTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMS0wOS0xNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KKworICAgICAgICBNYWtlIGN1c3RvbSBzY3JvbGxiYXIgdGhlbWUgZm9yIHVzZSBp
biBEUlQsIHRvIHJlZHVjZSBwaXhlbCBkaWZmcyBiZXR3ZWVuIHBsYXRmb3JtcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTY3JvbGxiYXJUaGVtZTo6bmF0
aXZlVGhlbWUoKSByZW5hbWVkIHRvIHRoZW1lKCkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlT3ZlcmxheTo6Ym91
bmRzKToKKwogMjAxMS0wOS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KIAogICAgICAgICBNYWtlIGN1c3RvbSBzY3JvbGxiYXIgdGhlbWUgZm9yIHVzZSBpbiBEUlQs
IHRvIHJlZHVjZSBwaXhlbCBkaWZmcyBiZXR3ZWVuIHBsYXRmb3JtcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAKaW5kZXggYTBmYTdmMGM0
M2NhZWYyYWUzNWMyNzdjY2I4ZGUyYWEwYTJmOWViZi4uYWEzMmI2YTA5NTUyZjkxOTZkY2I4Njlh
MGMyOWQ2ODIyNjc1MjYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvUGFnZU92ZXJsYXkuY3BwCkBAIC02OCw3ICs2OCw3IEBAIEludFJlY3QgUGFnZU92ZXJs
YXk6OmJvdW5kcygpIGNvbnN0CiAgICAgaW50IHdpZHRoID0gZnJhbWVWaWV3LT53aWR0aCgpOwog
ICAgIGludCBoZWlnaHQgPSBmcmFtZVZpZXctPmhlaWdodCgpOwogCi0gICAgaWYgKCFTY3JvbGxi
YXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+dXNlc092ZXJsYXlTY3JvbGxiYXJzKCkpIHsKKyAgICBp
ZiAoIVNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT51c2VzT3ZlcmxheVNjcm9sbGJhcnMoKSkgewog
ICAgICAgICBpZiAoZnJhbWVWaWV3LT52ZXJ0aWNhbFNjcm9sbGJhcigpKQogICAgICAgICAgICAg
d2lkdGggLT0gZnJhbWVWaWV3LT52ZXJ0aWNhbFNjcm9sbGJhcigpLT53aWR0aCgpOwogICAgICAg
ICBpZiAoZnJhbWVWaWV3LT5ob3Jpem9udGFsU2Nyb2xsYmFyKCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110599</attachid>
            <date>2011-10-11 16:18:33 -0700</date>
            <delta_ts>2011-10-11 16:50:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68134-20111011161831.patch</filename>
            <type>text/plain</type>
            <size>50818</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcxNjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzU2NDQ2
ZDQyZWQ5Yzg1MWYzYmIxNmEzNmRkNTE4MDFiMmEzZGQ4MC4uMDY3MWMxMTA4YjIyODZkZGQwOWEx
ZmUzNTlkMTJlNDQwYTQyM2Q1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEwNDEsNiArMTA0
MSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5j
cHAKICAgICBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKICAgICBwbGF0Zm9ybS9TY3JvbGxi
YXIuY3BwCisgICAgcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwCiAgICAgcGxhdGZvcm0vU2Ny
b2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwCiAgICAgcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKICAg
ICBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE1YTUzNjVjNmRhNDJj
NWZmZDZlNWIyMjQ1NGY5YWE4NmEyMGVkYi4uNTE4Mjc0YTFmNDExZjMyMTlmMDAwNjBmMzVjYWNj
NGM0MDg5MjE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3MSBAQAorMjAxMS0xMC0xMSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGN1c3Rv
bSBzY3JvbGxiYXIgdGhlbWUgZm9yIHVzZSBpbiBEUlQsIHRvIHJlZHVjZSBwaXhlbCBkaWZmcyBi
ZXR3ZWVuIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjgxMzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBVc2UgU2Nyb2xsYmFyVGhlbWVNb2NrIHdoZW4gdGhlIHNldHRpbmcgdG8gdXNlIG1v
Y2sgc2Nyb2xsYmFycyBpcyBlbmFibGVkLgorICAgICAgICAKKyAgICAgICAgTWFrZSBTY3JvbGxi
YXJUaGVtZTo6bmF0aXZlVGhlbWUoKSBwcml2YXRlLCBhbmQgYWRkIGEgbmV3IHN0YXRpYyB0aGVt
ZSgpIG1ldGhvZAorICAgICAgICB0aGF0IHJlYWRzIHRoZSBzZXR0aW5nLCBhbmQgcmV0dXJucyB0
aGUgbW9jayB0aGVtZSBpZiBzZXQuIEFsbCBjYWxsZXJzIG5vdyB1c2UKKyAgICAgICAgdGhlbWUo
KSBydGhlciB0aGFuIG5hdGl2ZVRoZW1lKCkuIEFkZCB0aGUgbmV3IFNjcm9sbGJhclRoZW1lLmNw
cCBmaWxlIHRvIHRoZSBidWlsZC4KKyAgICAgICAgCisgICAgICAgIEZpeCBzY3JvbGwgYW5pbWF0
b3IgY29kZSBmb3IgTWFjIGFuZCBDaHJvbWl1bSB0aGF0IHdhcyBjYXN0aW5nIHRoZSBTY3JvbGxi
YXJUaGVtZQorICAgICAgICB3aXRob3V0IHR5cGUtY2hlY2tpbmcgaXQgdG8gdGVzdCB3aGV0aGVy
IGl0J3MgdGhlIG1vY2sgdGhlbWUuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBX
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5l
ckVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNwaW5CdXR0b25FbGVtZW50OjpzdGFy
dFJlcGVhdGluZ1RpbWVyKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvcldpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvcldpbjo6c2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9y
V2luOjphY2NlbGVyYXRpb25UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9y
V2luOjphbmltYXRlU2Nyb2xsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OndoZWVsRXZlbnQpOgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVB
cmVhOjpzZXRTY3JvbGxiYXJPdmVybGF5U3R5bGUpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bGJhci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6Om1heE92ZXJsYXBCZXR3ZWVu
UGFnZXMpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpTY3JvbGxiYXIpOgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9TY3JvbGxiYXJUaGVtZU1vY2suaC4KKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lOjp0aGVtZSk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyVGhl
bWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjppc01vY2tUaGVtZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvcHVwTGlzdEJveDo6bGF5b3V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9TY3JvbGxBbmltYXRvckNocm9taXVtTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Y2hyb21p
dW1TY3JvbGxiYXJUaGVtZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckNocm9t
aXVtTWFjOjpkaWRBZGRWZXJ0aWNhbFNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvckNocm9taXVtTWFjOjp3aWxsUmVtb3ZlVmVydGljYWxTY3JvbGxiYXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6ZGlkQWRkSG9yaXpvbnRh
bFNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckNocm9taXVtTWFj
Ojp3aWxsUmVtb3ZlSG9yaXpvbnRhbFNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvckNocm9taXVtTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tOgorICAgICAgICAo
K1tTY3JvbGxiYXJQcmVmc09ic2VydmVyIGFwcGVhcmFuY2VQcmVmc0NoYW5nZWQ6XSk6CisgICAg
ICAgICgrW1Njcm9sbGJhclByZWZzT2JzZXJ2ZXIgYmVoYXZpb3JQcmVmc0NoYW5nZWQ6XSk6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6bWFjU2Nyb2xsYmFyVGhlbWUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0
b3JNYWM6OmRpZEFkZFZlcnRpY2FsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yTWFjOjp3aWxsUmVtb3ZlVmVydGljYWxTY3JvbGxiYXIpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OmRpZEFkZEhvcml6b250YWxTY3JvbGxiYXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OndpbGxSZW1vdmVIb3Jpem9udGFsU2Ny
b2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3Jv
bGxlclN0eWxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW06
CisgICAgICAgICgrW1Njcm9sbGJhclByZWZzT2JzZXJ2ZXIgYXBwZWFyYW5jZVByZWZzQ2hhbmdl
ZDpdKToKKyAgICAgICAgKCtbU2Nyb2xsYmFyUHJlZnNPYnNlcnZlciBiZWhhdmlvclByZWZzQ2hh
bmdlZDpdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRoZW1lTW9jay5oOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNb2NrOjppc01vY2tUaGVtZSk6CisgICAg
ICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVF0OjphZGp1c3RJbm5lclNwaW5CdXR0b25TdHlsZSk6CisgICAgICAgICogcGxh
dGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cE1lbnVX
aW46OmNhbGN1bGF0ZVBvc2l0aW9uQW5kU2l6ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvcm5lclJlY3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbGNT
Y3JvbGxiYXJUaGlja25lc3NVc2luZyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9s
bGJhclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6c2Ny
b2xsYmFyVGhpY2tuZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1l
OjpidXR0b25zUGxhY2VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRo
ZW1lOjpzaG91bGRDZW50ZXJPblRodW1iKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9s
bGJhclRoZW1lOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6OmF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1lOjpyZWdpc3RlclNjcm9sbGJhcik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6dW5yZWdpc3RlclNjcm9sbGJhcik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpzY3JvbGxiYXJUaGlja25lc3MpOgorCisyMDExLTEw
LTExICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1h
a2UgY3VzdG9tIHNjcm9sbGJhciB0aGVtZSBmb3IgdXNlIGluIERSVCwgdG8gcmVkdWNlIHBpeGVs
IGRpZmZzIGJldHdlZW4gcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02ODEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVzZSBTY3JvbGxiYXJUaGVtZU1vY2sgd2hlbiB0aGUgc2V0dGluZyB0
byB1c2UgbW9jayBzY3JvbGxiYXJzIGlzIGVuYWJsZWQuCisgICAgICAgIAorICAgICAgICBNYWtl
IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpIHByaXZhdGUsIGFuZCBhZGQgYSBuZXcgc3Rh
dGljIHRoZW1lKCkgbWV0aG9kCisgICAgICAgIHRoYXQgcmVhZHMgdGhlIHNldHRpbmcsIGFuZCBy
ZXR1cm5zIHRoZSBtb2NrIHRoZW1lIGlmIHNldC4gQWxsIGNhbGxlcnMgbm93IHVzZQorICAgICAg
ICB0aGVtZSgpIHJ0aGVyIHRoYW4gbmF0aXZlVGhlbWUoKS4gQWRkIHRoZSBuZXcgU2Nyb2xsYmFy
VGhlbWUuY3BwIGZpbGUgdG8gdGhlIGJ1aWxkLgorICAgICAgICAKKyAgICAgICAgRml4IHNjcm9s
bCBhbmltYXRvciBjb2RlIGZvciBNYWMgYW5kIENocm9taXVtIHRoYXQgd2FzIGNhc3RpbmcgdGhl
IFNjcm9sbGJhclRoZW1lCisgICAgICAgIHdpdGhvdXQgdHlwZS1jaGVja2luZyBpdCB0byB0ZXN0
IHdoZXRoZXIgaXQncyB0aGUgbW9jayB0aGVtZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5leHAu
aW46CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9UZXh0Q29u
dHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1l
bnQ6OnN0YXJ0UmVwZWF0aW5nVGltZXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yV2luLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yV2luOjpzY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
QW5pbWF0b3JXaW46OmFjY2VsZXJhdGlvblRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
QW5pbWF0b3JXaW46OmFuaW1hdGVTY3JvbGwpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZp
ZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6d2hlZWxFdmVudCk6CisgICAg
ICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsYWJsZUFyZWE6OnNldFNjcm9sbGJhck92ZXJsYXlTdHlsZSk6CisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6bWF4T3Zlcmxh
cEJldHdlZW5QYWdlcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6OlNjcm9sbGJhcik6
CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRoZW1lTW9jay5oLgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6OnRoZW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxiYXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6OmlzTW9ja1Ro
ZW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cExpc3RCb3guY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UG9wdXBMaXN0Qm94OjpsYXlvdXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1Njcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWMubW06CisgICAgICAgIChXZWJDb3Jl
OjpjaHJvbWl1bVNjcm9sbGJhclRoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yQ2hyb21pdW1NYWM6OmRpZEFkZFZlcnRpY2FsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWM6OndpbGxSZW1vdmVWZXJ0aWNhbFNjcm9sbGJh
cik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckNocm9taXVtTWFjOjpkaWRBZGRI
b3Jpem9udGFsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yQ2hy
b21pdW1NYWM6OndpbGxSZW1vdmVIb3Jpem9udGFsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWM6OnVwZGF0ZVNjcm9sbGVyU3R5bGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMubW06Cisg
ICAgICAgICgrW1Njcm9sbGJhclByZWZzT2JzZXJ2ZXIgYXBwZWFyYW5jZVByZWZzQ2hhbmdlZDpd
KToKKyAgICAgICAgKCtbU2Nyb2xsYmFyUHJlZnNPYnNlcnZlciBiZWhhdmlvclByZWZzQ2hhbmdl
ZDpdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAg
ICAgIChXZWJDb3JlOjptYWNTY3JvbGxiYXJUaGVtZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvck1hYzo6ZGlkQWRkVmVydGljYWxTY3JvbGxiYXIpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OndpbGxSZW1vdmVWZXJ0aWNhbFNjcm9sbGJhcik6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJh
cik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6d2lsbFJlbW92ZUhvcml6
b250YWxTY3JvbGxiYXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnVw
ZGF0ZVNjcm9sbGVyU3R5bGUpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVt
ZU1hYy5tbToKKyAgICAgICAgKCtbU2Nyb2xsYmFyUHJlZnNPYnNlcnZlciBhcHBlYXJhbmNlUHJl
ZnNDaGFuZ2VkOl0pOgorICAgICAgICAoK1tTY3JvbGxiYXJQcmVmc09ic2VydmVyIGJlaGF2aW9y
UHJlZnNDaGFuZ2VkOl0pOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svU2Nyb2xsYmFyVGhlbWVN
b2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1vY2s6OmlzTW9ja1RoZW1l
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdElubmVyU3BpbkJ1dHRvblN0eWxlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBv
cHVwTWVudVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTaXplKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29ybmVyUmVjdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y2FsY1Njcm9sbGJhclRoaWNrbmVzc1VzaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyU2Nyb2xsYmFyVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRo
ZW1lOjpzY3JvbGxiYXJUaGlja25lc3MpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xs
YmFyVGhlbWU6OmJ1dHRvbnNQbGFjZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Ny
b2xsYmFyVGhlbWU6OnNob3VsZENlbnRlck9uVGh1bWIpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU2Nyb2xsYmFyVGhlbWU6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6OnJlZ2lzdGVyU2Nyb2xsYmFy
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1lOjp1bnJlZ2lzdGVyU2Ny
b2xsYmFyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OnNjcm9sbGJhclRoaWNrbmVzcyk6CisK
IDIwMTEtMTAtMTEgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4K
IAogICAgICAgICBbVGV4bWFwXSBUZXh0dXJlTWFwcGVyR0wgbGVhdmVzIEdMIGluIGEgbW9kaWZp
ZWQgc3RhdGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA4MTY2YmQ2YTYyNTY2
MGIwYTg1ZGU3NmEyZWRiNWNkYWIxNjJjMDJlLi43MDNlYWU5NjVmODJiMGE5ODAxODRhNjI5ZWM5
YmI1ZGVhZjM5YTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI4MjIsNiAr
MjgyMiw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYmFyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ29t
cG9zaXRlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDb21w
b3NpdGUuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
biBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGRiNmUzMDkwMjZmNzg4NjU0
MzVkZmRjYjBmYmM3MDM1NzJhZmUzZDMuLjIwM2M3YTYyMzJjY2M4OTVkNDdhMjMyZjAyZmMxNmFm
NmVlNGU1NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0zNzksNyArMzc5LDcgQEAgX19aTjdX
ZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTI5d2lsbFJlbW92ZUhvcml6b250YWxTY3JvbGxiYXJFUE5T
XzlTY3JvbGxiYXJFCiBfX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhNnNjcm9sbEVOU18xNVNj
cm9sbERpcmVjdGlvbkVOU18xN1Njcm9sbEdyYW51bGFyaXR5RWYKIF9fWk43V2ViQ29yZTE0U2Ny
b2xsYWJsZUFyZWFDMkV2CiBfX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhRDJFdgotX19aTjdX
ZWJDb3JlMTRTY3JvbGxiYXJUaGVtZTExbmF0aXZlVGhlbWVFdgorX19aTjdXZWJDb3JlMTRTY3Jv
bGxiYXJUaGVtZTV0aGVtZUV2CiBfX1pON1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luMTR0aHJlYWRz
YWZlQ29weUV2CiBfX1pON1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luMTZjcmVhdGVGcm9tU3RyaW5n
RVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjE4c2V0TG9jYWxM
b2FkUG9saWN5RU5TMF8xNUxvY2FsTG9hZFBvbGljeUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwOWEy
ZDNlNDVkNzFjZWZkZTY5ZWRiNTAzNWNmN2E1MWYxNzY0YWRkLi4yZWMzMzhlNjlmYTM2MDgxYmM4
MmE2MWEwMTYzYmFiZTM3NTNjMmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMDY4LDYgKzMwNjgs
NyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmNwcCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9TZWN1cmVUZXh0SW5wdXQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggZmNk
MGEzYTFkZTM1NmU3YTg0Njk5MTgxZWM3MjcwYTQ4MzA5ODk2My4uZjU0MTg4MDgzNzNlYmE0NWUx
OGRiZjYyMGRkZDJhMmUyYmNiOTFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTEwODIsNiArMTA4Miw3
IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcCBcCiAgICAg
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIFwKICAgICBwbGF0Zm9ybS9TY3JvbGxiYXIuY3Bw
IFwKKyAgICBwbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5jcHAgXAogICAgIHBsYXRmb3JtL1Njcm9s
bGJhclRoZW1lQ29tcG9zaXRlLmNwcCBcCiAgICAgcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgXAog
ICAgIHBsYXRmb3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDZiYTc3MGI4ZWI5Yjc1YzU2NTY4
ZmNkNzkzMWUyNmI2NzI5OWNiMmMuLjY4MDRhOTUzNDJjNWJiMjJhODBhNzliZmQ1MDM1ZTQxZmFl
YjNkMTEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC0yNzIzNCw2ICsyNzIzNCwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxTY3JvbGxiYXJUaGVtZS5jcHAiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFNjcm9s
bGJhclRoZW1lQ29tcG9zaXRlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzFlYmViYzQ4
NDNmYzhhM2Q3MDMzMDFmOWUxZDBjNTJmZmZjZjQzMy4uZDcxZjRhMDk1NjEyMTExYjc5NjMyN2I4
NmJiNjc1NjU0YjBhMWQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk5LDYgKzE5OSw3IEBACiAJCTBDM0YxRjVCMTBDODg3
MTIwMEQ3MkNFMSAvKiBXZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEMzRjFGNTgxMEM4ODcxMjAwRDcyQ0UxIC8qIFdl
YkdMVW5pZm9ybUxvY2F0aW9uLmggKi87IH07CiAJCTBDNDUzNDI3MTBDREJCRkEwMDg2OTE1NyAv
KiBKU1dlYkdMVW5pZm9ybUxvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBDNDUzNDI1MTBDREJCRkEwMDg2OTE1NyAvKiBKU1dlYkdMVW5p
Zm9ybUxvY2F0aW9uLmNwcCAqLzsgfTsKIAkJMEM0NTM0MjgxMENEQkJGQTAwODY5MTU3IC8qIEpT
V2ViR0xVbmlmb3JtTG9jYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBDNDUzNDI2MTBDREJCRkEwMDg2OTE1NyAvKiBKU1dlYkdMVW5pZm9ybUxv
Y2F0aW9uLmggKi87IH07CisJCTBGMDkwODdGMTQ0NEZEQjIwMDAyODkxNyAvKiBTY3JvbGxiYXJU
aGVtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RkU3MTQxNTE0MjE4OUZDMDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWUuY3BwICovOyB9OwogCQkw
RjExQTU0RjBGMzkyMzMxMDBDMzc4ODQgLyogUmVuZGVyU2VsZWN0aW9uSW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYxMUE1NEUwRjM5MjMzMTAw
QzM3ODg0IC8qIFJlbmRlclNlbGVjdGlvbkluZm8uaCAqLzsgfTsKIAkJMEYxNURBOEEwRjNBQUVF
NzAwMDBDRTQ3IC8qIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjE1REE4OTBGM0FBRUU3MDAwMENFNDcg
LyogQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCAqLzsgfTsKIAkJMEYyOUMxNkUxMzAwQzJF
MjAwMkQ3OTRFIC8qIEFjY2Vzc2liaWxpdHlBbGxJbk9uZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI5QzE2RDEzMDBDMkUyMDAyRDc5NEUgLyog
QWNjZXNzaWJpbGl0eUFsbEluT25lLmNwcCAqLzsgfTsKQEAgLTcyNTYsNiArNzI1Nyw3IEBACiAJ
CTBGRDcyMzgxMEVDOEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmxvYXRRdWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEZFNzE0MDMxNDIxNzBCODAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lTW9j
ay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTY3JvbGxiYXJUaGVt
ZU1vY2suY3BwOyBwYXRoID0gbW9jay9TY3JvbGxiYXJUaGVtZU1vY2suY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRkU3MTQwNDE0MjE3MEI4MDBEQjMzQkEgLyogU2Nyb2xsYmFy
VGhlbWVNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNjcm9sbGJhclRo
ZW1lTW9jay5oOyBwYXRoID0gbW9jay9TY3JvbGxiYXJUaGVtZU1vY2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEZFNzE0MTUxNDIxODlGQzAwREIzM0JBIC8qIFNjcm9sbGJhclRo
ZW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGJhclRo
ZW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGNTAyNTkxMDJCQTkwMTAw
NjZGMzlBIC8qIERPTVN0eWxlTWVkaWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NU3R5bGVNZWRpYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1MDI1
QTEwMkJBOTAxMDA2NkYzOUEgLyogRE9NU3R5bGVNZWRpYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVN0eWxlTWVkaWEubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTBGRjUwMjYyMTAyQkE5MkIwMDY2RjM5QSAvKiBET01TdHlsZU1lZGlhSW50
ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU3R5bGVNZWRpYUlu
dGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDA2MCw2ICsyMDA2Miw3
IEBACiAJCQkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8s
CiAJCQkJQkNBQTkwQzIwQTdFQkE2MDAwOEIxMjI5IC8qIFNjcm9sbGJhci5jcHAgKi8sCiAJCQkJ
QkM3QjJBRjgwNDUwODI0MTAwQTgwMDBGIC8qIFNjcm9sbGJhci5oICovLAorCQkJCTBGRTcxNDE1
MTQyMTg5RkMwMERCMzNCQSAvKiBTY3JvbGxiYXJUaGVtZS5jcHAgKi8sCiAJCQkJQkM4Qjg1NEEw
RTdDN0Y1NjAwQUI2OTg0IC8qIFNjcm9sbGJhclRoZW1lLmggKi8sCiAJCQkJQkMxNDAyODkwRTgz
NjgwODAwMzE5NzE3IC8qIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmggKi8sCiAJCQkJQkMxNDAy
ODgwRTgzNjgwODAwMzE5NzE3IC8qIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmNwcCAqLywKQEAg
LTI3NDczLDYgKzI3NDc2LDcgQEAKIAkJCQkzMTA2MDM3NDE0MzI4MTlDMDBBQkY0QkEgLyogSlNX
ZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTA2MDM3QTE0MzI4
MUNEMDBBQkY0QkEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyVmFsdWUubW0gaW4gU291cmNlcyAqLywK
IAkJCQkyOUFDQjIxNDE0M0U3NDk4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEYwOTA4N0YxNDQ0RkRCMjAwMDI4OTE3IC8qIFNjcm9s
bGJhclRoZW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKaW5kZXggNDc2MjE4MTM1
YmFkNzBiODUzMGUzZmQ3N2EwOTgwZDQzOTY1ZTUyZi4uZjdjMzhlNDYwMDYxNjVjNjU4YTRhZGE5
ZDlmNzgwZWFiMDc2NDQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
VGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC0zMzUsNyArMzM1LDcgQEAgdm9p
ZCBTcGluQnV0dG9uRWxlbWVudDo6cmVsZWFzZUNhcHR1cmUoKQogdm9pZCBTcGluQnV0dG9uRWxl
bWVudDo6c3RhcnRSZXBlYXRpbmdUaW1lcigpCiB7CiAgICAgbV9wcmVzc1N0YXJ0aW5nU3RhdGUg
PSBtX3VwRG93blN0YXRlOwotICAgIFNjcm9sbGJhclRoZW1lKiB0aGVtZSA9IFNjcm9sbGJhclRo
ZW1lOjpuYXRpdmVUaGVtZSgpOworICAgIFNjcm9sbGJhclRoZW1lKiB0aGVtZSA9IFNjcm9sbGJh
clRoZW1lOjp0aGVtZSgpOwogICAgIG1fcmVwZWF0aW5nVGltZXIuc3RhcnQodGhlbWUtPmluaXRp
YWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpLCB0aGVtZS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yV2luLmNwcApp
bmRleCBkOTcwZDI3NWE3ZDNkZDUzYjJlZWYxZDQwYTI3MGQwNjRmOWQ2MjZmLi41OGIwNDlkMjc2
YTE2ZWEwZGE5YmUxM2IyZDQ4NDc5ZjNmY2ZkMjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvcldpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3JXaW4uY3BwCkBAIC05OSw3ICs5OSw3IEBAIGJvb2wgU2Nyb2xs
QW5pbWF0b3JXaW46OnNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Ny
b2xsR3JhbnVsYXJpCiAgICAgLy8KICAgICAvLyBXaGVuIGF1dG9zY3JvbGxpbmcsIHRoZSBzY3Jv
bGxiYXIncyBhdXRvc2Nyb2xsIHRpbWVyIHdpbGwgY2FsbCB1cyB0bwogICAgIC8vIGluY3JlbWVu
dCB0aGUgZGVzaXJlZCBwb3NpdGlvbiBieSB8c3RlcHwgKHdpdGggfG11bHRpcGxpZXJ8ID09IDEp
IGV2ZXJ5Ci0gICAgLy8gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmF1dG9zY3JvbGxU
aW1lckRlbGF5KCkgc2Vjb25kcy4gIElmIHdlIHNldAorICAgIC8vIFNjcm9sbGJhclRoZW1lOjp0
aGVtZSgpLT5hdXRvc2Nyb2xsVGltZXJEZWxheSgpIHNlY29uZHMuIElmIHdlIHNldAogICAgIC8v
IHRoZSBkZXNpcmVkIHZlbG9jaXR5IHRvIGV4YWN0bHkgdGhpcyByYXRlLCBzbW9vdGggc2Nyb2xs
aW5nIHdpbGwgbmVpdGhlcgogICAgIC8vIHJhY2UgYWhlYWQgKGFuZCB0aGVuIGhhdmUgdG8gc2xv
dyBkb3duKSBub3IgaW5jcmVhc2luZ2x5IGxhZyBiZWhpbmQsIGJ1dAogICAgIC8vIHdpbGwgYmUg
c21vb3RoIGFuZCBzeW5jaHJvbml6ZWQuCkBAIC0xMTAsNyArMTEwLDcgQEAgYm9vbCBTY3JvbGxB
bmltYXRvcldpbjo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3Jv
bGxHcmFudWxhcmkKICAgICAvLyAgIGxhZyA9IHxzdGVwfCAtIHYoMC41dEEgKyB0RCkKICAgICAv
LyBXaGVyZQogICAgIC8vICAgdiA9IFRoZSBzdGVhZHktc3RhdGUgdmVsb2NpdHksCi0gICAgLy8g
ICAgICAgfHN0ZXB8IC8gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmF1dG9zY3JvbGxU
aW1lckRlbGF5KCkKKyAgICAvLyAgICAgICB8c3RlcHwgLyBTY3JvbGxiYXJUaGVtZTo6dGhlbWUo
KS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogICAgIC8vICAgdEEgPSBhY2NlbGVyYXRpb25UaW1l
KCkKICAgICAvLyAgIHREID0gVGhlIHRpbWUgd2UgcHJldGVuZCBoYXMgYWxyZWFkeSBwYXNzZWQg
d2hlbiBzdGFydGluZyB0byBzY3JvbGwsCiAgICAgLy8gICAgICAgIHxhbmltYXRpb25UaW1lckRl
bGF5fApAQCAtMTUyLDcgKzE1Miw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JXaW46OnNjcm9sbChT
Y3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpCiAgICAgLy8g
ICBsYWcgPSB8c3RlcHwgKiAoKHIgLyBrKSAtIDEpCiAgICAgLy8gV2hlcmUKICAgICAvLyAgIHIg
PSBUaGUgcmF0aW8gb2YgdGhlIGF1dG9zY3JvbGwgcmVwZWF0IGRlbGF5LAotICAgIC8vICAgICAg
IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5hdXRvc2Nyb2xsVGltZXJEZWxheSgpLCB0
byB0aGUKKyAgICAvLyAgICAgICBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+YXV0b3Njcm9sbFRp
bWVyRGVsYXkoKSwgdG8gdGhlCiAgICAgLy8gICAgICAga2V5L3doZWVsIHJlcGVhdCBkZWxheSAo
aS5lLiA+IDEgd2hlbiBrZXlzIHJlcGVhdCBmYXN0ZXIpCiAgICAgLy8gICBrID0gVGhlIHZlbG9j
aXR5IHRyaW0gY29uc3RhbnQgZ2l2ZW4gYmVsb3cKICAgICAvLwpAQCAtMTYzLDE0ICsxNjMsMTQg
QEAgYm9vbCBTY3JvbGxBbmltYXRvcldpbjo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9y
aWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcmkKICAgICAvLyBjYWxjdWxhdGVkIGFib3ZlIGJlaW5n
IGxhcmdlciB0aGFuIHRoYXQpLiAgVGhpcyB3aWxsIHJlc3VsdCBpbiAicGVyZmVjdCIKICAgICAv
LyBiZWhhdmlvciBmb3IgYXV0b3Njcm9sbGluZyB3aXRob3V0IGhhdmluZyB0byBzcGVjaWFsLWNh
c2UgaXQuCiAgICAgaWYgKGFscmVhZHlBbmltYXRpbmcpCi0gICAgICAgIGFuaW1hdGlvblN0ZXAg
Lz0gKDIuMCAtICgoMS4wIC8gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkpICogKDAuNSAqIGFjY2VsZXJhdGlvblRpbWUoKSArIGFuaW1hdGlvblRp
bWVyRGVsYXkpKSk7CisgICAgICAgIGFuaW1hdGlvblN0ZXAgLz0gKDIuMCAtICgoMS4wIC8gU2Ny
b2xsYmFyVGhlbWU6OnRoZW1lKCktPmF1dG9zY3JvbGxUaW1lckRlbGF5KCkpICogKDAuNSAqIGFj
Y2VsZXJhdGlvblRpbWUoKSArIGFuaW1hdGlvblRpbWVyRGVsYXkpKSk7CiAgICAgLy8gVGhlIHJl
c3VsdCBvZiBhbGwgdGhpcyBpcyB0aGF0IHNpbmdsZSBrZXlwcmVzc2VzIG9yIHdoZWVsIGZsaWNr
cyB3aWxsCiAgICAgLy8gc2Nyb2xsIGluIHRoZSBzYW1lIHRpbWUgcGVyaW9kIGFzIHNpbmdsZSBw
cmVzc2VzIG9mIHNjcm9sbGJhciBlbGVtZW50czsKICAgICAvLyBob2xkaW5nIHRoZSBtb3VzZSBk
b3duIG9uIGEgc2Nyb2xsYmFyIHBhcnQgd2lsbCBzY3JvbGwgYXMgZmFzdCBhcwogICAgIC8vIHBv
c3NpYmxlIHdpdGhvdXQgaGl0Y2hpbmc7IGFuZCBvdGhlciByZXBlYXRlZCBzY3JvbGwgZXZlbnRz
IHdpbGwgYWxzbwogICAgIC8vIHNjcm9sbCB3aXRoIHRoZSBzYW1lIHRpbWUgbGFnIGFzIGhvbGRp
bmcgZG93biB0aGUgbW91c2Ugb24gYSBzY3JvbGxiYXIKICAgICAvLyBwYXJ0LgotICAgIGRhdGEt
Pm1fZGVzaXJlZFZlbG9jaXR5ID0gYW5pbWF0aW9uU3RlcCAvIFNjcm9sbGJhclRoZW1lOjpuYXRp
dmVUaGVtZSgpLT5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOworICAgIGRhdGEtPm1fZGVzaXJlZFZl
bG9jaXR5ID0gYW5pbWF0aW9uU3RlcCAvIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5hdXRvc2Ny
b2xsVGltZXJEZWxheSgpOwogCiAgICAgLy8gSWYgd2UncmUgbm90IGFscmVhZHkgc2Nyb2xsaW5n
LCBzdGFydC4KICAgICBpZiAoIWFscmVhZHlBbmltYXRpbmcpCkBAIC0xOTgsMTEgKzE5OCwxMSBA
QCB2b2lkIFNjcm9sbEFuaW1hdG9yV2luOjpzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24o
Y29uc3QgRmxvYXRQb2ludCYgb2Zmc2V0KQogCiBkb3VibGUgU2Nyb2xsQW5pbWF0b3JXaW46OmFj
Y2VsZXJhdGlvblRpbWUoKQogewotICAgIC8vIFdlIGVsZWN0IHRvIHVzZSBTY3JvbGxiYXJUaGVt
ZTo6bmF0aXZlVGhlbWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBhcworICAgIC8vIFdlIGVs
ZWN0IHRvIHVzZSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXko
KSBhcwogICAgIC8vIHRoZSBsZW5ndGggb2YgdGltZSB3ZSdsbCB0YWtlIHRvIGFjY2VsZXJhdGUg
ZnJvbSAwIHRvIG91ciB0YXJnZXQKICAgICAvLyB2ZWxvY2l0eS4gIENob29zaW5nIGEgbGFyZ2Vy
IHZhbHVlIHdvdWxkIHByb2R1Y2UgYSBtb3JlIHByb25vdW5jZWQKICAgICAvLyBhY2NlbGVyYXRp
b24gZWZmZWN0LgotICAgIHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+YXV0
b3Njcm9sbFRpbWVyRGVsYXkoKTsKKyAgICByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkt
PmF1dG9zY3JvbGxUaW1lckRlbGF5KCk7CiB9CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JXaW46OmFu
aW1hdGlvblRpbWVyRmlyZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3JXaW4+KiB0aW1lcikKQEAgLTIy
NCw3ICsyMjQsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yV2luOjphbmltYXRlU2Nyb2xsKFBlckF4
aXNEYXRhKiBkYXRhKQogICAgIC8vIFdoZXJlCiAgICAgLy8gICB0MCA9IFRoZSB0aW1lIHRvIHBl
cmZvcm0gdGhlIHNjcm9sbCB3aXRob3V0IHNtb290aCBzY3JvbGxpbmcKICAgICAvLyAgIHRBID0g
VGhlIGFjY2VsZXJhdGlvbiB0aW1lLAotICAgIC8vICAgICAgICBTY3JvbGxiYXJUaGVtZTo6bmF0
aXZlVGhlbWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSAoc2VlIGJlbG93KQorICAgIC8vICAg
ICAgICBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSAoc2Vl
IGJlbG93KQogICAgIC8vICAgdEQgPSB8YW5pbWF0aW9uVGltZXJEZWxheXwKICAgICAvLyAgIHRT
ID0gQSB2YWx1ZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHRpbWUgcmVxdWlyZWQgdG8gcGVy
Zm9ybSBhCiAgICAgLy8gICAgICAgIHNpbmdsZSBzY3JvbGwgaW5jcmVtZW50LCBpLmUuIHRoZSB3
b3JrIGRvbmUgZHVlIHRvIGNhbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAKaW5kZXggNzhkMWVjZWQzZTU5YTI2MzZjMzE1NDFkMDQ2MDk2ZWYxYzEyYWVjYy4uMjIwNWIy
ZTUxYjUwNDE3ZTdjMzdiOTBkNjI1Y2UyYTc5YTg3YmM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVmlldy5jcHAKQEAgLTk0NCw3ICs5NDQsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OnVw
ZGF0ZVNjcm9sbENvcm5lcigpCiAKIHZvaWQgU2Nyb2xsVmlldzo6cGFpbnRTY3JvbGxDb3JuZXIo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBjb3JuZXJSZWN0KQogewot
ICAgIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5wYWludFNjcm9sbENvcm5lcih0aGlz
LCBjb250ZXh0LCBjb3JuZXJSZWN0KTsKKyAgICBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+cGFp
bnRTY3JvbGxDb3JuZXIodGhpcywgY29udGV4dCwgY29ybmVyUmVjdCk7CiB9CiAKIHZvaWQgU2Ny
b2xsVmlldzo6aW52YWxpZGF0ZVNjcm9sbENvcm5lclJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkK
QEAgLTEwODQsNyArMTA4NCw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6Y2FsY3VsYXRlT3ZlcmhhbmdB
cmVhc0ZvclBhaW50aW5nKEludFJlY3QmIGhvcml6b250YWxPdmVyaGFuZ1JlCiAKIHZvaWQgU2Ny
b2xsVmlldzo6cGFpbnRPdmVyaGFuZ0FyZWFzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29u
c3QgSW50UmVjdCYgaG9yaXpvbnRhbE92ZXJoYW5nUmVjdCwgY29uc3QgSW50UmVjdCYgdmVydGlj
YWxPdmVyaGFuZ1JlY3QsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCkKIHsKLSAgICBTY3JvbGxi
YXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+cGFpbnRPdmVyaGFuZ0FyZWFzKHRoaXMsIGNvbnRleHQs
IGhvcml6b250YWxPdmVyaGFuZ1JlY3QsIHZlcnRpY2FsT3ZlcmhhbmdSZWN0LCBkaXJ0eVJlY3Qp
OworICAgIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5wYWludE92ZXJoYW5nQXJlYXModGhpcywg
Y29udGV4dCwgaG9yaXpvbnRhbE92ZXJoYW5nUmVjdCwgdmVydGljYWxPdmVyaGFuZ1JlY3QsIGRp
cnR5UmVjdCk7CiB9CiAKIHZvaWQgU2Nyb2xsVmlldzo6Y2FsY3VsYXRlQW5kUGFpbnRPdmVyaGFu
Z0FyZWFzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IDM0ZGRj
M2Q5M2M4MDc1ODMwMTkzMmJiNzkzNzBhZGM5ODk2ZTQ4MjguLjc4OWYwYWQ1NWYyMmMwMjFlMDUw
YWM2MDRmZDU4N2UxMTdiZDJkZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5jcHAKQEAgLTIyOCwxMiArMjI4LDEyIEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNl
dFNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXJPdmVybGF5U3R5bGUgb3ZlcmxheVN0eWxl
CiAgICAgbV9zY3JvbGxiYXJPdmVybGF5U3R5bGUgPSBvdmVybGF5U3R5bGU7CiAKICAgICBpZiAo
aG9yaXpvbnRhbFNjcm9sbGJhcigpKSB7Ci0gICAgICAgIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVU
aGVtZSgpLT51cGRhdGVTY3JvbGxiYXJPdmVybGF5U3R5bGUoaG9yaXpvbnRhbFNjcm9sbGJhcigp
KTsKKyAgICAgICAgU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnVwZGF0ZVNjcm9sbGJhck92ZXJs
YXlTdHlsZShob3Jpem9udGFsU2Nyb2xsYmFyKCkpOwogICAgICAgICBob3Jpem9udGFsU2Nyb2xs
YmFyKCktPmludmFsaWRhdGUoKTsKICAgICB9CiAgICAgCiAgICAgaWYgKHZlcnRpY2FsU2Nyb2xs
YmFyKCkpIHsKLSAgICAgICAgU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnVwZGF0ZVNj
cm9sbGJhck92ZXJsYXlTdHlsZSh2ZXJ0aWNhbFNjcm9sbGJhcigpKTsKKyAgICAgICAgU2Nyb2xs
YmFyVGhlbWU6OnRoZW1lKCktPnVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZSh2ZXJ0aWNhbFNj
cm9sbGJhcigpKTsKICAgICAgICAgdmVydGljYWxTY3JvbGxiYXIoKS0+aW52YWxpZGF0ZSgpOwog
ICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDc3NmQyNmE0
OTVhZjMxMGQ4YTRlNmZkMTVjZDA2YTk1NWM0MmUyNmMuLmMyZmQ3NGRjN2U5Mjg4MGQwMjBjMTdm
NjEyZWQzMzRiODhmODQ5MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApA
QCAtNjAsNyArNjAsNyBAQCBQYXNzUmVmUHRyPFNjcm9sbGJhcj4gU2Nyb2xsYmFyOjpjcmVhdGVO
YXRpdmVTY3JvbGxiYXIoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibAogCiBpbnQgU2Nyb2xsYmFy
OjptYXhPdmVybGFwQmV0d2VlblBhZ2VzKCkKIHsKLSAgICBzdGF0aWMgaW50IG1heE92ZXJsYXBC
ZXR3ZWVuUGFnZXMgPSBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+bWF4T3ZlcmxhcEJl
dHdlZW5QYWdlcygpOworICAgIHN0YXRpYyBpbnQgbWF4T3ZlcmxhcEJldHdlZW5QYWdlcyA9IFNj
cm9sbGJhclRoZW1lOjp0aGVtZSgpLT5tYXhPdmVybGFwQmV0d2VlblBhZ2VzKCk7CiAgICAgcmV0
dXJuIG1heE92ZXJsYXBCZXR3ZWVuUGFnZXM7CiB9CiAKQEAgLTg4LDcgKzg4LDcgQEAgU2Nyb2xs
YmFyOjpTY3JvbGxiYXIoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhLCBTY3JvbGxiYXJP
cmllbnRhdGlvbiBvcmllbnQKICAgICAsIG1fc3VwcHJlc3NJbnZhbGlkYXRpb24oZmFsc2UpCiB7
CiAgICAgaWYgKCFtX3RoZW1lKQotICAgICAgICBtX3RoZW1lID0gU2Nyb2xsYmFyVGhlbWU6Om5h
dGl2ZVRoZW1lKCk7CisgICAgICAgIG1fdGhlbWUgPSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKTsK
IAogICAgIG1fdGhlbWUtPnJlZ2lzdGVyU2Nyb2xsYmFyKHRoaXMpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM3NGQyYmJkZGUxZjUw
MDdmMjIwYjgxMGUxM2JjMDllYzg0Zjk0YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZS5oIgorCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhl
bWVNb2NrLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitTY3JvbGxiYXJUaGVtZSogU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkKK3sKKyAgICBpZiAoU2V0
dGluZ3M6Om1vY2tTY3JvbGxiYXJzRW5hYmxlZCgpKSB7CisgICAgICAgIERFRklORV9TVEFUSUNf
TE9DQUwoU2Nyb2xsYmFyVGhlbWVNb2NrLCBtb2NrVGhlbWUsICgpKTsKKyAgICAgICAgcmV0dXJu
ICZtb2NrVGhlbWU7CisgICAgfQorICAgIHJldHVybiBuYXRpdmVUaGVtZSgpOworfQorCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCAwZTlmMDkxMGZjZTJk
MjQ3ZDcxYzllZmFiMTUyNWNkM2FiYmM4N2UzLi45ZWYxMjQyNzYwOTMyYzg4MDFlYzFlYTAxNThj
ZDlmYTI0MzdmMjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgK
QEAgLTEwMCw2ICsxMDAsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNj
cm9sbGJhcihTY3JvbGxiYXIqKSB7fQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xs
YmFyKFNjcm9sbGJhciopIHt9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNNb2NrVGhlbWUoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgc3RhdGljIFNjcm9sbGJhclRoZW1lKiB0aGVtZSgp
OworCitwcml2YXRlOgogICAgIHN0YXRpYyBTY3JvbGxiYXJUaGVtZSogbmF0aXZlVGhlbWUoKTsg
Ly8gTXVzdCBiZSBpbXBsZW1lbnRlZCB0byByZXR1cm4gdGhlIGNvcnJlY3QgdGhlbWUgc3ViY2xh
c3MuCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Q
b3B1cExpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBM
aXN0Qm94LmNwcAppbmRleCBmNzM1NTY3NTllMmJiNDFmZTE3N2U2ODMyMDE3YWZjNjZjODc2Zjkx
Li40OTM1NzgxNDY4NzI1OGJmNzk4MmZhMDM5MjA1ZWE1NDk1NWM4Yjc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cExpc3RCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTGlzdEJveC5jcHAKQEAgLTg1Nyw3
ICs4NTcsNyBAQCB2b2lkIFBvcHVwTGlzdEJveDo6bGF5b3V0KCkKICAgICAvLyBTZXQgb3VyIHdp
ZGdldCBhbmQgc2Nyb2xsYWJsZSBjb250ZW50cyBzaXplcy4KICAgICBpbnQgc2Nyb2xsYmFyV2lk
dGggPSAwOwogICAgIGlmIChtX3Zpc2libGVSb3dzIDwgbnVtSXRlbXMoKSkgewotICAgICAgICBz
Y3JvbGxiYXJXaWR0aCA9IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJU
aGlja25lc3MoKTsKKyAgICAgICAgc2Nyb2xsYmFyV2lkdGggPSBTY3JvbGxiYXJUaGVtZTo6dGhl
bWUoKS0+c2Nyb2xsYmFyVGhpY2tuZXNzKCk7CiAKICAgICAgICAgLy8gVXNlIGtNaW5FbmRPZkxp
bmVQYWRkaW5nIHdoZW4gdGhlcmUgaXMgYSBzY3JvbGxiYXIgc28gdGhhdCB3ZSB1c2UKICAgICAg
ICAgLy8gYXMgbXVjaCBhcyAobGluZUVuZFBhZGRpbmdXaWR0aCAtIGtNaW5FbmRPZkxpbmVQYWRk
aW5nKSBwYWRkaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9TY3JvbGxBbmltYXRvckNocm9taXVtTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vU2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYy5tbQppbmRleCBkYWUyZDNkYTBmNWMx
M2VjNGZjNDUzMzIyMzBhYjA1ZTgzMDFkNDQ2Li43OWU1ZGNhOTZhNDdjYmQ2N2EzMjE0YzI0OWYy
NjIxNWJlZDZjNGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9TY3JvbGxBbmltYXRvckNocm9taXVtTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1Njcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWMubW0KQEAgLTQ2MSw2ICs0NjEs
MTIgQEAgUGFzc093blB0cjxTY3JvbGxBbmltYXRvcj4gU2Nyb2xsQW5pbWF0b3I6OmNyZWF0ZShT
Y3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNj
cm9sbEFuaW1hdG9yQ2hyb21pdW1NYWMoc2Nyb2xsYWJsZUFyZWEpKTsKIH0KIAorc3RhdGljIFNj
cm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqIGNocm9taXVtU2Nyb2xsYmFyVGhlbWUoKQoreworICAg
IFNjcm9sbGJhclRoZW1lKiBzY3JvbGxiYXJUaGVtZSA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgp
OworICAgIHJldHVybiAhc2Nyb2xsYmFyVGhlbWUtPmlzTW9ja1RoZW1lKCkgPyBzdGF0aWNfY2Fz
dDxTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKj4oc2Nyb2xsYmFyVGhlbWUpIDogMDsKK30KKwog
U2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6U2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYyhTY3Jv
bGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEpCiAgICAgOiBTY3JvbGxBbmltYXRvcihzY3JvbGxh
YmxlQXJlYSkKICNpZiBVU0UoV0tfU0NST0xMQkFSX1BBSU5URVIpCkBAIC02ODIsOCArNjg4LDEx
IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6ZGlkRW5kU2Nyb2xsR2VzdHVyZSgp
IGNvbnN0CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6ZGlkQWRkVmVydGljYWxT
Y3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiB7Ci0gICAgaWYgKGlzU2Nyb2xsYmFyT3Zl
cmxheUFQSUF2YWlsYWJsZSgpKSB7Ci0gICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBwYWlu
dGVyID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyo+KFdl
YkNvcmU6OlNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cGFpbnRlckZvclNjcm9sbGJh
cihzY3JvbGxiYXIpOworICAgIGlmICghaXNTY3JvbGxiYXJPdmVybGF5QVBJQXZhaWxhYmxlKCkp
CisgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgaWYgKFNjcm9sbGJhclRoZW1lQ2hyb21p
dW1NYWMqIHRoZW1lID0gY2hyb21pdW1TY3JvbGxiYXJUaGVtZSgpKSB7CisgICAgICAgIFdLU2Ny
b2xsYmFyUGFpbnRlclJlZiBwYWludGVyID0gdGhlbWUtPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Ny
b2xsYmFyKTsKICAgICAgICAgd2tTY3JvbGxiYXJQYWludGVyU2V0RGVsZWdhdGUocGFpbnRlciwg
bV9zY3JvbGxiYXJQYWludGVyRGVsZWdhdGUuZ2V0KCkpOwogICAgICAgICB3a1NldFBhaW50ZXJG
b3JQYWludGVyQ29udHJvbGxlcihtX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpLCBw
YWludGVyLCBmYWxzZSk7CiAgICAgICAgIGlmIChzY3JvbGxhYmxlQXJlYSgpLT5pbkxpdmVSZXNp
emUoKSkKQEAgLTY5Myw4ICs3MDIsMTEgQEAgdm9pZCBTY3JvbGxBbmltYXRvckNocm9taXVtTWFj
OjpkaWRBZGRWZXJ0aWNhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikKIAogdm9pZCBT
Y3JvbGxBbmltYXRvckNocm9taXVtTWFjOjp3aWxsUmVtb3ZlVmVydGljYWxTY3JvbGxiYXIoU2Ny
b2xsYmFyKiBzY3JvbGxiYXIpCiB7Ci0gICAgaWYgKGlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2YWls
YWJsZSgpKSB7Ci0gICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBwYWludGVyID0gc3RhdGlj
X2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyo+KFdlYkNvcmU6OlNjcm9s
bGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIp
OworICAgIGlmICghaXNTY3JvbGxiYXJPdmVybGF5QVBJQXZhaWxhYmxlKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKiB0aGVtZSA9IGNocm9t
aXVtU2Nyb2xsYmFyVGhlbWUoKSkgeworICAgICAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgcGFp
bnRlciA9IHRoZW1lLT5wYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhcik7CiAgICAgICAgIHdr
U2Nyb2xsYmFyUGFpbnRlclNldERlbGVnYXRlKHBhaW50ZXIsIG5pbCk7CiAgICAgICAgIHdrU2V0
UGFpbnRlckZvclBhaW50ZXJDb250cm9sbGVyKG1fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIu
Z2V0KCksIG5pbCwgZmFsc2UpOwogICAgIH0KQEAgLTcwMiw4ICs3MTQsMTEgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvckNocm9taXVtTWFjOjp3aWxsUmVtb3ZlVmVydGljYWxTY3JvbGxiYXIoU2Nyb2xs
YmFyKiBzY3JvbGxiYXIKIAogdm9pZCBTY3JvbGxBbmltYXRvckNocm9taXVtTWFjOjpkaWRBZGRI
b3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogewotICAgIGlmIChpc1Nj
cm9sbGJhck92ZXJsYXlBUElBdmFpbGFibGUoKSkgewotICAgICAgICBXS1Njcm9sbGJhclBhaW50
ZXJSZWYgcGFpbnRlciA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21p
dW1NYWMqPihXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnBhaW50ZXJG
b3JTY3JvbGxiYXIoc2Nyb2xsYmFyKTsKKyAgICBpZiAoIWlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2
YWlsYWJsZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoU2Nyb2xsYmFyVGhlbWVDaHJv
bWl1bU1hYyogdGhlbWUgPSBjaHJvbWl1bVNjcm9sbGJhclRoZW1lKCkpIHsKKyAgICAgICAgV0tT
Y3JvbGxiYXJQYWludGVyUmVmIHBhaW50ZXIgPSB0aGVtZS0+cGFpbnRlckZvclNjcm9sbGJhcihz
Y3JvbGxiYXIpOwogICAgICAgICB3a1Njcm9sbGJhclBhaW50ZXJTZXREZWxlZ2F0ZShwYWludGVy
LCBtX3Njcm9sbGJhclBhaW50ZXJEZWxlZ2F0ZS5nZXQoKSk7CiAgICAgICAgIHdrU2V0UGFpbnRl
ckZvclBhaW50ZXJDb250cm9sbGVyKG1fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCks
IHBhaW50ZXIsIHRydWUpOwogICAgICAgICBpZiAoc2Nyb2xsYWJsZUFyZWEoKS0+aW5MaXZlUmVz
aXplKCkpCkBAIC03MTMsOCArNzI4LDExIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1h
Yzo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikKIAogdm9p
ZCBTY3JvbGxBbmltYXRvckNocm9taXVtTWFjOjp3aWxsUmVtb3ZlSG9yaXpvbnRhbFNjcm9sbGJh
cihTY3JvbGxiYXIqIHNjcm9sbGJhcikKIHsKLSAgICBpZiAoaXNTY3JvbGxiYXJPdmVybGF5QVBJ
QXZhaWxhYmxlKCkpIHsKLSAgICAgICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIHBhaW50ZXIgPSBz
dGF0aWNfY2FzdDxXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKj4oV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkpLT5wYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9s
bGJhcik7CisgICAgaWYgKCFpc1Njcm9sbGJhck92ZXJsYXlBUElBdmFpbGFibGUoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqIHRoZW1lID0g
Y2hyb21pdW1TY3JvbGxiYXJUaGVtZSgpKSB7CisgICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJl
ZiBwYWludGVyID0gdGhlbWUtPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKTsKICAgICAg
ICAgd2tTY3JvbGxiYXJQYWludGVyU2V0RGVsZWdhdGUocGFpbnRlciwgbmlsKTsKICAgICAgICAg
d2tTZXRQYWludGVyRm9yUGFpbnRlckNvbnRyb2xsZXIobV9zY3JvbGxiYXJQYWludGVyQ29udHJv
bGxlci5nZXQoKSwgbmlsLCB0cnVlKTsKICAgICB9CkBAIC0xMjE4LDcgKzEyMzYsMTIgQEAgdm9p
ZCBTY3JvbGxBbmltYXRvckNocm9taXVtTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKCkKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqIG1hY1Ro
ZW1lID0gKFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqKVNjcm9sbGJhclRoZW1lOjpuYXRpdmVU
aGVtZSgpOworICAgIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqIG1hY1RoZW1lID0gY2hyb21p
dW1TY3JvbGxiYXJUaGVtZSgpOworICAgIGlmICghbWFjVGhlbWUpIHsKKyAgICAgICAgc2V0TmVl
ZHNTY3JvbGxlclN0eWxlVXBkYXRlKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIGludCBuZXdTdHlsZSA9IHdrU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJTdHlsZShtX3Nj
cm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpKTsKIAogICAgIGlmIChTY3JvbGxiYXIqIHZl
cnRpY2FsU2Nyb2xsYmFyID0gc2Nyb2xsYWJsZUFyZWEoKS0+dmVydGljYWxTY3JvbGxiYXIoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Nj
cm9sbGJhclRoZW1lQ2hyb21pdW1NYWMubW0KaW5kZXggNDcyMzQzZDQwMWUxMTQ4NDMyYmQyNmVi
NmZkOGU5NDE4N2IwZTAwYy4uMTc3YmM5Mjk4NDg3NTIwMjJmNTBkMWJkN2RlNjU4NTdhYWIzMDk0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFy
VGhlbWVDaHJvbWl1bU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tCkBAIC05Niw3ICs5NiwxMSBAQCBzdGF0aWMg
U2Nyb2xsYmFyUGFpbnRlck1hcCogc2Nyb2xsYmFyTWFwKCkKIHsKICAgICBVTlVTRURfUEFSQU0o
dW51c2VkTm90aWZpY2F0aW9uKTsKIAotICAgIHN0YXRpY19jYXN0PFNjcm9sbGJhclRoZW1lQ2hy
b21pdW1NYWMqPihTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnByZWZlcmVuY2VzQ2hh
bmdlZCgpOworICAgIFNjcm9sbGJhclRoZW1lKiB0aGVtZSA9IFNjcm9sbGJhclRoZW1lOjp0aGVt
ZSgpOworICAgIGlmICh0aGVtZS0+aXNNb2NrVGhlbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyo+KGlzTW9ja1RoZW1lKS0+
cHJlZmVyZW5jZXNDaGFuZ2VkKCk7CiAgICAgaWYgKHNjcm9sbGJhck1hcCgpLT5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybjsKICAgICBTY3JvbGxiYXJQYWludGVyTWFwOjppdGVyYXRvciBlbmQg
PSBzY3JvbGxiYXJNYXAoKS0+ZW5kKCk7CkBAIC0xMTAsNyArMTE0LDExIEBAIHN0YXRpYyBTY3Jv
bGxiYXJQYWludGVyTWFwKiBzY3JvbGxiYXJNYXAoKQogewogICAgIFVOVVNFRF9QQVJBTSh1bnVz
ZWROb3RpZmljYXRpb24pOwogCi0gICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVDaHJvbWl1
bU1hYyo+KFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cHJlZmVyZW5jZXNDaGFuZ2Vk
KCk7CisgICAgU2Nyb2xsYmFyVGhlbWUqIHRoZW1lID0gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCk7
CisgICAgaWYgKHRoZW1lLT5pc01vY2tUaGVtZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBz
dGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKj4odGhlbWUpLT5wcmVmZXJlbmNl
c0NoYW5nZWQoKTsKIH0KIAogKyAodm9pZClyZWdpc3RlckFzT2JzZXJ2ZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBmMzZjODg1
ZmViYzBlZTgzZGJjNGNkNTE2OTIwYTYyNmVhNDlmMDQ2Li5hMmQ5M2Y4MWVmYmEyYTg5NmNiZGUw
NDk0NjA1MjhhMmExYjA5ZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Njcm9sbEFuaW1hdG9yTWFjLm1tCkBAIC00NTIsNiArNDUyLDEyIEBAIFBhc3NPd25QdHI8U2Ny
b2xsQW5pbWF0b3I+IFNjcm9sbEFuaW1hdG9yOjpjcmVhdGUoU2Nyb2xsYWJsZUFyZWEqIHNjcm9s
bGFibGVBcmVhCiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTY3JvbGxBbmltYXRvck1hYyhzY3Jv
bGxhYmxlQXJlYSkpOwogfQogCitzdGF0aWMgU2Nyb2xsYmFyVGhlbWVNYWMqIG1hY1Njcm9sbGJh
clRoZW1lKCkKK3sKKyAgICBTY3JvbGxiYXJUaGVtZSogc2Nyb2xsYmFyVGhlbWUgPSBTY3JvbGxi
YXJUaGVtZTo6dGhlbWUoKTsKKyAgICByZXR1cm4gIXNjcm9sbGJhclRoZW1lLT5pc01vY2tUaGVt
ZSgpID8gc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVNYWMqPihzY3JvbGxiYXJUaGVtZSkgOiAw
OworfQorCiBTY3JvbGxBbmltYXRvck1hYzo6U2Nyb2xsQW5pbWF0b3JNYWMoU2Nyb2xsYWJsZUFy
ZWEqIHNjcm9sbGFibGVBcmVhKQogICAgIDogU2Nyb2xsQW5pbWF0b3Ioc2Nyb2xsYWJsZUFyZWEp
CiAjaWYgVVNFKFNDUk9MTEJBUl9QQUlOVEVSKQpAQCAtNjgyLDExICs2ODgsMTMgQEAgdm9pZCBT
Y3JvbGxBbmltYXRvck1hYzo6ZGlkRW5kU2Nyb2xsR2VzdHVyZSgpIGNvbnN0CiB2b2lkIFNjcm9s
bEFuaW1hdG9yTWFjOjpkaWRBZGRWZXJ0aWNhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJh
cikKIHsKICNpZiBVU0UoU0NST0xMQkFSX1BBSU5URVIpCi0gICAgU2Nyb2xsYmFyUGFpbnRlciBw
YWludGVyID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWMqPihXZWJDb3Jl
OjpTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Ny
b2xsYmFyKTsKLSAgICBbcGFpbnRlciBzZXREZWxlZ2F0ZTptX3Njcm9sbGJhclBhaW50ZXJEZWxl
Z2F0ZS5nZXQoKV07Ci0gICAgW21fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCkgc2V0
VmVydGljYWxTY3JvbGxlckltcDpwYWludGVyXTsKLSAgICBpZiAoc2Nyb2xsYWJsZUFyZWEoKS0+
aW5MaXZlUmVzaXplKCkpCi0gICAgICAgIFtwYWludGVyIHNldEtub2JBbHBoYToxXTsKKyAgICBp
ZiAoU2Nyb2xsYmFyVGhlbWVNYWMqIHRoZW1lID0gbWFjU2Nyb2xsYmFyVGhlbWUoKSkgeworICAg
ICAgICBTY3JvbGxiYXJQYWludGVyIHBhaW50ZXIgPSB0aGVtZS0+cGFpbnRlckZvclNjcm9sbGJh
cihzY3JvbGxiYXIpOworICAgICAgICBbcGFpbnRlciBzZXREZWxlZ2F0ZTptX3Njcm9sbGJhclBh
aW50ZXJEZWxlZ2F0ZS5nZXQoKV07CisgICAgICAgIFttX3Njcm9sbGJhclBhaW50ZXJDb250cm9s
bGVyLmdldCgpIHNldFZlcnRpY2FsU2Nyb2xsZXJJbXA6cGFpbnRlcl07CisgICAgICAgIGlmIChz
Y3JvbGxhYmxlQXJlYSgpLT5pbkxpdmVSZXNpemUoKSkKKyAgICAgICAgICAgIFtwYWludGVyIHNl
dEtub2JBbHBoYToxXTsKKyAgICB9CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShzY3JvbGxiYXIp
OwogI2VuZGlmCkBAIC02OTUsOSArNzAzLDExIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OmRp
ZEFkZFZlcnRpY2FsU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogdm9pZCBTY3JvbGxB
bmltYXRvck1hYzo6d2lsbFJlbW92ZVZlcnRpY2FsU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xs
YmFyKQogewogI2lmIFVTRShTQ1JPTExCQVJfUEFJTlRFUikKLSAgICBTY3JvbGxiYXJQYWludGVy
IHBhaW50ZXIgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYyo+KFdlYkNv
cmU6OlNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cGFpbnRlckZvclNjcm9sbGJhcihz
Y3JvbGxiYXIpOwotICAgIFtwYWludGVyIHNldERlbGVnYXRlOm5pbF07Ci0gICAgW21fc2Nyb2xs
YmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCkgc2V0VmVydGljYWxTY3JvbGxlckltcDpuaWxdOwor
ICAgIGlmIChTY3JvbGxiYXJUaGVtZU1hYyogdGhlbWUgPSBtYWNTY3JvbGxiYXJUaGVtZSgpKSB7
CisgICAgICAgIFNjcm9sbGJhclBhaW50ZXIgcGFpbnRlciA9IHRoZW1lLT5wYWludGVyRm9yU2Ny
b2xsYmFyKHNjcm9sbGJhcik7CisgICAgICAgIFtwYWludGVyIHNldERlbGVnYXRlOm5pbF07Cisg
ICAgICAgIFttX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpIHNldFZlcnRpY2FsU2Ny
b2xsZXJJbXA6bmlsXTsKKyAgICB9CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShzY3JvbGxiYXIp
OwogI2VuZGlmCkBAIC03MDYsMTEgKzcxNiwxMyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp3
aWxsUmVtb3ZlVmVydGljYWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiB2b2lkIFNj
cm9sbEFuaW1hdG9yTWFjOjpkaWRBZGRIb3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Ny
b2xsYmFyKQogewogI2lmIFVTRShTQ1JPTExCQVJfUEFJTlRFUikKLSAgICBTY3JvbGxiYXJQYWlu
dGVyIHBhaW50ZXIgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYyo+KFdl
YkNvcmU6OlNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cGFpbnRlckZvclNjcm9sbGJh
cihzY3JvbGxiYXIpOwotICAgIFtwYWludGVyIHNldERlbGVnYXRlOm1fc2Nyb2xsYmFyUGFpbnRl
ckRlbGVnYXRlLmdldCgpXTsKLSAgICBbbV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxlci5nZXQo
KSBzZXRIb3Jpem9udGFsU2Nyb2xsZXJJbXA6cGFpbnRlcl07Ci0gICAgaWYgKHNjcm9sbGFibGVB
cmVhKCktPmluTGl2ZVJlc2l6ZSgpKQotICAgICAgICBbcGFpbnRlciBzZXRLbm9iQWxwaGE6MV07
CisgICAgaWYgKFNjcm9sbGJhclRoZW1lTWFjKiB0aGVtZSA9IG1hY1Njcm9sbGJhclRoZW1lKCkp
IHsKKyAgICAgICAgU2Nyb2xsYmFyUGFpbnRlciBwYWludGVyID0gdGhlbWUtPnBhaW50ZXJGb3JT
Y3JvbGxiYXIoc2Nyb2xsYmFyKTsKKyAgICAgICAgW3BhaW50ZXIgc2V0RGVsZWdhdGU6bV9zY3Jv
bGxiYXJQYWludGVyRGVsZWdhdGUuZ2V0KCldOworICAgICAgICBbbV9zY3JvbGxiYXJQYWludGVy
Q29udHJvbGxlci5nZXQoKSBzZXRIb3Jpem9udGFsU2Nyb2xsZXJJbXA6cGFpbnRlcl07CisgICAg
ICAgIGlmIChzY3JvbGxhYmxlQXJlYSgpLT5pbkxpdmVSZXNpemUoKSkKKyAgICAgICAgICAgIFtw
YWludGVyIHNldEtub2JBbHBoYToxXTsKKyAgICB9CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShz
Y3JvbGxiYXIpOwogI2VuZGlmCkBAIC03MTksOSArNzMxLDExIEBAIHZvaWQgU2Nyb2xsQW5pbWF0
b3JNYWM6OmRpZEFkZEhvcml6b250YWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiB2
b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp3aWxsUmVtb3ZlSG9yaXpvbnRhbFNjcm9sbGJhcihTY3Jv
bGxiYXIqIHNjcm9sbGJhcikKIHsKICNpZiBVU0UoU0NST0xMQkFSX1BBSU5URVIpCi0gICAgU2Ny
b2xsYmFyUGFpbnRlciBwYWludGVyID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyVGhl
bWVNYWMqPihXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnBhaW50ZXJG
b3JTY3JvbGxiYXIoc2Nyb2xsYmFyKTsKLSAgICBbcGFpbnRlciBzZXREZWxlZ2F0ZTpuaWxdOwot
ICAgIFttX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpIHNldEhvcml6b250YWxTY3Jv
bGxlckltcDpuaWxdOworICAgIGlmIChTY3JvbGxiYXJUaGVtZU1hYyogdGhlbWUgPSBtYWNTY3Jv
bGxiYXJUaGVtZSgpKSB7CisgICAgICAgIFNjcm9sbGJhclBhaW50ZXIgcGFpbnRlciA9IHRoZW1l
LT5wYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhcik7CisgICAgICAgIFtwYWludGVyIHNldERl
bGVnYXRlOm5pbF07CisgICAgICAgIFttX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgp
IHNldEhvcml6b250YWxTY3JvbGxlckltcDpuaWxdOworICAgIH0KICNlbHNlCiAgICAgVU5VU0VE
X1BBUkFNKHNjcm9sbGJhcik7CiAjZW5kaWYKQEAgLTEyMzcsNyArMTI1MSwxMiBAQCB2b2lkIFNj
cm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKCkKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIFNjcm9sbGJhclRoZW1lTWFjKiBtYWNUaGVtZSA9IChTY3JvbGxiYXJUaGVt
ZU1hYyopU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCk7CisgICAgU2Nyb2xsYmFyVGhlbWVN
YWMqIG1hY1RoZW1lID0gbWFjU2Nyb2xsYmFyVGhlbWUoKTsKKyAgICBpZiAoIW1hY1RoZW1lKSB7
CisgICAgICAgIHNldE5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZShmYWxzZSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBOU1Njcm9sbGVyU3R5bGUgbmV3U3R5bGUgPSBbbV9zY3JvbGxi
YXJQYWludGVyQ29udHJvbGxlci5nZXQoKSBzY3JvbGxlclN0eWxlXTsKIAogICAgIGlmIChTY3Jv
bGxiYXIqIHZlcnRpY2FsU2Nyb2xsYmFyID0gc2Nyb2xsYWJsZUFyZWEoKS0+dmVydGljYWxTY3Jv
bGxiYXIoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9s
bGJhclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRo
ZW1lTWFjLm1tCmluZGV4IDM0ODc1OTgzNmM2MDIzMDNjYzI5NWQwZDQwNzE2OWZjNjBjMzM0YzAu
LmQ3ODJiNWI5NWQ0ZTk1MmFlNzQxOGM2ZTZhN2JkNWVmNjM2NWExNzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KQEAgLTc1LDcgKzc1
LDcgQEAgc3RhdGljIFNjcm9sbGJhclBhaW50ZXJNYXAqIHNjcm9sbGJhck1hcCgpCiB7CiAgICAg
VU5VU0VEX1BBUkFNKHVudXNlZE5vdGlmaWNhdGlvbik7CiAKLSAgICBzdGF0aWNfY2FzdDxTY3Jv
bGxiYXJUaGVtZU1hYyo+KFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cHJlZmVyZW5j
ZXNDaGFuZ2VkKCk7CisgICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVNYWMqPihTY3JvbGxi
YXJUaGVtZTo6dGhlbWUoKSktPnByZWZlcmVuY2VzQ2hhbmdlZCgpOwogICAgIGlmIChzY3JvbGxi
YXJNYXAoKS0+aXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAgU2Nyb2xsYmFyUGFpbnRl
ck1hcDo6aXRlcmF0b3IgZW5kID0gc2Nyb2xsYmFyTWFwKCktPmVuZCgpOwpAQCAtOTQsNyArOTQs
NyBAQCBzdGF0aWMgU2Nyb2xsYmFyUGFpbnRlck1hcCogc2Nyb2xsYmFyTWFwKCkKIHsKICAgICBV
TlVTRURfUEFSQU0odW51c2VkTm90aWZpY2F0aW9uKTsKIAotICAgIHN0YXRpY19jYXN0PFNjcm9s
bGJhclRoZW1lTWFjKj4oU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkpLT5wcmVmZXJlbmNl
c0NoYW5nZWQoKTsKKyAgICBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZU1hYyo+KFNjcm9sbGJh
clRoZW1lOjp0aGVtZSgpKS0+cHJlZmVyZW5jZXNDaGFuZ2VkKCk7CiB9CiAKICsgKHZvaWQpcmVn
aXN0ZXJBc09ic2VydmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L1Njcm9sbGJhclRoZW1lTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9TY3Jv
bGxiYXJUaGVtZU1vY2suaAppbmRleCAyYmYyYTJiYjcxNzc5YzVmZWU2NzY0ZTA3YWE1NmMwZjgw
ZmY0ZDZlLi5lMjU0ODQyMmEyOGY1ZTcyM2U0MzUzZjhmNDU3NjUyNTNjYjY4NWJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRoZW1lTW9jay5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU2Nyb2xsYmFyVGhlbWVNb2NrLmgKQEAg
LTQ1LDYgKzQ1LDkgQEAgcHJvdGVjdGVkOgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBwYWludFRy
YWNrQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0
Jik7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50VGh1bWIoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xs
YmFyKiwgY29uc3QgSW50UmVjdCYpOworICAgIAorcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGJvb2wg
aXNNb2NrVGhlbWUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCmluZGV4IGMzNTRhYTI4ZWVlY2Rm
MjA3NTgzZDk0YmQ4ZDgwZDUzOGI3MmRlYWIuLjg4ZDM0OWI4YzczMjdhNDQ3Y2I3MjcyZTkwMzhl
M2ZmYTBhMWFkNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRl
clRoZW1lUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1l
UXQuY3BwCkBAIC0xMDc0LDcgKzEwNzQsNyBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdElu
bmVyU3BpbkJ1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGVtZW50KiBlKSBj
b25zdAogewogICAgIC8vIFVzZSB0aGUgc2FtZSB3aWR0aCBhcyBvdXIgbmF0aXZlIHNjcm9sbGJh
cgotICAgIGludCB3aWR0aCA9IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxi
YXJUaGlja25lc3MoKTsKKyAgICBpbnQgd2lkdGggPSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+
c2Nyb2xsYmFyVGhpY2tuZXNzKCk7CiAgICAgc3R5bGUtPnNldFdpZHRoKExlbmd0aCh3aWR0aCwg
Rml4ZWQpKTsKICAgICBzdHlsZS0+c2V0TWluV2lkdGgoTGVuZ3RoKHdpZHRoLCBGaXhlZCkpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAppbmRleCA0
NGE4OTZlMWMwNWI5MTdjOGNiNzZkMzYwNmExMTE1NjY5ZjI0NTM2Li41NzhlZWExMWZjNGI1N2Qx
ZDc0YzI3Njk1NWNlZjRmOWIxMDlkODBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vUG9wdXBNZW51V2luLmNwcApAQCAtMzM0LDcgKzMzNCw3IEBAIHZvaWQgUG9wdXBNZW51V2lu
OjpjYWxjdWxhdGVQb3NpdGlvbkFuZFNpemUoY29uc3QgSW50UmVjdCYgciwgRnJhbWVWaWV3KiB2
KQogCiAgICAgaWYgKG5hdHVyYWxIZWlnaHQgPiBtYXhQb3B1cEhlaWdodCkKICAgICAgICAgLy8g
V2UgbmVlZCByb29tIGZvciBhIHNjcm9sbGJhcgotICAgICAgICBwb3B1cFdpZHRoICs9IFNjcm9s
bGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoU21hbGxTY3JvbGxi
YXIpOworICAgICAgICBwb3B1cFdpZHRoICs9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5zY3Jv
bGxiYXJUaGlja25lc3MoU21hbGxTY3JvbGxiYXIpOwogCiAgICAgLy8gQWRkIHBhZGRpbmcgdG8g
YWxpZ24gdGhlIHBvcHVwIHRleHQgd2l0aCB0aGUgPHNlbGVjdD4gdGV4dAogICAgIHBvcHVwV2lk
dGggKz0gbWF4KDAsIGNsaWVudCgpLT5jbGllbnRQYWRkaW5nUmlnaHQoKSAtIGNsaWVudCgpLT5j
bGllbnRJbnNldFJpZ2h0KCkpICsgbWF4KDAsIGNsaWVudCgpLT5jbGllbnRQYWRkaW5nTGVmdCgp
IC0gY2xpZW50KCktPmNsaWVudEluc2V0TGVmdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCmluZGV4IDNmYTg4M2ViZjI5NmU0NGFkZDcyNjAwMTI4MDY4N2UzYzk3
N2EwNDQuLjljYjI2NzIyYzg3YzhlNGUyYmQ1ODI2YTU3NmY4NDQxYjcyM2M2MjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTc1Myw3ICsxNzUzLDcgQEAg
c3RhdGljIExheW91dFJlY3QgY29ybmVyUmVjdChjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIGNv
bnN0IExheW91dFJlY3QmIGJvdW5kcykKICAgICBpZiAoIWxheWVyLT52ZXJ0aWNhbFNjcm9sbGJh
cigpICYmICFsYXllci0+aG9yaXpvbnRhbFNjcm9sbGJhcigpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIGlzbid0IHJpZ2h0LiAgV2UgbmVlZCB0byBrbm93IHRoZSB0aGlja25lc3Mgb2YgY3Vz
dG9tIHNjcm9sbGJhcnMKICAgICAgICAgLy8gZXZlbiB3aGVuIHRoZXkgZG9uJ3QgZXhpc3QgaW4g
b3JkZXIgdG8gc2V0IHRoZSByZXNpemVyIHNxdWFyZSBzaXplIHByb3Blcmx5LgotICAgICAgICBo
b3Jpem9udGFsVGhpY2tuZXNzID0gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnNjcm9s
bGJhclRoaWNrbmVzcygpOworICAgICAgICBob3Jpem9udGFsVGhpY2tuZXNzID0gU2Nyb2xsYmFy
VGhlbWU6OnRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcygpOwogICAgICAgICB2ZXJ0aWNhbFRo
aWNrbmVzcyA9IGhvcml6b250YWxUaGlja25lc3M7CiAgICAgfSBlbHNlIGlmIChsYXllci0+dmVy
dGljYWxTY3JvbGxiYXIoKSAmJiAhbGF5ZXItPmhvcml6b250YWxTY3JvbGxiYXIoKSkgewogICAg
ICAgICBob3Jpem9udGFsVGhpY2tuZXNzID0gbGF5ZXItPnZlcnRpY2FsU2Nyb2xsYmFyKCktPndp
ZHRoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyUGFydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFy
dC5jcHAKaW5kZXggNjliOWIyMGZkYjRiZWU5ODIxZjQ4OTYxMzNmMmVkYjdlOTI4NzA3My4uY2Jh
ZTY4YzAyYTAyYjJiODhkZjkzYjdhMTAxY2JkZjk5MTJjYWRlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcApAQCAtODIsNyArODIsNyBA
QCB2b2lkIFJlbmRlclNjcm9sbGJhclBhcnQ6OmxheW91dFZlcnRpY2FsUGFydCgpCiBzdGF0aWMg
aW50IGNhbGNTY3JvbGxiYXJUaGlja25lc3NVc2luZyhjb25zdCBMZW5ndGgmIGwsIGludCBjb250
YWluaW5nTGVuZ3RoKQogewogICAgIGlmIChsLmlzSW50cmluc2ljT3JBdXRvKCkpCi0gICAgICAg
IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhpY2tuZXNz
KCk7CisgICAgICAgIHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+c2Nyb2xsYmFyVGhp
Y2tuZXNzKCk7CiAgICAgcmV0dXJuIGwuY2FsY01pblZhbHVlKGNvbnRhaW5pbmdMZW5ndGgpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFy
VGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
CmluZGV4IDliOGIyYzE4YjZiMWQ3NmY4ZDRkYTVlNGRkZTA4YTMwNjMzZjBjODEuLjcwYzI0YTVl
YTJlZDc5YmI5ZjhmYWQwMjEzN2M2MzU2OWQ5OTYzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oCkBAIC0zOCwyMSArMzgsMjEgQEAgY2xh
c3MgUmVuZGVyU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUg
ewogcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRlclNjcm9sbGJhclRoZW1lKCkge307CiAgICAg
Ci0gICAgdmlydHVhbCBpbnQgc2Nyb2xsYmFyVGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXpl
IGNvbnRyb2xTaXplKSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+c2Ny
b2xsYmFyVGhpY2tuZXNzKGNvbnRyb2xTaXplKTsgfQorICAgIHZpcnR1YWwgaW50IHNjcm9sbGJh
clRoaWNrbmVzcyhTY3JvbGxiYXJDb250cm9sU2l6ZSBjb250cm9sU2l6ZSkgeyByZXR1cm4gU2Ny
b2xsYmFyVGhlbWU6OnRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcyhjb250cm9sU2l6ZSk7IH0K
IAotICAgIHZpcnR1YWwgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50
KCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmJ1dHRvbnNQ
bGFjZW1lbnQoKTsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0
b25zUGxhY2VtZW50KCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPmJ1
dHRvbnNQbGFjZW1lbnQoKTsgfQogCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzQ29udHJvbFRp
bnRzKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50U2Ny
b2xsQ29ybmVyKFNjcm9sbFZpZXcqLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IElu
dFJlY3QmIGNvcm5lclJlY3QpOwogCi0gICAgdmlydHVhbCBib29sIHNob3VsZENlbnRlck9uVGh1
bWIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQp
IHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zaG91bGRDZW50ZXJPblRo
dW1iKHNjcm9sbGJhciwgZXZlbnQpOyB9CisgICAgdmlydHVhbCBib29sIHNob3VsZENlbnRlck9u
VGh1bWIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZl
bnQpIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5zaG91bGRDZW50ZXJPblRodW1i
KHNjcm9sbGJhciwgZXZlbnQpOyB9CiAgICAgCi0gICAgdmlydHVhbCBkb3VibGUgaW5pdGlhbEF1
dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1l
KCktPmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9Ci0gICAgdmlydHVhbCBkb3VibGUg
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhl
bWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQorICAgIHZpcnR1YWwgZG91YmxlIGluaXRp
YWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgp
LT5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQorICAgIHZpcnR1YWwgZG91YmxlIGF1
dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPmF1
dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjcm9s
bGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2
ZVRoZW1lKCktPnJlZ2lzdGVyU2Nyb2xsYmFyKHNjcm9sbGJhcik7IH0KLSAgICB2aXJ0dWFsIHZv
aWQgdW5yZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikgeyByZXR1cm4gU2Ny
b2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnVucmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFy
KTsgfQorICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9s
bGJhcikgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnJlZ2lzdGVyU2Nyb2xsYmFy
KHNjcm9sbGJhcik7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNjcm9sbGJhcihTY3Jv
bGxiYXIqIHNjcm9sbGJhcikgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnVucmVn
aXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQogCiAgICAgdmlydHVhbCBpbnQgbWluaW11bVRo
dW1iTGVuZ3RoKFNjcm9sbGJhciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHRDb250cm9sLmNwcAppbmRleCAxYTc4OGE3MjhiODllNDE2YjNkYjE3ODM3MmI0NzJi
NDdmOTgwZmU5Li44MjQ5MGYyODU4MjhiZWNlZmFjMDNmMjIyNWRhODEwOGUwMmI0ODRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKQEAgLTE1
OCw3ICsxNTgsNyBAQCBWaXNpYmxlUG9zaXRpb24gUmVuZGVyVGV4dENvbnRyb2w6OnZpc2libGVQ
b3NpdGlvbkZvckluZGV4KGludCBpbmRleCkgY29uc3QKIGludCBSZW5kZXJUZXh0Q29udHJvbDo6
c2Nyb2xsYmFyVGhpY2tuZXNzKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGdl
dCB0aGUgc2l6ZSBvZiB0aGUgc2Nyb2xsYmFyIGZyb20gdGhlIFJlbmRlclRoZW1lIGluc3RlYWQu
Ci0gICAgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlj
a25lc3MoKTsKKyAgICByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnNjcm9sbGJhclRo
aWNrbmVzcygpOwogfQogCiB2b2lkIFJlbmRlclRleHRDb250cm9sOjpjb21wdXRlTG9naWNhbEhl
aWdodCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVD
aHJvbWl1bVNraWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hy
b21pdW1Ta2lhLmNwcAppbmRleCBjMTZlMWQzOWYyMTNjYTlhMmNlYjAwZTc3OGQ1NDIxMjk4YmMy
ZmNlLi4zZjNjNmFlZTgyZjQyZTMxMWI4ZWEwYzhkZTE1MzczZDY4ZmViYjJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAK
QEAgLTUzNSw3ICs1MzUsNyBAQCBpbnQgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6Om1lbnVMaXN0
SW50ZXJuYWxQYWRkaW5nKFJlbmRlclN0eWxlKiBzdHlsZSwgaW50IHBhZAogICAgIC8vIHdlIGRv
bid0IGRyYXcgYSBidXR0b24sIHNvIGRvbid0IHJlc2VydmUgc3BhY2UgZm9yIGl0LgogICAgIGNv
bnN0IGludCBiYXJUeXBlID0gc3R5bGUtPmRpcmVjdGlvbigpID09IExUUiA/IFJpZ2h0UGFkZGlu
ZyA6IExlZnRQYWRkaW5nOwogICAgIGlmIChwYWRkaW5nVHlwZSA9PSBiYXJUeXBlICYmIHN0eWxl
LT5hcHBlYXJhbmNlKCkgIT0gTm9Db250cm9sUGFydCkKLSAgICAgICAgcGFkZGluZyArPSBTY3Jv
bGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhpY2tuZXNzKCk7CisgICAgICAg
IHBhZGRpbmcgKz0gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcygp
OwogCiAgICAgcmV0dXJuIHBhZGRpbmc7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHAKaW5kZXggOWNjNTdjNTA4NWQzM2I2ZTg4
MDdlZTkyZjRmZmU5MWM4MzdlMmY4Ny4uZDQzMjhkZjU2M2ViZDJhYTY4MWY3ZjJmYjU0Y2RjMWIy
YmM5MzIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW1XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUNocm9taXVtV2luLmNwcApAQCAtNzE2LDcgKzcxNiw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJv
bWl1bVdpbjo6cGFpbnRUZXh0RmllbGRJbnRlcm5hbChSZW5kZXJPYmplY3QqIG8sCiAKIHZvaWQg
UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6YWRqdXN0SW5uZXJTcGluQnV0dG9uU3R5bGUoQ1NTU3R5
bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNvbnN0CiB7Ci0gICAg
aW50IHdpZHRoID0gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnNjcm9sbGJhclRoaWNr
bmVzcygpOworICAgIGludCB3aWR0aCA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5zY3JvbGxi
YXJUaGlja25lc3MoKTsKICAgICBzdHlsZS0+c2V0V2lkdGgoTGVuZ3RoKHdpZHRoLCBGaXhlZCkp
OwogICAgIHN0eWxlLT5zZXRNaW5XaWR0aChMZW5ndGgod2lkdGgsIEZpeGVkKSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggN2Q4YTQzYThlODM5MGEwYWRlOTU5ZmM2NDlhMzU5MjVmMjRlMjkzNi4uNzllNjM4
OGE1NjkzMjZmNzMwYjM4MjBlNmEyNDliNzZjZjIxNWJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDExLTEwLTExICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIE1ha2UgY3VzdG9tIHNjcm9sbGJhciB0aGVtZSBmb3IgdXNlIGluIERSVCwg
dG8gcmVkdWNlIHBpeGVsIGRpZmZzIGJldHdlZW4gcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVt
ZSgpIHJlbmFtZWQgdG8gdGhlbWUoKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Q
YWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VPdmVybGF5Ojpib3VuZHMpOgor
CiAyMDExLTEwLTExICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAg
ICAgIEVtYmVkZGluZyBvZiBQREYncyB3aXRoIDxvYmplY3Q+IG9yIDxlbWJlZD4gZmFpbHMgd2hl
biB0aGVyZSBpcyBubyBNSU1FIHR5cGUgc3BlY2lmaWVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL0J1aWx0SW5QREZWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvQnVpbHRJblBERlZpZXcuY3BwCmluZGV4IGFj
MmI3MDUwNzY0ZGRiZTA1ODFlMzA1OWNlODhjYWI0NGU5YzkwYTIuLjU5ZmZjNTIzY2YxNWVmZmZl
NGUzZjhjNWE4Y2VkZjNlYjYwMTdjNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvQnVpbHRJblBERlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvQnVpbHRJblBERlZpZXcuY3BwCkBAIC0zMDAsNyArMzAw
LDcgQEAgdm9pZCBCdWlsdEluUERGVmlldzo6cGFpbnRDb250cm9scyhHcmFwaGljc0NvbnRleHQq
IGdyYXBoaWNzQ29udGV4dCwgY29uc3QgSW50UmUKICAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbGJh
ci0+cGFpbnQoZ3JhcGhpY3NDb250ZXh0LCBkaXJ0eVJlY3QpOwogCiAgICAgSW50UmVjdCBkaXJ0
eUNvcm5lclJlY3QgPSBpbnRlcnNlY3Rpb24oc2Nyb2xsQ29ybmVyUmVjdCgpLCBkaXJ0eVJlY3Qp
OwotICAgIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5wYWludFNjcm9sbENvcm5lcigw
LCBncmFwaGljc0NvbnRleHQsIGRpcnR5Q29ybmVyUmVjdCk7CisgICAgU2Nyb2xsYmFyVGhlbWU6
OnRoZW1lKCktPnBhaW50U2Nyb2xsQ29ybmVyKDAsIGdyYXBoaWNzQ29udGV4dCwgZGlydHlDb3Ju
ZXJSZWN0KTsKIH0KIAogdm9pZCBCdWlsdEluUERGVmlldzo6dXBkYXRlQ29udHJvbFRpbnRzKEdy
YXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAKaW5kZXggYTBmYTdmMGM0M2NhZWYyYWUz
NWMyNzdjY2I4ZGUyYWEwYTJmOWViZi4uYWEzMmI2YTA5NTUyZjkxOTZkY2I4NjlhMGMyOWQ2ODIy
Njc1MjYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1Bh
Z2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFn
ZU92ZXJsYXkuY3BwCkBAIC02OCw3ICs2OCw3IEBAIEludFJlY3QgUGFnZU92ZXJsYXk6OmJvdW5k
cygpIGNvbnN0CiAgICAgaW50IHdpZHRoID0gZnJhbWVWaWV3LT53aWR0aCgpOwogICAgIGludCBo
ZWlnaHQgPSBmcmFtZVZpZXctPmhlaWdodCgpOwogCi0gICAgaWYgKCFTY3JvbGxiYXJUaGVtZTo6
bmF0aXZlVGhlbWUoKS0+dXNlc092ZXJsYXlTY3JvbGxiYXJzKCkpIHsKKyAgICBpZiAoIVNjcm9s
bGJhclRoZW1lOjp0aGVtZSgpLT51c2VzT3ZlcmxheVNjcm9sbGJhcnMoKSkgewogICAgICAgICBp
ZiAoZnJhbWVWaWV3LT52ZXJ0aWNhbFNjcm9sbGJhcigpKQogICAgICAgICAgICAgd2lkdGggLT0g
ZnJhbWVWaWV3LT52ZXJ0aWNhbFNjcm9sbGJhcigpLT53aWR0aCgpOwogICAgICAgICBpZiAoZnJh
bWVWaWV3LT5ob3Jpem9udGFsU2Nyb2xsYmFyKCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110607</attachid>
            <date>2011-10-11 16:51:04 -0700</date>
            <delta_ts>2011-10-11 17:12:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68134-20111011165103.patch</filename>
            <type>text/plain</type>
            <size>50687</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcxNjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzU2NDQ2
ZDQyZWQ5Yzg1MWYzYmIxNmEzNmRkNTE4MDFiMmEzZGQ4MC4uMDY3MWMxMTA4YjIyODZkZGQwOWEx
ZmUzNTlkMTJlNDQwYTQyM2Q1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEwNDEsNiArMTA0
MSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5j
cHAKICAgICBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKICAgICBwbGF0Zm9ybS9TY3JvbGxi
YXIuY3BwCisgICAgcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwCiAgICAgcGxhdGZvcm0vU2Ny
b2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwCiAgICAgcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKICAg
ICBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE1YTUzNjVjNmRhNDJj
NWZmZDZlNWIyMjQ1NGY5YWE4NmEyMGVkYi4uYjU4NGM3YWQ0MTM3Y2YxYjEzNTk1NDcwZTUxMGY1
ZjYxOTUxN2RiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDExLTEwLTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgY3VzdG9t
IHNjcm9sbGJhciB0aGVtZSBmb3IgdXNlIGluIERSVCwgdG8gcmVkdWNlIHBpeGVsIGRpZmZzIGJl
dHdlZW4gcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02ODEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFVzZSBTY3JvbGxiYXJUaGVtZU1vY2sgd2hlbiB0aGUgc2V0dGluZyB0byB1c2UgbW9j
ayBzY3JvbGxiYXJzIGlzIGVuYWJsZWQuCisgICAgICAgIAorICAgICAgICBNYWtlIFNjcm9sbGJh
clRoZW1lOjpuYXRpdmVUaGVtZSgpIHByaXZhdGUsIGFuZCBhZGQgYSBuZXcgc3RhdGljIHRoZW1l
KCkgbWV0aG9kCisgICAgICAgIHRoYXQgcmVhZHMgdGhlIHNldHRpbmcsIGFuZCByZXR1cm5zIHRo
ZSBtb2NrIHRoZW1lIGlmIHNldC4gQWxsIGNhbGxlcnMgbm93IHVzZQorICAgICAgICB0aGVtZSgp
IHJ0aGVyIHRoYW4gbmF0aXZlVGhlbWUoKS4gQWRkIHRoZSBuZXcgU2Nyb2xsYmFyVGhlbWUuY3Bw
IGZpbGUgdG8gdGhlIGJ1aWxkLgorICAgICAgICAKKyAgICAgICAgRml4IHNjcm9sbCBhbmltYXRv
ciBjb2RlIGZvciBNYWMgYW5kIENocm9taXVtIHRoYXQgd2FzIGNhc3RpbmcgdGhlIFNjcm9sbGJh
clRoZW1lCisgICAgICAgIHdpdGhvdXQgdHlwZS1jaGVja2luZyBpdCB0byB0ZXN0IHdoZXRoZXIg
aXQncyB0aGUgbW9jayB0aGVtZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAg
ICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVy
RWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVsZW1lbnQ6OnN0YXJ0
UmVwZWF0aW5nVGltZXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yV2luOjpzY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JX
aW46OmFjY2VsZXJhdGlvblRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JX
aW46OmFuaW1hdGVTY3JvbGwpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6d2hlZWxFdmVudCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFy
ZWE6OnNldFNjcm9sbGJhck92ZXJsYXlTdHlsZSk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xs
YmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6bWF4T3ZlcmxhcEJldHdlZW5Q
YWdlcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6OlNjcm9sbGJhcik6CisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRoZW1lTW9jay5oLgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWU6OnRoZW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXJUaGVt
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6OmlzTW9ja1RoZW1lKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cExpc3RCb3guY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UG9wdXBMaXN0Qm94OjpsYXlvdXQpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L1Njcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWMubW06CisgICAgICAgIChXZWJDb3JlOjpjaHJvbWl1
bVNjcm9sbGJhclRoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yQ2hyb21p
dW1NYWM6OmRpZEFkZFZlcnRpY2FsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yQ2hyb21pdW1NYWM6OndpbGxSZW1vdmVWZXJ0aWNhbFNjcm9sbGJhcik6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckNocm9taXVtTWFjOjpkaWRBZGRIb3Jpem9udGFs
U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWM6
OndpbGxSZW1vdmVIb3Jpem9udGFsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yQ2hyb21pdW1NYWM6OnVwZGF0ZVNjcm9sbGVyU3R5bGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMubW06CisgICAgICAgICgr
W1Njcm9sbGJhclByZWZzT2JzZXJ2ZXIgYXBwZWFyYW5jZVByZWZzQ2hhbmdlZDpdKToKKyAgICAg
ICAgKCtbU2Nyb2xsYmFyUHJlZnNPYnNlcnZlciBiZWhhdmlvclByZWZzQ2hhbmdlZDpdKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjptYWNTY3JvbGxiYXJUaGVtZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRv
ck1hYzo6ZGlkQWRkVmVydGljYWxTY3JvbGxiYXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
QW5pbWF0b3JNYWM6OndpbGxSZW1vdmVWZXJ0aWNhbFNjcm9sbGJhcik6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcik6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6d2lsbFJlbW92ZUhvcml6b250YWxTY3Jv
bGxiYXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnVwZGF0ZVNjcm9s
bGVyU3R5bGUpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToK
KyAgICAgICAgKCtbU2Nyb2xsYmFyUHJlZnNPYnNlcnZlciBhcHBlYXJhbmNlUHJlZnNDaGFuZ2Vk
Ol0pOgorICAgICAgICAoK1tTY3JvbGxiYXJQcmVmc09ic2VydmVyIGJlaGF2aW9yUHJlZnNDaGFu
Z2VkOl0pOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svU2Nyb2xsYmFyVGhlbWVNb2NrLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1vY2s6OmlzTW9ja1RoZW1lKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXQ6OmFkanVzdElubmVyU3BpbkJ1dHRvblN0eWxlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTWVudVdp
bjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTaXplKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29ybmVyUmVjdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FsY1Nj
cm9sbGJhclRoaWNrbmVzc1VzaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1lOjpzY3Jv
bGxiYXJUaGlja25lc3MpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6
OmJ1dHRvbnNQbGFjZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhl
bWU6OnNob3VsZENlbnRlck9uVGh1bWIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xs
YmFyVGhlbWU6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6OnJlZ2lzdGVyU2Nyb2xsYmFyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1lOjp1bnJlZ2lzdGVyU2Nyb2xsYmFyKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OnNjcm9sbGJhclRoaWNrbmVzcyk6CisKIDIwMTEtMTAt
MTEgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAg
ICBbVGV4bWFwXSBUZXh0dXJlTWFwcGVyR0wgbGVhdmVzIEdMIGluIGEgbW9kaWZpZWQgc3RhdGUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA4MTY2YmQ2YTYyNTY2MGIwYTg1ZGU3
NmEyZWRiNWNkYWIxNjJjMDJlLi43MDNlYWU5NjVmODJiMGE5ODAxODRhNjI5ZWM5YmI1ZGVhZjM5
YTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI4MjIsNiArMjgyMiw3IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFy
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ29tcG9zaXRlLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuaCBc
CisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxUeXBlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGRiNmUzMDkwMjZmNzg4NjU0MzVkZmRjYjBm
YmM3MDM1NzJhZmUzZDMuLjIwM2M3YTYyMzJjY2M4OTVkNDdhMjMyZjAyZmMxNmFmNmVlNGU1NDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0zNzksNyArMzc5LDcgQEAgX19aTjdXZWJDb3JlMTRT
Y3JvbGxhYmxlQXJlYTI5d2lsbFJlbW92ZUhvcml6b250YWxTY3JvbGxiYXJFUE5TXzlTY3JvbGxi
YXJFCiBfX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhNnNjcm9sbEVOU18xNVNjcm9sbERpcmVj
dGlvbkVOU18xN1Njcm9sbEdyYW51bGFyaXR5RWYKIF9fWk43V2ViQ29yZTE0U2Nyb2xsYWJsZUFy
ZWFDMkV2CiBfX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhRDJFdgotX19aTjdXZWJDb3JlMTRT
Y3JvbGxiYXJUaGVtZTExbmF0aXZlVGhlbWVFdgorX19aTjdXZWJDb3JlMTRTY3JvbGxiYXJUaGVt
ZTV0aGVtZUV2CiBfX1pON1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luMTR0aHJlYWRzYWZlQ29weUV2
CiBfX1pON1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luMTZjcmVhdGVGcm9tU3RyaW5nRVJLTjNXVEY2
U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjE4c2V0TG9jYWxMb2FkUG9saWN5
RU5TMF8xNUxvY2FsTG9hZFBvbGljeUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwOWEyZDNlNDVkNzFj
ZWZkZTY5ZWRiNTAzNWNmN2E1MWYxNzY0YWRkLi4yZWMzMzhlNjlmYTM2MDgxYmM4MmE2MWEwMTYz
YmFiZTM3NTNjMmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMDY4LDYgKzMwNjgsNyBAQAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmNwcCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9TZWN1cmVUZXh0SW5wdXQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggZmNkMGEzYTFkZTM1
NmU3YTg0Njk5MTgxZWM3MjcwYTQ4MzA5ODk2My4uZjU0MTg4MDgzNzNlYmE0NWUxOGRiZjYyMGRk
ZDJhMmUyYmNiOTFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTEwODIsNiArMTA4Miw3IEBAIFNPVVJD
RVMgKz0gXAogICAgIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcCBcCiAgICAgcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuY3BwIFwKICAgICBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwIFwKKyAgICBw
bGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5jcHAgXAogICAgIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1l
Q29tcG9zaXRlLmNwcCBcCiAgICAgcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgXAogICAgIHBsYXRm
b3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDZiYTc3MGI4ZWI5Yjc1YzU2NTY4ZmNkNzkzMWUy
NmI2NzI5OWNiMmMuLjY4MDRhOTUzNDJjNWJiMjJhODBhNzliZmQ1MDM1ZTQxZmFlYjNkMTEgMTAw
NzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNzIz
NCw2ICsyNzIzNCwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxwbGF0Zm9ybVxTY3JvbGxiYXJUaGVtZS5jcHAiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFNjcm9sbGJhclRoZW1l
Q29tcG9zaXRlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzFlYmViYzQ4NDNmYzhhM2Q3
MDMzMDFmOWUxZDBjNTJmZmZjZjQzMy4uZDcxZjRhMDk1NjEyMTExYjc5NjMyN2I4NmJiNjc1NjU0
YjBhMWQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTk5LDYgKzE5OSw3IEBACiAJCTBDM0YxRjVCMTBDODg3MTIwMEQ3MkNF
MSAvKiBXZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEMzRjFGNTgxMEM4ODcxMjAwRDcyQ0UxIC8qIFdlYkdMVW5pZm9y
bUxvY2F0aW9uLmggKi87IH07CiAJCTBDNDUzNDI3MTBDREJCRkEwMDg2OTE1NyAvKiBKU1dlYkdM
VW5pZm9ybUxvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBDNDUzNDI1MTBDREJCRkEwMDg2OTE1NyAvKiBKU1dlYkdMVW5pZm9ybUxvY2F0
aW9uLmNwcCAqLzsgfTsKIAkJMEM0NTM0MjgxMENEQkJGQTAwODY5MTU3IC8qIEpTV2ViR0xVbmlm
b3JtTG9jYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBDNDUzNDI2MTBDREJCRkEwMDg2OTE1NyAvKiBKU1dlYkdMVW5pZm9ybUxvY2F0aW9uLmgg
Ki87IH07CisJCTBGMDkwODdGMTQ0NEZEQjIwMDAyODkxNyAvKiBTY3JvbGxiYXJUaGVtZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkU3MTQxNTE0
MjE4OUZDMDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWUuY3BwICovOyB9OwogCQkwRjExQTU0RjBG
MzkyMzMxMDBDMzc4ODQgLyogUmVuZGVyU2VsZWN0aW9uSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYxMUE1NEUwRjM5MjMzMTAwQzM3ODg0IC8q
IFJlbmRlclNlbGVjdGlvbkluZm8uaCAqLzsgfTsKIAkJMEYxNURBOEEwRjNBQUVFNzAwMDBDRTQ3
IC8qIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjE1REE4OTBGM0FBRUU3MDAwMENFNDcgLyogQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGUuaCAqLzsgfTsKIAkJMEYyOUMxNkUxMzAwQzJFMjAwMkQ3OTRF
IC8qIEFjY2Vzc2liaWxpdHlBbGxJbk9uZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI5QzE2RDEzMDBDMkUyMDAyRDc5NEUgLyogQWNjZXNzaWJp
bGl0eUFsbEluT25lLmNwcCAqLzsgfTsKQEAgLTcyNTYsNiArNzI1Nyw3IEBACiAJCTBGRDcyMzgx
MEVDOEJEOTMwMENBNURENyAvKiBGbG9hdFF1YWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRmxvYXRRdWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZFNzE0MDMxNDIxNzBCODAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lTW9jay5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTY3JvbGxiYXJUaGVtZU1vY2suY3Bw
OyBwYXRoID0gbW9jay9TY3JvbGxiYXJUaGVtZU1vY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwRkU3MTQwNDE0MjE3MEI4MDBEQjMzQkEgLyogU2Nyb2xsYmFyVGhlbWVNb2Nr
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNjcm9sbGJhclRoZW1lTW9jay5o
OyBwYXRoID0gbW9jay9TY3JvbGxiYXJUaGVtZU1vY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEZFNzE0MTUxNDIxODlGQzAwREIzM0JBIC8qIFNjcm9sbGJhclRoZW1lLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbGJhclRoZW1lLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZGNTAyNTkxMDJCQTkwMTAwNjZGMzlBIC8q
IERPTVN0eWxlTWVkaWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU3R5
bGVNZWRpYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkY1MDI1QTEwMkJBOTAx
MDA2NkYzOUEgLyogRE9NU3R5bGVNZWRpYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IERPTVN0eWxlTWVkaWEubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGRjUwMjYyMTAyQkE5MkIwMDY2RjM5QSAvKiBET01TdHlsZU1lZGlhSW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU3R5bGVNZWRpYUludGVybmFsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDA2MCw2ICsyMDA2Miw3IEBACiAJCQkJ
Q0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8sCiAJCQkJQkNB
QTkwQzIwQTdFQkE2MDAwOEIxMjI5IC8qIFNjcm9sbGJhci5jcHAgKi8sCiAJCQkJQkM3QjJBRjgw
NDUwODI0MTAwQTgwMDBGIC8qIFNjcm9sbGJhci5oICovLAorCQkJCTBGRTcxNDE1MTQyMTg5RkMw
MERCMzNCQSAvKiBTY3JvbGxiYXJUaGVtZS5jcHAgKi8sCiAJCQkJQkM4Qjg1NEEwRTdDN0Y1NjAw
QUI2OTg0IC8qIFNjcm9sbGJhclRoZW1lLmggKi8sCiAJCQkJQkMxNDAyODkwRTgzNjgwODAwMzE5
NzE3IC8qIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmggKi8sCiAJCQkJQkMxNDAyODgwRTgzNjgw
ODAwMzE5NzE3IC8qIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmNwcCAqLywKQEAgLTI3NDczLDYg
KzI3NDc2LDcgQEAKIAkJCQkzMTA2MDM3NDE0MzI4MTlDMDBBQkY0QkEgLyogSlNXZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTA2MDM3QTE0MzI4MUNEMDBBQkY0
QkEgLyogRE9NV2ViS2l0Q1NTRmlsdGVyVmFsdWUubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOUFD
QjIxNDE0M0U3NDk4MDA2QkNBNUYgLyogQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMEYwOTA4N0YxNDQ0RkRCMjAwMDI4OTE3IC8qIFNjcm9sbGJhclRoZW1l
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKaW5kZXggNDc2MjE4MTM1YmFkNzBiODUz
MGUzZmQ3N2EwOTgwZDQzOTY1ZTUyZi4uZjdjMzhlNDYwMDYxNjVjNjU4YTRhZGE5ZDlmNzgwZWFi
MDc2NDQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0
Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC0zMzUsNyArMzM1LDcgQEAgdm9pZCBTcGluQnV0
dG9uRWxlbWVudDo6cmVsZWFzZUNhcHR1cmUoKQogdm9pZCBTcGluQnV0dG9uRWxlbWVudDo6c3Rh
cnRSZXBlYXRpbmdUaW1lcigpCiB7CiAgICAgbV9wcmVzc1N0YXJ0aW5nU3RhdGUgPSBtX3VwRG93
blN0YXRlOwotICAgIFNjcm9sbGJhclRoZW1lKiB0aGVtZSA9IFNjcm9sbGJhclRoZW1lOjpuYXRp
dmVUaGVtZSgpOworICAgIFNjcm9sbGJhclRoZW1lKiB0aGVtZSA9IFNjcm9sbGJhclRoZW1lOjp0
aGVtZSgpOwogICAgIG1fcmVwZWF0aW5nVGltZXIuc3RhcnQodGhlbWUtPmluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpLCB0aGVtZS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yV2luLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yV2luLmNwcAppbmRleCBkOTcw
ZDI3NWE3ZDNkZDUzYjJlZWYxZDQwYTI3MGQwNjRmOWQ2MjZmLi41OGIwNDlkMjc2YTE2ZWEwZGE5
YmUxM2IyZDQ4NDc5ZjNmY2ZkMjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRvcldpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsQW5pbWF0b3JXaW4uY3BwCkBAIC05OSw3ICs5OSw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JX
aW46OnNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVs
YXJpCiAgICAgLy8KICAgICAvLyBXaGVuIGF1dG9zY3JvbGxpbmcsIHRoZSBzY3JvbGxiYXIncyBh
dXRvc2Nyb2xsIHRpbWVyIHdpbGwgY2FsbCB1cyB0bwogICAgIC8vIGluY3JlbWVudCB0aGUgZGVz
aXJlZCBwb3NpdGlvbiBieSB8c3RlcHwgKHdpdGggfG11bHRpcGxpZXJ8ID09IDEpIGV2ZXJ5Ci0g
ICAgLy8gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmF1dG9zY3JvbGxUaW1lckRlbGF5
KCkgc2Vjb25kcy4gIElmIHdlIHNldAorICAgIC8vIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5h
dXRvc2Nyb2xsVGltZXJEZWxheSgpIHNlY29uZHMuIElmIHdlIHNldAogICAgIC8vIHRoZSBkZXNp
cmVkIHZlbG9jaXR5IHRvIGV4YWN0bHkgdGhpcyByYXRlLCBzbW9vdGggc2Nyb2xsaW5nIHdpbGwg
bmVpdGhlcgogICAgIC8vIHJhY2UgYWhlYWQgKGFuZCB0aGVuIGhhdmUgdG8gc2xvdyBkb3duKSBu
b3IgaW5jcmVhc2luZ2x5IGxhZyBiZWhpbmQsIGJ1dAogICAgIC8vIHdpbGwgYmUgc21vb3RoIGFu
ZCBzeW5jaHJvbml6ZWQuCkBAIC0xMTAsNyArMTEwLDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvcldp
bjo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxh
cmkKICAgICAvLyAgIGxhZyA9IHxzdGVwfCAtIHYoMC41dEEgKyB0RCkKICAgICAvLyBXaGVyZQog
ICAgIC8vICAgdiA9IFRoZSBzdGVhZHktc3RhdGUgdmVsb2NpdHksCi0gICAgLy8gICAgICAgfHN0
ZXB8IC8gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmF1dG9zY3JvbGxUaW1lckRlbGF5
KCkKKyAgICAvLyAgICAgICB8c3RlcHwgLyBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+YXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKQogICAgIC8vICAgdEEgPSBhY2NlbGVyYXRpb25UaW1lKCkKICAgICAv
LyAgIHREID0gVGhlIHRpbWUgd2UgcHJldGVuZCBoYXMgYWxyZWFkeSBwYXNzZWQgd2hlbiBzdGFy
dGluZyB0byBzY3JvbGwsCiAgICAgLy8gICAgICAgIHxhbmltYXRpb25UaW1lckRlbGF5fApAQCAt
MTUyLDcgKzE1Miw3IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JXaW46OnNjcm9sbChTY3JvbGxiYXJP
cmllbnRhdGlvbiBvcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpCiAgICAgLy8gICBsYWcgPSB8
c3RlcHwgKiAoKHIgLyBrKSAtIDEpCiAgICAgLy8gV2hlcmUKICAgICAvLyAgIHIgPSBUaGUgcmF0
aW8gb2YgdGhlIGF1dG9zY3JvbGwgcmVwZWF0IGRlbGF5LAotICAgIC8vICAgICAgIFNjcm9sbGJh
clRoZW1lOjpuYXRpdmVUaGVtZSgpLT5hdXRvc2Nyb2xsVGltZXJEZWxheSgpLCB0byB0aGUKKyAg
ICAvLyAgICAgICBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXko
KSwgdG8gdGhlCiAgICAgLy8gICAgICAga2V5L3doZWVsIHJlcGVhdCBkZWxheSAoaS5lLiA+IDEg
d2hlbiBrZXlzIHJlcGVhdCBmYXN0ZXIpCiAgICAgLy8gICBrID0gVGhlIHZlbG9jaXR5IHRyaW0g
Y29uc3RhbnQgZ2l2ZW4gYmVsb3cKICAgICAvLwpAQCAtMTYzLDE0ICsxNjMsMTQgQEAgYm9vbCBT
Y3JvbGxBbmltYXRvcldpbjo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9u
LCBTY3JvbGxHcmFudWxhcmkKICAgICAvLyBjYWxjdWxhdGVkIGFib3ZlIGJlaW5nIGxhcmdlciB0
aGFuIHRoYXQpLiAgVGhpcyB3aWxsIHJlc3VsdCBpbiAicGVyZmVjdCIKICAgICAvLyBiZWhhdmlv
ciBmb3IgYXV0b3Njcm9sbGluZyB3aXRob3V0IGhhdmluZyB0byBzcGVjaWFsLWNhc2UgaXQuCiAg
ICAgaWYgKGFscmVhZHlBbmltYXRpbmcpCi0gICAgICAgIGFuaW1hdGlvblN0ZXAgLz0gKDIuMCAt
ICgoMS4wIC8gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmF1dG9zY3JvbGxUaW1lckRl
bGF5KCkpICogKDAuNSAqIGFjY2VsZXJhdGlvblRpbWUoKSArIGFuaW1hdGlvblRpbWVyRGVsYXkp
KSk7CisgICAgICAgIGFuaW1hdGlvblN0ZXAgLz0gKDIuMCAtICgoMS4wIC8gU2Nyb2xsYmFyVGhl
bWU6OnRoZW1lKCktPmF1dG9zY3JvbGxUaW1lckRlbGF5KCkpICogKDAuNSAqIGFjY2VsZXJhdGlv
blRpbWUoKSArIGFuaW1hdGlvblRpbWVyRGVsYXkpKSk7CiAgICAgLy8gVGhlIHJlc3VsdCBvZiBh
bGwgdGhpcyBpcyB0aGF0IHNpbmdsZSBrZXlwcmVzc2VzIG9yIHdoZWVsIGZsaWNrcyB3aWxsCiAg
ICAgLy8gc2Nyb2xsIGluIHRoZSBzYW1lIHRpbWUgcGVyaW9kIGFzIHNpbmdsZSBwcmVzc2VzIG9m
IHNjcm9sbGJhciBlbGVtZW50czsKICAgICAvLyBob2xkaW5nIHRoZSBtb3VzZSBkb3duIG9uIGEg
c2Nyb2xsYmFyIHBhcnQgd2lsbCBzY3JvbGwgYXMgZmFzdCBhcwogICAgIC8vIHBvc3NpYmxlIHdp
dGhvdXQgaGl0Y2hpbmc7IGFuZCBvdGhlciByZXBlYXRlZCBzY3JvbGwgZXZlbnRzIHdpbGwgYWxz
bwogICAgIC8vIHNjcm9sbCB3aXRoIHRoZSBzYW1lIHRpbWUgbGFnIGFzIGhvbGRpbmcgZG93biB0
aGUgbW91c2Ugb24gYSBzY3JvbGxiYXIKICAgICAvLyBwYXJ0LgotICAgIGRhdGEtPm1fZGVzaXJl
ZFZlbG9jaXR5ID0gYW5pbWF0aW9uU3RlcCAvIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgp
LT5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOworICAgIGRhdGEtPm1fZGVzaXJlZFZlbG9jaXR5ID0g
YW5pbWF0aW9uU3RlcCAvIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5hdXRvc2Nyb2xsVGltZXJE
ZWxheSgpOwogCiAgICAgLy8gSWYgd2UncmUgbm90IGFscmVhZHkgc2Nyb2xsaW5nLCBzdGFydC4K
ICAgICBpZiAoIWFscmVhZHlBbmltYXRpbmcpCkBAIC0xOTgsMTEgKzE5OCwxMSBAQCB2b2lkIFNj
cm9sbEFuaW1hdG9yV2luOjpzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY29uc3QgRmxv
YXRQb2ludCYgb2Zmc2V0KQogCiBkb3VibGUgU2Nyb2xsQW5pbWF0b3JXaW46OmFjY2VsZXJhdGlv
blRpbWUoKQogewotICAgIC8vIFdlIGVsZWN0IHRvIHVzZSBTY3JvbGxiYXJUaGVtZTo6bmF0aXZl
VGhlbWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBhcworICAgIC8vIFdlIGVsZWN0IHRvIHVz
ZSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBhcwogICAg
IC8vIHRoZSBsZW5ndGggb2YgdGltZSB3ZSdsbCB0YWtlIHRvIGFjY2VsZXJhdGUgZnJvbSAwIHRv
IG91ciB0YXJnZXQKICAgICAvLyB2ZWxvY2l0eS4gIENob29zaW5nIGEgbGFyZ2VyIHZhbHVlIHdv
dWxkIHByb2R1Y2UgYSBtb3JlIHByb25vdW5jZWQKICAgICAvLyBhY2NlbGVyYXRpb24gZWZmZWN0
LgotICAgIHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+YXV0b3Njcm9sbFRp
bWVyRGVsYXkoKTsKKyAgICByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPmF1dG9zY3Jv
bGxUaW1lckRlbGF5KCk7CiB9CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JXaW46OmFuaW1hdGlvblRp
bWVyRmlyZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3JXaW4+KiB0aW1lcikKQEAgLTIyNCw3ICsyMjQs
NyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yV2luOjphbmltYXRlU2Nyb2xsKFBlckF4aXNEYXRhKiBk
YXRhKQogICAgIC8vIFdoZXJlCiAgICAgLy8gICB0MCA9IFRoZSB0aW1lIHRvIHBlcmZvcm0gdGhl
IHNjcm9sbCB3aXRob3V0IHNtb290aCBzY3JvbGxpbmcKICAgICAvLyAgIHRBID0gVGhlIGFjY2Vs
ZXJhdGlvbiB0aW1lLAotICAgIC8vICAgICAgICBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUo
KS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSAoc2VlIGJlbG93KQorICAgIC8vICAgICAgICBTY3Jv
bGxiYXJUaGVtZTo6dGhlbWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSAoc2VlIGJlbG93KQog
ICAgIC8vICAgdEQgPSB8YW5pbWF0aW9uVGltZXJEZWxheXwKICAgICAvLyAgIHRTID0gQSB2YWx1
ZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHRpbWUgcmVxdWlyZWQgdG8gcGVyZm9ybSBhCiAg
ICAgLy8gICAgICAgIHNpbmdsZSBzY3JvbGwgaW5jcmVtZW50LCBpLmUuIHRoZSB3b3JrIGRvbmUg
ZHVlIHRvIGNhbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5kZXgg
NzhkMWVjZWQzZTU5YTI2MzZjMzE1NDFkMDQ2MDk2ZWYxYzEyYWVjYy4uMjIwNWIyZTUxYjUwNDE3
ZTdjMzdiOTBkNjI1Y2UyYTc5YTg3YmM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
Vmlldy5jcHAKQEAgLTk0NCw3ICs5NDQsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9s
bENvcm5lcigpCiAKIHZvaWQgU2Nyb2xsVmlldzo6cGFpbnRTY3JvbGxDb3JuZXIoR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBjb3JuZXJSZWN0KQogewotICAgIFNjcm9s
bGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5wYWludFNjcm9sbENvcm5lcih0aGlzLCBjb250ZXh0
LCBjb3JuZXJSZWN0KTsKKyAgICBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+cGFpbnRTY3JvbGxD
b3JuZXIodGhpcywgY29udGV4dCwgY29ybmVyUmVjdCk7CiB9CiAKIHZvaWQgU2Nyb2xsVmlldzo6
aW52YWxpZGF0ZVNjcm9sbENvcm5lclJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkKQEAgLTEwODQs
NyArMTA4NCw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6Y2FsY3VsYXRlT3ZlcmhhbmdBcmVhc0ZvclBh
aW50aW5nKEludFJlY3QmIGhvcml6b250YWxPdmVyaGFuZ1JlCiAKIHZvaWQgU2Nyb2xsVmlldzo6
cGFpbnRPdmVyaGFuZ0FyZWFzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVj
dCYgaG9yaXpvbnRhbE92ZXJoYW5nUmVjdCwgY29uc3QgSW50UmVjdCYgdmVydGljYWxPdmVyaGFu
Z1JlY3QsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCkKIHsKLSAgICBTY3JvbGxiYXJUaGVtZTo6
bmF0aXZlVGhlbWUoKS0+cGFpbnRPdmVyaGFuZ0FyZWFzKHRoaXMsIGNvbnRleHQsIGhvcml6b250
YWxPdmVyaGFuZ1JlY3QsIHZlcnRpY2FsT3ZlcmhhbmdSZWN0LCBkaXJ0eVJlY3QpOworICAgIFNj
cm9sbGJhclRoZW1lOjp0aGVtZSgpLT5wYWludE92ZXJoYW5nQXJlYXModGhpcywgY29udGV4dCwg
aG9yaXpvbnRhbE92ZXJoYW5nUmVjdCwgdmVydGljYWxPdmVyaGFuZ1JlY3QsIGRpcnR5UmVjdCk7
CiB9CiAKIHZvaWQgU2Nyb2xsVmlldzo6Y2FsY3VsYXRlQW5kUGFpbnRPdmVyaGFuZ0FyZWFzKEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IDM0ZGRjM2Q5M2M4MDc1
ODMwMTkzMmJiNzkzNzBhZGM5ODk2ZTQ4MjguLjc4OWYwYWQ1NWYyMmMwMjFlMDUwYWM2MDRmZDU4
N2UxMTdiZDJkZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5j
cHAKQEAgLTIyOCwxMiArMjI4LDEyIEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNldFNjcm9sbGJh
ck92ZXJsYXlTdHlsZShTY3JvbGxiYXJPdmVybGF5U3R5bGUgb3ZlcmxheVN0eWxlCiAgICAgbV9z
Y3JvbGxiYXJPdmVybGF5U3R5bGUgPSBvdmVybGF5U3R5bGU7CiAKICAgICBpZiAoaG9yaXpvbnRh
bFNjcm9sbGJhcigpKSB7Ci0gICAgICAgIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT51
cGRhdGVTY3JvbGxiYXJPdmVybGF5U3R5bGUoaG9yaXpvbnRhbFNjcm9sbGJhcigpKTsKKyAgICAg
ICAgU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZSho
b3Jpem9udGFsU2Nyb2xsYmFyKCkpOwogICAgICAgICBob3Jpem9udGFsU2Nyb2xsYmFyKCktPmlu
dmFsaWRhdGUoKTsKICAgICB9CiAgICAgCiAgICAgaWYgKHZlcnRpY2FsU2Nyb2xsYmFyKCkpIHsK
LSAgICAgICAgU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnVwZGF0ZVNjcm9sbGJhck92
ZXJsYXlTdHlsZSh2ZXJ0aWNhbFNjcm9sbGJhcigpKTsKKyAgICAgICAgU2Nyb2xsYmFyVGhlbWU6
OnRoZW1lKCktPnVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZSh2ZXJ0aWNhbFNjcm9sbGJhcigp
KTsKICAgICAgICAgdmVydGljYWxTY3JvbGxiYXIoKS0+aW52YWxpZGF0ZSgpOwogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDc3NmQyNmE0OTVhZjMxMGQ4
YTRlNmZkMTVjZDA2YTk1NWM0MmUyNmMuLmMyZmQ3NGRjN2U5Mjg4MGQwMjBjMTdmNjEyZWQzMzRi
ODhmODQ5MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApAQCAtNjAsNyAr
NjAsNyBAQCBQYXNzUmVmUHRyPFNjcm9sbGJhcj4gU2Nyb2xsYmFyOjpjcmVhdGVOYXRpdmVTY3Jv
bGxiYXIoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibAogCiBpbnQgU2Nyb2xsYmFyOjptYXhPdmVy
bGFwQmV0d2VlblBhZ2VzKCkKIHsKLSAgICBzdGF0aWMgaW50IG1heE92ZXJsYXBCZXR3ZWVuUGFn
ZXMgPSBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+bWF4T3ZlcmxhcEJldHdlZW5QYWdl
cygpOworICAgIHN0YXRpYyBpbnQgbWF4T3ZlcmxhcEJldHdlZW5QYWdlcyA9IFNjcm9sbGJhclRo
ZW1lOjp0aGVtZSgpLT5tYXhPdmVybGFwQmV0d2VlblBhZ2VzKCk7CiAgICAgcmV0dXJuIG1heE92
ZXJsYXBCZXR3ZWVuUGFnZXM7CiB9CiAKQEAgLTg4LDcgKzg4LDcgQEAgU2Nyb2xsYmFyOjpTY3Jv
bGxiYXIoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhLCBTY3JvbGxiYXJPcmllbnRhdGlv
biBvcmllbnQKICAgICAsIG1fc3VwcHJlc3NJbnZhbGlkYXRpb24oZmFsc2UpCiB7CiAgICAgaWYg
KCFtX3RoZW1lKQotICAgICAgICBtX3RoZW1lID0gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1l
KCk7CisgICAgICAgIG1fdGhlbWUgPSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKTsKIAogICAgIG1f
dGhlbWUtPnJlZ2lzdGVyU2Nyb2xsYmFyKHRoaXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxiYXJUaGVtZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM3NGQyYmJkZGUxZjUwMDdmMjIwYjgx
MGUxM2JjMDllYzg0Zjk0YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhclRoZW1lLmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJTY3JvbGxiYXJUaGVtZS5oIgorCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVNb2NrLmgi
CisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTY3JvbGxi
YXJUaGVtZSogU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkKK3sKKyAgICBpZiAoU2V0dGluZ3M6Om1v
Y2tTY3JvbGxiYXJzRW5hYmxlZCgpKSB7CisgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU2Ny
b2xsYmFyVGhlbWVNb2NrLCBtb2NrVGhlbWUsICgpKTsKKyAgICAgICAgcmV0dXJuICZtb2NrVGhl
bWU7CisgICAgfQorICAgIHJldHVybiBuYXRpdmVUaGVtZSgpOworfQorCit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCAwZTlmMDkxMGZjZTJkMjQ3ZDcxYzll
ZmFiMTUyNWNkM2FiYmM4N2UzLi45ZWYxMjQyNzYwOTMyYzg4MDFlYzFlYTAxNThjZDlmYTI0Mzdm
MjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKQEAgLTEwMCw2
ICsxMDAsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjcm9sbGJhcihT
Y3JvbGxiYXIqKSB7fQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9s
bGJhciopIHt9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNNb2NrVGhlbWUoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorCisgICAgc3RhdGljIFNjcm9sbGJhclRoZW1lKiB0aGVtZSgpOworCitwcml2
YXRlOgogICAgIHN0YXRpYyBTY3JvbGxiYXJUaGVtZSogbmF0aXZlVGhlbWUoKTsgLy8gTXVzdCBi
ZSBpbXBsZW1lbnRlZCB0byByZXR1cm4gdGhlIGNvcnJlY3QgdGhlbWUgc3ViY2xhc3MuCiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cExpc3RC
b3guY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBMaXN0Qm94LmNw
cAppbmRleCBmNzM1NTY3NTllMmJiNDFmZTE3N2U2ODMyMDE3YWZjNjZjODc2ZjkxLi40OTM1Nzgx
NDY4NzI1OGJmNzk4MmZhMDM5MjA1ZWE1NDk1NWM4Yjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cExpc3RCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTGlzdEJveC5jcHAKQEAgLTg1Nyw3ICs4NTcsNyBA
QCB2b2lkIFBvcHVwTGlzdEJveDo6bGF5b3V0KCkKICAgICAvLyBTZXQgb3VyIHdpZGdldCBhbmQg
c2Nyb2xsYWJsZSBjb250ZW50cyBzaXplcy4KICAgICBpbnQgc2Nyb2xsYmFyV2lkdGggPSAwOwog
ICAgIGlmIChtX3Zpc2libGVSb3dzIDwgbnVtSXRlbXMoKSkgewotICAgICAgICBzY3JvbGxiYXJX
aWR0aCA9IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3Mo
KTsKKyAgICAgICAgc2Nyb2xsYmFyV2lkdGggPSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+c2Ny
b2xsYmFyVGhpY2tuZXNzKCk7CiAKICAgICAgICAgLy8gVXNlIGtNaW5FbmRPZkxpbmVQYWRkaW5n
IHdoZW4gdGhlcmUgaXMgYSBzY3JvbGxiYXIgc28gdGhhdCB3ZSB1c2UKICAgICAgICAgLy8gYXMg
bXVjaCBhcyAobGluZUVuZFBhZGRpbmdXaWR0aCAtIGtNaW5FbmRPZkxpbmVQYWRkaW5nKSBwYWRk
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxB
bmltYXRvckNocm9taXVtTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
U2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYy5tbQppbmRleCBkYWUyZDNkYTBmNWMxM2VjNGZjNDUz
MzIyMzBhYjA1ZTgzMDFkNDQ2Li43OWU1ZGNhOTZhNDdjYmQ2N2EzMjE0YzI0OWYyNjIxNWJlZDZj
NGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxB
bmltYXRvckNocm9taXVtTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL1Njcm9sbEFuaW1hdG9yQ2hyb21pdW1NYWMubW0KQEAgLTQ2MSw2ICs0NjEsMTIgQEAgUGFz
c093blB0cjxTY3JvbGxBbmltYXRvcj4gU2Nyb2xsQW5pbWF0b3I6OmNyZWF0ZShTY3JvbGxhYmxl
QXJlYSogc2Nyb2xsYWJsZUFyZWEKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNjcm9sbEFuaW1h
dG9yQ2hyb21pdW1NYWMoc2Nyb2xsYWJsZUFyZWEpKTsKIH0KIAorc3RhdGljIFNjcm9sbGJhclRo
ZW1lQ2hyb21pdW1NYWMqIGNocm9taXVtU2Nyb2xsYmFyVGhlbWUoKQoreworICAgIFNjcm9sbGJh
clRoZW1lKiBzY3JvbGxiYXJUaGVtZSA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpOworICAgIHJl
dHVybiAhc2Nyb2xsYmFyVGhlbWUtPmlzTW9ja1RoZW1lKCkgPyBzdGF0aWNfY2FzdDxTY3JvbGxi
YXJUaGVtZUNocm9taXVtTWFjKj4oc2Nyb2xsYmFyVGhlbWUpIDogMDsKK30KKwogU2Nyb2xsQW5p
bWF0b3JDaHJvbWl1bU1hYzo6U2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYyhTY3JvbGxhYmxlQXJl
YSogc2Nyb2xsYWJsZUFyZWEpCiAgICAgOiBTY3JvbGxBbmltYXRvcihzY3JvbGxhYmxlQXJlYSkK
ICNpZiBVU0UoV0tfU0NST0xMQkFSX1BBSU5URVIpCkBAIC02ODIsOCArNjg4LDExIEBAIHZvaWQg
U2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6ZGlkRW5kU2Nyb2xsR2VzdHVyZSgpIGNvbnN0CiAK
IHZvaWQgU2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6ZGlkQWRkVmVydGljYWxTY3JvbGxiYXIo
U2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiB7Ci0gICAgaWYgKGlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2
YWlsYWJsZSgpKSB7Ci0gICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBwYWludGVyID0gc3Rh
dGljX2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyo+KFdlYkNvcmU6OlNj
cm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxi
YXIpOworICAgIGlmICghaXNTY3JvbGxiYXJPdmVybGF5QVBJQXZhaWxhYmxlKCkpCisgICAgICAg
IHJldHVybjsKKyAgICAgICAgCisgICAgaWYgKFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqIHRo
ZW1lID0gY2hyb21pdW1TY3JvbGxiYXJUaGVtZSgpKSB7CisgICAgICAgIFdLU2Nyb2xsYmFyUGFp
bnRlclJlZiBwYWludGVyID0gdGhlbWUtPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKTsK
ICAgICAgICAgd2tTY3JvbGxiYXJQYWludGVyU2V0RGVsZWdhdGUocGFpbnRlciwgbV9zY3JvbGxi
YXJQYWludGVyRGVsZWdhdGUuZ2V0KCkpOwogICAgICAgICB3a1NldFBhaW50ZXJGb3JQYWludGVy
Q29udHJvbGxlcihtX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpLCBwYWludGVyLCBm
YWxzZSk7CiAgICAgICAgIGlmIChzY3JvbGxhYmxlQXJlYSgpLT5pbkxpdmVSZXNpemUoKSkKQEAg
LTY5Myw4ICs3MDIsMTEgQEAgdm9pZCBTY3JvbGxBbmltYXRvckNocm9taXVtTWFjOjpkaWRBZGRW
ZXJ0aWNhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikKIAogdm9pZCBTY3JvbGxBbmlt
YXRvckNocm9taXVtTWFjOjp3aWxsUmVtb3ZlVmVydGljYWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBz
Y3JvbGxiYXIpCiB7Ci0gICAgaWYgKGlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2YWlsYWJsZSgpKSB7
Ci0gICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBwYWludGVyID0gc3RhdGljX2Nhc3Q8V2Vi
Q29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyo+KFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
OjpuYXRpdmVUaGVtZSgpKS0+cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIpOworICAgIGlm
ICghaXNTY3JvbGxiYXJPdmVybGF5QVBJQXZhaWxhYmxlKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmIChTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKiB0aGVtZSA9IGNocm9taXVtU2Nyb2xs
YmFyVGhlbWUoKSkgeworICAgICAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgcGFpbnRlciA9IHRo
ZW1lLT5wYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhcik7CiAgICAgICAgIHdrU2Nyb2xsYmFy
UGFpbnRlclNldERlbGVnYXRlKHBhaW50ZXIsIG5pbCk7CiAgICAgICAgIHdrU2V0UGFpbnRlckZv
clBhaW50ZXJDb250cm9sbGVyKG1fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCksIG5p
bCwgZmFsc2UpOwogICAgIH0KQEAgLTcwMiw4ICs3MTQsMTEgQEAgdm9pZCBTY3JvbGxBbmltYXRv
ckNocm9taXVtTWFjOjp3aWxsUmVtb3ZlVmVydGljYWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3Jv
bGxiYXIKIAogdm9pZCBTY3JvbGxBbmltYXRvckNocm9taXVtTWFjOjpkaWRBZGRIb3Jpem9udGFs
U2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogewotICAgIGlmIChpc1Njcm9sbGJhck92
ZXJsYXlBUElBdmFpbGFibGUoKSkgewotICAgICAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgcGFp
bnRlciA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqPihX
ZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnBhaW50ZXJGb3JTY3JvbGxi
YXIoc2Nyb2xsYmFyKTsKKyAgICBpZiAoIWlzU2Nyb2xsYmFyT3ZlcmxheUFQSUF2YWlsYWJsZSgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyog
dGhlbWUgPSBjaHJvbWl1bVNjcm9sbGJhclRoZW1lKCkpIHsKKyAgICAgICAgV0tTY3JvbGxiYXJQ
YWludGVyUmVmIHBhaW50ZXIgPSB0aGVtZS0+cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIp
OwogICAgICAgICB3a1Njcm9sbGJhclBhaW50ZXJTZXREZWxlZ2F0ZShwYWludGVyLCBtX3Njcm9s
bGJhclBhaW50ZXJEZWxlZ2F0ZS5nZXQoKSk7CiAgICAgICAgIHdrU2V0UGFpbnRlckZvclBhaW50
ZXJDb250cm9sbGVyKG1fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCksIHBhaW50ZXIs
IHRydWUpOwogICAgICAgICBpZiAoc2Nyb2xsYWJsZUFyZWEoKS0+aW5MaXZlUmVzaXplKCkpCkBA
IC03MTMsOCArNzI4LDExIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JDaHJvbWl1bU1hYzo6ZGlkQWRk
SG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikKIAogdm9pZCBTY3JvbGxB
bmltYXRvckNocm9taXVtTWFjOjp3aWxsUmVtb3ZlSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxi
YXIqIHNjcm9sbGJhcikKIHsKLSAgICBpZiAoaXNTY3JvbGxiYXJPdmVybGF5QVBJQXZhaWxhYmxl
KCkpIHsKLSAgICAgICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIHBhaW50ZXIgPSBzdGF0aWNfY2Fz
dDxXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKj4oV2ViQ29yZTo6U2Nyb2xsYmFy
VGhlbWU6Om5hdGl2ZVRoZW1lKCkpLT5wYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhcik7Cisg
ICAgaWYgKCFpc1Njcm9sbGJhck92ZXJsYXlBUElBdmFpbGFibGUoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqIHRoZW1lID0gY2hyb21pdW1T
Y3JvbGxiYXJUaGVtZSgpKSB7CisgICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBwYWludGVy
ID0gdGhlbWUtPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKTsKICAgICAgICAgd2tTY3Jv
bGxiYXJQYWludGVyU2V0RGVsZWdhdGUocGFpbnRlciwgbmlsKTsKICAgICAgICAgd2tTZXRQYWlu
dGVyRm9yUGFpbnRlckNvbnRyb2xsZXIobV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxlci5nZXQo
KSwgbmlsLCB0cnVlKTsKICAgICB9CkBAIC0xMjE4LDcgKzEyMzYsMTIgQEAgdm9pZCBTY3JvbGxB
bmltYXRvckNocm9taXVtTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKCkKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqIG1hY1RoZW1lID0gKFNj
cm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqKVNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpOwor
ICAgIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMqIG1hY1RoZW1lID0gY2hyb21pdW1TY3JvbGxi
YXJUaGVtZSgpOworICAgIGlmICghbWFjVGhlbWUpIHsKKyAgICAgICAgc2V0TmVlZHNTY3JvbGxl
clN0eWxlVXBkYXRlKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGludCBu
ZXdTdHlsZSA9IHdrU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJTdHlsZShtX3Njcm9sbGJhclBh
aW50ZXJDb250cm9sbGVyLmdldCgpKTsKIAogICAgIGlmIChTY3JvbGxiYXIqIHZlcnRpY2FsU2Ny
b2xsYmFyID0gc2Nyb2xsYWJsZUFyZWEoKS0+dmVydGljYWxTY3JvbGxiYXIoKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJv
bWl1bU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRo
ZW1lQ2hyb21pdW1NYWMubW0KaW5kZXggNDcyMzQzZDQwMWUxMTQ4NDMyYmQyNmViNmZkOGU5NDE4
N2IwZTAwYy4uMTc3YmM5Mjk4NDg3NTIwMjJmNTBkMWJkN2RlNjU4NTdhYWIzMDk0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJv
bWl1bU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxi
YXJUaGVtZUNocm9taXVtTWFjLm1tCkBAIC05Niw3ICs5NiwxMSBAQCBzdGF0aWMgU2Nyb2xsYmFy
UGFpbnRlck1hcCogc2Nyb2xsYmFyTWFwKCkKIHsKICAgICBVTlVTRURfUEFSQU0odW51c2VkTm90
aWZpY2F0aW9uKTsKIAotICAgIHN0YXRpY19jYXN0PFNjcm9sbGJhclRoZW1lQ2hyb21pdW1NYWMq
PihTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnByZWZlcmVuY2VzQ2hhbmdlZCgpOwor
ICAgIFNjcm9sbGJhclRoZW1lKiB0aGVtZSA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpOworICAg
IGlmICh0aGVtZS0+aXNNb2NrVGhlbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc3RhdGlj
X2Nhc3Q8U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyo+KGlzTW9ja1RoZW1lKS0+cHJlZmVyZW5j
ZXNDaGFuZ2VkKCk7CiAgICAgaWYgKHNjcm9sbGJhck1hcCgpLT5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybjsKICAgICBTY3JvbGxiYXJQYWludGVyTWFwOjppdGVyYXRvciBlbmQgPSBzY3JvbGxi
YXJNYXAoKS0+ZW5kKCk7CkBAIC0xMTAsNyArMTE0LDExIEBAIHN0YXRpYyBTY3JvbGxiYXJQYWlu
dGVyTWFwKiBzY3JvbGxiYXJNYXAoKQogewogICAgIFVOVVNFRF9QQVJBTSh1bnVzZWROb3RpZmlj
YXRpb24pOwogCi0gICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYyo+KFNj
cm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cHJlZmVyZW5jZXNDaGFuZ2VkKCk7CisgICAg
U2Nyb2xsYmFyVGhlbWUqIHRoZW1lID0gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCk7CisgICAgaWYg
KHRoZW1lLT5pc01vY2tUaGVtZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBzdGF0aWNfY2Fz
dDxTY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjKj4odGhlbWUpLT5wcmVmZXJlbmNlc0NoYW5nZWQo
KTsKIH0KIAogKyAodm9pZClyZWdpc3RlckFzT2JzZXJ2ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBmMzZjODg1ZmViYzBlZTgz
ZGJjNGNkNTE2OTIwYTYyNmVhNDlmMDQ2Li5hMmQ5M2Y4MWVmYmEyYTg5NmNiZGUwNDk0NjA1Mjhh
MmExYjA5ZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xs
QW5pbWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFu
aW1hdG9yTWFjLm1tCkBAIC00NTIsNiArNDUyLDEyIEBAIFBhc3NPd25QdHI8U2Nyb2xsQW5pbWF0
b3I+IFNjcm9sbEFuaW1hdG9yOjpjcmVhdGUoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVh
CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTY3JvbGxBbmltYXRvck1hYyhzY3JvbGxhYmxlQXJl
YSkpOwogfQogCitzdGF0aWMgU2Nyb2xsYmFyVGhlbWVNYWMqIG1hY1Njcm9sbGJhclRoZW1lKCkK
K3sKKyAgICBTY3JvbGxiYXJUaGVtZSogc2Nyb2xsYmFyVGhlbWUgPSBTY3JvbGxiYXJUaGVtZTo6
dGhlbWUoKTsKKyAgICByZXR1cm4gIXNjcm9sbGJhclRoZW1lLT5pc01vY2tUaGVtZSgpID8gc3Rh
dGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVNYWMqPihzY3JvbGxiYXJUaGVtZSkgOiAwOworfQorCiBT
Y3JvbGxBbmltYXRvck1hYzo6U2Nyb2xsQW5pbWF0b3JNYWMoU2Nyb2xsYWJsZUFyZWEqIHNjcm9s
bGFibGVBcmVhKQogICAgIDogU2Nyb2xsQW5pbWF0b3Ioc2Nyb2xsYWJsZUFyZWEpCiAjaWYgVVNF
KFNDUk9MTEJBUl9QQUlOVEVSKQpAQCAtNjgyLDExICs2ODgsMTMgQEAgdm9pZCBTY3JvbGxBbmlt
YXRvck1hYzo6ZGlkRW5kU2Nyb2xsR2VzdHVyZSgpIGNvbnN0CiB2b2lkIFNjcm9sbEFuaW1hdG9y
TWFjOjpkaWRBZGRWZXJ0aWNhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikKIHsKICNp
ZiBVU0UoU0NST0xMQkFSX1BBSU5URVIpCi0gICAgU2Nyb2xsYmFyUGFpbnRlciBwYWludGVyID0g
c3RhdGljX2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWMqPihXZWJDb3JlOjpTY3JvbGxi
YXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKTsK
LSAgICBbcGFpbnRlciBzZXREZWxlZ2F0ZTptX3Njcm9sbGJhclBhaW50ZXJEZWxlZ2F0ZS5nZXQo
KV07Ci0gICAgW21fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCkgc2V0VmVydGljYWxT
Y3JvbGxlckltcDpwYWludGVyXTsKLSAgICBpZiAoc2Nyb2xsYWJsZUFyZWEoKS0+aW5MaXZlUmVz
aXplKCkpCi0gICAgICAgIFtwYWludGVyIHNldEtub2JBbHBoYToxXTsKKyAgICBpZiAoU2Nyb2xs
YmFyVGhlbWVNYWMqIHRoZW1lID0gbWFjU2Nyb2xsYmFyVGhlbWUoKSkgeworICAgICAgICBTY3Jv
bGxiYXJQYWludGVyIHBhaW50ZXIgPSB0aGVtZS0+cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxi
YXIpOworICAgICAgICBbcGFpbnRlciBzZXREZWxlZ2F0ZTptX3Njcm9sbGJhclBhaW50ZXJEZWxl
Z2F0ZS5nZXQoKV07CisgICAgICAgIFttX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgp
IHNldFZlcnRpY2FsU2Nyb2xsZXJJbXA6cGFpbnRlcl07CisgICAgICAgIGlmIChzY3JvbGxhYmxl
QXJlYSgpLT5pbkxpdmVSZXNpemUoKSkKKyAgICAgICAgICAgIFtwYWludGVyIHNldEtub2JBbHBo
YToxXTsKKyAgICB9CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShzY3JvbGxiYXIpOwogI2VuZGlm
CkBAIC02OTUsOSArNzAzLDExIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OmRpZEFkZFZlcnRp
Y2FsU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogdm9pZCBTY3JvbGxBbmltYXRvck1h
Yzo6d2lsbFJlbW92ZVZlcnRpY2FsU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogewog
I2lmIFVTRShTQ1JPTExCQVJfUEFJTlRFUikKLSAgICBTY3JvbGxiYXJQYWludGVyIHBhaW50ZXIg
PSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYyo+KFdlYkNvcmU6OlNjcm9s
bGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIp
OwotICAgIFtwYWludGVyIHNldERlbGVnYXRlOm5pbF07Ci0gICAgW21fc2Nyb2xsYmFyUGFpbnRl
ckNvbnRyb2xsZXIuZ2V0KCkgc2V0VmVydGljYWxTY3JvbGxlckltcDpuaWxdOworICAgIGlmIChT
Y3JvbGxiYXJUaGVtZU1hYyogdGhlbWUgPSBtYWNTY3JvbGxiYXJUaGVtZSgpKSB7CisgICAgICAg
IFNjcm9sbGJhclBhaW50ZXIgcGFpbnRlciA9IHRoZW1lLT5wYWludGVyRm9yU2Nyb2xsYmFyKHNj
cm9sbGJhcik7CisgICAgICAgIFtwYWludGVyIHNldERlbGVnYXRlOm5pbF07CisgICAgICAgIFtt
X3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpIHNldFZlcnRpY2FsU2Nyb2xsZXJJbXA6
bmlsXTsKKyAgICB9CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShzY3JvbGxiYXIpOwogI2VuZGlm
CkBAIC03MDYsMTEgKzcxNiwxMyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp3aWxsUmVtb3Zl
VmVydGljYWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiB2b2lkIFNjcm9sbEFuaW1h
dG9yTWFjOjpkaWRBZGRIb3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xsYmFyKQog
ewogI2lmIFVTRShTQ1JPTExCQVJfUEFJTlRFUikKLSAgICBTY3JvbGxiYXJQYWludGVyIHBhaW50
ZXIgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYyo+KFdlYkNvcmU6OlNj
cm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxi
YXIpOwotICAgIFtwYWludGVyIHNldERlbGVnYXRlOm1fc2Nyb2xsYmFyUGFpbnRlckRlbGVnYXRl
LmdldCgpXTsKLSAgICBbbV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxlci5nZXQoKSBzZXRIb3Jp
em9udGFsU2Nyb2xsZXJJbXA6cGFpbnRlcl07Ci0gICAgaWYgKHNjcm9sbGFibGVBcmVhKCktPmlu
TGl2ZVJlc2l6ZSgpKQotICAgICAgICBbcGFpbnRlciBzZXRLbm9iQWxwaGE6MV07CisgICAgaWYg
KFNjcm9sbGJhclRoZW1lTWFjKiB0aGVtZSA9IG1hY1Njcm9sbGJhclRoZW1lKCkpIHsKKyAgICAg
ICAgU2Nyb2xsYmFyUGFpbnRlciBwYWludGVyID0gdGhlbWUtPnBhaW50ZXJGb3JTY3JvbGxiYXIo
c2Nyb2xsYmFyKTsKKyAgICAgICAgW3BhaW50ZXIgc2V0RGVsZWdhdGU6bV9zY3JvbGxiYXJQYWlu
dGVyRGVsZWdhdGUuZ2V0KCldOworICAgICAgICBbbV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxl
ci5nZXQoKSBzZXRIb3Jpem9udGFsU2Nyb2xsZXJJbXA6cGFpbnRlcl07CisgICAgICAgIGlmIChz
Y3JvbGxhYmxlQXJlYSgpLT5pbkxpdmVSZXNpemUoKSkKKyAgICAgICAgICAgIFtwYWludGVyIHNl
dEtub2JBbHBoYToxXTsKKyAgICB9CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShzY3JvbGxiYXIp
OwogI2VuZGlmCkBAIC03MTksOSArNzMxLDExIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OmRp
ZEFkZEhvcml6b250YWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiB2b2lkIFNjcm9s
bEFuaW1hdG9yTWFjOjp3aWxsUmVtb3ZlSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNj
cm9sbGJhcikKIHsKICNpZiBVU0UoU0NST0xMQkFSX1BBSU5URVIpCi0gICAgU2Nyb2xsYmFyUGFp
bnRlciBwYWludGVyID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWMqPihX
ZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKSktPnBhaW50ZXJGb3JTY3JvbGxi
YXIoc2Nyb2xsYmFyKTsKLSAgICBbcGFpbnRlciBzZXREZWxlZ2F0ZTpuaWxdOwotICAgIFttX3Nj
cm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpIHNldEhvcml6b250YWxTY3JvbGxlckltcDpu
aWxdOworICAgIGlmIChTY3JvbGxiYXJUaGVtZU1hYyogdGhlbWUgPSBtYWNTY3JvbGxiYXJUaGVt
ZSgpKSB7CisgICAgICAgIFNjcm9sbGJhclBhaW50ZXIgcGFpbnRlciA9IHRoZW1lLT5wYWludGVy
Rm9yU2Nyb2xsYmFyKHNjcm9sbGJhcik7CisgICAgICAgIFtwYWludGVyIHNldERlbGVnYXRlOm5p
bF07CisgICAgICAgIFttX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpIHNldEhvcml6
b250YWxTY3JvbGxlckltcDpuaWxdOworICAgIH0KICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHNj
cm9sbGJhcik7CiAjZW5kaWYKQEAgLTEyMzcsNyArMTI1MSwxMiBAQCB2b2lkIFNjcm9sbEFuaW1h
dG9yTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIFNjcm9sbGJhclRoZW1lTWFjKiBtYWNUaGVtZSA9IChTY3JvbGxiYXJUaGVtZU1hYyopU2Ny
b2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCk7CisgICAgU2Nyb2xsYmFyVGhlbWVNYWMqIG1hY1Ro
ZW1lID0gbWFjU2Nyb2xsYmFyVGhlbWUoKTsKKyAgICBpZiAoIW1hY1RoZW1lKSB7CisgICAgICAg
IHNldE5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZShmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKICAgICBOU1Njcm9sbGVyU3R5bGUgbmV3U3R5bGUgPSBbbV9zY3JvbGxiYXJQYWludGVy
Q29udHJvbGxlci5nZXQoKSBzY3JvbGxlclN0eWxlXTsKIAogICAgIGlmIChTY3JvbGxiYXIqIHZl
cnRpY2FsU2Nyb2xsYmFyID0gc2Nyb2xsYWJsZUFyZWEoKS0+dmVydGljYWxTY3JvbGxiYXIoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1l
TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
CmluZGV4IDM0ODc1OTgzNmM2MDIzMDNjYzI5NWQwZDQwNzE2OWZjNjBjMzM0YzAuLmQ3ODJiNWI5
NWQ0ZTk1MmFlNzQxOGM2ZTZhN2JkNWVmNjM2NWExNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KQEAgLTc1LDcgKzc1LDcgQEAgc3Rh
dGljIFNjcm9sbGJhclBhaW50ZXJNYXAqIHNjcm9sbGJhck1hcCgpCiB7CiAgICAgVU5VU0VEX1BB
UkFNKHVudXNlZE5vdGlmaWNhdGlvbik7CiAKLSAgICBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVt
ZU1hYyo+KFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpKS0+cHJlZmVyZW5jZXNDaGFuZ2Vk
KCk7CisgICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVNYWMqPihTY3JvbGxiYXJUaGVtZTo6
dGhlbWUoKSktPnByZWZlcmVuY2VzQ2hhbmdlZCgpOwogICAgIGlmIChzY3JvbGxiYXJNYXAoKS0+
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAgU2Nyb2xsYmFyUGFpbnRlck1hcDo6aXRl
cmF0b3IgZW5kID0gc2Nyb2xsYmFyTWFwKCktPmVuZCgpOwpAQCAtOTQsNyArOTQsNyBAQCBzdGF0
aWMgU2Nyb2xsYmFyUGFpbnRlck1hcCogc2Nyb2xsYmFyTWFwKCkKIHsKICAgICBVTlVTRURfUEFS
QU0odW51c2VkTm90aWZpY2F0aW9uKTsKIAotICAgIHN0YXRpY19jYXN0PFNjcm9sbGJhclRoZW1l
TWFjKj4oU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkpLT5wcmVmZXJlbmNlc0NoYW5nZWQo
KTsKKyAgICBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZU1hYyo+KFNjcm9sbGJhclRoZW1lOjp0
aGVtZSgpKS0+cHJlZmVyZW5jZXNDaGFuZ2VkKCk7CiB9CiAKICsgKHZvaWQpcmVnaXN0ZXJBc09i
c2VydmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbGJh
clRoZW1lTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9TY3JvbGxiYXJUaGVt
ZU1vY2suaAppbmRleCAyYmYyYTJiYjcxNzc5YzVmZWU2NzY0ZTA3YWE1NmMwZjgwZmY0ZDZlLi5l
MjU0ODQyMmEyOGY1ZTcyM2U0MzUzZjhmNDU3NjUyNTNjYjY4NWJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Njcm9sbGJhclRoZW1lTW9jay5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU2Nyb2xsYmFyVGhlbWVNb2NrLmgKQEAgLTQ1LDYgKzQ1
LDkgQEAgcHJvdGVjdGVkOgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBwYWludFRyYWNrQmFja2dy
b3VuZChHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0Jik7CiAgICAg
dmlydHVhbCB2b2lkIHBhaW50VGh1bWIoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29u
c3QgSW50UmVjdCYpOworICAgIAorcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGJvb2wgaXNNb2NrVGhl
bWUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCmluZGV4IGMzNTRhYTI4ZWVlY2RmMjA3NTgzZDk0
YmQ4ZDgwZDUzOGI3MmRlYWIuLjg4ZDM0OWI4YzczMjdhNDQ3Y2I3MjcyZTkwMzhlM2ZmYTBhMWFk
NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCkBA
IC0xMDc0LDcgKzEwNzQsNyBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdElubmVyU3BpbkJ1
dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGVtZW50KiBlKSBjb25zdAogewog
ICAgIC8vIFVzZSB0aGUgc2FtZSB3aWR0aCBhcyBvdXIgbmF0aXZlIHNjcm9sbGJhcgotICAgIGlu
dCB3aWR0aCA9IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25l
c3MoKTsKKyAgICBpbnQgd2lkdGggPSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+c2Nyb2xsYmFy
VGhpY2tuZXNzKCk7CiAgICAgc3R5bGUtPnNldFdpZHRoKExlbmd0aCh3aWR0aCwgRml4ZWQpKTsK
ICAgICBzdHlsZS0+c2V0TWluV2lkdGgoTGVuZ3RoKHdpZHRoLCBGaXhlZCkpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAppbmRleCA0NGE4OTZlMWMw
NWI5MTdjOGNiNzZkMzYwNmExMTE1NjY5ZjI0NTM2Li41NzhlZWExMWZjNGI1N2QxZDc0YzI3Njk1
NWNlZjRmOWIxMDlkODBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
UG9wdXBNZW51V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBN
ZW51V2luLmNwcApAQCAtMzM0LDcgKzMzNCw3IEBAIHZvaWQgUG9wdXBNZW51V2luOjpjYWxjdWxh
dGVQb3NpdGlvbkFuZFNpemUoY29uc3QgSW50UmVjdCYgciwgRnJhbWVWaWV3KiB2KQogCiAgICAg
aWYgKG5hdHVyYWxIZWlnaHQgPiBtYXhQb3B1cEhlaWdodCkKICAgICAgICAgLy8gV2UgbmVlZCBy
b29tIGZvciBhIHNjcm9sbGJhcgotICAgICAgICBwb3B1cFdpZHRoICs9IFNjcm9sbGJhclRoZW1l
OjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoU21hbGxTY3JvbGxiYXIpOworICAg
ICAgICBwb3B1cFdpZHRoICs9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5zY3JvbGxiYXJUaGlj
a25lc3MoU21hbGxTY3JvbGxiYXIpOwogCiAgICAgLy8gQWRkIHBhZGRpbmcgdG8gYWxpZ24gdGhl
IHBvcHVwIHRleHQgd2l0aCB0aGUgPHNlbGVjdD4gdGV4dAogICAgIHBvcHVwV2lkdGggKz0gbWF4
KDAsIGNsaWVudCgpLT5jbGllbnRQYWRkaW5nUmlnaHQoKSAtIGNsaWVudCgpLT5jbGllbnRJbnNl
dFJpZ2h0KCkpICsgbWF4KDAsIGNsaWVudCgpLT5jbGllbnRQYWRkaW5nTGVmdCgpIC0gY2xpZW50
KCktPmNsaWVudEluc2V0TGVmdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCmluZGV4IDNmYTg4M2ViZjI5NmU0NGFkZDcyNjAwMTI4MDY4N2UzYzk3N2EwNDQuLjlj
YjI2NzIyYzg3YzhlNGUyYmQ1ODI2YTU3NmY4NDQxYjcyM2M2MjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTc1Myw3ICsxNzUzLDcgQEAgc3RhdGljIExh
eW91dFJlY3QgY29ybmVyUmVjdChjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIGNvbnN0IExheW91
dFJlY3QmIGJvdW5kcykKICAgICBpZiAoIWxheWVyLT52ZXJ0aWNhbFNjcm9sbGJhcigpICYmICFs
YXllci0+aG9yaXpvbnRhbFNjcm9sbGJhcigpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlz
bid0IHJpZ2h0LiAgV2UgbmVlZCB0byBrbm93IHRoZSB0aGlja25lc3Mgb2YgY3VzdG9tIHNjcm9s
bGJhcnMKICAgICAgICAgLy8gZXZlbiB3aGVuIHRoZXkgZG9uJ3QgZXhpc3QgaW4gb3JkZXIgdG8g
c2V0IHRoZSByZXNpemVyIHNxdWFyZSBzaXplIHByb3Blcmx5LgotICAgICAgICBob3Jpem9udGFs
VGhpY2tuZXNzID0gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnNjcm9sbGJhclRoaWNr
bmVzcygpOworICAgICAgICBob3Jpem9udGFsVGhpY2tuZXNzID0gU2Nyb2xsYmFyVGhlbWU6OnRo
ZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcygpOwogICAgICAgICB2ZXJ0aWNhbFRoaWNrbmVzcyA9
IGhvcml6b250YWxUaGlja25lc3M7CiAgICAgfSBlbHNlIGlmIChsYXllci0+dmVydGljYWxTY3Jv
bGxiYXIoKSAmJiAhbGF5ZXItPmhvcml6b250YWxTY3JvbGxiYXIoKSkgewogICAgICAgICBob3Jp
em9udGFsVGhpY2tuZXNzID0gbGF5ZXItPnZlcnRpY2FsU2Nyb2xsYmFyKCktPndpZHRoKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5jcHAKaW5k
ZXggNjliOWIyMGZkYjRiZWU5ODIxZjQ4OTYxMzNmMmVkYjdlOTI4NzA3My4uY2JhZTY4YzAyYTAy
YjJiODhkZjkzYjdhMTAxY2JkZjk5MTJjYWRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcApAQCAtODIsNyArODIsNyBAQCB2b2lkIFJl
bmRlclNjcm9sbGJhclBhcnQ6OmxheW91dFZlcnRpY2FsUGFydCgpCiBzdGF0aWMgaW50IGNhbGNT
Y3JvbGxiYXJUaGlja25lc3NVc2luZyhjb25zdCBMZW5ndGgmIGwsIGludCBjb250YWluaW5nTGVu
Z3RoKQogewogICAgIGlmIChsLmlzSW50cmluc2ljT3JBdXRvKCkpCi0gICAgICAgIHJldHVybiBT
Y3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhpY2tuZXNzKCk7CisgICAg
ICAgIHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+c2Nyb2xsYmFyVGhpY2tuZXNzKCk7
CiAgICAgcmV0dXJuIGwuY2FsY01pblZhbHVlKGNvbnRhaW5pbmdMZW5ndGgpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oCmluZGV4IDli
OGIyYzE4YjZiMWQ3NmY4ZDRkYTVlNGRkZTA4YTMwNjMzZjBjODEuLjcwYzI0YTVlYTJlZDc5YmI5
ZjhmYWQwMjEzN2M2MzU2OWQ5OTYzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oCkBAIC0zOCwyMSArMzgsMjEgQEAgY2xhc3MgUmVuZGVy
U2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUgewogcHVibGlj
OgogICAgIHZpcnR1YWwgflJlbmRlclNjcm9sbGJhclRoZW1lKCkge307CiAgICAgCi0gICAgdmly
dHVhbCBpbnQgc2Nyb2xsYmFyVGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXplIGNvbnRyb2xT
aXplKSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhp
Y2tuZXNzKGNvbnRyb2xTaXplKTsgfQorICAgIHZpcnR1YWwgaW50IHNjcm9sbGJhclRoaWNrbmVz
cyhTY3JvbGxiYXJDb250cm9sU2l6ZSBjb250cm9sU2l6ZSkgeyByZXR1cm4gU2Nyb2xsYmFyVGhl
bWU6OnRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcyhjb250cm9sU2l6ZSk7IH0KIAotICAgIHZp
cnR1YWwgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29uc3Qg
eyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmJ1dHRvbnNQbGFjZW1lbnQo
KTsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2Vt
ZW50KCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPmJ1dHRvbnNQbGFj
ZW1lbnQoKTsgfQogCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzQ29udHJvbFRpbnRzKCkgY29u
c3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50U2Nyb2xsQ29ybmVy
KFNjcm9sbFZpZXcqLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGNv
cm5lclJlY3QpOwogCi0gICAgdmlydHVhbCBib29sIHNob3VsZENlbnRlck9uVGh1bWIoU2Nyb2xs
YmFyKiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpIHsgcmV0dXJu
IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zaG91bGRDZW50ZXJPblRodW1iKHNjcm9s
bGJhciwgZXZlbnQpOyB9CisgICAgdmlydHVhbCBib29sIHNob3VsZENlbnRlck9uVGh1bWIoU2Ny
b2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpIHsgcmV0
dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5zaG91bGRDZW50ZXJPblRodW1iKHNjcm9sbGJh
ciwgZXZlbnQpOyB9CiAgICAgCi0gICAgdmlydHVhbCBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxU
aW1lckRlbGF5KCkgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmluaXRp
YWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgYXV0b3Njcm9s
bFRpbWVyRGVsYXkoKSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+YXV0
b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQorICAgIHZpcnR1YWwgZG91YmxlIGluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5pbml0aWFs
QXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQorICAgIHZpcnR1YWwgZG91YmxlIGF1dG9zY3JvbGxU
aW1lckRlbGF5KCkgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPmF1dG9zY3JvbGxU
aW1lckRlbGF5KCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjcm9sbGJhcihTY3Jv
bGxiYXIqIHNjcm9sbGJhcikgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkt
PnJlZ2lzdGVyU2Nyb2xsYmFyKHNjcm9sbGJhcik7IH0KLSAgICB2aXJ0dWFsIHZvaWQgdW5yZWdp
c3RlclNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikgeyByZXR1cm4gU2Nyb2xsYmFyVGhl
bWU6Om5hdGl2ZVRoZW1lKCktPnVucmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQorICAg
IHZpcnR1YWwgdm9pZCByZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikgeyBy
ZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnJlZ2lzdGVyU2Nyb2xsYmFyKHNjcm9sbGJh
cik7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXIqIHNj
cm9sbGJhcikgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnVucmVnaXN0ZXJTY3Jv
bGxiYXIoc2Nyb2xsYmFyKTsgfQogCiAgICAgdmlydHVhbCBpbnQgbWluaW11bVRodW1iTGVuZ3Ro
KFNjcm9sbGJhciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmNwcAppbmRleCAxYTc4OGE3MjhiODllNDE2YjNkYjE3ODM3MmI0NzJiNDdmOTgwZmU5
Li44MjQ5MGYyODU4MjhiZWNlZmFjMDNmMjIyNWRhODEwOGUwMmI0ODRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKQEAgLTE1OCw3ICsxNTgs
NyBAQCBWaXNpYmxlUG9zaXRpb24gUmVuZGVyVGV4dENvbnRyb2w6OnZpc2libGVQb3NpdGlvbkZv
ckluZGV4KGludCBpbmRleCkgY29uc3QKIGludCBSZW5kZXJUZXh0Q29udHJvbDo6c2Nyb2xsYmFy
VGhpY2tuZXNzKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGdldCB0aGUgc2l6
ZSBvZiB0aGUgc2Nyb2xsYmFyIGZyb20gdGhlIFJlbmRlclRoZW1lIGluc3RlYWQuCi0gICAgcmV0
dXJuIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoKTsK
KyAgICByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcygp
OwogfQogCiB2b2lkIFJlbmRlclRleHRDb250cm9sOjpjb21wdXRlTG9naWNhbEhlaWdodCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNr
aWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lh
LmNwcAppbmRleCBjMTZlMWQzOWYyMTNjYTlhMmNlYjAwZTc3OGQ1NDIxMjk4YmMyZmNlLi4zZjNj
NmFlZTgyZjQyZTMxMWI4ZWEwYzhkZTE1MzczZDY4ZmViYjJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAKQEAgLTUzNSw3
ICs1MzUsNyBAQCBpbnQgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6Om1lbnVMaXN0SW50ZXJuYWxQ
YWRkaW5nKFJlbmRlclN0eWxlKiBzdHlsZSwgaW50IHBhZAogICAgIC8vIHdlIGRvbid0IGRyYXcg
YSBidXR0b24sIHNvIGRvbid0IHJlc2VydmUgc3BhY2UgZm9yIGl0LgogICAgIGNvbnN0IGludCBi
YXJUeXBlID0gc3R5bGUtPmRpcmVjdGlvbigpID09IExUUiA/IFJpZ2h0UGFkZGluZyA6IExlZnRQ
YWRkaW5nOwogICAgIGlmIChwYWRkaW5nVHlwZSA9PSBiYXJUeXBlICYmIHN0eWxlLT5hcHBlYXJh
bmNlKCkgIT0gTm9Db250cm9sUGFydCkKLSAgICAgICAgcGFkZGluZyArPSBTY3JvbGxiYXJUaGVt
ZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhpY2tuZXNzKCk7CisgICAgICAgIHBhZGRpbmcg
Kz0gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcygpOwogCiAgICAg
cmV0dXJuIHBhZGRpbmc7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVDaHJvbWl1bVdpbi5jcHAKaW5kZXggOWNjNTdjNTA4NWQzM2I2ZTg4MDdlZTkyZjRm
ZmU5MWM4MzdlMmY4Ny4uZDQzMjhkZjU2M2ViZDJhYTY4MWY3ZjJmYjU0Y2RjMWIyYmM5MzIwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1X
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
V2luLmNwcApAQCAtNzE2LDcgKzcxNiw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6
cGFpbnRUZXh0RmllbGRJbnRlcm5hbChSZW5kZXJPYmplY3QqIG8sCiAKIHZvaWQgUmVuZGVyVGhl
bWVDaHJvbWl1bVdpbjo6YWRqdXN0SW5uZXJTcGluQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rv
ciosIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNvbnN0CiB7Ci0gICAgaW50IHdpZHRo
ID0gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcygpOwor
ICAgIGludCB3aWR0aCA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5zY3JvbGxiYXJUaGlja25l
c3MoKTsKICAgICBzdHlsZS0+c2V0V2lkdGgoTGVuZ3RoKHdpZHRoLCBGaXhlZCkpOwogICAgIHN0
eWxlLT5zZXRNaW5XaWR0aChMZW5ndGgod2lkdGgsIEZpeGVkKSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhckltcGwuY3BwCmluZGV4IGI1YmFkNWJiZmQ1
ZWEyY2I5OWZhNDViZWE0Njg4YjkwNjEzZGI5YWYuLmY5MTEwZGI4MDBiNWY5YzFkZjVhZGZkMDVk
MmY2OWRjMDU3M2YwZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNjcm9sbGJhckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNj
cm9sbGJhckltcGwuY3BwCkBAIC02Myw3ICs2Myw3IEBAIFdlYlNjcm9sbGJhciogV2ViU2Nyb2xs
YmFyOjpjcmVhdGVGb3JQbHVnaW4oT3JpZW50YXRpb24gb3JpZW50YXRpb24sCiAKIGludCBXZWJT
Y3JvbGxiYXI6OmRlZmF1bHRUaGlja25lc3MoKQogewotICAgIHJldHVybiBTY3JvbGxiYXJUaGVt
ZTo6bmF0aXZlVGhlbWUoKS0+c2Nyb2xsYmFyVGhpY2tuZXNzKCk7CisgICAgcmV0dXJuIFNjcm9s
bGJhclRoZW1lOjp0aGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoKTsKIH0KIAogV2ViU2Nyb2xs
YmFySW1wbDo6V2ViU2Nyb2xsYmFySW1wbChPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3Bw
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKaW5k
ZXggZjY0ZTQ1NGU3M2Y1ZTk4Yjg2YTE4Mjc3Y2E0NjU0NjZiNTZiNTUzZC4uZWYyNmYxZGJhYWZj
YmJjM2FiOWJhNDMxNmRkNGJiNTQ4MDE4YWRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKQEAgLTM4NCw3ICszODQsNyBAQCBJ
bnRSZWN0IENocm9tZUNsaWVudFF0Ojp3aW5kb3dSZXNpemVyUmVjdCgpIGNvbnN0CiAKICAgICAv
LyBUaGVyZSdzIG5vIEFQSSBpbiBRdCB0byBxdWVyeSBmb3IgdGhlIHNpemUgb2YgdGhlIHJlc2l6
ZXIsIHNvIHdlIGFzc3VtZQogICAgIC8vIGl0IGhhcyB0aGUgc2FtZSB3aWR0aCBhbmQgaGVpZ2h0
IGFzIHRoZSBzY3JvbGxiYXIgdGhpY2tuZXNzLgotICAgIGludCBzY29sbGJhclRoaWNrbmVzcyA9
IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoKTsKKyAg
ICBpbnQgc2NvbGxiYXJUaGlja25lc3MgPSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS0+c2Nyb2xs
YmFyVGhpY2tuZXNzKCk7CiAKICAgICAvLyBUaGVyZSdzIG5vIEFQSSBpbiBRdCB0byBxdWVyeSBm
b3IgdGhlIHBvc2l0aW9uIG9mIHRoZSByZXNpemVyLiBTb21ldGltZXMKICAgICAvLyBpdCdzIGRy
YXduIGJ5IHRoZSBzeXN0ZW0sIGFuZCBzb21ldGltZXMgaXQncyBhIFFTaXplR3JpcC4gRm9yIFJU
TCBsb2NhbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTY3JvbGxCYXIuY3Bw
IGIvU291cmNlL1dlYktpdC93aW4vV2ViU2Nyb2xsQmFyLmNwcAppbmRleCAyMjRhNzJhYjQyOTE5
YWQ0ZjY5ZWIwYmY1NjAzNDAwMmUwNmFkZTFlLi5hMjUyMTAwNDAwMWMyNDU4OWQ5ODBiNzI2ZDdk
ZmIyNGYwNWJmM2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTY3JvbGxCYXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcm9sbEJhci5jcHAKQEAgLTIwMyw3ICsy
MDMsNyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlNjcm9sbEJhcjo6cmVxdWVzdGVk
V2lkdGgoCiAgICAgaWYgKCF3KQogICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwogCi0gICAgKncg
PSBtX3Njcm9sbEJhci0+b3JpZW50YXRpb24oKSA9PSBWZXJ0aWNhbFNjcm9sbGJhciA/IFNjcm9s
bGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MobV9zY3JvbGxCYXIt
PmNvbnRyb2xTaXplKCkpIDogLTE7CisgICAgKncgPSBtX3Njcm9sbEJhci0+b3JpZW50YXRpb24o
KSA9PSBWZXJ0aWNhbFNjcm9sbGJhciA/IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5zY3JvbGxi
YXJUaGlja25lc3MobV9zY3JvbGxCYXItPmNvbnRyb2xTaXplKCkpIDogLTE7CiAgICAgcmV0dXJu
IFNfT0s7CiB9CiAKQEAgLTIxMyw3ICsyMTMsNyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IFdlYlNjcm9sbEJhcjo6cmVxdWVzdGVkSGVpZ2h0KAogICAgIGlmICghaCkKICAgICAgICAgcmV0
dXJuIEVfUE9JTlRFUjsKIAotICAgICpoID0gbV9zY3JvbGxCYXItPm9yaWVudGF0aW9uKCkgPT0g
SG9yaXpvbnRhbFNjcm9sbGJhciA/IFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3Jv
bGxiYXJUaGlja25lc3MobV9zY3JvbGxCYXItPmNvbnRyb2xTaXplKCkpIDogLTE7CisgICAgKmgg
PSBtX3Njcm9sbEJhci0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyID8gU2Ny
b2xsYmFyVGhlbWU6OnRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcyhtX3Njcm9sbEJhci0+Y29u
dHJvbFNpemUoKSkgOiAtMTsKICAgICByZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAppbmRleCAxZjViMGMxYzhhNDI5ZmE3ZTQyZTNhMWY4MTQzYTJhOGNhYmZmZGVkLi4wNDdmZWFi
MDdjNDIyMDI1M2FiNjQyNTY1OTFiNTAzZTQ0ZTQ4NDY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApA
QCAtMjI5OSw3ICsyMjk5LDcgQEAgTFJFU1VMVCBDQUxMQkFDSyBXZWJWaWV3OjpXZWJWaWV3V25k
UHJvYyhIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwKICAgICAgICAgICAg
IGlmIChGcmFtZSogY29yZUZyYW1lID0gY29yZShtYWluRnJhbWVJbXBsKSkgewogICAgICAgICAg
ICAgICAgIHdlYlZpZXctPmRlbGV0ZUJhY2tpbmdTdG9yZSgpOwogICAgICAgICAgICAgICAgIGNv
cmVGcmFtZS0+cGFnZSgpLT50aGVtZSgpLT50aGVtZUNoYW5nZWQoKTsKLSAgICAgICAgICAgICAg
ICBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+dGhlbWVDaGFuZ2VkKCk7CisgICAgICAg
ICAgICAgICAgU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnRoZW1lQ2hhbmdlZCgpOwogICAgICAg
ICAgICAgICAgIFJFQ1Qgd2luZG93UmVjdDsKICAgICAgICAgICAgICAgICA6OkdldENsaWVudFJl
Y3QoaFduZCwgJndpbmRvd1JlY3QpOwogICAgICAgICAgICAgICAgIDo6SW52YWxpZGF0ZVJlY3Qo
aFduZCwgJndpbmRvd1JlY3QsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3ZDhhNDNhOGU4MzkwYTBh
ZGU5NTlmYzY0OWEzNTkyNWYyNGUyOTM2Li43OWU2Mzg4YTU2OTMyNmY3MzBiMzgyMGU2YTI0OWI3
NmNmMjE1YmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAtMTEgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBjdXN0b20g
c2Nyb2xsYmFyIHRoZW1lIGZvciB1c2UgaW4gRFJULCB0byByZWR1Y2UgcGl4ZWwgZGlmZnMgYmV0
d2VlbiBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4MTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkgcmVuYW1lZCB0byB0aGVtZSgpLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UGFnZU92ZXJsYXk6OmJvdW5kcyk6CisKIDIwMTEtMTAtMTEgIEFsZXhleSBQcm9z
a3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgRW1iZWRkaW5nIG9mIFBERidzIHdp
dGggPG9iamVjdD4gb3IgPGVtYmVkPiBmYWlscyB3aGVuIHRoZXJlIGlzIG5vIE1JTUUgdHlwZSBz
cGVjaWZpZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViUG9w
dXBNZW51UHJveHlXaW4uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1
cE1lbnVQcm94eVdpbi5jcHAKaW5kZXggYThkODA2MzBhY2RlYjY0M2NlZTI3NGIwOTEyOWU5OWUz
ZjNhZWMwNi4uYjEyMjRmYmEwODM4NjY1NmEyZDU2N2ZmMTNkYjQyOTYzZjVkMTI4OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdp
bi5jcHAKQEAgLTM4Miw3ICszODIsNyBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5V2luOjpjYWxj
dWxhdGVQb3NpdGlvbkFuZFNpemUoY29uc3QgSW50UmVjdCYgcmVjdCkKIAogICAgIGlmIChuYXR1
cmFsSGVpZ2h0ID4gbWF4UG9wdXBIZWlnaHQpIHsKICAgICAgICAgLy8gV2UgbmVlZCByb29tIGZv
ciBhIHNjcm9sbGJhcgotICAgICAgICBwb3B1cFdpZHRoICs9IFNjcm9sbGJhclRoZW1lOjpuYXRp
dmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoU21hbGxTY3JvbGxiYXIpOworICAgICAgICBw
b3B1cFdpZHRoICs9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3Mo
U21hbGxTY3JvbGxiYXIpOwogICAgIH0KIAogICAgIHBvcHVwSGVpZ2h0ICs9IDIgKiBwb3B1cFdp
bmRvd0JvcmRlcldpZHRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BERi9CdWlsdEluUERGVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUERGL0J1aWx0SW5QREZWaWV3LmNwcAppbmRleCBhYzJiNzA1MDc2NGRkYmUwNTgx
ZTMwNTljZTg4Y2FiNDRlOWM5MGEyLi41OWZmYzUyM2NmMTVlZmZmZTRlM2Y4YzVhOGNlZGYzZWI2
MDE3YzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERG
L0J1aWx0SW5QREZWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvUERGL0J1aWx0SW5QREZWaWV3LmNwcApAQCAtMzAwLDcgKzMwMCw3IEBAIHZvaWQgQnVpbHRJ
blBERlZpZXc6OnBhaW50Q29udHJvbHMoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQs
IGNvbnN0IEludFJlCiAgICAgICAgIG1fdmVydGljYWxTY3JvbGxiYXItPnBhaW50KGdyYXBoaWNz
Q29udGV4dCwgZGlydHlSZWN0KTsKIAogICAgIEludFJlY3QgZGlydHlDb3JuZXJSZWN0ID0gaW50
ZXJzZWN0aW9uKHNjcm9sbENvcm5lclJlY3QoKSwgZGlydHlSZWN0KTsKLSAgICBTY3JvbGxiYXJU
aGVtZTo6bmF0aXZlVGhlbWUoKS0+cGFpbnRTY3JvbGxDb3JuZXIoMCwgZ3JhcGhpY3NDb250ZXh0
LCBkaXJ0eUNvcm5lclJlY3QpOworICAgIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLT5wYWludFNj
cm9sbENvcm5lcigwLCBncmFwaGljc0NvbnRleHQsIGRpcnR5Q29ybmVyUmVjdCk7CiB9CiAKIHZv
aWQgQnVpbHRJblBERlZpZXc6OnVwZGF0ZUNvbnRyb2xUaW50cyhHcmFwaGljc0NvbnRleHQqIGdy
YXBoaWNzQ29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UGFnZU92ZXJsYXkuY3BwCmluZGV4IGEwZmE3ZjBjNDNjYWVmMmFlMzVjMjc3Y2NiOGRlMmFhMGEy
ZjllYmYuLmFhMzJiNmEwOTU1MmY5MTk2ZGNiODY5YTBjMjlkNjgyMjY3NTI2MjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAt
NjgsNyArNjgsNyBAQCBJbnRSZWN0IFBhZ2VPdmVybGF5Ojpib3VuZHMoKSBjb25zdAogICAgIGlu
dCB3aWR0aCA9IGZyYW1lVmlldy0+d2lkdGgoKTsKICAgICBpbnQgaGVpZ2h0ID0gZnJhbWVWaWV3
LT5oZWlnaHQoKTsKIAotICAgIGlmICghU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnVz
ZXNPdmVybGF5U2Nyb2xsYmFycygpKSB7CisgICAgaWYgKCFTY3JvbGxiYXJUaGVtZTo6dGhlbWUo
KS0+dXNlc092ZXJsYXlTY3JvbGxiYXJzKCkpIHsKICAgICAgICAgaWYgKGZyYW1lVmlldy0+dmVy
dGljYWxTY3JvbGxiYXIoKSkKICAgICAgICAgICAgIHdpZHRoIC09IGZyYW1lVmlldy0+dmVydGlj
YWxTY3JvbGxiYXIoKS0+d2lkdGgoKTsKICAgICAgICAgaWYgKGZyYW1lVmlldy0+aG9yaXpvbnRh
bFNjcm9sbGJhcigpKQo=
</data>
<flag name="review"
          id="108156"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>