<?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>167201</bug_id>
          
          <creation_ts>2017-01-19 08:57:30 -0800</creation_ts>
          <short_desc>Add Link Preload as an off-by-default experimental feature menu item.</short_desc>
          <delta_ts>2017-01-28 14:55:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yoav Weiss">yoav</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>joepeck</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1268103</commentid>
    <comment_count>0</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-19 08:57:30 -0800</bug_when>
    <thetext>Add Link Preload as an off-by-default experimental feature menu item.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268104</commentid>
    <comment_count>1</comment_count>
      <attachid>299245</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-19 08:58:27 -0800</bug_when>
    <thetext>Created attachment 299245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269367</commentid>
    <comment_count>2</comment_count>
      <attachid>299584</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-24 01:24:09 -0800</bug_when>
    <thetext>Created attachment 299584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269372</commentid>
    <comment_count>3</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-24 01:27:32 -0800</bug_when>
    <thetext>Rebased. PTAL?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269777</commentid>
    <comment_count>4</comment_count>
      <attachid>299690</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-25 04:47:57 -0800</bug_when>
    <thetext>Created attachment 299690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269943</commentid>
    <comment_count>5</comment_count>
      <attachid>299690</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-25 13:42:28 -0800</bug_when>
    <thetext>Comment on attachment 299690
Patch

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

Neat!

r- only because I think there is some additional cleanup you should do when switching to an experimental feature.

1. Remove the legacy way to enable the feature for tests (since test runners will auto-enable it now!)

    Source/WebCore/testing/InternalSettings.cpp
    187:    RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(m_linkPreloadEnabled);
    674:void InternalSettings::setLinkPreloadEnabled(bool enabled)
    676:    RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(enabled);

    Source/WebCore/testing/InternalSettings.h
    113:    static void setLinkPreloadEnabled(bool);
    191:        bool m_linkPreloadEnabled;

    Source/WebCore/testing/InternalSettings.idl
    86:    void setLinkPreloadEnabled(boolean enabled);

2. Remove uses of `internal.settings.setLinkPreloadEnabled` in tests:

    http/tests/fetch/redirectmode-and-preload.html
    http/tests/preload/delaying_onload_link_preload_after_discovery.html
    http/tests/preload/delaying_onload_link_preload_after_discovery_image.html
    http/tests/preload/download_resources.html
    http/tests/preload/download_resources_from_header_iframe.html
    http/tests/preload/download_resources_from_invalid_headers.html
    http/tests/preload/dynamic_adding_preload.html
    http/tests/preload/dynamic_remove_preload_href.html
    http/tests/preload/not_delaying_window_onload_before_discovery.html
    http/tests/preload/onerror_event.html
    http/tests/preload/onload_event.html
    http/tests/preload/resources/download_resources_from_header.php
    http/tests/preload/resources/invalid_resources_from_header.php
    http/tests/preload/single_download_preload_runner.html
    http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html
    http/tests/security/cached-cross-origin-preloading-css-stylesheet.html

Some tests might need updates based on line numbers once you simplify.

3. Add to the experimental features test page a way to quick test the experimental features menu (can be tested in MiniBrowser).

    Websites/webkit.org/experimental-features.html

Hopefully there is a way to feature check this. Maybe checking for the attribute being null instead of undefined.

&gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:172
&gt; +- (void)setLinkPreloadEnabled:(BOOL)flag;
&gt; +- (BOOL)linkPreloadEnabled;

At the bottom we have been just using @property syntax. For example:

    @property (nonatomic) BOOL intersectionObserverEnabled;

&gt; Source/WebKit/mac/WebView/WebView.mm:2901
&gt; +    RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled([preferences linkPreloadEnabled]);

This could be moved to dot syntax:

    preferences.linkPreloadEnabled</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270181</commentid>
    <comment_count>6</comment_count>
      <attachid>299802</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-26 05:18:24 -0800</bug_when>
    <thetext>Created attachment 299802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270182</commentid>
    <comment_count>7</comment_count>
      <attachid>299803</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-26 05:25:51 -0800</bug_when>
    <thetext>Created attachment 299803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270183</commentid>
    <comment_count>8</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-26 05:26:40 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 299690 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=299690&amp;action=review
&gt; 
&gt; Neat!

Thanks! :)

&gt; 
&gt; r- only because I think there is some additional cleanup you should do when
&gt; switching to an experimental feature.
&gt; 
&gt; 1. Remove the legacy way to enable the feature for tests (since test runners
&gt; will auto-enable it now!)
&gt; 
&gt;     Source/WebCore/testing/InternalSettings.cpp
&gt;     187:   
&gt; RuntimeEnabledFeatures::sharedFeatures().
&gt; setLinkPreloadEnabled(m_linkPreloadEnabled);
&gt;     674:void InternalSettings::setLinkPreloadEnabled(bool enabled)
&gt;     676:   
&gt; RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(enabled);
&gt; 
&gt;     Source/WebCore/testing/InternalSettings.h
&gt;     113:    static void setLinkPreloadEnabled(bool);
&gt;     191:        bool m_linkPreloadEnabled;
&gt; 
&gt;     Source/WebCore/testing/InternalSettings.idl
&gt;     86:    void setLinkPreloadEnabled(boolean enabled);

Removed

&gt; 
&gt; 2. Remove uses of `internal.settings.setLinkPreloadEnabled` in tests:
&gt; 
&gt;     http/tests/fetch/redirectmode-and-preload.html
&gt;     http/tests/preload/delaying_onload_link_preload_after_discovery.html
&gt;    
&gt; http/tests/preload/delaying_onload_link_preload_after_discovery_image.html
&gt;     http/tests/preload/download_resources.html
&gt;     http/tests/preload/download_resources_from_header_iframe.html
&gt;     http/tests/preload/download_resources_from_invalid_headers.html
&gt;     http/tests/preload/dynamic_adding_preload.html
&gt;     http/tests/preload/dynamic_remove_preload_href.html
&gt;     http/tests/preload/not_delaying_window_onload_before_discovery.html
&gt;     http/tests/preload/onerror_event.html
&gt;     http/tests/preload/onload_event.html
&gt;     http/tests/preload/resources/download_resources_from_header.php
&gt;     http/tests/preload/resources/invalid_resources_from_header.php
&gt;     http/tests/preload/single_download_preload_runner.html
&gt;     http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html
&gt;     http/tests/security/cached-cross-origin-preloading-css-stylesheet.html
&gt; 

Removed

&gt; Some tests might need updates based on line numbers once you simplify.
&gt; 

Updated

&gt; 3. Add to the experimental features test page a way to quick test the
&gt; experimental features menu (can be tested in MiniBrowser).
&gt; 
&gt;     Websites/webkit.org/experimental-features.html

Added

&gt; 
&gt; Hopefully there is a way to feature check this. Maybe checking for the
&gt; attribute being null instead of undefined.

Of course there&apos;s a way to feature detect :) 
(Forcing new features through this demo page is a great way to make sure of that. I really like that)

&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:172
&gt; &gt; +- (void)setLinkPreloadEnabled:(BOOL)flag;
&gt; &gt; +- (BOOL)linkPreloadEnabled;
&gt; 
&gt; At the bottom we have been just using @property syntax. For example:
&gt; 
&gt;     @property (nonatomic) BOOL intersectionObserverEnabled;

Changed

&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebView.mm:2901
&gt; &gt; +    RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled([preferences linkPreloadEnabled]);
&gt; 
&gt; This could be moved to dot syntax:
&gt; 
&gt;     preferences.linkPreloadEnabled

Moved</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270244</commentid>
    <comment_count>9</comment_count>
      <attachid>299803</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-26 11:09:52 -0800</bug_when>
    <thetext>Comment on attachment 299803
Patch

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

Looks good to me. I&apos;ll let someone actually familiar with the feature review =)

&gt; Source/WebKit2/Shared/WebPreferencesDefinitions.h:322
&gt; +    macro(LinkPreloadEnabled, linkPreloadEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, &quot;Link Preload&quot;, &quot;Link preload support&quot;) \

The comment above says this should be alphabetically ordered. &quot;[L]ink Preload&quot; should go between &quot;[G]amepads&quot; and &quot;[M]odern Media Controls&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270269</commentid>
    <comment_count>10</comment_count>
      <attachid>299803</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-26 11:48:20 -0800</bug_when>
    <thetext>Comment on attachment 299803
Patch

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

&gt; Websites/webkit.org/experimental-features.html:148
&gt; +        &lt;div class=&quot;test&quot; id=&quot;LinkPreload&quot;&gt;&lt;p&gt;Link Preload&lt;/p&gt;&lt;/div&gt;

I think we should be alphabetically sorted in here too, to match the menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270277</commentid>
    <comment_count>11</comment_count>
      <attachid>299831</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-26 12:04:24 -0800</bug_when>
    <thetext>Created attachment 299831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270281</commentid>
    <comment_count>12</comment_count>
      <attachid>299832</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-26 12:08:29 -0800</bug_when>
    <thetext>Created attachment 299832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270282</commentid>
    <comment_count>13</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-26 12:09:26 -0800</bug_when>
    <thetext>Thanks! Reordered both</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270974</commentid>
    <comment_count>14</comment_count>
      <attachid>299832</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-28 04:43:59 -0800</bug_when>
    <thetext>Comment on attachment 299832
Patch

Rejecting attachment 299832 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 299832, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
ing file LayoutTests/http/tests/preload/single_download_preload-expected.txt
patching file LayoutTests/http/tests/preload/single_download_preload.html
patching file LayoutTests/http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html
patching file LayoutTests/http/tests/security/cached-cross-origin-preloading-css-stylesheet.html

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Ryosuke Niwa&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/2963454</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271010</commentid>
    <comment_count>15</comment_count>
      <attachid>300040</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-28 09:50:44 -0800</bug_when>
    <thetext>Created attachment 300040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271011</commentid>
    <comment_count>16</comment_count>
      <attachid>300040</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-28 09:56:59 -0800</bug_when>
    <thetext>Comment on attachment 300040
Patch

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

I see you have r? on this but I believe an earlier patch was reviewed already. I think you&apos;re just letting the buts run on it

&gt; Tools/DumpRenderTree/mac/DumpRenderTree.mm:1014
&gt; +    [preferences setLinkPreloadEnabled:YES];

This should go up around line 900 in `static void enableExperimentalFeatures` with other experimental features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271012</commentid>
    <comment_count>17</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-28 09:57:25 -0800</bug_when>
    <thetext>&gt; I think you&apos;re just letting the buts run on it

bots*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271014</commentid>
    <comment_count>18</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-28 10:07:24 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Comment on attachment 300040 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=300040&amp;action=review
&gt; 
&gt; I see you have r? on this but I believe an earlier patch was reviewed
&gt; already. I think you&apos;re just letting the buts run on it

Yeah, forgot to turn off the r?...

&gt; 
&gt; &gt; Tools/DumpRenderTree/mac/DumpRenderTree.mm:1014
&gt; &gt; +    [preferences setLinkPreloadEnabled:YES];
&gt; 
&gt; This should go up around line 900 in `static void
&gt; enableExperimentalFeatures` with other experimental features.

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271023</commentid>
    <comment_count>19</comment_count>
      <attachid>300044</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-01-28 10:46:15 -0800</bug_when>
    <thetext>Created attachment 300044
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271059</commentid>
    <comment_count>20</comment_count>
      <attachid>300044</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-28 14:55:16 -0800</bug_when>
    <thetext>Comment on attachment 300044
Patch

Clearing flags on attachment: 300044

Committed r211341: &lt;http://trac.webkit.org/changeset/211341&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271060</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-28 14:55:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299245</attachid>
            <date>2017-01-19 08:58:27 -0800</date>
            <delta_ts>2017-01-24 01:24:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167201-20170119175634.patch</filename>
            <type>text/plain</type>
            <size>14486</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZGJiMGEyZTg1
NGVhZDJjZThlYTM5Mzk0ZjFiMTgyY2Q3MGYyYzRkNy4uZGYyMGNhZDc2MzRkOTJjOWY5OWI3MTg0
N2IwMGRjMDY2ZGQ2OWQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3
LTAxLTE5ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFBy
ZWxvYWQgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVt
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAg
ICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgbGlua1ByZWxvYWRFbmFibGVkXSk6CisgICAgICAgICgt
W1dlYlByZWZlcmVuY2VzIHNldExpbmtQcmVsb2FkRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE3LTAx
LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBw
b2ludGVyTG9ja0VsZW1lbnQgZnJvbSBET01Eb2N1bWVudFByaXZhdGUuaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CmluZGV4IDZkMGE3MzBjMzExM2UyYTU2MDdjYmUzMDIyZGQ2ZDNiZjNlZTA5NGYuLjM2NTVkNDQw
MjY4YTdiZjk3YzhiMDQ1OGM5NjdiNGViZGFjMTlhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNy0wMS0xOSAgWW9hdiBXZWlzcyAgPHlvYXZAeW9hdi53cz4KKworICAg
ICAgICBBZGQgTGluayBQcmVsb2FkIGFzIGFuIG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBm
ZWF0dXJlIG1lbnUgaXRlbS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2NzIwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJl
ZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0
U2V0dGluZ3MpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnZhbHVlRm9yS2V5KToKKyAgICAg
ICAgKFdlYlByZWZlcmVuY2VzOjpzZXRMaW5rUHJlbG9hZEVuYWJsZWQpOgorICAgICAgICAoV2Vi
UHJlZmVyZW5jZXM6OmxpbmtQcmVsb2FkRW5hYmxlZCk6CisgICAgICAgICogV2ViUHJlZmVyZW5j
ZXMuaDoKKwogMjAxNy0wMS0wNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVtb3ZlIFBhc3NSZWZQdHIgdXNlIGZyb20gImluc3BlY3RvciIsICJwbGF0Zm9ybS9z
cWwiLCBhbmQgInBsYXRmb3JtL3RleHQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTAzZTc3OTE4NmFmODQ1YWFk
ZTliMzE1MTJhOWM5NWFlNzAxYTMzNS4uN2EzZDdmNTYwZDIxZTRmNzMzY2U3OTQ3NmNlZWU5YjA2
ZTM5YjI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAxLTE5ICBZb2F2IFdl
aXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4gb2Zm
LWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5j
ZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRMaW5rUHJlbG9hZEVuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZCk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRh
dGVQcmVmZXJlbmNlcyk6CisKIDIwMTctMDEtMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgS2V5Ym9hcmRFdmVu
dC5jb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAppbmRleCA2ODU5MWZiNDFkN2IyNDlmMDNlNzljMTYxMzRiMGZkZmMzZDI1
ODIwLi4yMDFiZWJmNDE1NTBjMThiOGJkMDMxMzhhODg4MDZhOTMzZDIwMzUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgK
QEAgLTE3NSw2ICsxNzUsNyBAQAogI2RlZmluZSBXZWJLaXRTdWJ0bGVDcnlwdG9FbmFibGVkUHJl
ZmVyZW5jZUtleSBAIldlYktpdFN1YnRsZUNyeXB0b0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1l
ZGlhU3RyZWFtRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVN0cmVhbUVuYWJsZWQi
CiAjZGVmaW5lIFdlYktpdFBlZXJDb25uZWN0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQiCisjZGVmaW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCiAKICNpZiAhVEFSR0VU
X09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hv
dWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggOGNlOTlkNzgzMGEwNDI4
ZTE4ODQ0YTkwMDAzMjU4ZDFlZDRlZjM2ZS4uYzNlZTJjMDY1ZDVlNWU0NmY0NzQ3MTZhOWQ2MjAz
ZjY2NTFkZTUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tCkBAIC02NDgsNiArNjQ4LDcgQEAgcHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aEJvb2w6Tk9dLCBXZWJLaXRQZWVyQ29ubmVjdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5LAog
I2VuZGlmCiAKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgV2ViS2l0TGlu
a1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgbmlsXTsKIAogI2lmICFQTEFU
Rk9STShJT1MpCkBAIC0yNzMxLDYgKzI3MzIsMTYgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lC
Q3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2Vi
S2l0UGVlckNvbm5lY3Rpb25FbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpbGlu
a1ByZWxvYWRFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2Vi
S2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0TGlu
a1ByZWxvYWRFbmFibGVkOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZs
YWcgZm9yS2V5OldlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCiAt
ICh2b2lkKXNldE1ldGFSZWZyZXNoRW5hYmxlZDooQk9PTCllbmFibGVkCiB7CiAgICAgW3NlbGYg
c2V0SFRUUEVxdWl2RW5hYmxlZDplbmFibGVkXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDQ1ZDhlZmVlYmUzMmFiMDU4ZGEw
ZWE4YTRiODI3YmMwYmE1MmU2Y2QuLjExMzljZjVkMTZkMmU4M2Y2OGRiOTc0MjY4MTdiM2JjNjk3
YjJiNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaApAQCAtMTY4LDYgKzE2OCw5IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVy
ZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwogLSAodm9pZClzZXRQ
ZWVyQ29ubmVjdGlvbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpcGVlckNvbm5lY3Rpb25F
bmFibGVkOwogCistICh2b2lkKXNldExpbmtQcmVsb2FkRW5hYmxlZDooQk9PTClmbGFnOworLSAo
Qk9PTClsaW5rUHJlbG9hZEVuYWJsZWQ7CisKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gemVy
byBtZWFucyBkbyBBdXRvU2NhbGUKIC0gKGZsb2F0KVBERlNjYWxlRmFjdG9yOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDBjNWZkYTAxZjA4YTkwNWQxNmM5M2M0YjczODJi
NjQyZDgyZWY1YWEuLjlhZTAyNWMzOTAyNDAwYzJlOTAzMWJlNWEwYWQ0OWExOGE0ZDBhZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI4NzcsNiArMjg3Nyw4IEBAIHN0
YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFN1YnRsZUNyeXB0b0VuYWJsZWQo
W3ByZWZlcmVuY2VzIHN1YnRsZUNyeXB0b0VuYWJsZWRdKTsKICNlbmRpZgogCisgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQo
W3ByZWZlcmVuY2VzIGxpbmtQcmVsb2FkRW5hYmxlZF0pOworCiAgICAgTlNUaW1lSW50ZXJ2YWwg
dGltZW91dCA9IFtwcmVmZXJlbmNlcyBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGlt
ZW91dEluU2Vjb25kc107CiAgICAgaWYgKHRpbWVvdXQgPiAwKQogICAgICAgICBzZXR0aW5ncy5z
ZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyh0aW1lb3V0
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXgg
YjZlOTZlYjEzZGJkZGEzNTJlZDBjMDEwNDQ3YjY5NDM4NjVkODcyNi4uY2Q2MzM1MWZjZTVkMjQ1
NTQ2NjQ2OGJlZGNhOWY5Y2ZiMmVkZDlhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTE3NywzICsxNzcsNSBAQAogI2RlZmluZSBXZWJLaXRD
dXN0b21FbGVtZW50c0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRDdXN0b21FbGVtZW50c0Vu
YWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWRQcmVmZXJl
bmNlS2V5ICJXZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIKKworI2RlZmluZSBXZWJL
aXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJs
ZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggNTc3Mzc1NzQ5MWU2NzE3
MWY3ZDRhNDViNDU0MzU2ZGYwZGE1ODg2YS4uNDMxNzY4ZDM5MjU3MWIwNmYwMGI1ZTg2NTE0NTcw
ZjNlMzEwYTg0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcApAQCAtMzA0LDYg
KzMwNCw4IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2V0dGluZ3Mo
KQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEN1c3Rv
bUVsZW1lbnRzRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCisgICAg
Q0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdExpbmtQcmVsb2FkRW5h
YmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAgZGVmYXVsdFNldHRp
bmdzID0gZGVmYXVsdHM7CiB9CiAKQEAgLTMxNiw3ICszMTgsNyBAQCBSZXRhaW5QdHI8Q0ZQcm9w
ZXJ0eUxpc3RSZWY+IFdlYlByZWZlcmVuY2VzOjp2YWx1ZUZvcktleShDRlN0cmluZ1JlZiBrZXkp
CiAgICAgdmFsdWUgPSBhZG9wdENGKENGUHJlZmVyZW5jZXNDb3B5QXBwVmFsdWUoa2V5LCBhcHBs
aWNhdGlvbklkKCkpKTsKICAgICBpZiAodmFsdWUpCiAgICAgICAgIHJldHVybiB2YWx1ZTsKLQor
bmsKICAgICByZXR1cm4gQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoZGVmYXVsdFNldHRpbmdzLCBrZXkp
OwogfQogCkBAIC0yMDAzLDYgKzIwMDUsMjAgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6bW9k
ZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKICAgICByZXR1cm4g
U19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0TGlua1ByZWxvYWRFbmFibGVk
KEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0TGlua1ByZWxvYWRFbmFi
bGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNV
TFQgV2ViUHJlZmVyZW5jZXM6OmxpbmtQcmVsb2FkRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVk
KQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAq
ZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJl
bmNlS2V5KTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6
c2V0QXBwbGljYXRpb25JZChCU1RSIGFwcGxpY2F0aW9uSWQpCiB7CiAgICAgbV9hcHBsaWNhdGlv
bklkID0gU3RyaW5nKGFwcGxpY2F0aW9uSWQpLmNyZWF0ZUNGU3RyaW5nKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZXMuaAppbmRleCA0MjFmZjkyMzI3ODUwNzFlYWNhNjc1MWQwMjZkNzQ4NjIy
NjZhNjJkLi5hYzA0Nzc1NDc3ZGQ1MjQyNDFmOTFmYjU1NzAwOTQ1YzNmZTBjNzQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYlByZWZlcmVuY2VzLmgKQEAgLTI0Miw2ICsyNDIsOCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldEN1c3RvbUVsZW1lbnRzRW5hYmxl
ZChCT09MKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbW9kZXJuTWVk
aWFDb250cm9sc0VuYWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZChCT09MKTsKKyAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbGlua1ByZWxvYWRFbmFibGVkKF9PdXRf
IEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0TGlua1By
ZWxvYWRFbmFibGVkKEJPT0wpOwogCiAgICAgLy8gSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTQKICAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QXBwbGljYXRpb25JZChCU1RS
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmlu
aXRpb25zLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9u
cy5oCmluZGV4IDI0MjYyNDYwNGU1NDQ3OGRiYTYzYmRiYmQzOThmNTc4YjRhYTY5NTYuLjM3MGEy
ZDhkMmZlNjViZGI3YWNhODE1ZDJlNmU5OWYzZWViYWZhMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaApAQCAtMzIwLDYgKzMyMCw3
IEBACiAgICAgbWFjcm8oSW5wdXRFdmVudHNFbmFibGVkLCBpbnB1dEV2ZW50c0VuYWJsZWQsIEJv
b2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJJbnB1dCBF
dmVudHMiLCAiRW5hYmxlIElucHV0RXZlbnRzIHN1cHBvcnQiKSBcCiAgICAgbWFjcm8oU3VidGxl
Q3J5cHRvRW5hYmxlZCwgc3VidGxlQ3J5cHRvRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9F
WFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIlN1YnRsZUNyeXB0byIsICJFbmFibGUgU3Vi
dGxlQ3J5cHRvIHN1cHBvcnQiKSBcCiAgICAgbWFjcm8oV2ViR0wyRW5hYmxlZCwgd2ViR0wyRW5h
YmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwg
IldlYkdMIDIuMCIsICJXZWJHTCAyIHByb3RvdHlwZSIpIFwKKyAgICBtYWNybyhMaW5rUHJlbG9h
ZEVuYWJsZWQsIGxpbmtQcmVsb2FkRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklN
RU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIkxpbmsgUHJlbG9hZCIsICJMaW5rIHByZWxvYWQgc3Vw
cG9ydCIpIFwKICAgICBcCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCBlZDNhNmVhZDdhMzM4
ZGY2NmRkZjZmZGJhMWE4MjkwNzc0MGQxMzE3Li5iMjNhOTZjYTVjZmRkYzY4NTYyOGNmNmVkYTUx
YWU5YTZkYTA0OTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuY3BwCkBAIC0xNjIxLDYgKzE2MjEsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0U3VidGxlQ3J5cHRvRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQog
ICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zdWJ0bGVDcnlwdG9FbmFibGVkKCk7
CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldExpbmtQcmVsb2FkRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVu
Y2VzUmVmKS0+c2V0TGlua1ByZWxvYWRFbmFibGVkKGZsYWcpOworfQorCitib29sIFdLUHJlZmVy
ZW5jZXNHZXRMaW5rUHJlbG9hZEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+bGlua1ByZWxvYWRFbmFi
bGVkKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZFN1cHByZXNzS2V5Ym9hcmRJ
bnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0U2hv
dWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5nUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKGZsYWcp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNSZWZQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaAppbmRleCBjMDRlNDU4ZDI3YzM4NjBiYTFlN2Q1MDRhMTU4MWYwNzM0
NWExMGQ5Li5mMmI2MGY4OTBhYWQxYzg1NjNmMThmZDZmOWY3MzA0MGFkZWQ0NWZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1Jl
ZlByaXZhdGUuaApAQCAtNDUzLDYgKzQ1MywxMSBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0U3VidGxlQ3J5cHRvRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIFdLX0VYUE9SVCB2
b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGRTdXBwcmVzc0tleWJvYXJkSW5wdXREdXJpbmdQcm92
aXNpb25hbE5hdmlnYXRpb24oV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGRTdXBwcmVzc0tleWJvYXJkSW5wdXREdXJpbmdQ
cm92aXNpb25hbE5hdmlnYXRpb24oV0tQcmVmZXJlbmNlc1JlZik7CiAKKy8vIERlZmF1bHRzIHRv
IGZhbHNlLgorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldExpbmtQcmVsb2FkRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJl
bmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKKworCiAjaWZkZWYg
X19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IGI3MmNiMzVkMGFiYTFlZjk3YTg0NDZiNDY4OTM2YmFkZGNk
OWZiZDguLmNlNjEzNTM0MDY5ZjFkMTEyZTQ5NWZlZTAyZWM5MTU3ZDA0NDBjYjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMxOTIsOCAr
MzE5MiwxMCBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZl
cmVuY2VzU3RvcmUmIHN0b3JlKQogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRET01JdGVyYXRvckVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5Ojpkb21JdGVyYXRvckVuYWJsZWRLZXkoKSkpOwogCisKICAgICAv
LyBFeHBlcmltZW50YWwgRmVhdHVyZXMuCiAKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxpbmtQcmVsb2FkRW5hYmxlZEtleSgpKSk7CiAjaWYg
RU5BQkxFKENTU19HUklEX0xBWU9VVCkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldENTU0dyaWRMYXlvdXRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6Y3NzR3JpZExheW91dEVuYWJsZWRLZXkoKSkpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
MTJmODUwMTBhYWJjZGM2ZTEzZTQ1ZjMyODhhNzIxNWFjMDg4MmViNy4uMTQ3Y2MxN2ZmNTMyY2U3
NGFhNzU3NWViNmRiYWYzZDg3YzgxZmZkMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAxLTE5ICBZb2F2IFdl
aXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4gb2Zm
LWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0
ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUu
Y3BwOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisK
IDIwMTctMDEtMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQg
dGhlIGFiaWxpdHkgdG8gZmlsdGVyIHRoZSBzZXQgb2YgYmluZGluZ3MgdGVzdHMgeW91IHdhbnQg
dG8gcnVuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXgg
MThiYzc4NDhjODRhN2QzMDZlNmE1ODdkODk5ODI5ZDllZWE2MTdjYy4uODYyODQyNjZmOTZkNTNj
M2YyMTliYWRlY2U2NzkzMTkzMWYyZjA5YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9E
dW1wUmVuZGVyVHJlZS5tbQpAQCAtMTAwMyw2ICsxMDAzLDcgQEAgc3RhdGljIHZvaWQgcmVzZXRX
ZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9u
cykKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYVN0cmVhbUVuYWJsZWQ6WUVTXTsKICAgICBb
cHJlZmVyZW5jZXMgc2V0UGVlckNvbm5lY3Rpb25FbmFibGVkOllFU107CisgICAgW3ByZWZlcmVu
Y2VzIHNldExpbmtQcmVsb2FkRW5hYmxlZDpZRVNdOwogCiAgICAgW1dlYlByZWZlcmVuY2VzIF9j
bGVhck5ldHdvcmtMb2FkZXJTZXNzaW9uXTsKICAgICBbV2ViUHJlZmVyZW5jZXMgX3NldEN1cnJl
bnROZXR3b3JrTG9hZGVyU2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBDb29raWVBY2Nl
cHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbl07CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCAzODAyNmUyMTUyNWEzZGI3NjkxMDk5YWE3
NWUwZWEwZTc5MDQ0YTk5Li42NzY5NzgzZmYwZGQ0MDI0YzlhYWIyNDkyODJhNDEzNzk4YmQyNzcy
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTg1
OCw2ICs4NTgsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50
VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAKICAgICBwcmVmc1ByaXZhdGUz
LT5zZXRET01JdGVyYXRvckVuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlMy0+c2V0TW9k
ZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoRkFMU0UpOworICAgIHByZWZzUHJpdmF0ZTMtPnNldExp
bmtQcmVsb2FkRW5hYmxlZChUUlVFKTsKIAogICAgIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFs
c2UpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299584</attachid>
            <date>2017-01-24 01:24:09 -0800</date>
            <delta_ts>2017-01-25 04:47:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167201-20170124102209.patch</filename>
            <type>text/plain</type>
            <size>14198</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggY2Y2OTFjMTJk
YTAwMDUwMWRiNjY3NmEwOGJlOTI3NTcyYzlkMjZkOS4uMDVhYWQ3YWNmODgwM2Q2NGUwZGU2Njc4
OTNkNDJhMDc1ODQzNGVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3
LTAxLTI0ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFBy
ZWxvYWQgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVt
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAg
ICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgbGlua1ByZWxvYWRFbmFibGVkXSk6CisgICAgICAgICgt
W1dlYlByZWZlcmVuY2VzIHNldExpbmtQcmVsb2FkRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE3LTAx
LTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lP
TiAocjIxMTAzMyk6IEFTU0VSVElPTiBGQUlMRUQ6IG1fcHRyIGluIGNvbS5hcHBsZS5XZWJDb3Jl
OiBXVEY6OlJlZlB0cjxXZWJDb3JlOjpFbGVtZW50Pjo6b3BlcmF0b3IqIGNvbnN0ICsgNzAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwppbmRleCA0ZGRhNmQ0MzQ2ODg2OTk5MjIzMWZmN2RlNGMzMjQ4MTE0MTc4MTY1
Li5kYWM2MjY1NDQzMzU5NmEyMmNiNGE0MTgzMTE0ODZjZDVlZGE0MDJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTctMDEtMjQgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYu
d3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnktZGVmYXVsdCBleHBl
cmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjppbml0aWFs
aXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjp2YWx1ZUZvcktl
eSk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0TGlua1ByZWxvYWRFbmFibGVkKToKKyAg
ICAgICAgKFdlYlByZWZlcmVuY2VzOjpsaW5rUHJlbG9hZEVuYWJsZWQpOgorICAgICAgICAqIFdl
YlByZWZlcmVuY2VzLmg6CisKIDIwMTctMDEtMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjExMDMzKTogQVNTRVJUSU9OIEZBSUxFRDog
bV9wdHIgaW4gY29tLmFwcGxlLldlYkNvcmU6IFdURjo6UmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+
OjpvcGVyYXRvciogY29uc3QgKyA3MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDZhZTAzMmU3ZjQ4M2I5N2VjN2Mz
ZGRiMDgwZjg4Y2IyN2JkYTU4MmQuLjc3N2QyMzU1YjlmZWUzNzMxZTZiNzY4NzQxODQ2ZTgwNWNh
ODQ2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0wMS0yNCAgWW9hdiBXZWlz
cyAgPHlvYXZAeW9hdi53cz4KKworICAgICAgICBBZGQgTGluayBQcmVsb2FkIGFzIGFuIG9mZi1i
eS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIG1lbnUgaXRlbS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzIwMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmaW5pdGlvbnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0TGlua1ByZWxvYWRFbmFibGVkKToKKyAgICAg
ICAgKFdLUHJlZmVyZW5jZXNHZXRMaW5rUHJlbG9hZEVuYWJsZWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRl
UHJlZmVyZW5jZXMpOgorCiAyMDE3LTAxLTIzICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBNYWludGFpbiBvcmRlcmluZyB3aGVuIGRvaW5nIHNwZWN1bGF0aXZl
IGxvYWRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAppbmRleCBlNGExY2FmZTBmYjk2YmYzOGU5OTgwNzQzNWUxNmRmOTQ2ZDJj
ZGVhLi45ZDhhYzU2ZmNmOWU0YjM0ODk1YmFiMmE2Mzc5ODJmMGNiMzIxNDJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgK
QEAgLTE3NCw2ICsxNzQsNyBAQAogI2RlZmluZSBXZWJLaXRTdWJ0bGVDcnlwdG9FbmFibGVkUHJl
ZmVyZW5jZUtleSBAIldlYktpdFN1YnRsZUNyeXB0b0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1l
ZGlhU3RyZWFtRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVN0cmVhbUVuYWJsZWQi
CiAjZGVmaW5lIFdlYktpdFBlZXJDb25uZWN0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQiCisjZGVmaW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCiAKICNpZiAhVEFSR0VU
X09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hv
dWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRob2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggMmZjNjU0NzMyMDdkOGEz
YWJlZmY4YmVjMmRlZWIxOTRhYWY2YzI4MC4uNzM1ZTQzYzFhZjY5ZDExYjNjY2I4NzFiODdjNWY3
MjU3ZTQ0NTQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tCkBAIC02NDksNiArNjQ5LDcgQEAgcHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aEJvb2w6Tk9dLCBXZWJLaXRQZWVyQ29ubmVjdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5LAog
I2VuZGlmCiAKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgV2ViS2l0TGlu
a1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgbmlsXTsKIAogI2lmICFQTEFU
Rk9STShJT1MpCkBAIC0yNzMyLDYgKzI3MzMsMTYgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lC
Q3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2Vi
S2l0UGVlckNvbm5lY3Rpb25FbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpbGlu
a1ByZWxvYWRFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2Vi
S2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKHZvaWQpc2V0TGlu
a1ByZWxvYWRFbmFibGVkOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZs
YWcgZm9yS2V5OldlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCiAt
ICh2b2lkKXNldE1ldGFSZWZyZXNoRW5hYmxlZDooQk9PTCllbmFibGVkCiB7CiAgICAgW3NlbGYg
c2V0SFRUUEVxdWl2RW5hYmxlZDplbmFibGVkXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDRhOWNlZDZkNTUxNTAyZmRhNjU4
MzRhZmRjMGU1N2ZjM2UwNmY5MmQuLjY5NjEzOGQ3NjI0YTdkYTc0Y2ZkYWYzMDNjMzQyNjU2YTk2
YmU5N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaApAQCAtMTY4LDYgKzE2OCw5IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVy
ZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwogLSAodm9pZClzZXRQ
ZWVyQ29ubmVjdGlvbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpcGVlckNvbm5lY3Rpb25F
bmFibGVkOwogCistICh2b2lkKXNldExpbmtQcmVsb2FkRW5hYmxlZDooQk9PTClmbGFnOworLSAo
Qk9PTClsaW5rUHJlbG9hZEVuYWJsZWQ7CisKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gemVy
byBtZWFucyBkbyBBdXRvU2NhbGUKIC0gKGZsb2F0KVBERlNjYWxlRmFjdG9yOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDllOTk3ZWYxYzUxMzcxYWJjYWI3MzY0OWU1ODcw
ZjZmYmM0MzYyOTYuLjY5YzhjYjIyYTA5NDI0ZmQ3OGVmOGUxY2NhN2UxZTQ1MGQ2ZTcwMzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI4OTgsNiArMjg5OCw4IEBAIHN0
YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFN1YnRsZUNyeXB0b0VuYWJsZWQo
W3ByZWZlcmVuY2VzIHN1YnRsZUNyeXB0b0VuYWJsZWRdKTsKICNlbmRpZgogCisgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQo
W3ByZWZlcmVuY2VzIGxpbmtQcmVsb2FkRW5hYmxlZF0pOworCiAgICAgTlNUaW1lSW50ZXJ2YWwg
dGltZW91dCA9IFtwcmVmZXJlbmNlcyBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGlt
ZW91dEluU2Vjb25kc107CiAgICAgaWYgKHRpbWVvdXQgPiAwKQogICAgICAgICBzZXR0aW5ncy5z
ZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyh0aW1lb3V0
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXgg
NThiYjg4MTBkYjYyZGI1NDA0YzBlNjEyZTk0YzExNDA3MmFhMWZjMC4uYWY5NzIwNmU4NzYxMmJm
NjUzOTNjYzZkNmVjNWQ3YzBiMjM4OWE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTE3NywzICsxNzcsNSBAQAogI2RlZmluZSBXZWJLaXRN
b2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdE1vZGVybk1lZGlh
Q29udHJvbHNFbmFibGVkIgogCiAjZGVmaW5lIFdlYktpdFdlYkFuaW1hdGlvbnNFbmFibGVkUHJl
ZmVyZW5jZUtleSAiV2ViS2l0V2ViQW5pbWF0aW9uc0VuYWJsZWQiCisKKyNkZWZpbmUgV2ViS2l0
TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVk
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291
cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IGU2NTMxMjhiZjMzNDg5ZmE3
M2Y4NDc5N2UyNDkxYjVmMGE5YjBiMjIuLmU4MjJkYjg3NTJlMWRhMDk5ZWIxZDRmNGVmNjRmM2Fk
Nzk1NWJhNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTMwNiw2ICsz
MDYsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkK
IAogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRXZWJBbmlt
YXRpb25zRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCisgICAgQ0ZE
aWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdExpbmtQcmVsb2FkRW5hYmxl
ZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAgZGVmYXVsdFNldHRpbmdz
ID0gZGVmYXVsdHM7CiB9CiAKQEAgLTE5OTEsNiArMTk5MywyMCBAQCBIUkVTVUxUIFdlYlByZWZl
cmVuY2VzOjptb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQog
ICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRMaW5rUHJl
bG9hZEVuYWJsZWQoQk9PTCBlbmFibGVkKQoreworICAgIHNldEJvb2xWYWx1ZShXZWJLaXRMaW5r
UHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsK
K30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6bGlua1ByZWxvYWRFbmFibGVkKF9PdXRfIEJP
T0wqIGVuYWJsZWQpCit7CisgICAgaWYgKCFlbmFibGVkKQorICAgICAgICByZXR1cm4gRV9QT0lO
VEVSOworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdExpbmtQcmVsb2FkRW5h
YmxlZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVybiBTX09LOworfQorCiBIUkVTVUxUIFdlYlBy
ZWZlcmVuY2VzOjpzZXRBcHBsaWNhdGlvbklkKEJTVFIgYXBwbGljYXRpb25JZCkKIHsKICAgICBt
X2FwcGxpY2F0aW9uSWQgPSBTdHJpbmcoYXBwbGljYXRpb25JZCkuY3JlYXRlQ0ZTdHJpbmcoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmggYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGQwOTQwYWY3NDJjMmQ1NzNjNjNlZTY0
ZTBjZGY4YmNmMjMzYmY2ZmYuLmQxMGI2ZTE0MzY0YjgwMzE3MTEwNzUzZDg4NDI2MmNmYTNmNjYw
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIv
U291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaApAQCAtMjQwLDYgKzI0MCw4IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Q3VzdG9tRWxl
bWVudHNFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBtb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKEJP
T0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsaW5rUHJlbG9hZEVu
YWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBJV2ViUHJlZmVyZW5jZXNQ
cml2YXRlNAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRBcHBsaWNh
dGlvbklkKEJTVFIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzRGVmaW5pdGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmluaXRpb25zLmgKaW5kZXggZTBhNjQ4Mjg5M2EwZWVjODYxYzBiN2VkMmY5ODc1NmFkYTRi
OGQ4Ny4uOTI2MTAyMTk4YmM5NWFkYzhhM2VhNGM5NTI5YmJhOWMzZDZhZWIzOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC0z
MTksNiArMzE5LDcgQEAKICAgICBtYWNybyhTdWJ0bGVDcnlwdG9FbmFibGVkLCBzdWJ0bGVDcnlw
dG9FbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFC
TEVELCAiU3VidGxlQ3J5cHRvIiwgIkVuYWJsZSBTdWJ0bGVDcnlwdG8gc3VwcG9ydCIpIFwKICAg
ICBtYWNybyhXZWJBbmltYXRpb25zRW5hYmxlZCwgd2ViQW5pbWF0aW9uc0VuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiV2ViIEFuaW1hdGlvbnMiLCAiV2ViIEFuaW1hdGlvbnMgcHJvdG90eXBl
IikgXAogICAgIG1hY3JvKFdlYkdMMkVuYWJsZWQsIHdlYkdMMkVuYWJsZWQsIEJvb2wsIGJvb2ws
IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJXZWJHTCAyLjAiLCAiV2Vi
R0wgMiBwcm90b3R5cGUiKSBcCisgICAgbWFjcm8oTGlua1ByZWxvYWRFbmFibGVkLCBsaW5rUHJl
bG9hZEVuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VO
QUJMRUQsICJMaW5rIFByZWxvYWQiLCAiTGluayBwcmVsb2FkIHN1cHBvcnQiKSBcCiAgICAgXAog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggZWQzYTZlYWQ3YTMzOGRmNjZkZGY2ZmRiYTFhODI5
MDc3NDBkMTMxNy4uYjIzYTk2Y2E1Y2ZkZGM2ODU2MjhjZjZlZGE1MWFlOWE2ZGEwNDkxMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApA
QCAtMTYyMSw2ICsxNjIxLDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFN1YnRsZUNyeXB0b0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKICAgICByZXR1cm4gdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c3VidGxlQ3J5cHRvRW5hYmxlZCgpOwogfQogCit2b2lkIFdLUHJl
ZmVyZW5jZXNTZXRMaW5rUHJlbG9hZEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwgYm9vbCBmbGFnKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldExpbmtQ
cmVsb2FkRW5hYmxlZChmbGFnKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0TGlua1ByZWxv
YWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJu
IHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmxpbmtQcmVsb2FkRW5hYmxlZCgpOworfQorCiB2b2lk
IFdLUHJlZmVyZW5jZXNTZXRTaG91bGRTdXBwcmVzc0tleWJvYXJkSW5wdXREdXJpbmdQcm92aXNp
b25hbE5hdmlnYXRpb24oV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFn
KQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFNob3VsZFN1cHByZXNzS2V5Ym9h
cmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbihmbGFnKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgK
aW5kZXggYzA0ZTQ1OGQyN2MzODYwYmExZTdkNTA0YTE1ODFmMDczNDVhMTBkOS4uZGY0N2M5YWQz
ZjNkYzMxNmNhZjY0M2JlYTgxMTEwZTI5OTU1OTZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTQ1
Myw2ICs0NTMsMTAgQEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFN1YnRsZUNyeXB0
b0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2Vz
U2V0U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5nUHJvdmlzaW9uYWxOYXZpZ2F0aW9u
KFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5nUHJvdmlzaW9uYWxOYXZpZ2F0
aW9uKFdLUHJlZmVyZW5jZXNSZWYpOwogCisvLyBEZWZhdWx0cyB0byBmYWxzZS4KK1dLX0VYUE9S
VCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRMaW5rUHJlbG9hZEVuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRMaW5rUHJlbG9h
ZEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5k
ZXggYmZlMGQyN2JlNGU1ZjllMTlhZTkyMmViNDgxNWM2OGE3YzJlMmYyMS4uNzAzMWQwMDkyYzlj
YzFhNmE2Mjk3YjliY2Q2ZDcwODcxYmIxOGRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzIzMiw2ICszMjMyLDggQEAgdm9pZCBXZWJQ
YWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkK
IAogICAgIC8vIEV4cGVyaW1lbnRhbCBGZWF0dXJlcy4KIAorICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFibGVkKHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bGlua1ByZWxvYWRFbmFibGVkS2V5KCkp
KTsKKwogI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDU1NHcmlkTGF5b3V0RW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNzc0dyaWRMYXlvdXRFbmFibGVkS2V5
KCkpKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGIyNGQ4OTFjZGEyMzU4MTgyMmQ4ODZmODFlODBmZTYzMDM1ZmNmNDIuLjlmNDIw
ZTlkODA2YjAwMWE4NzQ3NmMwZTI0OGJiNzg4YzQxYjBiM2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0wMS0y
NCAgWW9hdiBXZWlzcyAgPHlvYXZAeW9hdi53cz4KKworICAgICAgICBBZGQgTGluayBQcmVsb2Fk
IGFzIGFuIG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIG1lbnUgaXRlbS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzIwMQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNl
c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRW
YWx1ZXMpOgorCiAyMDE3LTAxLTIzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjExMDYyLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDYxYTk1ZDk4ZjhjMGJj
OWJiNGY1ZmRkN2M1YTRlNjhiYTVjYzdhMmYuLmMxNzQ4YzQxM2JiMmQwMTY1ODU2ZGE1MDcwNzgz
YTc0ZmI4YzI1YTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KQEAgLTEwMDksNiArMTAwOSw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNU
b0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYVN0cmVhbUVuYWJs
ZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0UGVlckNvbm5lY3Rpb25FbmFibGVkOllFU107
CiAgICAgW3ByZWZlcmVuY2VzIHNldFdlYkFuaW1hdGlvbnNFbmFibGVkOllFU107CisgICAgW3By
ZWZlcmVuY2VzIHNldExpbmtQcmVsb2FkRW5hYmxlZDpZRVNdOwogCiAgICAgW1dlYlByZWZlcmVu
Y2VzIF9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9uXTsKICAgICBbV2ViUHJlZmVyZW5jZXMgX3Nl
dEN1cnJlbnROZXR3b3JrTG9hZGVyU2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBDb29r
aWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbl07CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBkYmZiN2Y2NzVhYWE2OGUyMGE0
MmM4OTYyOTlhNzI5MDMxYTVjMDMxLi5hYjgxZWIxYTAwYjhiYzNmZDA3ZWZlNWZiMWJmMDhjNWQw
ZDQxYjZhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAK
QEAgLTg3Nyw2ICs4NzcsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25z
aXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgcHJlZnNQcml2
YXRlNC0+c2V0U2hhZG93RE9NRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGU0LT5zZXRD
dXN0b21FbGVtZW50c0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlNC0+c2V0TW9kZXJu
TWVkaWFDb250cm9sc0VuYWJsZWQoRkFMU0UpOworICAgIHByZWZzUHJpdmF0ZTQtPnNldExpbmtQ
cmVsb2FkRW5hYmxlZChUUlVFKTsKIAogICAgIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2Up
OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299690</attachid>
            <date>2017-01-25 04:47:57 -0800</date>
            <delta_ts>2017-01-26 05:18:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167201-20170125134555.patch</filename>
            <type>text/plain</type>
            <size>14866</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggY2Y2OTFjMTJk
YTAwMDUwMWRiNjY3NmEwOGJlOTI3NTcyYzlkMjZkOS4uMDVhYWQ3YWNmODgwM2Q2NGUwZGU2Njc4
OTNkNDJhMDc1ODQzNGVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3
LTAxLTI0ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFBy
ZWxvYWQgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVt
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAg
ICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgbGlua1ByZWxvYWRFbmFibGVkXSk6CisgICAgICAgICgt
W1dlYlByZWZlcmVuY2VzIHNldExpbmtQcmVsb2FkRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE3LTAx
LTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lP
TiAocjIxMTAzMyk6IEFTU0VSVElPTiBGQUlMRUQ6IG1fcHRyIGluIGNvbS5hcHBsZS5XZWJDb3Jl
OiBXVEY6OlJlZlB0cjxXZWJDb3JlOjpFbGVtZW50Pjo6b3BlcmF0b3IqIGNvbnN0ICsgNzAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwppbmRleCA0ZGRhNmQ0MzQ2ODg2OTk5MjIzMWZmN2RlNGMzMjQ4MTE0MTc4MTY1
Li5iZjgwNTYzNDJlZDEzMzI3NjM4MTY5NTczMmJiM2IyYmM0ZTc3YjQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDEtMjQgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYu
d3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnktZGVmYXVsdCBleHBl
cmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjppbml0aWFs
aXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjp2YWx1ZUZvcktl
eSk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0TGlua1ByZWxvYWRFbmFibGVkKToKKyAg
ICAgICAgKFdlYlByZWZlcmVuY2VzOjpsaW5rUHJlbG9hZEVuYWJsZWQpOgorICAgICAgICAqIFdl
YlByZWZlcmVuY2VzLmg6CisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbDoKKwogMjAxNy0wMS0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04gKHIyMTEwMzMpOiBBU1NFUlRJT04gRkFJTEVEOiBtX3B0ciBp
biBjb20uYXBwbGUuV2ViQ29yZTogV1RGOjpSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD46Om9wZXJh
dG9yKiBjb25zdCArIDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmFlMDMyZTdmNDgzYjk3ZWM3YzNkZGIwODBm
ODhjYjI3YmRhNTgyZC4uNzc3ZDIzNTViOWZlZTM3MzFlNmI3Njg3NDE4NDZlODA1Y2E4NDZiOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAxLTI0ICBZb2F2IFdlaXNzICA8eW9h
dkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4gb2ZmLWJ5LWRlZmF1
bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0
aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAg
ICAgICAgKFdLUHJlZmVyZW5jZXNTZXRMaW5rUHJlbG9hZEVuYWJsZWQpOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJl
bmNlcyk6CisKIDIwMTctMDEtMjMgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIE1haW50YWluIG9yZGVyaW5nIHdoZW4gZG9pbmcgc3BlY3VsYXRpdmUgbG9hZHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oCmluZGV4IGU0YTFjYWZlMGZiOTZiZjM4ZTk5ODA3NDM1ZTE2ZGY5NDZkMmNkZWEuLjlk
OGFjNTZmY2Y5ZTRiMzQ4OTViYWIyYTYzNzk4MmYwY2IzMjE0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTc0
LDYgKzE3NCw3IEBACiAjZGVmaW5lIFdlYktpdFN1YnRsZUNyeXB0b0VuYWJsZWRQcmVmZXJlbmNl
S2V5IEAiV2ViS2l0U3VidGxlQ3J5cHRvRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFTdHJl
YW1FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1lZGlhU3RyZWFtRW5hYmxlZCIKICNkZWZp
bmUgV2ViS2l0UGVlckNvbm5lY3Rpb25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBlZXJD
b25uZWN0aW9uRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdExpbmtQcmVsb2FkRW5hYmxlZCIKIAogI2lmICFUQVJHRVRfT1NfSVBI
T05FCiAvLyBUaGVzZSBhcmUgcHJpdmF0ZSBib3RoIGJlY2F1c2UgY2FsbGVycyBzaG91bGQgYmUg
dXNpbmcgdGhlIGNvdmVyIG1ldGhvZHMgYW5kIGJlY2F1c2UgdGhlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAyZmM2NTQ3MzIwN2Q4YTNhYmVmZjhi
ZWMyZGVlYjE5NGFhZjZjMjgwLi43MzVlNDNjMWFmNjlkMTFiM2NjYjg3MWI4N2M1ZjcyNTdlNDQ1
NDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAg
LTY0OSw2ICs2NDksNyBAQCBwdWJsaWM6CiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9v
bDpOT10sIFdlYktpdFBlZXJDb25uZWN0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXksCiAjZW5kaWYK
IAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBXZWJLaXRMaW5rUHJlbG9h
ZEVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBuaWxdOwogCiAjaWYgIVBMQVRGT1JNKElP
UykKQEAgLTI3MzIsNiArMjczMywxNiBAQCBzdGF0aWMgTlNTdHJpbmcgKmNsYXNzSUJDcmVhdG9y
SUQgPSBuaWw7CiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRQZWVy
Q29ubmVjdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTClsaW5rUHJlbG9h
ZEVuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRMaW5r
UHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRMaW5rUHJlbG9h
ZEVuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JL
ZXk6V2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKIC0gKHZvaWQp
c2V0TWV0YVJlZnJlc2hFbmFibGVkOihCT09MKWVuYWJsZWQKIHsKICAgICBbc2VsZiBzZXRIVFRQ
RXF1aXZFbmFibGVkOmVuYWJsZWRdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggNGE5Y2VkNmQ1NTE1MDJmZGE2NTgzNGFmZGMw
ZTU3ZmMzZTA2ZjkyZC4uNjk2MTM4ZDc2MjRhN2RhNzRjZmRhZjMwM2MzNDI2NTZhOTZiZTk3ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCkBAIC0xNjgsNiArMTY4LDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0Nh
Y2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtICh2b2lkKXNldFBlZXJDb25u
ZWN0aW9uRW5hYmxlZDooQk9PTClmbGFnOwogLSAoQk9PTClwZWVyQ29ubmVjdGlvbkVuYWJsZWQ7
CiAKKy0gKHZvaWQpc2V0TGlua1ByZWxvYWRFbmFibGVkOihCT09MKWZsYWc7CistIChCT09MKWxp
bmtQcmVsb2FkRW5hYmxlZDsKKwogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvLyB6ZXJvIG1lYW5z
IGRvIEF1dG9TY2FsZQogLSAoZmxvYXQpUERGU2NhbGVGYWN0b3I7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KaW5kZXggOWU5OTdlZjFjNTEzNzFhYmNhYjczNjQ5ZTU4NzBmNmZiYzQz
NjI5Ni4uNjljOGNiMjJhMDk0MjRmZDc4ZWY4ZTFjY2E3ZTFlNDUwZDZlNzAzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjg5OCw2ICsyODk4LDggQEAgc3RhdGljIGJv
b2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0U3VidGxlQ3J5cHRvRW5hYmxlZChbcHJlZmVy
ZW5jZXMgc3VidGxlQ3J5cHRvRW5hYmxlZF0pOwogI2VuZGlmCiAKKyAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChbcHJlZmVy
ZW5jZXMgbGlua1ByZWxvYWRFbmFibGVkXSk7CisKICAgICBOU1RpbWVJbnRlcnZhbCB0aW1lb3V0
ID0gW3ByZWZlcmVuY2VzIGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5T
ZWNvbmRzXTsKICAgICBpZiAodGltZW91dCA+IDApCiAgICAgICAgIHNldHRpbmdzLnNldEluY3Jl
bWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKHRpbWVvdXQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbCBiL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZS5pZGwKaW5kZXggOGZkMWQ5MjZmNzBkMDk4ZDFlNzM3ZjRmZDMxMmYyN2ZjZjViMmQxNS4u
NWQ5MWM1MzczYzM3NmM1MmViNTRjZTU5MmE4OTA2M2Q2YjViZDE3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRs
CkBAIC0xOTEsNCArMTkxLDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU0IDog
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZTMKICAgICBIUkVTVUxUIHNldEFwcGxpY2F0aW9uSWQoW2lu
XSBCU1RSIGFwcGxpY2F0aW9uSWQpOwogICAgIEhSRVNVTFQgd2ViQW5pbWF0aW9uc0VuYWJsZWQo
W291dCwgcmV0dmFsXSBCT09MKik7CiAgICAgSFJFU1VMVCBzZXRXZWJBbmltYXRpb25zRW5hYmxl
ZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBsaW5rUHJlbG9hZEVuYWJsZWQoW291
dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoW2lu
XSBCT09MIGVuYWJsZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAppbmRleCA1OGJiODgxMGRiNjJkYjU0MDRjMGU2MTJlOTRjMTE0MDcyYWExZmMw
Li5hZjk3MjA2ZTg3NjEyYmY2NTM5M2NjNmQ2ZWM1ZDdjMGIyMzg5YTk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTc3LDMgKzE3Nyw1IEBA
CiAjZGVmaW5lIFdlYktpdE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkUHJlZmVyZW5jZUtleSAi
V2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0V2ViQW5p
bWF0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRXZWJBbmltYXRpb25zRW5hYmxlZCIK
KworI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRM
aW5rUHJlbG9hZEVuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVm
ZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXgg
ZTY1MzEyOGJmMzM0ODlmYTczZjg0Nzk3ZTI0OTFiNWYwYTliMGIyMi4uZTgyMmRiODc1MmUxZGEw
OTllYjFkNGY0ZWY2NGYzYWQ3OTU1YmE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2Vz
LmNwcApAQCAtMzA2LDYgKzMwNiw4IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVE
ZWZhdWx0U2V0dGluZ3MoKQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENG
U1RSKFdlYktpdFdlYkFuaW1hdGlvbnNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5G
YWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAg
ICBkZWZhdWx0U2V0dGluZ3MgPSBkZWZhdWx0czsKIH0KIApAQCAtMTk5MSw2ICsxOTkzLDIwIEBA
IEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6Om1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKF9PdXRf
IEJPT0wqIGVuYWJsZWQpCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQgV2ViUHJlZmVy
ZW5jZXM6OnNldExpbmtQcmVsb2FkRW5hYmxlZChCT09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9v
bFZhbHVlKFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOwor
ICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpsaW5rUHJlbG9h
ZEVuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJsZWQpCisgICAg
ICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoV2Vi
S2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7Cit9
CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldEFwcGxpY2F0aW9uSWQoQlNUUiBhcHBsaWNh
dGlvbklkKQogewogICAgIG1fYXBwbGljYXRpb25JZCA9IFN0cmluZyhhcHBsaWNhdGlvbklkKS5j
cmVhdGVDRlN0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVy
ZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggZDA5NDBh
Zjc0MmMyZDU3M2M2M2VlNjRlMGNkZjhiY2YyMzNiZjZmZi4uNjkxNTJlYzkyNjllZDg3OTZiZDg0
MTljNzkwMmUxMmVjYjljM2JjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViUHJl
ZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0y
NDUsNiArMjQ1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBzZXRBcHBsaWNhdGlvbklkKEJTVFIpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSB3ZWJBbmltYXRpb25zRW5hYmxlZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFdlYkFuaW1hdGlvbnNFbmFibGVkKEJPT0wp
OworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsaW5rUHJlbG9hZEVuYWJs
ZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRMaW5rUHJlbG9hZEVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVmZXJlbmNlcwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9u
cy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaApp
bmRleCBlMGE2NDgyODkzYTBlZWM4NjFjMGI3ZWQyZjk4NzU2YWRhNGI4ZDg3Li45MjYxMDIxOThi
Yzk1YWRjOGEzZWE0Yzk1MjliYmE5YzNkNmFlYjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTMxOSw2ICszMTksNyBAQAog
ICAgIG1hY3JvKFN1YnRsZUNyeXB0b0VuYWJsZWQsIHN1YnRsZUNyeXB0b0VuYWJsZWQsIEJvb2ws
IGJvb2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJTdWJ0bGVDcnlw
dG8iLCAiRW5hYmxlIFN1YnRsZUNyeXB0byBzdXBwb3J0IikgXAogICAgIG1hY3JvKFdlYkFuaW1h
dGlvbnNFbmFibGVkLCB3ZWJBbmltYXRpb25zRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICJX
ZWIgQW5pbWF0aW9ucyIsICJXZWIgQW5pbWF0aW9ucyBwcm90b3R5cGUiKSBcCiAgICAgbWFjcm8o
V2ViR0wyRW5hYmxlZCwgd2ViR0wyRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklN
RU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIldlYkdMIDIuMCIsICJXZWJHTCAyIHByb3RvdHlwZSIp
IFwKKyAgICBtYWNybyhMaW5rUHJlbG9hZEVuYWJsZWQsIGxpbmtQcmVsb2FkRW5hYmxlZCwgQm9v
bCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIkxpbmsgUHJl
bG9hZCIsICJMaW5rIHByZWxvYWQgc3VwcG9ydCIpIFwKICAgICBcCiAKICNpZiBQTEFURk9STShD
T0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmNwcAppbmRleCBlZDNhNmVhZDdhMzM4ZGY2NmRkZjZmZGJhMWE4MjkwNzc0MGQxMzE3Li5iMjNh
OTZjYTVjZmRkYzY4NTYyOGNmNmVkYTUxYWU5YTZkYTA0OTEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0xNjIxLDYgKzE2MjEs
MTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U3VidGxlQ3J5cHRvRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKQogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zdWJ0bGVDcnlwdG9FbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldExpbmtQ
cmVsb2FkRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcp
Cit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0TGlua1ByZWxvYWRFbmFibGVkKGZs
YWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRMaW5rUHJlbG9hZEVuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVu
Y2VzUmVmKS0+bGlua1ByZWxvYWRFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1Nl
dFNob3VsZFN1cHByZXNzS2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbihX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2V0U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5nUHJv
dmlzaW9uYWxOYXZpZ2F0aW9uKGZsYWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCBjMDRlNDU4ZDI3
YzM4NjBiYTFlN2Q1MDRhMTU4MWYwNzM0NWExMGQ5Li5kZjQ3YzlhZDNmM2RjMzE2Y2FmNjQzYmVh
ODExMTBlMjk5NTU5NmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtNDUzLDYgKzQ1MywxMCBAQCBX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U3VidGxlQ3J5cHRvRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmKTsKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGRTdXBwcmVz
c0tleWJvYXJkSW5wdXREdXJpbmdQcm92aXNpb25hbE5hdmlnYXRpb24oV0tQcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGRTdXBw
cmVzc0tleWJvYXJkSW5wdXREdXJpbmdQcm92aXNpb25hbE5hdmlnYXRpb24oV0tQcmVmZXJlbmNl
c1JlZik7CiAKKy8vIERlZmF1bHRzIHRvIGZhbHNlLgorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldExpbmtQcmVsb2FkRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwor
V0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBiZmUwZDI3YmU0ZTVm
OWUxOWFlOTIyZWI0ODE1YzY4YTdjMmUyZjIxLi43MDMxZDAwOTJjOWNjMWE2YTYyOTdiOWJjZDZk
NzA4NzFiYjE4ZGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCkBAIC0zMjMyLDYgKzMyMzIsOCBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZl
cmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogCiAgICAgLy8gRXhwZXJp
bWVudGFsIEZlYXR1cmVzLgogCisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5OjpsaW5rUHJlbG9hZEVuYWJsZWRLZXkoKSkpOworCiAjaWYgRU5BQkxF
KENTU19HUklEX0xBWU9VVCkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldENTU0dyaWRMYXlvdXRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6Y3NzR3JpZExheW91dEVuYWJsZWRLZXkoKSkpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjI0ZDg5
MWNkYTIzNTgxODIyZDg4NmY4MWU4MGZlNjMwMzVmY2Y0Mi4uOWY0MjBlOWQ4MDZiMDAxYTg3NDc2
YzBlMjQ4YmI3ODhjNDFiMGIzYSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAxLTI0ICBZb2F2IFdlaXNzICA8
eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4gb2ZmLWJ5LWRl
ZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFs
dWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgor
ICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMTct
MDEtMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMTEwNjIuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggNjFhOTVkOThmOGMwYmM5YmI0ZjVmZGQ3YzVhNGU2
OGJhNWNjN2EyZi4uYzE3NDhjNDEzYmIyZDAxNjU4NTZkYTUwNzA3ODNhNzRmYjhjMjVhMyAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtMTAwOSw2ICsx
MDA5LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVl
cygpCiAgICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhU3RyZWFtRW5hYmxlZDpZRVNdOwogICAgIFtw
cmVmZXJlbmNlcyBzZXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5j
ZXMgc2V0V2ViQW5pbWF0aW9uc0VuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0TGlu
a1ByZWxvYWRFbmFibGVkOllFU107CiAKICAgICBbV2ViUHJlZmVyZW5jZXMgX2NsZWFyTmV0d29y
a0xvYWRlclNlc3Npb25dOwogICAgIFtXZWJQcmVmZXJlbmNlcyBfc2V0Q3VycmVudE5ldHdvcmtM
b2FkZXJTZXNzaW9uQ29va2llQWNjZXB0UG9saWN5Ok5TSFRUUENvb2tpZUFjY2VwdFBvbGljeU9u
bHlGcm9tTWFpbkRvY3VtZW50RG9tYWluXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCmluZGV4IGRiZmI3ZjY3NWFhYTY4ZTIwYTQyYzg5NjI5OWE3MjkwMzFh
NWMwMzEuLmFiODFlYjFhMDBiOGJjM2ZkMDdlZmU1ZmIxYmYwOGM1ZDBkNDFiNmEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODc3LDYgKzg3Nyw3
IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoSVdl
YlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICBwcmVmc1ByaXZhdGU0LT5zZXRTaGFkb3dE
T01FbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZTQtPnNldEN1c3RvbUVsZW1lbnRzRW5h
YmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGU0LT5zZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5h
YmxlZChGQUxTRSk7CisgICAgcHJlZnNQcml2YXRlNC0+c2V0TGlua1ByZWxvYWRFbmFibGVkKFRS
VUUpOwogCiAgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299802</attachid>
            <date>2017-01-26 05:18:24 -0800</date>
            <delta_ts>2017-01-26 05:25:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167201-20170126141621.patch</filename>
            <type>text/plain</type>
            <size>40242</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE2NmZhMTdjZmIwMzJl
YjlmZTAwOWZhMmU1YzNkMjcyMjBiMjliNy4uZDQyODUzY2YwODU1M2VlMmI2NjA2ZTEyZTc2MGI5
NWY4MzM5ZDYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTAxLTI2ICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4g
b2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0aGUgZXhwbGlj
aXQgc2V0dGluZyBvZiB0aGUgTGluayBQcmVsb2FkIGV4cGVyaW1lbnRhbCBmZWF0dXJlLAorICAg
ICAgICBhcyBpdCBpcyBub3cgb24gYnkgZGVmYXVsdCBmb3IgdGVzdGluZy4KKworICAgICAgICBO
byBuZXcgdGVzdHMgYXMgdGhpcyBqdXN0IHJlbW92ZXMgbWV0aG9kcyBmcm9tIHNldHRpbmdzLgor
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aWRsOgorCiAyMDE3LTAxLTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmVydCByMjEwODgyLCByZW1vdmluZyBzdXBwb3J0IGZvciBiYWNrZ3Jv
dW5kLXJlcGVhdC14L3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA4MGM3Mjk0MWNmYTM0NmUxMzcxZGM1
OTY5ZjYxOTljMjE5MWFlMjRmLi5iNzVlOWRiNWFiN2E2MTAxODJjNmM5NDdiOTVlNjJiYWFiOTBm
ZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTctMDEtMjYgIFlvYXYg
V2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBv
ZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToK
KyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgbGlua1ByZWxvYWRFbmFibGVkXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHNldExpbmtQcmVsb2FkRW5hYmxlZDpdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE3
LTAxLTI0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CiAKICAgICAgICAgW1dl
YlJUQ10gSW50cm9kdWNlIGxpYndlYnJ0YyBhYnN0cmFjdGlvbiBmb3IgV0sxL1dLMiBpbXBsZW1l
bnRhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA2NWUzYjg4MTdkMjUwNDczNTU0NTM0Nzk1NTdj
N2IxNjJiM2ZlNWY0Li42YmZkZTZiNTMwZDYzZWQwMDU5MTM4Y2NmNjY5ZDQ1MDEzZWExYWMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDEtMjYgIFlvYXYgV2Vpc3Mg
IDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnkt
ZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVu
Y2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2Vz
Ojp2YWx1ZUZvcktleSk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0TGlua1ByZWxvYWRF
bmFibGVkKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpsaW5rUHJlbG9hZEVuYWJsZWQpOgor
ICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmlkbDoKKwogMjAxNy0wMS0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bmZAZ21haWwuY29tPgogCiAgICAgICAgIFtXZWJSVENdIEludHJvZHVjZSBsaWJ3ZWJydGMgYWJz
dHJhY3Rpb24gZm9yIFdLMS9XSzIgaW1wbGVtZW50YXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzgyZGQ2
ODE3MDMwNjMxNmI0MTBmMWY1YzRhY2JlNjFhMDdhYWJlNy4uMTY4NjM1MjYwMGQyYjE3YTA5YjIy
MGY0MTJiZDUyYmI1Mzc5MzJjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAx
LTI2ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxv
YWQgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRMaW5rUHJlbG9hZEVu
YWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTctMDEtMjUgIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtRdWlja0xvb2tdIERpc3BsYXkgYSBXS1Bhc3N3
b3JkVmlldyB3aGVuIGEgZG9jdW1lbnQgaXMgcGFzc3dvcmQtcHJvdGVjdGVkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCA0MmQwNDNiZjVkMTIwYjBm
MjdhMTBlZmU5M2QzNDlmNzJiYjcwODAzLi4yOGQwYjJiN2Q3ODc1OWZkOTVjNGViMzJlOTEwMDU3
MWYwOTkxNTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKQEAgLTk1LDcgKzk1LDYgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0
dGluZ3MmIHNldHRpbmdzKQogICAgICwgbV9mb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNz
aWJpbGl0eVZhbHVlKHNldHRpbmdzLmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmls
aXR5VmFsdWUoKSkKICAgICAsIG1fZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmls
aXR5VmFsdWUoc2V0dGluZ3MuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5
VmFsdWUoKSkKICAgICAsIG1fcmVzb3VyY2VUaW1pbmdFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucmVzb3VyY2VUaW1pbmdFbmFibGVkKCkpCi0gICAgLCBt
X2xpbmtQcmVsb2FkRW5hYmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpKQogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpCiAgICAgLCBtX2luZGV4ZWREQldvcmtlcnNFbmFibGVkKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoKSkKICNl
bmRpZgpAQCAtMTg0LDcgKzE4Myw2IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpy
ZXN0b3JlVG8oU2V0dGluZ3MmIHNldHRpbmdzKQogICAgIFNldHRpbmdzOjpzZXRBbGxvd3NBbnlT
U0xDZXJ0aWZpY2F0ZShmYWxzZSk7CiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChtX3Jlc291cmNlVGltaW5nRW5h
YmxlZCk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRM
aW5rUHJlbG9hZEVuYWJsZWQobV9saW5rUHJlbG9hZEVuYWJsZWQpOwogI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChtX2luZGV4ZWREQldvcmtl
cnNFbmFibGVkKTsKICNlbmRpZgpAQCAtNjcxLDExICs2NjksNiBAQCB2b2lkIEludGVybmFsU2V0
dGluZ3M6OnNldFJlc291cmNlVGltaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0TGlua1ByZWxvYWRF
bmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sIGVuYWJsZWQp
CiB7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMDQ3NzAwNDRhNmEzOTk1M2JmZTE3
ZGRmMTM1MDFhOGJmMGNkNDQxNC4uNWM5ZTkzNjlhYjc5NmJmMDZlYzYzOTc0NmQ5ODhmZTg0ZWQ2
NjRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTEx
MCw3ICsxMTAsNiBAQCBwdWJsaWM6CiAKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgog
ICAgIHN0YXRpYyB2b2lkIHNldFJlc291cmNlVGltaW5nRW5hYmxlZChib29sKTsKLSAgICBzdGF0
aWMgdm9pZCBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0
SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0Q1NTR3Jp
ZExheW91dEVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChi
b29sKTsKQEAgLTE4OCw3ICsxODcsNiBAQCBwcml2YXRlOgogCiAgICAgICAgIC8vIFJ1bnRpbWUg
ZW5hYmxlZCBzZXR0aW5ncy4KICAgICAgICAgYm9vbCBtX3Jlc291cmNlVGltaW5nRW5hYmxlZDsK
LSAgICAgICAgYm9vbCBtX2xpbmtQcmVsb2FkRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2luZGV4
ZWREQldvcmtlcnNFbmFibGVkOwogICAgICAgICBib29sIG1fY3NzR3JpZExheW91dEVuYWJsZWQ7
CiAgICAgICAgIGJvb2wgbV93ZWJHTDJFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5pZGwKaW5kZXggMWRmMGQzYmIxZDhjNDc4MjdiNGJmY2Q5ZGFhZjI4
NzEzMzc3ZWE5Mi4uNWY0YmRlYzM2ZmUwZDIzMjlkZTQzZTgxMjQ1ZmNhZGNkN2NhYTBhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC04Myw3ICs4
Myw2IEBAIGVudW0gRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIHsgInN5c3RlbSIsICJvbiIsICJv
ZmYiIH07CiAKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgogICAgIHZvaWQgc2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdm9pZCBzZXRMaW5rUHJl
bG9hZEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB2b2lkIHNldEluZGV4ZWREQldvcmtl
cnNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdm9pZCBzZXRDU1NHcmlkTGF5b3V0RW5h
YmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChib29sZWFu
IGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKaW5kZXggMjI4YzkzMWNhNzYxMmM4MTJmMWJhZDA3YWI5NTYyZWYw
N2RlNDJhYi4uMDliYjM4YmE0ODY4NTcxOGNlNDQ3NjUxNjdkOTUwOGQyNzcxNzJlOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCkBAIC0xNzUsNiArMTc1LDcgQEAKICNkZWZpbmUgV2ViS2l0U3VidGxlQ3J5cHRvRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRTdWJ0bGVDcnlwdG9FbmFibGVkIgogI2RlZmluZSBXZWJL
aXRNZWRpYVN0cmVhbUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFTdHJlYW1FbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRQZWVyQ29ubmVjdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0UGVlckNvbm5lY3Rpb25FbmFibGVkIgorI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgogCiAjaWYgIVRB
UkdFVF9PU19JUEhPTkUKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJz
IHNob3VsZCBiZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDU1YTI4YWQxYmRi
MjVmZjc3N2RkOWMzYmZjMDFiNTg2NDg4NTcyZjIuLmI0MTU4ZmY0MWUwYTc3NTkxMWMwYzliNGYz
NDI4NmRhZmUzZmY0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQpAQCAtMjc0Myw2ICsyNzQzLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNy
ZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktp
dFBlZXJDb25uZWN0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKWxpbmtQ
cmVsb2FkRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktp
dExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldExpbmtQ
cmVsb2FkRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFn
IGZvcktleTpXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAo
dm9pZClzZXRNZXRhUmVmcmVzaEVuYWJsZWQ6KEJPT0wpZW5hYmxlZAogewogICAgIFtzZWxmIHNl
dEhUVFBFcXVpdkVuYWJsZWQ6ZW5hYmxlZF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBkM2M4MmJkOWE2M2ZhYjkwZTMxNzc1
ZTZiZWRhNGViODEwMzI2NGIyLi5mZWU1MWI1ZTRkMDExNDRjYzI3Mjg1MmYyODY1YjE2MzRiZWIz
ODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmgKQEAgLTUyNSw1ICs1MjUsNiBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVu
Y2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIGF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW47CiBAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBpbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ7CitAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiAKIEBlbmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA1N2JhYTU0ZTM0MmViY2MyMTdiNTBjODEz
NDBlOWU0NmI3MWM2NWRmLi41Nzk4ZDM0MjQxM2MxMDM3MzE5OGRhZGViOGI4NjhlMGQ5ZjRmMzNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yOTA4LDYgKzI5MDgsOCBA
QCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTdWJ0bGVDcnlwdG9FbmFi
bGVkKFtwcmVmZXJlbmNlcyBzdWJ0bGVDcnlwdG9FbmFibGVkXSk7CiAjZW5kaWYKIAorICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFi
bGVkKFtwcmVmZXJlbmNlcyBsaW5rUHJlbG9hZEVuYWJsZWRdKTsKKwogICAgIE5TVGltZUludGVy
dmFsIHRpbWVvdXQgPSBbcHJlZmVyZW5jZXMgaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lv
blRpbWVvdXRJblNlY29uZHNdOwogICAgIGlmICh0aW1lb3V0ID4gMCkKICAgICAgICAgc2V0dGlu
Z3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHModGlt
ZW91dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaWRsIGIvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmlkbAppbmRleCA4ZmQxZDkyNmY3MGQwOThkMWU3MzdmNGZkMzEyZjI3
ZmNmNWIyZDE1Li41ZDkxYzUzNzNjMzc2YzUyZWI1NGNlNTkyYTg5MDYzZDZiNWJkMTc2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaWRsCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwKQEAgLTE5MSw0ICsxOTEsNiBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZTQgOiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlMwogICAgIEhSRVNVTFQgc2V0QXBwbGlj
YXRpb25JZChbaW5dIEJTVFIgYXBwbGljYXRpb25JZCk7CiAgICAgSFJFU1VMVCB3ZWJBbmltYXRp
b25zRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKICAgICBIUkVTVUxUIHNldFdlYkFuaW1h
dGlvbnNFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIGxpbmtQcmVsb2Fk
RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldExpbmtQcmVsb2Fk
RW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDU4YmI4ODEwZGI2MmRiNTQwNGMwZTYxMmU5NGMx
MTQwNzJhYTFmYzAuLmFmOTcyMDZlODc2MTJiZjY1MzkzY2M2ZDZlYzVkN2MwYjIzODlhOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xNzcs
MyArMTc3LDUgQEAKICNkZWZpbmUgV2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWRQcmVm
ZXJlbmNlS2V5ICJXZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIKIAogI2RlZmluZSBX
ZWJLaXRXZWJBbmltYXRpb25zRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFdlYkFuaW1hdGlv
bnNFbmFibGVkIgorCisjZGVmaW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VL
ZXkgIldlYktpdExpbmtQcmVsb2FkRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2Vz
LmNwcAppbmRleCBlNjUzMTI4YmYzMzQ4OWZhNzNmODQ3OTdlMjQ5MWI1ZjBhOWIwYjIyLi5lODIy
ZGI4NzUyZTFkYTA5OWViMWQ0ZjRlZjY0ZjNhZDc5NTViYTY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
UHJlZmVyZW5jZXMuY3BwCkBAIC0zMDYsNiArMzA2LDggQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6
aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncygpCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShk
ZWZhdWx0cywgQ0ZTVFIoV2ViS2l0V2ViQW5pbWF0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwg
a0NGQm9vbGVhbkZhbHNlKTsKIAorICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBD
RlNUUihXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZh
bHNlKTsKKwogICAgIGRlZmF1bHRTZXR0aW5ncyA9IGRlZmF1bHRzOwogfQogCkBAIC0xOTkxLDYg
KzE5OTMsMjAgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6bW9kZXJuTWVkaWFDb250cm9sc0Vu
YWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VM
VCBXZWJQcmVmZXJlbmNlczo6c2V0TGlua1ByZWxvYWRFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sK
KyAgICBzZXRCb29sVmFsdWUoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSwg
ZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6
OmxpbmtQcmVsb2FkRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5h
YmxlZCkKKyAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1
ZUZvcktleShXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1
cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0QXBwbGljYXRpb25JZChC
U1RSIGFwcGxpY2F0aW9uSWQpCiB7CiAgICAgbV9hcHBsaWNhdGlvbklkID0gU3RyaW5nKGFwcGxp
Y2F0aW9uSWQpLmNyZWF0ZUNGU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaApp
bmRleCBkMDk0MGFmNzQyYzJkNTczYzYzZWU2NGUwY2RmOGJjZjIzM2JmNmZmLi42OTE1MmVjOTI2
OWVkODc5NmJkODQxOWM3OTAyZTEyZWNiOWMzYmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVu
Y2VzLmgKQEAgLTI0NSw2ICsyNDUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIHNldEFwcGxpY2F0aW9uSWQoQlNUUik7CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHdlYkFuaW1hdGlvbnNFbmFibGVkKF9PdXRfIEJPT0wqKTsK
ICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0V2ViQW5pbWF0aW9uc0Vu
YWJsZWQoQk9PTCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGxpbmtQ
cmVsb2FkRW5hYmxlZChfT3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHNldExpbmtQcmVsb2FkRW5hYmxlZChCT09MKTsKIAogICAgIC8vIFdlYlByZWZl
cmVuY2VzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmluaXRpb25zLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZp
bml0aW9ucy5oCmluZGV4IGUwYTY0ODI4OTNhMGVlYzg2MWMwYjdlZDJmOTg3NTZhZGE0YjhkODcu
LjkyNjEwMjE5OGJjOTVhZGM4YTNlYTRjOTUyOWJiYTljM2Q2YWViMzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaApAQCAtMzE5LDYg
KzMxOSw3IEBACiAgICAgbWFjcm8oU3VidGxlQ3J5cHRvRW5hYmxlZCwgc3VidGxlQ3J5cHRvRW5h
YmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwg
IlN1YnRsZUNyeXB0byIsICJFbmFibGUgU3VidGxlQ3J5cHRvIHN1cHBvcnQiKSBcCiAgICAgbWFj
cm8oV2ViQW5pbWF0aW9uc0VuYWJsZWQsIHdlYkFuaW1hdGlvbnNFbmFibGVkLCBCb29sLCBib29s
LCBmYWxzZSwgIldlYiBBbmltYXRpb25zIiwgIldlYiBBbmltYXRpb25zIHByb3RvdHlwZSIpIFwK
ICAgICBtYWNybyhXZWJHTDJFbmFibGVkLCB3ZWJHTDJFbmFibGVkLCBCb29sLCBib29sLCBERUZB
VUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVELCAiV2ViR0wgMi4wIiwgIldlYkdMIDIg
cHJvdG90eXBlIikgXAorICAgIG1hY3JvKExpbmtQcmVsb2FkRW5hYmxlZCwgbGlua1ByZWxvYWRF
bmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVE
LCAiTGluayBQcmVsb2FkIiwgIkxpbmsgcHJlbG9hZCBzdXBwb3J0IikgXAogICAgIFwKIAogI2lm
IFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuY3BwCmluZGV4IGVkM2E2ZWFkN2EzMzhkZjY2ZGRmNmZkYmExYTgyOTA3NzQw
ZDEzMTcuLmIyM2E5NmNhNWNmZGRjNjg1NjI4Y2Y2ZWRhNTFhZTlhNmRhMDQ5MTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTE2
MjEsNiArMTYyMSwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJ0bGVDcnlwdG9FbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPnN1YnRsZUNyeXB0b0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1ByZWZlcmVu
Y2VzU2V0TGlua1ByZWxvYWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYs
IGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRMaW5rUHJlbG9h
ZEVuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5saW5rUHJlbG9hZEVuYWJsZWQoKTsKK30KKwogdm9pZCBXS1By
ZWZlcmVuY2VzU2V0U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5nUHJvdmlzaW9uYWxO
YXZpZ2F0aW9uKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsK
ICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGRTdXBwcmVzc0tleWJvYXJkSW5w
dXREdXJpbmdQcm92aXNpb25hbE5hdmlnYXRpb24oZmxhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4
IGMwNGU0NThkMjdjMzg2MGJhMWU3ZDUwNGExNTgxZjA3MzQ1YTEwZDkuLmRmNDdjOWFkM2YzZGMz
MTZjYWY2NDNiZWE4MTExMGUyOTk1NTk2Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC00NTMsNiAr
NDUzLDEwIEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJ0bGVDcnlwdG9FbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNo
b3VsZFN1cHByZXNzS2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbihXS1By
ZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dl
dFNob3VsZFN1cHByZXNzS2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbihX
S1ByZWZlcmVuY2VzUmVmKTsKIAorLy8gRGVmYXVsdHMgdG8gZmFsc2UuCitXS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0TGlua1ByZWxvYWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TGlua1ByZWxvYWRFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGRm
NWQwNTRmYzFjYjIzMzFiMjdjYjU2MjM0ZDg1ZDdmNDM2MzBhODUuLmYyMTdhYzZiZDVkYzUyZDVk
OGRlNzY0NmI3OTliNzVjYmViNzA4N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMyMzgsNiArMzIzOCw4IEBAIHZvaWQgV2ViUGFnZTo6
dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAKICAg
ICAvLyBFeHBlcmltZW50YWwgRmVhdHVyZXMuCiAKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxpbmtQcmVsb2FkRW5hYmxlZEtleSgpKSk7CisK
ICNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTR3JpZExheW91dEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpjc3NHcmlkTGF5b3V0RW5hYmxlZEtleSgpKSk7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCBiYmRhNGY5MTIzNzA3YmY2OTExMzc2ZDQ1NDI2NjExZmNlNjgyODc0Li5lOGI0NjNmOTFh
Y2NiOWEzZTcwMzU2YmM0OWRhNGFiODAxNzFiMGUzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDEtMjYgIFlv
YXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBh
biBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0Nv
bnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVy
VHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVz
KToKKwogMjAxNy0wMS0yNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gSWNvbiBEYXRhYmFzZSBzaG91bGQgYmUgaW4gcHJpdmF0ZSBi
cm93c2luZyBtb2RlIGZvciBlcGhlbWVyYWwgd2ViIHZpZXdzCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggNjFhOTVkOThmOGMwYmM5YmI0ZjVmZGQ3YzVh
NGU2OGJhNWNjN2EyZi4uYzE3NDhjNDEzYmIyZDAxNjU4NTZkYTUwNzA3ODNhNzRmYjhjMjVhMyAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtMTAwOSw2
ICsxMDA5LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZh
bHVlcygpCiAgICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhU3RyZWFtRW5hYmxlZDpZRVNdOwogICAg
IFtwcmVmZXJlbmNlcyBzZXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVy
ZW5jZXMgc2V0V2ViQW5pbWF0aW9uc0VuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0
TGlua1ByZWxvYWRFbmFibGVkOllFU107CiAKICAgICBbV2ViUHJlZmVyZW5jZXMgX2NsZWFyTmV0
d29ya0xvYWRlclNlc3Npb25dOwogICAgIFtXZWJQcmVmZXJlbmNlcyBfc2V0Q3VycmVudE5ldHdv
cmtMb2FkZXJTZXNzaW9uQ29va2llQWNjZXB0UG9saWN5Ok5TSFRUUENvb2tpZUFjY2VwdFBvbGlj
eU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGRiZmI3ZjY3NWFhYTY4ZTIwYTQyYzg5NjI5OWE3Mjkw
MzFhNWMwMzEuLmFiODFlYjFhMDBiOGJjM2ZkMDdlZmU1ZmIxYmYwOGM1ZDBkNDFiNmEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODc3LDYgKzg3
Nyw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMo
SVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICBwcmVmc1ByaXZhdGU0LT5zZXRTaGFk
b3dET01FbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZTQtPnNldEN1c3RvbUVsZW1lbnRz
RW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGU0LT5zZXRNb2Rlcm5NZWRpYUNvbnRyb2xz
RW5hYmxlZChGQUxTRSk7CisgICAgcHJlZnNQcml2YXRlNC0+c2V0TGlua1ByZWxvYWRFbmFibGVk
KFRSVUUpOwogCiAgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9CmRpZmYgLS1n
aXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcv
Q2hhbmdlTG9nCmluZGV4IDUxNTk0NzdiNDc1YTFjYjRlZjJhYzVkODNjNTAxMTRhNjY3MWYzMmQu
Ljk1NzZiYTk2NTE0YTRkMTkwMjg3YzQ2NTg2NDgzNTFlOTQ3MzhiOWIgMTAwNjQ0Ci0tLSBhL1dl
YnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDEtMjYgIFlvYXYgV2Vpc3MgIDx5b2F2QHlv
YXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnktZGVmYXVsdCBl
eHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGV4cGVyaW1lbnRhbC1mZWF0dXJlcy5odG1sOiBBZGRl
ZCBMaW5rIFByZWxvYWQuCisKIDIwMTctMDEtMjAgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFw
cGxlLmNvbT4KIAogICAgICAgICBXZWIgQW5pbWF0aW9ucyBzaG91bGQgYmUgb2ZmIGJ5IGRlZmF1
bHQgYW5kIGVuYWJsZWQgYXMgYW4gZXhwZXJpbWVudGFsIGZlYXR1cmUKZGlmZiAtLWdpdCBhL1dl
YnNpdGVzL3dlYmtpdC5vcmcvZXhwZXJpbWVudGFsLWZlYXR1cmVzLmh0bWwgYi9XZWJzaXRlcy93
ZWJraXQub3JnL2V4cGVyaW1lbnRhbC1mZWF0dXJlcy5odG1sCmluZGV4IGYzMmYxM2NiZDY4NGVm
NTU0OWYwMjE1NjNhOTczOTRlZWUyYWY1YjIuLmQ3YTJjMzhiNWZmNzdiYTJmYTM0NDliMWUzYjI2
MDNjMGUwMWU3NWQgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZXhwZXJpbWVudGFs
LWZlYXR1cmVzLmh0bWwKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9leHBlcmltZW50YWwtZmVh
dHVyZXMuaHRtbApAQCAtNzgsNiArNzgsMTEgQEAgZnVuY3Rpb24gdGVzdFdlYkdMMigpIHsKICAg
ICByZXR1cm4gY2FudmFzLmdldENvbnRleHQoIndlYmdsMiIpOwogfQogCitmdW5jdGlvbiB0ZXN0
TGlua1ByZWxvYWQoKSB7CisgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJs
aW5rIik7CisgICAgcmV0dXJuIGxpbmsucmVsTGlzdC5zdXBwb3J0cygicHJlbG9hZCIpOworfQor
CiBmdW5jdGlvbiB0ZXN0R2FtZXBhZCgpIHsKICAgICByZXR1cm4gbmF2aWdhdG9yLmdldEdhbWVw
YWRzOwogfQpAQCAtMTQwLDYgKzE0NSw3IEBAIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgZnVuY3Rpb24gKCkgewogICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iVmFyaWF0aW9u
Rm9udHMiPjxwPlZhcmlhdGlvbiBGb250czwvcD48L2Rpdj4KICAgICAgICAgPGRpdiBjbGFzcz0i
dGVzdCIgaWQ9IldlYkFuaW1hdGlvbnMiPjxwPldlYiBBbmltYXRpb25zPC9wPjwvZGl2PgogICAg
ICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iV2ViR0wyIj48cD5XZWJHTCAyLjA8L3A+PC9kaXY+
CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJMaW5rUHJlbG9hZCI+PHA+TGluayBQcmVs
b2FkPC9wPjwvZGl2PgogICAgIDwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNjOGI3
NzRhMWI0OTgzNjZhYTNlM2FiZWM3ZjI0M2I1ODVjNjQ3NzIuLjQzM2Y2MTI0NzZmY2NjZmIyZjdh
YjAzOGJmZTYyNzhhOGY3M2VmOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxNy0wMS0yNiAg
WW9hdiBXZWlzcyAgPHlvYXZAeW9hdi53cz4KKworICAgICAgICBBZGQgTGluayBQcmVsb2FkIGFz
IGFuIG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIG1lbnUgaXRlbS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzIwMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgY29kZSBl
eHBsaWNpdGx5IGVuYWJsaW5nIExpbmsgcHJlbG9hZCBmcm9tIHRoZSB0ZXN0cywgYXMgaXQgaXMg
bm93CisgICAgICAgIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZvciB0ZXN0aW5nLiBDb3JyZWN0ZWQg
ZXhwZWN0YXRpb24gZmlsZXMgYWNjb3JkaW5nbHkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Zl
dGNoL3JlZGlyZWN0bW9kZS1hbmQtcHJlbG9hZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
cHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeS5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVs
b2FkX2FmdGVyX2Rpc2NvdmVyeV9pbWFnZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJl
bG9hZC9kb3dubG9hZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyX2lmcmFtZS5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9pbnZhbGlk
X2hlYWRlcnMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19hZGRp
bmdfcHJlbG9hZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3Jl
bW92ZV9wcmVsb2FkX2hyZWYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJl
bG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3ByZWxvYWQvbm90X2RlbGF5aW5nX3dpbmRvd19vbmxvYWRfYmVmb3JlX2Rpc2NvdmVyeS5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hl
YWRlci5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9pbnZhbGlk
X3Jlc291cmNlc19mcm9tX2hlYWRlci5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2Fk
L3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGVkLWNzcy1zdHlsZXNo
ZWV0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3Jp
Z2luLXByZWxvYWRpbmctY3NzLXN0eWxlc2hlZXQuaHRtbDoKKwogMjAxNy0wMS0yNSAgWW9hdiBX
ZWlzcyAgPHlvYXZAeW9hdi53cz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDMxMTApOiBMYXlv
dXRUZXN0IGh0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZF9ydW5uZXIu
aHRtbCB0aW1pbmcgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNo
L3JlZGlyZWN0bW9kZS1hbmQtcHJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9m
ZXRjaC9yZWRpcmVjdG1vZGUtYW5kLXByZWxvYWQuaHRtbAppbmRleCBkNTIxMmM1OTAxYzA4Nzkw
YWYwNmQ3MzZjNTQzMmVlYjdlODQxZDg0Li4zYzE1MjBlNjhlMjYyNDViNmY4ZGJjYTk3NjlkMGRm
YzllOTAzN2I4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNoL3JlZGly
ZWN0bW9kZS1hbmQtcHJlbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0
Y2gvcmVkaXJlY3Rtb2RlLWFuZC1wcmVsb2FkLmh0bWwKQEAgLTgsMTAgKzgsNiBAQAogICAgIDxt
ZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IkNhbm9uIFJlc2VhcmNoIEZyYW5jZSIgaHJlZj0iaHR0
cHM6Ly93d3cuY3JmLmNhbm9uLmZyIj4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0Pgot
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVs
b2FkRW5hYmxlZCh0cnVlKTsKLSAgICA8L3NjcmlwdD4KICAgICA8bGluayByZWw9cHJlbG9hZCBv
bmxvYWQ9InN0YXJ0VGVzdHMoKSIgaHJlZj0iLi9yZXNvdXJjZXMvcmVkaXJlY3Qtd2l0aC1jYWNo
ZS5waHA/ZW5hYmxlQ2FjaGluZyZ1cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3Jl
c291cmNlcy9hbGxvdy1pZi1vcmlnaW4ucGhwP2FsbG93Q2FjaGUmb3JpZ2luPWh0dHAlM0ElMkYl
MkYxMjcuMC4wLjElM0E4MDAwJm5hbWU9YWxlcnQtZmFpbC5qcyZjb250ZW50VHlwZT10ZXh0L2Fz
Y2lpIj4KICAgPC9oZWFkPgogICA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVy
eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5nX29ubG9hZF9s
aW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5Lmh0bWwKaW5kZXggMWZlNTU5MDQ1NTNkY2Q2NGYx
MDBiNmQ1ZjdlNThmMjRkZDA0NGUyZS4uMDA5NGU5OWQyMzY4YWJmMzVjNGE0YzAxODJmZjY0YTRh
ZjNmYzk1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5
aW5nX29ubG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5nX29ubG9hZF9saW5rX3ByZWxvYWRfYWZ0
ZXJfZGlzY292ZXJ5Lmh0bWwKQEAgLTEsNyArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3Jp
cHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOwogICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQogICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKQEAgLTE0LDggKzEyLDYgQEAKIDxzY3JpcHQ+CiAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKICAgICAgICAgc2hv
dWxkQmVUcnVlKCJmaW5pc2hlZFNjcmlwdCIpOwotICAgICAgICBpZiAod2luZG93LmludGVybmFs
cykKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRF
bmFibGVkKGZhbHNlKTsKICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7IH0sIDApOwogICAgIH0pOwogICAgIHZhciBzY3IgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeV9p
bWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5nX29ubG9h
ZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5X2ltYWdlLmh0bWwKaW5kZXggODQ3MzVlZWQ0
NDQ2NzVmZDU0Y2FhNTFkNDQ3ZDk5YjYwOTg0OGIyOS4uYWViMWI0YzI2MDgxMGM0ZjNkMzFhNDI1
NzJjZTIxODA5NjFhYTlkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVs
b2FkL2RlbGF5aW5nX29ubG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5X2ltYWdlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5nX29ubG9hZF9s
aW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5X2ltYWdlLmh0bWwKQEAgLTEsNyArMSw1IEBACiA8
IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUp
OwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKQogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKQEAgLTE0LDggKzEy
LDYgQEAKIDxzY3JpcHQ+CiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5j
dGlvbigpIHsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJmaW5pc2hlZEltYWdlIik7Ci0gICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOwogICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKICAgICB9KTsKICAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNv
dXJjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGFmMTM1YTQxZmUyODczZjZhMGYxZGFjNTY1NmM2ZTJh
MDE5NTM1MTYuLmU0ODhhNzM3ZmMzZTY5NzE2MTA4ODhhMjMwNjIxODAyOTdjNDllYWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9h
ZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE1OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1
ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZl
IGEgdmFsaWQgYGFzYCB2YWx1ZQogUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291
cmNlcy9kdW1teS5qcycpOyBpcyB0cnVlCiBQQVNTIGludGVybmFscy5pc1ByZWxvYWRlZCgnLi4v
cmVzb3VyY2VzL2R1bW15LmNzcycpOyBpcyB0cnVlCiBQQVNTIGludGVybmFscy5pc1ByZWxvYWRl
ZCgnLi4vcmVzb3VyY2VzL3NxdWFyZS5wbmcnKTsgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy5odG1sCmluZGV4IDZk
NWM1MDQ3MDJjMTQwMDFkNDg5ZjVjYjk2YmM4MzI4NWZjODgzNTQuLjNlNmVhMWI0MzNkMDFkOWUw
ZDkyNTFlZDFlMWUyM2NiODliNTc3NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwKQEAgLTEsMTAgKzEsNiBAQAog
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdD4KLSAgICBpZiAod2luZG93
LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJl
bG9hZEVuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9cHJlbG9hZCBocmVmPSIuLi9y
ZXNvdXJjZXMvZHVtbXkuanMiIGFzPXNjcmlwdD4KIDxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4u
L3Jlc291cmNlcy9kdW1teS5jc3MiIGFzPXN0eWxlPgpAQCAtMjksNyArMjUsMyBAQAogICAgIHNo
b3VsZEJlRmFsc2UoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15Lnht
bD9iYWR2YWx1ZScpOyIpOwogICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVk
KCcuLi9yZXNvdXJjZXMvZHVtbXkueG1sJyk7Iik7CiA8L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRl
cl9pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9y
ZXNvdXJjZXNfZnJvbV9oZWFkZXJfaWZyYW1lLmh0bWwKaW5kZXggMGQ1Y2MyMTdhMTZiYWFjZjE5
MjM1NmMwZDYyYmYyNGY2Nzg5NjE2YS4uOTE5MTQ2OWFkMzc1NjQzOTk5YTk1NTY1Mjk5YTg2ZjQ3
N2Q4ZjMxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25s
b2FkX3Jlc291cmNlc19mcm9tX2hlYWRlcl9pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyX2lmcmFtZS5o
dG1sCkBAIC0xLDcgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExp
bmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENo
aWxkRnJhbWVzQXNUZXh0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3By
ZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faW52YWxpZF9oZWFkZXJzLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faW52YWxp
ZF9oZWFkZXJzLmh0bWwKaW5kZXggZDdmNzQ2YWZiOTdiMzMzOTE5ZGE4MWU2MzkzZTg4Y2M1NGVi
MGQ2Zi4uNjM0M2M1MTlhZDdlMDcyMWFhYTdkZTM1MDQ2OGU4MzNkNTBkYTRhNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9t
X2ludmFsaWRfaGVhZGVycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9h
ZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9pbnZhbGlkX2hlYWRlcnMuaHRtbApAQCAtMSw3ICsx
LDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFs
cykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJs
ZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4
dCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNf
YWRkaW5nX3ByZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5h
bWljX2FkZGluZ19wcmVsb2FkLmh0bWwKaW5kZXggY2VhOGZlMDQyNDYwYWE2OTI5YmRhYjFmNmEy
ZDE3NzNlYzFjYjdiYS4uYWZkY2Y5ZDVjNGJjNTIyYmEzMTZhMmJlMWM3ZjJiYjk1YzVkNmU2YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfYWRkaW5n
X3ByZWxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1p
Y19hZGRpbmdfcHJlbG9hZC5odG1sCkBAIC0xLDEwICsxLDYgQEAKIDwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUp
OwotPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMTcsOCArMTMsNSBAQAogPHNjcmlwdCBz
cmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvc2xvdy1zY3JpcHQucGw/ZGVsYXk9
MTAwIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQ
cmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS5qcycpOyIpOwotCi0gICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxv
YWRFbmFibGVkKGZhbHNlKTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3ByZWxvYWRfaHJlZi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1vdmVf
cHJlbG9hZF9ocmVmLWV4cGVjdGVkLnR4dAppbmRleCA2ZWMxODQ4OGZiYjEwODVlZDVmODNiN2M1
MmYwMWVjYTQ5YjI5ZTJkLi4zYjQ4ZDEwYjJkZjI4ZmJjM2NiZDhkNGMwNDEwNmJiZjc1YTE4MzM0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1v
dmVfcHJlbG9hZF9ocmVmLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByZWxvYWQvZHluYW1pY19yZW1vdmVfcHJlbG9hZF9ocmVmLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogPGxpbmsgcmVsPXByZWxvYWQ+IGhh
cyBhbiBpbnZhbGlkIGBocmVmYCB2YWx1ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE3OiA8bGlu
ayByZWw9cHJlbG9hZD4gaGFzIGFuIGludmFsaWQgYGhyZWZgIHZhbHVlCiBQQVNTIGRvd25sb2Fk
ZWRJbWFnZSBpcyBmYWxzZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1vdmVfcHJl
bG9hZF9ocmVmLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19y
ZW1vdmVfcHJlbG9hZF9ocmVmLmh0bWwKaW5kZXggMzEwZGVmMmIyYjE3OWZlZjgyMDk4ZWM3ZjI0
NmQyMTI2YjYwZTIyMC4uMTJmZGIxNGNjYTM4NjAyN2VjYjIxOWJkZGExMzc4YjUyZDk4ZDQzNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3Zl
X3ByZWxvYWRfaHJlZi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9k
eW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYuaHRtbApAQCAtMiwxMCArMiw4IEBACiA8aHRtbD4K
IDxoZWFkPgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykgewotICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKKyAg
ICBpZiAod2luZG93LmludGVybmFscykKICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgfQogPC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgogPGJvZHk+
CkBAIC0yNCwxMCArMjIsOCBAQAogICAgICAgICAgICAgICAgIGRvd25sb2FkZWRJbWFnZSA9IHRy
dWU7CiAgICAgICAgIH0KICAgICAgICAgc2hvdWxkQmVGYWxzZSgiZG93bmxvYWRlZEltYWdlIik7
Ci0gICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7CisgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmFsc2UpOwotICAgICAgICB9CiAgICAgfSk7CiA8
L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJl
bG9hZC9ub3RfZGVsYXlpbmdfd2luZG93X29ubG9hZF9iZWZvcmVfZGlzY292ZXJ5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvbm90X2RlbGF5aW5nX3dpbmRvd19vbmxvYWRf
YmVmb3JlX2Rpc2NvdmVyeS5odG1sCmluZGV4IDViNzU5NjBjNmU5ZTBkZGQ4ODU2OTliMjNmNjJi
NzNlYWRjOTQ1NDguLjdmNDIyYTZjMmE2MjdjMjhjNmQ5NjlkNzVlZWQ4NzVjYmZlZjU4YjIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9ub3RfZGVsYXlpbmdfd2lu
ZG93X29ubG9hZF9iZWZvcmVfZGlzY292ZXJ5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcmVsb2FkL25vdF9kZWxheWluZ193aW5kb3dfb25sb2FkX2JlZm9yZV9kaXNjb3Zlcnku
aHRtbApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLSAgICBpZiAo
d2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRM
aW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwpAQCAtMTUsOCArMTMsNiBAQAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAg
ICAgIHNob3VsZEJlVHJ1ZSgid2luZG93T25Mb2FkIik7CiAgICAgICAgIGlmIChmaW5pc2hlZElt
YWdlICYmIGZpbmlzaGVkU2NyaXB0KSB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmludGVybmFs
cykKLSAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVs
b2FkRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50LWV4
cGVjdGVkLnR4dAppbmRleCA1YmNkMjZlYTRkZGExMjMwZTRiZDQ4OTM3MTZmMWVlOGU4ZThiMmE1
Li4yOTE2YWYyNTE2NmM4YWY4NGYwYjljMTliNWU0ZGQ4ZTdiYmQ3MTcyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiA8bGluayBy
ZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1ZQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDI3OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1
ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQuaHRtbAppbmRl
eCBhYzBjYzk0NmQ0NDAyZjFmZDE4M2Q4NjFjOTI5NDYxNTgyNTIwMTM4Li5kMWFkMjI4Y2FmMjBi
ZDZiNmNmNTFiMGRiNmEzN2ZlMDM5YjQxMzk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50Lmh0bWwKQEAgLTEsNyArMSw1IEBACiA8IURPQ1RZ
UEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOwogICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KQogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKQEAgLTM3LDggKzM1LDYgQEAK
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmFja0ZhaWxlZCIpOwogICAgICAgICBzaG91bGRCZVRy
dWUoImdpYnJpc2hGYWlsZWQiKTsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJub1R5cGVGYWlsZWQi
KTsKLSAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7CiAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwogICAgIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25s
b2FkX2V2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9v
bmxvYWRfZXZlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDdiMjMyY2U0NTYyM2NkYWFhY2E3NGYxNTNm
ZjM0ODMzMzg3ODRjZmMuLjFmMTkwNTM1YWJjODIyYTY1MTI2YWYzOWQ3NzczZDEyNTBjZjQxMmUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRf
ZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDM1OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1ZQotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDM2OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFs
aWQgYGFzYCB2YWx1ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMzOiA8bGluayByZWw9cHJlbG9h
ZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM0
OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1ZQogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50Lmh0bWwKaW5kZXggOGIxMWJmODM1
YzA3M2JhNjFlM2Y2MzhlOTI0NjAyOGY5NTZhODBmZC4uYTZjYmE2NmQwOWFmNTY1OTllYmM4Y2Ew
ZGFjMzYyODMxZTZlZGIwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVs
b2FkL29ubG9hZF9ldmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9h
ZC9vbmxvYWRfZXZlbnQuaHRtbApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNj
cmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCiAgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwpAQCAtNTAsOCArNDgsNiBAQAogICAgICAgICBzaG91
bGRCZVRydWUoInhzbHRFcnJvcmVkIik7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgibm9UeXBlTG9h
ZGVkIik7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZW1wdHlUeXBlTG9hZGVkIik7Ci0gICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOwogICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2Rvd25s
b2FkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3By
ZWxvYWQvcmVzb3VyY2VzL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHAKaW5kZXgg
MTkxOGI4NWRlN2EwMjBkYTBlNDIwZjE5ODY1MzgzNTJlZDE1MmMwNi4uOTk2Yzk1NGJlMTY5ZTA5
NDFiNGU1ZjMwNjkzYjEwYmJjZGEyNzIxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhw
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMvZG93bmxvYWRf
cmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocApAQCAtMjAsNyArMjAsMyBAQCBoZWFkZXIoIkxpbms6
IDwuLi9yZXNvdXJjZXMvZHVtbXkueG1sPjsgcmVsPXByZWxvYWQiLCBmYWxzZSk7CiAgICAgc2hv
dWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkueG1s
P2JhZHZhbHVlJyk7Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQo
Jy4uL3Jlc291cmNlcy9kdW1teS54bWwnKTsiKTsKIDwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICBp
ZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2ludmFsaWRfcmVzb3VyY2VzX2Zy
b21faGVhZGVyLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMv
aW52YWxpZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwCmluZGV4IDBmZGM3ZjdmZDNiNjNjOGEw
Mjk5NmY5YTA4NzhkOTg5NGIxMWI2ZTcuLmJkZjM0NGI1ZDRkZWM2NjQ3NGQ5YjkzNzM2ZDE3MGZk
YzhhNTZjODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNv
dXJjZXMvaW52YWxpZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMvaW52YWxpZF9yZXNvdXJjZXNfZnJvbV9oZWFk
ZXIucGhwCkBAIC00MCw3ICs0MCwzIEBAIGhlYWRlcigiTGluazogPCAgIC4uL3Jlc291cmNlcy9k
dW1teS5qcz9mb29iYXIgPjsgcmVsPXByZWxvYWQ7IGFzPSciLCBmYWxzZSk7CiAgICAgc2hvdWxk
QmVGYWxzZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcjZm9vYmFyJyk7Iik7CiAgICAgc2hvdWxk
QmVGYWxzZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvQWhlbS50dGYnKTsi
KTsKIDwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2Up
OwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQv
c2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dAppbmRleCAw
N2I1OGQ4NjhjM2E3ODM2MzU5OGJmNjUxYTdmODM1NTAyNjlkYWJjLi5kZTAxMzQyMjYwOTU5Y2U3
ODQ5MDRkOWQ0MDA4ZGY2NDhhNjI3NzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjE6IDxsaW5r
IHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTk6IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZh
bHVlCiAgCiAKIFBBU1MgTWFrZXMgc3VyZSB0aGF0IHByZWxvYWRlZCByZXNvdXJjZXMgYXJlIG5v
dCBkb3dubG9hZGVkIGFnYWluIHdoZW4gdXNlZCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLmh0bWwKaW5kZXgg
MTVlMDRmYWZmYTQxMjJkZGIxOTBiMGNkODVmMmZjYjY3NDM1YzM1NS4uODY4M2U4Zjg2ZGI4NWRi
ZDA2MDRkZDAzNDE3YjM4ZmNiZjQ5NjkwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLmh0bWwKQEAgLTEs
OSArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKLSAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxl
ZCh0cnVlKTsKKyAgICBpZiAod2luZG93LmludGVybmFscykKICAgICAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFJlc291cmNlVGltaW5nRW5hYmxlZCh0cnVlKTsKLSAgICB9CiA8L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CkBAIC02MSwxMCArNTksOCBAQAogICAgICAgICAgICAgLy8gRklYTUU6IFhIUiBz
aG91bGQgdHJpZ2dlciBhIHNpbmdsZSBkb3dubG9hZCwgYnV0IGl0IGRvd25sb2FkcyAyIHJlc291
cmNlcyBpbnN0ZWFkLgogICAgICAgICAgICAgdmVyaWZ5RG93bmxvYWROdW1iZXIoImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvZHVtbXkueG1sIiwgMik7CiAgICAgICAgICAgICAvLyBG
SVhNRTogV2Ugc2hvdWxkIHZlcmlmeSBmb3IgdmlkZW8gYW5kIGF1ZGlvIGFzIHdlbGwsIGJ1dCB0
aGV5IHNlZW0gdG8gKGZsYWtpbHk/KSB0cmlnZ2VyIG11bHRpcGxlIHBhcnRpYWwgcmVxdWVzdHMu
Ci0gICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgewotICAgICAgICAgICAgICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgICAgICB9CiAgICAg
ICAgICAgICB0LmRvbmUoKTsKICAgICAgICAgICAgIH0pLCAxMDApOwogICAgIH0pKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdp
bi1wcmVsb2FkZWQtY3NzLXN0eWxlc2hlZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkZWQtY3NzLXN0eWxlc2hlZXQuaHRt
bAppbmRleCA0YWYxNTQwZTRkOTM0ZDZmYTMyMDA4NWNiNGMwOTU5Nzc2ZWFiZWFlLi5hMmJkYzlk
NjVmN2UzMDk3MzA2MDJiNThlZDFjYjc5MWE2YmRiN2NkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGVkLWNzcy1z
dHlsZXNoZWV0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNo
ZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRlZC1jc3Mtc3R5bGVzaGVldC5odG1sCkBAIC0xLDcgKzEs
NSBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0g
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkaW5nLWNzcy1zdHlsZXNoZWV0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmln
aW4tcHJlbG9hZGluZy1jc3Mtc3R5bGVzaGVldC5odG1sCmluZGV4IGM5ZTc0MDc2MWU4ZGQ1MTRh
MTkwOGY2ZmU0MzcyMGM2YTQxMDExNDUuLmM5NWE5ZTUzNWVlZjM3MTVjMzA5ZDBiY2EzMzBlMmQ1
MjNkYTAwNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2Fj
aGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkaW5nLWNzcy1zdHlsZXNoZWV0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRp
bmctY3NzLXN0eWxlc2hlZXQuaHRtbApAQCAtMiw4ICsyLDYgQEAKIDxodG1sPgogPGJvZHk+CiA8
c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299803</attachid>
            <date>2017-01-26 05:25:51 -0800</date>
            <delta_ts>2017-01-26 12:04:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167201-20170126142347.patch</filename>
            <type>text/plain</type>
            <size>40240</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE2NmZhMTdjZmIwMzJl
YjlmZTAwOWZhMmU1YzNkMjcyMjBiMjliNy4uZDQyODUzY2YwODU1M2VlMmI2NjA2ZTEyZTc2MGI5
NWY4MzM5ZDYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTAxLTI2ICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4g
b2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0aGUgZXhwbGlj
aXQgc2V0dGluZyBvZiB0aGUgTGluayBQcmVsb2FkIGV4cGVyaW1lbnRhbCBmZWF0dXJlLAorICAg
ICAgICBhcyBpdCBpcyBub3cgb24gYnkgZGVmYXVsdCBmb3IgdGVzdGluZy4KKworICAgICAgICBO
byBuZXcgdGVzdHMgYXMgdGhpcyBqdXN0IHJlbW92ZXMgbWV0aG9kcyBmcm9tIHNldHRpbmdzLgor
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aWRsOgorCiAyMDE3LTAxLTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmVydCByMjEwODgyLCByZW1vdmluZyBzdXBwb3J0IGZvciBiYWNrZ3Jv
dW5kLXJlcGVhdC14L3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA4MGM3Mjk0MWNmYTM0NmUxMzcxZGM1
OTY5ZjYxOTljMjE5MWFlMjRmLi5iNzVlOWRiNWFiN2E2MTAxODJjNmM5NDdiOTVlNjJiYWFiOTBm
ZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTctMDEtMjYgIFlvYXYg
V2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBv
ZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToK
KyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgbGlua1ByZWxvYWRFbmFibGVkXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHNldExpbmtQcmVsb2FkRW5hYmxlZDpdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE3
LTAxLTI0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CiAKICAgICAgICAgW1dl
YlJUQ10gSW50cm9kdWNlIGxpYndlYnJ0YyBhYnN0cmFjdGlvbiBmb3IgV0sxL1dLMiBpbXBsZW1l
bnRhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA2NWUzYjg4MTdkMjUwNDczNTU0NTM0Nzk1NTdj
N2IxNjJiM2ZlNWY0Li42YmZkZTZiNTMwZDYzZWQwMDU5MTM4Y2NmNjY5ZDQ1MDEzZWExYWMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDEtMjYgIFlvYXYgV2Vpc3Mg
IDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnkt
ZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVu
Y2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2Vz
Ojp2YWx1ZUZvcktleSk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0TGlua1ByZWxvYWRF
bmFibGVkKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpsaW5rUHJlbG9hZEVuYWJsZWQpOgor
ICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmlkbDoKKwogMjAxNy0wMS0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bmZAZ21haWwuY29tPgogCiAgICAgICAgIFtXZWJSVENdIEludHJvZHVjZSBsaWJ3ZWJydGMgYWJz
dHJhY3Rpb24gZm9yIFdLMS9XSzIgaW1wbGVtZW50YXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzgyZGQ2
ODE3MDMwNjMxNmI0MTBmMWY1YzRhY2JlNjFhMDdhYWJlNy4uMTY4NjM1MjYwMGQyYjE3YTA5YjIy
MGY0MTJiZDUyYmI1Mzc5MzJjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAx
LTI2ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxv
YWQgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRMaW5rUHJlbG9hZEVu
YWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTctMDEtMjUgIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtRdWlja0xvb2tdIERpc3BsYXkgYSBXS1Bhc3N3
b3JkVmlldyB3aGVuIGEgZG9jdW1lbnQgaXMgcGFzc3dvcmQtcHJvdGVjdGVkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCA0MmQwNDNiZjVkMTIwYjBm
MjdhMTBlZmU5M2QzNDlmNzJiYjcwODAzLi4yOGQwYjJiN2Q3ODc1OWZkOTVjNGViMzJlOTEwMDU3
MWYwOTkxNTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKQEAgLTk1LDcgKzk1LDYgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0
dGluZ3MmIHNldHRpbmdzKQogICAgICwgbV9mb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNz
aWJpbGl0eVZhbHVlKHNldHRpbmdzLmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmls
aXR5VmFsdWUoKSkKICAgICAsIG1fZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmls
aXR5VmFsdWUoc2V0dGluZ3MuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5
VmFsdWUoKSkKICAgICAsIG1fcmVzb3VyY2VUaW1pbmdFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucmVzb3VyY2VUaW1pbmdFbmFibGVkKCkpCi0gICAgLCBt
X2xpbmtQcmVsb2FkRW5hYmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpKQogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpCiAgICAgLCBtX2luZGV4ZWREQldvcmtlcnNFbmFibGVkKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoKSkKICNl
bmRpZgpAQCAtMTg0LDcgKzE4Myw2IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpy
ZXN0b3JlVG8oU2V0dGluZ3MmIHNldHRpbmdzKQogICAgIFNldHRpbmdzOjpzZXRBbGxvd3NBbnlT
U0xDZXJ0aWZpY2F0ZShmYWxzZSk7CiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChtX3Jlc291cmNlVGltaW5nRW5h
YmxlZCk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRM
aW5rUHJlbG9hZEVuYWJsZWQobV9saW5rUHJlbG9hZEVuYWJsZWQpOwogI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChtX2luZGV4ZWREQldvcmtl
cnNFbmFibGVkKTsKICNlbmRpZgpAQCAtNjcxLDExICs2NjksNiBAQCB2b2lkIEludGVybmFsU2V0
dGluZ3M6OnNldFJlc291cmNlVGltaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0TGlua1ByZWxvYWRF
bmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sIGVuYWJsZWQp
CiB7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMDQ3NzAwNDRhNmEzOTk1M2JmZTE3
ZGRmMTM1MDFhOGJmMGNkNDQxNC4uNWM5ZTkzNjlhYjc5NmJmMDZlYzYzOTc0NmQ5ODhmZTg0ZWQ2
NjRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTEx
MCw3ICsxMTAsNiBAQCBwdWJsaWM6CiAKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgog
ICAgIHN0YXRpYyB2b2lkIHNldFJlc291cmNlVGltaW5nRW5hYmxlZChib29sKTsKLSAgICBzdGF0
aWMgdm9pZCBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0
SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0Q1NTR3Jp
ZExheW91dEVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChi
b29sKTsKQEAgLTE4OCw3ICsxODcsNiBAQCBwcml2YXRlOgogCiAgICAgICAgIC8vIFJ1bnRpbWUg
ZW5hYmxlZCBzZXR0aW5ncy4KICAgICAgICAgYm9vbCBtX3Jlc291cmNlVGltaW5nRW5hYmxlZDsK
LSAgICAgICAgYm9vbCBtX2xpbmtQcmVsb2FkRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2luZGV4
ZWREQldvcmtlcnNFbmFibGVkOwogICAgICAgICBib29sIG1fY3NzR3JpZExheW91dEVuYWJsZWQ7
CiAgICAgICAgIGJvb2wgbV93ZWJHTDJFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5pZGwKaW5kZXggMWRmMGQzYmIxZDhjNDc4MjdiNGJmY2Q5ZGFhZjI4
NzEzMzc3ZWE5Mi4uNWY0YmRlYzM2ZmUwZDIzMjlkZTQzZTgxMjQ1ZmNhZGNkN2NhYTBhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC04Myw3ICs4
Myw2IEBAIGVudW0gRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIHsgInN5c3RlbSIsICJvbiIsICJv
ZmYiIH07CiAKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgogICAgIHZvaWQgc2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdm9pZCBzZXRMaW5rUHJl
bG9hZEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB2b2lkIHNldEluZGV4ZWREQldvcmtl
cnNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdm9pZCBzZXRDU1NHcmlkTGF5b3V0RW5h
YmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChib29sZWFu
IGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKaW5kZXggMjI4YzkzMWNhNzYxMmM4MTJmMWJhZDA3YWI5NTYyZWYw
N2RlNDJhYi4uMDliYjM4YmE0ODY4NTcxOGNlNDQ3NjUxNjdkOTUwOGQyNzcxNzJlOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCkBAIC0xNzUsNiArMTc1LDcgQEAKICNkZWZpbmUgV2ViS2l0U3VidGxlQ3J5cHRvRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRTdWJ0bGVDcnlwdG9FbmFibGVkIgogI2RlZmluZSBXZWJL
aXRNZWRpYVN0cmVhbUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFTdHJlYW1FbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRQZWVyQ29ubmVjdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0UGVlckNvbm5lY3Rpb25FbmFibGVkIgorI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgogCiAjaWYgIVRB
UkdFVF9PU19JUEhPTkUKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJz
IHNob3VsZCBiZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDU1YTI4YWQxYmRi
MjVmZjc3N2RkOWMzYmZjMDFiNTg2NDg4NTcyZjIuLmI0MTU4ZmY0MWUwYTc3NTkxMWMwYzliNGYz
NDI4NmRhZmUzZmY0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQpAQCAtMjc0Myw2ICsyNzQzLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNy
ZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktp
dFBlZXJDb25uZWN0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKWxpbmtQ
cmVsb2FkRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktp
dExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldExpbmtQ
cmVsb2FkRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFn
IGZvcktleTpXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAo
dm9pZClzZXRNZXRhUmVmcmVzaEVuYWJsZWQ6KEJPT0wpZW5hYmxlZAogewogICAgIFtzZWxmIHNl
dEhUVFBFcXVpdkVuYWJsZWQ6ZW5hYmxlZF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBkM2M4MmJkOWE2M2ZhYjkwZTMxNzc1
ZTZiZWRhNGViODEwMzI2NGIyLi5mZWU1MWI1ZTRkMDExNDRjYzI3Mjg1MmYyODY1YjE2MzRiZWIz
ODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmgKQEAgLTUyNSw1ICs1MjUsNiBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVu
Y2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIGF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW47CiBAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBpbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ7CitAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiAKIEBlbmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA1N2JhYTU0ZTM0MmViY2MyMTdiNTBjODEz
NDBlOWU0NmI3MWM2NWRmLi4xZDIwNmZmZWY3ZTI4NWY2NGVkZGJlOWJmZDE1ZmY5ZmZiNWE3ZDNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yOTA4LDYgKzI5MDgsOCBA
QCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTdWJ0bGVDcnlwdG9FbmFi
bGVkKFtwcmVmZXJlbmNlcyBzdWJ0bGVDcnlwdG9FbmFibGVkXSk7CiAjZW5kaWYKIAorICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFi
bGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CisKICAgICBOU1RpbWVJbnRlcnZh
bCB0aW1lb3V0ID0gW3ByZWZlcmVuY2VzIGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25U
aW1lb3V0SW5TZWNvbmRzXTsKICAgICBpZiAodGltZW91dCA+IDApCiAgICAgICAgIHNldHRpbmdz
LnNldEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKHRpbWVv
dXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbCBiL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzUHJpdmF0ZS5pZGwKaW5kZXggOGZkMWQ5MjZmNzBkMDk4ZDFlNzM3ZjRmZDMxMmYyN2Zj
ZjViMmQxNS4uNWQ5MWM1MzczYzM3NmM1MmViNTRjZTU5MmE4OTA2M2Q2YjViZDE3NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCkBAIC0xOTEsNCArMTkxLDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1By
aXZhdGU0IDogSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTMKICAgICBIUkVTVUxUIHNldEFwcGxpY2F0
aW9uSWQoW2luXSBCU1RSIGFwcGxpY2F0aW9uSWQpOwogICAgIEhSRVNVTFQgd2ViQW5pbWF0aW9u
c0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CiAgICAgSFJFU1VMVCBzZXRXZWJBbmltYXRp
b25zRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBsaW5rUHJlbG9hZEVu
YWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRMaW5rUHJlbG9hZEVu
YWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA1OGJiODgxMGRiNjJkYjU0MDRjMGU2MTJlOTRjMTE0
MDcyYWExZmMwLi5hZjk3MjA2ZTg3NjEyYmY2NTM5M2NjNmQ2ZWM1ZDdjMGIyMzg5YTk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTc3LDMg
KzE3Nyw1IEBACiAjZGVmaW5lIFdlYktpdE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkUHJlZmVy
ZW5jZUtleSAiV2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQiCiAKICNkZWZpbmUgV2Vi
S2l0V2ViQW5pbWF0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRXZWJBbmltYXRpb25z
RW5hYmxlZCIKKworI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5
ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5j
cHAKaW5kZXggZTY1MzEyOGJmMzM0ODlmYTczZjg0Nzk3ZTI0OTFiNWYwYTliMGIyMi4uZTgyMmRi
ODc1MmUxZGEwOTllYjFkNGY0ZWY2NGYzYWQ3OTU1YmE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VzLmNwcApAQCAtMzA2LDYgKzMwNiw4IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6Omlu
aXRpYWxpemVEZWZhdWx0U2V0dGluZ3MoKQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVm
YXVsdHMsIENGU1RSKFdlYktpdFdlYkFuaW1hdGlvbnNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtD
RkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZT
VFIoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxz
ZSk7CisKICAgICBkZWZhdWx0U2V0dGluZ3MgPSBkZWZhdWx0czsKIH0KIApAQCAtMTk5MSw2ICsx
OTkzLDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6Om1vZGVybk1lZGlhQ29udHJvbHNFbmFi
bGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQg
V2ViUHJlZmVyZW5jZXM6OnNldExpbmtQcmVsb2FkRW5hYmxlZChCT09MIGVuYWJsZWQpCit7Cisg
ICAgc2V0Qm9vbFZhbHVlKFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXksIGVu
YWJsZWQpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjps
aW5rUHJlbG9hZEVuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJs
ZWQpCisgICAgICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVG
b3JLZXkoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJu
IFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldEFwcGxpY2F0aW9uSWQoQlNU
UiBhcHBsaWNhdGlvbklkKQogewogICAgIG1fYXBwbGljYXRpb25JZCA9IFN0cmluZyhhcHBsaWNh
dGlvbklkKS5jcmVhdGVDRlN0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5k
ZXggZDA5NDBhZjc0MmMyZDU3M2M2M2VlNjRlMGNkZjhiY2YyMzNiZjZmZi4uNjkxNTJlYzkyNjll
ZDg3OTZiZDg0MTljNzkwMmUxMmVjYjljM2JjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNl
cy5oCkBAIC0yNDUsNiArMjQ1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXRBcHBsaWNhdGlvbklkKEJTVFIpOwogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSB3ZWJBbmltYXRpb25zRW5hYmxlZChfT3V0XyBCT09MKik7CiAg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFdlYkFuaW1hdGlvbnNFbmFi
bGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsaW5rUHJl
bG9hZEVuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVmZXJl
bmNlcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaAppbmRleCBlMGE2NDgyODkzYTBlZWM4NjFjMGI3ZWQyZjk4NzU2YWRhNGI4ZDg3Li45
MjYxMDIxOThiYzk1YWRjOGEzZWE0Yzk1MjliYmE5YzNkNmFlYjM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTMxOSw2ICsz
MTksNyBAQAogICAgIG1hY3JvKFN1YnRsZUNyeXB0b0VuYWJsZWQsIHN1YnRsZUNyeXB0b0VuYWJs
ZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJT
dWJ0bGVDcnlwdG8iLCAiRW5hYmxlIFN1YnRsZUNyeXB0byBzdXBwb3J0IikgXAogICAgIG1hY3Jv
KFdlYkFuaW1hdGlvbnNFbmFibGVkLCB3ZWJBbmltYXRpb25zRW5hYmxlZCwgQm9vbCwgYm9vbCwg
ZmFsc2UsICJXZWIgQW5pbWF0aW9ucyIsICJXZWIgQW5pbWF0aW9ucyBwcm90b3R5cGUiKSBcCiAg
ICAgbWFjcm8oV2ViR0wyRW5hYmxlZCwgd2ViR0wyRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVM
VF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIldlYkdMIDIuMCIsICJXZWJHTCAyIHBy
b3RvdHlwZSIpIFwKKyAgICBtYWNybyhMaW5rUHJlbG9hZEVuYWJsZWQsIGxpbmtQcmVsb2FkRW5h
YmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwg
IkxpbmsgUHJlbG9hZCIsICJMaW5rIHByZWxvYWQgc3VwcG9ydCIpIFwKICAgICBcCiAKICNpZiBQ
TEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcAppbmRleCBlZDNhNmVhZDdhMzM4ZGY2NmRkZjZmZGJhMWE4MjkwNzc0MGQx
MzE3Li5iMjNhOTZjYTVjZmRkYzY4NTYyOGNmNmVkYTUxYWU5YTZkYTA0OTEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0xNjIx
LDYgKzE2MjEsMTYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U3VidGxlQ3J5cHRvRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQogICAgIHJldHVybiB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5zdWJ0bGVDcnlwdG9FbmFibGVkKCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNl
c1NldExpbmtQcmVsb2FkRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBi
b29sIGZsYWcpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0TGlua1ByZWxvYWRF
bmFibGVkKGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRMaW5rUHJlbG9hZEVuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+bGlua1ByZWxvYWRFbmFibGVkKCk7Cit9CisKIHZvaWQgV0tQcmVm
ZXJlbmNlc1NldFNob3VsZFN1cHByZXNzS2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2
aWdhdGlvbihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0
RHVyaW5nUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKGZsYWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCBj
MDRlNDU4ZDI3YzM4NjBiYTFlN2Q1MDRhMTU4MWYwNzM0NWExMGQ5Li5kZjQ3YzlhZDNmM2RjMzE2
Y2FmNjQzYmVhODExMTBlMjk5NTU5NmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtNDUzLDYgKzQ1
MywxMCBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U3VidGxlQ3J5cHRvRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmKTsKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91
bGRTdXBwcmVzc0tleWJvYXJkSW5wdXREdXJpbmdQcm92aXNpb25hbE5hdmlnYXRpb24oV0tQcmVm
ZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRT
aG91bGRTdXBwcmVzc0tleWJvYXJkSW5wdXREdXJpbmdQcm92aXNpb25hbE5hdmlnYXRpb24oV0tQ
cmVmZXJlbmNlc1JlZik7CiAKKy8vIERlZmF1bHRzIHRvIGZhbHNlLgorV0tfRVhQT1JUIHZvaWQg
V0tQcmVmZXJlbmNlc1NldExpbmtQcmVsb2FkRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29s
IGZsYWcpOworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBkZjVk
MDU0ZmMxY2IyMzMxYjI3Y2I1NjIzNGQ4NWQ3ZjQzNjMwYTg1Li5mMjE3YWM2YmQ1ZGM1MmQ1ZDhk
ZTc2NDZiNzk5Yjc1Y2JlYjcwODdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMjM4LDYgKzMyMzgsOCBAQCB2b2lkIFdlYlBhZ2U6OnVw
ZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogCiAgICAg
Ly8gRXhwZXJpbWVudGFsIEZlYXR1cmVzLgogCisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpsaW5rUHJlbG9hZEVuYWJsZWRLZXkoKSkpOworCiAj
aWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldENTU0dyaWRMYXlvdXRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y3NzR3JpZExheW91dEVuYWJsZWRLZXkoKSkpOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggYmJkYTRmOTEyMzcwN2JmNjkxMTM3NmQ0NTQyNjYxMWZjZTY4Mjg3NC4uZThiNDYzZjkxYWNj
YjlhM2U3MDM1NmJjNDlkYTRhYjgwMTcxYjBlMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAxLTI2ICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4g
b2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25z
aXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6
CisKIDIwMTctMDEtMjUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdIEljb24gRGF0YWJhc2Ugc2hvdWxkIGJlIGluIHByaXZhdGUgYnJv
d3NpbmcgbW9kZSBmb3IgZXBoZW1lcmFsIHdlYiB2aWV3cwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDYxYTk1ZDk4ZjhjMGJjOWJiNGY1ZmRkN2M1YTRl
NjhiYTVjYzdhMmYuLmMxNzQ4YzQxM2JiMmQwMTY1ODU2ZGE1MDcwNzgzYTc0ZmI4YzI1YTMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTEwMDksNiAr
MTAwOSw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1
ZXMoKQogICAgIFtwcmVmZXJlbmNlcyBzZXRNZWRpYVN0cmVhbUVuYWJsZWQ6WUVTXTsKICAgICBb
cHJlZmVyZW5jZXMgc2V0UGVlckNvbm5lY3Rpb25FbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVu
Y2VzIHNldFdlYkFuaW1hdGlvbnNFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2VzIHNldExp
bmtQcmVsb2FkRW5hYmxlZDpZRVNdOwogCiAgICAgW1dlYlByZWZlcmVuY2VzIF9jbGVhck5ldHdv
cmtMb2FkZXJTZXNzaW9uXTsKICAgICBbV2ViUHJlZmVyZW5jZXMgX3NldEN1cnJlbnROZXR3b3Jr
TG9hZGVyU2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lP
bmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbl07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLmNwcAppbmRleCBkYmZiN2Y2NzVhYWE2OGUyMGE0MmM4OTYyOTlhNzI5MDMx
YTVjMDMxLi5hYjgxZWIxYTAwYjhiYzNmZDA3ZWZlNWZiMWJmMDhjNWQwZDQxYjZhIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTg3Nyw2ICs4Nzcs
NyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKElX
ZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgcHJlZnNQcml2YXRlNC0+c2V0U2hhZG93
RE9NRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGU0LT5zZXRDdXN0b21FbGVtZW50c0Vu
YWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlNC0+c2V0TW9kZXJuTWVkaWFDb250cm9sc0Vu
YWJsZWQoRkFMU0UpOworICAgIHByZWZzUHJpdmF0ZTQtPnNldExpbmtQcmVsb2FkRW5hYmxlZChU
UlVFKTsKIAogICAgIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2UpOwogfQpkaWZmIC0tZ2l0
IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRlcy93ZWJraXQub3JnL0No
YW5nZUxvZwppbmRleCA1MTU5NDc3YjQ3NWExY2I0ZWYyYWM1ZDgzYzUwMTE0YTY2NzFmMzJkLi45
NTc2YmE5NjUxNGE0ZDE5MDI4N2M0NjU4NjQ4MzUxZTk0NzM4YjliIDEwMDY0NAotLS0gYS9XZWJz
aXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZworKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE3LTAxLTI2ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2
LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhw
ZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBleHBlcmltZW50YWwtZmVhdHVyZXMuaHRtbDogQWRkZWQg
TGluayBQcmVsb2FkLgorCiAyMDE3LTAxLTIwICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEFuaW1hdGlvbnMgc2hvdWxkIGJlIG9mZiBieSBkZWZhdWx0
IGFuZCBlbmFibGVkIGFzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlCmRpZmYgLS1naXQgYS9XZWJz
aXRlcy93ZWJraXQub3JnL2V4cGVyaW1lbnRhbC1mZWF0dXJlcy5odG1sIGIvV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9leHBlcmltZW50YWwtZmVhdHVyZXMuaHRtbAppbmRleCBmMzJmMTNjYmQ2ODRlZjU1
NDlmMDIxNTYzYTk3Mzk0ZWVlMmFmNWIyLi5kN2EyYzM4YjVmZjc3YmEyZmEzNDQ5YjFlM2IyNjAz
YzBlMDFlNzVkIDEwMDY0NAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2V4cGVyaW1lbnRhbC1m
ZWF0dXJlcy5odG1sCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZXhwZXJpbWVudGFsLWZlYXR1
cmVzLmh0bWwKQEAgLTc4LDYgKzc4LDExIEBAIGZ1bmN0aW9uIHRlc3RXZWJHTDIoKSB7CiAgICAg
cmV0dXJuIGNhbnZhcy5nZXRDb250ZXh0KCJ3ZWJnbDIiKTsKIH0KIAorZnVuY3Rpb24gdGVzdExp
bmtQcmVsb2FkKCkgeworICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGlu
ayIpOworICAgIHJldHVybiBsaW5rLnJlbExpc3Quc3VwcG9ydHMoInByZWxvYWQiKTsKK30KKwog
ZnVuY3Rpb24gdGVzdEdhbWVwYWQoKSB7CiAgICAgcmV0dXJuIG5hdmlnYXRvci5nZXRHYW1lcGFk
czsKIH0KQEAgLTE0MCw2ICsxNDUsNyBAQCB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IGZ1bmN0aW9uICgpIHsKICAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9IlZhcmlhdGlvbkZv
bnRzIj48cD5WYXJpYXRpb24gRm9udHM8L3A+PC9kaXY+CiAgICAgICAgIDxkaXYgY2xhc3M9InRl
c3QiIGlkPSJXZWJBbmltYXRpb25zIj48cD5XZWIgQW5pbWF0aW9uczwvcD48L2Rpdj4KICAgICAg
ICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9IldlYkdMMiI+PHA+V2ViR0wgMi4wPC9wPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iTGlua1ByZWxvYWQiPjxwPkxpbmsgUHJlbG9h
ZDwvcD48L2Rpdj4KICAgICA8L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYzhiNzc0
YTFiNDk4MzY2YWEzZTNhYmVjN2YyNDNiNTg1YzY0NzcyLi40MzNmNjEyNDc2ZmNjY2ZiMmY3YWIw
MzhiZmU2Mjc4YThmNzNlZjllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTctMDEtMjYgIFlv
YXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBh
biBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIGNvZGUgZXhw
bGljaXRseSBlbmFibGluZyBMaW5rIHByZWxvYWQgZnJvbSB0aGUgdGVzdHMsIGFzIGl0IGlzIG5v
dworICAgICAgICB0dXJuZWQgb24gYnkgZGVmYXVsdCBmb3IgdGVzdGluZy4gQ29ycmVjdGVkIGV4
cGVjdGF0aW9uIGZpbGVzIGFjY29yZGluZ2x5LgorCisgICAgICAgICogaHR0cC90ZXN0cy9mZXRj
aC9yZWRpcmVjdG1vZGUtYW5kLXByZWxvYWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3By
ZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3ZlcnkuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9h
ZF9hZnRlcl9kaXNjb3ZlcnlfaW1hZ2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxv
YWQvZG93bmxvYWRfcmVzb3VyY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9w
cmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlcl9pZnJhbWUuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faW52YWxpZF9o
ZWFkZXJzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfYWRkaW5n
X3ByZWxvYWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1v
dmVfcHJlbG9hZF9ocmVmLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxv
YWQvZHluYW1pY19yZW1vdmVfcHJlbG9hZF9ocmVmLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9wcmVsb2FkL25vdF9kZWxheWluZ193aW5kb3dfb25sb2FkX2JlZm9yZV9kaXNjb3ZlcnkuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50Lmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFk
ZXIucGhwOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMvaW52YWxpZF9y
ZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9z
aW5nbGVfZG93bmxvYWRfcHJlbG9hZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRlZC1jc3Mtc3R5bGVzaGVl
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdp
bi1wcmVsb2FkaW5nLWNzcy1zdHlsZXNoZWV0Lmh0bWw6CisKIDIwMTctMDEtMjUgIFlvYXYgV2Vp
c3MgIDx5b2F2QHlvYXYud3M+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjAzMTEwKTogTGF5b3V0
VGVzdCBodHRwL3Rlc3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWRfcnVubmVyLmh0
bWwgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9y
ZWRpcmVjdG1vZGUtYW5kLXByZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0
Y2gvcmVkaXJlY3Rtb2RlLWFuZC1wcmVsb2FkLmh0bWwKaW5kZXggZDUyMTJjNTkwMWMwODc5MGFm
MDZkNzM2YzU0MzJlZWI3ZTg0MWQ4NC4uM2MxNTIwZTY4ZTI2MjQ1YjZmOGRiY2E5NzY5ZDBkZmM5
ZTkwMzdiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9yZWRpcmVj
dG1vZGUtYW5kLXByZWxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNo
L3JlZGlyZWN0bW9kZS1hbmQtcHJlbG9hZC5odG1sCkBAIC04LDEwICs4LDYgQEAKICAgICA8bWV0
YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJDYW5vbiBSZXNlYXJjaCBGcmFuY2UiIGhyZWY9Imh0dHBz
Oi8vd3d3LmNyZi5jYW5vbi5mciI+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLWlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9h
ZEVuYWJsZWQodHJ1ZSk7Ci0gICAgPC9zY3JpcHQ+CiAgICAgPGxpbmsgcmVsPXByZWxvYWQgb25s
b2FkPSJzdGFydFRlc3RzKCkiIGhyZWY9Ii4vcmVzb3VyY2VzL3JlZGlyZWN0LXdpdGgtY2FjaGUu
cGhwP2VuYWJsZUNhY2hpbmcmdXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNv
dXJjZXMvYWxsb3ctaWYtb3JpZ2luLnBocD9hbGxvd0NhY2hlJm9yaWdpbj1odHRwJTNBJTJGJTJG
MTI3LjAuMC4xJTNBODAwMCZuYW1lPWFsZXJ0LWZhaWwuanMmY29udGVudFR5cGU9dGV4dC9hc2Np
aSI+CiAgIDwvaGVhZD4KICAgPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3Zlcnku
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlu
a19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeS5odG1sCmluZGV4IDFmZTU1OTA0NTUzZGNkNjRmMTAw
YjZkNWY3ZTU4ZjI0ZGQwNDRlMmUuLjAwOTRlOTlkMjM2OGFiZjM1YzRhNGMwMTgyZmY2NGE0YWYz
ZmM5NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWlu
Z19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVy
X2Rpc2NvdmVyeS5odG1sCkBAIC0xLDcgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0
PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKICAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CkBAIC0xNCw4ICsxMiw2IEBACiA8c2NyaXB0PgogICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgiZmluaXNoZWRTY3JpcHQiKTsKLSAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5h
YmxlZChmYWxzZSk7CiAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOyB9LCAwKTsKICAgICB9KTsKICAgICB2YXIgc2NyID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic2NyaXB0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3ZlcnlfaW1h
Z2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRf
bGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeV9pbWFnZS5odG1sCmluZGV4IDg0NzM1ZWVkNDQ0
Njc1ZmQ1NGNhYTUxZDQ0N2Q5OWI2MDk4NDhiMjkuLmFlYjFiNGMyNjA4MTBjNGYzZDMxYTQyNTcy
Y2UyMTgwOTYxYWE5ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9h
ZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeV9pbWFnZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlu
a19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeV9pbWFnZS5odG1sCkBAIC0xLDcgKzEsNSBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsK
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCkKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CkBAIC0xNCw4ICsxMiw2
IEBACiA8c2NyaXB0PgogICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rp
b24oKSB7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZmluaXNoZWRJbWFnZSIpOwotICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiAgICAgfSk7CiAgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3Vy
Y2VzLWV4cGVjdGVkLnR4dAppbmRleCBhZjEzNWE0MWZlMjg3M2Y2YTBmMWRhYzU2NTZjNmUyYTAx
OTUzNTE2Li5lNDg4YTczN2ZjM2U2OTcxNjEwODg4YTIzMDYyMTgwMjk3YzQ5ZWFlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRf
cmVzb3VyY2VzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxNTogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBh
IHZhbGlkIGBhc2AgdmFsdWUKIFBBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJj
ZXMvZHVtbXkuanMnKTsgaXMgdHJ1ZQogUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jl
c291cmNlcy9kdW1teS5jc3MnKTsgaXMgdHJ1ZQogUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQo
Jy4uL3Jlc291cmNlcy9zcXVhcmUucG5nJyk7IGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbAppbmRleCA2ZDVj
NTA0NzAyYzE0MDAxZDQ4OWY1Y2I5NmJjODMyODVmYzg4MzU0Li4zZTZlYTFiNDMzZDAxZDllMGQ5
MjUxZWQxZTFlMjNjYjg5YjU3NzQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy5odG1sCkBAIC0xLDEwICsxLDYgQEAKIDwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxv
YWRFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPXByZWxvYWQgaHJlZj0iLi4vcmVz
b3VyY2VzL2R1bW15LmpzIiBhcz1zY3JpcHQ+CiA8bGluayByZWw9cHJlbG9hZCBocmVmPSIuLi9y
ZXNvdXJjZXMvZHVtbXkuY3NzIiBhcz1zdHlsZT4KQEAgLTI5LDcgKzI1LDMgQEAKICAgICBzaG91
bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS54bWw/
YmFkdmFsdWUnKTsiKTsKICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgn
Li4vcmVzb3VyY2VzL2R1bW15LnhtbCcpOyIpOwogPC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dExpbmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXJf
aWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVz
b3VyY2VzX2Zyb21faGVhZGVyX2lmcmFtZS5odG1sCmluZGV4IDBkNWNjMjE3YTE2YmFhY2YxOTIz
NTZjMGQ2MmJmMjRmNjc4OTYxNmEuLjkxOTE0NjlhZDM3NTY0Mzk5OWE5NTU2NTI5OWE4NmY0Nzdk
OGYzMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9h
ZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXJfaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlcl9pZnJhbWUuaHRt
bApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLSAgICBpZiAod2lu
ZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5r
UHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGls
ZEZyYW1lc0FzVGV4dCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVs
b2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2ludmFsaWRfaGVhZGVycy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2ludmFsaWRf
aGVhZGVycy5odG1sCmluZGV4IGQ3Zjc0NmFmYjk3YjMzMzkxOWRhODFlNjM5M2U4OGNjNTRlYjBk
NmYuLjYzNDNjNTE5YWQ3ZTA3MjFhYWE3ZGUzNTA0NjhlODMzZDUwZGE0YTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9p
bnZhbGlkX2hlYWRlcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQv
ZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faW52YWxpZF9oZWFkZXJzLmh0bWwKQEAgLTEsNyArMSw1
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVk
KHRydWUpOwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX2Fk
ZGluZ19wcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1p
Y19hZGRpbmdfcHJlbG9hZC5odG1sCmluZGV4IGNlYThmZTA0MjQ2MGFhNjkyOWJkYWIxZjZhMmQx
NzczZWMxY2I3YmEuLmFmZGNmOWQ1YzRiYzUyMmJhMzE2YTJiZTFjN2YyYmI5NWM1ZDZlNmMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX2FkZGluZ19w
cmVsb2FkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNf
YWRkaW5nX3ByZWxvYWQuaHRtbApAQCAtMSwxMCArMSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgogPGhlYWQ+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsK
LTwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTE3LDggKzEzLDUgQEAKIDxzY3JpcHQgc3Jj
PSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3Nsb3ctc2NyaXB0LnBsP2RlbGF5PTEw
MCI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJl
bG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkuanMnKTsiKTsKLQotICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2Fk
RW5hYmxlZChmYWxzZSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3By
ZWxvYWRfaHJlZi1leHBlY3RlZC50eHQKaW5kZXggNmVjMTg0ODhmYmIxMDg1ZWQ1ZjgzYjdjNTJm
MDFlY2E0OWIyOWUyZC4uM2I0OGQxMGIyZGYyOGZiYzNjYmQ4ZDRjMDQxMDZiYmY3NWExODMzNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3Zl
X3ByZWxvYWRfaHJlZi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
cmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3ByZWxvYWRfaHJlZi1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IDxsaW5rIHJlbD1wcmVsb2FkPiBoYXMg
YW4gaW52YWxpZCBgaHJlZmAgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNzogPGxpbmsg
cmVsPXByZWxvYWQ+IGhhcyBhbiBpbnZhbGlkIGBocmVmYCB2YWx1ZQogUEFTUyBkb3dubG9hZGVk
SW1hZ2UgaXMgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3ByZWxv
YWRfaHJlZi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVt
b3ZlX3ByZWxvYWRfaHJlZi5odG1sCmluZGV4IDMxMGRlZjJiMmIxNzlmZWY4MjA5OGVjN2YyNDZk
MjEyNmI2MGUyMjAuLjEyZmRiMTRjY2EzODYwMjdlY2IyMTliZGRhMTM3OGI1MmQ5OGQ0MzUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9w
cmVsb2FkX2hyZWYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHlu
YW1pY19yZW1vdmVfcHJlbG9hZF9ocmVmLmh0bWwKQEAgLTIsMTAgKzIsOCBAQAogPGh0bWw+CiA8
aGVhZD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CisgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHRydWUpOwotICAgIH0KIDwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KIDxib2R5PgpA
QCAtMjQsMTAgKzIyLDggQEAKICAgICAgICAgICAgICAgICBkb3dubG9hZGVkSW1hZ2UgPSB0cnVl
OwogICAgICAgICB9CiAgICAgICAgIHNob3VsZEJlRmFsc2UoImRvd25sb2FkZWRJbWFnZSIpOwot
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykgewotICAgICAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOworICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKGZhbHNlKTsKLSAgICAgICAgfQogICAgIH0pOwogPC9z
Y3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvbm90X2RlbGF5aW5nX3dpbmRvd19vbmxvYWRfYmVmb3JlX2Rpc2NvdmVyeS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL25vdF9kZWxheWluZ193aW5kb3dfb25sb2FkX2Jl
Zm9yZV9kaXNjb3ZlcnkuaHRtbAppbmRleCA1Yjc1OTYwYzZlOWUwZGRkODg1Njk5YjIzZjYyYjcz
ZWFkYzk0NTQ4Li43ZjQyMmE2YzJhNjI3YzI4YzZkOTY5ZDc1ZWVkODc1Y2JmZWY1OGIyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvbm90X2RlbGF5aW5nX3dpbmRv
d19vbmxvYWRfYmVmb3JlX2Rpc2NvdmVyeS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9ub3RfZGVsYXlpbmdfd2luZG93X29ubG9hZF9iZWZvcmVfZGlzY292ZXJ5Lmh0
bWwKQEAgLTEsNyArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlu
a1ByZWxvYWRFbmFibGVkKHRydWUpOwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKQEAgLTE1LDggKzEzLDYgQEAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewogICAgICAg
ICBzaG91bGRCZVRydWUoIndpbmRvd09uTG9hZCIpOwogICAgICAgICBpZiAoZmluaXNoZWRJbWFn
ZSAmJiBmaW5pc2hlZFNjcmlwdCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9h
ZEVuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC1leHBl
Y3RlZC50eHQKaW5kZXggNWJjZDI2ZWE0ZGRhMTIzMGU0YmQ0ODkzNzE2ZjFlZThlOGU4YjJhNS4u
MjkxNmFmMjUxNjZjOGFmODRmMGI5YzE5YjVlNGRkOGU3YmJkNzE3MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50LWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogPGxpbmsgcmVs
PXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAyNzogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50Lmh0bWwKaW5kZXgg
YWMwY2M5NDZkNDQwMmYxZmQxODNkODYxYzkyOTQ2MTU4MjUyMDEzOC4uZDFhZDIyOGNhZjIwYmQ2
YjZjZjUxYjBkYjZhMzdmZTAzOWI0MTM5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC5odG1sCkBAIC0xLDcgKzEsNSBAQAogPCFET0NUWVBF
IGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkK
ICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CkBAIC0zNyw4ICszNSw2IEBACiAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgidHJhY2tGYWlsZWQiKTsKICAgICAgICAgc2hvdWxkQmVUcnVl
KCJnaWJyaXNoRmFpbGVkIik7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgibm9UeXBlRmFpbGVkIik7
Ci0gICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOwogICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
ICAgICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9h
ZF9ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25s
b2FkX2V2ZW50LWV4cGVjdGVkLnR4dAppbmRleCA3YjIzMmNlNDU2MjNjZGFhYWNhNzRmMTUzZmYz
NDgzMzM4Nzg0Y2ZjLi4xZjE5MDUzNWFiYzgyMmE2NTEyNmFmMzlkNzc3M2QxMjUwY2Y0MTJlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2
ZW50LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAz
NTogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAzNjogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlk
IGBhc2AgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMzogPGxpbmsgcmVsPXByZWxvYWQ+
IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNDog
PGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC5odG1sCmluZGV4IDhiMTFiZjgzNWMw
NzNiYTYxZTNmNjM4ZTkyNDYwMjhmOTU2YTgwZmQuLmE2Y2JhNjZkMDlhZjU2NTk5ZWJjOGNhMGRh
YzM2MjgzMWU2ZWRiMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9h
ZC9vbmxvYWRfZXZlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQv
b25sb2FkX2V2ZW50Lmh0bWwKQEAgLTEsNyArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3Jp
cHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOwogICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQogICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKQEAgLTUwLDggKzQ4LDYgQEAKICAgICAgICAgc2hvdWxk
QmVUcnVlKCJ4c2x0RXJyb3JlZCIpOwogICAgICAgICBzaG91bGRCZVRydWUoIm5vVHlwZUxvYWRl
ZCIpOwogICAgICAgICBzaG91bGRCZVRydWUoImVtcHR5VHlwZUxvYWRlZCIpOwotICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9kb3dubG9h
ZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVs
b2FkL3Jlc291cmNlcy9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwCmluZGV4IDE5
MThiODVkZTdhMDIwZGEwZTQyMGYxOTg2NTM4MzUyZWQxNTJjMDYuLjk5NmM5NTRiZTE2OWUwOTQx
YjRlNWYzMDY5M2IxMGJiY2RhMjcyMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9yZXNvdXJjZXMvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2Rvd25sb2FkX3Jl
c291cmNlc19mcm9tX2hlYWRlci5waHAKQEAgLTIwLDcgKzIwLDMgQEAgaGVhZGVyKCJMaW5rOiA8
Li4vcmVzb3VyY2VzL2R1bW15LnhtbD47IHJlbD1wcmVsb2FkIiwgZmFsc2UpOwogICAgIHNob3Vs
ZEJlRmFsc2UoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15LnhtbD9i
YWR2YWx1ZScpOyIpOwogICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcu
Li9yZXNvdXJjZXMvZHVtbXkueG1sJyk7Iik7CiA8L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9pbnZhbGlkX3Jlc291cmNlc19mcm9t
X2hlYWRlci5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2lu
dmFsaWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocAppbmRleCAwZmRjN2Y3ZmQzYjYzYzhhMDI5
OTZmOWEwODc4ZDk4OTRiMTFiNmU3Li5iZGYzNDRiNWQ0ZGVjNjY0NzRkOWI5MzczNmQxNzBmZGM4
YTU2Yzg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3Vy
Y2VzL2ludmFsaWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2ludmFsaWRfcmVzb3VyY2VzX2Zyb21faGVhZGVy
LnBocApAQCAtNDAsNyArNDAsMyBAQCBoZWFkZXIoIkxpbms6IDwgICAuLi9yZXNvdXJjZXMvZHVt
bXkuanM/Zm9vYmFyID47IHJlbD1wcmVsb2FkOyBhcz0nIiwgZmFsc2UpOwogICAgIHNob3VsZEJl
RmFsc2UoImludGVybmFscy5pc1ByZWxvYWRlZCgnI2Zvb2JhcicpOyIpOwogICAgIHNob3VsZEJl
RmFsc2UoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL0FoZW0udHRmJyk7Iik7
CiA8L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsK
LTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Np
bmdsZV9kb3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC1leHBlY3RlZC50eHQKaW5kZXggMDdi
NThkODY4YzNhNzgzNjM1OThiZjY1MWE3ZjgzNTUwMjY5ZGFiYy4uZGUwMTM0MjI2MDk1OWNlNzg0
OTA0ZDlkNDAwOGRmNjQ4YTYyNzcxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIxOiA8bGluayBy
ZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1ZQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE5OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1
ZQogIAogCiBQQVNTIE1ha2VzIHN1cmUgdGhhdCBwcmVsb2FkZWQgcmVzb3VyY2VzIGFyZSBub3Qg
ZG93bmxvYWRlZCBhZ2FpbiB3aGVuIHVzZWQgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC5odG1sCmluZGV4IDE1
ZTA0ZmFmZmE0MTIyZGRiMTkwYjBjZDg1ZjJmY2I2NzQzNWMzNTUuLjg2ODNlOGY4NmRiODVkYmQw
NjA0ZGQwMzQxN2IzOGZjYmY0OTY5MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC5odG1sCkBAIC0xLDkg
KzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKSB7Ci0gICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQo
dHJ1ZSk7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgfQogPC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgpAQCAtNjEsMTAgKzU5LDggQEAKICAgICAgICAgICAgIC8vIEZJWE1FOiBYSFIgc2hv
dWxkIHRyaWdnZXIgYSBzaW5nbGUgZG93bmxvYWQsIGJ1dCBpdCBkb3dubG9hZHMgMiByZXNvdXJj
ZXMgaW5zdGVhZC4KICAgICAgICAgICAgIHZlcmlmeURvd25sb2FkTnVtYmVyKCJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvcmVzb3VyY2VzL2R1bW15LnhtbCIsIDIpOwogICAgICAgICAgICAgLy8gRklY
TUU6IFdlIHNob3VsZCB2ZXJpZnkgZm9yIHZpZGVvIGFuZCBhdWRpbyBhcyB3ZWxsLCBidXQgdGhl
eSBzZWVtIHRvIChmbGFraWx5PykgdHJpZ2dlciBtdWx0aXBsZSBwYXJ0aWFsIHJlcXVlc3RzLgot
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmFsc2UpOwotICAgICAgICAgICAgfQogICAgICAg
ICAgICAgdC5kb25lKCk7CiAgICAgICAgICAgICB9KSwgMTAwKTsKICAgICB9KSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4t
cHJlbG9hZGVkLWNzcy1zdHlsZXNoZWV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGVkLWNzcy1zdHlsZXNoZWV0Lmh0bWwK
aW5kZXggNGFmMTU0MGU0ZDkzNGQ2ZmEzMjAwODVjYjRjMDk1OTc3NmVhYmVhZS4uYTJiZGM5ZDY1
ZjdlMzA5NzMwNjAyYjU4ZWQxY2I3OTFhNmJkYjdjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRlZC1jc3Mtc3R5
bGVzaGVldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVk
LWNyb3NzLW9yaWdpbi1wcmVsb2FkZWQtY3NzLXN0eWxlc2hlZXQuaHRtbApAQCAtMSw3ICsxLDUg
QEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGluZy1jc3Mtc3R5bGVzaGVldC5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2lu
LXByZWxvYWRpbmctY3NzLXN0eWxlc2hlZXQuaHRtbAppbmRleCBjOWU3NDA3NjFlOGRkNTE0YTE5
MDhmNmZlNDM3MjBjNmE0MTAxMTQ1Li5jOTVhOWU1MzVlZWYzNzE1YzMwOWQwYmNhMzMwZTJkNTIz
ZGEwMDcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hl
ZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGluZy1jc3Mtc3R5bGVzaGVldC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkaW5n
LWNzcy1zdHlsZXNoZWV0Lmh0bWwKQEAgLTIsOCArMiw2IEBACiA8aHRtbD4KIDxib2R5PgogPHNj
cmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRM
aW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299831</attachid>
            <date>2017-01-26 12:04:24 -0800</date>
            <delta_ts>2017-01-26 12:08:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167201-20170126210219.patch</filename>
            <type>text/plain</type>
            <size>40761</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE2NmZhMTdjZmIwMzJl
YjlmZTAwOWZhMmU1YzNkMjcyMjBiMjliNy4uZDQyODUzY2YwODU1M2VlMmI2NjA2ZTEyZTc2MGI5
NWY4MzM5ZDYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTAxLTI2ICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4g
b2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0aGUgZXhwbGlj
aXQgc2V0dGluZyBvZiB0aGUgTGluayBQcmVsb2FkIGV4cGVyaW1lbnRhbCBmZWF0dXJlLAorICAg
ICAgICBhcyBpdCBpcyBub3cgb24gYnkgZGVmYXVsdCBmb3IgdGVzdGluZy4KKworICAgICAgICBO
byBuZXcgdGVzdHMgYXMgdGhpcyBqdXN0IHJlbW92ZXMgbWV0aG9kcyBmcm9tIHNldHRpbmdzLgor
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aWRsOgorCiAyMDE3LTAxLTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmVydCByMjEwODgyLCByZW1vdmluZyBzdXBwb3J0IGZvciBiYWNrZ3Jv
dW5kLXJlcGVhdC14L3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA4MGM3Mjk0MWNmYTM0NmUxMzcxZGM1
OTY5ZjYxOTljMjE5MWFlMjRmLi5iNzVlOWRiNWFiN2E2MTAxODJjNmM5NDdiOTVlNjJiYWFiOTBm
ZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTctMDEtMjYgIFlvYXYg
V2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBv
ZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToK
KyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgbGlua1ByZWxvYWRFbmFibGVkXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHNldExpbmtQcmVsb2FkRW5hYmxlZDpdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE3
LTAxLTI0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CiAKICAgICAgICAgW1dl
YlJUQ10gSW50cm9kdWNlIGxpYndlYnJ0YyBhYnN0cmFjdGlvbiBmb3IgV0sxL1dLMiBpbXBsZW1l
bnRhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA2NWUzYjg4MTdkMjUwNDczNTU0NTM0Nzk1NTdj
N2IxNjJiM2ZlNWY0Li42YmZkZTZiNTMwZDYzZWQwMDU5MTM4Y2NmNjY5ZDQ1MDEzZWExYWMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDEtMjYgIFlvYXYgV2Vpc3Mg
IDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnkt
ZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVu
Y2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2Vz
Ojp2YWx1ZUZvcktleSk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0TGlua1ByZWxvYWRF
bmFibGVkKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpsaW5rUHJlbG9hZEVuYWJsZWQpOgor
ICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmlkbDoKKwogMjAxNy0wMS0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bmZAZ21haWwuY29tPgogCiAgICAgICAgIFtXZWJSVENdIEludHJvZHVjZSBsaWJ3ZWJydGMgYWJz
dHJhY3Rpb24gZm9yIFdLMS9XSzIgaW1wbGVtZW50YXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzgyZGQ2
ODE3MDMwNjMxNmI0MTBmMWY1YzRhY2JlNjFhMDdhYWJlNy4uMTY4NjM1MjYwMGQyYjE3YTA5YjIy
MGY0MTJiZDUyYmI1Mzc5MzJjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAx
LTI2ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxv
YWQgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRMaW5rUHJlbG9hZEVu
YWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTctMDEtMjUgIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtRdWlja0xvb2tdIERpc3BsYXkgYSBXS1Bhc3N3
b3JkVmlldyB3aGVuIGEgZG9jdW1lbnQgaXMgcGFzc3dvcmQtcHJvdGVjdGVkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCA0MmQwNDNiZjVkMTIwYjBm
MjdhMTBlZmU5M2QzNDlmNzJiYjcwODAzLi4yOGQwYjJiN2Q3ODc1OWZkOTVjNGViMzJlOTEwMDU3
MWYwOTkxNTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKQEAgLTk1LDcgKzk1LDYgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0
dGluZ3MmIHNldHRpbmdzKQogICAgICwgbV9mb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNz
aWJpbGl0eVZhbHVlKHNldHRpbmdzLmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmls
aXR5VmFsdWUoKSkKICAgICAsIG1fZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmls
aXR5VmFsdWUoc2V0dGluZ3MuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5
VmFsdWUoKSkKICAgICAsIG1fcmVzb3VyY2VUaW1pbmdFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucmVzb3VyY2VUaW1pbmdFbmFibGVkKCkpCi0gICAgLCBt
X2xpbmtQcmVsb2FkRW5hYmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpKQogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpCiAgICAgLCBtX2luZGV4ZWREQldvcmtlcnNFbmFibGVkKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoKSkKICNl
bmRpZgpAQCAtMTg0LDcgKzE4Myw2IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpy
ZXN0b3JlVG8oU2V0dGluZ3MmIHNldHRpbmdzKQogICAgIFNldHRpbmdzOjpzZXRBbGxvd3NBbnlT
U0xDZXJ0aWZpY2F0ZShmYWxzZSk7CiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChtX3Jlc291cmNlVGltaW5nRW5h
YmxlZCk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRM
aW5rUHJlbG9hZEVuYWJsZWQobV9saW5rUHJlbG9hZEVuYWJsZWQpOwogI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChtX2luZGV4ZWREQldvcmtl
cnNFbmFibGVkKTsKICNlbmRpZgpAQCAtNjcxLDExICs2NjksNiBAQCB2b2lkIEludGVybmFsU2V0
dGluZ3M6OnNldFJlc291cmNlVGltaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0TGlua1ByZWxvYWRF
bmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sIGVuYWJsZWQp
CiB7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMDQ3NzAwNDRhNmEzOTk1M2JmZTE3
ZGRmMTM1MDFhOGJmMGNkNDQxNC4uNWM5ZTkzNjlhYjc5NmJmMDZlYzYzOTc0NmQ5ODhmZTg0ZWQ2
NjRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTEx
MCw3ICsxMTAsNiBAQCBwdWJsaWM6CiAKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgog
ICAgIHN0YXRpYyB2b2lkIHNldFJlc291cmNlVGltaW5nRW5hYmxlZChib29sKTsKLSAgICBzdGF0
aWMgdm9pZCBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0
SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0Q1NTR3Jp
ZExheW91dEVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChi
b29sKTsKQEAgLTE4OCw3ICsxODcsNiBAQCBwcml2YXRlOgogCiAgICAgICAgIC8vIFJ1bnRpbWUg
ZW5hYmxlZCBzZXR0aW5ncy4KICAgICAgICAgYm9vbCBtX3Jlc291cmNlVGltaW5nRW5hYmxlZDsK
LSAgICAgICAgYm9vbCBtX2xpbmtQcmVsb2FkRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2luZGV4
ZWREQldvcmtlcnNFbmFibGVkOwogICAgICAgICBib29sIG1fY3NzR3JpZExheW91dEVuYWJsZWQ7
CiAgICAgICAgIGJvb2wgbV93ZWJHTDJFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5pZGwKaW5kZXggMWRmMGQzYmIxZDhjNDc4MjdiNGJmY2Q5ZGFhZjI4
NzEzMzc3ZWE5Mi4uNWY0YmRlYzM2ZmUwZDIzMjlkZTQzZTgxMjQ1ZmNhZGNkN2NhYTBhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC04Myw3ICs4
Myw2IEBAIGVudW0gRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIHsgInN5c3RlbSIsICJvbiIsICJv
ZmYiIH07CiAKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgogICAgIHZvaWQgc2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdm9pZCBzZXRMaW5rUHJl
bG9hZEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB2b2lkIHNldEluZGV4ZWREQldvcmtl
cnNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdm9pZCBzZXRDU1NHcmlkTGF5b3V0RW5h
YmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChib29sZWFu
IGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKaW5kZXggMjI4YzkzMWNhNzYxMmM4MTJmMWJhZDA3YWI5NTYyZWYw
N2RlNDJhYi4uMDliYjM4YmE0ODY4NTcxOGNlNDQ3NjUxNjdkOTUwOGQyNzcxNzJlOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCkBAIC0xNzUsNiArMTc1LDcgQEAKICNkZWZpbmUgV2ViS2l0U3VidGxlQ3J5cHRvRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRTdWJ0bGVDcnlwdG9FbmFibGVkIgogI2RlZmluZSBXZWJL
aXRNZWRpYVN0cmVhbUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFTdHJlYW1FbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRQZWVyQ29ubmVjdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0UGVlckNvbm5lY3Rpb25FbmFibGVkIgorI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgogCiAjaWYgIVRB
UkdFVF9PU19JUEhPTkUKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJz
IHNob3VsZCBiZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDU1YTI4YWQxYmRi
MjVmZjc3N2RkOWMzYmZjMDFiNTg2NDg4NTcyZjIuLmI0MTU4ZmY0MWUwYTc3NTkxMWMwYzliNGYz
NDI4NmRhZmUzZmY0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQpAQCAtMjc0Myw2ICsyNzQzLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNy
ZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktp
dFBlZXJDb25uZWN0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKWxpbmtQ
cmVsb2FkRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktp
dExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldExpbmtQ
cmVsb2FkRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFn
IGZvcktleTpXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAo
dm9pZClzZXRNZXRhUmVmcmVzaEVuYWJsZWQ6KEJPT0wpZW5hYmxlZAogewogICAgIFtzZWxmIHNl
dEhUVFBFcXVpdkVuYWJsZWQ6ZW5hYmxlZF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBkM2M4MmJkOWE2M2ZhYjkwZTMxNzc1
ZTZiZWRhNGViODEwMzI2NGIyLi5mZWU1MWI1ZTRkMDExNDRjYzI3Mjg1MmYyODY1YjE2MzRiZWIz
ODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmgKQEAgLTUyNSw1ICs1MjUsNiBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVu
Y2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIGF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW47CiBAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBpbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ7CitAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiAKIEBlbmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA1N2JhYTU0ZTM0MmViY2MyMTdiNTBjODEz
NDBlOWU0NmI3MWM2NWRmLi4xZDIwNmZmZWY3ZTI4NWY2NGVkZGJlOWJmZDE1ZmY5ZmZiNWE3ZDNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yOTA4LDYgKzI5MDgsOCBA
QCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTdWJ0bGVDcnlwdG9FbmFi
bGVkKFtwcmVmZXJlbmNlcyBzdWJ0bGVDcnlwdG9FbmFibGVkXSk7CiAjZW5kaWYKIAorICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFi
bGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CisKICAgICBOU1RpbWVJbnRlcnZh
bCB0aW1lb3V0ID0gW3ByZWZlcmVuY2VzIGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25U
aW1lb3V0SW5TZWNvbmRzXTsKICAgICBpZiAodGltZW91dCA+IDApCiAgICAgICAgIHNldHRpbmdz
LnNldEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKHRpbWVv
dXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbCBiL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzUHJpdmF0ZS5pZGwKaW5kZXggOGZkMWQ5MjZmNzBkMDk4ZDFlNzM3ZjRmZDMxMmYyN2Zj
ZjViMmQxNS4uNWQ5MWM1MzczYzM3NmM1MmViNTRjZTU5MmE4OTA2M2Q2YjViZDE3NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCkBAIC0xOTEsNCArMTkxLDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1By
aXZhdGU0IDogSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTMKICAgICBIUkVTVUxUIHNldEFwcGxpY2F0
aW9uSWQoW2luXSBCU1RSIGFwcGxpY2F0aW9uSWQpOwogICAgIEhSRVNVTFQgd2ViQW5pbWF0aW9u
c0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CiAgICAgSFJFU1VMVCBzZXRXZWJBbmltYXRp
b25zRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBsaW5rUHJlbG9hZEVu
YWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRMaW5rUHJlbG9hZEVu
YWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA1OGJiODgxMGRiNjJkYjU0MDRjMGU2MTJlOTRjMTE0
MDcyYWExZmMwLi5hZjk3MjA2ZTg3NjEyYmY2NTM5M2NjNmQ2ZWM1ZDdjMGIyMzg5YTk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTc3LDMg
KzE3Nyw1IEBACiAjZGVmaW5lIFdlYktpdE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkUHJlZmVy
ZW5jZUtleSAiV2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQiCiAKICNkZWZpbmUgV2Vi
S2l0V2ViQW5pbWF0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRXZWJBbmltYXRpb25z
RW5hYmxlZCIKKworI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5
ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5j
cHAKaW5kZXggZTY1MzEyOGJmMzM0ODlmYTczZjg0Nzk3ZTI0OTFiNWYwYTliMGIyMi4uZTgyMmRi
ODc1MmUxZGEwOTllYjFkNGY0ZWY2NGYzYWQ3OTU1YmE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VzLmNwcApAQCAtMzA2LDYgKzMwNiw4IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6Omlu
aXRpYWxpemVEZWZhdWx0U2V0dGluZ3MoKQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVm
YXVsdHMsIENGU1RSKFdlYktpdFdlYkFuaW1hdGlvbnNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtD
RkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZT
VFIoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxz
ZSk7CisKICAgICBkZWZhdWx0U2V0dGluZ3MgPSBkZWZhdWx0czsKIH0KIApAQCAtMTk5MSw2ICsx
OTkzLDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6Om1vZGVybk1lZGlhQ29udHJvbHNFbmFi
bGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQg
V2ViUHJlZmVyZW5jZXM6OnNldExpbmtQcmVsb2FkRW5hYmxlZChCT09MIGVuYWJsZWQpCit7Cisg
ICAgc2V0Qm9vbFZhbHVlKFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXksIGVu
YWJsZWQpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjps
aW5rUHJlbG9hZEVuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJs
ZWQpCisgICAgICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVG
b3JLZXkoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJu
IFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldEFwcGxpY2F0aW9uSWQoQlNU
UiBhcHBsaWNhdGlvbklkKQogewogICAgIG1fYXBwbGljYXRpb25JZCA9IFN0cmluZyhhcHBsaWNh
dGlvbklkKS5jcmVhdGVDRlN0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5k
ZXggZDA5NDBhZjc0MmMyZDU3M2M2M2VlNjRlMGNkZjhiY2YyMzNiZjZmZi4uNjkxNTJlYzkyNjll
ZDg3OTZiZDg0MTljNzkwMmUxMmVjYjljM2JjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNl
cy5oCkBAIC0yNDUsNiArMjQ1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXRBcHBsaWNhdGlvbklkKEJTVFIpOwogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSB3ZWJBbmltYXRpb25zRW5hYmxlZChfT3V0XyBCT09MKik7CiAg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFdlYkFuaW1hdGlvbnNFbmFi
bGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsaW5rUHJl
bG9hZEVuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVmZXJl
bmNlcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaAppbmRleCBlMGE2NDgyODkzYTBlZWM4NjFjMGI3ZWQyZjk4NzU2YWRhNGI4ZDg3Li40
ZGU1OTI4MDE3NmQzYzRiM2NjMTFlY2E0OWJjMzBmZjUzODQ2MDU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTMxNCw2ICsz
MTQsNyBAQAogICAgIG1hY3JvKENTU0dyaWRMYXlvdXRFbmFibGVkLCBjc3NHcmlkTGF5b3V0RW5h
YmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwg
IkNTUyBHcmlkIiwgIkNTUyBHcmlkIExheW91dCBNb2R1bGUgc3VwcG9ydCIpIFwKICAgICBtYWNy
byhTcHJpbmdUaW1pbmdGdW5jdGlvbkVuYWJsZWQsIHNwcmluZ1RpbWluZ0Z1bmN0aW9uRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIkNT
UyBTcHJpbmcgQW5pbWF0aW9ucyIsICJDU1MgU3ByaW5nIEFuaW1hdGlvbiBwcm90b3R5cGUiKSBc
CiAgICAgbWFjcm8oR2FtZXBhZHNFbmFibGVkLCBnYW1lcGFkc0VuYWJsZWQsIEJvb2wsIGJvb2ws
IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJHYW1lcGFkcyIsICJXZWIg
R2FtZXBhZCBBUEkgc3VwcG9ydCIpIFwKKyAgICBtYWNybyhMaW5rUHJlbG9hZEVuYWJsZWQsIGxp
bmtQcmVsb2FkRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVS
RVNfRU5BQkxFRCwgIkxpbmsgUHJlbG9hZCIsICJMaW5rIHByZWxvYWQgc3VwcG9ydCIpIFwKICAg
ICBtYWNybyhNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCwgbW9kZXJuTWVkaWFDb250cm9sc0Vu
YWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQs
ICJNb2Rlcm4gTWVkaWEgQ29udHJvbHMiLCAiVXNlIG1vZGVybiBtZWRpYSBjb250cm9scyBsb29r
IikgXAogICAgIG1hY3JvKElucHV0RXZlbnRzRW5hYmxlZCwgaW5wdXRFdmVudHNFbmFibGVkLCBC
b29sLCBib29sLCBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVELCAiSW5wdXQg
RXZlbnRzIiwgIkVuYWJsZSBJbnB1dEV2ZW50cyBzdXBwb3J0IikgXAogICAgIG1hY3JvKFN1YnRs
ZUNyeXB0b0VuYWJsZWQsIHN1YnRsZUNyeXB0b0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJTdWJ0bGVDcnlwdG8iLCAiRW5hYmxlIFN1
YnRsZUNyeXB0byBzdXBwb3J0IikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IGVkM2E2ZWFkN2EzMzhkZjY2ZGRmNmZkYmExYTgy
OTA3NzQwZDEzMTcuLmIyM2E5NmNhNWNmZGRjNjg1NjI4Y2Y2ZWRhNTFhZTlhNmRhMDQ5MTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAK
QEAgLTE2MjEsNiArMTYyMSwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJ0bGVDcnlwdG9F
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1w
bChwcmVmZXJlbmNlc1JlZiktPnN1YnRsZUNyeXB0b0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1By
ZWZlcmVuY2VzU2V0TGlua1ByZWxvYWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRMaW5r
UHJlbG9hZEVuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldExpbmtQcmVs
b2FkRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5saW5rUHJlbG9hZEVuYWJsZWQoKTsKK30KKwogdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5nUHJvdmlz
aW9uYWxOYXZpZ2F0aW9uKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxh
ZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGRTdXBwcmVzc0tleWJv
YXJkSW5wdXREdXJpbmdQcm92aXNpb25hbE5hdmlnYXRpb24oZmxhZyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5o
CmluZGV4IGMwNGU0NThkMjdjMzg2MGJhMWU3ZDUwNGExNTgxZjA3MzQ1YTEwZDkuLmRmNDdjOWFk
M2YzZGMzMTZjYWY2NDNiZWE4MTExMGUyOTk1NTk2Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC00
NTMsNiArNDUzLDEwIEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJ0bGVDcnlw
dG9FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNl
c1NldFNob3VsZFN1cHByZXNzS2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlv
bihXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJl
bmNlc0dldFNob3VsZFN1cHByZXNzS2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdh
dGlvbihXS1ByZWZlcmVuY2VzUmVmKTsKIAorLy8gRGVmYXVsdHMgdG8gZmFsc2UuCitXS19FWFBP
UlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TGlua1ByZWxvYWRFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TGlua1ByZWxv
YWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IGRmNWQwNTRmYzFjYjIzMzFiMjdjYjU2MjM0ZDg1ZDdmNDM2MzBhODUuLmYyMTdhYzZiZDVk
YzUyZDVkOGRlNzY0NmI3OTliNzVjYmViNzA4N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMyMzgsNiArMzIzOCw4IEBAIHZvaWQgV2Vi
UGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUp
CiAKICAgICAvLyBFeHBlcmltZW50YWwgRmVhdHVyZXMuCiAKKyAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxpbmtQcmVsb2FkRW5hYmxlZEtleSgp
KSk7CisKICNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTR3JpZExheW91dEVuYWJsZWQoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpjc3NHcmlkTGF5b3V0RW5hYmxlZEtl
eSgpKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCBiYmRhNGY5MTIzNzA3YmY2OTExMzc2ZDQ1NDI2NjExZmNlNjgyODc0Li5lOGI0
NjNmOTFhY2NiOWEzZTcwMzU2YmM0OWRhNGFiODAxNzFiMGUzIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDEt
MjYgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9h
ZCBhcyBhbiBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5j
ZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1w
UmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50
VmFsdWVzKToKKwogMjAxNy0wMS0yNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gSWNvbiBEYXRhYmFzZSBzaG91bGQgYmUgaW4gcHJp
dmF0ZSBicm93c2luZyBtb2RlIGZvciBlcGhlbWVyYWwgd2ViIHZpZXdzCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggNjFhOTVkOThmOGMwYmM5YmI0ZjVm
ZGQ3YzVhNGU2OGJhNWNjN2EyZi4uYzE3NDhjNDEzYmIyZDAxNjU4NTZkYTUwNzA3ODNhNzRmYjhj
MjVhMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAt
MTAwOSw2ICsxMDA5LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lz
dGVudFZhbHVlcygpCiAgICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhU3RyZWFtRW5hYmxlZDpZRVNd
OwogICAgIFtwcmVmZXJlbmNlcyBzZXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQ6WUVTXTsKICAgICBb
cHJlZmVyZW5jZXMgc2V0V2ViQW5pbWF0aW9uc0VuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5j
ZXMgc2V0TGlua1ByZWxvYWRFbmFibGVkOllFU107CiAKICAgICBbV2ViUHJlZmVyZW5jZXMgX2Ns
ZWFyTmV0d29ya0xvYWRlclNlc3Npb25dOwogICAgIFtXZWJQcmVmZXJlbmNlcyBfc2V0Q3VycmVu
dE5ldHdvcmtMb2FkZXJTZXNzaW9uQ29va2llQWNjZXB0UG9saWN5Ok5TSFRUUENvb2tpZUFjY2Vw
dFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGRiZmI3ZjY3NWFhYTY4ZTIwYTQyYzg5NjI5
OWE3MjkwMzFhNWMwMzEuLmFiODFlYjFhMDBiOGJjM2ZkMDdlZmU1ZmIxYmYwOGM1ZDBkNDFiNmEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODc3
LDYgKzg3Nyw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRW
YWx1ZXMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICBwcmVmc1ByaXZhdGU0LT5z
ZXRTaGFkb3dET01FbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZTQtPnNldEN1c3RvbUVs
ZW1lbnRzRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGU0LT5zZXRNb2Rlcm5NZWRpYUNv
bnRyb2xzRW5hYmxlZChGQUxTRSk7CisgICAgcHJlZnNQcml2YXRlNC0+c2V0TGlua1ByZWxvYWRF
bmFibGVkKFRSVUUpOwogCiAgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9CmRp
ZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZyBiL1dlYnNpdGVzL3dlYmtp
dC5vcmcvQ2hhbmdlTG9nCmluZGV4IDUxNTk0NzdiNDc1YTFjYjRlZjJhYzVkODNjNTAxMTRhNjY3
MWYzMmQuLjk1NzZiYTk2NTE0YTRkMTkwMjg3YzQ2NTg2NDgzNTFlOTQ3MzhiOWIgMTAwNjQ0Ci0t
LSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5v
cmcvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDEtMjYgIFlvYXYgV2Vpc3MgIDx5
b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnktZGVm
YXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGV4cGVyaW1lbnRhbC1mZWF0dXJlcy5odG1s
OiBBZGRlZCBMaW5rIFByZWxvYWQuCisKIDIwMTctMDEtMjAgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgQW5pbWF0aW9ucyBzaG91bGQgYmUgb2ZmIGJ5
IGRlZmF1bHQgYW5kIGVuYWJsZWQgYXMgYW4gZXhwZXJpbWVudGFsIGZlYXR1cmUKZGlmZiAtLWdp
dCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZXhwZXJpbWVudGFsLWZlYXR1cmVzLmh0bWwgYi9XZWJz
aXRlcy93ZWJraXQub3JnL2V4cGVyaW1lbnRhbC1mZWF0dXJlcy5odG1sCmluZGV4IGYzMmYxM2Ni
ZDY4NGVmNTU0OWYwMjE1NjNhOTczOTRlZWUyYWY1YjIuLmQ3YTJjMzhiNWZmNzdiYTJmYTM0NDli
MWUzYjI2MDNjMGUwMWU3NWQgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZXhwZXJp
bWVudGFsLWZlYXR1cmVzLmh0bWwKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9leHBlcmltZW50
YWwtZmVhdHVyZXMuaHRtbApAQCAtNzgsNiArNzgsMTEgQEAgZnVuY3Rpb24gdGVzdFdlYkdMMigp
IHsKICAgICByZXR1cm4gY2FudmFzLmdldENvbnRleHQoIndlYmdsMiIpOwogfQogCitmdW5jdGlv
biB0ZXN0TGlua1ByZWxvYWQoKSB7CisgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJsaW5rIik7CisgICAgcmV0dXJuIGxpbmsucmVsTGlzdC5zdXBwb3J0cygicHJlbG9hZCIp
OworfQorCiBmdW5jdGlvbiB0ZXN0R2FtZXBhZCgpIHsKICAgICByZXR1cm4gbmF2aWdhdG9yLmdl
dEdhbWVwYWRzOwogfQpAQCAtMTQwLDYgKzE0NSw3IEBAIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgZnVuY3Rpb24gKCkgewogICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iVmFy
aWF0aW9uRm9udHMiPjxwPlZhcmlhdGlvbiBGb250czwvcD48L2Rpdj4KICAgICAgICAgPGRpdiBj
bGFzcz0idGVzdCIgaWQ9IldlYkFuaW1hdGlvbnMiPjxwPldlYiBBbmltYXRpb25zPC9wPjwvZGl2
PgogICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iV2ViR0wyIj48cD5XZWJHTCAyLjA8L3A+
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJMaW5rUHJlbG9hZCI+PHA+TGlu
ayBQcmVsb2FkPC9wPjwvZGl2PgogICAgIDwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDNjOGI3NzRhMWI0OTgzNjZhYTNlM2FiZWM3ZjI0M2I1ODVjNjQ3NzIuLjQzM2Y2MTI0NzZmY2Nj
ZmIyZjdhYjAzOGJmZTYyNzhhOGY3M2VmOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxNy0w
MS0yNiAgWW9hdiBXZWlzcyAgPHlvYXZAeW9hdi53cz4KKworICAgICAgICBBZGQgTGluayBQcmVs
b2FkIGFzIGFuIG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIG1lbnUgaXRlbS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzIwMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQg
Y29kZSBleHBsaWNpdGx5IGVuYWJsaW5nIExpbmsgcHJlbG9hZCBmcm9tIHRoZSB0ZXN0cywgYXMg
aXQgaXMgbm93CisgICAgICAgIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZvciB0ZXN0aW5nLiBDb3Jy
ZWN0ZWQgZXhwZWN0YXRpb24gZmlsZXMgYWNjb3JkaW5nbHkuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL2ZldGNoL3JlZGlyZWN0bW9kZS1hbmQtcHJlbG9hZC5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVy
eS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlu
a19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeV9pbWFnZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0
dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyX2lmcmFtZS5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9p
bnZhbGlkX2hlYWRlcnMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1p
Y19hZGRpbmdfcHJlbG9hZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9keW5h
bWljX3JlbW92ZV9wcmVsb2FkX2hyZWYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3ByZWxvYWQvbm90X2RlbGF5aW5nX3dpbmRvd19vbmxvYWRfYmVmb3JlX2Rpc2Nv
dmVyeS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2Rvd25sb2FkX3Jlc291cmNlc19m
cm9tX2hlYWRlci5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9p
bnZhbGlkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9w
cmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGVkLWNzcy1z
dHlsZXNoZWV0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jv
c3Mtb3JpZ2luLXByZWxvYWRpbmctY3NzLXN0eWxlc2hlZXQuaHRtbDoKKwogMjAxNy0wMS0yNSAg
WW9hdiBXZWlzcyAgPHlvYXZAeW9hdi53cz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDMxMTAp
OiBMYXlvdXRUZXN0IGh0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZF9y
dW5uZXIuaHRtbCB0aW1pbmcgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2ZldGNoL3JlZGlyZWN0bW9kZS1hbmQtcHJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9mZXRjaC9yZWRpcmVjdG1vZGUtYW5kLXByZWxvYWQuaHRtbAppbmRleCBkNTIxMmM1OTAx
YzA4NzkwYWYwNmQ3MzZjNTQzMmVlYjdlODQxZDg0Li4zYzE1MjBlNjhlMjYyNDViNmY4ZGJjYTk3
NjlkMGRmYzllOTAzN2I4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNo
L3JlZGlyZWN0bW9kZS1hbmQtcHJlbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZmV0Y2gvcmVkaXJlY3Rtb2RlLWFuZC1wcmVsb2FkLmh0bWwKQEAgLTgsMTAgKzgsNiBAQAog
ICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IkNhbm9uIFJlc2VhcmNoIEZyYW5jZSIgaHJl
Zj0iaHR0cHM6Ly93d3cuY3JmLmNhbm9uLmZyIj4KICAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExp
bmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKLSAgICA8L3NjcmlwdD4KICAgICA8bGluayByZWw9cHJl
bG9hZCBvbmxvYWQ9InN0YXJ0VGVzdHMoKSIgaHJlZj0iLi9yZXNvdXJjZXMvcmVkaXJlY3Qtd2l0
aC1jYWNoZS5waHA/ZW5hYmxlQ2FjaGluZyZ1cmw9aHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3Vy
aXR5L3Jlc291cmNlcy9hbGxvdy1pZi1vcmlnaW4ucGhwP2FsbG93Q2FjaGUmb3JpZ2luPWh0dHAl
M0ElMkYlMkYxMjcuMC4wLjElM0E4MDAwJm5hbWU9YWxlcnQtZmFpbC5qcyZjb250ZW50VHlwZT10
ZXh0L2FzY2lpIj4KICAgPC9oZWFkPgogICA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rp
c2NvdmVyeS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5nX29u
bG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5Lmh0bWwKaW5kZXggMWZlNTU5MDQ1NTNk
Y2Q2NGYxMDBiNmQ1ZjdlNThmMjRkZDA0NGUyZS4uMDA5NGU5OWQyMzY4YWJmMzVjNGE0YzAxODJm
ZjY0YTRhZjNmYzk1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2Fk
L2RlbGF5aW5nX29ubG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5nX29ubG9hZF9saW5rX3ByZWxv
YWRfYWZ0ZXJfZGlzY292ZXJ5Lmh0bWwKQEAgLTEsNyArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4K
IDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOwogICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQogICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKQEAgLTE0LDggKzEyLDYgQEAKIDxzY3JpcHQ+
CiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKICAgICAg
ICAgc2hvdWxkQmVUcnVlKCJmaW5pc2hlZFNjcmlwdCIpOwotICAgICAgICBpZiAod2luZG93Lmlu
dGVybmFscykKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1By
ZWxvYWRFbmFibGVkKGZhbHNlKTsKICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7IH0sIDApOwogICAgIH0pOwogICAgIHZhciBzY3IgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rpc2Nv
dmVyeV9pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5n
X29ubG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5X2ltYWdlLmh0bWwKaW5kZXggODQ3
MzVlZWQ0NDQ2NzVmZDU0Y2FhNTFkNDQ3ZDk5YjYwOTg0OGIyOS4uYWViMWI0YzI2MDgxMGM0ZjNk
MzFhNDI1NzJjZTIxODA5NjFhYTlkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wcmVsb2FkL2RlbGF5aW5nX29ubG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5X2lt
YWdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5nX29u
bG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5X2ltYWdlLmh0bWwKQEAgLTEsNyArMSw1
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVk
KHRydWUpOwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKQogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKQEAgLTE0
LDggKzEyLDYgQEAKIDxzY3JpcHQ+CiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBmdW5jdGlvbigpIHsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJmaW5pc2hlZEltYWdlIik7Ci0g
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOwogICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKICAgICB9KTsKICAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3Vy
Y2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9h
ZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGFmMTM1YTQxZmUyODczZjZhMGYxZGFjNTY1
NmM2ZTJhMDE5NTM1MTYuLmU0ODhhNzM3ZmMzZTY5NzE2MTA4ODhhMjMwNjIxODAyOTdjNDllYWUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNv
dXJjZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9k
b3dubG9hZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE1OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFz
YCB2YWx1ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiA8bGluayByZWw9cHJlbG9hZD4gbXVz
dCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1ZQogUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4u
L3Jlc291cmNlcy9kdW1teS5qcycpOyBpcyB0cnVlCiBQQVNTIGludGVybmFscy5pc1ByZWxvYWRl
ZCgnLi4vcmVzb3VyY2VzL2R1bW15LmNzcycpOyBpcyB0cnVlCiBQQVNTIGludGVybmFscy5pc1By
ZWxvYWRlZCgnLi4vcmVzb3VyY2VzL3NxdWFyZS5wbmcnKTsgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy5odG1sCmlu
ZGV4IDZkNWM1MDQ3MDJjMTQwMDFkNDg5ZjVjYjk2YmM4MzI4NWZjODgzNTQuLjNlNmVhMWI0MzNk
MDFkOWUwZDkyNTFlZDFlMWUyM2NiODliNTc3NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwKQEAgLTEsMTAgKzEs
NiBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdD4KLSAgICBpZiAo
d2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRM
aW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8bGluayByZWw9cHJlbG9hZCBocmVm
PSIuLi9yZXNvdXJjZXMvZHVtbXkuanMiIGFzPXNjcmlwdD4KIDxsaW5rIHJlbD1wcmVsb2FkIGhy
ZWY9Ii4uL3Jlc291cmNlcy9kdW1teS5jc3MiIGFzPXN0eWxlPgpAQCAtMjksNyArMjUsMyBAQAog
ICAgIHNob3VsZEJlRmFsc2UoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1
bW15LnhtbD9iYWR2YWx1ZScpOyIpOwogICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJl
bG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkueG1sJyk7Iik7CiA8L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9t
X2hlYWRlcl9pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3du
bG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXJfaWZyYW1lLmh0bWwKaW5kZXggMGQ1Y2MyMTdhMTZi
YWFjZjE5MjM1NmMwZDYyYmYyNGY2Nzg5NjE2YS4uOTE5MTQ2OWFkMzc1NjQzOTk5YTk1NTY1Mjk5
YTg2ZjQ3N2Q4ZjMxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2Fk
L2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlcl9pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyX2lm
cmFtZS5odG1sCkBAIC0xLDcgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faW52YWxpZF9oZWFkZXJzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21f
aW52YWxpZF9oZWFkZXJzLmh0bWwKaW5kZXggZDdmNzQ2YWZiOTdiMzMzOTE5ZGE4MWU2MzkzZTg4
Y2M1NGViMGQ2Zi4uNjM0M2M1MTlhZDdlMDcyMWFhYTdkZTM1MDQ2OGU4MzNkNTBkYTRhNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNl
c19mcm9tX2ludmFsaWRfaGVhZGVycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9pbnZhbGlkX2hlYWRlcnMuaHRtbApAQCAt
MSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93Lmlu
dGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9h
ZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1l
c0FzVGV4dCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5
bmFtaWNfYWRkaW5nX3ByZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9h
ZC9keW5hbWljX2FkZGluZ19wcmVsb2FkLmh0bWwKaW5kZXggY2VhOGZlMDQyNDYwYWE2OTI5YmRh
YjFmNmEyZDE3NzNlYzFjYjdiYS4uYWZkY2Y5ZDVjNGJjNTIyYmEzMTZhMmJlMWM3ZjJiYjk1YzVk
NmU2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNf
YWRkaW5nX3ByZWxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQv
ZHluYW1pY19hZGRpbmdfcHJlbG9hZC5odG1sCkBAIC0xLDEwICsxLDYgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVk
KHRydWUpOwotPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMTcsOCArMTMsNSBAQAogPHNj
cmlwdCBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvc2xvdy1zY3JpcHQucGw/
ZGVsYXk9MTAwIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5h
bHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS5qcycpOyIpOwotCi0gICAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlu
a1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3ByZWxvYWRfaHJl
Zi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19y
ZW1vdmVfcHJlbG9hZF9ocmVmLWV4cGVjdGVkLnR4dAppbmRleCA2ZWMxODQ4OGZiYjEwODVlZDVm
ODNiN2M1MmYwMWVjYTQ5YjI5ZTJkLi4zYjQ4ZDEwYjJkZjI4ZmJjM2NiZDhkNGMwNDEwNmJiZjc1
YTE4MzM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1p
Y19yZW1vdmVfcHJlbG9hZF9ocmVmLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1vdmVfcHJlbG9hZF9ocmVmLWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogPGxpbmsgcmVsPXByZWxv
YWQ+IGhhcyBhbiBpbnZhbGlkIGBocmVmYCB2YWx1ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE3
OiA8bGluayByZWw9cHJlbG9hZD4gaGFzIGFuIGludmFsaWQgYGhyZWZgIHZhbHVlCiBQQVNTIGRv
d25sb2FkZWRJbWFnZSBpcyBmYWxzZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1v
dmVfcHJlbG9hZF9ocmVmLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHlu
YW1pY19yZW1vdmVfcHJlbG9hZF9ocmVmLmh0bWwKaW5kZXggMzEwZGVmMmIyYjE3OWZlZjgyMDk4
ZWM3ZjI0NmQyMTI2YjYwZTIyMC4uMTJmZGIxNGNjYTM4NjAyN2VjYjIxOWJkZGExMzc4YjUyZDk4
ZDQzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNf
cmVtb3ZlX3ByZWxvYWRfaHJlZi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJl
bG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYuaHRtbApAQCAtMiwxMCArMiw4IEBACiA8
aHRtbD4KIDxoZWFkPgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykgewotICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVl
KTsKKyAgICBpZiAod2luZG93LmludGVybmFscykKICAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgfQogPC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgog
PGJvZHk+CkBAIC0yNCwxMCArMjIsOCBAQAogICAgICAgICAgICAgICAgIGRvd25sb2FkZWRJbWFn
ZSA9IHRydWU7CiAgICAgICAgIH0KICAgICAgICAgc2hvdWxkQmVGYWxzZSgiZG93bmxvYWRlZElt
YWdlIik7Ci0gICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7CisgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmFsc2UpOwotICAgICAgICB9CiAgICAg
fSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9ub3RfZGVsYXlpbmdfd2luZG93X29ubG9hZF9iZWZvcmVfZGlzY292ZXJ5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvbm90X2RlbGF5aW5nX3dpbmRvd19v
bmxvYWRfYmVmb3JlX2Rpc2NvdmVyeS5odG1sCmluZGV4IDViNzU5NjBjNmU5ZTBkZGQ4ODU2OTli
MjNmNjJiNzNlYWRjOTQ1NDguLjdmNDIyYTZjMmE2MjdjMjhjNmQ5NjlkNzVlZWQ4NzVjYmZlZjU4
YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9ub3RfZGVsYXlp
bmdfd2luZG93X29ubG9hZF9iZWZvcmVfZGlzY292ZXJ5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wcmVsb2FkL25vdF9kZWxheWluZ193aW5kb3dfb25sb2FkX2JlZm9yZV9kaXNj
b3ZlcnkuaHRtbApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLSAg
ICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCiAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwpAQCAtMTUsOCArMTMsNiBAQAogICAgIGZ1bmN0aW9uIHRlc3QoKSB7
CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgid2luZG93T25Mb2FkIik7CiAgICAgICAgIGlmIChmaW5p
c2hlZEltYWdlICYmIGZpbmlzaGVkU2NyaXB0KSB7Ci0gICAgICAgICAgICBpZiAod2luZG93Lmlu
dGVybmFscykKLSAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExp
bmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7CiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2
ZW50LWV4cGVjdGVkLnR4dAppbmRleCA1YmNkMjZlYTRkZGExMjMwZTRiZDQ4OTM3MTZmMWVlOGU4
ZThiMmE1Li4yOTE2YWYyNTE2NmM4YWY4NGYwYjljMTliNWU0ZGQ4ZTdiYmQ3MTcyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQt
ZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiA8
bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1ZQorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDI3OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFz
YCB2YWx1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQuaHRt
bAppbmRleCBhYzBjYzk0NmQ0NDAyZjFmZDE4M2Q4NjFjOTI5NDYxNTgyNTIwMTM4Li5kMWFkMjI4
Y2FmMjBiZDZiNmNmNTFiMGRiNmEzN2ZlMDM5YjQxMzk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50Lmh0bWwKQEAgLTEsNyArMSw1IEBACiA8
IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUp
OwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKQogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKQEAgLTM3LDggKzM1
LDYgQEAKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0cmFja0ZhaWxlZCIpOwogICAgICAgICBzaG91
bGRCZVRydWUoImdpYnJpc2hGYWlsZWQiKTsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJub1R5cGVG
YWlsZWQiKTsKLSAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgICAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7CiAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwogICAgIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvb25sb2FkX2V2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJl
bG9hZC9vbmxvYWRfZXZlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDdiMjMyY2U0NTYyM2NkYWFhY2E3
NGYxNTNmZjM0ODMzMzg3ODRjZmMuLjFmMTkwNTM1YWJjODIyYTY1MTI2YWYzOWQ3NzczZDEyNTBj
ZjQxMmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRf
ZXZlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9v
bmxvYWRfZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDM1OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1
ZQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM2OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZl
IGEgdmFsaWQgYGFzYCB2YWx1ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMzOiA8bGluayByZWw9
cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1ZQorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDM0OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1ZQog
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50Lmh0bWwKaW5kZXggOGIx
MWJmODM1YzA3M2JhNjFlM2Y2MzhlOTI0NjAyOGY5NTZhODBmZC4uYTZjYmE2NmQwOWFmNTY1OTll
YmM4Y2EwZGFjMzYyODMxZTZlZGIwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wcmVsb2FkL29ubG9hZF9ldmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJlbG9hZC9vbmxvYWRfZXZlbnQuaHRtbApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1s
PgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCiAgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwpAQCAtNTAsOCArNDgsNiBAQAogICAgICAg
ICBzaG91bGRCZVRydWUoInhzbHRFcnJvcmVkIik7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgibm9U
eXBlTG9hZGVkIik7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZW1wdHlUeXBlTG9hZGVkIik7Ci0g
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOwogICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAg
ICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2Vz
L2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvcmVzb3VyY2VzL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHAK
aW5kZXggMTkxOGI4NWRlN2EwMjBkYTBlNDIwZjE5ODY1MzgzNTJlZDE1MmMwNi4uOTk2Yzk1NGJl
MTY5ZTA5NDFiNGU1ZjMwNjkzYjEwYmJjZGEyNzIxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFk
ZXIucGhwCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMvZG93
bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocApAQCAtMjAsNyArMjAsMyBAQCBoZWFkZXIo
Ikxpbms6IDwuLi9yZXNvdXJjZXMvZHVtbXkueG1sPjsgcmVsPXByZWxvYWQiLCBmYWxzZSk7CiAg
ICAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVt
bXkueG1sP2JhZHZhbHVlJyk7Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQcmVs
b2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS54bWwnKTsiKTsKIDwvc2NyaXB0PgotPHNjcmlwdD4K
LSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2ludmFsaWRfcmVzb3Vy
Y2VzX2Zyb21faGVhZGVyLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNv
dXJjZXMvaW52YWxpZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwCmluZGV4IDBmZGM3ZjdmZDNi
NjNjOGEwMjk5NmY5YTA4NzhkOTg5NGIxMWI2ZTcuLmJkZjM0NGI1ZDRkZWM2NjQ3NGQ5YjkzNzM2
ZDE3MGZkYzhhNTZjODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9h
ZC9yZXNvdXJjZXMvaW52YWxpZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMvaW52YWxpZF9yZXNvdXJjZXNfZnJv
bV9oZWFkZXIucGhwCkBAIC00MCw3ICs0MCwzIEBAIGhlYWRlcigiTGluazogPCAgIC4uL3Jlc291
cmNlcy9kdW1teS5qcz9mb29iYXIgPjsgcmVsPXByZWxvYWQ7IGFzPSciLCBmYWxzZSk7CiAgICAg
c2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcjZm9vYmFyJyk7Iik7CiAgICAg
c2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvQWhlbS50
dGYnKTsiKTsKIDwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykK
LSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQo
ZmFsc2UpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3By
ZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dApp
bmRleCAwN2I1OGQ4NjhjM2E3ODM2MzU5OGJmNjUxYTdmODM1NTAyNjlkYWJjLi5kZTAxMzQyMjYw
OTU5Y2U3ODQ5MDRkOWQ0MDA4ZGY2NDhhNjI3NzE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9h
ZC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjE6
IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTk6IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBg
YXNgIHZhbHVlCiAgCiAKIFBBU1MgTWFrZXMgc3VyZSB0aGF0IHByZWxvYWRlZCByZXNvdXJjZXMg
YXJlIG5vdCBkb3dubG9hZGVkIGFnYWluIHdoZW4gdXNlZCAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLmh0bWwK
aW5kZXggMTVlMDRmYWZmYTQxMjJkZGIxOTBiMGNkODVmMmZjYjY3NDM1YzM1NS4uODY4M2U4Zjg2
ZGI4NWRiZDA2MDRkZDAzNDE3YjM4ZmNiZjQ5NjkwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLmh0bWwK
QEAgLTEsOSArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKLSAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2Fk
RW5hYmxlZCh0cnVlKTsKKyAgICBpZiAod2luZG93LmludGVybmFscykKICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFJlc291cmNlVGltaW5nRW5hYmxlZCh0cnVlKTsKLSAgICB9CiA8L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+CkBAIC02MSwxMCArNTksOCBAQAogICAgICAgICAgICAgLy8gRklYTUU6
IFhIUiBzaG91bGQgdHJpZ2dlciBhIHNpbmdsZSBkb3dubG9hZCwgYnV0IGl0IGRvd25sb2FkcyAy
IHJlc291cmNlcyBpbnN0ZWFkLgogICAgICAgICAgICAgdmVyaWZ5RG93bmxvYWROdW1iZXIoImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvZHVtbXkueG1sIiwgMik7CiAgICAgICAgICAg
ICAvLyBGSVhNRTogV2Ugc2hvdWxkIHZlcmlmeSBmb3IgdmlkZW8gYW5kIGF1ZGlvIGFzIHdlbGws
IGJ1dCB0aGV5IHNlZW0gdG8gKGZsYWtpbHk/KSB0cmlnZ2VyIG11bHRpcGxlIHBhcnRpYWwgcmVx
dWVzdHMuCi0gICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgewotICAgICAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOworICAg
ICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgICAgICAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgICAgICB9
CiAgICAgICAgICAgICB0LmRvbmUoKTsKICAgICAgICAgICAgIH0pLCAxMDApOwogICAgIH0pKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVkLWNyb3Nz
LW9yaWdpbi1wcmVsb2FkZWQtY3NzLXN0eWxlc2hlZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkZWQtY3NzLXN0eWxlc2hl
ZXQuaHRtbAppbmRleCA0YWYxNTQwZTRkOTM0ZDZmYTMyMDA4NWNiNGMwOTU5Nzc2ZWFiZWFlLi5h
MmJkYzlkNjVmN2UzMDk3MzA2MDJiNThlZDFjYjc5MWE2YmRiN2NkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGVk
LWNzcy1zdHlsZXNoZWV0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRlZC1jc3Mtc3R5bGVzaGVldC5odG1sCkBAIC0x
LDcgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsK
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkaW5nLWNzcy1zdHls
ZXNoZWV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9z
cy1vcmlnaW4tcHJlbG9hZGluZy1jc3Mtc3R5bGVzaGVldC5odG1sCmluZGV4IGM5ZTc0MDc2MWU4
ZGQ1MTRhMTkwOGY2ZmU0MzcyMGM2YTQxMDExNDUuLmM5NWE5ZTUzNWVlZjM3MTVjMzA5ZDBiY2Ez
MzBlMmQ1MjNkYTAwNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkaW5nLWNzcy1zdHlsZXNoZWV0Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXBy
ZWxvYWRpbmctY3NzLXN0eWxlc2hlZXQuaHRtbApAQCAtMiw4ICsyLDYgQEAKIDxodG1sPgogPGJv
ZHk+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299832</attachid>
            <date>2017-01-26 12:08:29 -0800</date>
            <delta_ts>2017-01-28 09:50:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167201-20170126210624.patch</filename>
            <type>text/plain</type>
            <size>40961</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE2NmZhMTdjZmIwMzJl
YjlmZTAwOWZhMmU1YzNkMjcyMjBiMjliNy4uZDQyODUzY2YwODU1M2VlMmI2NjA2ZTEyZTc2MGI5
NWY4MzM5ZDYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTAxLTI2ICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4g
b2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0aGUgZXhwbGlj
aXQgc2V0dGluZyBvZiB0aGUgTGluayBQcmVsb2FkIGV4cGVyaW1lbnRhbCBmZWF0dXJlLAorICAg
ICAgICBhcyBpdCBpcyBub3cgb24gYnkgZGVmYXVsdCBmb3IgdGVzdGluZy4KKworICAgICAgICBO
byBuZXcgdGVzdHMgYXMgdGhpcyBqdXN0IHJlbW92ZXMgbWV0aG9kcyBmcm9tIHNldHRpbmdzLgor
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aWRsOgorCiAyMDE3LTAxLTI1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmVydCByMjEwODgyLCByZW1vdmluZyBzdXBwb3J0IGZvciBiYWNrZ3Jv
dW5kLXJlcGVhdC14L3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA4MGM3Mjk0MWNmYTM0NmUxMzcxZGM1
OTY5ZjYxOTljMjE5MWFlMjRmLi5iNzVlOWRiNWFiN2E2MTAxODJjNmM5NDdiOTVlNjJiYWFiOTBm
ZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTctMDEtMjYgIFlvYXYg
V2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBv
ZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToK
KyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgbGlua1ByZWxvYWRFbmFibGVkXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHNldExpbmtQcmVsb2FkRW5hYmxlZDpdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE3
LTAxLTI0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CiAKICAgICAgICAgW1dl
YlJUQ10gSW50cm9kdWNlIGxpYndlYnJ0YyBhYnN0cmFjdGlvbiBmb3IgV0sxL1dLMiBpbXBsZW1l
bnRhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA2NWUzYjg4MTdkMjUwNDczNTU0NTM0Nzk1NTdj
N2IxNjJiM2ZlNWY0Li42YmZkZTZiNTMwZDYzZWQwMDU5MTM4Y2NmNjY5ZDQ1MDEzZWExYWMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDEtMjYgIFlvYXYgV2Vpc3Mg
IDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnkt
ZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVu
Y2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2Vz
Ojp2YWx1ZUZvcktleSk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0TGlua1ByZWxvYWRF
bmFibGVkKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpsaW5rUHJlbG9hZEVuYWJsZWQpOgor
ICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmlkbDoKKwogMjAxNy0wMS0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bmZAZ21haWwuY29tPgogCiAgICAgICAgIFtXZWJSVENdIEludHJvZHVjZSBsaWJ3ZWJydGMgYWJz
dHJhY3Rpb24gZm9yIFdLMS9XSzIgaW1wbGVtZW50YXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzgyZGQ2
ODE3MDMwNjMxNmI0MTBmMWY1YzRhY2JlNjFhMDdhYWJlNy4uMTY4NjM1MjYwMGQyYjE3YTA5YjIy
MGY0MTJiZDUyYmI1Mzc5MzJjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAx
LTI2ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxv
YWQgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRMaW5rUHJlbG9hZEVu
YWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTctMDEtMjUgIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtRdWlja0xvb2tdIERpc3BsYXkgYSBXS1Bhc3N3
b3JkVmlldyB3aGVuIGEgZG9jdW1lbnQgaXMgcGFzc3dvcmQtcHJvdGVjdGVkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCA0MmQwNDNiZjVkMTIwYjBm
MjdhMTBlZmU5M2QzNDlmNzJiYjcwODAzLi4yOGQwYjJiN2Q3ODc1OWZkOTVjNGViMzJlOTEwMDU3
MWYwOTkxNTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKQEAgLTk1LDcgKzk1LDYgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0
dGluZ3MmIHNldHRpbmdzKQogICAgICwgbV9mb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNz
aWJpbGl0eVZhbHVlKHNldHRpbmdzLmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmls
aXR5VmFsdWUoKSkKICAgICAsIG1fZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmls
aXR5VmFsdWUoc2V0dGluZ3MuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5
VmFsdWUoKSkKICAgICAsIG1fcmVzb3VyY2VUaW1pbmdFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkucmVzb3VyY2VUaW1pbmdFbmFibGVkKCkpCi0gICAgLCBt
X2xpbmtQcmVsb2FkRW5hYmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLmxpbmtQcmVsb2FkRW5hYmxlZCgpKQogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpCiAgICAgLCBtX2luZGV4ZWREQldvcmtlcnNFbmFibGVkKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuaW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoKSkKICNl
bmRpZgpAQCAtMTg0LDcgKzE4Myw2IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpy
ZXN0b3JlVG8oU2V0dGluZ3MmIHNldHRpbmdzKQogICAgIFNldHRpbmdzOjpzZXRBbGxvd3NBbnlT
U0xDZXJ0aWZpY2F0ZShmYWxzZSk7CiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChtX3Jlc291cmNlVGltaW5nRW5h
YmxlZCk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRM
aW5rUHJlbG9hZEVuYWJsZWQobV9saW5rUHJlbG9hZEVuYWJsZWQpOwogI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChtX2luZGV4ZWREQldvcmtl
cnNFbmFibGVkKTsKICNlbmRpZgpAQCAtNjcxLDExICs2NjksNiBAQCB2b2lkIEludGVybmFsU2V0
dGluZ3M6OnNldFJlc291cmNlVGltaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0TGlua1ByZWxvYWRF
bmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sIGVuYWJsZWQp
CiB7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMDQ3NzAwNDRhNmEzOTk1M2JmZTE3
ZGRmMTM1MDFhOGJmMGNkNDQxNC4uNWM5ZTkzNjlhYjc5NmJmMDZlYzYzOTc0NmQ5ODhmZTg0ZWQ2
NjRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTEx
MCw3ICsxMTAsNiBAQCBwdWJsaWM6CiAKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgog
ICAgIHN0YXRpYyB2b2lkIHNldFJlc291cmNlVGltaW5nRW5hYmxlZChib29sKTsKLSAgICBzdGF0
aWMgdm9pZCBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0
SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0Q1NTR3Jp
ZExheW91dEVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChi
b29sKTsKQEAgLTE4OCw3ICsxODcsNiBAQCBwcml2YXRlOgogCiAgICAgICAgIC8vIFJ1bnRpbWUg
ZW5hYmxlZCBzZXR0aW5ncy4KICAgICAgICAgYm9vbCBtX3Jlc291cmNlVGltaW5nRW5hYmxlZDsK
LSAgICAgICAgYm9vbCBtX2xpbmtQcmVsb2FkRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2luZGV4
ZWREQldvcmtlcnNFbmFibGVkOwogICAgICAgICBib29sIG1fY3NzR3JpZExheW91dEVuYWJsZWQ7
CiAgICAgICAgIGJvb2wgbV93ZWJHTDJFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5pZGwKaW5kZXggMWRmMGQzYmIxZDhjNDc4MjdiNGJmY2Q5ZGFhZjI4
NzEzMzc3ZWE5Mi4uNWY0YmRlYzM2ZmUwZDIzMjlkZTQzZTgxMjQ1ZmNhZGNkN2NhYTBhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC04Myw3ICs4
Myw2IEBAIGVudW0gRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIHsgInN5c3RlbSIsICJvbiIsICJv
ZmYiIH07CiAKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgogICAgIHZvaWQgc2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdm9pZCBzZXRMaW5rUHJl
bG9hZEVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB2b2lkIHNldEluZGV4ZWREQldvcmtl
cnNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdm9pZCBzZXRDU1NHcmlkTGF5b3V0RW5h
YmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChib29sZWFu
IGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgKaW5kZXggMjI4YzkzMWNhNzYxMmM4MTJmMWJhZDA3YWI5NTYyZWYw
N2RlNDJhYi4uMDliYjM4YmE0ODY4NTcxOGNlNDQ3NjUxNjdkOTUwOGQyNzcxNzJlOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCkBAIC0xNzUsNiArMTc1LDcgQEAKICNkZWZpbmUgV2ViS2l0U3VidGxlQ3J5cHRvRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRTdWJ0bGVDcnlwdG9FbmFibGVkIgogI2RlZmluZSBXZWJL
aXRNZWRpYVN0cmVhbUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TWVkaWFTdHJlYW1FbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRQZWVyQ29ubmVjdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0UGVlckNvbm5lY3Rpb25FbmFibGVkIgorI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkIgogCiAjaWYgIVRB
UkdFVF9PU19JUEhPTkUKIC8vIFRoZXNlIGFyZSBwcml2YXRlIGJvdGggYmVjYXVzZSBjYWxsZXJz
IHNob3VsZCBiZSB1c2luZyB0aGUgY292ZXIgbWV0aG9kcyBhbmQgYmVjYXVzZSB0aGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDU1YTI4YWQxYmRi
MjVmZjc3N2RkOWMzYmZjMDFiNTg2NDg4NTcyZjIuLmI0MTU4ZmY0MWUwYTc3NTkxMWMwYzliNGYz
NDI4NmRhZmUzZmY0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQpAQCAtMjc0Myw2ICsyNzQzLDE2IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xhc3NJQkNy
ZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktp
dFBlZXJDb25uZWN0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKWxpbmtQ
cmVsb2FkRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktp
dExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldExpbmtQ
cmVsb2FkRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFn
IGZvcktleTpXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAo
dm9pZClzZXRNZXRhUmVmcmVzaEVuYWJsZWQ6KEJPT0wpZW5hYmxlZAogewogICAgIFtzZWxmIHNl
dEhUVFBFcXVpdkVuYWJsZWQ6ZW5hYmxlZF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBkM2M4MmJkOWE2M2ZhYjkwZTMxNzc1
ZTZiZWRhNGViODEwMzI2NGIyLi5mZWU1MWI1ZTRkMDExNDRjYzI3Mjg1MmYyODY1YjE2MzRiZWIz
ODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmgKQEAgLTUyNSw1ICs1MjUsNiBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVu
Y2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbjsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIGF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIGFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW47CiBAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBpbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQ7CitAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBsaW5rUHJlbG9hZEVuYWJsZWQ7CiAKIEBlbmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA1N2JhYTU0ZTM0MmViY2MyMTdiNTBjODEz
NDBlOWU0NmI3MWM2NWRmLi4xZDIwNmZmZWY3ZTI4NWY2NGVkZGJlOWJmZDE1ZmY5ZmZiNWE3ZDNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yOTA4LDYgKzI5MDgsOCBA
QCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTdWJ0bGVDcnlwdG9FbmFi
bGVkKFtwcmVmZXJlbmNlcyBzdWJ0bGVDcnlwdG9FbmFibGVkXSk7CiAjZW5kaWYKIAorICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFi
bGVkKHByZWZlcmVuY2VzLmxpbmtQcmVsb2FkRW5hYmxlZCk7CisKICAgICBOU1RpbWVJbnRlcnZh
bCB0aW1lb3V0ID0gW3ByZWZlcmVuY2VzIGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25U
aW1lb3V0SW5TZWNvbmRzXTsKICAgICBpZiAodGltZW91dCA+IDApCiAgICAgICAgIHNldHRpbmdz
LnNldEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKHRpbWVv
dXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbCBiL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzUHJpdmF0ZS5pZGwKaW5kZXggOGZkMWQ5MjZmNzBkMDk4ZDFlNzM3ZjRmZDMxMmYyN2Zj
ZjViMmQxNS4uNWQ5MWM1MzczYzM3NmM1MmViNTRjZTU5MmE4OTA2M2Q2YjViZDE3NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCkBAIC0xOTEsNCArMTkxLDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1By
aXZhdGU0IDogSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTMKICAgICBIUkVTVUxUIHNldEFwcGxpY2F0
aW9uSWQoW2luXSBCU1RSIGFwcGxpY2F0aW9uSWQpOwogICAgIEhSRVNVTFQgd2ViQW5pbWF0aW9u
c0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CiAgICAgSFJFU1VMVCBzZXRXZWJBbmltYXRp
b25zRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBsaW5rUHJlbG9hZEVu
YWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRMaW5rUHJlbG9hZEVu
YWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA1OGJiODgxMGRiNjJkYjU0MDRjMGU2MTJlOTRjMTE0
MDcyYWExZmMwLi5hZjk3MjA2ZTg3NjEyYmY2NTM5M2NjNmQ2ZWM1ZDdjMGIyMzg5YTk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTc3LDMg
KzE3Nyw1IEBACiAjZGVmaW5lIFdlYktpdE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkUHJlZmVy
ZW5jZUtleSAiV2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQiCiAKICNkZWZpbmUgV2Vi
S2l0V2ViQW5pbWF0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRXZWJBbmltYXRpb25z
RW5hYmxlZCIKKworI2RlZmluZSBXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5
ICJXZWJLaXRMaW5rUHJlbG9hZEVuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5j
cHAKaW5kZXggZTY1MzEyOGJmMzM0ODlmYTczZjg0Nzk3ZTI0OTFiNWYwYTliMGIyMi4uZTgyMmRi
ODc1MmUxZGEwOTllYjFkNGY0ZWY2NGYzYWQ3OTU1YmE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VzLmNwcApAQCAtMzA2LDYgKzMwNiw4IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6Omlu
aXRpYWxpemVEZWZhdWx0U2V0dGluZ3MoKQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVm
YXVsdHMsIENGU1RSKFdlYktpdFdlYkFuaW1hdGlvbnNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtD
RkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZT
VFIoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxz
ZSk7CisKICAgICBkZWZhdWx0U2V0dGluZ3MgPSBkZWZhdWx0czsKIH0KIApAQCAtMTk5MSw2ICsx
OTkzLDIwIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6Om1vZGVybk1lZGlhQ29udHJvbHNFbmFi
bGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQg
V2ViUHJlZmVyZW5jZXM6OnNldExpbmtQcmVsb2FkRW5hYmxlZChCT09MIGVuYWJsZWQpCit7Cisg
ICAgc2V0Qm9vbFZhbHVlKFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXksIGVu
YWJsZWQpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjps
aW5rUHJlbG9hZEVuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJs
ZWQpCisgICAgICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVG
b3JLZXkoV2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJu
IFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldEFwcGxpY2F0aW9uSWQoQlNU
UiBhcHBsaWNhdGlvbklkKQogewogICAgIG1fYXBwbGljYXRpb25JZCA9IFN0cmluZyhhcHBsaWNh
dGlvbklkKS5jcmVhdGVDRlN0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5k
ZXggZDA5NDBhZjc0MmMyZDU3M2M2M2VlNjRlMGNkZjhiY2YyMzNiZjZmZi4uNjkxNTJlYzkyNjll
ZDg3OTZiZDg0MTljNzkwMmUxMmVjYjljM2JjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNl
cy5oCkBAIC0yNDUsNiArMjQ1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXRBcHBsaWNhdGlvbklkKEJTVFIpOwogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSB3ZWJBbmltYXRpb25zRW5hYmxlZChfT3V0XyBCT09MKik7CiAg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFdlYkFuaW1hdGlvbnNFbmFi
bGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsaW5rUHJl
bG9hZEVuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBzZXRMaW5rUHJlbG9hZEVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVmZXJl
bmNlcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaAppbmRleCBlMGE2NDgyODkzYTBlZWM4NjFjMGI3ZWQyZjk4NzU2YWRhNGI4ZDg3Li40
ZGU1OTI4MDE3NmQzYzRiM2NjMTFlY2E0OWJjMzBmZjUzODQ2MDU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTMxNCw2ICsz
MTQsNyBAQAogICAgIG1hY3JvKENTU0dyaWRMYXlvdXRFbmFibGVkLCBjc3NHcmlkTGF5b3V0RW5h
YmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwg
IkNTUyBHcmlkIiwgIkNTUyBHcmlkIExheW91dCBNb2R1bGUgc3VwcG9ydCIpIFwKICAgICBtYWNy
byhTcHJpbmdUaW1pbmdGdW5jdGlvbkVuYWJsZWQsIHNwcmluZ1RpbWluZ0Z1bmN0aW9uRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIkNT
UyBTcHJpbmcgQW5pbWF0aW9ucyIsICJDU1MgU3ByaW5nIEFuaW1hdGlvbiBwcm90b3R5cGUiKSBc
CiAgICAgbWFjcm8oR2FtZXBhZHNFbmFibGVkLCBnYW1lcGFkc0VuYWJsZWQsIEJvb2wsIGJvb2ws
IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJHYW1lcGFkcyIsICJXZWIg
R2FtZXBhZCBBUEkgc3VwcG9ydCIpIFwKKyAgICBtYWNybyhMaW5rUHJlbG9hZEVuYWJsZWQsIGxp
bmtQcmVsb2FkRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVS
RVNfRU5BQkxFRCwgIkxpbmsgUHJlbG9hZCIsICJMaW5rIHByZWxvYWQgc3VwcG9ydCIpIFwKICAg
ICBtYWNybyhNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCwgbW9kZXJuTWVkaWFDb250cm9sc0Vu
YWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQs
ICJNb2Rlcm4gTWVkaWEgQ29udHJvbHMiLCAiVXNlIG1vZGVybiBtZWRpYSBjb250cm9scyBsb29r
IikgXAogICAgIG1hY3JvKElucHV0RXZlbnRzRW5hYmxlZCwgaW5wdXRFdmVudHNFbmFibGVkLCBC
b29sLCBib29sLCBERUZBVUxUX0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVELCAiSW5wdXQg
RXZlbnRzIiwgIkVuYWJsZSBJbnB1dEV2ZW50cyBzdXBwb3J0IikgXAogICAgIG1hY3JvKFN1YnRs
ZUNyeXB0b0VuYWJsZWQsIHN1YnRsZUNyeXB0b0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJTdWJ0bGVDcnlwdG8iLCAiRW5hYmxlIFN1
YnRsZUNyeXB0byBzdXBwb3J0IikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IGVkM2E2ZWFkN2EzMzhkZjY2ZGRmNmZkYmExYTgy
OTA3NzQwZDEzMTcuLmIyM2E5NmNhNWNmZGRjNjg1NjI4Y2Y2ZWRhNTFhZTlhNmRhMDQ5MTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAK
QEAgLTE2MjEsNiArMTYyMSwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJ0bGVDcnlwdG9F
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1w
bChwcmVmZXJlbmNlc1JlZiktPnN1YnRsZUNyeXB0b0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1By
ZWZlcmVuY2VzU2V0TGlua1ByZWxvYWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRMaW5r
UHJlbG9hZEVuYWJsZWQoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldExpbmtQcmVs
b2FkRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5saW5rUHJlbG9hZEVuYWJsZWQoKTsKK30KKwogdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5nUHJvdmlz
aW9uYWxOYXZpZ2F0aW9uKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxh
ZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGRTdXBwcmVzc0tleWJv
YXJkSW5wdXREdXJpbmdQcm92aXNpb25hbE5hdmlnYXRpb24oZmxhZyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5o
CmluZGV4IGMwNGU0NThkMjdjMzg2MGJhMWU3ZDUwNGExNTgxZjA3MzQ1YTEwZDkuLmRmNDdjOWFk
M2YzZGMzMTZjYWY2NDNiZWE4MTExMGUyOTk1NTk2Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC00
NTMsNiArNDUzLDEwIEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJ0bGVDcnlw
dG9FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNl
c1NldFNob3VsZFN1cHByZXNzS2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlv
bihXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJl
bmNlc0dldFNob3VsZFN1cHByZXNzS2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdh
dGlvbihXS1ByZWZlcmVuY2VzUmVmKTsKIAorLy8gRGVmYXVsdHMgdG8gZmFsc2UuCitXS19FWFBP
UlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TGlua1ByZWxvYWRFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TGlua1ByZWxv
YWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IGRmNWQwNTRmYzFjYjIzMzFiMjdjYjU2MjM0ZDg1ZDdmNDM2MzBhODUuLmYyMTdhYzZiZDVk
YzUyZDVkOGRlNzY0NmI3OTliNzVjYmViNzA4N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMyMzgsNiArMzIzOCw4IEBAIHZvaWQgV2Vi
UGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUp
CiAKICAgICAvLyBFeHBlcmltZW50YWwgRmVhdHVyZXMuCiAKKyAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxpbmtQcmVsb2FkRW5hYmxlZEtleSgp
KSk7CisKICNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTR3JpZExheW91dEVuYWJsZWQoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpjc3NHcmlkTGF5b3V0RW5hYmxlZEtl
eSgpKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCBiYmRhNGY5MTIzNzA3YmY2OTExMzc2ZDQ1NDI2NjExZmNlNjgyODc0Li5lOGI0
NjNmOTFhY2NiOWEzZTcwMzU2YmM0OWRhNGFiODAxNzFiMGUzIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDEt
MjYgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9h
ZCBhcyBhbiBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5j
ZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1w
UmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50
VmFsdWVzKToKKwogMjAxNy0wMS0yNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gSWNvbiBEYXRhYmFzZSBzaG91bGQgYmUgaW4gcHJp
dmF0ZSBicm93c2luZyBtb2RlIGZvciBlcGhlbWVyYWwgd2ViIHZpZXdzCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggNjFhOTVkOThmOGMwYmM5YmI0ZjVm
ZGQ3YzVhNGU2OGJhNWNjN2EyZi4uYzE3NDhjNDEzYmIyZDAxNjU4NTZkYTUwNzA3ODNhNzRmYjhj
MjVhMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAt
MTAwOSw2ICsxMDA5LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lz
dGVudFZhbHVlcygpCiAgICAgW3ByZWZlcmVuY2VzIHNldE1lZGlhU3RyZWFtRW5hYmxlZDpZRVNd
OwogICAgIFtwcmVmZXJlbmNlcyBzZXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQ6WUVTXTsKICAgICBb
cHJlZmVyZW5jZXMgc2V0V2ViQW5pbWF0aW9uc0VuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5j
ZXMgc2V0TGlua1ByZWxvYWRFbmFibGVkOllFU107CiAKICAgICBbV2ViUHJlZmVyZW5jZXMgX2Ns
ZWFyTmV0d29ya0xvYWRlclNlc3Npb25dOwogICAgIFtXZWJQcmVmZXJlbmNlcyBfc2V0Q3VycmVu
dE5ldHdvcmtMb2FkZXJTZXNzaW9uQ29va2llQWNjZXB0UG9saWN5Ok5TSFRUUENvb2tpZUFjY2Vw
dFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGRiZmI3ZjY3NWFhYTY4ZTIwYTQyYzg5NjI5
OWE3MjkwMzFhNWMwMzEuLmFiODFlYjFhMDBiOGJjM2ZkMDdlZmU1ZmIxYmYwOGM1ZDBkNDFiNmEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODc3
LDYgKzg3Nyw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRW
YWx1ZXMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICBwcmVmc1ByaXZhdGU0LT5z
ZXRTaGFkb3dET01FbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZTQtPnNldEN1c3RvbUVs
ZW1lbnRzRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGU0LT5zZXRNb2Rlcm5NZWRpYUNv
bnRyb2xzRW5hYmxlZChGQUxTRSk7CisgICAgcHJlZnNQcml2YXRlNC0+c2V0TGlua1ByZWxvYWRF
bmFibGVkKFRSVUUpOwogCiAgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9CmRp
ZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZyBiL1dlYnNpdGVzL3dlYmtp
dC5vcmcvQ2hhbmdlTG9nCmluZGV4IDUxNTk0NzdiNDc1YTFjYjRlZjJhYzVkODNjNTAxMTRhNjY3
MWYzMmQuLjk1NzZiYTk2NTE0YTRkMTkwMjg3YzQ2NTg2NDgzNTFlOTQ3MzhiOWIgMTAwNjQ0Ci0t
LSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5v
cmcvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDEtMjYgIFlvYXYgV2Vpc3MgIDx5
b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnktZGVm
YXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGV4cGVyaW1lbnRhbC1mZWF0dXJlcy5odG1s
OiBBZGRlZCBMaW5rIFByZWxvYWQuCisKIDIwMTctMDEtMjAgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgQW5pbWF0aW9ucyBzaG91bGQgYmUgb2ZmIGJ5
IGRlZmF1bHQgYW5kIGVuYWJsZWQgYXMgYW4gZXhwZXJpbWVudGFsIGZlYXR1cmUKZGlmZiAtLWdp
dCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZXhwZXJpbWVudGFsLWZlYXR1cmVzLmh0bWwgYi9XZWJz
aXRlcy93ZWJraXQub3JnL2V4cGVyaW1lbnRhbC1mZWF0dXJlcy5odG1sCmluZGV4IGYzMmYxM2Ni
ZDY4NGVmNTU0OWYwMjE1NjNhOTczOTRlZWUyYWY1YjIuLjlhYTA3NzMyMjA0ZjgxNDUxNzk1NmVl
MTY0M2ZhMzlhMTQyMWViMjkgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZXhwZXJp
bWVudGFsLWZlYXR1cmVzLmh0bWwKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9leHBlcmltZW50
YWwtZmVhdHVyZXMuaHRtbApAQCAtNzgsNiArNzgsMTEgQEAgZnVuY3Rpb24gdGVzdFdlYkdMMigp
IHsKICAgICByZXR1cm4gY2FudmFzLmdldENvbnRleHQoIndlYmdsMiIpOwogfQogCitmdW5jdGlv
biB0ZXN0TGlua1ByZWxvYWQoKSB7CisgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJsaW5rIik7CisgICAgcmV0dXJuIGxpbmsucmVsTGlzdC5zdXBwb3J0cygicHJlbG9hZCIp
OworfQorCiBmdW5jdGlvbiB0ZXN0R2FtZXBhZCgpIHsKICAgICByZXR1cm4gbmF2aWdhdG9yLmdl
dEdhbWVwYWRzOwogfQpAQCAtMTM2LDYgKzE0MSw3IEBAIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgZnVuY3Rpb24gKCkgewogICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iR2Ft
ZXBhZCI+PHA+R2FtZXBhZCBBUEk8L3A+PC9kaXY+CiAgICAgICAgIDxkaXYgY2xhc3M9InRlc3Qi
IGlkPSJGb3JtVmFsaWRhdGlvbiI+PHA+SFRNTCBGb3JtIFZhbGlkYXRpb248L3A+PC9kaXY+CiAg
ICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJJbnB1dEV2ZW50cyI+PHA+SFRNTCBJbnB1dCBF
dmVudHM8L3A+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJMaW5rUHJlbG9h
ZCI+PHA+TGluayBQcmVsb2FkPC9wPjwvZGl2PgogICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBp
ZD0iU3VidGxlQ3J5cHRvIj48cD5TdWJ0bGVDcnlwdG88L3A+PC9kaXY+CiAgICAgICAgIDxkaXYg
Y2xhc3M9InRlc3QiIGlkPSJWYXJpYXRpb25Gb250cyI+PHA+VmFyaWF0aW9uIEZvbnRzPC9wPjwv
ZGl2PgogICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iV2ViQW5pbWF0aW9ucyI+PHA+V2Vi
IEFuaW1hdGlvbnM8L3A+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2M4Yjc3NGExYjQ5ODM2NmFhM2UzYWJlYzdm
MjQzYjU4NWM2NDc3Mi4uNDMzZjYxMjQ3NmZjY2NmYjJmN2FiMDM4YmZlNjI3OGE4ZjczZWY5ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTAxLTI2ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2
LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhw
ZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBjb2RlIGV4cGxpY2l0bHkgZW5hYmxpbmcgTGlu
ayBwcmVsb2FkIGZyb20gdGhlIHRlc3RzLCBhcyBpdCBpcyBub3cKKyAgICAgICAgdHVybmVkIG9u
IGJ5IGRlZmF1bHQgZm9yIHRlc3RpbmcuIENvcnJlY3RlZCBleHBlY3RhdGlvbiBmaWxlcyBhY2Nv
cmRpbmdseS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvZmV0Y2gvcmVkaXJlY3Rtb2RlLWFuZC1w
cmVsb2FkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5nX29ubG9h
ZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9wcmVsb2FkL2RlbGF5aW5nX29ubG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5X2lt
YWdlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNl
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jl
c291cmNlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNv
dXJjZXNfZnJvbV9oZWFkZXJfaWZyYW1lLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVs
b2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2ludmFsaWRfaGVhZGVycy5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX2FkZGluZ19wcmVsb2FkLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3ByZWxvYWRfaHJlZi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3By
ZWxvYWRfaHJlZi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9ub3RfZGVsYXlp
bmdfd2luZG93X29ubG9hZF9iZWZvcmVfZGlzY292ZXJ5Lmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9w
cmVsb2FkL29ubG9hZF9ldmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9w
cmVsb2FkL29ubG9hZF9ldmVudC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9y
ZXNvdXJjZXMvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2ludmFsaWRfcmVzb3VyY2VzX2Zyb21faGVhZGVy
LnBocDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxv
YWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93
bmxvYWRfcHJlbG9hZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVk
LWNyb3NzLW9yaWdpbi1wcmVsb2FkZWQtY3NzLXN0eWxlc2hlZXQuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGluZy1jc3Mtc3R5
bGVzaGVldC5odG1sOgorCiAyMDE3LTAxLTI1ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgog
CiAgICAgICAgIFJFR1JFU1NJT04ocjIwMzExMCk6IExheW91dFRlc3QgaHR0cC90ZXN0cy9wcmVs
b2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkX3J1bm5lci5odG1sIHRpbWluZyBvdXQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0Y2gvcmVkaXJlY3Rtb2RlLWFuZC1wcmVs
b2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNoL3JlZGlyZWN0bW9kZS1hbmQt
cHJlbG9hZC5odG1sCmluZGV4IGQ1MjEyYzU5MDFjMDg3OTBhZjA2ZDczNmM1NDMyZWViN2U4NDFk
ODQuLjNjMTUyMGU2OGUyNjI0NWI2ZjhkYmNhOTc2OWQwZGZjOWU5MDM3YjggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0Y2gvcmVkaXJlY3Rtb2RlLWFuZC1wcmVsb2FkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9yZWRpcmVjdG1vZGUtYW5kLXBy
ZWxvYWQuaHRtbApAQCAtOCwxMCArOCw2IEBACiAgICAgPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRs
ZT0iQ2Fub24gUmVzZWFyY2ggRnJhbmNlIiBocmVmPSJodHRwczovL3d3dy5jcmYuY2Fub24uZnIi
PgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci1pZiAod2luZG93LmludGVybmFscykK
LSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOwotICAg
IDwvc2NyaXB0PgogICAgIDxsaW5rIHJlbD1wcmVsb2FkIG9ubG9hZD0ic3RhcnRUZXN0cygpIiBo
cmVmPSIuL3Jlc291cmNlcy9yZWRpcmVjdC13aXRoLWNhY2hlLnBocD9lbmFibGVDYWNoaW5nJnVy
bD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2FsbG93LWlmLW9yaWdp
bi5waHA/YWxsb3dDYWNoZSZvcmlnaW49aHR0cCUzQSUyRiUyRjEyNy4wLjAuMSUzQTgwMDAmbmFt
ZT1hbGVydC1mYWlsLmpzJmNvbnRlbnRUeXBlPXRleHQvYXNjaWkiPgogICA8L2hlYWQ+CiAgIDxi
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5n
X29ubG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNj
b3ZlcnkuaHRtbAppbmRleCAxZmU1NTkwNDU1M2RjZDY0ZjEwMGI2ZDVmN2U1OGYyNGRkMDQ0ZTJl
Li4wMDk0ZTk5ZDIzNjhhYmYzNWM0YTRjMDE4MmZmNjRhNGFmM2ZjOTU0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9h
ZF9hZnRlcl9kaXNjb3ZlcnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3ZlcnkuaHRtbApAQCAt
MSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93Lmlu
dGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9h
ZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpCiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwpAQCAtMTQsOCArMTIsNiBAQAogPHNjcmlwdD4KICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIGZ1bmN0aW9uKCkgewogICAgICAgICBzaG91bGRCZVRydWUoImZpbmlzaGVkU2Ny
aXB0Iik7Ci0gICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOwogICAgICAg
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfSwgMCk7
CiAgICAgfSk7CiAgICAgdmFyIHNjciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2RlbGF5aW5nX29u
bG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5X2ltYWdlLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9k
aXNjb3ZlcnlfaW1hZ2UuaHRtbAppbmRleCA4NDczNWVlZDQ0NDY3NWZkNTRjYWE1MWQ0NDdkOTli
NjA5ODQ4YjI5Li5hZWIxYjRjMjYwODEwYzRmM2QzMWE0MjU3MmNlMjE4MDk2MWFhOWQxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xp
bmtfcHJlbG9hZF9hZnRlcl9kaXNjb3ZlcnlfaW1hZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNj
b3ZlcnlfaW1hZ2UuaHRtbApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlw
dD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCiAgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwpAQCAtMTQsOCArMTIsNiBAQAogPHNjcmlwdD4KICAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgewogICAgICAgICBzaG91
bGRCZVRydWUoImZpbmlzaGVkSW1hZ2UiKTsKLSAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5h
YmxlZChmYWxzZSk7CiAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0pOwog
ICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy1leHBlY3RlZC50eHQKaW5k
ZXggYWYxMzVhNDFmZTI4NzNmNmEwZjFkYWM1NjU2YzZlMmEwMTk1MzUxNi4uZTQ4OGE3MzdmYzNl
Njk3MTYxMDg4OGEyMzA2MjE4MDI5N2M0OWVhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IDxsaW5rIHJlbD1w
cmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTE6IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCiBQ
QVNTIGludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15LmpzJyk7IGlzIHRy
dWUKIFBBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkuY3NzJyk7
IGlzIHRydWUKIFBBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvc3F1YXJl
LnBuZycpOyBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwKaW5kZXggNmQ1YzUwNDcwMmMxNDAwMWQ0ODlmNWNi
OTZiYzgzMjg1ZmM4ODM1NC4uM2U2ZWExYjQzM2QwMWQ5ZTBkOTI1MWVkMWUxZTIzY2I4OWI1Nzc0
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jl
c291cmNlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9h
ZF9yZXNvdXJjZXMuaHRtbApAQCAtMSwxMCArMSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1s
PgogPGhlYWQ+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKLTwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KIDxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9kdW1teS5qcyIgYXM9
c2NyaXB0PgogPGxpbmsgcmVsPXByZWxvYWQgaHJlZj0iLi4vcmVzb3VyY2VzL2R1bW15LmNzcyIg
YXM9c3R5bGU+CkBAIC0yOSw3ICsyNSwzIEBACiAgICAgc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxz
LmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkueG1sP2JhZHZhbHVlJyk7Iik7CiAgICAg
c2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS54
bWwnKTsiKTsKIDwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykK
LSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQo
ZmFsc2UpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3By
ZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyX2lmcmFtZS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlcl9p
ZnJhbWUuaHRtbAppbmRleCAwZDVjYzIxN2ExNmJhYWNmMTkyMzU2YzBkNjJiZjI0ZjY3ODk2MTZh
Li45MTkxNDY5YWQzNzU2NDM5OTlhOTU1NjUyOTlhODZmNDc3ZDhmMzFlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVh
ZGVyX2lmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3du
bG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXJfaWZyYW1lLmh0bWwKQEAgLTEsNyArMSw1IEBACiA8
IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUp
OwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJj
ZXNfZnJvbV9pbnZhbGlkX2hlYWRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJl
bG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9pbnZhbGlkX2hlYWRlcnMuaHRtbAppbmRleCBk
N2Y3NDZhZmI5N2IzMzM5MTlkYTgxZTYzOTNlODhjYzU0ZWIwZDZmLi42MzQzYzUxOWFkN2UwNzIx
YWFhN2RlMzUwNDY4ZTgzM2Q1MGRhNGE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faW52YWxpZF9oZWFkZXJzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19m
cm9tX2ludmFsaWRfaGVhZGVycy5odG1sCkBAIC0xLDcgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+
CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19hZGRpbmdfcHJlbG9hZC5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfYWRkaW5nX3ByZWxvYWQuaHRt
bAppbmRleCBjZWE4ZmUwNDI0NjBhYTY5MjliZGFiMWY2YTJkMTc3M2VjMWNiN2JhLi5hZmRjZjlk
NWM0YmM1MjJiYTMxNmEyYmUxYzdmMmJiOTVjNWQ2ZTZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19hZGRpbmdfcHJlbG9hZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX2FkZGluZ19wcmVsb2FkLmh0bWwK
QEAgLTEsMTAgKzEsNiBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlw
dD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8Ym9keT4KIDxz
Y3JpcHQ+CkBAIC0xNyw4ICsxMyw1IEBACiA8c2NyaXB0IHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4
MDAwL3Jlc291cmNlcy9zbG93LXNjcmlwdC5wbD9kZWxheT0xMDAiPjwvc2NyaXB0PgogPHNjcmlw
dD4KICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2Vz
L2R1bW15LmpzJyk7Iik7Ci0KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOwogPC9z
Y3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvZHluYW1pY19yZW1vdmVfcHJlbG9hZF9ocmVmLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYtZXhwZWN0ZWQu
dHh0CmluZGV4IDZlYzE4NDg4ZmJiMTA4NWVkNWY4M2I3YzUyZjAxZWNhNDliMjllMmQuLjNiNDhk
MTBiMmRmMjhmYmMzY2JkOGQ0YzA0MTA2YmJmNzVhMTgzMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92
ZV9wcmVsb2FkX2hyZWYtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE5OiA8bGluayByZWw9cHJlbG9hZD4gaGFzIGFuIGludmFsaWQgYGhyZWZgIHZh
bHVlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTc6IDxsaW5rIHJlbD1wcmVsb2FkPiBoYXMgYW4g
aW52YWxpZCBgaHJlZmAgdmFsdWUKIFBBU1MgZG93bmxvYWRlZEltYWdlIGlzIGZhbHNlCiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYuaHRt
bAppbmRleCAzMTBkZWYyYjJiMTc5ZmVmODIwOThlYzdmMjQ2ZDIxMjZiNjBlMjIwLi4xMmZkYjE0
Y2NhMzg2MDI3ZWNiMjE5YmRkYTEzNzhiNTJkOThkNDM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1vdmVfcHJlbG9hZF9ocmVmLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3ByZWxvYWRf
aHJlZi5odG1sCkBAIC0yLDEwICsyLDggQEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0PgotICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQogICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlc291cmNlVGltaW5nRW5h
YmxlZCh0cnVlKTsKLSAgICB9CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8Ym9keT4KQEAgLTI0LDEwICsyMiw4IEBACiAg
ICAgICAgICAgICAgICAgZG93bmxvYWRlZEltYWdlID0gdHJ1ZTsKICAgICAgICAgfQogICAgICAg
ICBzaG91bGRCZUZhbHNlKCJkb3dubG9hZGVkSW1hZ2UiKTsKLSAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpIHsKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlu
a1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAg
ICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlc291cmNlVGltaW5nRW5h
YmxlZChmYWxzZSk7Ci0gICAgICAgIH0KICAgICB9KTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL25vdF9kZWxheWluZ193aW5k
b3dfb25sb2FkX2JlZm9yZV9kaXNjb3ZlcnkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJlbG9hZC9ub3RfZGVsYXlpbmdfd2luZG93X29ubG9hZF9iZWZvcmVfZGlzY292ZXJ5Lmh0bWwK
aW5kZXggNWI3NTk2MGM2ZTllMGRkZDg4NTY5OWIyM2Y2MmI3M2VhZGM5NDU0OC4uN2Y0MjJhNmMy
YTYyN2MyOGM2ZDk2OWQ3NWVlZDg3NWNiZmVmNThiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wcmVsb2FkL25vdF9kZWxheWluZ193aW5kb3dfb25sb2FkX2JlZm9yZV9kaXNj
b3ZlcnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvbm90X2RlbGF5
aW5nX3dpbmRvd19vbmxvYWRfYmVmb3JlX2Rpc2NvdmVyeS5odG1sCkBAIC0xLDcgKzEsNSBAQAog
PCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVl
KTsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCkKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CkBAIC0xNSw4ICsx
Myw2IEBACiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ3aW5k
b3dPbkxvYWQiKTsKICAgICAgICAgaWYgKGZpbmlzaGVkSW1hZ2UgJiYgZmluaXNoZWRTY3JpcHQp
IHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKICAg
ICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDViY2Qy
NmVhNGRkYTEyMzBlNGJkNDg5MzcxNmYxZWU4ZThlOGIyYTUuLjI5MTZhZjI1MTY2YzhhZjg0ZjBi
OWMxOWI1ZTRkZDhlN2JiZDcxNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJlbG9hZC9vbmVycm9yX2V2ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUg
YSB2YWxpZCBgYXNgIHZhbHVlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IDxsaW5rIHJlbD1w
cmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC5odG1sCmluZGV4IGFjMGNjOTQ2ZDQ0MDJmMWZkMTgz
ZDg2MWM5Mjk0NjE1ODI1MjAxMzguLmQxYWQyMjhjYWYyMGJkNmI2Y2Y1MWIwZGI2YTM3ZmUwMzli
NDEzOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9y
X2V2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3Jf
ZXZlbnQuaHRtbApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLSAg
ICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCiAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwpAQCAtMzcsOCArMzUsNiBAQAogICAgICAgICBzaG91bGRCZVRydWUo
InRyYWNrRmFpbGVkIik7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZ2licmlzaEZhaWxlZCIpOwog
ICAgICAgICBzaG91bGRCZVRydWUoIm5vVHlwZUZhaWxlZCIpOwotICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlu
a1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC1leHBlY3RlZC50
eHQKaW5kZXggN2IyMzJjZTQ1NjIzY2RhYWFjYTc0ZjE1M2ZmMzQ4MzMzODc4NGNmYy4uMWYxOTA1
MzVhYmM4MjJhNjUxMjZhZjM5ZDc3NzNkMTI1MGNmNDEyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSw1IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IDxsaW5rIHJlbD1wcmVsb2Fk
PiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzY6
IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMzM6IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBg
YXNgIHZhbHVlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzQ6IDxsaW5rIHJlbD1wcmVsb2FkPiBt
dXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJlbG9hZC9vbmxvYWRfZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9h
ZC9vbmxvYWRfZXZlbnQuaHRtbAppbmRleCA4YjExYmY4MzVjMDczYmE2MWUzZjYzOGU5MjQ2MDI4
Zjk1NmE4MGZkLi5hNmNiYTY2ZDA5YWY1NjU5OWViYzhjYTBkYWMzNjI4MzFlNmVkYjBmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC5odG1sCkBA
IC0xLDcgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVs
b2FkRW5hYmxlZCh0cnVlKTsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CkBAIC01MCw4ICs0OCw2IEBACiAgICAgICAgIHNob3VsZEJlVHJ1ZSgieHNsdEVycm9yZWQi
KTsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJub1R5cGVMb2FkZWQiKTsKICAgICAgICAgc2hvdWxk
QmVUcnVlKCJlbXB0eVR5cGVMb2FkZWQiKTsKLSAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5h
YmxlZChmYWxzZSk7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVh
ZGVyLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMvZG93bmxv
YWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocAppbmRleCAxOTE4Yjg1ZGU3YTAyMGRhMGU0MjBm
MTk4NjUzODM1MmVkMTUyYzA2Li45OTZjOTU0YmUxNjllMDk0MWI0ZTVmMzA2OTNiMTBiYmNkYTI3
MjEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2Vz
L2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIu
cGhwCkBAIC0yMCw3ICsyMCwzIEBAIGhlYWRlcigiTGluazogPC4uL3Jlc291cmNlcy9kdW1teS54
bWw+OyByZWw9cHJlbG9hZCIsIGZhbHNlKTsKICAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMu
aXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS54bWw/YmFkdmFsdWUnKTsiKTsKICAgICBz
aG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15Lnht
bCcpOyIpOwogPC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQot
ICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZChm
YWxzZSk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJl
bG9hZC9yZXNvdXJjZXMvaW52YWxpZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9pbnZhbGlkX3Jlc291cmNlc19mcm9t
X2hlYWRlci5waHAKaW5kZXggMGZkYzdmN2ZkM2I2M2M4YTAyOTk2ZjlhMDg3OGQ5ODk0YjExYjZl
Ny4uYmRmMzQ0YjVkNGRlYzY2NDc0ZDliOTM3MzZkMTcwZmRjOGE1NmM4OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9pbnZhbGlkX3Jlc291cmNl
c19mcm9tX2hlYWRlci5waHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Jl
c291cmNlcy9pbnZhbGlkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHAKQEAgLTQwLDcgKzQwLDMg
QEAgaGVhZGVyKCJMaW5rOiA8ICAgLi4vcmVzb3VyY2VzL2R1bW15LmpzP2Zvb2JhciA+OyByZWw9
cHJlbG9hZDsgYXM9JyIsIGZhbHNlKTsKICAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNQ
cmVsb2FkZWQoJyNmb29iYXInKTsiKTsKICAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNQ
cmVsb2FkZWQoJy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpOyIpOwogPC9zY3JpcHQ+Ci08c2NyaXB0
PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7Ci08L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9h
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvc2luZ2xlX2Rv
d25sb2FkX3ByZWxvYWQtZXhwZWN0ZWQudHh0CmluZGV4IDA3YjU4ZDg2OGMzYTc4MzYzNTk4YmY2
NTFhN2Y4MzU1MDI2OWRhYmMuLmRlMDEzNDIyNjA5NTljZTc4NDkwNGQ5ZDQwMDhkZjY0OGE2Mjc3
MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93
bmxvYWRfcHJlbG9hZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
cmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQg
QEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMTogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2
ZSBhIHZhbGlkIGBhc2AgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogPGxpbmsgcmVs
PXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKICAKIAogUEFTUyBNYWtlcyBz
dXJlIHRoYXQgcHJlbG9hZGVkIHJlc291cmNlcyBhcmUgbm90IGRvd25sb2FkZWQgYWdhaW4gd2hl
biB1c2VkIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Npbmds
ZV9kb3dubG9hZF9wcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQv
c2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQuaHRtbAppbmRleCAxNWUwNGZhZmZhNDEyMmRkYjE5MGIw
Y2Q4NWYyZmNiNjc0MzVjMzU1Li44NjgzZThmODZkYjg1ZGJkMDYwNGRkMDM0MTdiMzhmY2JmNDk2
OTAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvc2luZ2xlX2Rv
d25sb2FkX3ByZWxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQv
c2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQuaHRtbApAQCAtMSw5ICsxLDcgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykgewotICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOworICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQogICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVzb3VyY2VUaW1p
bmdFbmFibGVkKHRydWUpOwotICAgIH0KIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KQEAgLTYxLDEwICs1
OSw4IEBACiAgICAgICAgICAgICAvLyBGSVhNRTogWEhSIHNob3VsZCB0cmlnZ2VyIGEgc2luZ2xl
IGRvd25sb2FkLCBidXQgaXQgZG93bmxvYWRzIDIgcmVzb3VyY2VzIGluc3RlYWQuCiAgICAgICAg
ICAgICB2ZXJpZnlEb3dubG9hZE51bWJlcigiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNl
cy9kdW1teS54bWwiLCAyKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdmVyaWZ5
IGZvciB2aWRlbyBhbmQgYXVkaW8gYXMgd2VsbCwgYnV0IHRoZXkgc2VlbSB0byAoZmxha2lseT8p
IHRyaWdnZXIgbXVsdGlwbGUgcGFydGlhbCByZXF1ZXN0cy4KLSAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExp
bmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFs
cykKICAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkKGZhbHNlKTsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIHQuZG9uZSgpOwogICAg
ICAgICAgICAgfSksIDEwMCk7CiAgICAgfSkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRlZC1jc3Mtc3R5bGVz
aGVldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mt
b3JpZ2luLXByZWxvYWRlZC1jc3Mtc3R5bGVzaGVldC5odG1sCmluZGV4IDRhZjE1NDBlNGQ5MzRk
NmZhMzIwMDg1Y2I0YzA5NTk3NzZlYWJlYWUuLmEyYmRjOWQ2NWY3ZTMwOTczMDYwMmI1OGVkMWNi
NzkxYTZiZGI3Y2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkZWQtY3NzLXN0eWxlc2hlZXQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9h
ZGVkLWNzcy1zdHlsZXNoZWV0Lmh0bWwKQEAgLTEsNyArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4K
IDxzY3JpcHQ+Ci1pZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOwogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jv
c3Mtb3JpZ2luLXByZWxvYWRpbmctY3NzLXN0eWxlc2hlZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkaW5nLWNzcy1zdHls
ZXNoZWV0Lmh0bWwKaW5kZXggYzllNzQwNzYxZThkZDUxNGExOTA4ZjZmZTQzNzIwYzZhNDEwMTE0
NS4uYzk1YTllNTM1ZWVmMzcxNWMzMDlkMGJjYTMzMGUyZDUyM2RhMDA3MSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxv
YWRpbmctY3NzLXN0eWxlc2hlZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGluZy1jc3Mtc3R5bGVzaGVldC5odG1s
CkBAIC0yLDggKzIsNiBAQAogPGh0bWw+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93Lmlu
dGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRy
dWUpOwogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300040</attachid>
            <date>2017-01-28 09:50:44 -0800</date>
            <delta_ts>2017-01-28 10:45:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167201-20170128184835.patch</filename>
            <type>text/plain</type>
            <size>40639</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWJiN2UxMGQwYWVlMGJi
NGI4NzY1ODAwZDE5MjNmOGJhZjA0ZGIzZS4uNzJiY2VjZTEyMWVhODQ0OWE1ODc4YTEyYTMyOGQy
Yjc2MjE0NDk0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTAxLTI5ICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4g
b2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFJlbW92ZWQgdGhlIGV4cGxpY2l0
IHNldHRpbmcgb2YgdGhlIExpbmsgUHJlbG9hZCBleHBlcmltZW50YWwgZmVhdHVyZSwKKyAgICAg
ICAgYXMgaXQgaXMgbm93IG9uIGJ5IGRlZmF1bHQgZm9yIHRlc3RpbmcuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIGFzIHRoaXMganVzdCByZW1vdmVzIG1ldGhvZHMgZnJvbSBzZXR0aW5ncy4KKwor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlk
bDoKKwogMjAxNy0wMS0yOCAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgUkVHUkVTU0lPTihyMTk2MzgzKTogQXV0b21hdGljIHNocmluay10by1maXQgb2YgUnVs
ZVNldCBubyBsb25nZXIgd29ya3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNDAzNjQ0ZTc4NzZlODlh
NmQwMzNlNTBjYmFkMDBjYTAyMDE0ZjI5Yy4uZGVhNDhkOTJjNTQzMzAxNzBjNDYzZmU0MGE4NTU3
OThmOWFiZjAxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAxLTI5
ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQg
YXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBsaW5rUHJlbG9hZEVuYWJsZWRdKToKKyAg
ICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0TGlua1ByZWxvYWRFbmFibGVkOl0pOgorICAgICAg
ICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9X
ZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisK
IDIwMTctMDEtMjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgVXNlciBUaW1pbmcgRXhwZXJpbWVudGFsIEZlYXR1cmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpp
bmRleCA2NGQ2MDg0NjBiODAyZGRmODI0NzZiNGU5N2E4OGRmZGI3ZGUzYmQzLi44ZWExMTU0Mzcy
MzI0NjY4YzhkZDM4MzIxODUyMDg1Y2Y0N2QwOGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTctMDEtMjkgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAg
ICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVh
dHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAg
ICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJl
bmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0
aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6dmFsdWVGb3JLZXkpOgorICAgICAgICAo
V2ViUHJlZmVyZW5jZXM6OnNldExpbmtQcmVsb2FkRW5hYmxlZCk6CisgICAgICAgIChXZWJQcmVm
ZXJlbmNlczo6bGlua1ByZWxvYWRFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5o
OgorICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisKIDIw
MTctMDEtMjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgVXNlciBUaW1pbmcgRXhwZXJpbWVudGFsIEZlYXR1cmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwODMy
ZDViOGM3ZDcxZDg5MjVmYzk0YmFhYmRiZGY1NTNmM2JlYjVhLi42MjY5YzhlNTE1ZmQ3ZmE3MDgx
M2JhMzRlNjhlMTE5OTU3NDhhYjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTct
MDEtMjkgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJl
bG9hZCBhcyBhbiBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEK
KworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRMaW5rUHJlbG9hZEVu
YWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTctMDEtMjggIEpvc2VwaCBQZWNvcmFy
byAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgVXNlciBUaW1pbmcgRXhwZXJp
bWVudGFsIEZlYXR1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwCmluZGV4IDQyZDA0M2JmNWQxMjBiMGYyN2ExMGVmZTkzZDM0OWY3MmJiNzA4MDMuLjI4ZDBi
MmI3ZDc4NzU5ZmQ5NWM0ZWIzMmU5MTAwNTcxZjA5OTE1N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtOTUsNyArOTUsNiBAQCBJbnRlcm5hbFNl
dHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0aW5ncyYgc2V0dGluZ3MpCiAgICAgLCBtX2ZvcmNl
ZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoc2V0dGluZ3MuZm9yY2VkRGlz
cGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSgpKQogICAgICwgbV9mb3JjZWRQcmVm
ZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZShzZXR0aW5ncy5mb3JjZWRQcmVmZXJz
UmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZSgpKQogICAgICwgbV9yZXNvdXJjZVRpbWlu
Z0VuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZXNvdXJj
ZVRpbWluZ0VuYWJsZWQoKSkKLSAgICAsIG1fbGlua1ByZWxvYWRFbmFibGVkKFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlua1ByZWxvYWRFbmFibGVkKCkpCiAjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKICAgICAsIG1faW5kZXhlZERCV29y
a2Vyc0VuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5pbmRl
eGVkREJXb3JrZXJzRW5hYmxlZCgpKQogI2VuZGlmCkBAIC0xODQsNyArMTgzLDYgQEAgdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyhTZXR0aW5ncyYgc2V0dGluZ3MpCiAg
ICAgU2V0dGluZ3M6OnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGZhbHNlKTsKIAogICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkKG1fcmVzb3VyY2VUaW1pbmdFbmFibGVkKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChtX2xpbmtQcmVsb2Fk
RW5hYmxlZCk7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEluZGV4ZWREQldvcmtl
cnNFbmFibGVkKG1faW5kZXhlZERCV29ya2Vyc0VuYWJsZWQpOwogI2VuZGlmCkBAIC02NzEsMTEg
KzY2OSw2IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVk
KGJvb2wgZW5hYmxlZCkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChlbmFibGVkKTsKIH0KIAotdm9pZCBJbnRlcm5h
bFNldHRpbmdzOjpzZXRMaW5rUHJlbG9hZEVuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFi
bGVkKGVuYWJsZWQpOwotfQotCiB2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEluZGV4ZWREQldv
cmtlcnNFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApp
bmRleCAwNDc3MDA0NGE2YTM5OTUzYmZlMTdkZGYxMzUwMWE4YmYwY2Q0NDE0Li41YzllOTM2OWFi
Nzk2YmYwNmVjNjM5NzQ2ZDk4OGZlODRlZDY2NGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTEwLDcgKzExMCw2IEBAIHB1YmxpYzoKIAogICAgIC8v
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCiAgICAgc3RhdGljIHZvaWQgc2V0UmVzb3VyY2VUaW1p
bmdFbmFibGVkKGJvb2wpOwotICAgIHN0YXRpYyB2b2lkIHNldExpbmtQcmVsb2FkRW5hYmxlZChi
b29sKTsKICAgICBzdGF0aWMgdm9pZCBzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sKTsK
ICAgICBzdGF0aWMgdm9pZCBzZXRDU1NHcmlkTGF5b3V0RW5hYmxlZChib29sKTsKICAgICBzdGF0
aWMgdm9pZCBzZXRXZWJHTDJFbmFibGVkKGJvb2wpOwpAQCAtMTg4LDcgKzE4Nyw2IEBAIHByaXZh
dGU6CiAKICAgICAgICAgLy8gUnVudGltZSBlbmFibGVkIHNldHRpbmdzLgogICAgICAgICBib29s
IG1fcmVzb3VyY2VUaW1pbmdFbmFibGVkOwotICAgICAgICBib29sIG1fbGlua1ByZWxvYWRFbmFi
bGVkOwogICAgICAgICBib29sIG1faW5kZXhlZERCV29ya2Vyc0VuYWJsZWQ7CiAgICAgICAgIGJv
b2wgbV9jc3NHcmlkTGF5b3V0RW5hYmxlZDsKICAgICAgICAgYm9vbCBtX3dlYkdMMkVuYWJsZWQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRs
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCAxZGYw
ZDNiYjFkOGM0NzgyN2I0YmZjZDlkYWFmMjg3MTMzNzdlYTkyLi41ZjRiZGVjMzZmZTBkMjMyOWRl
NDNlODEyNDVmY2FkY2Q3Y2FhMGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5pZGwKQEAgLTgzLDcgKzgzLDYgQEAgZW51bSBGb3JjZWRBY2Nlc3NpYmlsaXR5
VmFsdWUgeyAic3lzdGVtIiwgIm9uIiwgIm9mZiIgfTsKIAogICAgIC8vIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMuCiAgICAgdm9pZCBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoYm9vbGVhbiBlbmFi
bGVkKTsKLSAgICB2b2lkIHNldExpbmtQcmVsb2FkRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwog
ICAgIHZvaWQgc2V0SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAg
ICB2b2lkIHNldENTU0dyaWRMYXlvdXRFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdm9p
ZCBzZXRXZWJHTDJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA2ZTUxMzVk
Njg1YTQ2MWI0OGYzZjI0YzE4ZGMwMmM2MmNhOTAyNDM5Li42NGI2MzM5YzY5MzI1OTFhNTIwYTRh
ZTYwNTA3MGY0YWI5MjhjZTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTE3Niw2ICsxNzYsNyBAQAogI2RlZmlu
ZSBXZWJLaXRTdWJ0bGVDcnlwdG9FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFN1YnRsZUNy
eXB0b0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lZGlhU3RyZWFtRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRNZWRpYVN0cmVhbUVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFBlZXJDb25uZWN0
aW9uRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQiCisj
ZGVmaW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRMaW5r
UHJlbG9hZEVuYWJsZWQiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHBy
aXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRo
b2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KaW5kZXggOTE2ZDc5MWYyNmFkYjY5NzAwY2VkNzY2MDJmYmVhMWVjMWRiZDA1Mi4u
MmRhOWNkNDAyZjhkODc4NTQ5MjliOGU0NmFmMmYyNmM3MmM3MzdkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC0yNzU1LDYgKzI3NTUsMTYgQEAg
c3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRC
b29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UGVlckNvbm5lY3Rpb25FbmFibGVkUHJlZmVyZW5j
ZUtleV07CiB9CiAKKy0gKEJPT0wpbGlua1ByZWxvYWRFbmFibGVkCit7CisgICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtl
eV07Cit9CisKKy0gKHZvaWQpc2V0TGlua1ByZWxvYWRFbmFibGVkOihCT09MKWZsYWcKK3sKKyAg
ICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdExpbmtQcmVsb2FkRW5hYmxl
ZFByZWZlcmVuY2VLZXldOworfQorCiAtICh2b2lkKXNldE1ldGFSZWZyZXNoRW5hYmxlZDooQk9P
TCllbmFibGVkCiB7CiAgICAgW3NlbGYgc2V0SFRUUEVxdWl2RW5hYmxlZDplbmFibGVkXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmlu
ZGV4IDc1Mjc0OGMzMWRlMTE4ZGZhZTFjZTMzYzQ5NmQyYWY5YjQwM2QxMjQuLjQ0YTNhZjZkYjVm
MzRiOTNjYmFjZTY1MDk2ZmUyNTY2NDRkNzlmMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNTI5LDUgKzUyOSw2IEBAIGV4
dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90
aWZpY2F0aW9uOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFja0FmdGVyRnVsbHNjcmVlbjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGludGVy
c2VjdGlvbk9ic2VydmVyRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVzZXJU
aW1pbmdFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFi
bGVkOwogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMDczZmMx
ODYxODczZWYwMmFlYWRiMzliY2QxODg2NWRiMGRjYTliNC4uMDdkMWQ3YzIwYmQyMGQxMDNjMDhm
NjRhNGZiMGUxYzJhMDM1N2FhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtMjkxMiw2ICsyOTEyLDggQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2Fk
aW5nUXVpcmsoKQogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy51c2VyVGltaW5nRW5hYmxlZCk7CiAK
KyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVs
b2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9hZEVuYWJsZWQpOworCiAgICAgTlNUaW1l
SW50ZXJ2YWwgdGltZW91dCA9IFtwcmVmZXJlbmNlcyBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHBy
ZXNzaW9uVGltZW91dEluU2Vjb25kc107CiAgICAgaWYgKHRpbWVvdXQgPiAwKQogICAgICAgICBz
ZXR0aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25k
cyh0aW1lb3V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwgYi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lX
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCmluZGV4IDRmYzQ1OWUzMmI5NzI5MjQwZmFhYWNhNGMy
ZDlhYmRmMTYzZTMzYTUuLjNmNWE5NTU1YTU5Yzk4OWZhYTRhNTg2ZmNmM2NiNTcwZDg0NmUzZWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwKKysrIGIvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbApAQCAtMTk2LDQgKzE5Niw2IEBAIGludGVyZmFjZSBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlNCA6IElXZWJQcmVmZXJlbmNlc1ByaXZhdGUzCiAgICAgSFJFU1VMVCBzZXRX
ZWJBbmltYXRpb25zRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VMVCB1c2Vy
VGltaW5nRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKICAgICBIUkVTVUxUIHNldFVzZXJU
aW1pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIGxpbmtQcmVsb2Fk
RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldExpbmtQcmVsb2Fk
RW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDliYWMzMmM5Y2QxZWZhMzFjN2VmMmQyZmI4NWZj
YjdhY2MyMTExZWUuLmY3NDkzYTU5MDY4NTdhYmVmYTE2MWNjMGMxMzVhZmI5OWYyYWRjMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xODAs
MyArMTgwLDUgQEAKICNkZWZpbmUgV2ViS2l0V2ViQW5pbWF0aW9uc0VuYWJsZWRQcmVmZXJlbmNl
S2V5ICJXZWJLaXRXZWJBbmltYXRpb25zRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRVc2VyVGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgorCisjZGVm
aW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdExpbmtQcmVs
b2FkRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2Vz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAyMzZmYTkx
YzM0NGQ4ZGUzMzRmNWU1NWQ0MDU4NjhlNWMzMTNiYTMxLi42ZjQ5ZTgwOTE2ZjI1YTNiMWIxNDk1
ZjE2YzZhMDY1NTA1OTA4ZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVm
ZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBA
IC0zMDksNiArMzA5LDggQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRT
ZXR0aW5ncygpCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2Vi
S2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKIAor
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRMaW5rUHJlbG9h
ZEVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAgIGRlZmF1bHRT
ZXR0aW5ncyA9IGRlZmF1bHRzOwogfQogCkBAIC0yMDA4LDYgKzIwMTAsMjAgQEAgSFJFU1VMVCBX
ZWJQcmVmZXJlbmNlczo6bW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoX091dF8gQk9PTCogZW5h
YmxlZCkKICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0
TGlua1ByZWxvYWRFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2Vi
S2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJu
IFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OmxpbmtQcmVsb2FkRW5hYmxlZChf
T3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJu
IEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRMaW5rUHJl
bG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VM
VCBXZWJQcmVmZXJlbmNlczo6c2V0QXBwbGljYXRpb25JZChCU1RSIGFwcGxpY2F0aW9uSWQpCiB7
CiAgICAgbV9hcHBsaWNhdGlvbklkID0gU3RyaW5nKGFwcGxpY2F0aW9uSWQpLmNyZWF0ZUNGU3Ry
aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oIGIv
U291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAppbmRleCA3OTgzYzEwMTYzZGQ5ZTYw
YTJjYTJiOTM1NmY0OTUyNDUxYjY1ZjE3Li4wODA0MWJkMTZkOGY1ZTBhM2ZlN2RlNjIzNTRlNzVh
MGNhOWY0M2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKQEAgLTI0OSw2ICsyNDks
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFdl
YkFuaW1hdGlvbnNFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSB1c2VyVGltaW5nRW5hYmxlZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHNldFVzZXJUaW1pbmdFbmFibGVkKEJPT0wpOworICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsaW5rUHJlbG9hZEVuYWJsZWQoX091dF8g
Qk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRMaW5rUHJl
bG9hZEVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVmZXJlbmNlcwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAppbmRleCA4MTIw
MmFhMTcwODk1OWI2YmJmMDE4ODk3YjA4M2I0NzMyMTBkZWM4Li41ODA3NzFkYzBlOWYzYWMzYTlm
MzRmZDcyOWNlMGY0ODVkNzYxMGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTMxNSw2ICszMTUsNyBAQAogICAgIG1hY3Jv
KENTU0dyaWRMYXlvdXRFbmFibGVkLCBjc3NHcmlkTGF5b3V0RW5hYmxlZCwgQm9vbCwgYm9vbCwg
REVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIkNTUyBHcmlkIiwgIkNTUyBH
cmlkIExheW91dCBNb2R1bGUgc3VwcG9ydCIpIFwKICAgICBtYWNybyhTcHJpbmdUaW1pbmdGdW5j
dGlvbkVuYWJsZWQsIHNwcmluZ1RpbWluZ0Z1bmN0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVG
QVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIkNTUyBTcHJpbmcgQW5pbWF0aW9u
cyIsICJDU1MgU3ByaW5nIEFuaW1hdGlvbiBwcm90b3R5cGUiKSBcCiAgICAgbWFjcm8oR2FtZXBh
ZHNFbmFibGVkLCBnYW1lcGFkc0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJHYW1lcGFkcyIsICJXZWIgR2FtZXBhZCBBUEkgc3VwcG9y
dCIpIFwKKyAgICBtYWNybyhMaW5rUHJlbG9hZEVuYWJsZWQsIGxpbmtQcmVsb2FkRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIkxpbmsg
UHJlbG9hZCIsICJMaW5rIHByZWxvYWQgc3VwcG9ydCIpIFwKICAgICBtYWNybyhNb2Rlcm5NZWRp
YUNvbnRyb2xzRW5hYmxlZCwgbW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQsIEJvb2wsIGJvb2ws
IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJNb2Rlcm4gTWVkaWEgQ29u
dHJvbHMiLCAiVXNlIG1vZGVybiBtZWRpYSBjb250cm9scyBsb29rIikgXAogICAgIG1hY3JvKElu
cHV0RXZlbnRzRW5hYmxlZCwgaW5wdXRFdmVudHNFbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxU
X0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVELCAiSW5wdXQgRXZlbnRzIiwgIkVuYWJsZSBJ
bnB1dEV2ZW50cyBzdXBwb3J0IikgXAogICAgIG1hY3JvKFN1YnRsZUNyeXB0b0VuYWJsZWQsIHN1
YnRsZUNyeXB0b0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTX0VOQUJMRUQsICJTdWJ0bGVDcnlwdG8iLCAiRW5hYmxlIFN1YnRsZUNyeXB0byBzdXBwb3J0
IikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
Y3BwCmluZGV4IGQzZDVhMmRhNjIwNGE0MGJlNmNkMDRiMzczNzIxZjY2ZmZiZDQyZTYuLmJlMDEw
NjFlYzg1NWUwODU2MTkwNWNlNmI1YTBiMzBjZjkwNGJjZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTE2NDEsNiArMTY0MSwx
NiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJ0bGVDcnlwdG9FbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PnN1YnRsZUNyeXB0b0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0TGlua1By
ZWxvYWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykK
K3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmxh
Zyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5j
ZXNSZWYpLT5saW5rUHJlbG9hZEVuYWJsZWQoKTsKK30KKwogdm9pZCBXS1ByZWZlcmVuY2VzU2V0
U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5nUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwo
cHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGRTdXBwcmVzc0tleWJvYXJkSW5wdXREdXJpbmdQcm92
aXNpb25hbE5hdmlnYXRpb24oZmxhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IGQxMWUwZjY1NTYy
MjljYjYyZWYwMTVjNzYyMzYzMmQ0YzRiOWZkNjIuLjAyNWYxNDYzOTlmNjViYmZmMDc3NDA2ZWY0
NjU3NWE2OWIyYWEyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC00NjEsNiArNDYxLDEwIEBAIFdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJ0bGVDcnlwdG9FbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZFN1cHByZXNz
S2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbihXS1ByZWZlcmVuY2VzUmVm
LCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZFN1cHBy
ZXNzS2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbihXS1ByZWZlcmVuY2Vz
UmVmKTsKIAorLy8gRGVmYXVsdHMgdG8gZmFsc2UuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0TGlua1ByZWxvYWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TGlua1ByZWxvYWRFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDhkNmY5ODA4MDliZjQ0
ZjRhN2E4NTMyYTNmMjE2NjY3MDc5ZjZkMzMuLjkyYWY1MzZkMGY0OTZkMWEyZDBiZDdiZmQ3YTcx
ZGVjOWRhMDg3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTMyNDAsNiArMzI0MCw4IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVy
ZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAKICAgICAvLyBFeHBlcmlt
ZW50YWwgRmVhdHVyZXMuCiAKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6OmxpbmtQcmVsb2FkRW5hYmxlZEtleSgpKSk7CisKICNpZiBFTkFCTEUo
Q1NTX0dSSURfTEFZT1VUKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0Q1NTR3JpZExheW91dEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5Ojpjc3NHcmlkTGF5b3V0RW5hYmxlZEtleSgpKSk7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NjM2NTdl
MTE3MzJiMjg2OGI4MGRlMmI5OTU2MmMzZDZkMDJmZTA3Li4zZGI5YjIzMTFiMjJjODMwYTEwNTlh
ZjRkNjFmYTI3ODAzNmI1NTliIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDEtMjkgIFlvYXYgV2Vpc3MgIDx5
b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnktZGVm
YXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW06CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVz
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAg
ICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMTctMDEt
MjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
VXNlciBUaW1pbmcgRXhwZXJpbWVudGFsIEZlYXR1cmUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA2OGZmNDczYTVhZjRmYjc4YTRkYTVjNGNjNDgwNTZi
MGFlM2Y2ZmVmLi4yMGIyMDBjY2Y0NDJjNWQ0NzJmMGNmMzEwODlhYjczNGU2MGNkODM2IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC0xMDExLDYgKzEw
MTEsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVz
KCkKICAgICAKICAgICBbcHJlZmVyZW5jZXMgc2V0TWVkaWFTdHJlYW1FbmFibGVkOllFU107CiAg
ICAgW3ByZWZlcmVuY2VzIHNldFBlZXJDb25uZWN0aW9uRW5hYmxlZDpZRVNdOworICAgIFtwcmVm
ZXJlbmNlcyBzZXRMaW5rUHJlbG9hZEVuYWJsZWQ6WUVTXTsKIAogICAgIFtXZWJQcmVmZXJlbmNl
cyBfY2xlYXJOZXR3b3JrTG9hZGVyU2Vzc2lvbl07CiAgICAgW1dlYlByZWZlcmVuY2VzIF9zZXRD
dXJyZW50TmV0d29ya0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6TlNIVFRQQ29va2ll
QWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW5dOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggY2Y0YWJhMzRkMGI3Mzg5MjQwMDQx
ZDE1ZDE2M2M1NzdjOWRmYjk5NC4uOThkZTE1Njk1NzhiZDJmNDBhMGNmYjVhODU2YjE3NDdjYmJh
MjM5YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCkBA
IC04NzksNiArODc5LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lz
dGVudFZhbHVlcyhJV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgIHByZWZzUHJpdmF0
ZTQtPnNldFNoYWRvd0RPTUVuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlNC0+c2V0Q3Vz
dG9tRWxlbWVudHNFbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZTQtPnNldE1vZGVybk1l
ZGlhQ29udHJvbHNFbmFibGVkKEZBTFNFKTsKKyAgICBwcmVmc1ByaXZhdGU0LT5zZXRMaW5rUHJl
bG9hZEVuYWJsZWQoVFJVRSk7CiAKICAgICBzZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsK
IH0KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMv
d2Via2l0Lm9yZy9DaGFuZ2VMb2cKaW5kZXggNzJlYjM1MWNlNzQ4NDVmOTZiN2FmNjQ0ZWU5NGM3
MmQ4Y2Q1MWNhMS4uMWEwN2Y3YWUwMGU4MDJiZTA2M2RmZGRhZTFkYjZlYTIxNTEyZjg1NCAxMDA2
NDQKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9DaGFuZ2VMb2cKKysrIGIvV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0wMS0yOSAgWW9hdiBXZWlz
cyAgPHlvYXZAeW9hdi53cz4KKworICAgICAgICBBZGQgTGluayBQcmVsb2FkIGFzIGFuIG9mZi1i
eS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIG1lbnUgaXRlbS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzIwMQorCisgICAgICAgIFJldmll
d2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIGV4cGVyaW1lbnRhbC1mZWF0dXJlcy5o
dG1sOiBBZGRlZCBMaW5rIFByZWxvYWQuCisKIDIwMTctMDEtMjggIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgVXNlciBUaW1pbmcgRXhwZXJpbWVu
dGFsIEZlYXR1cmUKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZXhwZXJpbWVudGFs
LWZlYXR1cmVzLmh0bWwgYi9XZWJzaXRlcy93ZWJraXQub3JnL2V4cGVyaW1lbnRhbC1mZWF0dXJl
cy5odG1sCmluZGV4IGZmNWUxYmE4OGU1YTRmNWRmYTQzYTk3ZDg5MzE5MTBhZTg2YWM1YTUuLjFh
YTgyNjMzNjMzYzMzNzU4ODRlYTM4MjhmNDYzNmJmYzNhMjBhMzUgMTAwNjQ0Ci0tLSBhL1dlYnNp
dGVzL3dlYmtpdC5vcmcvZXhwZXJpbWVudGFsLWZlYXR1cmVzLmh0bWwKKysrIGIvV2Vic2l0ZXMv
d2Via2l0Lm9yZy9leHBlcmltZW50YWwtZmVhdHVyZXMuaHRtbApAQCAtNzgsNiArNzgsMTEgQEAg
ZnVuY3Rpb24gdGVzdFdlYkdMMigpIHsKICAgICByZXR1cm4gY2FudmFzLmdldENvbnRleHQoIndl
YmdsMiIpOwogfQogCitmdW5jdGlvbiB0ZXN0TGlua1ByZWxvYWQoKSB7CisgICAgdmFyIGxpbmsg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7CisgICAgcmV0dXJuIGxpbmsucmVsTGlz
dC5zdXBwb3J0cygicHJlbG9hZCIpOworfQorCiBmdW5jdGlvbiB0ZXN0R2FtZXBhZCgpIHsKICAg
ICByZXR1cm4gbmF2aWdhdG9yLmdldEdhbWVwYWRzOwogfQpAQCAtMTQwLDYgKzE0NSw3IEBAIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24gKCkgewogICAgICAgICA8ZGl2
IGNsYXNzPSJ0ZXN0IiBpZD0iR2FtZXBhZCI+PHA+R2FtZXBhZCBBUEk8L3A+PC9kaXY+CiAgICAg
ICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJGb3JtVmFsaWRhdGlvbiI+PHA+SFRNTCBGb3JtIFZh
bGlkYXRpb248L3A+PC9kaXY+CiAgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJJbnB1dEV2
ZW50cyI+PHA+SFRNTCBJbnB1dCBFdmVudHM8L3A+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
InRlc3QiIGlkPSJMaW5rUHJlbG9hZCI+PHA+TGluayBQcmVsb2FkPC9wPjwvZGl2PgogICAgICAg
ICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iU3VidGxlQ3J5cHRvIj48cD5TdWJ0bGVDcnlwdG88L3A+
PC9kaXY+CiAgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJWYXJpYXRpb25Gb250cyI+PHA+
VmFyaWF0aW9uIEZvbnRzPC9wPjwvZGl2PgogICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0i
VXNlclRpbWluZyI+PHA+VXNlciBUaW1pbmc8L3A+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTg3Y2JjZDg4M2M1
NjJjNzhhNzBlNDQzYjFmNDVlODMyN2FiNjQ5Yi4uMjg4ZjA0YzhmYjVkNjQ5MWIyZTVkMGQ1N2M0
N2ZhOTY3OTc3NGI3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTAxLTI4ICBZb2F2IFdl
aXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4gb2Zm
LWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFJlbW92ZWQgY29kZSBleHBsaWNpdGx5
IGVuYWJsaW5nIExpbmsgcHJlbG9hZCBmcm9tIHRoZSB0ZXN0cywgYXMgaXQgaXMgbm93CisgICAg
ICAgIHR1cm5lZCBvbiBieSBkZWZhdWx0IGZvciB0ZXN0aW5nLiBDb3JyZWN0ZWQgZXhwZWN0YXRp
b24gZmlsZXMgYWNjb3JkaW5nbHkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2ZldGNoL3JlZGly
ZWN0bW9kZS1hbmQtcHJlbG9hZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9k
ZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVy
X2Rpc2NvdmVyeV9pbWFnZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9kb3du
bG9hZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9h
ZC9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQv
ZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyX2lmcmFtZS5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9pbnZhbGlkX2hlYWRlcnMu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19hZGRpbmdfcHJlbG9h
ZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVs
b2FkX2hyZWYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9keW5h
bWljX3JlbW92ZV9wcmVsb2FkX2hyZWYuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxv
YWQvbm90X2RlbGF5aW5nX3dpbmRvd19vbmxvYWRfYmVmb3JlX2Rpc2NvdmVyeS5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGh0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3ByZWxvYWQvcmVzb3VyY2VzL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHA6
CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9pbnZhbGlkX3Jlc291cmNl
c19mcm9tX2hlYWRlci5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL3NpbmdsZV9k
b3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxv
YWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGVkLWNzcy1zdHlsZXNoZWV0Lmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxv
YWRpbmctY3NzLXN0eWxlc2hlZXQuaHRtbDoKKwogMjAxNy0wMS0yOCAgSm9zZXBoIFBlY29yYXJv
ICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBVc2VyIFRpbWluZyBFeHBlcmlt
ZW50YWwgRmVhdHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9y
ZWRpcmVjdG1vZGUtYW5kLXByZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0
Y2gvcmVkaXJlY3Rtb2RlLWFuZC1wcmVsb2FkLmh0bWwKaW5kZXggZDUyMTJjNTkwMWMwODc5MGFm
MDZkNzM2YzU0MzJlZWI3ZTg0MWQ4NC4uM2MxNTIwZTY4ZTI2MjQ1YjZmOGRiY2E5NzY5ZDBkZmM5
ZTkwMzdiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9yZWRpcmVj
dG1vZGUtYW5kLXByZWxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNo
L3JlZGlyZWN0bW9kZS1hbmQtcHJlbG9hZC5odG1sCkBAIC04LDEwICs4LDYgQEAKICAgICA8bWV0
YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJDYW5vbiBSZXNlYXJjaCBGcmFuY2UiIGhyZWY9Imh0dHBz
Oi8vd3d3LmNyZi5jYW5vbi5mciI+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLWlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9h
ZEVuYWJsZWQodHJ1ZSk7Ci0gICAgPC9zY3JpcHQ+CiAgICAgPGxpbmsgcmVsPXByZWxvYWQgb25s
b2FkPSJzdGFydFRlc3RzKCkiIGhyZWY9Ii4vcmVzb3VyY2VzL3JlZGlyZWN0LXdpdGgtY2FjaGUu
cGhwP2VuYWJsZUNhY2hpbmcmdXJsPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNv
dXJjZXMvYWxsb3ctaWYtb3JpZ2luLnBocD9hbGxvd0NhY2hlJm9yaWdpbj1odHRwJTNBJTJGJTJG
MTI3LjAuMC4xJTNBODAwMCZuYW1lPWFsZXJ0LWZhaWwuanMmY29udGVudFR5cGU9dGV4dC9hc2Np
aSI+CiAgIDwvaGVhZD4KICAgPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3Zlcnku
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlu
a19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeS5odG1sCmluZGV4IDFmZTU1OTA0NTUzZGNkNjRmMTAw
YjZkNWY3ZTU4ZjI0ZGQwNDRlMmUuLjAwOTRlOTlkMjM2OGFiZjM1YzRhNGMwMTgyZmY2NGE0YWYz
ZmM5NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWlu
Z19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVy
X2Rpc2NvdmVyeS5odG1sCkBAIC0xLDcgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0
PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKICAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CkBAIC0xNCw4ICsxMiw2IEBACiA8c2NyaXB0PgogICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgiZmluaXNoZWRTY3JpcHQiKTsKLSAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5h
YmxlZChmYWxzZSk7CiAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOyB9LCAwKTsKICAgICB9KTsKICAgICB2YXIgc2NyID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic2NyaXB0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3ZlcnlfaW1h
Z2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRf
bGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeV9pbWFnZS5odG1sCmluZGV4IDg0NzM1ZWVkNDQ0
Njc1ZmQ1NGNhYTUxZDQ0N2Q5OWI2MDk4NDhiMjkuLmFlYjFiNGMyNjA4MTBjNGYzZDMxYTQyNTcy
Y2UyMTgwOTYxYWE5ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9h
ZC9kZWxheWluZ19vbmxvYWRfbGlua19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeV9pbWFnZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kZWxheWluZ19vbmxvYWRfbGlu
a19wcmVsb2FkX2FmdGVyX2Rpc2NvdmVyeV9pbWFnZS5odG1sCkBAIC0xLDcgKzEsNSBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsK
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCkKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CkBAIC0xNCw4ICsxMiw2
IEBACiA8c2NyaXB0PgogICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rp
b24oKSB7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZmluaXNoZWRJbWFnZSIpOwotICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiAgICAgfSk7CiAgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3Vy
Y2VzLWV4cGVjdGVkLnR4dAppbmRleCBhZjEzNWE0MWZlMjg3M2Y2YTBmMWRhYzU2NTZjNmUyYTAx
OTUzNTE2Li5lNDg4YTczN2ZjM2U2OTcxNjEwODg4YTIzMDYyMTgwMjk3YzQ5ZWFlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRf
cmVzb3VyY2VzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxNTogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBh
IHZhbGlkIGBhc2AgdmFsdWUKIFBBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJj
ZXMvZHVtbXkuanMnKTsgaXMgdHJ1ZQogUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jl
c291cmNlcy9kdW1teS5jc3MnKTsgaXMgdHJ1ZQogUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQo
Jy4uL3Jlc291cmNlcy9zcXVhcmUucG5nJyk7IGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbAppbmRleCA2ZDVj
NTA0NzAyYzE0MDAxZDQ4OWY1Y2I5NmJjODMyODVmYzg4MzU0Li4zZTZlYTFiNDMzZDAxZDllMGQ5
MjUxZWQxZTFlMjNjYjg5YjU3NzQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy5odG1sCkBAIC0xLDEwICsxLDYgQEAKIDwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxv
YWRFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgogPGxpbmsgcmVsPXByZWxvYWQgaHJlZj0iLi4vcmVz
b3VyY2VzL2R1bW15LmpzIiBhcz1zY3JpcHQ+CiA8bGluayByZWw9cHJlbG9hZCBocmVmPSIuLi9y
ZXNvdXJjZXMvZHVtbXkuY3NzIiBhcz1zdHlsZT4KQEAgLTI5LDcgKzI1LDMgQEAKICAgICBzaG91
bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS54bWw/
YmFkdmFsdWUnKTsiKTsKICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgn
Li4vcmVzb3VyY2VzL2R1bW15LnhtbCcpOyIpOwogPC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dExpbmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXJf
aWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVz
b3VyY2VzX2Zyb21faGVhZGVyX2lmcmFtZS5odG1sCmluZGV4IDBkNWNjMjE3YTE2YmFhY2YxOTIz
NTZjMGQ2MmJmMjRmNjc4OTYxNmEuLjkxOTE0NjlhZDM3NTY0Mzk5OWE5NTU2NTI5OWE4NmY0Nzdk
OGYzMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9h
ZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXJfaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlcl9pZnJhbWUuaHRt
bApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLSAgICBpZiAod2lu
ZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5r
UHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGls
ZEZyYW1lc0FzVGV4dCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVs
b2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2ludmFsaWRfaGVhZGVycy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2ludmFsaWRf
aGVhZGVycy5odG1sCmluZGV4IGQ3Zjc0NmFmYjk3YjMzMzkxOWRhODFlNjM5M2U4OGNjNTRlYjBk
NmYuLjYzNDNjNTE5YWQ3ZTA3MjFhYWE3ZGUzNTA0NjhlODMzZDUwZGE0YTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9p
bnZhbGlkX2hlYWRlcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQv
ZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faW52YWxpZF9oZWFkZXJzLmh0bWwKQEAgLTEsNyArMSw1
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVk
KHRydWUpOwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX2Fk
ZGluZ19wcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1p
Y19hZGRpbmdfcHJlbG9hZC5odG1sCmluZGV4IGNlYThmZTA0MjQ2MGFhNjkyOWJkYWIxZjZhMmQx
NzczZWMxY2I3YmEuLmFmZGNmOWQ1YzRiYzUyMmJhMzE2YTJiZTFjN2YyYmI5NWM1ZDZlNmMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX2FkZGluZ19w
cmVsb2FkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNf
YWRkaW5nX3ByZWxvYWQuaHRtbApAQCAtMSwxMCArMSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgogPGhlYWQ+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsK
LTwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTE3LDggKzEzLDUgQEAKIDxzY3JpcHQgc3Jj
PSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3Nsb3ctc2NyaXB0LnBsP2RlbGF5PTEw
MCI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJl
bG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkuanMnKTsiKTsKLQotICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2Fk
RW5hYmxlZChmYWxzZSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3By
ZWxvYWRfaHJlZi1leHBlY3RlZC50eHQKaW5kZXggNmVjMTg0ODhmYmIxMDg1ZWQ1ZjgzYjdjNTJm
MDFlY2E0OWIyOWUyZC4uM2I0OGQxMGIyZGYyOGZiYzNjYmQ4ZDRjMDQxMDZiYmY3NWExODMzNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3Zl
X3ByZWxvYWRfaHJlZi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
cmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3ByZWxvYWRfaHJlZi1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6IDxsaW5rIHJlbD1wcmVsb2FkPiBoYXMg
YW4gaW52YWxpZCBgaHJlZmAgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNzogPGxpbmsg
cmVsPXByZWxvYWQ+IGhhcyBhbiBpbnZhbGlkIGBocmVmYCB2YWx1ZQogUEFTUyBkb3dubG9hZGVk
SW1hZ2UgaXMgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVtb3ZlX3ByZWxv
YWRfaHJlZi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVt
b3ZlX3ByZWxvYWRfaHJlZi5odG1sCmluZGV4IDMxMGRlZjJiMmIxNzlmZWY4MjA5OGVjN2YyNDZk
MjEyNmI2MGUyMjAuLjEyZmRiMTRjY2EzODYwMjdlY2IyMTliZGRhMTM3OGI1MmQ5OGQ0MzUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9w
cmVsb2FkX2hyZWYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHlu
YW1pY19yZW1vdmVfcHJlbG9hZF9ocmVmLmh0bWwKQEAgLTIsMTAgKzIsOCBAQAogPGh0bWw+CiA8
aGVhZD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CisgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKHRydWUpOwotICAgIH0KIDwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KIDxib2R5PgpA
QCAtMjQsMTAgKzIyLDggQEAKICAgICAgICAgICAgICAgICBkb3dubG9hZGVkSW1hZ2UgPSB0cnVl
OwogICAgICAgICB9CiAgICAgICAgIHNob3VsZEJlRmFsc2UoImRvd25sb2FkZWRJbWFnZSIpOwot
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykgewotICAgICAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOworICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVkKGZhbHNlKTsKLSAgICAgICAgfQogICAgIH0pOwogPC9z
Y3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvbm90X2RlbGF5aW5nX3dpbmRvd19vbmxvYWRfYmVmb3JlX2Rpc2NvdmVyeS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL25vdF9kZWxheWluZ193aW5kb3dfb25sb2FkX2Jl
Zm9yZV9kaXNjb3ZlcnkuaHRtbAppbmRleCA1Yjc1OTYwYzZlOWUwZGRkODg1Njk5YjIzZjYyYjcz
ZWFkYzk0NTQ4Li43ZjQyMmE2YzJhNjI3YzI4YzZkOTY5ZDc1ZWVkODc1Y2JmZWY1OGIyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvbm90X2RlbGF5aW5nX3dpbmRv
d19vbmxvYWRfYmVmb3JlX2Rpc2NvdmVyeS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9ub3RfZGVsYXlpbmdfd2luZG93X29ubG9hZF9iZWZvcmVfZGlzY292ZXJ5Lmh0
bWwKQEAgLTEsNyArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlu
a1ByZWxvYWRFbmFibGVkKHRydWUpOwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKQEAgLTE1LDggKzEzLDYgQEAKICAgICBmdW5jdGlvbiB0ZXN0KCkgewogICAgICAg
ICBzaG91bGRCZVRydWUoIndpbmRvd09uTG9hZCIpOwogICAgICAgICBpZiAoZmluaXNoZWRJbWFn
ZSAmJiBmaW5pc2hlZFNjcmlwdCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9h
ZEVuYWJsZWQoZmFsc2UpOwogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC1leHBl
Y3RlZC50eHQKaW5kZXggNWJjZDI2ZWE0ZGRhMTIzMGU0YmQ0ODkzNzE2ZjFlZThlOGU4YjJhNS4u
MjkxNmFmMjUxNjZjOGFmODRmMGI5YzE5YjVlNGRkOGU3YmJkNzE3MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50LWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogPGxpbmsgcmVs
PXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAyNzogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50Lmh0bWwKaW5kZXgg
YWMwY2M5NDZkNDQwMmYxZmQxODNkODYxYzkyOTQ2MTU4MjUyMDEzOC4uZDFhZDIyOGNhZjIwYmQ2
YjZjZjUxYjBkYjZhMzdmZTAzOWI0MTM5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC5odG1sCkBAIC0xLDcgKzEsNSBAQAogPCFET0NUWVBF
IGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkK
ICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CkBAIC0zNyw4ICszNSw2IEBACiAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgidHJhY2tGYWlsZWQiKTsKICAgICAgICAgc2hvdWxkQmVUcnVl
KCJnaWJyaXNoRmFpbGVkIik7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgibm9UeXBlRmFpbGVkIik7
Ci0gICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFsc2UpOwogICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
ICAgICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9h
ZF9ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25s
b2FkX2V2ZW50LWV4cGVjdGVkLnR4dAppbmRleCA3YjIzMmNlNDU2MjNjZGFhYWNhNzRmMTUzZmYz
NDgzMzM4Nzg0Y2ZjLi4xZjE5MDUzNWFiYzgyMmE2NTEyNmFmMzlkNzc3M2QxMjUwY2Y0MTJlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25sb2FkX2V2
ZW50LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAz
NTogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAzNjogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlk
IGBhc2AgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMzogPGxpbmsgcmVsPXByZWxvYWQ+
IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNDog
PGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC5odG1sCmluZGV4IDhiMTFiZjgzNWMw
NzNiYTYxZTNmNjM4ZTkyNDYwMjhmOTU2YTgwZmQuLmE2Y2JhNjZkMDlhZjU2NTk5ZWJjOGNhMGRh
YzM2MjgzMWU2ZWRiMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9h
ZC9vbmxvYWRfZXZlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQv
b25sb2FkX2V2ZW50Lmh0bWwKQEAgLTEsNyArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3Jp
cHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOwogICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKQogICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKQEAgLTUwLDggKzQ4LDYgQEAKICAgICAgICAgc2hvdWxk
QmVUcnVlKCJ4c2x0RXJyb3JlZCIpOwogICAgICAgICBzaG91bGRCZVRydWUoIm5vVHlwZUxvYWRl
ZCIpOwogICAgICAgICBzaG91bGRCZVRydWUoImVtcHR5VHlwZUxvYWRlZCIpOwotICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9kb3dubG9h
ZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVs
b2FkL3Jlc291cmNlcy9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwCmluZGV4IDE5
MThiODVkZTdhMDIwZGEwZTQyMGYxOTg2NTM4MzUyZWQxNTJjMDYuLjk5NmM5NTRiZTE2OWUwOTQx
YjRlNWYzMDY5M2IxMGJiY2RhMjcyMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9yZXNvdXJjZXMvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2Rvd25sb2FkX3Jl
c291cmNlc19mcm9tX2hlYWRlci5waHAKQEAgLTIwLDcgKzIwLDMgQEAgaGVhZGVyKCJMaW5rOiA8
Li4vcmVzb3VyY2VzL2R1bW15LnhtbD47IHJlbD1wcmVsb2FkIiwgZmFsc2UpOwogICAgIHNob3Vs
ZEJlRmFsc2UoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15LnhtbD9i
YWR2YWx1ZScpOyIpOwogICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcu
Li9yZXNvdXJjZXMvZHVtbXkueG1sJyk7Iik7CiA8L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9pbnZhbGlkX3Jlc291cmNlc19mcm9t
X2hlYWRlci5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2lu
dmFsaWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocAppbmRleCAwZmRjN2Y3ZmQzYjYzYzhhMDI5
OTZmOWEwODc4ZDk4OTRiMTFiNmU3Li5iZGYzNDRiNWQ0ZGVjNjY0NzRkOWI5MzczNmQxNzBmZGM4
YTU2Yzg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3Vy
Y2VzL2ludmFsaWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByZWxvYWQvcmVzb3VyY2VzL2ludmFsaWRfcmVzb3VyY2VzX2Zyb21faGVhZGVy
LnBocApAQCAtNDAsNyArNDAsMyBAQCBoZWFkZXIoIkxpbms6IDwgICAuLi9yZXNvdXJjZXMvZHVt
bXkuanM/Zm9vYmFyID47IHJlbD1wcmVsb2FkOyBhcz0nIiwgZmFsc2UpOwogICAgIHNob3VsZEJl
RmFsc2UoImludGVybmFscy5pc1ByZWxvYWRlZCgnI2Zvb2JhcicpOyIpOwogICAgIHNob3VsZEJl
RmFsc2UoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL0FoZW0udHRmJyk7Iik7
CiA8L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsK
LTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Np
bmdsZV9kb3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC1leHBlY3RlZC50eHQKaW5kZXggMDdi
NThkODY4YzNhNzgzNjM1OThiZjY1MWE3ZjgzNTUwMjY5ZGFiYy4uZGUwMTM0MjI2MDk1OWNlNzg0
OTA0ZDlkNDAwOGRmNjQ4YTYyNzcxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIxOiA8bGluayBy
ZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1ZQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE5OiA8bGluayByZWw9cHJlbG9hZD4gbXVzdCBoYXZlIGEgdmFsaWQgYGFzYCB2YWx1
ZQogIAogCiBQQVNTIE1ha2VzIHN1cmUgdGhhdCBwcmVsb2FkZWQgcmVzb3VyY2VzIGFyZSBub3Qg
ZG93bmxvYWRlZCBhZ2FpbiB3aGVuIHVzZWQgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC5odG1sCmluZGV4IDE1
ZTA0ZmFmZmE0MTIyZGRiMTkwYjBjZDg1ZjJmY2I2NzQzNWMzNTUuLjg2ODNlOGY4NmRiODVkYmQw
NjA0ZGQwMzQxN2IzOGZjYmY0OTY5MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC5odG1sCkBAIC0xLDkg
KzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKSB7Ci0gICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQo
dHJ1ZSk7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgfQogPC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgpAQCAtNjEsMTAgKzU5LDggQEAKICAgICAgICAgICAgIC8vIEZJWE1FOiBYSFIgc2hv
dWxkIHRyaWdnZXIgYSBzaW5nbGUgZG93bmxvYWQsIGJ1dCBpdCBkb3dubG9hZHMgMiByZXNvdXJj
ZXMgaW5zdGVhZC4KICAgICAgICAgICAgIHZlcmlmeURvd25sb2FkTnVtYmVyKCJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvcmVzb3VyY2VzL2R1bW15LnhtbCIsIDIpOwogICAgICAgICAgICAgLy8gRklY
TUU6IFdlIHNob3VsZCB2ZXJpZnkgZm9yIHZpZGVvIGFuZCBhdWRpbyBhcyB3ZWxsLCBidXQgdGhl
eSBzZWVtIHRvIChmbGFraWx5PykgdHJpZ2dlciBtdWx0aXBsZSBwYXJ0aWFsIHJlcXVlc3RzLgot
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoZmFsc2UpOwotICAgICAgICAgICAgfQogICAgICAg
ICAgICAgdC5kb25lKCk7CiAgICAgICAgICAgICB9KSwgMTAwKTsKICAgICB9KSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4t
cHJlbG9hZGVkLWNzcy1zdHlsZXNoZWV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGVkLWNzcy1zdHlsZXNoZWV0Lmh0bWwK
aW5kZXggNGFmMTU0MGU0ZDkzNGQ2ZmEzMjAwODVjYjRjMDk1OTc3NmVhYmVhZS4uYTJiZGM5ZDY1
ZjdlMzA5NzMwNjAyYjU4ZWQxY2I3OTFhNmJkYjdjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRlZC1jc3Mtc3R5
bGVzaGVldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVk
LWNyb3NzLW9yaWdpbi1wcmVsb2FkZWQtY3NzLXN0eWxlc2hlZXQuaHRtbApAQCAtMSw3ICsxLDUg
QEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGluZy1jc3Mtc3R5bGVzaGVldC5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2lu
LXByZWxvYWRpbmctY3NzLXN0eWxlc2hlZXQuaHRtbAppbmRleCBjOWU3NDA3NjFlOGRkNTE0YTE5
MDhmNmZlNDM3MjBjNmE0MTAxMTQ1Li5jOTVhOWU1MzVlZWYzNzE1YzMwOWQwYmNhMzMwZTJkNTIz
ZGEwMDcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hl
ZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGluZy1jc3Mtc3R5bGVzaGVldC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkaW5n
LWNzcy1zdHlsZXNoZWV0Lmh0bWwKQEAgLTIsOCArMiw2IEBACiA8aHRtbD4KIDxib2R5PgogPHNj
cmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRM
aW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300044</attachid>
            <date>2017-01-28 10:46:15 -0800</date>
            <delta_ts>2017-01-28 14:55:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167201-20170128194407.patch</filename>
            <type>text/plain</type>
            <size>40631</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWJiN2UxMGQwYWVlMGJi
NGI4NzY1ODAwZDE5MjNmOGJhZjA0ZGIzZS4uNzJiY2VjZTEyMWVhODQ0OWE1ODc4YTEyYTMyOGQy
Yjc2MjE0NDk0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTAxLTI5ICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQgYXMgYW4g
b2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFJlbW92ZWQgdGhlIGV4cGxpY2l0
IHNldHRpbmcgb2YgdGhlIExpbmsgUHJlbG9hZCBleHBlcmltZW50YWwgZmVhdHVyZSwKKyAgICAg
ICAgYXMgaXQgaXMgbm93IG9uIGJ5IGRlZmF1bHQgZm9yIHRlc3RpbmcuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIGFzIHRoaXMganVzdCByZW1vdmVzIG1ldGhvZHMgZnJvbSBzZXR0aW5ncy4KKwor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlk
bDoKKwogMjAxNy0wMS0yOCAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgUkVHUkVTU0lPTihyMTk2MzgzKTogQXV0b21hdGljIHNocmluay10by1maXQgb2YgUnVs
ZVNldCBubyBsb25nZXIgd29ya3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNDAzNjQ0ZTc4NzZlODlh
NmQwMzNlNTBjYmFkMDBjYTAyMDE0ZjI5Yy4uZGVhNDhkOTJjNTQzMzAxNzBjNDYzZmU0MGE4NTU3
OThmOWFiZjAxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAxLTI5
ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEFkZCBMaW5rIFByZWxvYWQg
YXMgYW4gb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgbWVudSBpdGVtLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MjAxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBsaW5rUHJlbG9hZEVuYWJsZWRdKToKKyAg
ICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0TGlua1ByZWxvYWRFbmFibGVkOl0pOgorICAgICAg
ICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9X
ZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisK
IDIwMTctMDEtMjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgVXNlciBUaW1pbmcgRXhwZXJpbWVudGFsIEZlYXR1cmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpp
bmRleCA2NGQ2MDg0NjBiODAyZGRmODI0NzZiNGU5N2E4OGRmZGI3ZGUzYmQzLi44ZWExMTU0Mzcy
MzI0NjY4YzhkZDM4MzIxODUyMDg1Y2Y0N2QwOGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTctMDEtMjkgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAg
ICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVh
dHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAg
ICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJl
bmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0
aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6dmFsdWVGb3JLZXkpOgorICAgICAgICAo
V2ViUHJlZmVyZW5jZXM6OnNldExpbmtQcmVsb2FkRW5hYmxlZCk6CisgICAgICAgIChXZWJQcmVm
ZXJlbmNlczo6bGlua1ByZWxvYWRFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5o
OgorICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisKIDIw
MTctMDEtMjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgVXNlciBUaW1pbmcgRXhwZXJpbWVudGFsIEZlYXR1cmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwODMy
ZDViOGM3ZDcxZDg5MjVmYzk0YmFhYmRiZGY1NTNmM2JlYjVhLi42MjY5YzhlNTE1ZmQ3ZmE3MDgx
M2JhMzRlNjhlMTE5OTU3NDhhYjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTct
MDEtMjkgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJl
bG9hZCBhcyBhbiBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEK
KworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRMaW5rUHJlbG9hZEVu
YWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTctMDEtMjggIEpvc2VwaCBQZWNvcmFy
byAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgVXNlciBUaW1pbmcgRXhwZXJp
bWVudGFsIEZlYXR1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwCmluZGV4IDQyZDA0M2JmNWQxMjBiMGYyN2ExMGVmZTkzZDM0OWY3MmJiNzA4MDMuLjI4ZDBi
MmI3ZDc4NzU5ZmQ5NWM0ZWIzMmU5MTAwNTcxZjA5OTE1N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtOTUsNyArOTUsNiBAQCBJbnRlcm5hbFNl
dHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0aW5ncyYgc2V0dGluZ3MpCiAgICAgLCBtX2ZvcmNl
ZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoc2V0dGluZ3MuZm9yY2VkRGlz
cGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSgpKQogICAgICwgbV9mb3JjZWRQcmVm
ZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZShzZXR0aW5ncy5mb3JjZWRQcmVmZXJz
UmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZSgpKQogICAgICwgbV9yZXNvdXJjZVRpbWlu
Z0VuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5yZXNvdXJj
ZVRpbWluZ0VuYWJsZWQoKSkKLSAgICAsIG1fbGlua1ByZWxvYWRFbmFibGVkKFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGlua1ByZWxvYWRFbmFibGVkKCkpCiAjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKICAgICAsIG1faW5kZXhlZERCV29y
a2Vyc0VuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5pbmRl
eGVkREJXb3JrZXJzRW5hYmxlZCgpKQogI2VuZGlmCkBAIC0xODQsNyArMTgzLDYgQEAgdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyhTZXR0aW5ncyYgc2V0dGluZ3MpCiAg
ICAgU2V0dGluZ3M6OnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKGZhbHNlKTsKIAogICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkKG1fcmVzb3VyY2VUaW1pbmdFbmFibGVkKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChtX2xpbmtQcmVsb2Fk
RW5hYmxlZCk7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEluZGV4ZWREQldvcmtl
cnNFbmFibGVkKG1faW5kZXhlZERCV29ya2Vyc0VuYWJsZWQpOwogI2VuZGlmCkBAIC02NzEsMTEg
KzY2OSw2IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0UmVzb3VyY2VUaW1pbmdFbmFibGVk
KGJvb2wgZW5hYmxlZCkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldFJlc291cmNlVGltaW5nRW5hYmxlZChlbmFibGVkKTsKIH0KIAotdm9pZCBJbnRlcm5h
bFNldHRpbmdzOjpzZXRMaW5rUHJlbG9hZEVuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGlua1ByZWxvYWRFbmFi
bGVkKGVuYWJsZWQpOwotfQotCiB2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEluZGV4ZWREQldv
cmtlcnNFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApp
bmRleCAwNDc3MDA0NGE2YTM5OTUzYmZlMTdkZGYxMzUwMWE4YmYwY2Q0NDE0Li41YzllOTM2OWFi
Nzk2YmYwNmVjNjM5NzQ2ZDk4OGZlODRlZDY2NGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTEwLDcgKzExMCw2IEBAIHB1YmxpYzoKIAogICAgIC8v
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCiAgICAgc3RhdGljIHZvaWQgc2V0UmVzb3VyY2VUaW1p
bmdFbmFibGVkKGJvb2wpOwotICAgIHN0YXRpYyB2b2lkIHNldExpbmtQcmVsb2FkRW5hYmxlZChi
b29sKTsKICAgICBzdGF0aWMgdm9pZCBzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sKTsK
ICAgICBzdGF0aWMgdm9pZCBzZXRDU1NHcmlkTGF5b3V0RW5hYmxlZChib29sKTsKICAgICBzdGF0
aWMgdm9pZCBzZXRXZWJHTDJFbmFibGVkKGJvb2wpOwpAQCAtMTg4LDcgKzE4Nyw2IEBAIHByaXZh
dGU6CiAKICAgICAgICAgLy8gUnVudGltZSBlbmFibGVkIHNldHRpbmdzLgogICAgICAgICBib29s
IG1fcmVzb3VyY2VUaW1pbmdFbmFibGVkOwotICAgICAgICBib29sIG1fbGlua1ByZWxvYWRFbmFi
bGVkOwogICAgICAgICBib29sIG1faW5kZXhlZERCV29ya2Vyc0VuYWJsZWQ7CiAgICAgICAgIGJv
b2wgbV9jc3NHcmlkTGF5b3V0RW5hYmxlZDsKICAgICAgICAgYm9vbCBtX3dlYkdMMkVuYWJsZWQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRs
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCAxZGYw
ZDNiYjFkOGM0NzgyN2I0YmZjZDlkYWFmMjg3MTMzNzdlYTkyLi41ZjRiZGVjMzZmZTBkMjMyOWRl
NDNlODEyNDVmY2FkY2Q3Y2FhMGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5pZGwKQEAgLTgzLDcgKzgzLDYgQEAgZW51bSBGb3JjZWRBY2Nlc3NpYmlsaXR5
VmFsdWUgeyAic3lzdGVtIiwgIm9uIiwgIm9mZiIgfTsKIAogICAgIC8vIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMuCiAgICAgdm9pZCBzZXRSZXNvdXJjZVRpbWluZ0VuYWJsZWQoYm9vbGVhbiBlbmFi
bGVkKTsKLSAgICB2b2lkIHNldExpbmtQcmVsb2FkRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwog
ICAgIHZvaWQgc2V0SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAg
ICB2b2lkIHNldENTU0dyaWRMYXlvdXRFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdm9p
ZCBzZXRXZWJHTDJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA2ZTUxMzVk
Njg1YTQ2MWI0OGYzZjI0YzE4ZGMwMmM2MmNhOTAyNDM5Li42NGI2MzM5YzY5MzI1OTFhNTIwYTRh
ZTYwNTA3MGY0YWI5MjhjZTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTE3Niw2ICsxNzYsNyBAQAogI2RlZmlu
ZSBXZWJLaXRTdWJ0bGVDcnlwdG9FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFN1YnRsZUNy
eXB0b0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdE1lZGlhU3RyZWFtRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRNZWRpYVN0cmVhbUVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFBlZXJDb25uZWN0
aW9uRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQZWVyQ29ubmVjdGlvbkVuYWJsZWQiCisj
ZGVmaW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRMaW5r
UHJlbG9hZEVuYWJsZWQiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gVGhlc2UgYXJlIHBy
aXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBtZXRo
b2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KaW5kZXggOTE2ZDc5MWYyNmFkYjY5NzAwY2VkNzY2MDJmYmVhMWVjMWRiZDA1Mi4u
MmRhOWNkNDAyZjhkODc4NTQ5MjliOGU0NmFmMmYyNmM3MmM3MzdkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC0yNzU1LDYgKzI3NTUsMTYgQEAg
c3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRC
b29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UGVlckNvbm5lY3Rpb25FbmFibGVkUHJlZmVyZW5j
ZUtleV07CiB9CiAKKy0gKEJPT0wpbGlua1ByZWxvYWRFbmFibGVkCit7CisgICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtl
eV07Cit9CisKKy0gKHZvaWQpc2V0TGlua1ByZWxvYWRFbmFibGVkOihCT09MKWZsYWcKK3sKKyAg
ICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdExpbmtQcmVsb2FkRW5hYmxl
ZFByZWZlcmVuY2VLZXldOworfQorCiAtICh2b2lkKXNldE1ldGFSZWZyZXNoRW5hYmxlZDooQk9P
TCllbmFibGVkCiB7CiAgICAgW3NlbGYgc2V0SFRUUEVxdWl2RW5hYmxlZDplbmFibGVkXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmlu
ZGV4IDc1Mjc0OGMzMWRlMTE4ZGZhZTFjZTMzYzQ5NmQyYWY5YjQwM2QxMjQuLjQ0YTNhZjZkYjVm
MzRiOTNjYmFjZTY1MDk2ZmUyNTY2NDRkNzlmMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNTI5LDUgKzUyOSw2IEBAIGV4
dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90
aWZpY2F0aW9uOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFja0FmdGVyRnVsbHNjcmVlbjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGludGVy
c2VjdGlvbk9ic2VydmVyRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHVzZXJU
aW1pbmdFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbGlua1ByZWxvYWRFbmFi
bGVkOwogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMDczZmMx
ODYxODczZWYwMmFlYWRiMzliY2QxODg2NWRiMGRjYTliNC4uMDdkMWQ3YzIwYmQyMGQxMDNjMDhm
NjRhNGZiMGUxYzJhMDM1N2FhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtMjkxMiw2ICsyOTEyLDggQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2Fk
aW5nUXVpcmsoKQogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRVc2VyVGltaW5nRW5hYmxlZChwcmVmZXJlbmNlcy51c2VyVGltaW5nRW5hYmxlZCk7CiAK
KyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldExpbmtQcmVs
b2FkRW5hYmxlZChwcmVmZXJlbmNlcy5saW5rUHJlbG9hZEVuYWJsZWQpOworCiAgICAgTlNUaW1l
SW50ZXJ2YWwgdGltZW91dCA9IFtwcmVmZXJlbmNlcyBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHBy
ZXNzaW9uVGltZW91dEluU2Vjb25kc107CiAgICAgaWYgKHRpbWVvdXQgPiAwKQogICAgICAgICBz
ZXR0aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25k
cyh0aW1lb3V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwgYi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lX
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCmluZGV4IDRmYzQ1OWUzMmI5NzI5MjQwZmFhYWNhNGMy
ZDlhYmRmMTYzZTMzYTUuLjNmNWE5NTU1YTU5Yzk4OWZhYTRhNTg2ZmNmM2NiNTcwZDg0NmUzZWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwKKysrIGIvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbApAQCAtMTk2LDQgKzE5Niw2IEBAIGludGVyZmFjZSBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlNCA6IElXZWJQcmVmZXJlbmNlc1ByaXZhdGUzCiAgICAgSFJFU1VMVCBzZXRX
ZWJBbmltYXRpb25zRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VMVCB1c2Vy
VGltaW5nRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKICAgICBIUkVTVUxUIHNldFVzZXJU
aW1pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIGxpbmtQcmVsb2Fk
RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldExpbmtQcmVsb2Fk
RW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDliYWMzMmM5Y2QxZWZhMzFjN2VmMmQyZmI4NWZj
YjdhY2MyMTExZWUuLmY3NDkzYTU5MDY4NTdhYmVmYTE2MWNjMGMxMzVhZmI5OWYyYWRjMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xODAs
MyArMTgwLDUgQEAKICNkZWZpbmUgV2ViS2l0V2ViQW5pbWF0aW9uc0VuYWJsZWRQcmVmZXJlbmNl
S2V5ICJXZWJLaXRXZWJBbmltYXRpb25zRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRVc2VyVGlt
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFVzZXJUaW1pbmdFbmFibGVkIgorCisjZGVm
aW5lIFdlYktpdExpbmtQcmVsb2FkRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdExpbmtQcmVs
b2FkRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2Vz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAyMzZmYTkx
YzM0NGQ4ZGUzMzRmNWU1NWQ0MDU4NjhlNWMzMTNiYTMxLi42ZjQ5ZTgwOTE2ZjI1YTNiMWIxNDk1
ZjE2YzZhMDY1NTA1OTA4ZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVm
ZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBA
IC0zMDksNiArMzA5LDggQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRT
ZXR0aW5ncygpCiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2Vi
S2l0VXNlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKIAor
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRMaW5rUHJlbG9h
ZEVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwogICAgIGRlZmF1bHRT
ZXR0aW5ncyA9IGRlZmF1bHRzOwogfQogCkBAIC0yMDA4LDYgKzIwMTAsMjAgQEAgSFJFU1VMVCBX
ZWJQcmVmZXJlbmNlczo6bW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoX091dF8gQk9PTCogZW5h
YmxlZCkKICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0
TGlua1ByZWxvYWRFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2Vi
S2l0TGlua1ByZWxvYWRFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJu
IFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OmxpbmtQcmVsb2FkRW5hYmxlZChf
T3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAgICAgcmV0dXJu
IEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRMaW5rUHJl
bG9hZEVuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VM
VCBXZWJQcmVmZXJlbmNlczo6c2V0QXBwbGljYXRpb25JZChCU1RSIGFwcGxpY2F0aW9uSWQpCiB7
CiAgICAgbV9hcHBsaWNhdGlvbklkID0gU3RyaW5nKGFwcGxpY2F0aW9uSWQpLmNyZWF0ZUNGU3Ry
aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oIGIv
U291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAppbmRleCA3OTgzYzEwMTYzZGQ5ZTYw
YTJjYTJiOTM1NmY0OTUyNDUxYjY1ZjE3Li4wODA0MWJkMTZkOGY1ZTBhM2ZlN2RlNjIzNTRlNzVh
MGNhOWY0M2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKQEAgLTI0OSw2ICsyNDks
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFdl
YkFuaW1hdGlvbnNFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSB1c2VyVGltaW5nRW5hYmxlZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHNldFVzZXJUaW1pbmdFbmFibGVkKEJPT0wpOworICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsaW5rUHJlbG9hZEVuYWJsZWQoX091dF8g
Qk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRMaW5rUHJl
bG9hZEVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVmZXJlbmNlcwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAppbmRleCA4MTIw
MmFhMTcwODk1OWI2YmJmMDE4ODk3YjA4M2I0NzMyMTBkZWM4Li41ODA3NzFkYzBlOWYzYWMzYTlm
MzRmZDcyOWNlMGY0ODVkNzYxMGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTMxNSw2ICszMTUsNyBAQAogICAgIG1hY3Jv
KENTU0dyaWRMYXlvdXRFbmFibGVkLCBjc3NHcmlkTGF5b3V0RW5hYmxlZCwgQm9vbCwgYm9vbCwg
REVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIkNTUyBHcmlkIiwgIkNTUyBH
cmlkIExheW91dCBNb2R1bGUgc3VwcG9ydCIpIFwKICAgICBtYWNybyhTcHJpbmdUaW1pbmdGdW5j
dGlvbkVuYWJsZWQsIHNwcmluZ1RpbWluZ0Z1bmN0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVG
QVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIkNTUyBTcHJpbmcgQW5pbWF0aW9u
cyIsICJDU1MgU3ByaW5nIEFuaW1hdGlvbiBwcm90b3R5cGUiKSBcCiAgICAgbWFjcm8oR2FtZXBh
ZHNFbmFibGVkLCBnYW1lcGFkc0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJHYW1lcGFkcyIsICJXZWIgR2FtZXBhZCBBUEkgc3VwcG9y
dCIpIFwKKyAgICBtYWNybyhMaW5rUHJlbG9hZEVuYWJsZWQsIGxpbmtQcmVsb2FkRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVBVFVSRVNfRU5BQkxFRCwgIkxpbmsg
UHJlbG9hZCIsICJMaW5rIHByZWxvYWQgc3VwcG9ydCIpIFwKICAgICBtYWNybyhNb2Rlcm5NZWRp
YUNvbnRyb2xzRW5hYmxlZCwgbW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQsIEJvb2wsIGJvb2ws
IERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQsICJNb2Rlcm4gTWVkaWEgQ29u
dHJvbHMiLCAiVXNlIG1vZGVybiBtZWRpYSBjb250cm9scyBsb29rIikgXAogICAgIG1hY3JvKElu
cHV0RXZlbnRzRW5hYmxlZCwgaW5wdXRFdmVudHNFbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxU
X0VYUEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVELCAiSW5wdXQgRXZlbnRzIiwgIkVuYWJsZSBJ
bnB1dEV2ZW50cyBzdXBwb3J0IikgXAogICAgIG1hY3JvKFN1YnRsZUNyeXB0b0VuYWJsZWQsIHN1
YnRsZUNyeXB0b0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVTX0VOQUJMRUQsICJTdWJ0bGVDcnlwdG8iLCAiRW5hYmxlIFN1YnRsZUNyeXB0byBzdXBwb3J0
IikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
Y3BwCmluZGV4IGQzZDVhMmRhNjIwNGE0MGJlNmNkMDRiMzczNzIxZjY2ZmZiZDQyZTYuLmJlMDEw
NjFlYzg1NWUwODU2MTkwNWNlNmI1YTBiMzBjZjkwNGJjZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTE2NDEsNiArMTY0MSwx
NiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJ0bGVDcnlwdG9FbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PnN1YnRsZUNyeXB0b0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0TGlua1By
ZWxvYWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykK
K3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmxh
Zyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldExpbmtQcmVsb2FkRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5j
ZXNSZWYpLT5saW5rUHJlbG9hZEVuYWJsZWQoKTsKK30KKwogdm9pZCBXS1ByZWZlcmVuY2VzU2V0
U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0RHVyaW5nUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwo
cHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGRTdXBwcmVzc0tleWJvYXJkSW5wdXREdXJpbmdQcm92
aXNpb25hbE5hdmlnYXRpb24oZmxhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IGQxMWUwZjY1NTYy
MjljYjYyZWYwMTVjNzYyMzYzMmQ0YzRiOWZkNjIuLjAyNWYxNDYzOTlmNjViYmZmMDc3NDA2ZWY0
NjU3NWE2OWIyYWEyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCkBAIC00NjEsNiArNDYxLDEwIEBAIFdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJ0bGVDcnlwdG9FbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZFN1cHByZXNz
S2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbihXS1ByZWZlcmVuY2VzUmVm
LCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZFN1cHBy
ZXNzS2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbihXS1ByZWZlcmVuY2Vz
UmVmKTsKIAorLy8gRGVmYXVsdHMgdG8gZmFsc2UuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0TGlua1ByZWxvYWRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CitX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TGlua1ByZWxvYWRFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDhkNmY5ODA4MDliZjQ0
ZjRhN2E4NTMyYTNmMjE2NjY3MDc5ZjZkMzMuLjkyYWY1MzZkMGY0OTZkMWEyZDBiZDdiZmQ3YTcx
ZGVjOWRhMDg3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTMyNDAsNiArMzI0MCw4IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVy
ZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAKICAgICAvLyBFeHBlcmlt
ZW50YWwgRmVhdHVyZXMuCiAKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLnNldExpbmtQcmVsb2FkRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6OmxpbmtQcmVsb2FkRW5hYmxlZEtleSgpKSk7CisKICNpZiBFTkFCTEUo
Q1NTX0dSSURfTEFZT1VUKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2V0Q1NTR3JpZExheW91dEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5Ojpjc3NHcmlkTGF5b3V0RW5hYmxlZEtleSgpKSk7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NjM2NTdl
MTE3MzJiMjg2OGI4MGRlMmI5OTU2MmMzZDZkMDJmZTA3Li4zZGI5YjIzMTFiMjJjODMwYTEwNTlh
ZjRkNjFmYTI3ODAzNmI1NTliIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDEtMjkgIFlvYXYgV2Vpc3MgIDx5
b2F2QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnktZGVm
YXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW06CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVz
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAg
ICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMTctMDEt
MjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
VXNlciBUaW1pbmcgRXhwZXJpbWVudGFsIEZlYXR1cmUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA2OGZmNDczYTVhZjRmYjc4YTRkYTVjNGNjNDgwNTZi
MGFlM2Y2ZmVmLi4zYjhmMmNiMTMyZWMzZWNmMWY1Y2M5YTc4NGFiYTE4NmNmMWI1NjFlIDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC05MDAsNiArOTAw
LDcgQEAgc3RhdGljIHZvaWQgZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMoV2ViUHJlZmVyZW5j
ZXMqIHByZWZlcmVuY2VzKQogICAgIFtwcmVmZXJlbmNlcyBzZXRDU1NHcmlkTGF5b3V0RW5hYmxl
ZDpZRVNdOwogICAgIC8vIEZJWE1FOiBTcHJpbmdUaW1pbmdGdW5jdGlvbgogICAgIFtwcmVmZXJl
bmNlcyBzZXRHYW1lcGFkc0VuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0TGlua1By
ZWxvYWRFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldE1vZGVybk1lZGlhQ29udHJv
bHNFbmFibGVkOllFU107CiAgICAgLy8gRklYTUU6IElucHV0RXZlbnRzCiAgICAgW3ByZWZlcmVu
Y2VzIHNldFN1YnRsZUNyeXB0b0VuYWJsZWQ6WUVTXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGNmNGFiYTM0ZDBiNzM4OTI0MDA0MWQxNWQxNjNj
NTc3YzlkZmI5OTQuLjk4ZGUxNTY5NTc4YmQyZjQwYTBjZmI1YTg1NmIxNzQ3Y2JiYTIzOWMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODc5LDYg
Kzg3OSw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1
ZXMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICBwcmVmc1ByaXZhdGU0LT5zZXRT
aGFkb3dET01FbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZTQtPnNldEN1c3RvbUVsZW1l
bnRzRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGU0LT5zZXRNb2Rlcm5NZWRpYUNvbnRy
b2xzRW5hYmxlZChGQUxTRSk7CisgICAgcHJlZnNQcml2YXRlNC0+c2V0TGlua1ByZWxvYWRFbmFi
bGVkKFRSVUUpOwogCiAgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9CmRpZmYg
LS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZyBiL1dlYnNpdGVzL3dlYmtpdC5v
cmcvQ2hhbmdlTG9nCmluZGV4IDcyZWIzNTFjZTc0ODQ1Zjk2YjdhZjY0NGVlOTRjNzJkOGNkNTFj
YTEuLjFhMDdmN2FlMDBlODAyYmUwNjNkZmRkYWUxZGI2ZWEyMTUxMmY4NTQgMTAwNjQ0Ci0tLSBh
L1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDEtMjkgIFlvYXYgV2Vpc3MgIDx5b2F2
QHlvYXYud3M+CisKKyAgICAgICAgQWRkIExpbmsgUHJlbG9hZCBhcyBhbiBvZmYtYnktZGVmYXVs
dCBleHBlcmltZW50YWwgZmVhdHVyZSBtZW51IGl0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcyMDEKKworICAgICAgICBSZXZpZXdlZCBieSBS
eW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBleHBlcmltZW50YWwtZmVhdHVyZXMuaHRtbDogQWRk
ZWQgTGluayBQcmVsb2FkLgorCiAyMDE3LTAxLTI4ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFy
b0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFVzZXIgVGltaW5nIEV4cGVyaW1lbnRhbCBGZWF0
dXJlCmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2V4cGVyaW1lbnRhbC1mZWF0dXJl
cy5odG1sIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9leHBlcmltZW50YWwtZmVhdHVyZXMuaHRtbApp
bmRleCBmZjVlMWJhODhlNWE0ZjVkZmE0M2E5N2Q4OTMxOTEwYWU4NmFjNWE1Li4xYWE4MjYzMzYz
M2MzMzc1ODg0ZWEzODI4ZjQ2MzZiZmMzYTIwYTM1IDEwMDY0NAotLS0gYS9XZWJzaXRlcy93ZWJr
aXQub3JnL2V4cGVyaW1lbnRhbC1mZWF0dXJlcy5odG1sCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5v
cmcvZXhwZXJpbWVudGFsLWZlYXR1cmVzLmh0bWwKQEAgLTc4LDYgKzc4LDExIEBAIGZ1bmN0aW9u
IHRlc3RXZWJHTDIoKSB7CiAgICAgcmV0dXJuIGNhbnZhcy5nZXRDb250ZXh0KCJ3ZWJnbDIiKTsK
IH0KIAorZnVuY3Rpb24gdGVzdExpbmtQcmVsb2FkKCkgeworICAgIHZhciBsaW5rID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibGluayIpOworICAgIHJldHVybiBsaW5rLnJlbExpc3Quc3VwcG9y
dHMoInByZWxvYWQiKTsKK30KKwogZnVuY3Rpb24gdGVzdEdhbWVwYWQoKSB7CiAgICAgcmV0dXJu
IG5hdmlnYXRvci5nZXRHYW1lcGFkczsKIH0KQEAgLTE0MCw2ICsxNDUsNyBAQCB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgPGRpdiBjbGFzcz0i
dGVzdCIgaWQ9IkdhbWVwYWQiPjxwPkdhbWVwYWQgQVBJPC9wPjwvZGl2PgogICAgICAgICA8ZGl2
IGNsYXNzPSJ0ZXN0IiBpZD0iRm9ybVZhbGlkYXRpb24iPjxwPkhUTUwgRm9ybSBWYWxpZGF0aW9u
PC9wPjwvZGl2PgogICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iSW5wdXRFdmVudHMiPjxw
PkhUTUwgSW5wdXQgRXZlbnRzPC9wPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBp
ZD0iTGlua1ByZWxvYWQiPjxwPkxpbmsgUHJlbG9hZDwvcD48L2Rpdj4KICAgICAgICAgPGRpdiBj
bGFzcz0idGVzdCIgaWQ9IlN1YnRsZUNyeXB0byI+PHA+U3VidGxlQ3J5cHRvPC9wPjwvZGl2Pgog
ICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iVmFyaWF0aW9uRm9udHMiPjxwPlZhcmlhdGlv
biBGb250czwvcD48L2Rpdj4KICAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9IlVzZXJUaW1p
bmciPjxwPlVzZXIgVGltaW5nPC9wPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE4N2NiY2Q4ODNjNTYyYzc4YTcw
ZTQ0M2IxZjQ1ZTgzMjdhYjY0OWIuLjI4OGYwNGM4ZmI1ZDY0OTFiMmU1ZDBkNTdjNDdmYTk2Nzk3
NzRiNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxNy0wMS0yOCAgWW9hdiBXZWlzcyAgPHlv
YXZAeW9hdi53cz4KKworICAgICAgICBBZGQgTGluayBQcmVsb2FkIGFzIGFuIG9mZi1ieS1kZWZh
dWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIG1lbnUgaXRlbS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzIwMQorCisgICAgICAgIFJldmlld2VkIGJ5
IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBSZW1vdmVkIGNvZGUgZXhwbGljaXRseSBlbmFibGlu
ZyBMaW5rIHByZWxvYWQgZnJvbSB0aGUgdGVzdHMsIGFzIGl0IGlzIG5vdworICAgICAgICB0dXJu
ZWQgb24gYnkgZGVmYXVsdCBmb3IgdGVzdGluZy4gQ29ycmVjdGVkIGV4cGVjdGF0aW9uIGZpbGVz
IGFjY29yZGluZ2x5LgorCisgICAgICAgICogaHR0cC90ZXN0cy9mZXRjaC9yZWRpcmVjdG1vZGUt
YW5kLXByZWxvYWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdf
b25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3ZlcnkuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3Zl
cnlfaW1hZ2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVz
b3VyY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxv
YWRfcmVzb3VyY2VzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2Fk
X3Jlc291cmNlc19mcm9tX2hlYWRlcl9pZnJhbWUuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faW52YWxpZF9oZWFkZXJzLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfYWRkaW5nX3ByZWxvYWQuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1vdmVfcHJlbG9hZF9ocmVm
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1v
dmVfcHJlbG9hZF9ocmVmLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL25vdF9k
ZWxheWluZ193aW5kb3dfb25sb2FkX2JlZm9yZV9kaXNjb3ZlcnkuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3ByZWxvYWQvb25sb2FkX2V2ZW50Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVs
b2FkL3Jlc291cmNlcy9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIucGhwOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMvaW52YWxpZF9yZXNvdXJjZXNfZnJvbV9o
ZWFkZXIucGhwOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRf
cHJlbG9hZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL3Npbmds
ZV9kb3dubG9hZF9wcmVsb2FkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
YWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRlZC1jc3Mtc3R5bGVzaGVldC5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkaW5nLWNz
cy1zdHlsZXNoZWV0Lmh0bWw6CisKIDIwMTctMDEtMjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgVXNlciBUaW1pbmcgRXhwZXJpbWVudGFsIEZl
YXR1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0Y2gvcmVkaXJlY3Rt
b2RlLWFuZC1wcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2ZldGNoL3JlZGly
ZWN0bW9kZS1hbmQtcHJlbG9hZC5odG1sCmluZGV4IGQ1MjEyYzU5MDFjMDg3OTBhZjA2ZDczNmM1
NDMyZWViN2U4NDFkODQuLjNjMTUyMGU2OGUyNjI0NWI2ZjhkYmNhOTc2OWQwZGZjOWU5MDM3Yjgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZmV0Y2gvcmVkaXJlY3Rtb2RlLWFu
ZC1wcmVsb2FkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9mZXRjaC9yZWRpcmVj
dG1vZGUtYW5kLXByZWxvYWQuaHRtbApAQCAtOCwxMCArOCw2IEBACiAgICAgPG1ldGEgbmFtZT0i
YXV0aG9yIiB0aXRsZT0iQ2Fub24gUmVzZWFyY2ggRnJhbmNlIiBocmVmPSJodHRwczovL3d3dy5j
cmYuY2Fub24uZnIiPgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci1pZiAod2luZG93
LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVk
KHRydWUpOwotICAgIDwvc2NyaXB0PgogICAgIDxsaW5rIHJlbD1wcmVsb2FkIG9ubG9hZD0ic3Rh
cnRUZXN0cygpIiBocmVmPSIuL3Jlc291cmNlcy9yZWRpcmVjdC13aXRoLWNhY2hlLnBocD9lbmFi
bGVDYWNoaW5nJnVybD1odHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2Fs
bG93LWlmLW9yaWdpbi5waHA/YWxsb3dDYWNoZSZvcmlnaW49aHR0cCUzQSUyRiUyRjEyNy4wLjAu
MSUzQTgwMDAmbmFtZT1hbGVydC1mYWlsLmpzJmNvbnRlbnRUeXBlPXRleHQvYXNjaWkiPgogICA8
L2hlYWQ+CiAgIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVs
b2FkL2RlbGF5aW5nX29ubG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9h
ZF9hZnRlcl9kaXNjb3ZlcnkuaHRtbAppbmRleCAxZmU1NTkwNDU1M2RjZDY0ZjEwMGI2ZDVmN2U1
OGYyNGRkMDQ0ZTJlLi4wMDk0ZTk5ZDIzNjhhYmYzNWM0YTRjMDE4MmZmNjRhNGFmM2ZjOTU0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2Fk
X2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3ZlcnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3Zl
cnkuaHRtbApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLSAgICBp
ZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCiAgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwpAQCAtMTQsOCArMTIsNiBAQAogPHNjcmlwdD4KICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgewogICAgICAgICBzaG91bGRCZVRydWUo
ImZpbmlzaGVkU2NyaXB0Iik7Ci0gICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAg
ICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQoZmFs
c2UpOwogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsgfSwgMCk7CiAgICAgfSk7CiAgICAgdmFyIHNjciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNjcmlwdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2Fk
L2RlbGF5aW5nX29ubG9hZF9saW5rX3ByZWxvYWRfYWZ0ZXJfZGlzY292ZXJ5X2ltYWdlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJl
bG9hZF9hZnRlcl9kaXNjb3ZlcnlfaW1hZ2UuaHRtbAppbmRleCA4NDczNWVlZDQ0NDY3NWZkNTRj
YWE1MWQ0NDdkOTliNjA5ODQ4YjI5Li5hZWIxYjRjMjYwODEwYzRmM2QzMWE0MjU3MmNlMjE4MDk2
MWFhOWQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlp
bmdfb25sb2FkX2xpbmtfcHJlbG9hZF9hZnRlcl9kaXNjb3ZlcnlfaW1hZ2UuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZGVsYXlpbmdfb25sb2FkX2xpbmtfcHJlbG9h
ZF9hZnRlcl9kaXNjb3ZlcnlfaW1hZ2UuaHRtbApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCiAg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwpAQCAtMTQsOCArMTIsNiBAQAogPHNj
cmlwdD4KICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgewog
ICAgICAgICBzaG91bGRCZVRydWUoImZpbmlzaGVkSW1hZ2UiKTsKLSAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCi0gICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExp
bmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7CiAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OwogICAgIH0pOwogICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy1leHBl
Y3RlZC50eHQKaW5kZXggYWYxMzVhNDFmZTI4NzNmNmEwZjFkYWM1NjU2YzZlMmEwMTk1MzUxNi4u
ZTQ4OGE3MzdmYzNlNjk3MTYxMDg4OGEyMzA2MjE4MDI5N2M0OWVhZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNl
cy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6
IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTE6IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBg
YXNgIHZhbHVlCiBQQVNTIGludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15
LmpzJyk7IGlzIHRydWUKIFBBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMv
ZHVtbXkuY3NzJyk7IGlzIHRydWUKIFBBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNv
dXJjZXMvc3F1YXJlLnBuZycpOyBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwKaW5kZXggNmQ1YzUwNDcwMmMx
NDAwMWQ0ODlmNWNiOTZiYzgzMjg1ZmM4ODM1NC4uM2U2ZWExYjQzM2QwMWQ5ZTBkOTI1MWVkMWUx
ZTIzY2I4OWI1Nzc0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2Fk
L2Rvd25sb2FkX3Jlc291cmNlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJl
bG9hZC9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbApAQCAtMSwxMCArMSw2IEBACiA8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxl
ZCh0cnVlKTsKLTwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KIDxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9k
dW1teS5qcyIgYXM9c2NyaXB0PgogPGxpbmsgcmVsPXByZWxvYWQgaHJlZj0iLi4vcmVzb3VyY2Vz
L2R1bW15LmNzcyIgYXM9c3R5bGU+CkBAIC0yOSw3ICsyNSwzIEBACiAgICAgc2hvdWxkQmVGYWxz
ZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkueG1sP2JhZHZhbHVl
Jyk7Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291
cmNlcy9kdW1teS54bWwnKTsiKTsKIDwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICBpZiAod2luZG93
LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJl
bG9hZEVuYWJsZWQoZmFsc2UpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyX2lmcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2FkX3Jlc291cmNlc19m
cm9tX2hlYWRlcl9pZnJhbWUuaHRtbAppbmRleCAwZDVjYzIxN2ExNmJhYWNmMTkyMzU2YzBkNjJi
ZjI0ZjY3ODk2MTZhLi45MTkxNDY5YWQzNzU2NDM5OTlhOTU1NjUyOTlhODZmNDc3ZDhmMzFlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3Vy
Y2VzX2Zyb21faGVhZGVyX2lmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXJfaWZyYW1lLmh0bWwKQEAgLTEs
NyArMSw1IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRF
bmFibGVkKHRydWUpOwogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNB
c1RleHQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9kb3du
bG9hZF9yZXNvdXJjZXNfZnJvbV9pbnZhbGlkX2hlYWRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJlbG9hZC9kb3dubG9hZF9yZXNvdXJjZXNfZnJvbV9pbnZhbGlkX2hlYWRlcnMu
aHRtbAppbmRleCBkN2Y3NDZhZmI5N2IzMzM5MTlkYTgxZTYzOTNlODhjYzU0ZWIwZDZmLi42MzQz
YzUxOWFkN2UwNzIxYWFhN2RlMzUwNDY4ZTgzM2Q1MGRhNGE3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faW52YWxpZF9o
ZWFkZXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2Rvd25sb2Fk
X3Jlc291cmNlc19mcm9tX2ludmFsaWRfaGVhZGVycy5odG1sCkBAIC0xLDcgKzEsNSBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsK
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19hZGRpbmdfcHJl
bG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfYWRkaW5n
X3ByZWxvYWQuaHRtbAppbmRleCBjZWE4ZmUwNDI0NjBhYTY5MjliZGFiMWY2YTJkMTc3M2VjMWNi
N2JhLi5hZmRjZjlkNWM0YmM1MjJiYTMxNmEyYmUxYzdmMmJiOTVjNWQ2ZTZjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19hZGRpbmdfcHJlbG9hZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX2FkZGluZ19w
cmVsb2FkLmh0bWwKQEAgLTEsMTAgKzEsNiBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxo
ZWFkPgotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7Ci08L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC0xNyw4ICsxMyw1IEBACiA8c2NyaXB0IHNyYz0iaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9zbG93LXNjcmlwdC5wbD9kZWxheT0xMDAiPjwvc2Ny
aXB0PgogPHNjcmlwdD4KICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgn
Li4vcmVzb3VyY2VzL2R1bW15LmpzJyk7Iik7Ci0KLSAgICBpZiAod2luZG93LmludGVybmFscykK
LSAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQo
ZmFsc2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1vdmVfcHJlbG9hZF9ocmVmLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hy
ZWYtZXhwZWN0ZWQudHh0CmluZGV4IDZlYzE4NDg4ZmJiMTA4NWVkNWY4M2I3YzUyZjAxZWNhNDli
MjllMmQuLjNiNDhkMTBiMmRmMjhmYmMzY2JkOGQ0YzA0MTA2YmJmNzVhMTgzMzQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2Fk
X2hyZWYtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9k
eW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE5OiA8bGluayByZWw9cHJlbG9hZD4gaGFzIGFuIGludmFs
aWQgYGhyZWZgIHZhbHVlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTc6IDxsaW5rIHJlbD1wcmVs
b2FkPiBoYXMgYW4gaW52YWxpZCBgaHJlZmAgdmFsdWUKIFBBU1MgZG93bmxvYWRlZEltYWdlIGlz
IGZhbHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVsb2FkX2hyZWYu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9keW5hbWljX3JlbW92ZV9wcmVs
b2FkX2hyZWYuaHRtbAppbmRleCAzMTBkZWYyYjJiMTc5ZmVmODIwOThlYzdmMjQ2ZDIxMjZiNjBl
MjIwLi4xMmZkYjE0Y2NhMzg2MDI3ZWNiMjE5YmRkYTEzNzhiNTJkOThkNDM1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvZHluYW1pY19yZW1vdmVfcHJlbG9hZF9o
cmVmLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL2R5bmFtaWNfcmVt
b3ZlX3ByZWxvYWRfaHJlZi5odG1sCkBAIC0yLDEwICsyLDggQEAKIDxodG1sPgogPGhlYWQ+CiA8
c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOworICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQogICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlc291
cmNlVGltaW5nRW5hYmxlZCh0cnVlKTsKLSAgICB9CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8Ym9keT4KQEAgLTI0LDEw
ICsyMiw4IEBACiAgICAgICAgICAgICAgICAgZG93bmxvYWRlZEltYWdlID0gdHJ1ZTsKICAgICAg
ICAgfQogICAgICAgICBzaG91bGRCZUZhbHNlKCJkb3dubG9hZGVkSW1hZ2UiKTsKLSAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCiAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFJlc291
cmNlVGltaW5nRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgIH0KICAgICB9KTsKIDwvc2NyaXB0Pgog
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL25vdF9k
ZWxheWluZ193aW5kb3dfb25sb2FkX2JlZm9yZV9kaXNjb3ZlcnkuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9ub3RfZGVsYXlpbmdfd2luZG93X29ubG9hZF9iZWZvcmVfZGlz
Y292ZXJ5Lmh0bWwKaW5kZXggNWI3NTk2MGM2ZTllMGRkZDg4NTY5OWIyM2Y2MmI3M2VhZGM5NDU0
OC4uN2Y0MjJhNmMyYTYyN2MyOGM2ZDk2OWQ3NWVlZDg3NWNiZmVmNThiMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL25vdF9kZWxheWluZ193aW5kb3dfb25sb2Fk
X2JlZm9yZV9kaXNjb3ZlcnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvbm90X2RlbGF5aW5nX3dpbmRvd19vbmxvYWRfYmVmb3JlX2Rpc2NvdmVyeS5odG1sCkBAIC0x
LDcgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2Fk
RW5hYmxlZCh0cnVlKTsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCkKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CkBAIC0xNSw4ICsxMyw2IEBACiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgc2hvdWxk
QmVUcnVlKCJ3aW5kb3dPbkxvYWQiKTsKICAgICAgICAgaWYgKGZpbmlzaGVkSW1hZ2UgJiYgZmlu
aXNoZWRTY3JpcHQpIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAg
ICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVk
KGZhbHNlKTsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29uZXJyb3JfZXZlbnQtZXhwZWN0ZWQudHh0
CmluZGV4IDViY2QyNmVhNGRkYTEyMzBlNGJkNDg5MzcxNmYxZWU4ZThlOGIyYTUuLjI5MTZhZjI1
MTY2YzhhZjg0ZjBiOWMxOWI1ZTRkZDhlN2JiZDcxNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IDxsaW5rIHJlbD1wcmVsb2Fk
PiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6
IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmVycm9yX2V2ZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25lcnJvcl9ldmVudC5odG1sCmluZGV4IGFjMGNjOTQ2
ZDQ0MDJmMWZkMTgzZDg2MWM5Mjk0NjE1ODI1MjAxMzguLmQxYWQyMjhjYWYyMGJkNmI2Y2Y1MWIw
ZGI2YTM3ZmUwMzliNDEzOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJl
bG9hZC9vbmVycm9yX2V2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVs
b2FkL29uZXJyb3JfZXZlbnQuaHRtbApAQCAtMSw3ICsxLDUgQEAKIDwhRE9DVFlQRSBodG1sPgog
PHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQodHJ1ZSk7CiAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpCiAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwpAQCAtMzcsOCArMzUsNiBAQAogICAgICAgICBz
aG91bGRCZVRydWUoInRyYWNrRmFpbGVkIik7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZ2licmlz
aEZhaWxlZCIpOwogICAgICAgICBzaG91bGRCZVRydWUoIm5vVHlwZUZhaWxlZCIpOwotICAgICAg
ICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKGZhbHNlKTsKICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVu
dC1leHBlY3RlZC50eHQKaW5kZXggN2IyMzJjZTQ1NjIzY2RhYWFjYTc0ZjE1M2ZmMzQ4MzMzODc4
NGNmYy4uMWYxOTA1MzVhYmM4MjJhNjUxMjZhZjM5ZDc3NzNkMTI1MGNmNDEyZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9ldmVudC1leHBl
Y3RlZC50eHQKQEAgLTEsNSArMSw1IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IDxsaW5r
IHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzY6IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZh
bHVlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzM6IDxsaW5rIHJlbD1wcmVsb2FkPiBtdXN0IGhh
dmUgYSB2YWxpZCBgYXNgIHZhbHVlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzQ6IDxsaW5rIHJl
bD1wcmVsb2FkPiBtdXN0IGhhdmUgYSB2YWxpZCBgYXNgIHZhbHVlCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJlbG9hZC9vbmxvYWRfZXZlbnQuaHRtbAppbmRleCA4YjExYmY4MzVjMDczYmE2MWUz
ZjYzOGU5MjQ2MDI4Zjk1NmE4MGZkLi5hNmNiYTY2ZDA5YWY1NjU5OWViYzhjYTBkYWMzNjI4MzFl
NmVkYjBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvb25sb2Fk
X2V2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL29ubG9hZF9l
dmVudC5odG1sCkBAIC0xLDcgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0PgotICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldExpbmtQcmVsb2FkRW5hYmxlZCh0cnVlKTsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCkKICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CkBAIC01MCw4ICs0OCw2IEBACiAgICAgICAgIHNob3VsZEJlVHJ1ZSgi
eHNsdEVycm9yZWQiKTsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJub1R5cGVMb2FkZWQiKTsKICAg
ICAgICAgc2hvdWxkQmVUcnVlKCJlbXB0eVR5cGVMb2FkZWQiKTsKLSAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCi0gICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExp
bmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
ICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMvZG93bmxvYWRfcmVzb3Vy
Y2VzX2Zyb21faGVhZGVyLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9yZXNv
dXJjZXMvZG93bmxvYWRfcmVzb3VyY2VzX2Zyb21faGVhZGVyLnBocAppbmRleCAxOTE4Yjg1ZGU3
YTAyMGRhMGU0MjBmMTk4NjUzODM1MmVkMTUyYzA2Li45OTZjOTU0YmUxNjllMDk0MWI0ZTVmMzA2
OTNiMTBiYmNkYTI3MjEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvcmVzb3VyY2VzL2Rvd25sb2FkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHAKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9kb3dubG9hZF9yZXNvdXJjZXNf
ZnJvbV9oZWFkZXIucGhwCkBAIC0yMCw3ICsyMCwzIEBAIGhlYWRlcigiTGluazogPC4uL3Jlc291
cmNlcy9kdW1teS54bWw+OyByZWw9cHJlbG9hZCIsIGZhbHNlKTsKICAgICBzaG91bGRCZUZhbHNl
KCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS54bWw/YmFkdmFsdWUn
KTsiKTsKICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3Vy
Y2VzL2R1bW15LnhtbCcpOyIpOwogPC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVs
b2FkRW5hYmxlZChmYWxzZSk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJlbG9hZC9yZXNvdXJjZXMvaW52YWxpZF9yZXNvdXJjZXNfZnJvbV9oZWFkZXIu
cGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9pbnZhbGlkX3Jl
c291cmNlc19mcm9tX2hlYWRlci5waHAKaW5kZXggMGZkYzdmN2ZkM2I2M2M4YTAyOTk2ZjlhMDg3
OGQ5ODk0YjExYjZlNy4uYmRmMzQ0YjVkNGRlYzY2NDc0ZDliOTM3MzZkMTcwZmRjOGE1NmM4OSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcmVsb2FkL3Jlc291cmNlcy9pbnZh
bGlkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wcmVsb2FkL3Jlc291cmNlcy9pbnZhbGlkX3Jlc291cmNlc19mcm9tX2hlYWRlci5waHAKQEAg
LTQwLDcgKzQwLDMgQEAgaGVhZGVyKCJMaW5rOiA8ICAgLi4vcmVzb3VyY2VzL2R1bW15LmpzP2Zv
b2JhciA+OyByZWw9cHJlbG9hZDsgYXM9JyIsIGZhbHNlKTsKICAgICBzaG91bGRCZUZhbHNlKCJp
bnRlcm5hbHMuaXNQcmVsb2FkZWQoJyNmb29iYXInKTsiKTsKICAgICBzaG91bGRCZUZhbHNlKCJp
bnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9BaGVtLnR0ZicpOyIpOwogPC9zY3Jp
cHQ+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7Ci08L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93
bmxvYWRfcHJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQtZXhwZWN0ZWQudHh0CmluZGV4IDA3YjU4ZDg2OGMz
YTc4MzYzNTk4YmY2NTFhN2Y4MzU1MDI2OWRhYmMuLmRlMDEzNDIyNjA5NTljZTc4NDkwNGQ5ZDQw
MDhkZjY0OGE2Mjc3MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9h
ZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wcmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMTogPGxpbmsgcmVsPXByZWxv
YWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
OTogPGxpbmsgcmVsPXByZWxvYWQ+IG11c3QgaGF2ZSBhIHZhbGlkIGBhc2AgdmFsdWUKICAKIAog
UEFTUyBNYWtlcyBzdXJlIHRoYXQgcHJlbG9hZGVkIHJlc291cmNlcyBhcmUgbm90IGRvd25sb2Fk
ZWQgYWdhaW4gd2hlbiB1c2VkIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
cmVsb2FkL3NpbmdsZV9kb3dubG9hZF9wcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQuaHRtbAppbmRleCAxNWUwNGZhZmZh
NDEyMmRkYjE5MGIwY2Q4NWYyZmNiNjc0MzVjMzU1Li44NjgzZThmODZkYjg1ZGJkMDYwNGRkMDM0
MTdiMzhmY2JmNDk2OTAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxv
YWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByZWxvYWQvc2luZ2xlX2Rvd25sb2FkX3ByZWxvYWQuaHRtbApAQCAtMSw5ICsxLDcgQEAK
IDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykgewot
ICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOwor
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
UmVzb3VyY2VUaW1pbmdFbmFibGVkKHRydWUpOwotICAgIH0KIDwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
QEAgLTYxLDEwICs1OSw4IEBACiAgICAgICAgICAgICAvLyBGSVhNRTogWEhSIHNob3VsZCB0cmln
Z2VyIGEgc2luZ2xlIGRvd25sb2FkLCBidXQgaXQgZG93bmxvYWRzIDIgcmVzb3VyY2VzIGluc3Rl
YWQuCiAgICAgICAgICAgICB2ZXJpZnlEb3dubG9hZE51bWJlcigiaHR0cDovLzEyNy4wLjAuMTo4
MDAwL3Jlc291cmNlcy9kdW1teS54bWwiLCAyKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgdmVyaWZ5IGZvciB2aWRlbyBhbmQgYXVkaW8gYXMgd2VsbCwgYnV0IHRoZXkgc2VlbSB0
byAoZmxha2lseT8pIHRyaWdnZXIgbXVsdGlwbGUgcGFydGlhbCByZXF1ZXN0cy4KLSAgICAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldExpbmtQcmVsb2FkRW5hYmxlZChmYWxzZSk7CisgICAgICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKICAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UmVz
b3VyY2VUaW1pbmdFbmFibGVkKGZhbHNlKTsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIHQu
ZG9uZSgpOwogICAgICAgICAgICAgfSksIDEwMCk7CiAgICAgfSkpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRl
ZC1jc3Mtc3R5bGVzaGVldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
YWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRlZC1jc3Mtc3R5bGVzaGVldC5odG1sCmluZGV4IDRh
ZjE1NDBlNGQ5MzRkNmZhMzIwMDg1Y2I0YzA5NTk3NzZlYWJlYWUuLmEyYmRjOWQ2NWY3ZTMwOTcz
MDYwMmI1OGVkMWNiNzkxYTZiZGI3Y2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2FkZWQtY3NzLXN0eWxlc2hlZXQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1v
cmlnaW4tcHJlbG9hZGVkLWNzcy1zdHlsZXNoZWV0Lmh0bWwKQEAgLTEsNyArMSw1IEBACiA8IURP
Q1RZUEUgaHRtbD4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0TGlua1ByZWxvYWRFbmFibGVkKHRydWUpOwogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CiAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jYWNoZWQtY3Jvc3Mtb3JpZ2luLXByZWxvYWRpbmctY3NzLXN0eWxlc2hlZXQuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2FjaGVkLWNyb3NzLW9yaWdpbi1wcmVsb2Fk
aW5nLWNzcy1zdHlsZXNoZWV0Lmh0bWwKaW5kZXggYzllNzQwNzYxZThkZDUxNGExOTA4ZjZmZTQz
NzIwYzZhNDEwMTE0NS4uYzk1YTllNTM1ZWVmMzcxNWMzMDlkMGJjYTMzMGUyZDUyM2RhMDA3MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jYWNoZWQtY3Jvc3Mt
b3JpZ2luLXByZWxvYWRpbmctY3NzLXN0eWxlc2hlZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NhY2hlZC1jcm9zcy1vcmlnaW4tcHJlbG9hZGluZy1jc3Mtc3R5
bGVzaGVldC5odG1sCkBAIC0yLDggKzIsNiBAQAogPGh0bWw+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1p
ZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0TGlua1ByZWxv
YWRFbmFibGVkKHRydWUpOwogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>