<?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>110968</bug_id>
          
          <creation_ts>2013-02-27 04:04:01 -0800</creation_ts>
          <short_desc>Introduce new message sources for logging.</short_desc>
          <delta_ts>2013-03-06 10:58:00 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dmitry Zvorygin">zvorygin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>buildbot</cc>
    
    <cc>mkwst</cc>
    
    <cc>pfeldman</cc>
    
    <cc>rniwa</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>842918</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-02-27 04:04:01 -0800</bug_when>
    <thetext>Introduce new message source for logging, and alter some message sources for existing log records, to make logging more fine-tuneable, and self-descriptive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842927</commentid>
    <comment_count>1</comment_count>
      <attachid>190488</attachid>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-02-27 04:12:41 -0800</bug_when>
    <thetext>Created attachment 190488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842931</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-02-27 04:17:40 -0800</bug_when>
    <thetext>Mike, how do you like it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842951</commentid>
    <comment_count>3</comment_count>
      <attachid>190488</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-27 05:03:01 -0800</bug_when>
    <thetext>Comment on attachment 190488
Patch

Attachment 190488 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/16769785</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842961</commentid>
    <comment_count>4</comment_count>
      <attachid>190488</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-02-27 05:29:12 -0800</bug_when>
    <thetext>Comment on attachment 190488
Patch

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

This is a great start, thank you! I like the direction... a few comments inline.

&gt; Source/WebCore/Modules/webdatabase/DatabaseBase.cpp:49
&gt; +    m_scriptExecutionContext-&gt;addConsoleMessage(OfflineMessageSource, ErrorMessageLevel, message);

Why &quot;Offline&quot; here? I&apos;d suggest something like &quot;Storage&quot;, which would also allow us to change IDB messages.

&gt; Source/WebCore/html/HTMLFormElement.cpp:264
&gt; +            document()-&gt;addConsoleMessage(JSMessageSource, ErrorMessageLevel, message);

Let&apos;s leave this as RenderingMessageSource, and probably change the message in a separate patch, as it&apos;s confusing.  This error occurs when form validation would focus on a required element that, for whatever reason, isn&apos;t focusable. LayoutTests/fast/forms/interactive-validation-prevented.html has an example.

&gt; Source/WebCore/html/HTMLIFrameElement.cpp:93
&gt; +            document()-&gt;addConsoleMessage(SecurityMessageSource, ErrorMessageLevel, &quot;Error while parsing the &apos;sandbox&apos; attribute: &quot; + invalidTokens);

This seems more like a rendering/parsing error than a security error. The sandbox isn&apos;t blocking anything, it&apos;s not being parsed correctly.

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:5314
&gt; +    document-&gt;addConsoleMessage(RenderingMessageSource, WarningMessageLevel, message);

It might make sense to give WebGL errors a source of their own, if we&apos;re going to be enabling filtering on them later.

&gt; Source/WebCore/loader/MixedContentChecker.cpp:102
&gt;      // FIXME: Why does this message not have a source URL or a line number? webkit.org/b/97979

Since you&apos;re here, please kill this FIXME. We fixed it when adding stack traces to messages globally.

&gt; Source/WebCore/svg/SVGDocumentExtensions.cpp:138
&gt; +        document-&gt;addConsoleMessage(RenderingMessageSource, level, message);

SVG might be another reason (alongside WebGL from above) to add a GraphicsMessageSource or something similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842965</commentid>
    <comment_count>5</comment_count>
      <attachid>190488</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-27 05:33:51 -0800</bug_when>
    <thetext>Comment on attachment 190488
Patch

Attachment 190488 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/16823159</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843007</commentid>
    <comment_count>6</comment_count>
      <attachid>190488</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-27 06:33:15 -0800</bug_when>
    <thetext>Comment on attachment 190488
Patch

Attachment 190488 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/16672367</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843973</commentid>
    <comment_count>7</comment_count>
      <attachid>190488</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-02-28 04:19:06 -0800</bug_when>
    <thetext>Comment on attachment 190488
Patch

r- as per Mike&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847695</commentid>
    <comment_count>8</comment_count>
      <attachid>190488</attachid>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-05 08:14:01 -0800</bug_when>
    <thetext>Comment on attachment 190488
Patch

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

&gt;&gt; Source/WebCore/Modules/webdatabase/DatabaseBase.cpp:49
&gt;&gt; +    m_scriptExecutionContext-&gt;addConsoleMessage(OfflineMessageSource, ErrorMessageLevel, message);
&gt; 
&gt; Why &quot;Offline&quot; here? I&apos;d suggest something like &quot;Storage&quot;, which would also allow us to change IDB messages.

Done.

&gt;&gt; Source/WebCore/html/HTMLFormElement.cpp:264
&gt;&gt; +            document()-&gt;addConsoleMessage(JSMessageSource, ErrorMessageLevel, message);
&gt; 
&gt; Let&apos;s leave this as RenderingMessageSource, and probably change the message in a separate patch, as it&apos;s confusing.  This error occurs when form validation would focus on a required element that, for whatever reason, isn&apos;t focusable. LayoutTests/fast/forms/interactive-validation-prevented.html has an example.

Ok.

&gt;&gt; Source/WebCore/html/HTMLIFrameElement.cpp:93
&gt;&gt; +            document()-&gt;addConsoleMessage(SecurityMessageSource, ErrorMessageLevel, &quot;Error while parsing the &apos;sandbox&apos; attribute: &quot; + invalidTokens);
&gt; 
&gt; This seems more like a rendering/parsing error than a security error. The sandbox isn&apos;t blocking anything, it&apos;s not being parsed correctly.

Ok.

&gt;&gt; Source/WebCore/html/canvas/WebGLRenderingContext.cpp:5314
&gt;&gt; +    document-&gt;addConsoleMessage(RenderingMessageSource, WarningMessageLevel, message);
&gt; 
&gt; It might make sense to give WebGL errors a source of their own, if we&apos;re going to be enabling filtering on them later.

Currently we aren&apos;t going to have separate webgl filter.

&gt;&gt; Source/WebCore/loader/MixedContentChecker.cpp:102
&gt;&gt;      // FIXME: Why does this message not have a source URL or a line number? webkit.org/b/97979
&gt; 
&gt; Since you&apos;re here, please kill this FIXME. We fixed it when adding stack traces to messages globally.

Done.

&gt;&gt; Source/WebCore/svg/SVGDocumentExtensions.cpp:138
&gt;&gt; +        document-&gt;addConsoleMessage(RenderingMessageSource, level, message);
&gt; 
&gt; SVG might be another reason (alongside WebGL from above) to add a GraphicsMessageSource or something similar.

Maybe later, if somebody provides well reviewed list of required message sources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847696</commentid>
    <comment_count>9</comment_count>
      <attachid>191500</attachid>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-05 08:15:55 -0800</bug_when>
    <thetext>Created attachment 191500
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847714</commentid>
    <comment_count>10</comment_count>
      <attachid>191500</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-05 08:43:15 -0800</bug_when>
    <thetext>Comment on attachment 191500
Patch

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

&gt; Source/WebCore/page/Console.cpp:104
&gt; +        sourceString = &quot;OFFLINE&quot;;

Copy paste.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847715</commentid>
    <comment_count>11</comment_count>
      <attachid>191503</attachid>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-05 08:45:55 -0800</bug_when>
    <thetext>Created attachment 191503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847788</commentid>
    <comment_count>12</comment_count>
      <attachid>191503</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 10:17:59 -0800</bug_when>
    <thetext>Comment on attachment 191503
Patch

Rejecting attachment 191503 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-02&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 191503, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
t/git/webkit-commit-queue/Source/WebKit/chromium/v8 --revision 13779 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
54&gt;At revision 13779.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://webkit-commit-queue.appspot.com/results/17017009</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847897</commentid>
    <comment_count>13</comment_count>
      <attachid>191503</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-05 12:04:54 -0800</bug_when>
    <thetext>Comment on attachment 191503
Patch

Attachment 191503 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17060012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848601</commentid>
    <comment_count>14</comment_count>
      <attachid>191503</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 01:08:43 -0800</bug_when>
    <thetext>Comment on attachment 191503
Patch

Attachment 191503 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/16991216</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848619</commentid>
    <comment_count>15</comment_count>
      <attachid>191503</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 01:28:27 -0800</bug_when>
    <thetext>Comment on attachment 191503
Patch

Attachment 191503 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/16998112</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848667</commentid>
    <comment_count>16</comment_count>
      <attachid>191503</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 02:53:23 -0800</bug_when>
    <thetext>Comment on attachment 191503
Patch

Attachment 191503 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17036140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848692</commentid>
    <comment_count>17</comment_count>
      <attachid>191708</attachid>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-06 03:50:44 -0800</bug_when>
    <thetext>Created attachment 191708
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849001</commentid>
    <comment_count>18</comment_count>
      <attachid>191708</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 09:59:28 -0800</bug_when>
    <thetext>Comment on attachment 191708
Patch

Rejecting attachment 191708 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-04&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 191708, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
t/git/webkit-commit-queue/Source/WebKit/chromium/v8 --revision 13779 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
54&gt;At revision 13779.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://webkit-commit-queue.appspot.com/results/17079161</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849010</commentid>
    <comment_count>19</comment_count>
      <attachid>191782</attachid>
    <who name="Dmitry Zvorygin">zvorygin</who>
    <bug_when>2013-03-06 10:11:02 -0800</bug_when>
    <thetext>Created attachment 191782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849069</commentid>
    <comment_count>20</comment_count>
      <attachid>191782</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 10:57:56 -0800</bug_when>
    <thetext>Comment on attachment 191782
Patch

Clearing flags on attachment: 191782

Committed r144949: &lt;http://trac.webkit.org/changeset/144949&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849070</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 10:58:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190488</attachid>
            <date>2013-02-27 04:12:41 -0800</date>
            <delta_ts>2013-03-05 08:15:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110968-20130227160854.patch</filename>
            <type>text/plain</type>
            <size>37977</size>
            <attacher name="Dmitry Zvorygin">zvorygin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdlZmQ3NGRlMmNjY2Q2
YzNlMmMxYzI1OGVkODYwNGQ5Y2FjYzRiOS4uNmZmMWU0NzhmNjc3MjVmYWIyNGEwOWM2NmMxZDVi
Mzg5YTYxNjNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc4IEBACisyMDEzLTAyLTI3ICBEbWl0
cnkgWnZvcnlnaW4gIDx6dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNl
IG5ldyBtZXNzYWdlIHNvdXJjZXMgZm9yIGxvZ2dpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5NjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIFJl
bmRlcmluZ01lc3NhZ2VTb3VyY2UsIE9mZmxpbmVNZXNzYWdlU291cmNlLCBDU1NNZXNzYWdlU291
cmNlLgorICAgICAgICBDaGFuZ2VkIHNvbWUgbG9nZ2luZyBsaW5lcyB0byBjb250YWluIG1vcmUg
ZGVzY3JpcHRpdmUgbWVzc2FnZSBzb3VyY2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BT
ISkuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUJhc2U6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0YWJhc2VNYW5hZ2VyOjpsb2dFcnJvck1lc3NhZ2UpOgorICAgICAgICAqIE1vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldENoYW5uZWw6OmZhaWwpOgorICAgICAgICAqIGJpbmRpbmdzL1NjcmlwdENvbnRyb2xs
ZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNhbkV4ZWN1
dGVTY3JpcHRzKToKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmFkZFJlc29sdXRpb25XYXJuaW5nTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgICogZG9t
L0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwcm9jZXNzSHR0cEVx
dWl2KToKKyAgICAgICAgKiBkb20vU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRFbGVtZW50OjpleGVjdXRlU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBkb20vVmlld3BvcnRBcmd1bWVu
dHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVwb3J0Vmlld3BvcnRXYXJuaW5nKToKKyAgICAg
ICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
c2hvdWxkQXV0b2ZvY3VzKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVseSk6
CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MSUZyYW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmdldEltYWdlRGF0YSk6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpwcmludFdhcm5pbmdUb0NvbnNvbGUp
OgorICAgICAgICAqIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6WFNTQXVkaXRvcjo6aW5pdCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRl
bGVnYXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3JEZWxlZ2F0ZTo6ZGlkQmxv
Y2tTY3JpcHQpOgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjptZXNzYWdlU291cmNlVmFsdWUpOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN1Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXI6OnJlcG9ydExvY2FsTG9hZEZhaWxlZCk6CisgICAgICAgIChXZWJDb3JlOjpj
cmVhdGVXaW5kb3cpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGxvYWRl
ci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNl
TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvTWl4ZWRDb250ZW50
Q2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNaXhlZENvbnRlbnRDaGVja2VyOjpsb2dX
YXJuaW5nKToKKyAgICAgICAgKiBsb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6Y29yc1BvbGljeVByZXZlbnRlZExvYWQpOgorICAg
ICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjphYm9ydCk6CisgICAgICAgICogbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlTG9hZGVyOjpwcmludEFjY2Vzc0RlbmllZE1lc3NhZ2UpOgorICAgICAgICAq
IHBhZ2UvQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwcmludE1lc3NhZ2VTb3VyY2VB
bmRMZXZlbFByZWZpeCk6CisgICAgICAgICogcGFnZS9Db25zb2xlVHlwZXMuaDoKKyAgICAgICAg
KiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250
ZW50U2VjdXJpdHlQb2xpY3k6OmxvZ1RvQ29uc29sZSk6CisgICAgICAgICogcGFnZS9ET01XaW5k
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkaXNwYXRjaE1lc3NhZ2VFdmVu
dFdpdGhPcmlnaW5DaGVjayk6CisgICAgICAgICogcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9p
bnRlckxvY2spOgorICAgICAgICAqIHN2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6cmVwb3J0TWVzc2FnZSk6CisKIDIwMTMtMDItMjYgIERtaXRyeSBadm9y
eWdpbiAgPHp2b3J5Z2luQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZXJnZWQgVGlwIGFuZCBE
ZWJ1ZyBsb2cgbGV2ZWxzIGZvciB3ZWIgY29uc29sZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA4OTM5
NGM3YzcyMGUyZDczNjZkMjUwNTNiYWYyNWZmZDAyY2I4NjFiLi4zOTJmZGRkNDlkNGEyYTFlZmQ1
ZmRmZGM1NzZmMTg0OTRhYzEwNGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTMtMDItMjcgIERtaXRyeSBadm9yeWdpbiAgPHp2b3J5Z2luQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBJbnRyb2R1Y2UgbmV3IG1lc3NhZ2Ugc291cmNlcyBmb3IgbG9nZ2luZy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDk2OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAqIFdlYlZpZXcvV2ViVUlEZWxlZ2F0ZVBy
aXZhdGUuaDoKKwogMjAxMy0wMi0yNiAgRG1pdHJ5IFp2b3J5Z2luICA8enZvcnlnaW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIE1lcmdlZCBUaXAgYW5kIERlYnVnIGxvZyBsZXZlbHMgZm9yIHdl
YiBjb25zb2xlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZUJhc2UuY3BwCmluZGV4IGYzNzExMWJkNTRlMzA2YjRjNmUzM2IxZmExYzc4ZmExYTgw
OTZiZDQuLmU4NDEzNWZhNmIzNTkxMTU4YmI3Zjk5NGU4NWQ4OTMzMzU3YjM0YTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAK
QEAgLTQ2LDcgKzQ2LDcgQEAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogRGF0YWJhc2VCYXNlOjpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKIAogdm9pZCBEYXRhYmFzZUJhc2U6OmxvZ0Vy
cm9yTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENv
bnNvbGVNZXNzYWdlKE9mZmxpbmVNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcAppbmRleCAzNGVk
YTJhOTE1NDhlYTliNTEwN2MxNDYwN2RkZjBiMTU2YTllNWYzLi5kOTkzZDM5OWMxY2MwMWExMWRm
M2RhY2IzZWRkNzZjMmJjOWI4ZWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwCkBAIC00MzAsNyArNDMwLDcgQEAg
dm9pZCBEYXRhYmFzZU1hbmFnZXI6OmludGVycnVwdEFsbERhdGFiYXNlc0ZvckNvbnRleHQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY28KIAogdm9pZCBEYXRhYmFzZU1hbmFnZXI6OmxvZ0Vycm9y
TWVzc2FnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCiB7Ci0gICAgY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgY29udGV4dC0+YWRkQ29uc29s
ZU1lc3NhZ2UoT2ZmbGluZU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdl
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IGNjZDYwZTc5
YjNiMTBhYTMzZWI5MWQ0Yzk2ZDU0MzI3MDNmYjcxZmQuLjAzMmRkNzM1NDNhOWFkMWU5YmVlMjlj
ODJmN2ZiZjQxMzAzZjMwYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTE5NSw3ICsxOTUsNyBAQCB2b2lk
IFdlYlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgQVNTRVJU
KCFtX3N1c3BlbmRlZCk7CiAgICAgaWYgKG1fZG9jdW1lbnQpIHsKICAgICAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihtX2RvY3VtZW50
LCBtX2lkZW50aWZpZXIsIHJlYXNvbik7Ci0gICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgY29u
bmVjdGlvbiB0byAnIiArIG1faGFuZHNoYWtlLT51cmwoKS5zdHJpbmcoKSArICInIGZhaWxlZDog
IiArIHJlYXNvbik7CisgICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKE5ldHdv
cmtNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldCBjb25uZWN0aW9u
IHRvICciICsgbV9oYW5kc2hha2UtPnVybCgpLnN0cmluZygpICsgIicgZmFpbGVkOiAiICsgcmVh
c29uKTsKICAgICB9CiAKICAgICAvLyBIeWJpLTEwIHNwZWNpZmljYXRpb24gZXhwbGljaXRseSBz
dGF0ZXMgd2UgbXVzdCBub3QgY29udGludWUgdG8gaGFuZGxlIGluY29taW5nIGRhdGEKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL1NjcmlwdENvbnRyb2xsZXJCYXNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL1NjcmlwdENvbnRyb2xsZXJCYXNlLmNwcAppbmRleCBj
NTdiODVmZWFmOTMyYmQyMTZiNmQ1ZjViOTFlNDYwMTExMjUzZWRmLi4yNjdmMTFlYWQzZDZkNDM2
ODQwOTFhYTRjYjVlM2YyMWZhN2E0NWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwCkBAIC00MSw3ICs0MSw3IEBAIGJvb2wgU2NyaXB0
Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMoUmVhc29uRm9yQ2FsbGluZ0NhbkV4ZWN1dGVT
Y3JpcHRzIHJlYXNvCiAgICAgaWYgKG1fZnJhbWUtPmRvY3VtZW50KCkgJiYgbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+aXNTYW5kYm94ZWQoU2FuZGJveFNjcmlwdHMpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29s
dXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBl
eGlzdHMuCiAgICAgICAgIGlmIChyZWFzb24gPT0gQWJvdXRUb0V4ZWN1dGVTY3JpcHQpCi0gICAg
ICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIHNjcmlwdCBleGVjdXRpb24gaW4g
JyIgKyBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKSArICInIGJlY2F1c2UgdGhl
IGRvY3VtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBl
cm1pc3Npb24gaXMgbm90IHNldC4iKTsgCisgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxl
dmVsLCAiQmxvY2tlZCBzY3JpcHQgZXhlY3V0aW9uIGluICciICsgbV9mcmFtZS0+ZG9jdW1lbnQo
KS0+dXJsKCkuc3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRoZSBkb2N1bWVudCdzIGZyYW1lIGlzIHNh
bmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAK
aW5kZXggYjA1NGNmMWNjNWYzMTQzNWEwNDY5NGQ0NTVkNDQyMzM1Mjk2MjcwNi4uMDJjODVmOGY3
YjRkZjY1ODAyY2NiMmViMDFkYjIzNDkzYTljMmEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5j
cHAKQEAgLTMyNiw3ICszMjYsNyBAQCBzdGF0aWMgdm9pZCBhZGRSZXNvbHV0aW9uV2FybmluZ01l
c3NhZ2VUb0NvbnNvbGUoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbgogCiAgICAgbWVz
c2FnZS5hcHBlbmQoc2VyaWFsaXplZEV4cHJlc3Npb24pOwogCi0gICAgZG9jdW1lbnQtPmFkZENv
bnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgbWVzc2Fn
ZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKENTU01lc3NhZ2VTb3VyY2UsIERl
YnVnTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogdm9pZCByZXBvcnRNZWRpYVF1ZXJ5V2Fy
bmluZ0lmTmVlZGVkKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgTWVkaWFRdWVyeVNldCogbWVk
aWFRdWVyeVNldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDJjNWRmNjczMmE1YzMwZGRj
OTIxNmUyOWNlMWEwMWMwNGRjZmZhMWUuLmMyZGY2NjI1NjBhZmJmN2FiYTg1NDU4NDk2N2I4NDQx
ZTczZDJmZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjg5MSw3ICsyODkxLDcgQEAg
dm9pZCBEb2N1bWVudDo6cHJvY2Vzc0h0dHBFcXVpdihjb25zdCBTdHJpbmcmIGVxdWl2LCBjb25z
dCBTdHJpbmcmIGNvbnRlbnQpCiAgICAgICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2UgPSAiUmVm
dXNlZCB0byBkaXNwbGF5ICciICsgdXJsKCkuc3RyaW5nKCkgKyAiJyBpbiBhIGZyYW1lIGJlY2F1
c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRvICciICsgY29udGVudCArICInLiI7CiAgICAg
ICAgICAgICAgICAgZnJhbWVMb2FkZXItPnN0b3BBbGxMb2FkZXJzKCk7CiAgICAgICAgICAgICAg
ICAgZnJhbWUtPm5hdmlnYXRpb25TY2hlZHVsZXIoKS0+c2NoZWR1bGVMb2NhdGlvbkNoYW5nZShz
ZWN1cml0eU9yaWdpbigpLCBibGFua1VSTCgpLCBTdHJpbmcoKSk7Ci0gICAgICAgICAgICAgICAg
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZSwgcmVxdWVzdElkZW50aWZpZXIpOworICAgICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNz
YWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHJl
cXVlc3RJZGVudGlmaWVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UoZXF1aXYsICJjb250ZW50LXNlY3VyaXR5LXBvbGljeSIpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDczZDgyZDFkYzFiM2FkNWRiZDgw
NGY1NGE4NjdlYjI1MDBkY2Q4YTguLjYxZTllZDU2YmU2YzViNGUyMDRkNWY0MGQ2ODQ3YzExZTE1
OWZlYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTI5NSw3ICsyOTUs
NyBAQCB2b2lkIFNjcmlwdEVsZW1lbnQ6OmV4ZWN1dGVTY3JpcHQoY29uc3QgU2NyaXB0U291cmNl
Q29kZSYgc291cmNlQ29kZSkKIAogI2lmIEVOQUJMRShOT1NOSUZGKQogICAgIGlmIChtX2lzRXh0
ZXJuYWxTY3JpcHQgJiYgbV9jYWNoZWRTY3JpcHQgJiYgIW1fY2FjaGVkU2NyaXB0LT5taW1lVHlw
ZUFsbG93ZWRCeU5vc25pZmYoKSkgewotICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJSZWZ1
c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIgKyBtX2NhY2hlZFNjcmlwdC0+dXJsKCkuc3Ry
aW5nKCkgKyAiJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1p
bWVUeXBlKCkgKyAiJykgaXMgbm90IGV4ZWN1dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNo
ZWNraW5nIGlzIGVuYWJsZWQuIik7CisgICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IlJlZnVzZWQgdG8gZXhlY3V0ZSBzY3JpcHQgZnJvbSAnIiArIG1fY2FjaGVkU2NyaXB0LT51cmwo
KS5zdHJpbmcoKSArICInIGJlY2F1c2UgaXRzIE1JTUUgdHlwZSAoJyIgKyBtX2NhY2hlZFNjcmlw
dC0+bWltZVR5cGUoKSArICInKSBpcyBub3QgZXhlY3V0YWJsZSwgYW5kIHN0cmljdCBNSU1FIHR5
cGUgY2hlY2tpbmcgaXMgZW5hYmxlZC4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRp
ZgpAQCAtMzUzLDcgKzM1Myw3IEBAIHZvaWQgU2NyaXB0RWxlbWVudDo6bm90aWZ5RmluaXNoZWQo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogCiAgICAgICAgIGRpc3BhdGNoRXJyb3JFdmVudCgp
OwogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChB
U0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiBzY3JpcHQgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3Jp
Z2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7Ci0gICAgICAgIG1fZWxlbWVudC0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IGNvbnNvbGVNZXNzYWdlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXggNDcwMzk3YTc3MzlmNjU3MDI1NDlmYWQy
YWY3NzM2ZGVlMzg4MWY3ZC4uM2QyNDJkNmMwNzQ3M2M1ODExNzkwY2UyYzNhNTg0MTRiYTI2ZDA4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCkBAIC00NDksNyAr
NDQ5LDcgQEAgdm9pZCByZXBvcnRWaWV3cG9ydFdhcm5pbmcoRG9jdW1lbnQqIGRvY3VtZW50LCBW
aWV3cG9ydEVycm9yQ29kZSBlcnJvckNvZGUsIGNvbnMKICAgICAgICAgbWVzc2FnZS5hcHBlbmQo
IiBOb3RlIHRoYXQgJzsnIGlzIG5vdCBhIHNlcGFyYXRvciBpbiB2aWV3cG9ydCB2YWx1ZXMuIFRo
ZSBsaXN0IHNob3VsZCBiZSBjb21tYS1zZXBhcmF0ZWQuIik7CiAKICAgICAvLyBGSVhNRTogVGhp
cyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9u
IHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3Rz
LgotICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgdmll
d3BvcnRFcnJvck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdlKTsKKyAgICBkb2N1bWVu
dC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwgdmlld3BvcnRFcnJv
ck1lc3NhZ2VMZXZlbChlcnJvckNvZGUpLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHAKaW5kZXggZGVhODRjMGU2ZGIxMTliZGFlNzkyMzU4YjBjMmMyZjdhN2FjYzc0Yi4uNzBhZjBi
YzVkMWRmZmEzZDRhNjg3ZWZhNDE3YzE1NTMwNmQ4MTkwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgc3Rh
dGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGVsZW1lbnQp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoZWxlbWVudC0+ZG9jdW1lbnQoKS0+aXNT
YW5kYm94ZWQoU2FuZGJveEF1dG9tYXRpY0ZlYXR1cmVzKSkgewogICAgICAgICAvLyBGSVhNRTog
VGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0
aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhp
c3RzLgotICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1M
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIGF1dG9mb2N1c2luZyBv
biBhIGZvcm0gY29udHJvbCBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFu
ZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAgICAg
ZWxlbWVudC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgYXV0b2ZvY3VzaW5nIG9uIGEgZm9ybSBj
b250cm9sIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxs
b3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogICAgIGlmIChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDk1M2ZlYzZlZDcwMmVhNzdiMTAyNzc2
NjBhZmNmYzFlZTgyNjgxN2QuLmRmMTk3NDRhNjIyY2Y4MTIyODE4NWQ0NTgzMTVhYzhkMDI0Njk1
YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI2MSw3ICsy
NjEsNyBAQCBib29sIEhUTUxGb3JtRWxlbWVudDo6dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KEV2ZW50
KiBldmVudCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIFN0cmluZyBt
ZXNzYWdlKCJBbiBpbnZhbGlkIGZvcm0gY29udHJvbCB3aXRoIG5hbWU9JyVuYW1lJyBpcyBub3Qg
Zm9jdXNhYmxlLiIpOwogICAgICAgICAgICAgbWVzc2FnZS5yZXBsYWNlKCIlbmFtZSIsIHVuaGFu
ZGxlZEFzc29jaWF0ZWRFbGVtZW50LT5uYW1lKCkpOwotICAgICAgICAgICAgZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBt
ZXNzYWdlKTsKKyAgICAgICAgICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogICAgICAgICB9CiAgICAg
fQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElGcmFtZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVu
dC5jcHAKaW5kZXggNTJlZTk4YWQwMGY3ZmYyNDkxNzVkOWEzODc2M2U2NjY3ZTdkNjZmMC4uNGIz
Nzg1OWVmYTNjZjdhNTNhZTkyZjllNzVmYjhhMjk2ZGNiNjA1MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBIVE1MSUZy
YW1lRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29u
c3QgQXRvbWljU3QKICAgICAgICAgU3RyaW5nIGludmFsaWRUb2tlbnM7CiAgICAgICAgIHNldFNh
bmRib3hGbGFncyh2YWx1ZS5pc051bGwoKSA/IFNhbmRib3hOb25lIDogU2VjdXJpdHlDb250ZXh0
OjpwYXJzZVNhbmRib3hQb2xpY3kodmFsdWUsIGludmFsaWRUb2tlbnMpKTsKICAgICAgICAgaWYg
KCFpbnZhbGlkVG9rZW5zLmlzTnVsbCgpKQotICAgICAgICAgICAgZG9jdW1lbnQoKS0+YWRkQ29u
c29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3Ig
d2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogIiArIGludmFsaWRUb2tlbnMp
OworICAgICAgICAgICAgZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yIHdoaWxlIHBhcnNpbmcgdGhlICdz
YW5kYm94JyBhdHRyaWJ1dGU6ICIgKyBpbnZhbGlkVG9rZW5zKTsKICAgICB9IGVsc2UgaWYgKG5h
bWUgPT0gc2VhbWxlc3NBdHRyKSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGFkZGluZyBvciByZW1v
dmluZyB0aGUgc2VhbWxlc3MgYXR0cmlidXRlLCB3ZSBuZWVkIHRvIGZvcmNlIHRoZSBjb250ZW50
IGRvY3VtZW50IHRvIHJlY2FsY3VsYXRlIGl0cyBTdHlsZVJlc29sdmVyLgogICAgICAgICBpZiAo
Y29udGVudERvY3VtZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAppbmRleCA0NDJjMTllNmI1MzczYWY2N2I1
NjFhZDJiY2JiMmEwMjA0ODNjZmVkLi5jMTQxMTBlNDI5YWFiNTQzZjA1NTgxNzQ3NzAyMTVjYzk0
ZmIzMDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKQEAgLTE4NjcsNyArMTg2Nyw3IEBAIFBhc3NSZWZQdHI8
SW1hZ2VEYXRhPiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmdldEltYWdlRGF0YShJbWFnZUJ1
ZmZlcjo6Q29vcmRpCiB7CiAgICAgaWYgKCFjYW52YXMoKS0+b3JpZ2luQ2xlYW4oKSkgewogICAg
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxp
dGVyYWwoIlVuYWJsZSB0byBnZXQgaW1hZ2UgZGF0YSBmcm9tIGNhbnZhcyBiZWNhdXNlIHRoZSBj
YW52YXMgaGFzIGJlZW4gdGFpbnRlZCBieSBjcm9zcy1vcmlnaW4gZGF0YS4iKSkpOwotICAgICAg
ICBjYW52YXMoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOworICAgICAgICBjYW52YXMoKS0+
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VS
UjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggM2Y1OThjMDY5OTgxYTRl
NzJmNjgwNzUyODBmYjU2OTg2MWMzNzRjYS4uZjliZTE1MmM1MjMzYmUzMDU2ZjBhMTQ1YWZiNTY5
ZGVmY2ZiY2ZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC01MzExLDcgKzUzMTEsNyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6cHJpbnRXYXJuaW5nVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjYW52YXMoKS0+ZG9jdW1lbnQoKTsKICAgICBp
ZiAoIWRvY3VtZW50KQogICAgICAgICByZXR1cm47Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsK
KyAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwg
V2FybmluZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIGJvb2wgV2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojp2YWxpZGF0ZUZyYW1lYnVmZmVyRnVuY1BhcmFtZXRlcnMoY29uc3QgY2hhciogZnVu
Y3Rpb25OYW1lLCBHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIGF0dGFjaG1lbnQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwCmluZGV4IGI2YjM0NmRlNGNlODVmYmVl
Mjg5ZTg0OTcxNzViZmIzYjVhZjMyYmEuLjEzN2JjZTFiZWY2MmVlYjhlY2Q0YmJiYzdjNjkyNjg3
NTg4NTNhZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwCkBA
IC0yNjAsNyArMjYwLDcgQEAgdm9pZCBYU1NBdWRpdG9yOjppbml0KERvY3VtZW50KiBkb2N1bWVu
dCkKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBpZiAoeHNzUHJvdGVjdGlvbkhl
YWRlciA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlZmxlY3RlZFhTU0ludmFsaWQpCi0gICAg
ICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkVycm9yIHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIg
KyBoZWFkZXJWYWx1ZSArICI6ICIgICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9z
aXRpb24gIiArIFN0cmluZzo6Zm9ybWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRl
ZmF1bHQgcHJvdGVjdGlvbnMgd2lsbCBiZSBhcHBsaWVkLiIpOworICAgICAgICAgICAgZG9jdW1l
bnQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJFcnJvciBwYXJzaW5nIGhlYWRlciBYLVhTUy1Qcm90ZWN0aW9uOiAiICsgaGVhZGVy
VmFsdWUgKyAiOiAiICArIGVycm9yRGV0YWlscyArICIgYXQgY2hhcmFjdGVyIHBvc2l0aW9uICIg
KyBTdHJpbmc6OmZvcm1hdCgiJXUiLCBlcnJvclBvc2l0aW9uKSArICIuIFRoZSBkZWZhdWx0IHBy
b3RlY3Rpb25zIHdpbGwgYmUgYXBwbGllZC4iKTsKIAogICAgICAgICBtX3hzc1Byb3RlY3Rpb24g
PSBjb21iaW5lWFNTUHJvdGVjdGlvbkhlYWRlckFuZENTUCh4c3NQcm90ZWN0aW9uSGVhZGVyLCBk
b2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPnJlZmxlY3RlZFhTU0Rpc3Bvc2l0aW9u
KCkpOwogICAgICAgICBtX3JlcG9ydFVSTCA9IHhzc1Byb3RlY3Rpb25SZXBvcnRVUkw7IC8vIEZJ
WE1FOiBDb21iaW5lIHRoZSB0d28gcmVwb3J0IFVSTHMgaW4gc29tZSByZWFzb25hYmxlIHdheS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3Bw
CmluZGV4IGIzYzMwZWU4YjlkZDkwZDUyYWE0MzkxMWZjOTRkZDQ0ZGM1YjlmMWQuLjZhZjBkMDY2
ZTU2NTcyZGVlMDI0ZWMxNjI3MjM2YWI0YmRiOTUzMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcApAQCAtNjAsNyArNjAsNyBAQCB2
b2lkIFhTU0F1ZGl0b3JEZWxlZ2F0ZTo6ZGlkQmxvY2tTY3JpcHQoY29uc3QgWFNTSW5mbyYgeHNz
SW5mbykKIAogICAgIC8vIEZJWE1FOiBDb25zaWRlciB1c2luZyBhIG1vcmUgaGVscGZ1bCBjb25z
b2xlIG1lc3NhZ2UuCiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNz
YWdlLCAoQVNDSUlMaXRlcmFsKCJSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBKYXZhU2NyaXB0IHNjcmlw
dC4gU291cmNlIGNvZGUgb2Ygc2NyaXB0IGZvdW5kIHdpdGhpbiByZXF1ZXN0LlxuIikpKTsKLSAg
ICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1l
c3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29uc29sZU1l
c3NhZ2UpOwogCiAgICAgaWYgKHhzc0luZm8ubV9kaWRCbG9ja0VudGlyZVBhZ2UpCiAgICAgICAg
IG1fZG9jdW1lbnQtPmZyYW1lKCktPmxvYWRlcigpLT5zdG9wQWxsTG9hZGVycygpOwpAQCAtODMs
NyArODMsNyBAQCB2b2lkIFhTU0F1ZGl0b3JEZWxlZ2F0ZTo6ZGlkQmxvY2tTY3JpcHQoY29uc3Qg
WFNTSW5mbyYgeHNzSW5mbykKICAgICB9CiAKICAgICBpZiAoeHNzSW5mby5tX2RpZEJsb2NrRW50
aXJlUGFnZSkgewotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBTdHJpbmcoIkVudGlyZSBwYWdlIHdpbGwgYmUg
YmxvY2tlZC4iKSk7CisgICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3Vy
aXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIFN0cmluZygiRW50aXJlIHBhZ2Ug
d2lsbCBiZSBibG9ja2VkLiIpKTsKICAgICAgICAgbV9kb2N1bWVudC0+ZnJhbWUoKS0+bmF2aWdh
dGlvblNjaGVkdWxlcigpLT5zY2hlZHVsZUxvY2F0aW9uQ2hhbmdlKG1fZG9jdW1lbnQtPnNlY3Vy
aXR5T3JpZ2luKCksIFN0cmluZygiZGF0YTp0ZXh0L2h0bWwsPHA+PC9wPiIpLCBibGFua1VSTCgp
KTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZU1lc3NhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNw
cAppbmRleCA1NGVkMzE2MDY4MGZmOWYyZjk2ZThmNjVjMTUxY2IyMDJmN2YwZDZiLi45OTY2MTJk
ZDRjY2ZjYjY4NTk3Y2FkYzZjYWRhODUxMmRiN2UyMmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKQEAgLTEzNywxMSArMTM3LDE0IEBAIHZvaWQgQ29u
c29sZU1lc3NhZ2U6OmF1dG9nZW5lcmF0ZU1ldGFkYXRhKGJvb2wgY2FuR2VuZXJhdGVDYWxsU3Rh
Y2ssIFNjcmlwdFN0YXRlCiBzdGF0aWMgVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpTb3VyY2U6OkVudW0gbWVzc2FnZVNvdXJjZVZhbHVlKE1lc3NhZ2VTb3VyY2Ugc291cmNl
KQogewogICAgIHN3aXRjaCAoc291cmNlKSB7Ci0gICAgY2FzZSBIVE1MTWVzc2FnZVNvdXJjZTog
cmV0dXJuIFR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpIdG1s
OwogICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJjZTogcmV0dXJuIFR5cGVCdWlsZGVyOjpDb25zb2xl
OjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpYbWw7CiAgICAgY2FzZSBKU01lc3NhZ2VTb3VyY2U6
IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6SmF2
YXNjcmlwdDsKICAgICBjYXNlIE5ldHdvcmtNZXNzYWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxk
ZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok5ldHdvcms7CiAgICAgY2FzZSBD
b25zb2xlQVBJTWVzc2FnZVNvdXJjZTogcmV0dXJuIFR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25z
b2xlTWVzc2FnZTo6U291cmNlOjpDb25zb2xlX2FwaTsKKyAgICBjYXNlIE9mZmxpbmVNZXNzYWdl
U291cmNlOiByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3Vy
Y2U6Ok9mZmxpbmU7CisgICAgY2FzZSBSZW5kZXJpbmdNZXNzYWdlU291cmNlOiByZXR1cm4gVHlw
ZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlJlbmRlcmluZzsKKyAg
ICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29u
c29sZU1lc3NhZ2U6OlNvdXJjZTo6Q3NzOworICAgIGNhc2UgU2VjdXJpdHlNZXNzYWdlU291cmNl
OiByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlNl
Y3VyaXR5OwogICAgIGNhc2UgT3RoZXJNZXNzYWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxkZXI6
OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok90aGVyOwogICAgIH0KICAgICByZXR1
cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Ok90aGVyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDNlZDMxMTc0YzNkMGE2
MTkwNmI2MWU2NDg5MGRmYTVhNDU0MTg3NWEuLjAxY2MxZjNiMTYyYWQ4NTNjNTJkNzIzZTUzMzJj
ZTQyYTliN2VlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAg
LTc2OCw4ICs3NjgsOCBAQAogICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAg
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbnNvbGUgbWVzc2FnZS4iLAogICAgICAgICAg
ICAgICAgICJwcm9wZXJ0aWVzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNv
dXJjZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJodG1sIiwgIndtbCIsICJ4bWwiLCAi
amF2YXNjcmlwdCIsICJuZXR3b3JrIiwgImNvbnNvbGUtYXBpIiwgIm90aGVyIl0sICJkZXNjcmlw
dGlvbiI6ICJNZXNzYWdlIHNvdXJjZS4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAibGV2ZWwiLCAidHlwZSI6ICJzdHJpbmciLCAiZW51bSI6IFsidGlwIiwgImxvZyIsICJ3YXJu
aW5nIiwgImVycm9yIiwgImRlYnVnIl0sICJkZXNjcmlwdGlvbiI6ICJNZXNzYWdlIHNldmVyaXR5
LiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2UiLCAidHlwZSI6ICJz
dHJpbmciLCAiZW51bSI6IFsieG1sIiwgImphdmFzY3JpcHQiLCAibmV0d29yayIsICJjb25zb2xl
LWFwaSIsICJvZmZsaW5lIiwgInJlbmRlcmluZyIsICJjc3MiLCAic2VjdXJpdHkiLCAib3RoZXIi
XSwgImRlc2NyaXB0aW9uIjogIk1lc3NhZ2Ugc291cmNlLiIgfSwKKyAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJsZXZlbCIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJsb2ciLCAi
d2FybmluZyIsICJlcnJvciIsICJkZWJ1ZyJdLCAiZGVzY3JpcHRpb24iOiAiTWVzc2FnZSBzZXZl
cml0eS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGV4dCIsICJ0eXBlIjog
InN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJNZXNzYWdlIHRleHQuIiB9LAogICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInR5cGUiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0
cnVlLCAiZW51bSI6IFsibG9nIiwgImRpciIsICJkaXJ4bWwiLCAidGFibGUiLCAidHJhY2UiLCAi
Y2xlYXIiLCAic3RhcnRHcm91cCIsICJzdGFydEdyb3VwQ29sbGFwc2VkIiwgImVuZEdyb3VwIiwg
ImFzc2VydCIsICJ0aW1pbmciLCAicHJvZmlsZSIsICJwcm9maWxlRW5kIl0sICJkZXNjcmlwdGlv
biI6ICJDb25zb2xlIG1lc3NhZ2UgdHlwZS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidXJsIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIlVSTCBvZiB0aGUgbWVzc2FnZSBvcmlnaW4uIiB9LApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKaW5kZXggYzc3MmM0NDQwNWYxOTljNGVlMmExMjgyNjYxMzNiOWQ1OTFk
MGM0Ni4uODE3NTJmMGVkOGIyODhlMzQ1MmRkMTlmOTMyNDYxYzZmYzA2OTg0YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0zMzcsNyArMzM3LDcgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6c3VibWl0Rm9ybShQYXNzUmVmUHRyPEZvcm1TdWJtaXNzaW9uPiBzdWJtaXNzaW9u
KQogCiAgICAgaWYgKGlzRG9jdW1lbnRTYW5kYm94ZWQobV9mcmFtZSwgU2FuZGJveEZvcm1zKSkg
ewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhl
IGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJC
bG9ja2VkIGZvcm0gc3VibWlzc2lvbiB0byAnIiArIHN1Ym1pc3Npb24tPmFjdGlvbigpLnN0cmlu
ZygpICsgIicgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdh
bGxvdy1mb3JtcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAgICBtX2ZyYW1lLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiQmxvY2tlZCBmb3JtIHN1Ym1pc3Npb24gdG8gJyIgKyBzdWJtaXNzaW9u
LT5hY3Rpb24oKS5zdHJpbmcoKSArICInIGJlY2F1c2UgdGhlIGZvcm0ncyBmcmFtZSBpcyBzYW5k
Ym94ZWQgYW5kIHRoZSAnYWxsb3ctZm9ybXMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTQwNyw3ICsxNDA3LDcgQEAgdm9pZCBGcmFtZUxv
YWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiB1
cmwpCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZnJhbWUtPmRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJOb3QgYWxsb3dlZCB0byBsb2FkIGxvY2FsIHJlc291cmNlOiAiICsgdXJsKTsKKyAgICBm
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6
ICIgKyB1cmwpOwogfQogCiBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIEZyYW1lTG9hZGVyOjppbml0
aWFsUmVxdWVzdCgpIGNvbnN0CkBAIC0zMzQzLDcgKzMzNDMsNyBAQCBGcmFtZSogY3JlYXRlV2lu
ZG93KEZyYW1lKiBvcGVuZXJGcmFtZSwgRnJhbWUqIGxvb2t1cEZyYW1lLCBjb25zdCBGcmFtZUxv
YWRSZXF1ZQogICAgIC8vIFNhbmRib3hlZCBmcmFtZXMgY2Fubm90IG9wZW4gbmV3IGF1eGlsaWFy
eSBicm93c2luZyBjb250ZXh0cy4KICAgICBpZiAoaXNEb2N1bWVudFNhbmRib3hlZChvcGVuZXJG
cmFtZSwgU2FuZGJveFBvcHVwcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBz
aG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAg
b3BlbmVyRnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgb3BlbmluZyAnIiArIHJlcXVlc3QucmVz
b3VyY2VSZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkgKyAiJyBpbiBhIG5ldyB3aW5kb3cgYmVjYXVz
ZSB0aGUgcmVxdWVzdCB3YXMgbWFkZSBpbiBhIHNhbmRib3hlZCBmcmFtZSB3aG9zZSAnYWxsb3ct
cG9wdXBzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIG9wZW5lckZyYW1lLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiQmxvY2tlZCBvcGVuaW5nICciICsgcmVxdWVzdC5yZXNvdXJjZVJlcXVl
c3QoKS51cmwoKS5zdHJpbmcoKSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRoZSByZXF1
ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1cHMnIHBl
cm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCA4MWExMjlkMjBiMDljMDQxOWQ4MzNl
ODhhZmRmZTk3ZmZhMjg4YTA2Li43NzMwM2I5ODBmOTRhZGI0MmY5NzZlZTU3ZjRlZTUzMDI0NmFj
NWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTI5NCw3ICsyOTQs
NyBAQCB2b2lkIEltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVz
b3VyY2UpCiAgICAgICAgIGVycm9yRXZlbnRTZW5kZXIoKS5kaXNwYXRjaEV2ZW50U29vbih0aGlz
KTsKIAogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2Us
IChBU0NJSUxpdGVyYWwoIkNyb3NzLW9yaWdpbiBpbWFnZSBsb2FkIGRlbmllZCBieSBDcm9zcy1P
cmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKLSAgICAgICAgbV9lbGVtZW50LT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgY29uc29sZU1lc3NhZ2UpOwogCiAgICAgICAgIEFTU0VSVCghbV9oYXNQZW5kaW5nTG9hZEV2
ZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApp
bmRleCBkMTc5ZTE4NjQxNmUwZTgzMGYwODEwMTIyM2ZmYWJlMzBkZGViYWQ0Li40MTFlMzM5Nzcy
ZWM4OGI3MTBkOTljOGJiN2Q0MGRhMmJiZDEwNTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApAQCAtNDA5LDcgKzQwOSw3IEBAIHZvaWQgTWFpblJl
c291cmNlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwg
Y29uc3QgUmVzb3VyCiAgICAgICAgIGlmIChmcmFtZUxvYWRlcigpLT5zaG91bGRJbnRlcnJ1cHRM
b2FkRm9yWEZyYW1lT3B0aW9ucyhjb250ZW50LCByLnVybCgpLCBpZGVudGlmaWVyKCkpKSB7CiAg
ICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlQWZ0ZXJYRnJhbWVP
cHRpb25zRGVuaWVkKG1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCksIGRvY3VtZW50TG9hZGVyKCks
IGlkZW50aWZpZXIoKSwgcik7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJSZWZ1c2Vk
IHRvIGRpc3BsYXkgJyIgKyByLnVybCgpLnN0cmluZygpICsgIicgaW4gYSBmcmFtZSBiZWNhdXNl
IGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnIiArIGNvbnRlbnQgKyAiJy4iOwotICAgICAg
ICAgICAgbV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgaWRlbnRp
ZmllcigpKTsKKyAgICAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPmZyYW1lKCktPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsIG1lc3NhZ2UsIGlkZW50aWZpZXIoKSk7CiAKICAgICAgICAgICAgIGNhbmNlbCgpOwog
ICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01p
eGVkQ29udGVudENoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVu
dENoZWNrZXIuY3BwCmluZGV4IGI4YzI5M2RjYjNiMzgwYzM5ZDVjZjQxODdkNTI1YjE5YmViMmI0
MmIuLjA3OTYwNGNhODY2MmY0OTVkZmQ4NzlmYjU2NGJhYTVhYzhmYTMxOGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKQEAgLTEwMiw3ICsxMDIs
NyBAQCB2b2lkIE1peGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcoYm9vbCBhbGxvd2VkLCBj
b25zdCBTdHJpbmcmIGFjdGlvbiwgY29uc3QgSwogICAgIC8vIEZJWE1FOiBXaHkgZG9lcyB0aGlz
IG1lc3NhZ2Ugbm90IGhhdmUgYSBzb3VyY2UgVVJMIG9yIGEgbGluZSBudW1iZXI/IHdlYmtpdC5v
cmcvYi85Nzk3OQogICAgIFN0cmluZyBtZXNzYWdlID0gU3RyaW5nOjpmb3JtYXQoIiVzVGhlIHBh
Z2UgYXQgJXMgJXMgaW5zZWN1cmUgY29udGVudCBmcm9tICVzLlxuIiwKICAgICAgICAgKGFsbG93
ZWQgPyAiIiA6ICJbYmxvY2tlZF0gIiksIGFzVVRGOChtX2ZyYW1lLT5kb2N1bWVudCgpLT51cmwo
KSkuZGF0YSgpLCBhY3Rpb24udXRmOCgpLmRhdGEoKSwgYXNVVEY4KHRhcmdldCkuZGF0YSgpKTsK
LSAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNv
dXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbV9mcmFtZS0+ZG9jdW1l
bnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVz
c2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAppbmRleCAwYmE2MzZiOGU4NTQyNTYz
YTcxMjZkY2FkMWM3YjQ0Nzg5MTFjNTk2Li4yNmJjOGNiMWRiOWJkYTQ3NTBkOTQzZTlmN2FmNGNl
ZWVmZmJiZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApA
QCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpjb3JzUG9saWN5UHJldmVu
dGVkTG9hZCgpCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGNvbnNvbGVNZXNz
YWdlLCAoQVNDSUlMaXRlcmFsKCJDcm9zcy1vcmlnaW4gdGV4dCB0cmFjayBsb2FkIGRlbmllZCBi
eSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kuIikpKTsKICAgICBEb2N1bWVu
dCogZG9jdW1lbnQgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk7Ci0gICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICBkb2N1bWVudC0+YWRkQ29u
c29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgY29u
c29sZU1lc3NhZ2UpOwogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAK
aW5kZXggYjZjYjJkZGRhNDE1MTY0ODJiNmU3NGRiNzI0MDQzMTk5NmY4MDZlZi4uOTQ0ZDk4NjVi
MGMyMWEyNDk4MjgxYjBjYjNkOWM4YzUyYzk5ODEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKQEAgLTQ3
NCw3ICs0NzQsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6YWJvcnQoRnJhbWUqIGZy
YW1lKQogICAgIGlmIChtX2NvbXBsZXRpb25UeXBlICE9IE5vbmUpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VT
b3VyY2UsIERlYnVnTWVzc2FnZUxldmVsLCAiQXBwbGljYXRpb24gQ2FjaGUgZG93bmxvYWQgcHJv
Y2VzcyB3YXMgYWJvcnRlZC4iKTsKKyAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoTmV0d29ya01lc3NhZ2VTb3VyY2UsIERlYnVnTWVzc2FnZUxldmVsLCAiQXBwbGljYXRp
b24gQ2FjaGUgZG93bmxvYWQgcHJvY2VzcyB3YXMgYWJvcnRlZC4iKTsKICAgICBjYWNoZVVwZGF0
ZUZhaWxlZCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBjNTFmYjdiMWE2MzFmZDFjYmI3YzQyZDZiMTZm
OTFhMTIxMTQ2ZTJiLi5mMjg3YTQxZGZkOTljYzg0ZGViNTg3NzczZTk2YTRjMjZhZmY1MTFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAKQEAgLTY2Miw3ICs2NjIsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpw
cmludEFjY2Vzc0RlbmllZE1lc3NhZ2UoY29uc3QgS1VSTCYgdXJsKSBjb25zdAogICAgIGVsc2UK
ICAgICAgICAgbWVzc2FnZSA9ICJVbnNhZmUgYXR0ZW1wdCB0byBsb2FkIFVSTCAiICsgdXJsLnN0
cmluZygpICsgIiBmcm9tIGZyYW1lIHdpdGggVVJMICIgKyBtX2RvY3VtZW50LT51cmwoKS5zdHJp
bmcoKSArICIuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC5cbiI7CiAK
LSAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKKyAgICBmcmFtZSgpLT5kb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6c2V0QXV0
b0xvYWRJbWFnZXMoYm9vbCBlbmFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnNvbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAppbmRleCBmMzk4
YzI1MmNkNWY2MTJjN2MzNzQ0ZWYwZjhmNjg1ZWJmN2Y5MmU0Li4zY2I0YzJiNmUyMmQ0OGFiOGIy
OTk5MjQzYzA4NzgwNDhjZjI3N2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnNvbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKQEAgLTg4LDkg
Kzg4LDYgQEAgc3RhdGljIHZvaWQgcHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVz
c2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbAogewogICAgIGNvbnN0IGNoYXIqIHNvdXJj
ZVN0cmluZzsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2UgSFRNTE1lc3NhZ2VTb3Vy
Y2U6Ci0gICAgICAgIHNvdXJjZVN0cmluZyA9ICJIVE1MIjsKLSAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBYTUxNZXNzYWdlU291cmNlOgogICAgICAgICBzb3VyY2VTdHJpbmcgPSAiWE1MIjsKICAg
ICAgICAgYnJlYWs7CkBAIC0xMDMsNiArMTAwLDE4IEBAIHN0YXRpYyB2b2lkIHByaW50TWVzc2Fn
ZVNvdXJjZUFuZExldmVsUHJlZml4KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwK
ICAgICBjYXNlIENvbnNvbGVBUElNZXNzYWdlU291cmNlOgogICAgICAgICBzb3VyY2VTdHJpbmcg
PSAiQ09OU09MRUFQSSI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgT2ZmbGluZU1lc3NhZ2VT
b3VyY2U6CisgICAgICAgIHNvdXJjZVN0cmluZyA9ICJPRkZMSU5FIjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBSZW5kZXJpbmdNZXNzYWdlU291cmNlOgorICAgICAgICBzb3VyY2VTdHJpbmcg
PSAiUkVOREVSSU5HIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NNZXNzYWdlU291cmNl
OgorICAgICAgICBzb3VyY2VTdHJpbmcgPSAiQ1NTIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6CisgICAgICAgIHNvdXJjZVN0cmluZyA9ICJTRUNVUklU
WSI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgT3RoZXJNZXNzYWdlU291cmNlOgogICAgICAg
ICBzb3VyY2VTdHJpbmcgPSAiT1RIRVIiOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnNvbGVUeXBlcy5oCmluZGV4IDgxMGRhMWZiNjBmOWMxMTk0YmJhNWIwZTVlZTU5M2RhYTBlODcx
OGIuLjNlNzlhMTdkMTFkMmFlYWE3NTA2ZjY2N2RjN2QwZWViODI1NjRmNDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Db25zb2xlVHlwZXMuaApAQCAtMjksMTEgKzI5LDE0IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGVudW0gTWVzc2FnZVNvdXJjZSB7Ci0gICAgSFRNTE1lc3NhZ2VTb3VyY2UsCiAgICAg
WE1MTWVzc2FnZVNvdXJjZSwKICAgICBKU01lc3NhZ2VTb3VyY2UsCiAgICAgTmV0d29ya01lc3Nh
Z2VTb3VyY2UsCiAgICAgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2UsCisgICAgT2ZmbGluZU1lc3Nh
Z2VTb3VyY2UsCisgICAgUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwKKyAgICBDU1NNZXNzYWdlU291
cmNlLAorICAgIFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwKICAgICBPdGhlck1lc3NhZ2VTb3VyY2Us
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBv
bGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAK
aW5kZXggYzQ3ZmM2YzgxZDM0NzUzY2FmNGM1NmQ1NGUyYjkwYThhOGNiODU3YS4uOGU2ZTdmOGU1
NmMxZGZhNGVhMDFkMmNmYTU5MmRjYjUwZWEzYzkwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMTgwNiw3ICsxODA2LDcgQEAgdm9pZCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydEludmFsaWRTb3VyY2VFeHByZXNzaW9uKGNvbnN0
IFN0cmluZyYgZGlyZWN0aXYKIAogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmxvZ1RvQ29u
c29sZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29u
c3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgU2NyaXB0U3RhdGUqIHN0YXRlKSBj
b25zdAogewotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgY29udGV4dFVSTCwg
Y29udGV4dExpbmUub25lQmFzZWRJbnQoKSwgc3RhdGUpOworICAgIG1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUub25lQmFzZWRJbnQo
KSwgc3RhdGUpOwogfQogCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0QmxvY2tl
ZFNjcmlwdEV4ZWN1dGlvblRvSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCAzZjI2YjExNDdmMTU2YzliNTM0
OTExNjQwNDY1Y2MyOGU2M2Q3MDc2Li44Y2IxMTdlMzYxZDQ3MjkwZDI5NTBmZWNmNTY5NDZkYzBh
ZDk4NTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC04ODMsNyArODgzLDcgQEAg
dm9pZCBET01XaW5kb3c6OmRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKFNlY3Vy
aXR5T3JpZ2luKiBpbnRlbmRlZFRhcmcKICAgICAgICAgaWYgKCFpbnRlbmRlZFRhcmdldE9yaWdp
bi0+aXNTYW1lU2NoZW1lSG9zdFBvcnQoZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsK
ICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlVuYWJsZSB0byBwb3N0IG1lc3NhZ2UgdG8g
IiArIGludGVuZGVkVGFyZ2V0T3JpZ2luLT50b1N0cmluZygpICsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIi4gUmVjaXBpZW50IGhhcyBvcmlnaW4gIiArIGRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCktPnRvU3RyaW5nKCkgKyAiLlxuIjsKLSAgICAgICAgICAgIGNvbnNvbGUoKS0+
YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBz
dGFja1RyYWNlKTsKKyAgICAgICAgICAgIGNvbnNvbGUoKS0+YWRkTWVzc2FnZShTZWN1cml0eU1l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBzdGFja1RyYWNlKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcAppbmRleCBkNjUyZTRmODdjYWY0Zjg2OWQ2YmZm
MDIzMjhmNDI5OGQ0ZTYzYzAwLi5lMWM4YjMwMjhjZWI0ZWIzODExMTQ2ODMwZWU1MTRlYTY5Mzc5
NDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3Bw
CkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9p
bnRlckxvY2soRWxlbWVudCogdGFyZ2V0KQogCiAgICAgaWYgKHRhcmdldC0+ZG9jdW1lbnQoKS0+
aXNTYW5kYm94ZWQoU2FuZGJveFBvaW50ZXJMb2NrKSkgewogICAgICAgICAvLyBGSVhNRTogVGhp
cyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9u
IHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3Rz
LgotICAgICAgICB0YXJnZXQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIHBvaW50ZXIgbG9jayBvbiBhbiBl
bGVtZW50IGJlY2F1c2UgdGhlIGVsZW1lbnQncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAn
YWxsb3ctcG9pbnRlci1sb2NrJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIHRh
cmdldC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9uIGFuIGVsZW1lbnQg
YmVjYXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1w
b2ludGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgZW5xdWV1ZUV2
ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRwb2ludGVybG9ja2Vycm9yRXZlbnQsIHRhcmdldCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RG9jdW1lbnRFeHRlbnNpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4
dGVuc2lvbnMuY3BwCmluZGV4IGYxMGU3MjkzYWRmMTJmMDgzY2E3YzEwNTM4NjQ0YzVmZTFiZGQ3
MDguLmQ2OWRlOWQ4YjkxOTIzYmE5MDRiMjhjZTU5NjIyZjI0MzZjMGYyYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCkBAIC0xMzUsNyArMTM1LDcg
QEAgdm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmRpc3BhdGNoU1ZHTG9hZEV2ZW50VG9PdXRl
cm1vc3RTVkdFbGVtZW50cygpCiBzdGF0aWMgdm9pZCByZXBvcnRNZXNzYWdlKERvY3VtZW50KiBk
b2N1bWVudCwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAg
ICAgaWYgKGRvY3VtZW50LT5mcmFtZSgpKQotICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBsZXZlbCwgbWVzc2FnZSk7CisgICAgICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBsZXZlbCwgbWVzc2Fn
ZSk7CiB9CiAKIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZXBvcnRXYXJuaW5nKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBhMzA5NWU2MWMxYTM2MzkwMTA2ZDZmOGU5NGJk
NDNiN2YxNWI0YjcxLi5kNjU5ZjRlNzMxNWIzOWEwZDY0ZDkwNWM4NTI5NTRiYWYzZjI4OGJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCkBAIC05MCwxMSArOTAsMTQgQEAKICNpbXBvcnQgIk5ldHNjYXBlUGx1Z2luSG9zdE1h
bmFnZXIuaCIKICNlbmRpZgogCi1OU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2Fn
ZVNvdXJjZSA9IEAiSFRNTE1lc3NhZ2VTb3VyY2UiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNz
YWdlWE1MTWVzc2FnZVNvdXJjZSA9IEAiWE1MTWVzc2FnZVNvdXJjZSI7CiBOU1N0cmluZyAqV2Vi
Q29uc29sZU1lc3NhZ2VKU01lc3NhZ2VTb3VyY2UgPSBAIkpTTWVzc2FnZVNvdXJjZSI7CiBOU1N0
cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VOZXR3b3JrTWVzc2FnZVNvdXJjZSA9IEAiTmV0d29ya01l
c3NhZ2VTb3VyY2UiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQ29uc29sZUFQSU1lc3Nh
Z2VTb3VyY2UgPSBAIkNvbnNvbGVBUElNZXNzYWdlU291cmNlIjsKK05TU3RyaW5nICpXZWJDb25z
b2xlTWVzc2FnZU9mZmxpbmVNZXNzYWdlU291cmNlID0gQCJPZmZsaW5lTWVzc2FnZVNvdXJjZSI7
CitOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VSZW5kZXJpbmdNZXNzYWdlU291cmNlID0gQCJS
ZW5kZXJpbmdNZXNzYWdlU291cmNlIjsKK05TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNTU01l
c3NhZ2VTb3VyY2UgPSBAIkNTU01lc3NhZ2VTb3VyY2UiOworTlNTdHJpbmcgKldlYkNvbnNvbGVN
ZXNzYWdlU2VjdXJpdHlNZXNzYWdlU291cmNlID0gQCJTZWN1cml0eU1lc3NhZ2VTb3VyY2UiOwog
TlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlT3RoZXJNZXNzYWdlU291cmNlID0gQCJPdGhlck1l
c3NhZ2VTb3VyY2UiOwogCiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VEZWJ1Z01lc3NhZ2VM
ZXZlbCA9IEAiRGVidWdNZXNzYWdlTGV2ZWwiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IGNjMDM0NjM1OGExMTAwYTRlZGFkNjI4
MzI5ZjdmZTEzZjQ4MjBlMjYuLjM1MmRlOWEwY2RjZmU5NjRlNzcwMTVkNTE5YzBlZmI0NDA5ZmM2
NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVBy
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2
YXRlLmgKQEAgLTEwNCwxMSArMTA0LDE0IEBAIGVudW0gewogfTsKIAogLy8gTWVzc2FnZSBTb3Vy
Y2VzLgotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUhUTUxNZXNzYWdlU291cmNl
OwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVhNTE1lc3NhZ2VTb3VyY2U7CiBl
eHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlSlNNZXNzYWdlU291cmNlOwogZXh0ZXJu
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU5ldHdvcmtNZXNzYWdlU291cmNlOwogZXh0ZXJu
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNzYWdlU291cmNlOworZXh0
ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU9mZmxpbmVNZXNzYWdlU291cmNlOworZXh0
ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVJlbmRlcmluZ01lc3NhZ2VTb3VyY2U7Citl
eHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQ1NTTWVzc2FnZVNvdXJjZTsKK2V4dGVy
biBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VTZWN1cml0eU1lc3NhZ2VTb3VyY2U7CiBleHRl
cm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlT3RoZXJNZXNzYWdlU291cmNlOwogCiAvLyBN
ZXNzYWdlIExldmVscy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191500</attachid>
            <date>2013-03-05 08:15:55 -0800</date>
            <delta_ts>2013-03-05 08:45:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110968-20130305201201.patch</filename>
            <type>text/plain</type>
            <size>40089</size>
            <attacher name="Dmitry Zvorygin">zvorygin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjBhYjljZGU5MzlmZDlk
NmI0ZDMyOGM3OWY3MjEwZTliOTQ1NzdhMC4uNDZmNDQ4NDFhZTUwMzdiZjdkNTQxNjlmM2NmOWFl
YjhkMWViZmQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc4IEBACisyMDEzLTAyLTI3ICBEbWl0
cnkgWnZvcnlnaW4gIDx6dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNl
IG5ldyBtZXNzYWdlIHNvdXJjZXMgZm9yIGxvZ2dpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5NjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIFJl
bmRlcmluZ01lc3NhZ2VTb3VyY2UsIFN0b3JhZ2VNZXNzYWdlU291cmNlLCBBcHBDYWNoZU1lc3Nh
Z2VTb3VyY2UsIENTU01lc3NhZ2VTb3VyY2UuCisgICAgICAgIENoYW5nZWQgc29tZSBsb2dnaW5n
IGxpbmVzIHRvIGNvbnRhaW4gbW9yZSBkZXNjcmlwdGl2ZSBtZXNzYWdlIHNvdXJjZS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2VCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQmFzZTo6bG9n
RXJyb3JNZXNzYWdlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVz
c2FnZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZmFpbCk6CisgICAgICAgICog
YmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMpOgorICAgICAgICAqIGNzcy9NZWRpYUxp
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkUmVzb2x1dGlvbldhcm5pbmdNZXNzYWdlVG9D
b25zb2xlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OmV4ZWN1dGVTY3JpcHQpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6bm90aWZ5RmluaXNoZWQpOgorICAgICAg
ICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRW
aWV3cG9ydFdhcm5pbmcpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBdXRvZm9jdXMpOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6
dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRh
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnByaW50V2FybmluZ1RvQ29uc29sZSk6CisgICAgICAgICogaHRtbC9wYXJzZXIvWFNTQXVkaXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRpdG9yOjppbml0KToKKyAgICAgICAgKiBo
dG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNT
QXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1lc3NhZ2VTb3VyY2VWYWx1ZSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3VibWl0Rm9y
bSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgICogbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpub3RpZnlGaW5p
c2hlZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQpOgorICAgICAg
ICAqIGxvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1p
eGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcpOgorICAgICAgICAqIGxvYWRlci9UZXh0VHJh
Y2tMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpjb3JzUG9s
aWN5UHJldmVudGVkTG9hZCk6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmFib3J0KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVu
aWVkTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9Db25zb2xlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KToKKyAgICAgICAgKiBwYWdlL0Nv
bnNvbGVUeXBlcy5oOgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6bG9nVG9Db25zb2xlKToK
KyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5k
b3c6OmRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKToKKyAgICAgICAgKiBwYWdl
L1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyTG9j
a0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayk6CisgICAgICAgICogc3ZnL1NWR0RvY3Vt
ZW50RXh0ZW5zaW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRNZXNzYWdlKToKKwog
MjAxMy0wMy0wNSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgIkxpdmUgbmF0aXZlIG1lbW9yeSBjaGFydCIgZXhw
ZXJpbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDk1N2U0ZDgxM2NlY2VhNTVhZDNiMzI1YjhkY2Fk
OWJhZTdlMjg0MTUuLmNlN2MyMzE1NWZlYzhiNDQ2ZDFhM2JmY2QwOTA0OGJiZjVjOGVmYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMi0yNyAgRG1pdHJ5IFp2b3J5
Z2luICA8enZvcnlnaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBuZXcgbWVz
c2FnZSBzb3VyY2VzIGZvciBsb2dnaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06Cisg
ICAgICAgICogV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oOgorCiAyMDEzLTAzLTA0ICBE
YXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgQlVJTEQgRklYIChy
MTQ0NjYyKTogSW1wb3J0IEpTQmFzZS5oIGluIFdlYkZyYW1lTG9hZERlbGVnYXRlLmgKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcApp
bmRleCBmMzcxMTFiZDU0ZTMwNmI0YzZlMzNiMWZhMWM3OGZhMWE4MDk2YmQ0Li5hZjIzNzdhNzM3
MjU2OWNmNmI5OGIxZmRmNzU4N2E3MTU5NGJjMWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhc2UuY3BwCkBAIC00Niw3ICs0Niw3IEBA
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIERhdGFiYXNlQmFzZTo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0CiAKIHZvaWQgRGF0YWJhc2VCYXNlOjpsb2dFcnJvck1lc3NhZ2UoY29uc3Qg
U3RyaW5nJiBtZXNzYWdlKQogewotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29u
c29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2Fn
ZSk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShTdG9y
YWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAKaW5kZXggMzRlZGEyYTkxNTQ4ZWE5YjUxMDdj
MTQ2MDdkZGYwYjE1NmE5ZTVmMy4uODc4ZjhiNzFhODY5MjhjMWQ3ZjRjYWI2NzZkYmM5OTgyOTFl
ZDlkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2VNYW5hZ2VyLmNwcApAQCAtNDMwLDcgKzQzMCw3IEBAIHZvaWQgRGF0YWJhc2VNYW5h
Z2VyOjppbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvCiAKIHZvaWQgRGF0YWJhc2VNYW5hZ2VyOjpsb2dFcnJvck1lc3NhZ2UoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIGNv
bnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsIG1lc3NhZ2UpOworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKFN0b3JhZ2VN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCAyYzE0MGIxZTI0ZTQ5MzM1MGFhMGY2Mjgx
MTRjYzAxNzU5OTYxNWRjLi41YjQ1ZTFhNDFmODFjZTllMjY4YzZjNGM1NWQ4OTkyNDI5ZDY3MWRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldENoYW5uZWwuY3BwCkBAIC0xOTUsNyArMTk1LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpmYWlsKGNvbnN0IFN0cmluZyYgcmVhc29uKQogICAgIEFTU0VSVCghbV9zdXNwZW5kZWQpOwog
ICAgIGlmIChtX2RvY3VtZW50KSB7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IobV9kb2N1bWVudCwgbV9pZGVudGlmaWVyLCBy
ZWFzb24pOwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8gJyIgKyBt
X2hhbmRzaGFrZS0+dXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBmYWlsZWQ6ICIgKyByZWFzb24p
OworICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShOZXR3b3JrTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgY29ubmVjdGlvbiB0byAnIiArIG1f
aGFuZHNoYWtlLT51cmwoKS5lbGlkZWRTdHJpbmcoKSArICInIGZhaWxlZDogIiArIHJlYXNvbik7
CiAgICAgfQogCiAgICAgLy8gSHliaS0xMCBzcGVjaWZpY2F0aW9uIGV4cGxpY2l0bHkgc3RhdGVz
IHdlIG11c3Qgbm90IGNvbnRpbnVlIHRvIGhhbmRsZSBpbmNvbWluZyBkYXRhCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAKaW5kZXggNTM1MTM1
ODc2OWVmZGNkM2Q1ZDljZGY1NDYxNTExNDBlY2ZkMDQ0Ny4uZTNjZjhiZjU4NWU0ZTBiNWQ5ZWU2
ODBlODJjYmJlMTU0NzY1YTQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
U2NyaXB0Q29udHJvbGxlckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL1Nj
cmlwdENvbnRyb2xsZXJCYXNlLmNwcApAQCAtNDIsNyArNDIsNyBAQCBib29sIFNjcmlwdENvbnRy
b2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzKFJlYXNvbkZvckNhbGxpbmdDYW5FeGVjdXRlU2NyaXB0
cyByZWFzbwogICAgIGlmIChtX2ZyYW1lLT5kb2N1bWVudCgpICYmIG1fZnJhbWUtPmRvY3VtZW50
KCktPmlzU2FuZGJveGVkKFNhbmRib3hTY3JpcHRzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhp
cyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9u
IHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3Rz
LgogICAgICAgICBpZiAocmVhc29uID09IEFib3V0VG9FeGVjdXRlU2NyaXB0KQotICAgICAgICAg
ICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBzY3JpcHQgZXhlY3V0aW9uIGluICciICsg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRo
ZSBkb2N1bWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBw
ZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7IAorICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIkJsb2NrZWQgc2NyaXB0IGV4ZWN1dGlvbiBpbiAnIiArIG1fZnJhbWUtPmRvY3VtZW50
KCktPnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgYmVjYXVzZSB0aGUgZG9jdW1lbnQncyBmcmFt
ZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qg
c2V0LiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxp
c3QuY3BwCmluZGV4IGIwNTRjZjFjYzVmMzE0MzVhMDQ2OTRkNDU1ZDQ0MjMzNTI5NjI3MDYuLjAy
Yzg1ZjhmN2I0ZGY2NTgwMmNjYjJlYjAxZGIyMzQ5M2E5YzJhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YUxpc3QuY3BwCkBAIC0zMjYsNyArMzI2LDcgQEAgc3RhdGljIHZvaWQgYWRkUmVzb2x1dGlvbldh
cm5pbmdNZXNzYWdlVG9Db25zb2xlKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW4KIAog
ICAgIG1lc3NhZ2UuYXBwZW5kKHNlcmlhbGl6ZWRFeHByZXNzaW9uKTsKIAotICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgRGVidWdNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShDU1NNZXNzYWdlU291
cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgcmVwb3J0TWVkaWFR
dWVyeVdhcm5pbmdJZk5lZWRlZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IE1lZGlhUXVlcnlT
ZXQqIG1lZGlhUXVlcnlTZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5YThiNzhlMWE5
ODE0NDg4MWQ2OWYwOTNmYjk1MDU2ZmY5NDMwM2Y3Li4wYTdlY2Y2ZjE2ZmM3MGVjOTZhOWIzYjRl
OTgyYTJkYzUwN2YzNTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTI4NzQsNyArMjg3
NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYoY29uc3QgU3RyaW5nJiBlcXVp
diwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdl
ID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiArIHVybCgpLmVsaWRlZFN0cmluZygpICsgIicgaW4g
YSBmcmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnIiArIGNvbnRlbnQg
KyAiJy4iOwogICAgICAgICAgICAgICAgIGZyYW1lTG9hZGVyLT5zdG9wQWxsTG9hZGVycygpOwog
ICAgICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCktPnNjaGVkdWxlTG9j
YXRpb25DaGFuZ2Uoc2VjdXJpdHlPcmlnaW4oKSwgYmxhbmtVUkwoKSwgU3RyaW5nKCkpOwotICAg
ICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICBh
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGVxdWl2LCAiY29udGVudC1zZWN1cml0
eS1wb2xpY3kiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCBmZGJlM2Zj
NTg3YzMyY2I1OTQ4NzYxMmYwNjNlYjc0MTg5NWFmODVhLi40YjJmNmMyMzdlYzA3OGYzZmViMGFh
MDc5YmQyNDBhYTlkMmYxODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBA
IC0yOTYsNyArMjk2LDcgQEAgdm9pZCBTY3JpcHRFbGVtZW50OjpleGVjdXRlU2NyaXB0KGNvbnN0
IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCiAKICNpZiBFTkFCTEUoTk9TTklGRikKICAg
ICBpZiAobV9pc0V4dGVybmFsU2NyaXB0ICYmIG1fY2FjaGVkU2NyaXB0ICYmICFtX2NhY2hlZFNj
cmlwdC0+bWltZVR5cGVBbGxvd2VkQnlOb3NuaWZmKCkpIHsKLSAgICAgICAgbV9lbGVtZW50LT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiUmVmdXNlZCB0byBleGVjdXRlIHNjcmlwdCBmcm9tICciICsgbV9jYWNoZWRTY3Jp
cHQtPnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgYmVjYXVzZSBpdHMgTUlNRSB0eXBlICgnIiAr
IG1fY2FjaGVkU2NyaXB0LT5taW1lVHlwZSgpICsgIicpIGlzIG5vdCBleGVjdXRhYmxlLCBhbmQg
c3RyaWN0IE1JTUUgdHlwZSBjaGVja2luZyBpcyBlbmFibGVkLiIpOworICAgICAgICBtX2VsZW1l
bnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJSZWZ1c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIgKyBt
X2NhY2hlZFNjcmlwdC0+dXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBiZWNhdXNlIGl0cyBNSU1F
IHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlKCkgKyAiJykgaXMgbm90IGV4ZWN1
dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNraW5nIGlzIGVuYWJsZWQuIik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuY3BwCmluZGV4IDQ3MDM5N2E3NzM5ZjY1NzAyNTQ5ZmFkMmFmNzczNmRlZTM4ODFmN2Qu
LjNkMjQyZDZjMDc0NzNjNTgxMTc5MGNlMmMzYTU4NDE0YmEyNmQwOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApAQCAtNDQ5LDcgKzQ0OSw3IEBAIHZvaWQgcmVw
b3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1bWVudCwgVmlld3BvcnRFcnJvckNvZGUg
ZXJyb3JDb2RlLCBjb25zCiAgICAgICAgIG1lc3NhZ2UuYXBwZW5kKCIgTm90ZSB0aGF0ICc7JyBp
cyBub3QgYSBzZXBhcmF0b3IgaW4gdmlld3BvcnQgdmFsdWVzLiBUaGUgbGlzdCBzaG91bGQgYmUg
Y29tbWEtc2VwYXJhdGVkLiIpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQg
YmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICBkb2N1bWVudC0+
YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIHZpZXdwb3J0RXJyb3JNZXNzYWdl
TGV2ZWwoZXJyb3JDb2RlKSwgbWVzc2FnZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKFJlbmRlcmluZ01lc3NhZ2VTb3VyY2UsIHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoZXJy
b3JDb2RlKSwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IGRlYTg0YzBl
NmRiMTE5YmRhZTc5MjM1OGIwYzJjMmY3YTdhY2M3NGIuLjcwYWYwYmM1ZDFkZmZhM2Q0YTY4N2Vm
YTQxN2MxNTUzMDZkODE5MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNv
bnRyb2xFbGVtZW50LmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHN0YXRpYyBib29sIHNob3VsZEF1
dG9mb2N1cyhIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgaWYgKGVsZW1lbnQtPmRvY3VtZW50KCktPmlzU2FuZGJveGVkKFNhbmRib3hB
dXRvbWF0aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91
bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgZWxl
bWVudC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wg
YmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3Jp
cHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJCbG9ja2VkIGF1dG9mb2N1c2luZyBvbiBhIGZvcm0gY29udHJvbCBiZWNhdXNlIHRo
ZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1p
c3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBp
ZiAoZWxlbWVudC0+aGFzQXV0b2ZvY3VzZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcAppbmRleCA5NTNmZWM2ZWQ3MDJlYTc3YjEwMjc3NjYwYWZjZmMxZWU4MjY4MTdk
Li5jZWIxMmQxYjI4YWE2OTlkMjIwODVjNjE3YTYxNDViZWY5NThhNzQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0yNjEsNyArMjYxLDcgQEAgYm9vbCBIVE1M
Rm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVseShFdmVudCogZXZlbnQpCiAgICAgICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSgiQW4gaW52YWxp
ZCBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lPSclbmFtZScgaXMgbm90IGZvY3VzYWJsZS4iKTsKICAg
ICAgICAgICAgIG1lc3NhZ2UucmVwbGFjZSgiJW5hbWUiLCB1bmhhbmRsZWRBc3NvY2lhdGVkRWxl
bWVudC0+bmFtZSgpKTsKLSAgICAgICAgICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KEhUTUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgICAg
ICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0
dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAppbmRl
eCA1MmVlOThhZDAwZjdmZjI0OTE3NWQ5YTM4NzYzZTY2NjdlN2Q2NmYwLi40ZDg2NDhiZDBhYjc4
MTEyN2E3MzE3NDM3NzA0ZDQ3ZTdkZTM2OWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
RnJhbWVFbGVtZW50LmNwcApAQCAtOTAsNyArOTAsNyBAQCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNT
dAogICAgICAgICBTdHJpbmcgaW52YWxpZFRva2VuczsKICAgICAgICAgc2V0U2FuZGJveEZsYWdz
KHZhbHVlLmlzTnVsbCgpID8gU2FuZGJveE5vbmUgOiBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2Fu
ZGJveFBvbGljeSh2YWx1ZSwgaW52YWxpZFRva2VucykpOwogICAgICAgICBpZiAoIWludmFsaWRU
b2tlbnMuaXNOdWxsKCkpCi0gICAgICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShIVE1MTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciB3aGlsZSBwYXJz
aW5nIHRoZSAnc2FuZGJveCcgYXR0cmlidXRlOiAiICsgaW52YWxpZFRva2Vucyk7CisgICAgICAg
ICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJp
YnV0ZTogIiArIGludmFsaWRUb2tlbnMpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBzZWFtbGVz
c0F0dHIpIHsKICAgICAgICAgLy8gSWYgd2UncmUgYWRkaW5nIG9yIHJlbW92aW5nIHRoZSBzZWFt
bGVzcyBhdHRyaWJ1dGUsIHdlIG5lZWQgdG8gZm9yY2UgdGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8g
cmVjYWxjdWxhdGUgaXRzIFN0eWxlUmVzb2x2ZXIuCiAgICAgICAgIGlmIChjb250ZW50RG9jdW1l
bnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDQ0MmMxOWU2YjUzNzNhZjY3YjU2MWFkMmJjYmIyYTAy
MDQ4M2NmZWQuLmMxNDExMGU0MjlhYWI1NDNmMDU1ODE3NDc3MDIxNWNjOTRmYjMwMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcApAQCAtMTg2Nyw3ICsxODY3LDcgQEAgUGFzc1JlZlB0cjxJbWFnZURhdGE+IENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRhKEltYWdlQnVmZmVyOjpDb29yZGkK
IHsKICAgICBpZiAoIWNhbnZhcygpLT5vcmlnaW5DbGVhbigpKSB7CiAgICAgICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiVW5hYmxl
IHRvIGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVl
biB0YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRhLiIpKSk7Ci0gICAgICAgIGNhbnZhcygpLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBjb25zb2xlTWVzc2FnZSk7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA1YmVmNzBkMmM2NWMzODVlYWU3ZGQyNzY5YTZh
YjI2MDY1MjM0ZWI1Li5jYmZiZDM3MjZlZWY1ZjViODM0ODVmNjBjZmIwYzFiYTI5NDg0MzYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAKQEAgLTU0ODMsNyArNTQ4Myw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpwcmludFdhcm5pbmdUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIERvY3Vt
ZW50KiBkb2N1bWVudCA9IGNhbnZhcygpLT5kb2N1bWVudCgpOwogICAgIGlmICghZG9jdW1lbnQp
CiAgICAgICAgIHJldHVybjsKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1l
c3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2Fn
ZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlk
YXRlRnJhbWVidWZmZXJGdW5jUGFyYW1ldGVycyhjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdD
M0RlbnVtIHRhcmdldCwgR0MzRGVudW0gYXR0YWNobWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvWFNTQXVkaXRvci5jcHAKaW5kZXggZTYxZmM0Njk5YWYyNTIzOGFlYzAwM2RlNzJkMTcx
MDA1ZDExZjk0MS4uMWEwMjY0NDQ2ZDM3ODE2MTQwYWYwMjExNTIxMjNjZjFkZWFhMjIzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKQEAgLTI4OSw3ICsyODks
NyBAQCB2b2lkIFhTU0F1ZGl0b3I6OmluaXQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICh4c3NQcm90ZWN0aW9uSGVhZGVyID09IENvbnRl
bnRTZWN1cml0eVBvbGljeTo6UmVmbGVjdGVkWFNTSW52YWxpZCkKLSAgICAgICAgICAgIGRvY3Vt
ZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVl
ICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3Ry
aW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0
aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CisgICAgICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29s
ZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9y
IHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIgKyBoZWFkZXJWYWx1ZSArICI6ICIg
ICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9zaXRpb24gIiArIFN0cmluZzo6Zm9y
bWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRlZmF1bHQgcHJvdGVjdGlvbnMgd2ls
bCBiZSBhcHBsaWVkLiIpOwogCiAgICAgICAgIG1feHNzUHJvdGVjdGlvbiA9IGNvbWJpbmVYU1NQ
cm90ZWN0aW9uSGVhZGVyQW5kQ1NQKHhzc1Byb3RlY3Rpb25IZWFkZXIsIGRvY3VtZW50LT5jb250
ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVmbGVjdGVkWFNTRGlzcG9zaXRpb24oKSk7CiAgICAgICAg
IG1fcmVwb3J0VVJMID0geHNzUHJvdGVjdGlvblJlcG9ydFVSTDsgLy8gRklYTUU6IENvbWJpbmUg
dGhlIHR3byByZXBvcnQgVVJMcyBpbiBzb21lIHJlYXNvbmFibGUgd2F5LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKaW5kZXggMWFjMTI4
OGFiZDIzYmE5MmQzZmExOGI1MmU1YTYxNzM2N2VhOTgxNC4uNGEwZmUzZGQ0MmNkMjYxMzUwYzA2
ZWIwNTE3NjI3ZTU0YTlmN2UzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwCkBAIC02MSw3ICs2MSw3IEBAIHZvaWQgWFNTQXVkaXRv
ckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdChjb25zdCBYU1NJbmZvJiB4c3NJbmZvKQogCiAgICAg
Ly8gRklYTUU6IENvbnNpZGVyIHVzaW5nIGEgbW9yZSBoZWxwZnVsIGNvbnNvbGUgbWVzc2FnZS4K
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxp
dGVyYWwoIlJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29k
ZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3QuXG4iKSkpOwotICAgIG1fZG9jdW1lbnQt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNv
bnNvbGVNZXNzYWdlKTsKKyAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0
eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAg
ICBpZiAoeHNzSW5mby5tX2RpZEJsb2NrRW50aXJlUGFnZSkKICAgICAgICAgbV9kb2N1bWVudC0+
ZnJhbWUoKS0+bG9hZGVyKCktPnN0b3BBbGxMb2FkZXJzKCk7CkBAIC04NCw3ICs4NCw3IEBAIHZv
aWQgWFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdChjb25zdCBYU1NJbmZvJiB4c3NJ
bmZvKQogICAgIH0KIAogICAgIGlmICh4c3NJbmZvLm1fZGlkQmxvY2tFbnRpcmVQYWdlKSB7Ci0g
ICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIFN0cmluZygiRW50aXJlIHBhZ2Ugd2lsbCBiZSBibG9ja2VkLiIpKTsK
KyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgU3RyaW5nKCJFbnRpcmUgcGFnZSB3aWxsIGJlIGJsb2Nr
ZWQuIikpOwogICAgICAgICBtX2RvY3VtZW50LT5mcmFtZSgpLT5uYXZpZ2F0aW9uU2NoZWR1bGVy
KCktPnNjaGVkdWxlTG9jYXRpb25DaGFuZ2UobV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSwg
U3RyaW5nKCJkYXRhOnRleHQvaHRtbCw8cD48L3A+IiksIGJsYW5rVVJMKCkpOwogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCmluZGV4IDU0ZWQz
MTYwNjgwZmY5ZjJmOTZlOGY2NWMxNTFjYjIwMmY3ZjBkNmIuLmNmZDYzMjEzZmIwMjgwMDk5M2Zh
OTA0ZTIzOGVhODBjMjY4YTk1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmNwcApAQCAtMTM3LDExICsxMzcsMTUgQEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6
YXV0b2dlbmVyYXRlTWV0YWRhdGEoYm9vbCBjYW5HZW5lcmF0ZUNhbGxTdGFjaywgU2NyaXB0U3Rh
dGUKIHN0YXRpYyBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6
RW51bSBtZXNzYWdlU291cmNlVmFsdWUoTWVzc2FnZVNvdXJjZSBzb3VyY2UpCiB7CiAgICAgc3dp
dGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIEhUTUxNZXNzYWdlU291cmNlOiByZXR1cm4gVHlwZUJ1
aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Okh0bWw7CiAgICAgY2FzZSBY
TUxNZXNzYWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpTb3VyY2U6OlhtbDsKICAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZTogcmV0dXJuIFR5cGVC
dWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpKYXZhc2NyaXB0OwogICAg
IGNhc2UgTmV0d29ya01lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6TmV0d29yazsKICAgICBjYXNlIENvbnNvbGVBUElNZXNz
YWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpT
b3VyY2U6OkNvbnNvbGVfYXBpOworICAgIGNhc2UgU3RvcmFnZU1lc3NhZ2VTb3VyY2U6IHJldHVy
biBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U3RvcmFnZTsK
KyAgICBjYXNlIEFwcENhY2hlTWVzc2FnZVNvdXJjZTogcmV0dXJuIFR5cGVCdWlsZGVyOjpDb25z
b2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpBcHBjYWNoZTsKKyAgICBjYXNlIFJlbmRlcmlu
Z01lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlNvdXJjZTo6UmVuZGVyaW5nOworICAgIGNhc2UgQ1NTTWVzc2FnZVNvdXJjZTogcmV0dXJu
IFR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpDc3M7CisgICAg
Y2FzZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U2VjdXJpdHk7CiAgICAgY2FzZSBPdGhlck1lc3NhZ2VT
b3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJj
ZTo6T3RoZXI7CiAgICAgfQogICAgIHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29s
ZU1lc3NhZ2U6OlNvdXJjZTo6T3RoZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Lmpzb24KaW5kZXggZmJlMzBiMjc0NmUzYWFkOGNmMzIzZTk0ODZkODgwYzM5NzQ1NzY1My4uZjJk
NzQzZjlkNWIzZjk5NTEyNmI0Mjc5NjVjM2JhZTViODRhYTg1MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtNzY4LDggKzc2OCw4IEBACiAgICAgICAgICAgICAg
ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29u
c29sZSBtZXNzYWdlLiIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAic291cmNlIiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0i
OiBbImh0bWwiLCAid21sIiwgInhtbCIsICJqYXZhc2NyaXB0IiwgIm5ldHdvcmsiLCAiY29uc29s
ZS1hcGkiLCAib3RoZXIiXSwgImRlc2NyaXB0aW9uIjogIk1lc3NhZ2Ugc291cmNlLiIgfSwKLSAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsZXZlbCIsICJ0eXBlIjogInN0cmluZyIsICJl
bnVtIjogWyJ0aXAiLCAibG9nIiwgIndhcm5pbmciLCAiZXJyb3IiLCAiZGVidWciXSwgImRlc2Ny
aXB0aW9uIjogIk1lc3NhZ2Ugc2V2ZXJpdHkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInNvdXJjZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJ4bWwiLCAiamF2YXNj
cmlwdCIsICJuZXR3b3JrIiwgImNvbnNvbGUtYXBpIiwgInN0b3JhZ2UiLCAiYXBwY2FjaGUiLCAi
cmVuZGVyaW5nIiwgImNzcyIsICJzZWN1cml0eSIsICJvdGhlciJdLCAiZGVzY3JpcHRpb24iOiAi
TWVzc2FnZSBzb3VyY2UuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxldmVs
IiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0iOiBbImxvZyIsICJ3YXJuaW5nIiwgImVycm9yIiwg
ImRlYnVnIl0sICJkZXNjcmlwdGlvbiI6ICJNZXNzYWdlIHNldmVyaXR5LiIgfSwKICAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJ0ZXh0IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0
aW9uIjogIk1lc3NhZ2UgdGV4dC4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dHlwZSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJlbnVtIjogWyJsb2ci
LCAiZGlyIiwgImRpcnhtbCIsICJ0YWJsZSIsICJ0cmFjZSIsICJjbGVhciIsICJzdGFydEdyb3Vw
IiwgInN0YXJ0R3JvdXBDb2xsYXBzZWQiLCAiZW5kR3JvdXAiLCAiYXNzZXJ0IiwgInRpbWluZyIs
ICJwcm9maWxlIiwgInByb2ZpbGVFbmQiXSwgImRlc2NyaXB0aW9uIjogIkNvbnNvbGUgbWVzc2Fn
ZSB0eXBlLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ1cmwiLCAidHlwZSI6
ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVVJMIG9mIHRoZSBt
ZXNzYWdlIG9yaWdpbi4iIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRl
eCBiZTQ3MWQ0NWM0OWM5OGU3OGU4NDNkMmQ0NDVkOGMzZWExYmIxMmJjLi5kZWUyOGYwMWNjM2Y1
ZGRiODM3OWY5NGQyODdhMGE4ZTZmMDlhMDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKQEAgLTMzNiw3ICszMzYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzdWJtaXRGb3Jt
KFBhc3NSZWZQdHI8Rm9ybVN1Ym1pc3Npb24+IHN1Ym1pc3Npb24pCiAKICAgICBpZiAoaXNEb2N1
bWVudFNhbmRib3hlZChtX2ZyYW1lLCBTYW5kYm94Rm9ybXMpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29s
dXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBl
eGlzdHMuCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhU
TUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgZm9ybSBzdWJtaXNz
aW9uIHRvICciICsgc3VibWlzc2lvbi0+YWN0aW9uKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBiZWNh
dXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LWZvcm1zJyBw
ZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJCbG9ja2VkIGZvcm0gc3VibWlzc2lvbiB0byAnIiArIHN1Ym1pc3Npb24tPmFjdGlvbigpLmVs
aWRlZFN0cmluZygpICsgIicgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBh
bmQgdGhlICdhbGxvdy1mb3JtcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCkBAIC0xNDEwLDcgKzE0MTAsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpy
ZXBvcnRMb2NhbExvYWRGYWlsZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVybCkKICAg
ICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk5v
dCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwpOworICAgIGZyYW1lLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiTm90IGFsbG93ZWQgdG8gbG9hZCBsb2NhbCByZXNvdXJjZTogIiArIHVy
bCk7CiB9CiAKIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgRnJhbWVMb2FkZXI6OmluaXRpYWxSZXF1
ZXN0KCkgY29uc3QKQEAgLTMzNDYsNyArMzM0Niw3IEBAIEZyYW1lKiBjcmVhdGVXaW5kb3coRnJh
bWUqIG9wZW5lckZyYW1lLCBGcmFtZSogbG9va3VwRnJhbWUsIGNvbnN0IEZyYW1lTG9hZFJlcXVl
CiAgICAgLy8gU2FuZGJveGVkIGZyYW1lcyBjYW5ub3Qgb3BlbiBuZXcgYXV4aWxpYXJ5IGJyb3dz
aW5nIGNvbnRleHRzLgogICAgIGlmIChpc0RvY3VtZW50U2FuZGJveGVkKG9wZW5lckZyYW1lLCBT
YW5kYm94UG9wdXBzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBi
ZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICBvcGVuZXJG
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBvcGVuaW5nICciICsgcmVxdWVzdC5yZXNvdXJjZVJl
cXVlc3QoKS51cmwoKS5lbGlkZWRTdHJpbmcoKSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNl
IHRoZSByZXF1ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1w
b3B1cHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgb3BlbmVyRnJhbWUtPmRv
Y3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJCbG9ja2VkIG9wZW5pbmcgJyIgKyByZXF1ZXN0LnJlc291cmNlUmVxdWVz
dCgpLnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgaW4gYSBuZXcgd2luZG93IGJlY2F1c2UgdGhl
IHJlcXVlc3Qgd2FzIG1hZGUgaW4gYSBzYW5kYm94ZWQgZnJhbWUgd2hvc2UgJ2FsbG93LXBvcHVw
cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDgxYTEyOWQyMGIwOWMwNDE5
ZDgzM2U4OGFmZGZlOTdmZmEyODhhMDYuLjc3MzAzYjk4MGY5NGFkYjQyZjk3NmVlNTdmNGVlNTMw
MjQ2YWM1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtMjk0LDcg
KzI5NCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSkKICAgICAgICAgZXJyb3JFdmVudFNlbmRlcigpLmRpc3BhdGNoRXZlbnRTb29u
KHRoaXMpOwogCiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVz
c2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIGltYWdlIGxvYWQgZGVuaWVkIGJ5IENy
b3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iKSkpOwotICAgICAgICBtX2VsZW1l
bnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICAgICAgQVNTRVJUKCFtX2hhc1BlbmRpbmdM
b2FkRXZlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IDM3MjJhYTk0NTdmZjY3M2JiOWM1NTdjZjg2NjcwMTFjOWM5NTYwOWYuLmZhZTRl
MDI2MDM3ZWNkMjdkOGQ3ZGEyZThjMDQ3NTQzMjJmZmM2ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00MTEsNyArNDExLDcgQEAgdm9pZCBN
YWluUmVzb3VyY2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlLCBjb25zdCBSZXNvdXIKICAgICAgICAgaWYgKGZyYW1lTG9hZGVyKCktPnNob3VsZEludGVy
cnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnRlbnQsIHIudXJsKCksIGlkZW50aWZpZXIoKSkp
IHsKICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclhG
cmFtZU9wdGlvbnNEZW5pZWQobV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKSwgZG9jdW1lbnRMb2Fk
ZXIoKSwgaWRlbnRpZmllcigpLCByKTsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJl
ZnVzZWQgdG8gZGlzcGxheSAnIiArIHIudXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBpbiBhIGZy
YW1lIGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRvICciICsgY29udGVudCArICIn
LiI7Ci0gICAgICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5mcmFtZSgpLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNz
YWdlLCBpZGVudGlmaWVyKCkpOworICAgICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+ZnJhbWUo
KS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgaWRlbnRpZmllcigpKTsKIAogICAgICAgICAgICAg
Y2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKaW5kZXggNDc1MTQxMmQ0ODU0MDlkYjM1M2M2NzY4MjEz
YjVhYjQ0YWNlOTEzYi4uZTNlZmY3NTRkODY3ZThiMzc3ZmVlMTcwMjllYzlkZGU5ZTUxMjYzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcApAQCAt
OTYsNyArOTYsNyBAQCBib29sIE1peGVkQ29udGVudENoZWNrZXI6OmNhblJ1bkluc2VjdXJlQ29u
dGVudChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sCiB2b2lkIE1peGVkQ29udGVudENo
ZWNrZXI6OmxvZ1dhcm5pbmcoYm9vbCBhbGxvd2VkLCBjb25zdCBTdHJpbmcmIGFjdGlvbiwgY29u
c3QgS1VSTCYgdGFyZ2V0KSBjb25zdAogewogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmlu
ZygoYWxsb3dlZCA/ICIiIDogIltibG9ja2VkXSAiKSwgIlRoZSBwYWdlIGF0ICIsIG1fZnJhbWUt
PmRvY3VtZW50KCktPnVybCgpLmVsaWRlZFN0cmluZygpLCAiICIsIGFjdGlvbiwgIiBpbnNlY3Vy
ZSBjb250ZW50IGZyb20gIiwgdGFyZ2V0LmVsaWRlZFN0cmluZygpLCAiLlxuIik7Ci0gICAgbV9m
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIFdh
cm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZl
bCwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKaW5kZXggMGJhNjM2YjhlODU0MjU2M2E3MTI2ZGNh
ZDFjN2I0NDc4OTExYzU5Ni4uMjZiYzhjYjFkYjliZGE0NzUwZDk0M2U5ZjdhZjRjZWVlZmZiYmVm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKQEAgLTExOCw3
ICsxMTgsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6Y29yc1BvbGljeVByZXZlbnRlZExvYWQo
KQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFT
Q0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIHRleHQgdHJhY2sgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7CiAgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwot
ICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNz
YWdlKTsKICAgICBtX3N0YXRlID0gRmFpbGVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IGY2
YTdkMjQzZTgwZmY3NjAxMWEyNTg5ZDRjY2YyY2FmMTQxOWI2YjUuLjQzYzgxNTVhZjIxNmZkMWFl
Yjc0ODQyNzMyMTM0MjZjYWFhYzRjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC00NzUsNyArNDc1
LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmFib3J0KEZyYW1lKiBmcmFtZSkKICAg
ICBpZiAobV9jb21wbGV0aW9uVHlwZSAhPSBOb25lKQogICAgICAgICByZXR1cm47CiAKLSAgICBm
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBE
ZWJ1Z01lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIGRvd25sb2FkIHByb2Nlc3Mgd2Fz
IGFib3J0ZWQuIik7CisgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE5l
dHdvcmtNZXNzYWdlU291cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hl
IGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIik7CiAgICAgY2FjaGVVcGRhdGVGYWlsZWQo
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggMzU2MGU5MjI4MGVkYjc4YzI4Zjc0NTIwMzBiNzE3Y2Y0NWNj
Yjc3Ny4uNGI0Njk5YmQ2NzIwOWZmOTdhZDlhNjk3MzZmZDAzMDdkOTVjMWYzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC02NjIsNyArNjYyLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJpbnRBY2Nl
c3NEZW5pZWRNZXNzYWdlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKICAgICBlbHNlCiAgICAgICAg
IG1lc3NhZ2UgPSAiVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgIiArIHVybC5lbGlkZWRTdHJp
bmcoKSArICIgZnJvbSBmcmFtZSB3aXRoIFVSTCAiICsgbV9kb2N1bWVudC0+dXJsKCkuZWxpZGVk
U3RyaW5nKCkgKyAiLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guXG4i
OwogCi0gICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgZnJhbWUoKS0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNl
dEF1dG9Mb2FkSW1hZ2VzKGJvb2wgZW5hYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db25zb2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKaW5kZXgg
ZjM5OGMyNTJjZDVmNjEyYzdjMzc0NGVmMGY4ZjY4NWViZjdmOTJlNC4uYjBkYzI3N2IxYjBjNTNh
MWU1NmU4OWM0NWRkZTk3MzFhYzc3NWQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db25zb2xlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCkBAIC04
OCw5ICs4OCw2IEBAIHN0YXRpYyB2b2lkIHByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwKIHsKICAgICBjb25zdCBjaGFyKiBz
b3VyY2VTdHJpbmc7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIEhUTUxNZXNzYWdl
U291cmNlOgotICAgICAgICBzb3VyY2VTdHJpbmcgPSAiSFRNTCI7Ci0gICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJjZToKICAgICAgICAgc291cmNlU3RyaW5nID0gIlhNTCI7
CiAgICAgICAgIGJyZWFrOwpAQCAtMTAzLDYgKzEwMCwyMSBAQCBzdGF0aWMgdm9pZCBwcmludE1l
c3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxl
dmVsCiAgICAgY2FzZSBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZToKICAgICAgICAgc291cmNlU3Ry
aW5nID0gIkNPTlNPTEVBUEkiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFN0b3JhZ2VNZXNz
YWdlU291cmNlOgorICAgICAgICBzb3VyY2VTdHJpbmcgPSAiT0ZGTElORSI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQXBwQ2FjaGVNZXNzYWdlU291cmNlOgorICAgICAgICBzb3VyY2VTdHJp
bmcgPSAiT0ZGTElORSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUmVuZGVyaW5nTWVzc2Fn
ZVNvdXJjZToKKyAgICAgICAgc291cmNlU3RyaW5nID0gIlJFTkRFUklORyI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQ1NTTWVzc2FnZVNvdXJjZToKKyAgICAgICAgc291cmNlU3RyaW5nID0g
IkNTUyI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VjdXJpdHlNZXNzYWdlU291cmNlOgor
ICAgICAgICBzb3VyY2VTdHJpbmcgPSAiU0VDVVJJVFkiOworICAgICAgICBicmVhazsKICAgICBj
YXNlIE90aGVyTWVzc2FnZVNvdXJjZToKICAgICAgICAgc291cmNlU3RyaW5nID0gIk9USEVSIjsK
ICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVU
eXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaAppbmRleCA4MTBkYTFm
YjYwZjljMTE5NGJiYTViMGU1ZWU1OTNkYWEwZTg3MThiLi44MDRhMTY3Y2M5NWI3ZmZjODQ1ZjQz
NTc3NmJlMGUwNWYzMTVlNGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNv
bGVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKQEAgLTI5
LDExICsyOSwxNSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIE1lc3NhZ2VTb3VyY2Ug
ewotICAgIEhUTUxNZXNzYWdlU291cmNlLAogICAgIFhNTE1lc3NhZ2VTb3VyY2UsCiAgICAgSlNN
ZXNzYWdlU291cmNlLAogICAgIE5ldHdvcmtNZXNzYWdlU291cmNlLAogICAgIENvbnNvbGVBUElN
ZXNzYWdlU291cmNlLAorICAgIFN0b3JhZ2VNZXNzYWdlU291cmNlLAorICAgIEFwcENhY2hlTWVz
c2FnZVNvdXJjZSwKKyAgICBSZW5kZXJpbmdNZXNzYWdlU291cmNlLAorICAgIENTU01lc3NhZ2VT
b3VyY2UsCisgICAgU2VjdXJpdHlNZXNzYWdlU291cmNlLAogICAgIE90aGVyTWVzc2FnZVNvdXJj
ZSwKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5
UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNw
cAppbmRleCAzOWM5MTdiMDI2YzM4OTE1NTNmOTUxNTYyZjUyYWFmZjE4ZjdlMjM2Li42OGM0NDFi
NGIyMjMzZTdmZjY0NTY2NzU1MjQ4YWIyYTVhZmJhZmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBAIC0xODE1LDcgKzE4MTUsNyBAQCB2b2lk
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0TWlzc2luZ1JlcG9ydFVSSShjb25zdCBTdHJp
bmcmIHBvbGljeSkgY29uc3QKIAogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmxvZ1RvQ29u
c29sZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29u
c3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgU2NyaXB0U3RhdGUqIHN0YXRlKSBj
b25zdAogewotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2Uo
SlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgY29udGV4dFVSTCwg
Y29udGV4dExpbmUub25lQmFzZWRJbnQoKSwgc3RhdGUpOworICAgIG1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUub25lQmFzZWRJbnQo
KSwgc3RhdGUpOwogfQogCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0QmxvY2tl
ZFNjcmlwdEV4ZWN1dGlvblRvSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBlOGUwMTFkZjM4NGFjMWQzODI0
MzkwNmRlNmQ3MWUzZGJhOTZiN2ZkLi5mZmZkY2FmYmFlNDdmM2RmMGViYmEyY2MzMWZmMGI1YzA0
YWU5YjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC04ODQsNyArODg0LDcgQEAg
dm9pZCBET01XaW5kb3c6OmRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKFNlY3Vy
aXR5T3JpZ2luKiBpbnRlbmRlZFRhcmcKICAgICAgICAgaWYgKCFpbnRlbmRlZFRhcmdldE9yaWdp
bi0+aXNTYW1lU2NoZW1lSG9zdFBvcnQoZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsK
ICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlVuYWJsZSB0byBwb3N0IG1lc3NhZ2UgdG8g
IiArIGludGVuZGVkVGFyZ2V0T3JpZ2luLT50b1N0cmluZygpICsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIi4gUmVjaXBpZW50IGhhcyBvcmlnaW4gIiArIGRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCktPnRvU3RyaW5nKCkgKyAiLlxuIjsKLSAgICAgICAgICAgIGNvbnNvbGUoKS0+
YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBz
dGFja1RyYWNlKTsKKyAgICAgICAgICAgIGNvbnNvbGUoKS0+YWRkTWVzc2FnZShTZWN1cml0eU1l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBzdGFja1RyYWNlKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNwcAppbmRleCAyYzFlZmI2Y2RlZmUwZGVjMWQyNzRi
ODBkMmZhM2M4ODBhODU5ZjgyLi42M2Y5NjViMjUwNjQxY2UzMzZkODJjYjg2MDcxZjIwZDkzYWRi
NTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3Bw
CkBAIC01Niw3ICs1Niw3IEBAIHZvaWQgUG9pbnRlckxvY2tDb250cm9sbGVyOjpyZXF1ZXN0UG9p
bnRlckxvY2soRWxlbWVudCogdGFyZ2V0KQogCiAgICAgaWYgKHRhcmdldC0+ZG9jdW1lbnQoKS0+
aXNTYW5kYm94ZWQoU2FuZGJveFBvaW50ZXJMb2NrKSkgewogICAgICAgICAvLyBGSVhNRTogVGhp
cyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9u
IHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3Rz
LgotICAgICAgICB0YXJnZXQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2Fn
ZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIHBvaW50ZXIgbG9jayBvbiBhbiBl
bGVtZW50IGJlY2F1c2UgdGhlIGVsZW1lbnQncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAn
YWxsb3ctcG9pbnRlci1sb2NrJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIHRh
cmdldC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgcG9pbnRlciBsb2NrIG9uIGFuIGVsZW1lbnQg
YmVjYXVzZSB0aGUgZWxlbWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1w
b2ludGVyLWxvY2snIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgZW5xdWV1ZUV2
ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRwb2ludGVybG9ja2Vycm9yRXZlbnQsIHRhcmdldCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RG9jdW1lbnRFeHRlbnNpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4
dGVuc2lvbnMuY3BwCmluZGV4IGYxMGU3MjkzYWRmMTJmMDgzY2E3YzEwNTM4NjQ0YzVmZTFiZGQ3
MDguLmQ2OWRlOWQ4YjkxOTIzYmE5MDRiMjhjZTU5NjIyZjI0MzZjMGYyYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCkBAIC0xMzUsNyArMTM1LDcg
QEAgdm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmRpc3BhdGNoU1ZHTG9hZEV2ZW50VG9PdXRl
cm1vc3RTVkdFbGVtZW50cygpCiBzdGF0aWMgdm9pZCByZXBvcnRNZXNzYWdlKERvY3VtZW50KiBk
b2N1bWVudCwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAg
ICAgaWYgKGRvY3VtZW50LT5mcmFtZSgpKQotICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBsZXZlbCwgbWVzc2FnZSk7CisgICAgICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBsZXZlbCwgbWVzc2Fn
ZSk7CiB9CiAKIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpyZXBvcnRXYXJuaW5nKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBhMzA5NWU2MWMxYTM2MzkwMTA2ZDZmOGU5NGJk
NDNiN2YxNWI0YjcxLi43ZmVhYjJmMzczMjdhNWQ0MGIzZjUwM2NiOTJjYjMyNzE3OTFlZmMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCkBAIC05MCwxMSArOTAsMTUgQEAKICNpbXBvcnQgIk5ldHNjYXBlUGx1Z2luSG9zdE1h
bmFnZXIuaCIKICNlbmRpZgogCi1OU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2Fn
ZVNvdXJjZSA9IEAiSFRNTE1lc3NhZ2VTb3VyY2UiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNz
YWdlWE1MTWVzc2FnZVNvdXJjZSA9IEAiWE1MTWVzc2FnZVNvdXJjZSI7CiBOU1N0cmluZyAqV2Vi
Q29uc29sZU1lc3NhZ2VKU01lc3NhZ2VTb3VyY2UgPSBAIkpTTWVzc2FnZVNvdXJjZSI7CiBOU1N0
cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VOZXR3b3JrTWVzc2FnZVNvdXJjZSA9IEAiTmV0d29ya01l
c3NhZ2VTb3VyY2UiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQ29uc29sZUFQSU1lc3Nh
Z2VTb3VyY2UgPSBAIkNvbnNvbGVBUElNZXNzYWdlU291cmNlIjsKK05TU3RyaW5nICpXZWJDb25z
b2xlTWVzc2FnZVN0b3JhZ2VNZXNzYWdlU291cmNlID0gQCJTdG9yYWdlTWVzc2FnZVNvdXJjZSI7
CitOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VBcHBDYWNoZU1lc3NhZ2VTb3VyY2UgPSBAIkFw
cENhY2hlTWVzc2FnZVNvdXJjZSI7CitOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VSZW5kZXJp
bmdNZXNzYWdlU291cmNlID0gQCJSZW5kZXJpbmdNZXNzYWdlU291cmNlIjsKK05TU3RyaW5nICpX
ZWJDb25zb2xlTWVzc2FnZUNTU01lc3NhZ2VTb3VyY2UgPSBAIkNTU01lc3NhZ2VTb3VyY2UiOwor
TlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlU2VjdXJpdHlNZXNzYWdlU291cmNlID0gQCJTZWN1
cml0eU1lc3NhZ2VTb3VyY2UiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlT3RoZXJNZXNz
YWdlU291cmNlID0gQCJPdGhlck1lc3NhZ2VTb3VyY2UiOwogCiBOU1N0cmluZyAqV2ViQ29uc29s
ZU1lc3NhZ2VEZWJ1Z01lc3NhZ2VMZXZlbCA9IEAiRGVidWdNZXNzYWdlTGV2ZWwiOwpAQCAtMzI5
LDggKzMzMyw2IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzZXRSZXNpemFibGUoYm9vbCBiKQog
aW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9yTWVzc2FnZVNvdXJjZShNZXNzYWdlU291
cmNlIHNvdXJjZSkKIHsKICAgICBzd2l0Y2ggKHNvdXJjZSkgewotICAgIGNhc2UgSFRNTE1lc3Nh
Z2VTb3VyY2U6Ci0gICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUhUTUxNZXNzYWdlU291
cmNlOwogICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJjZToKICAgICAgICAgcmV0dXJuIFdlYkNvbnNv
bGVNZXNzYWdlWE1MTWVzc2FnZVNvdXJjZTsKICAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZToKQEAg
LTMzOSw2ICszNDEsMTQgQEAgaW5saW5lIHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nRm9yTWVzc2Fn
ZVNvdXJjZShNZXNzYWdlU291cmNlIHNvdXJjZSkKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVN
ZXNzYWdlTmV0d29ya01lc3NhZ2VTb3VyY2U7CiAgICAgY2FzZSBDb25zb2xlQVBJTWVzc2FnZVNv
dXJjZToKICAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQ29uc29sZUFQSU1lc3NhZ2VT
b3VyY2U7CisgICAgY2FzZSBTdG9yYWdlTWVzc2FnZVNvdXJjZToKKyAgICAgICAgcmV0dXJuIFdl
YkNvbnNvbGVNZXNzYWdlU3RvcmFnZU1lc3NhZ2VTb3VyY2U7CisgICAgY2FzZSBBcHBDYWNoZU1l
c3NhZ2VTb3VyY2U6CisgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUFwcENhY2hlTWVz
c2FnZVNvdXJjZTsKKyAgICBjYXNlIFJlbmRlcmluZ01lc3NhZ2VTb3VyY2U6CisgICAgICAgIHJl
dHVybiBXZWJDb25zb2xlTWVzc2FnZVJlbmRlcmluZ01lc3NhZ2VTb3VyY2U7CisgICAgY2FzZSBD
U1NNZXNzYWdlU291cmNlOgorICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VDU1NNZXNz
YWdlU291cmNlOwogICAgIGNhc2UgT3RoZXJNZXNzYWdlU291cmNlOgogICAgICAgICByZXR1cm4g
V2ViQ29uc29sZU1lc3NhZ2VPdGhlck1lc3NhZ2VTb3VyY2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IGNjMDM0NjM1
OGExMTAwYTRlZGFkNjI4MzI5ZjdmZTEzZjQ4MjBlMjYuLmRkNmQ1Yzk1MWYyODE3NTBmMDA2ZGVm
OGU2ZmMwMDQ2NWJmZmJhNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlVJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTEwNCwxMSArMTA0LDE1IEBAIGVudW0gewogfTsKIAog
Ly8gTWVzc2FnZSBTb3VyY2VzLgotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUhU
TUxNZXNzYWdlU291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVhNTE1l
c3NhZ2VTb3VyY2U7CiBleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlSlNNZXNzYWdl
U291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU5ldHdvcmtNZXNzYWdl
U291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNz
YWdlU291cmNlOworZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVN0b3JhZ2VNZXNz
YWdlU291cmNlOworZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUFwcENhY2hlTWVz
c2FnZVNvdXJjZTsKK2V4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VSZW5kZXJpbmdN
ZXNzYWdlU291cmNlOworZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNTU01lc3Nh
Z2VTb3VyY2U7CitleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlU2VjdXJpdHlNZXNz
YWdlU291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVyTWVzc2Fn
ZVNvdXJjZTsKIAogLy8gTWVzc2FnZSBMZXZlbHMuCkBAIC0xNDMsNyArMTQ3LDcgQEAgZXh0ZXJu
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUVycm9yTWVzc2FnZUxldmVsOwogICAgIEBtZXRo
b2Qgd2ViVmlldzphZGRNZXNzYWdlVG9Db25zb2xlOndpdGhTb3VyY2U6CiAgICAgQHBhcmFtIHdl
YlZpZXcgVGhlIFdlYlZpZXcgc2VuZGluZyB0aGUgZGVsZWdhdGUgbWV0aG9kLgogICAgIEBwYXJh
bSBtZXNzYWdlIEEgZGljdGlvbmFyeSByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29uc29sZSBtZXNz
YWdlLgotICAgIEBwYXJhbSBzb3VyY2UgV2hlcmUgdGhlIG1lc3NhZ2UgY2FtZSBmcm9tLiBTZWUg
V2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNvdXJjZSBhbmQgb3RoZXIgc291cmNlIHR5cGVz
LgorICAgIEBwYXJhbSBzb3VyY2UgV2hlcmUgdGhlIG1lc3NhZ2UgY2FtZSBmcm9tLiBTZWUgV2Vi
Q29uc29sZU1lc3NhZ2VYTUxNZXNzYWdlU291cmNlIGFuZCBvdGhlciBzb3VyY2UgdHlwZXMuCiAg
ICAgQGRpc2N1c3Npb24gVGhlIGRpY3Rpb25hcnkgY29udGFpbnMgdGhlIGZvbGxvd2luZyBrZXlz
OgogCiAgICAgPGRsPgpAQCAtMTU1LDggKzE1OSw4IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViQ29u
c29sZU1lc3NhZ2VFcnJvck1lc3NhZ2VMZXZlbDsKICAgICAgICAgPGRkPklmIHRoaXMgY2FtZSBm
cm9tIGEgZmlsZSwgdGhpcyBpcyB0aGUgVVJMIHRvIHRoZSBmaWxlIHRoaXMgbWVzc2FnZSBvcmln
aW5hdGVzIGZyb20uPC9kZD4KICAgICAgICAgPGR0Pk1lc3NhZ2VTb3VyY2U8L2R0PgogICAgICAg
ICA8ZGQ+Ci0gICAgICAgICAgICBXaGVyZSB0aGUgbWVzc2FnZSBjYW1lIGZyb20uIEhUTUwsIFhN
TCwgSmF2YVNjcmlwdCwgQ1NTLCBldGMuCi0gICAgICAgICAgICBTZWUgV2ViQ29uc29sZU1lc3Nh
Z2VIVE1MTWVzc2FnZVNvdXJjZSBhbmQgc2ltaWxhciBjb25zdGFudHMuCisgICAgICAgICAgICBX
aGVyZSB0aGUgbWVzc2FnZSBjYW1lIGZyb20uIFhNTCwgSmF2YVNjcmlwdCwgQ1NTLCBldGMuCisg
ICAgICAgICAgICBTZWUgV2ViQ29uc29sZU1lc3NhZ2VYTUxNZXNzYWdlU291cmNlIGFuZCBzaW1p
bGFyIGNvbnN0YW50cy4KICAgICAgICAgPC9kZD4KICAgICAgICAgPGR0Pk1lc3NhZ2VMZXZlbDwv
ZHQ+CiAgICAgICAgIDxkZD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191503</attachid>
            <date>2013-03-05 08:45:55 -0800</date>
            <delta_ts>2013-03-06 03:50:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110968-20130305204201.patch</filename>
            <type>text/plain</type>
            <size>40090</size>
            <attacher name="Dmitry Zvorygin">zvorygin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjBhYjljZGU5MzlmZDlk
NmI0ZDMyOGM3OWY3MjEwZTliOTQ1NzdhMC4uNDZmNDQ4NDFhZTUwMzdiZjdkNTQxNjlmM2NmOWFl
YjhkMWViZmQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc4IEBACisyMDEzLTAyLTI3ICBEbWl0
cnkgWnZvcnlnaW4gIDx6dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNl
IG5ldyBtZXNzYWdlIHNvdXJjZXMgZm9yIGxvZ2dpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5NjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIFJl
bmRlcmluZ01lc3NhZ2VTb3VyY2UsIFN0b3JhZ2VNZXNzYWdlU291cmNlLCBBcHBDYWNoZU1lc3Nh
Z2VTb3VyY2UsIENTU01lc3NhZ2VTb3VyY2UuCisgICAgICAgIENoYW5nZWQgc29tZSBsb2dnaW5n
IGxpbmVzIHRvIGNvbnRhaW4gbW9yZSBkZXNjcmlwdGl2ZSBtZXNzYWdlIHNvdXJjZS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2VCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQmFzZTo6bG9n
RXJyb3JNZXNzYWdlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVz
c2FnZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZmFpbCk6CisgICAgICAgICog
YmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMpOgorICAgICAgICAqIGNzcy9NZWRpYUxp
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkUmVzb2x1dGlvbldhcm5pbmdNZXNzYWdlVG9D
b25zb2xlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OmV4ZWN1dGVTY3JpcHQpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6bm90aWZ5RmluaXNoZWQpOgorICAgICAg
ICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRW
aWV3cG9ydFdhcm5pbmcpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBdXRvZm9jdXMpOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6
dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRh
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnByaW50V2FybmluZ1RvQ29uc29sZSk6CisgICAgICAgICogaHRtbC9wYXJzZXIvWFNTQXVkaXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRpdG9yOjppbml0KToKKyAgICAgICAgKiBo
dG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNT
QXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1lc3NhZ2VTb3VyY2VWYWx1ZSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3VibWl0Rm9y
bSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgICogbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpub3RpZnlGaW5p
c2hlZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQpOgorICAgICAg
ICAqIGxvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1p
eGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcpOgorICAgICAgICAqIGxvYWRlci9UZXh0VHJh
Y2tMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpjb3JzUG9s
aWN5UHJldmVudGVkTG9hZCk6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmFib3J0KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVu
aWVkTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9Db25zb2xlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KToKKyAgICAgICAgKiBwYWdlL0Nv
bnNvbGVUeXBlcy5oOgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6bG9nVG9Db25zb2xlKToK
KyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5k
b3c6OmRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKToKKyAgICAgICAgKiBwYWdl
L1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyTG9j
a0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayk6CisgICAgICAgICogc3ZnL1NWR0RvY3Vt
ZW50RXh0ZW5zaW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRNZXNzYWdlKToKKwog
MjAxMy0wMy0wNSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgIkxpdmUgbmF0aXZlIG1lbW9yeSBjaGFydCIgZXhw
ZXJpbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDk1N2U0ZDgxM2NlY2VhNTVhZDNiMzI1YjhkY2Fk
OWJhZTdlMjg0MTUuLmNlN2MyMzE1NWZlYzhiNDQ2ZDFhM2JmY2QwOTA0OGJiZjVjOGVmYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMi0yNyAgRG1pdHJ5IFp2b3J5
Z2luICA8enZvcnlnaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBuZXcgbWVz
c2FnZSBzb3VyY2VzIGZvciBsb2dnaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06Cisg
ICAgICAgICogV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oOgorCiAyMDEzLTAzLTA0ICBE
YXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgQlVJTEQgRklYIChy
MTQ0NjYyKTogSW1wb3J0IEpTQmFzZS5oIGluIFdlYkZyYW1lTG9hZERlbGVnYXRlLmgKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcApp
bmRleCBmMzcxMTFiZDU0ZTMwNmI0YzZlMzNiMWZhMWM3OGZhMWE4MDk2YmQ0Li5hZjIzNzdhNzM3
MjU2OWNmNmI5OGIxZmRmNzU4N2E3MTU5NGJjMWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhc2UuY3BwCkBAIC00Niw3ICs0Niw3IEBA
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIERhdGFiYXNlQmFzZTo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0CiAKIHZvaWQgRGF0YWJhc2VCYXNlOjpsb2dFcnJvck1lc3NhZ2UoY29uc3Qg
U3RyaW5nJiBtZXNzYWdlKQogewotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29u
c29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2Fn
ZSk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShTdG9y
YWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAKaW5kZXggMzRlZGEyYTkxNTQ4ZWE5YjUxMDdj
MTQ2MDdkZGYwYjE1NmE5ZTVmMy4uODc4ZjhiNzFhODY5MjhjMWQ3ZjRjYWI2NzZkYmM5OTgyOTFl
ZDlkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2VNYW5hZ2VyLmNwcApAQCAtNDMwLDcgKzQzMCw3IEBAIHZvaWQgRGF0YWJhc2VNYW5h
Z2VyOjppbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvCiAKIHZvaWQgRGF0YWJhc2VNYW5hZ2VyOjpsb2dFcnJvck1lc3NhZ2UoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIGNv
bnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsIG1lc3NhZ2UpOworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKFN0b3JhZ2VN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCAyYzE0MGIxZTI0ZTQ5MzM1MGFhMGY2Mjgx
MTRjYzAxNzU5OTYxNWRjLi41YjQ1ZTFhNDFmODFjZTllMjY4YzZjNGM1NWQ4OTkyNDI5ZDY3MWRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldENoYW5uZWwuY3BwCkBAIC0xOTUsNyArMTk1LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpmYWlsKGNvbnN0IFN0cmluZyYgcmVhc29uKQogICAgIEFTU0VSVCghbV9zdXNwZW5kZWQpOwog
ICAgIGlmIChtX2RvY3VtZW50KSB7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IobV9kb2N1bWVudCwgbV9pZGVudGlmaWVyLCBy
ZWFzb24pOwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8gJyIgKyBt
X2hhbmRzaGFrZS0+dXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBmYWlsZWQ6ICIgKyByZWFzb24p
OworICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShOZXR3b3JrTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgY29ubmVjdGlvbiB0byAnIiArIG1f
aGFuZHNoYWtlLT51cmwoKS5lbGlkZWRTdHJpbmcoKSArICInIGZhaWxlZDogIiArIHJlYXNvbik7
CiAgICAgfQogCiAgICAgLy8gSHliaS0xMCBzcGVjaWZpY2F0aW9uIGV4cGxpY2l0bHkgc3RhdGVz
IHdlIG11c3Qgbm90IGNvbnRpbnVlIHRvIGhhbmRsZSBpbmNvbWluZyBkYXRhCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAKaW5kZXggNTM1MTM1
ODc2OWVmZGNkM2Q1ZDljZGY1NDYxNTExNDBlY2ZkMDQ0Ny4uZTNjZjhiZjU4NWU0ZTBiNWQ5ZWU2
ODBlODJjYmJlMTU0NzY1YTQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
U2NyaXB0Q29udHJvbGxlckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL1Nj
cmlwdENvbnRyb2xsZXJCYXNlLmNwcApAQCAtNDIsNyArNDIsNyBAQCBib29sIFNjcmlwdENvbnRy
b2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzKFJlYXNvbkZvckNhbGxpbmdDYW5FeGVjdXRlU2NyaXB0
cyByZWFzbwogICAgIGlmIChtX2ZyYW1lLT5kb2N1bWVudCgpICYmIG1fZnJhbWUtPmRvY3VtZW50
KCktPmlzU2FuZGJveGVkKFNhbmRib3hTY3JpcHRzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhp
cyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9u
IHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3Rz
LgogICAgICAgICBpZiAocmVhc29uID09IEFib3V0VG9FeGVjdXRlU2NyaXB0KQotICAgICAgICAg
ICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBzY3JpcHQgZXhlY3V0aW9uIGluICciICsg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRo
ZSBkb2N1bWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBw
ZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7IAorICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIkJsb2NrZWQgc2NyaXB0IGV4ZWN1dGlvbiBpbiAnIiArIG1fZnJhbWUtPmRvY3VtZW50
KCktPnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgYmVjYXVzZSB0aGUgZG9jdW1lbnQncyBmcmFt
ZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qg
c2V0LiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxp
c3QuY3BwCmluZGV4IGIwNTRjZjFjYzVmMzE0MzVhMDQ2OTRkNDU1ZDQ0MjMzNTI5NjI3MDYuLjAy
Yzg1ZjhmN2I0ZGY2NTgwMmNjYjJlYjAxZGIyMzQ5M2E5YzJhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YUxpc3QuY3BwCkBAIC0zMjYsNyArMzI2LDcgQEAgc3RhdGljIHZvaWQgYWRkUmVzb2x1dGlvbldh
cm5pbmdNZXNzYWdlVG9Db25zb2xlKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW4KIAog
ICAgIG1lc3NhZ2UuYXBwZW5kKHNlcmlhbGl6ZWRFeHByZXNzaW9uKTsKIAotICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgRGVidWdNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShDU1NNZXNzYWdlU291
cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgcmVwb3J0TWVkaWFR
dWVyeVdhcm5pbmdJZk5lZWRlZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IE1lZGlhUXVlcnlT
ZXQqIG1lZGlhUXVlcnlTZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5YThiNzhlMWE5
ODE0NDg4MWQ2OWYwOTNmYjk1MDU2ZmY5NDMwM2Y3Li4wYTdlY2Y2ZjE2ZmM3MGVjOTZhOWIzYjRl
OTgyYTJkYzUwN2YzNTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTI4NzQsNyArMjg3
NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYoY29uc3QgU3RyaW5nJiBlcXVp
diwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdl
ID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiArIHVybCgpLmVsaWRlZFN0cmluZygpICsgIicgaW4g
YSBmcmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnIiArIGNvbnRlbnQg
KyAiJy4iOwogICAgICAgICAgICAgICAgIGZyYW1lTG9hZGVyLT5zdG9wQWxsTG9hZGVycygpOwog
ICAgICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCktPnNjaGVkdWxlTG9j
YXRpb25DaGFuZ2Uoc2VjdXJpdHlPcmlnaW4oKSwgYmxhbmtVUkwoKSwgU3RyaW5nKCkpOwotICAg
ICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICBh
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGVxdWl2LCAiY29udGVudC1zZWN1cml0
eS1wb2xpY3kiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCBmZGJlM2Zj
NTg3YzMyY2I1OTQ4NzYxMmYwNjNlYjc0MTg5NWFmODVhLi40YjJmNmMyMzdlYzA3OGYzZmViMGFh
MDc5YmQyNDBhYTlkMmYxODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBA
IC0yOTYsNyArMjk2LDcgQEAgdm9pZCBTY3JpcHRFbGVtZW50OjpleGVjdXRlU2NyaXB0KGNvbnN0
IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCiAKICNpZiBFTkFCTEUoTk9TTklGRikKICAg
ICBpZiAobV9pc0V4dGVybmFsU2NyaXB0ICYmIG1fY2FjaGVkU2NyaXB0ICYmICFtX2NhY2hlZFNj
cmlwdC0+bWltZVR5cGVBbGxvd2VkQnlOb3NuaWZmKCkpIHsKLSAgICAgICAgbV9lbGVtZW50LT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiUmVmdXNlZCB0byBleGVjdXRlIHNjcmlwdCBmcm9tICciICsgbV9jYWNoZWRTY3Jp
cHQtPnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgYmVjYXVzZSBpdHMgTUlNRSB0eXBlICgnIiAr
IG1fY2FjaGVkU2NyaXB0LT5taW1lVHlwZSgpICsgIicpIGlzIG5vdCBleGVjdXRhYmxlLCBhbmQg
c3RyaWN0IE1JTUUgdHlwZSBjaGVja2luZyBpcyBlbmFibGVkLiIpOworICAgICAgICBtX2VsZW1l
bnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJSZWZ1c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIgKyBt
X2NhY2hlZFNjcmlwdC0+dXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBiZWNhdXNlIGl0cyBNSU1F
IHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlKCkgKyAiJykgaXMgbm90IGV4ZWN1
dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNraW5nIGlzIGVuYWJsZWQuIik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuY3BwCmluZGV4IDQ3MDM5N2E3NzM5ZjY1NzAyNTQ5ZmFkMmFmNzczNmRlZTM4ODFmN2Qu
LjNkMjQyZDZjMDc0NzNjNTgxMTc5MGNlMmMzYTU4NDE0YmEyNmQwOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApAQCAtNDQ5LDcgKzQ0OSw3IEBAIHZvaWQgcmVw
b3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1bWVudCwgVmlld3BvcnRFcnJvckNvZGUg
ZXJyb3JDb2RlLCBjb25zCiAgICAgICAgIG1lc3NhZ2UuYXBwZW5kKCIgTm90ZSB0aGF0ICc7JyBp
cyBub3QgYSBzZXBhcmF0b3IgaW4gdmlld3BvcnQgdmFsdWVzLiBUaGUgbGlzdCBzaG91bGQgYmUg
Y29tbWEtc2VwYXJhdGVkLiIpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQg
YmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICBkb2N1bWVudC0+
YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIHZpZXdwb3J0RXJyb3JNZXNzYWdl
TGV2ZWwoZXJyb3JDb2RlKSwgbWVzc2FnZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKFJlbmRlcmluZ01lc3NhZ2VTb3VyY2UsIHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoZXJy
b3JDb2RlKSwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IGRlYTg0YzBl
NmRiMTE5YmRhZTc5MjM1OGIwYzJjMmY3YTdhY2M3NGIuLjcwYWYwYmM1ZDFkZmZhM2Q0YTY4N2Vm
YTQxN2MxNTUzMDZkODE5MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNv
bnRyb2xFbGVtZW50LmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHN0YXRpYyBib29sIHNob3VsZEF1
dG9mb2N1cyhIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgaWYgKGVsZW1lbnQtPmRvY3VtZW50KCktPmlzU2FuZGJveGVkKFNhbmRib3hB
dXRvbWF0aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91
bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgZWxl
bWVudC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wg
YmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3Jp
cHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJCbG9ja2VkIGF1dG9mb2N1c2luZyBvbiBhIGZvcm0gY29udHJvbCBiZWNhdXNlIHRo
ZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1p
c3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBp
ZiAoZWxlbWVudC0+aGFzQXV0b2ZvY3VzZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcAppbmRleCA5NTNmZWM2ZWQ3MDJlYTc3YjEwMjc3NjYwYWZjZmMxZWU4MjY4MTdk
Li5jZWIxMmQxYjI4YWE2OTlkMjIwODVjNjE3YTYxNDViZWY5NThhNzQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0yNjEsNyArMjYxLDcgQEAgYm9vbCBIVE1M
Rm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVseShFdmVudCogZXZlbnQpCiAgICAgICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSgiQW4gaW52YWxp
ZCBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lPSclbmFtZScgaXMgbm90IGZvY3VzYWJsZS4iKTsKICAg
ICAgICAgICAgIG1lc3NhZ2UucmVwbGFjZSgiJW5hbWUiLCB1bmhhbmRsZWRBc3NvY2lhdGVkRWxl
bWVudC0+bmFtZSgpKTsKLSAgICAgICAgICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KEhUTUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgICAg
ICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0
dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAppbmRl
eCA1MmVlOThhZDAwZjdmZjI0OTE3NWQ5YTM4NzYzZTY2NjdlN2Q2NmYwLi40ZDg2NDhiZDBhYjc4
MTEyN2E3MzE3NDM3NzA0ZDQ3ZTdkZTM2OWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
RnJhbWVFbGVtZW50LmNwcApAQCAtOTAsNyArOTAsNyBAQCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNT
dAogICAgICAgICBTdHJpbmcgaW52YWxpZFRva2VuczsKICAgICAgICAgc2V0U2FuZGJveEZsYWdz
KHZhbHVlLmlzTnVsbCgpID8gU2FuZGJveE5vbmUgOiBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2Fu
ZGJveFBvbGljeSh2YWx1ZSwgaW52YWxpZFRva2VucykpOwogICAgICAgICBpZiAoIWludmFsaWRU
b2tlbnMuaXNOdWxsKCkpCi0gICAgICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShIVE1MTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciB3aGlsZSBwYXJz
aW5nIHRoZSAnc2FuZGJveCcgYXR0cmlidXRlOiAiICsgaW52YWxpZFRva2Vucyk7CisgICAgICAg
ICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJp
YnV0ZTogIiArIGludmFsaWRUb2tlbnMpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBzZWFtbGVz
c0F0dHIpIHsKICAgICAgICAgLy8gSWYgd2UncmUgYWRkaW5nIG9yIHJlbW92aW5nIHRoZSBzZWFt
bGVzcyBhdHRyaWJ1dGUsIHdlIG5lZWQgdG8gZm9yY2UgdGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8g
cmVjYWxjdWxhdGUgaXRzIFN0eWxlUmVzb2x2ZXIuCiAgICAgICAgIGlmIChjb250ZW50RG9jdW1l
bnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDQ0MmMxOWU2YjUzNzNhZjY3YjU2MWFkMmJjYmIyYTAy
MDQ4M2NmZWQuLmMxNDExMGU0MjlhYWI1NDNmMDU1ODE3NDc3MDIxNWNjOTRmYjMwMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcApAQCAtMTg2Nyw3ICsxODY3LDcgQEAgUGFzc1JlZlB0cjxJbWFnZURhdGE+IENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRhKEltYWdlQnVmZmVyOjpDb29yZGkK
IHsKICAgICBpZiAoIWNhbnZhcygpLT5vcmlnaW5DbGVhbigpKSB7CiAgICAgICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiVW5hYmxl
IHRvIGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVl
biB0YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRhLiIpKSk7Ci0gICAgICAgIGNhbnZhcygpLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBjb25zb2xlTWVzc2FnZSk7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA1YmVmNzBkMmM2NWMzODVlYWU3ZGQyNzY5YTZh
YjI2MDY1MjM0ZWI1Li5jYmZiZDM3MjZlZWY1ZjViODM0ODVmNjBjZmIwYzFiYTI5NDg0MzYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAKQEAgLTU0ODMsNyArNTQ4Myw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpwcmludFdhcm5pbmdUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIERvY3Vt
ZW50KiBkb2N1bWVudCA9IGNhbnZhcygpLT5kb2N1bWVudCgpOwogICAgIGlmICghZG9jdW1lbnQp
CiAgICAgICAgIHJldHVybjsKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1l
c3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2Fn
ZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlk
YXRlRnJhbWVidWZmZXJGdW5jUGFyYW1ldGVycyhjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdD
M0RlbnVtIHRhcmdldCwgR0MzRGVudW0gYXR0YWNobWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvWFNTQXVkaXRvci5jcHAKaW5kZXggZTYxZmM0Njk5YWYyNTIzOGFlYzAwM2RlNzJkMTcx
MDA1ZDExZjk0MS4uMWEwMjY0NDQ2ZDM3ODE2MTQwYWYwMjExNTIxMjNjZjFkZWFhMjIzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKQEAgLTI4OSw3ICsyODks
NyBAQCB2b2lkIFhTU0F1ZGl0b3I6OmluaXQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICh4c3NQcm90ZWN0aW9uSGVhZGVyID09IENvbnRl
bnRTZWN1cml0eVBvbGljeTo6UmVmbGVjdGVkWFNTSW52YWxpZCkKLSAgICAgICAgICAgIGRvY3Vt
ZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVl
ICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3Ry
aW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0
aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CisgICAgICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29s
ZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9y
IHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIgKyBoZWFkZXJWYWx1ZSArICI6ICIg
ICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9zaXRpb24gIiArIFN0cmluZzo6Zm9y
bWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRlZmF1bHQgcHJvdGVjdGlvbnMgd2ls
bCBiZSBhcHBsaWVkLiIpOwogCiAgICAgICAgIG1feHNzUHJvdGVjdGlvbiA9IGNvbWJpbmVYU1NQ
cm90ZWN0aW9uSGVhZGVyQW5kQ1NQKHhzc1Byb3RlY3Rpb25IZWFkZXIsIGRvY3VtZW50LT5jb250
ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVmbGVjdGVkWFNTRGlzcG9zaXRpb24oKSk7CiAgICAgICAg
IG1fcmVwb3J0VVJMID0geHNzUHJvdGVjdGlvblJlcG9ydFVSTDsgLy8gRklYTUU6IENvbWJpbmUg
dGhlIHR3byByZXBvcnQgVVJMcyBpbiBzb21lIHJlYXNvbmFibGUgd2F5LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKaW5kZXggMWFjMTI4
OGFiZDIzYmE5MmQzZmExOGI1MmU1YTYxNzM2N2VhOTgxNC4uNGEwZmUzZGQ0MmNkMjYxMzUwYzA2
ZWIwNTE3NjI3ZTU0YTlmN2UzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwCkBAIC02MSw3ICs2MSw3IEBAIHZvaWQgWFNTQXVkaXRv
ckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdChjb25zdCBYU1NJbmZvJiB4c3NJbmZvKQogCiAgICAg
Ly8gRklYTUU6IENvbnNpZGVyIHVzaW5nIGEgbW9yZSBoZWxwZnVsIGNvbnNvbGUgbWVzc2FnZS4K
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxp
dGVyYWwoIlJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29k
ZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3QuXG4iKSkpOwotICAgIG1fZG9jdW1lbnQt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNv
bnNvbGVNZXNzYWdlKTsKKyAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0
eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAg
ICBpZiAoeHNzSW5mby5tX2RpZEJsb2NrRW50aXJlUGFnZSkKICAgICAgICAgbV9kb2N1bWVudC0+
ZnJhbWUoKS0+bG9hZGVyKCktPnN0b3BBbGxMb2FkZXJzKCk7CkBAIC04NCw3ICs4NCw3IEBAIHZv
aWQgWFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdChjb25zdCBYU1NJbmZvJiB4c3NJ
bmZvKQogICAgIH0KIAogICAgIGlmICh4c3NJbmZvLm1fZGlkQmxvY2tFbnRpcmVQYWdlKSB7Ci0g
ICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIFN0cmluZygiRW50aXJlIHBhZ2Ugd2lsbCBiZSBibG9ja2VkLiIpKTsK
KyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgU3RyaW5nKCJFbnRpcmUgcGFnZSB3aWxsIGJlIGJsb2Nr
ZWQuIikpOwogICAgICAgICBtX2RvY3VtZW50LT5mcmFtZSgpLT5uYXZpZ2F0aW9uU2NoZWR1bGVy
KCktPnNjaGVkdWxlTG9jYXRpb25DaGFuZ2UobV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSwg
U3RyaW5nKCJkYXRhOnRleHQvaHRtbCw8cD48L3A+IiksIGJsYW5rVVJMKCkpOwogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCmluZGV4IDU0ZWQz
MTYwNjgwZmY5ZjJmOTZlOGY2NWMxNTFjYjIwMmY3ZjBkNmIuLmNmZDYzMjEzZmIwMjgwMDk5M2Zh
OTA0ZTIzOGVhODBjMjY4YTk1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmNwcApAQCAtMTM3LDExICsxMzcsMTUgQEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6
YXV0b2dlbmVyYXRlTWV0YWRhdGEoYm9vbCBjYW5HZW5lcmF0ZUNhbGxTdGFjaywgU2NyaXB0U3Rh
dGUKIHN0YXRpYyBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6
RW51bSBtZXNzYWdlU291cmNlVmFsdWUoTWVzc2FnZVNvdXJjZSBzb3VyY2UpCiB7CiAgICAgc3dp
dGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIEhUTUxNZXNzYWdlU291cmNlOiByZXR1cm4gVHlwZUJ1
aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Okh0bWw7CiAgICAgY2FzZSBY
TUxNZXNzYWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpTb3VyY2U6OlhtbDsKICAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZTogcmV0dXJuIFR5cGVC
dWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpKYXZhc2NyaXB0OwogICAg
IGNhc2UgTmV0d29ya01lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6TmV0d29yazsKICAgICBjYXNlIENvbnNvbGVBUElNZXNz
YWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpT
b3VyY2U6OkNvbnNvbGVfYXBpOworICAgIGNhc2UgU3RvcmFnZU1lc3NhZ2VTb3VyY2U6IHJldHVy
biBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U3RvcmFnZTsK
KyAgICBjYXNlIEFwcENhY2hlTWVzc2FnZVNvdXJjZTogcmV0dXJuIFR5cGVCdWlsZGVyOjpDb25z
b2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpBcHBjYWNoZTsKKyAgICBjYXNlIFJlbmRlcmlu
Z01lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlNvdXJjZTo6UmVuZGVyaW5nOworICAgIGNhc2UgQ1NTTWVzc2FnZVNvdXJjZTogcmV0dXJu
IFR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpDc3M7CisgICAg
Y2FzZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U2VjdXJpdHk7CiAgICAgY2FzZSBPdGhlck1lc3NhZ2VT
b3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJj
ZTo6T3RoZXI7CiAgICAgfQogICAgIHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29s
ZU1lc3NhZ2U6OlNvdXJjZTo6T3RoZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Lmpzb24KaW5kZXggZmJlMzBiMjc0NmUzYWFkOGNmMzIzZTk0ODZkODgwYzM5NzQ1NzY1My4uZjJk
NzQzZjlkNWIzZjk5NTEyNmI0Mjc5NjVjM2JhZTViODRhYTg1MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtNzY4LDggKzc2OCw4IEBACiAgICAgICAgICAgICAg
ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29u
c29sZSBtZXNzYWdlLiIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAic291cmNlIiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0i
OiBbImh0bWwiLCAid21sIiwgInhtbCIsICJqYXZhc2NyaXB0IiwgIm5ldHdvcmsiLCAiY29uc29s
ZS1hcGkiLCAib3RoZXIiXSwgImRlc2NyaXB0aW9uIjogIk1lc3NhZ2Ugc291cmNlLiIgfSwKLSAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsZXZlbCIsICJ0eXBlIjogInN0cmluZyIsICJl
bnVtIjogWyJ0aXAiLCAibG9nIiwgIndhcm5pbmciLCAiZXJyb3IiLCAiZGVidWciXSwgImRlc2Ny
aXB0aW9uIjogIk1lc3NhZ2Ugc2V2ZXJpdHkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInNvdXJjZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJ4bWwiLCAiamF2YXNj
cmlwdCIsICJuZXR3b3JrIiwgImNvbnNvbGUtYXBpIiwgInN0b3JhZ2UiLCAiYXBwY2FjaGUiLCAi
cmVuZGVyaW5nIiwgImNzcyIsICJzZWN1cml0eSIsICJvdGhlciJdLCAiZGVzY3JpcHRpb24iOiAi
TWVzc2FnZSBzb3VyY2UuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxldmVs
IiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0iOiBbImxvZyIsICJ3YXJuaW5nIiwgImVycm9yIiwg
ImRlYnVnIl0sICJkZXNjcmlwdGlvbiI6ICJNZXNzYWdlIHNldmVyaXR5LiIgfSwKICAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJ0ZXh0IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0
aW9uIjogIk1lc3NhZ2UgdGV4dC4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dHlwZSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJlbnVtIjogWyJsb2ci
LCAiZGlyIiwgImRpcnhtbCIsICJ0YWJsZSIsICJ0cmFjZSIsICJjbGVhciIsICJzdGFydEdyb3Vw
IiwgInN0YXJ0R3JvdXBDb2xsYXBzZWQiLCAiZW5kR3JvdXAiLCAiYXNzZXJ0IiwgInRpbWluZyIs
ICJwcm9maWxlIiwgInByb2ZpbGVFbmQiXSwgImRlc2NyaXB0aW9uIjogIkNvbnNvbGUgbWVzc2Fn
ZSB0eXBlLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ1cmwiLCAidHlwZSI6
ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVVJMIG9mIHRoZSBt
ZXNzYWdlIG9yaWdpbi4iIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRl
eCBiZTQ3MWQ0NWM0OWM5OGU3OGU4NDNkMmQ0NDVkOGMzZWExYmIxMmJjLi5kZWUyOGYwMWNjM2Y1
ZGRiODM3OWY5NGQyODdhMGE4ZTZmMDlhMDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKQEAgLTMzNiw3ICszMzYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzdWJtaXRGb3Jt
KFBhc3NSZWZQdHI8Rm9ybVN1Ym1pc3Npb24+IHN1Ym1pc3Npb24pCiAKICAgICBpZiAoaXNEb2N1
bWVudFNhbmRib3hlZChtX2ZyYW1lLCBTYW5kYm94Rm9ybXMpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29s
dXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBl
eGlzdHMuCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhU
TUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgZm9ybSBzdWJtaXNz
aW9uIHRvICciICsgc3VibWlzc2lvbi0+YWN0aW9uKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBiZWNh
dXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LWZvcm1zJyBw
ZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJCbG9ja2VkIGZvcm0gc3VibWlzc2lvbiB0byAnIiArIHN1Ym1pc3Npb24tPmFjdGlvbigpLmVs
aWRlZFN0cmluZygpICsgIicgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBh
bmQgdGhlICdhbGxvdy1mb3JtcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCkBAIC0xNDEwLDcgKzE0MTAsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpy
ZXBvcnRMb2NhbExvYWRGYWlsZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVybCkKICAg
ICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk5v
dCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwpOworICAgIGZyYW1lLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiTm90IGFsbG93ZWQgdG8gbG9hZCBsb2NhbCByZXNvdXJjZTogIiArIHVy
bCk7CiB9CiAKIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgRnJhbWVMb2FkZXI6OmluaXRpYWxSZXF1
ZXN0KCkgY29uc3QKQEAgLTMzNDYsNyArMzM0Niw3IEBAIEZyYW1lKiBjcmVhdGVXaW5kb3coRnJh
bWUqIG9wZW5lckZyYW1lLCBGcmFtZSogbG9va3VwRnJhbWUsIGNvbnN0IEZyYW1lTG9hZFJlcXVl
CiAgICAgLy8gU2FuZGJveGVkIGZyYW1lcyBjYW5ub3Qgb3BlbiBuZXcgYXV4aWxpYXJ5IGJyb3dz
aW5nIGNvbnRleHRzLgogICAgIGlmIChpc0RvY3VtZW50U2FuZGJveGVkKG9wZW5lckZyYW1lLCBT
YW5kYm94UG9wdXBzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBi
ZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICBvcGVuZXJG
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBvcGVuaW5nICciICsgcmVxdWVzdC5yZXNvdXJjZVJl
cXVlc3QoKS51cmwoKS5lbGlkZWRTdHJpbmcoKSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNl
IHRoZSByZXF1ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1w
b3B1cHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgb3BlbmVyRnJhbWUtPmRv
Y3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJCbG9ja2VkIG9wZW5pbmcgJyIgKyByZXF1ZXN0LnJlc291cmNlUmVxdWVz
dCgpLnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgaW4gYSBuZXcgd2luZG93IGJlY2F1c2UgdGhl
IHJlcXVlc3Qgd2FzIG1hZGUgaW4gYSBzYW5kYm94ZWQgZnJhbWUgd2hvc2UgJ2FsbG93LXBvcHVw
cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDgxYTEyOWQyMGIwOWMwNDE5
ZDgzM2U4OGFmZGZlOTdmZmEyODhhMDYuLjc3MzAzYjk4MGY5NGFkYjQyZjk3NmVlNTdmNGVlNTMw
MjQ2YWM1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtMjk0LDcg
KzI5NCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSkKICAgICAgICAgZXJyb3JFdmVudFNlbmRlcigpLmRpc3BhdGNoRXZlbnRTb29u
KHRoaXMpOwogCiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVz
c2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIGltYWdlIGxvYWQgZGVuaWVkIGJ5IENy
b3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iKSkpOwotICAgICAgICBtX2VsZW1l
bnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICAgICAgQVNTRVJUKCFtX2hhc1BlbmRpbmdM
b2FkRXZlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IDM3MjJhYTk0NTdmZjY3M2JiOWM1NTdjZjg2NjcwMTFjOWM5NTYwOWYuLmZhZTRl
MDI2MDM3ZWNkMjdkOGQ3ZGEyZThjMDQ3NTQzMjJmZmM2ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00MTEsNyArNDExLDcgQEAgdm9pZCBN
YWluUmVzb3VyY2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlLCBjb25zdCBSZXNvdXIKICAgICAgICAgaWYgKGZyYW1lTG9hZGVyKCktPnNob3VsZEludGVy
cnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnRlbnQsIHIudXJsKCksIGlkZW50aWZpZXIoKSkp
IHsKICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclhG
cmFtZU9wdGlvbnNEZW5pZWQobV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKSwgZG9jdW1lbnRMb2Fk
ZXIoKSwgaWRlbnRpZmllcigpLCByKTsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJl
ZnVzZWQgdG8gZGlzcGxheSAnIiArIHIudXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBpbiBhIGZy
YW1lIGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRvICciICsgY29udGVudCArICIn
LiI7Ci0gICAgICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5mcmFtZSgpLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNz
YWdlLCBpZGVudGlmaWVyKCkpOworICAgICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+ZnJhbWUo
KS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgaWRlbnRpZmllcigpKTsKIAogICAgICAgICAgICAg
Y2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKaW5kZXggNDc1MTQxMmQ0ODU0MDlkYjM1M2M2NzY4MjEz
YjVhYjQ0YWNlOTEzYi4uZTNlZmY3NTRkODY3ZThiMzc3ZmVlMTcwMjllYzlkZGU5ZTUxMjYzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcApAQCAt
OTYsNyArOTYsNyBAQCBib29sIE1peGVkQ29udGVudENoZWNrZXI6OmNhblJ1bkluc2VjdXJlQ29u
dGVudChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sCiB2b2lkIE1peGVkQ29udGVudENo
ZWNrZXI6OmxvZ1dhcm5pbmcoYm9vbCBhbGxvd2VkLCBjb25zdCBTdHJpbmcmIGFjdGlvbiwgY29u
c3QgS1VSTCYgdGFyZ2V0KSBjb25zdAogewogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmlu
ZygoYWxsb3dlZCA/ICIiIDogIltibG9ja2VkXSAiKSwgIlRoZSBwYWdlIGF0ICIsIG1fZnJhbWUt
PmRvY3VtZW50KCktPnVybCgpLmVsaWRlZFN0cmluZygpLCAiICIsIGFjdGlvbiwgIiBpbnNlY3Vy
ZSBjb250ZW50IGZyb20gIiwgdGFyZ2V0LmVsaWRlZFN0cmluZygpLCAiLlxuIik7Ci0gICAgbV9m
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIFdh
cm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZl
bCwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKaW5kZXggMGJhNjM2YjhlODU0MjU2M2E3MTI2ZGNh
ZDFjN2I0NDc4OTExYzU5Ni4uMjZiYzhjYjFkYjliZGE0NzUwZDk0M2U5ZjdhZjRjZWVlZmZiYmVm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKQEAgLTExOCw3
ICsxMTgsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6Y29yc1BvbGljeVByZXZlbnRlZExvYWQo
KQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFT
Q0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIHRleHQgdHJhY2sgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7CiAgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwot
ICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNz
YWdlKTsKICAgICBtX3N0YXRlID0gRmFpbGVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IGY2
YTdkMjQzZTgwZmY3NjAxMWEyNTg5ZDRjY2YyY2FmMTQxOWI2YjUuLjQzYzgxNTVhZjIxNmZkMWFl
Yjc0ODQyNzMyMTM0MjZjYWFhYzRjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC00NzUsNyArNDc1
LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmFib3J0KEZyYW1lKiBmcmFtZSkKICAg
ICBpZiAobV9jb21wbGV0aW9uVHlwZSAhPSBOb25lKQogICAgICAgICByZXR1cm47CiAKLSAgICBm
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBE
ZWJ1Z01lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIGRvd25sb2FkIHByb2Nlc3Mgd2Fz
IGFib3J0ZWQuIik7CisgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE5l
dHdvcmtNZXNzYWdlU291cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hl
IGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIik7CiAgICAgY2FjaGVVcGRhdGVGYWlsZWQo
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggMzU2MGU5MjI4MGVkYjc4YzI4Zjc0NTIwMzBiNzE3Y2Y0NWNj
Yjc3Ny4uNGI0Njk5YmQ2NzIwOWZmOTdhZDlhNjk3MzZmZDAzMDdkOTVjMWYzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC02NjIsNyArNjYyLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJpbnRBY2Nl
c3NEZW5pZWRNZXNzYWdlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKICAgICBlbHNlCiAgICAgICAg
IG1lc3NhZ2UgPSAiVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgIiArIHVybC5lbGlkZWRTdHJp
bmcoKSArICIgZnJvbSBmcmFtZSB3aXRoIFVSTCAiICsgbV9kb2N1bWVudC0+dXJsKCkuZWxpZGVk
U3RyaW5nKCkgKyAiLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guXG4i
OwogCi0gICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgZnJhbWUoKS0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNl
dEF1dG9Mb2FkSW1hZ2VzKGJvb2wgZW5hYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db25zb2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKaW5kZXgg
ZjM5OGMyNTJjZDVmNjEyYzdjMzc0NGVmMGY4ZjY4NWViZjdmOTJlNC4uZWE1MzdjNGZiMjA5MGQ0
MDEwY2YwYWY2MDY5ZGMwOWEyMjNiMGQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db25zb2xlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCkBAIC04
OCw5ICs4OCw2IEBAIHN0YXRpYyB2b2lkIHByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwKIHsKICAgICBjb25zdCBjaGFyKiBz
b3VyY2VTdHJpbmc7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIEhUTUxNZXNzYWdl
U291cmNlOgotICAgICAgICBzb3VyY2VTdHJpbmcgPSAiSFRNTCI7Ci0gICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJjZToKICAgICAgICAgc291cmNlU3RyaW5nID0gIlhNTCI7
CiAgICAgICAgIGJyZWFrOwpAQCAtMTAzLDYgKzEwMCwyMSBAQCBzdGF0aWMgdm9pZCBwcmludE1l
c3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxl
dmVsCiAgICAgY2FzZSBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZToKICAgICAgICAgc291cmNlU3Ry
aW5nID0gIkNPTlNPTEVBUEkiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFN0b3JhZ2VNZXNz
YWdlU291cmNlOgorICAgICAgICBzb3VyY2VTdHJpbmcgPSAiU1RPUkFHRSI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQXBwQ2FjaGVNZXNzYWdlU291cmNlOgorICAgICAgICBzb3VyY2VTdHJp
bmcgPSAiQVBQQ0FDSEUiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlbmRlcmluZ01lc3Nh
Z2VTb3VyY2U6CisgICAgICAgIHNvdXJjZVN0cmluZyA9ICJSRU5ERVJJTkciOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6CisgICAgICAgIHNvdXJjZVN0cmluZyA9
ICJDU1MiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNlY3VyaXR5TWVzc2FnZVNvdXJjZToK
KyAgICAgICAgc291cmNlU3RyaW5nID0gIlNFQ1VSSVRZIjsKKyAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBPdGhlck1lc3NhZ2VTb3VyY2U6CiAgICAgICAgIHNvdXJjZVN0cmluZyA9ICJPVEhFUiI7
CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xl
VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKaW5kZXggODEwZGEx
ZmI2MGY5YzExOTRiYmE1YjBlNWVlNTkzZGFhMGU4NzE4Yi4uODA0YTE2N2NjOTViN2ZmYzg0NWY0
MzU3NzZiZTBlMDVmMzE1ZTRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25z
b2xlVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oCkBAIC0y
OSwxMSArMjksMTUgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBNZXNzYWdlU291cmNl
IHsKLSAgICBIVE1MTWVzc2FnZVNvdXJjZSwKICAgICBYTUxNZXNzYWdlU291cmNlLAogICAgIEpT
TWVzc2FnZVNvdXJjZSwKICAgICBOZXR3b3JrTWVzc2FnZVNvdXJjZSwKICAgICBDb25zb2xlQVBJ
TWVzc2FnZVNvdXJjZSwKKyAgICBTdG9yYWdlTWVzc2FnZVNvdXJjZSwKKyAgICBBcHBDYWNoZU1l
c3NhZ2VTb3VyY2UsCisgICAgUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwKKyAgICBDU1NNZXNzYWdl
U291cmNlLAorICAgIFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwKICAgICBPdGhlck1lc3NhZ2VTb3Vy
Y2UsCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5j
cHAKaW5kZXggMzljOTE3YjAyNmMzODkxNTUzZjk1MTU2MmY1MmFhZmYxOGY3ZTIzNi4uNjhjNDQx
YjRiMjIzM2U3ZmY2NDU2Njc1NTI0OGFiMmE1YWZiYWZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMTgxNSw3ICsxODE1LDcgQEAgdm9p
ZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydE1pc3NpbmdSZXBvcnRVUkkoY29uc3QgU3Ry
aW5nJiBwb2xpY3kpIGNvbnN0CiAKIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0Nv
bnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNv
bnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIFNjcmlwdFN0YXRlKiBzdGF0ZSkg
Y29uc3QKIHsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkws
IGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCksIHN0YXRlKTsKKyAgICBtX3NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLm9uZUJhc2VkSW50
KCksIHN0YXRlKTsKIH0KIAogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydEJsb2Nr
ZWRTY3JpcHRFeGVjdXRpb25Ub0luc3BlY3Rvcihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZVRleHQp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZThlMDExZGYzODRhYzFkMzgy
NDM5MDZkZTZkNzFlM2RiYTk2YjdmZC4uZmZmZGNhZmJhZTQ3ZjNkZjBlYmJhMmNjMzFmZjBiNWMw
NGFlOWIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtODg0LDcgKzg4NCw3IEBA
IHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaE1lc3NhZ2VFdmVudFdpdGhPcmlnaW5DaGVjayhTZWN1
cml0eU9yaWdpbiogaW50ZW5kZWRUYXJnCiAgICAgICAgIGlmICghaW50ZW5kZWRUYXJnZXRPcmln
aW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKSB7
CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJVbmFibGUgdG8gcG9zdCBtZXNzYWdlIHRv
ICIgKyBpbnRlbmRlZFRhcmdldE9yaWdpbi0+dG9TdHJpbmcoKSArCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICIuIFJlY2lwaWVudCBoYXMgb3JpZ2luICIgKyBkb2N1bWVudCgpLT5zZWN1
cml0eU9yaWdpbigpLT50b1N0cmluZygpICsgIi5cbiI7Ci0gICAgICAgICAgICBjb25zb2xlKCkt
PmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwg
c3RhY2tUcmFjZSk7CisgICAgICAgICAgICBjb25zb2xlKCktPmFkZE1lc3NhZ2UoU2VjdXJpdHlN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgc3RhY2tUcmFjZSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggMmMxZWZiNmNkZWZlMGRlYzFkMjc0
YjgwZDJmYTNjODgwYTg1OWY4Mi4uNjNmOTY1YjI1MDY0MWNlMzM2ZDgyY2I4NjA3MWYyMGQ5M2Fk
YjUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNw
cApAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBv
aW50ZXJMb2NrKEVsZW1lbnQqIHRhcmdldCkKIAogICAgIGlmICh0YXJnZXQtPmRvY3VtZW50KCkt
PmlzU2FuZGJveGVkKFNhbmRib3hQb2ludGVyTG9jaykpIHsKICAgICAgICAgLy8gRklYTUU6IFRo
aXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlv
biB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0
cy4KLSAgICAgICAgdGFyZ2V0LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBwb2ludGVyIGxvY2sgb24gYW4g
ZWxlbWVudCBiZWNhdXNlIHRoZSBlbGVtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUg
J2FsbG93LXBvaW50ZXItbG9jaycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAgICB0
YXJnZXQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIHBvaW50ZXIgbG9jayBvbiBhbiBlbGVtZW50
IGJlY2F1c2UgdGhlIGVsZW1lbnQncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ct
cG9pbnRlci1sb2NrJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CiAgICAgICAgIGVucXVldWVF
dmVudChldmVudE5hbWVzKCkud2Via2l0cG9pbnRlcmxvY2tlcnJvckV2ZW50LCB0YXJnZXQpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRF
eHRlbnNpb25zLmNwcAppbmRleCBmMTBlNzI5M2FkZjEyZjA4M2NhN2MxMDUzODY0NGM1ZmUxYmRk
NzA4Li5kNjlkZTlkOGI5MTkyM2JhOTA0YjI4Y2U1OTYyMmYyNDM2YzBmMmJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcApAQCAtMTM1LDcgKzEzNSw3
IEBAIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpkaXNwYXRjaFNWR0xvYWRFdmVudFRvT3V0
ZXJtb3N0U1ZHRWxlbWVudHMoKQogc3RhdGljIHZvaWQgcmVwb3J0TWVzc2FnZShEb2N1bWVudCog
ZG9jdW1lbnQsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewog
ICAgIGlmIChkb2N1bWVudC0+ZnJhbWUoKSkKLSAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICBkb2N1bWVu
dC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIG1lc3Nh
Z2UpOwogfQogCiB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVwb3J0V2FybmluZyhjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYTMwOTVlNjFjMWEzNjM5MDEwNmQ2ZjhlOTRi
ZDQzYjdmMTViNGI3MS4uN2ZlYWIyZjM3MzI3YTVkNDBiM2Y1MDNjYjkyY2IzMjcxNzkxZWZjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5tbQpAQCAtOTAsMTEgKzkwLDE1IEBACiAjaW1wb3J0ICJOZXRzY2FwZVBsdWdpbkhvc3RN
YW5hZ2VyLmgiCiAjZW5kaWYKIAotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlSFRNTE1lc3Nh
Z2VTb3VyY2UgPSBAIkhUTUxNZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVz
c2FnZVhNTE1lc3NhZ2VTb3VyY2UgPSBAIlhNTE1lc3NhZ2VTb3VyY2UiOwogTlNTdHJpbmcgKldl
YkNvbnNvbGVNZXNzYWdlSlNNZXNzYWdlU291cmNlID0gQCJKU01lc3NhZ2VTb3VyY2UiOwogTlNT
dHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlTmV0d29ya01lc3NhZ2VTb3VyY2UgPSBAIk5ldHdvcmtN
ZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNz
YWdlU291cmNlID0gQCJDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSI7CitOU1N0cmluZyAqV2ViQ29u
c29sZU1lc3NhZ2VTdG9yYWdlTWVzc2FnZVNvdXJjZSA9IEAiU3RvcmFnZU1lc3NhZ2VTb3VyY2Ui
OworTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQXBwQ2FjaGVNZXNzYWdlU291cmNlID0gQCJB
cHBDYWNoZU1lc3NhZ2VTb3VyY2UiOworTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlUmVuZGVy
aW5nTWVzc2FnZVNvdXJjZSA9IEAiUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSI7CitOU1N0cmluZyAq
V2ViQ29uc29sZU1lc3NhZ2VDU1NNZXNzYWdlU291cmNlID0gQCJDU1NNZXNzYWdlU291cmNlIjsK
K05TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVNlY3VyaXR5TWVzc2FnZVNvdXJjZSA9IEAiU2Vj
dXJpdHlNZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVyTWVz
c2FnZVNvdXJjZSA9IEAiT3RoZXJNZXNzYWdlU291cmNlIjsKIAogTlNTdHJpbmcgKldlYkNvbnNv
bGVNZXNzYWdlRGVidWdNZXNzYWdlTGV2ZWwgPSBAIkRlYnVnTWVzc2FnZUxldmVsIjsKQEAgLTMy
OSw4ICszMzMsNiBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXphYmxlKGJvb2wgYikK
IGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VTb3VyY2UoTWVzc2FnZVNv
dXJjZSBzb3VyY2UpCiB7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIEhUTUxNZXNz
YWdlU291cmNlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNv
dXJjZTsKICAgICBjYXNlIFhNTE1lc3NhZ2VTb3VyY2U6CiAgICAgICAgIHJldHVybiBXZWJDb25z
b2xlTWVzc2FnZVhNTE1lc3NhZ2VTb3VyY2U7CiAgICAgY2FzZSBKU01lc3NhZ2VTb3VyY2U6CkBA
IC0zMzksNiArMzQxLDE0IEBAIGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3Nh
Z2VTb3VyY2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UpCiAgICAgICAgIHJldHVybiBXZWJDb25zb2xl
TWVzc2FnZU5ldHdvcmtNZXNzYWdlU291cmNlOwogICAgIGNhc2UgQ29uc29sZUFQSU1lc3NhZ2VT
b3VyY2U6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNzYWdl
U291cmNlOworICAgIGNhc2UgU3RvcmFnZU1lc3NhZ2VTb3VyY2U6CisgICAgICAgIHJldHVybiBX
ZWJDb25zb2xlTWVzc2FnZVN0b3JhZ2VNZXNzYWdlU291cmNlOworICAgIGNhc2UgQXBwQ2FjaGVN
ZXNzYWdlU291cmNlOgorICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VBcHBDYWNoZU1l
c3NhZ2VTb3VyY2U7CisgICAgY2FzZSBSZW5kZXJpbmdNZXNzYWdlU291cmNlOgorICAgICAgICBy
ZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VSZW5kZXJpbmdNZXNzYWdlU291cmNlOworICAgIGNhc2Ug
Q1NTTWVzc2FnZVNvdXJjZToKKyAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQ1NTTWVz
c2FnZVNvdXJjZTsKICAgICBjYXNlIE90aGVyTWVzc2FnZVNvdXJjZToKICAgICAgICAgcmV0dXJu
IFdlYkNvbnNvbGVNZXNzYWdlT3RoZXJNZXNzYWdlU291cmNlOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCBjYzAzNDYz
NThhMTEwMGE0ZWRhZDYyODMyOWY3ZmUxM2Y0ODIwZTI2Li5kZDZkNWM5NTFmMjgxNzUwZjAwNmRl
ZjhlNmZjMDA0NjViZmZiYTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJVSURlbGVnYXRlUHJpdmF0ZS5oCkBAIC0xMDQsMTEgKzEwNCwxNSBAQCBlbnVtIHsKIH07CiAK
IC8vIE1lc3NhZ2UgU291cmNlcy4KLWV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VI
VE1MTWVzc2FnZVNvdXJjZTsKIGV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VYTUxN
ZXNzYWdlU291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUpTTWVzc2Fn
ZVNvdXJjZTsKIGV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VOZXR3b3JrTWVzc2Fn
ZVNvdXJjZTsKIGV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VDb25zb2xlQVBJTWVz
c2FnZVNvdXJjZTsKK2V4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VTdG9yYWdlTWVz
c2FnZVNvdXJjZTsKK2V4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VBcHBDYWNoZU1l
c3NhZ2VTb3VyY2U7CitleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlUmVuZGVyaW5n
TWVzc2FnZVNvdXJjZTsKK2V4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VDU1NNZXNz
YWdlU291cmNlOworZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVNlY3VyaXR5TWVz
c2FnZVNvdXJjZTsKIGV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VPdGhlck1lc3Nh
Z2VTb3VyY2U7CiAKIC8vIE1lc3NhZ2UgTGV2ZWxzLgpAQCAtMTQzLDcgKzE0Nyw3IEBAIGV4dGVy
biBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VFcnJvck1lc3NhZ2VMZXZlbDsKICAgICBAbWV0
aG9kIHdlYlZpZXc6YWRkTWVzc2FnZVRvQ29uc29sZTp3aXRoU291cmNlOgogICAgIEBwYXJhbSB3
ZWJWaWV3IFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZC4KICAgICBAcGFy
YW0gbWVzc2FnZSBBIGRpY3Rpb25hcnkgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNvbnNvbGUgbWVz
c2FnZS4KLSAgICBAcGFyYW0gc291cmNlIFdoZXJlIHRoZSBtZXNzYWdlIGNhbWUgZnJvbS4gU2Vl
IFdlYkNvbnNvbGVNZXNzYWdlSFRNTE1lc3NhZ2VTb3VyY2UgYW5kIG90aGVyIHNvdXJjZSB0eXBl
cy4KKyAgICBAcGFyYW0gc291cmNlIFdoZXJlIHRoZSBtZXNzYWdlIGNhbWUgZnJvbS4gU2VlIFdl
YkNvbnNvbGVNZXNzYWdlWE1MTWVzc2FnZVNvdXJjZSBhbmQgb3RoZXIgc291cmNlIHR5cGVzLgog
ICAgIEBkaXNjdXNzaW9uIFRoZSBkaWN0aW9uYXJ5IGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcga2V5
czoKIAogICAgIDxkbD4KQEAgLTE1NSw4ICsxNTksOCBAQCBleHRlcm4gTlNTdHJpbmcgKldlYkNv
bnNvbGVNZXNzYWdlRXJyb3JNZXNzYWdlTGV2ZWw7CiAgICAgICAgIDxkZD5JZiB0aGlzIGNhbWUg
ZnJvbSBhIGZpbGUsIHRoaXMgaXMgdGhlIFVSTCB0byB0aGUgZmlsZSB0aGlzIG1lc3NhZ2Ugb3Jp
Z2luYXRlcyBmcm9tLjwvZGQ+CiAgICAgICAgIDxkdD5NZXNzYWdlU291cmNlPC9kdD4KICAgICAg
ICAgPGRkPgotICAgICAgICAgICAgV2hlcmUgdGhlIG1lc3NhZ2UgY2FtZSBmcm9tLiBIVE1MLCBY
TUwsIEphdmFTY3JpcHQsIENTUywgZXRjLgotICAgICAgICAgICAgU2VlIFdlYkNvbnNvbGVNZXNz
YWdlSFRNTE1lc3NhZ2VTb3VyY2UgYW5kIHNpbWlsYXIgY29uc3RhbnRzLgorICAgICAgICAgICAg
V2hlcmUgdGhlIG1lc3NhZ2UgY2FtZSBmcm9tLiBYTUwsIEphdmFTY3JpcHQsIENTUywgZXRjLgor
ICAgICAgICAgICAgU2VlIFdlYkNvbnNvbGVNZXNzYWdlWE1MTWVzc2FnZVNvdXJjZSBhbmQgc2lt
aWxhciBjb25zdGFudHMuCiAgICAgICAgIDwvZGQ+CiAgICAgICAgIDxkdD5NZXNzYWdlTGV2ZWw8
L2R0PgogICAgICAgICA8ZGQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191708</attachid>
            <date>2013-03-06 03:50:44 -0800</date>
            <delta_ts>2013-03-06 10:10:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110968-20130306154649.patch</filename>
            <type>text/plain</type>
            <size>40179</size>
            <attacher name="Dmitry Zvorygin">zvorygin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjBhYjljZGU5MzlmZDlk
NmI0ZDMyOGM3OWY3MjEwZTliOTQ1NzdhMC4uNDZmNDQ4NDFhZTUwMzdiZjdkNTQxNjlmM2NmOWFl
YjhkMWViZmQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc4IEBACisyMDEzLTAyLTI3ICBEbWl0
cnkgWnZvcnlnaW4gIDx6dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNl
IG5ldyBtZXNzYWdlIHNvdXJjZXMgZm9yIGxvZ2dpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5NjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIFJl
bmRlcmluZ01lc3NhZ2VTb3VyY2UsIFN0b3JhZ2VNZXNzYWdlU291cmNlLCBBcHBDYWNoZU1lc3Nh
Z2VTb3VyY2UsIENTU01lc3NhZ2VTb3VyY2UuCisgICAgICAgIENoYW5nZWQgc29tZSBsb2dnaW5n
IGxpbmVzIHRvIGNvbnRhaW4gbW9yZSBkZXNjcmlwdGl2ZSBtZXNzYWdlIHNvdXJjZS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2VCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQmFzZTo6bG9n
RXJyb3JNZXNzYWdlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVz
c2FnZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZmFpbCk6CisgICAgICAgICog
YmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMpOgorICAgICAgICAqIGNzcy9NZWRpYUxp
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkUmVzb2x1dGlvbldhcm5pbmdNZXNzYWdlVG9D
b25zb2xlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OmV4ZWN1dGVTY3JpcHQpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6bm90aWZ5RmluaXNoZWQpOgorICAgICAg
ICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRW
aWV3cG9ydFdhcm5pbmcpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBdXRvZm9jdXMpOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6
dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KToKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRh
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnByaW50V2FybmluZ1RvQ29uc29sZSk6CisgICAgICAgICogaHRtbC9wYXJzZXIvWFNTQXVkaXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRpdG9yOjppbml0KToKKyAgICAgICAgKiBo
dG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNT
QXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdCk6CisgICAgICAgICogaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1lc3NhZ2VTb3VyY2VWYWx1ZSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3VibWl0Rm9y
bSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgICogbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjpub3RpZnlGaW5p
c2hlZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQpOgorICAgICAg
ICAqIGxvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1p
eGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcpOgorICAgICAgICAqIGxvYWRlci9UZXh0VHJh
Y2tMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpjb3JzUG9s
aWN5UHJldmVudGVkTG9hZCk6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmFib3J0KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50QWNjZXNzRGVu
aWVkTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9Db25zb2xlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KToKKyAgICAgICAgKiBwYWdlL0Nv
bnNvbGVUeXBlcy5oOgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6bG9nVG9Db25zb2xlKToK
KyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5k
b3c6OmRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKToKKyAgICAgICAgKiBwYWdl
L1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyTG9j
a0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayk6CisgICAgICAgICogc3ZnL1NWR0RvY3Vt
ZW50RXh0ZW5zaW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRNZXNzYWdlKToKKwog
MjAxMy0wMy0wNSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgIkxpdmUgbmF0aXZlIG1lbW9yeSBjaGFydCIgZXhw
ZXJpbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDk1N2U0ZDgxM2NlY2VhNTVhZDNiMzI1YjhkY2Fk
OWJhZTdlMjg0MTUuLmNlN2MyMzE1NWZlYzhiNDQ2ZDFhM2JmY2QwOTA0OGJiZjVjOGVmYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMi0yNyAgRG1pdHJ5IFp2b3J5
Z2luICA8enZvcnlnaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBuZXcgbWVz
c2FnZSBzb3VyY2VzIGZvciBsb2dnaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06Cisg
ICAgICAgICogV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oOgorCiAyMDEzLTAzLTA0ICBE
YXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgQlVJTEQgRklYIChy
MTQ0NjYyKTogSW1wb3J0IEpTQmFzZS5oIGluIFdlYkZyYW1lTG9hZERlbGVnYXRlLmgKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcApp
bmRleCBmMzcxMTFiZDU0ZTMwNmI0YzZlMzNiMWZhMWM3OGZhMWE4MDk2YmQ0Li5hZjIzNzdhNzM3
MjU2OWNmNmI5OGIxZmRmNzU4N2E3MTU5NGJjMWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJhc2UuY3BwCkBAIC00Niw3ICs0Niw3IEBA
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIERhdGFiYXNlQmFzZTo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpIGNvbnN0CiAKIHZvaWQgRGF0YWJhc2VCYXNlOjpsb2dFcnJvck1lc3NhZ2UoY29uc3Qg
U3RyaW5nJiBtZXNzYWdlKQogewotICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29u
c29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2Fn
ZSk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShTdG9y
YWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAKaW5kZXggMzRlZGEyYTkxNTQ4ZWE5YjUxMDdj
MTQ2MDdkZGYwYjE1NmE5ZTVmMy4uODc4ZjhiNzFhODY5MjhjMWQ3ZjRjYWI2NzZkYmM5OTgyOTFl
ZDlkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2VNYW5hZ2VyLmNwcApAQCAtNDMwLDcgKzQzMCw3IEBAIHZvaWQgRGF0YWJhc2VNYW5h
Z2VyOjppbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvCiAKIHZvaWQgRGF0YWJhc2VNYW5hZ2VyOjpsb2dFcnJvck1lc3NhZ2UoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIGNv
bnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsIG1lc3NhZ2UpOworICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKFN0b3JhZ2VN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCAyYzE0MGIxZTI0ZTQ5MzM1MGFhMGY2Mjgx
MTRjYzAxNzU5OTYxNWRjLi41YjQ1ZTFhNDFmODFjZTllMjY4YzZjNGM1NWQ4OTkyNDI5ZDY3MWRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldENoYW5uZWwuY3BwCkBAIC0xOTUsNyArMTk1LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpmYWlsKGNvbnN0IFN0cmluZyYgcmVhc29uKQogICAgIEFTU0VSVCghbV9zdXNwZW5kZWQpOwog
ICAgIGlmIChtX2RvY3VtZW50KSB7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IobV9kb2N1bWVudCwgbV9pZGVudGlmaWVyLCBy
ZWFzb24pOwotICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0IGNvbm5lY3Rpb24gdG8gJyIgKyBt
X2hhbmRzaGFrZS0+dXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBmYWlsZWQ6ICIgKyByZWFzb24p
OworICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShOZXR3b3JrTWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQgY29ubmVjdGlvbiB0byAnIiArIG1f
aGFuZHNoYWtlLT51cmwoKS5lbGlkZWRTdHJpbmcoKSArICInIGZhaWxlZDogIiArIHJlYXNvbik7
CiAgICAgfQogCiAgICAgLy8gSHliaS0xMCBzcGVjaWZpY2F0aW9uIGV4cGxpY2l0bHkgc3RhdGVz
IHdlIG11c3Qgbm90IGNvbnRpbnVlIHRvIGhhbmRsZSBpbmNvbWluZyBkYXRhCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9sbGVyQmFzZS5jcHAKaW5kZXggNTM1MTM1
ODc2OWVmZGNkM2Q1ZDljZGY1NDYxNTExNDBlY2ZkMDQ0Ny4uZTNjZjhiZjU4NWU0ZTBiNWQ5ZWU2
ODBlODJjYmJlMTU0NzY1YTQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
U2NyaXB0Q29udHJvbGxlckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL1Nj
cmlwdENvbnRyb2xsZXJCYXNlLmNwcApAQCAtNDIsNyArNDIsNyBAQCBib29sIFNjcmlwdENvbnRy
b2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzKFJlYXNvbkZvckNhbGxpbmdDYW5FeGVjdXRlU2NyaXB0
cyByZWFzbwogICAgIGlmIChtX2ZyYW1lLT5kb2N1bWVudCgpICYmIG1fZnJhbWUtPmRvY3VtZW50
KCktPmlzU2FuZGJveGVkKFNhbmRib3hTY3JpcHRzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhp
cyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9u
IHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3Rz
LgogICAgICAgICBpZiAocmVhc29uID09IEFib3V0VG9FeGVjdXRlU2NyaXB0KQotICAgICAgICAg
ICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3Vy
Y2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBzY3JpcHQgZXhlY3V0aW9uIGluICciICsg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRo
ZSBkb2N1bWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBw
ZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7IAorICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQo
KS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIkJsb2NrZWQgc2NyaXB0IGV4ZWN1dGlvbiBpbiAnIiArIG1fZnJhbWUtPmRvY3VtZW50
KCktPnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgYmVjYXVzZSB0aGUgZG9jdW1lbnQncyBmcmFt
ZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctc2NyaXB0cycgcGVybWlzc2lvbiBpcyBub3Qg
c2V0LiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxp
c3QuY3BwCmluZGV4IGIwNTRjZjFjYzVmMzE0MzVhMDQ2OTRkNDU1ZDQ0MjMzNTI5NjI3MDYuLjAy
Yzg1ZjhmN2I0ZGY2NTgwMmNjYjJlYjAxZGIyMzQ5M2E5YzJhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YUxpc3QuY3BwCkBAIC0zMjYsNyArMzI2LDcgQEAgc3RhdGljIHZvaWQgYWRkUmVzb2x1dGlvbldh
cm5pbmdNZXNzYWdlVG9Db25zb2xlKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW4KIAog
ICAgIG1lc3NhZ2UuYXBwZW5kKHNlcmlhbGl6ZWRFeHByZXNzaW9uKTsKIAotICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgRGVidWdNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShDU1NNZXNzYWdlU291
cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgcmVwb3J0TWVkaWFR
dWVyeVdhcm5pbmdJZk5lZWRlZChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IE1lZGlhUXVlcnlT
ZXQqIG1lZGlhUXVlcnlTZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5YThiNzhlMWE5
ODE0NDg4MWQ2OWYwOTNmYjk1MDU2ZmY5NDMwM2Y3Li4wYTdlY2Y2ZjE2ZmM3MGVjOTZhOWIzYjRl
OTgyYTJkYzUwN2YzNTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTI4NzQsNyArMjg3
NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYoY29uc3QgU3RyaW5nJiBlcXVp
diwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdl
ID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiArIHVybCgpLmVsaWRlZFN0cmluZygpICsgIicgaW4g
YSBmcmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1PcHRpb25zJyB0byAnIiArIGNvbnRlbnQg
KyAiJy4iOwogICAgICAgICAgICAgICAgIGZyYW1lTG9hZGVyLT5zdG9wQWxsTG9hZGVycygpOwog
ICAgICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCktPnNjaGVkdWxlTG9j
YXRpb25DaGFuZ2Uoc2VjdXJpdHlPcmlnaW4oKSwgYmxhbmtVUkwoKSwgU3RyaW5nKCkpOwotICAg
ICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICBh
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllcik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGVxdWl2LCAiY29udGVudC1zZWN1cml0
eS1wb2xpY3kiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCBmZGJlM2Zj
NTg3YzMyY2I1OTQ4NzYxMmYwNjNlYjc0MTg5NWFmODVhLi40YjJmNmMyMzdlYzA3OGYzZmViMGFh
MDc5YmQyNDBhYTlkMmYxODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBA
IC0yOTYsNyArMjk2LDcgQEAgdm9pZCBTY3JpcHRFbGVtZW50OjpleGVjdXRlU2NyaXB0KGNvbnN0
IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCiAKICNpZiBFTkFCTEUoTk9TTklGRikKICAg
ICBpZiAobV9pc0V4dGVybmFsU2NyaXB0ICYmIG1fY2FjaGVkU2NyaXB0ICYmICFtX2NhY2hlZFNj
cmlwdC0+bWltZVR5cGVBbGxvd2VkQnlOb3NuaWZmKCkpIHsKLSAgICAgICAgbV9lbGVtZW50LT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiUmVmdXNlZCB0byBleGVjdXRlIHNjcmlwdCBmcm9tICciICsgbV9jYWNoZWRTY3Jp
cHQtPnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgYmVjYXVzZSBpdHMgTUlNRSB0eXBlICgnIiAr
IG1fY2FjaGVkU2NyaXB0LT5taW1lVHlwZSgpICsgIicpIGlzIG5vdCBleGVjdXRhYmxlLCBhbmQg
c3RyaWN0IE1JTUUgdHlwZSBjaGVja2luZyBpcyBlbmFibGVkLiIpOworICAgICAgICBtX2VsZW1l
bnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJSZWZ1c2VkIHRvIGV4ZWN1dGUgc2NyaXB0IGZyb20gJyIgKyBt
X2NhY2hlZFNjcmlwdC0+dXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBiZWNhdXNlIGl0cyBNSU1F
IHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVUeXBlKCkgKyAiJykgaXMgbm90IGV4ZWN1
dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNraW5nIGlzIGVuYWJsZWQuIik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuY3BwCmluZGV4IDQ3MDM5N2E3NzM5ZjY1NzAyNTQ5ZmFkMmFmNzczNmRlZTM4ODFmN2Qu
LjNkMjQyZDZjMDc0NzNjNTgxMTc5MGNlMmMzYTU4NDE0YmEyNmQwOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApAQCAtNDQ5LDcgKzQ0OSw3IEBAIHZvaWQgcmVw
b3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1bWVudCwgVmlld3BvcnRFcnJvckNvZGUg
ZXJyb3JDb2RlLCBjb25zCiAgICAgICAgIG1lc3NhZ2UuYXBwZW5kKCIgTm90ZSB0aGF0ICc7JyBp
cyBub3QgYSBzZXBhcmF0b3IgaW4gdmlld3BvcnQgdmFsdWVzLiBUaGUgbGlzdCBzaG91bGQgYmUg
Y29tbWEtc2VwYXJhdGVkLiIpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQg
YmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICBkb2N1bWVudC0+
YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIHZpZXdwb3J0RXJyb3JNZXNzYWdl
TGV2ZWwoZXJyb3JDb2RlKSwgbWVzc2FnZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKFJlbmRlcmluZ01lc3NhZ2VTb3VyY2UsIHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoZXJy
b3JDb2RlKSwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IGRlYTg0YzBl
NmRiMTE5YmRhZTc5MjM1OGIwYzJjMmY3YTdhY2M3NGIuLjcwYWYwYmM1ZDFkZmZhM2Q0YTY4N2Vm
YTQxN2MxNTUzMDZkODE5MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNv
bnRyb2xFbGVtZW50LmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHN0YXRpYyBib29sIHNob3VsZEF1
dG9mb2N1cyhIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgaWYgKGVsZW1lbnQtPmRvY3VtZW50KCktPmlzU2FuZGJveGVkKFNhbmRib3hB
dXRvbWF0aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91
bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgZWxl
bWVudC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdXRvZm9jdXNpbmcgb24gYSBmb3JtIGNvbnRyb2wg
YmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1zY3Jp
cHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJCbG9ja2VkIGF1dG9mb2N1c2luZyBvbiBhIGZvcm0gY29udHJvbCBiZWNhdXNlIHRo
ZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1p
c3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBp
ZiAoZWxlbWVudC0+aGFzQXV0b2ZvY3VzZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcAppbmRleCA5NTNmZWM2ZWQ3MDJlYTc3YjEwMjc3NjYwYWZjZmMxZWU4MjY4MTdk
Li5jZWIxMmQxYjI4YWE2OTlkMjIwODVjNjE3YTYxNDViZWY5NThhNzQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0yNjEsNyArMjYxLDcgQEAgYm9vbCBIVE1M
Rm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVseShFdmVudCogZXZlbnQpCiAgICAgICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSgiQW4gaW52YWxp
ZCBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lPSclbmFtZScgaXMgbm90IGZvY3VzYWJsZS4iKTsKICAg
ICAgICAgICAgIG1lc3NhZ2UucmVwbGFjZSgiJW5hbWUiLCB1bmhhbmRsZWRBc3NvY2lhdGVkRWxl
bWVudC0+bmFtZSgpKTsKLSAgICAgICAgICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KEhUTUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgICAg
ICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0
dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAppbmRl
eCA1MmVlOThhZDAwZjdmZjI0OTE3NWQ5YTM4NzYzZTY2NjdlN2Q2NmYwLi40ZDg2NDhiZDBhYjc4
MTEyN2E3MzE3NDM3NzA0ZDQ3ZTdkZTM2OWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
RnJhbWVFbGVtZW50LmNwcApAQCAtOTAsNyArOTAsNyBAQCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNT
dAogICAgICAgICBTdHJpbmcgaW52YWxpZFRva2VuczsKICAgICAgICAgc2V0U2FuZGJveEZsYWdz
KHZhbHVlLmlzTnVsbCgpID8gU2FuZGJveE5vbmUgOiBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2Fu
ZGJveFBvbGljeSh2YWx1ZSwgaW52YWxpZFRva2VucykpOwogICAgICAgICBpZiAoIWludmFsaWRU
b2tlbnMuaXNOdWxsKCkpCi0gICAgICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShIVE1MTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciB3aGlsZSBwYXJz
aW5nIHRoZSAnc2FuZGJveCcgYXR0cmlidXRlOiAiICsgaW52YWxpZFRva2Vucyk7CisgICAgICAg
ICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igd2hpbGUgcGFyc2luZyB0aGUgJ3NhbmRib3gnIGF0dHJp
YnV0ZTogIiArIGludmFsaWRUb2tlbnMpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBzZWFtbGVz
c0F0dHIpIHsKICAgICAgICAgLy8gSWYgd2UncmUgYWRkaW5nIG9yIHJlbW92aW5nIHRoZSBzZWFt
bGVzcyBhdHRyaWJ1dGUsIHdlIG5lZWQgdG8gZm9yY2UgdGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8g
cmVjYWxjdWxhdGUgaXRzIFN0eWxlUmVzb2x2ZXIuCiAgICAgICAgIGlmIChjb250ZW50RG9jdW1l
bnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDQ0MmMxOWU2YjUzNzNhZjY3YjU2MWFkMmJjYmIyYTAy
MDQ4M2NmZWQuLmMxNDExMGU0MjlhYWI1NDNmMDU1ODE3NDc3MDIxNWNjOTRmYjMwMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcApAQCAtMTg2Nyw3ICsxODY3LDcgQEAgUGFzc1JlZlB0cjxJbWFnZURhdGE+IENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRhKEltYWdlQnVmZmVyOjpDb29yZGkK
IHsKICAgICBpZiAoIWNhbnZhcygpLT5vcmlnaW5DbGVhbigpKSB7CiAgICAgICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiVW5hYmxl
IHRvIGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVl
biB0YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRhLiIpKSk7Ci0gICAgICAgIGNhbnZhcygpLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBjb25zb2xlTWVzc2FnZSk7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA1YmVmNzBkMmM2NWMzODVlYWU3ZGQyNzY5YTZh
YjI2MDY1MjM0ZWI1Li5jYmZiZDM3MjZlZWY1ZjViODM0ODVmNjBjZmIwYzFiYTI5NDg0MzYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAKQEAgLTU0ODMsNyArNTQ4Myw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpwcmludFdhcm5pbmdUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIERvY3Vt
ZW50KiBkb2N1bWVudCA9IGNhbnZhcygpLT5kb2N1bWVudCgpOwogICAgIGlmICghZG9jdW1lbnQp
CiAgICAgICAgIHJldHVybjsKLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1l
c3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGRvY3VtZW50
LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBXYXJuaW5nTWVzc2Fn
ZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlk
YXRlRnJhbWVidWZmZXJGdW5jUGFyYW1ldGVycyhjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdD
M0RlbnVtIHRhcmdldCwgR0MzRGVudW0gYXR0YWNobWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvWFNTQXVkaXRvci5jcHAKaW5kZXggZTYxZmM0Njk5YWYyNTIzOGFlYzAwM2RlNzJkMTcx
MDA1ZDExZjk0MS4uMWEwMjY0NDQ2ZDM3ODE2MTQwYWYwMjExNTIxMjNjZjFkZWFhMjIzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKQEAgLTI4OSw3ICsyODks
NyBAQCB2b2lkIFhTU0F1ZGl0b3I6OmluaXQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICh4c3NQcm90ZWN0aW9uSGVhZGVyID09IENvbnRl
bnRTZWN1cml0eVBvbGljeTo6UmVmbGVjdGVkWFNTSW52YWxpZCkKLSAgICAgICAgICAgIGRvY3Vt
ZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJvdGVjdGlvbjogIiArIGhlYWRlclZhbHVl
ICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNoYXJhY3RlciBwb3NpdGlvbiAiICsgU3Ry
aW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikgKyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0
aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CisgICAgICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29s
ZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9y
IHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246ICIgKyBoZWFkZXJWYWx1ZSArICI6ICIg
ICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIgcG9zaXRpb24gIiArIFN0cmluZzo6Zm9y
bWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhlIGRlZmF1bHQgcHJvdGVjdGlvbnMgd2ls
bCBiZSBhcHBsaWVkLiIpOwogCiAgICAgICAgIG1feHNzUHJvdGVjdGlvbiA9IGNvbWJpbmVYU1NQ
cm90ZWN0aW9uSGVhZGVyQW5kQ1NQKHhzc1Byb3RlY3Rpb25IZWFkZXIsIGRvY3VtZW50LT5jb250
ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVmbGVjdGVkWFNTRGlzcG9zaXRpb24oKSk7CiAgICAgICAg
IG1fcmVwb3J0VVJMID0geHNzUHJvdGVjdGlvblJlcG9ydFVSTDsgLy8gRklYTUU6IENvbWJpbmUg
dGhlIHR3byByZXBvcnQgVVJMcyBpbiBzb21lIHJlYXNvbmFibGUgd2F5LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAKaW5kZXggMWFjMTI4
OGFiZDIzYmE5MmQzZmExOGI1MmU1YTYxNzM2N2VhOTgxNC4uNGEwZmUzZGQ0MmNkMjYxMzUwYzA2
ZWIwNTE3NjI3ZTU0YTlmN2UzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwCkBAIC02MSw3ICs2MSw3IEBAIHZvaWQgWFNTQXVkaXRv
ckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdChjb25zdCBYU1NJbmZvJiB4c3NJbmZvKQogCiAgICAg
Ly8gRklYTUU6IENvbnNpZGVyIHVzaW5nIGEgbW9yZSBoZWxwZnVsIGNvbnNvbGUgbWVzc2FnZS4K
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsIChBU0NJSUxp
dGVyYWwoIlJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFTY3JpcHQgc2NyaXB0LiBTb3VyY2UgY29k
ZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3QuXG4iKSkpOwotICAgIG1fZG9jdW1lbnQt
PmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNv
bnNvbGVNZXNzYWdlKTsKKyAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0
eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAg
ICBpZiAoeHNzSW5mby5tX2RpZEJsb2NrRW50aXJlUGFnZSkKICAgICAgICAgbV9kb2N1bWVudC0+
ZnJhbWUoKS0+bG9hZGVyKCktPnN0b3BBbGxMb2FkZXJzKCk7CkBAIC04NCw3ICs4NCw3IEBAIHZv
aWQgWFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdChjb25zdCBYU1NJbmZvJiB4c3NJ
bmZvKQogICAgIH0KIAogICAgIGlmICh4c3NJbmZvLm1fZGlkQmxvY2tFbnRpcmVQYWdlKSB7Ci0g
ICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJy
b3JNZXNzYWdlTGV2ZWwsIFN0cmluZygiRW50aXJlIHBhZ2Ugd2lsbCBiZSBibG9ja2VkLiIpKTsK
KyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291
cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgU3RyaW5nKCJFbnRpcmUgcGFnZSB3aWxsIGJlIGJsb2Nr
ZWQuIikpOwogICAgICAgICBtX2RvY3VtZW50LT5mcmFtZSgpLT5uYXZpZ2F0aW9uU2NoZWR1bGVy
KCktPnNjaGVkdWxlTG9jYXRpb25DaGFuZ2UobV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSwg
U3RyaW5nKCJkYXRhOnRleHQvaHRtbCw8cD48L3A+IiksIGJsYW5rVVJMKCkpOwogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuY3BwCmluZGV4IDU0ZWQz
MTYwNjgwZmY5ZjJmOTZlOGY2NWMxNTFjYjIwMmY3ZjBkNmIuLmNmZDYzMjEzZmIwMjgwMDk5M2Zh
OTA0ZTIzOGVhODBjMjY4YTk1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmNwcApAQCAtMTM3LDExICsxMzcsMTUgQEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6
YXV0b2dlbmVyYXRlTWV0YWRhdGEoYm9vbCBjYW5HZW5lcmF0ZUNhbGxTdGFjaywgU2NyaXB0U3Rh
dGUKIHN0YXRpYyBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6
RW51bSBtZXNzYWdlU291cmNlVmFsdWUoTWVzc2FnZVNvdXJjZSBzb3VyY2UpCiB7CiAgICAgc3dp
dGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIEhUTUxNZXNzYWdlU291cmNlOiByZXR1cm4gVHlwZUJ1
aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6Okh0bWw7CiAgICAgY2FzZSBY
TUxNZXNzYWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNz
YWdlOjpTb3VyY2U6OlhtbDsKICAgICBjYXNlIEpTTWVzc2FnZVNvdXJjZTogcmV0dXJuIFR5cGVC
dWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpKYXZhc2NyaXB0OwogICAg
IGNhc2UgTmV0d29ya01lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6TmV0d29yazsKICAgICBjYXNlIENvbnNvbGVBUElNZXNz
YWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpT
b3VyY2U6OkNvbnNvbGVfYXBpOworICAgIGNhc2UgU3RvcmFnZU1lc3NhZ2VTb3VyY2U6IHJldHVy
biBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U3RvcmFnZTsK
KyAgICBjYXNlIEFwcENhY2hlTWVzc2FnZVNvdXJjZTogcmV0dXJuIFR5cGVCdWlsZGVyOjpDb25z
b2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpBcHBjYWNoZTsKKyAgICBjYXNlIFJlbmRlcmlu
Z01lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3Nh
Z2U6OlNvdXJjZTo6UmVuZGVyaW5nOworICAgIGNhc2UgQ1NTTWVzc2FnZVNvdXJjZTogcmV0dXJu
IFR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpDc3M7CisgICAg
Y2FzZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U2VjdXJpdHk7CiAgICAgY2FzZSBPdGhlck1lc3NhZ2VT
b3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJj
ZTo6T3RoZXI7CiAgICAgfQogICAgIHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29s
ZU1lc3NhZ2U6OlNvdXJjZTo6T3RoZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Lmpzb24KaW5kZXggZmJlMzBiMjc0NmUzYWFkOGNmMzIzZTk0ODZkODgwYzM5NzQ1NzY1My4uZjJk
NzQzZjlkNWIzZjk5NTEyNmI0Mjc5NjVjM2JhZTViODRhYTg1MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtNzY4LDggKzc2OCw4IEBACiAgICAgICAgICAgICAg
ICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29u
c29sZSBtZXNzYWdlLiIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAic291cmNlIiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0i
OiBbImh0bWwiLCAid21sIiwgInhtbCIsICJqYXZhc2NyaXB0IiwgIm5ldHdvcmsiLCAiY29uc29s
ZS1hcGkiLCAib3RoZXIiXSwgImRlc2NyaXB0aW9uIjogIk1lc3NhZ2Ugc291cmNlLiIgfSwKLSAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsZXZlbCIsICJ0eXBlIjogInN0cmluZyIsICJl
bnVtIjogWyJ0aXAiLCAibG9nIiwgIndhcm5pbmciLCAiZXJyb3IiLCAiZGVidWciXSwgImRlc2Ny
aXB0aW9uIjogIk1lc3NhZ2Ugc2V2ZXJpdHkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInNvdXJjZSIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJ4bWwiLCAiamF2YXNj
cmlwdCIsICJuZXR3b3JrIiwgImNvbnNvbGUtYXBpIiwgInN0b3JhZ2UiLCAiYXBwY2FjaGUiLCAi
cmVuZGVyaW5nIiwgImNzcyIsICJzZWN1cml0eSIsICJvdGhlciJdLCAiZGVzY3JpcHRpb24iOiAi
TWVzc2FnZSBzb3VyY2UuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxldmVs
IiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0iOiBbImxvZyIsICJ3YXJuaW5nIiwgImVycm9yIiwg
ImRlYnVnIl0sICJkZXNjcmlwdGlvbiI6ICJNZXNzYWdlIHNldmVyaXR5LiIgfSwKICAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJ0ZXh0IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0
aW9uIjogIk1lc3NhZ2UgdGV4dC4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dHlwZSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJlbnVtIjogWyJsb2ci
LCAiZGlyIiwgImRpcnhtbCIsICJ0YWJsZSIsICJ0cmFjZSIsICJjbGVhciIsICJzdGFydEdyb3Vw
IiwgInN0YXJ0R3JvdXBDb2xsYXBzZWQiLCAiZW5kR3JvdXAiLCAiYXNzZXJ0IiwgInRpbWluZyIs
ICJwcm9maWxlIiwgInByb2ZpbGVFbmQiXSwgImRlc2NyaXB0aW9uIjogIkNvbnNvbGUgbWVzc2Fn
ZSB0eXBlLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ1cmwiLCAidHlwZSI6
ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVVJMIG9mIHRoZSBt
ZXNzYWdlIG9yaWdpbi4iIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRl
eCBiZTQ3MWQ0NWM0OWM5OGU3OGU4NDNkMmQ0NDVkOGMzZWExYmIxMmJjLi5kZWUyOGYwMWNjM2Y1
ZGRiODM3OWY5NGQyODdhMGE4ZTZmMDlhMDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKQEAgLTMzNiw3ICszMzYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzdWJtaXRGb3Jt
KFBhc3NSZWZQdHI8Rm9ybVN1Ym1pc3Npb24+IHN1Ym1pc3Npb24pCiAKICAgICBpZiAoaXNEb2N1
bWVudFNhbmRib3hlZChtX2ZyYW1lLCBTYW5kYm94Rm9ybXMpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9mZiB0aGUgY29uc29sZSBvbmNlIGEgc29s
dXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzI3NCBl
eGlzdHMuCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhU
TUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgZm9ybSBzdWJtaXNz
aW9uIHRvICciICsgc3VibWlzc2lvbi0+YWN0aW9uKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBiZWNh
dXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LWZvcm1zJyBw
ZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJCbG9ja2VkIGZvcm0gc3VibWlzc2lvbiB0byAnIiArIHN1Ym1pc3Npb24tPmFjdGlvbigpLmVs
aWRlZFN0cmluZygpICsgIicgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRib3hlZCBh
bmQgdGhlICdhbGxvdy1mb3JtcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCkBAIC0xNDEwLDcgKzE0MTAsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpy
ZXBvcnRMb2NhbExvYWRGYWlsZWQoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVybCkKICAg
ICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+
YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk5v
dCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6ICIgKyB1cmwpOworICAgIGZyYW1lLT5k
b2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9y
TWVzc2FnZUxldmVsLCAiTm90IGFsbG93ZWQgdG8gbG9hZCBsb2NhbCByZXNvdXJjZTogIiArIHVy
bCk7CiB9CiAKIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgRnJhbWVMb2FkZXI6OmluaXRpYWxSZXF1
ZXN0KCkgY29uc3QKQEAgLTMzNDYsNyArMzM0Niw3IEBAIEZyYW1lKiBjcmVhdGVXaW5kb3coRnJh
bWUqIG9wZW5lckZyYW1lLCBGcmFtZSogbG9va3VwRnJhbWUsIGNvbnN0IEZyYW1lTG9hZFJlcXVl
CiAgICAgLy8gU2FuZGJveGVkIGZyYW1lcyBjYW5ub3Qgb3BlbiBuZXcgYXV4aWxpYXJ5IGJyb3dz
aW5nIGNvbnRleHRzLgogICAgIGlmIChpc0RvY3VtZW50U2FuZGJveGVkKG9wZW5lckZyYW1lLCBT
YW5kYm94UG9wdXBzKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBi
ZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgotICAgICAgICBvcGVuZXJG
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVy
cm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBvcGVuaW5nICciICsgcmVxdWVzdC5yZXNvdXJjZVJl
cXVlc3QoKS51cmwoKS5lbGlkZWRTdHJpbmcoKSArICInIGluIGEgbmV3IHdpbmRvdyBiZWNhdXNl
IHRoZSByZXF1ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJveGVkIGZyYW1lIHdob3NlICdhbGxvdy1w
b3B1cHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKKyAgICAgICAgb3BlbmVyRnJhbWUtPmRv
Y3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJCbG9ja2VkIG9wZW5pbmcgJyIgKyByZXF1ZXN0LnJlc291cmNlUmVxdWVz
dCgpLnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgaW4gYSBuZXcgd2luZG93IGJlY2F1c2UgdGhl
IHJlcXVlc3Qgd2FzIG1hZGUgaW4gYSBzYW5kYm94ZWQgZnJhbWUgd2hvc2UgJ2FsbG93LXBvcHVw
cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDgxYTEyOWQyMGIwOWMwNDE5
ZDgzM2U4OGFmZGZlOTdmZmEyODhhMDYuLjc3MzAzYjk4MGY5NGFkYjQyZjk3NmVlNTdmNGVlNTMw
MjQ2YWM1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtMjk0LDcg
KzI5NCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSkKICAgICAgICAgZXJyb3JFdmVudFNlbmRlcigpLmRpc3BhdGNoRXZlbnRTb29u
KHRoaXMpOwogCiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVz
c2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIGltYWdlIGxvYWQgZGVuaWVkIGJ5IENy
b3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeS4iKSkpOwotICAgICAgICBtX2VsZW1l
bnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2Fn
ZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICAgICAgQVNTRVJUKCFtX2hhc1BlbmRpbmdM
b2FkRXZlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IDM3MjJhYTk0NTdmZjY3M2JiOWM1NTdjZjg2NjcwMTFjOWM5NTYwOWYuLmZhZTRl
MDI2MDM3ZWNkMjdkOGQ3ZGEyZThjMDQ3NTQzMjJmZmM2ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00MTEsNyArNDExLDcgQEAgdm9pZCBN
YWluUmVzb3VyY2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlLCBjb25zdCBSZXNvdXIKICAgICAgICAgaWYgKGZyYW1lTG9hZGVyKCktPnNob3VsZEludGVy
cnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnRlbnQsIHIudXJsKCksIGlkZW50aWZpZXIoKSkp
IHsKICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclhG
cmFtZU9wdGlvbnNEZW5pZWQobV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKSwgZG9jdW1lbnRMb2Fk
ZXIoKSwgaWRlbnRpZmllcigpLCByKTsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJl
ZnVzZWQgdG8gZGlzcGxheSAnIiArIHIudXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiJyBpbiBhIGZy
YW1lIGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRvICciICsgY29udGVudCArICIn
LiI7Ci0gICAgICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5mcmFtZSgpLT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNz
YWdlLCBpZGVudGlmaWVyKCkpOworICAgICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+ZnJhbWUo
KS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgaWRlbnRpZmllcigpKTsKIAogICAgICAgICAgICAg
Y2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKaW5kZXggNDc1MTQxMmQ0ODU0MDlkYjM1M2M2NzY4MjEz
YjVhYjQ0YWNlOTEzYi4uZTNlZmY3NTRkODY3ZThiMzc3ZmVlMTcwMjllYzlkZGU5ZTUxMjYzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcApAQCAt
OTYsNyArOTYsNyBAQCBib29sIE1peGVkQ29udGVudENoZWNrZXI6OmNhblJ1bkluc2VjdXJlQ29u
dGVudChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sCiB2b2lkIE1peGVkQ29udGVudENo
ZWNrZXI6OmxvZ1dhcm5pbmcoYm9vbCBhbGxvd2VkLCBjb25zdCBTdHJpbmcmIGFjdGlvbiwgY29u
c3QgS1VSTCYgdGFyZ2V0KSBjb25zdAogewogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmlu
ZygoYWxsb3dlZCA/ICIiIDogIltibG9ja2VkXSAiKSwgIlRoZSBwYWdlIGF0ICIsIG1fZnJhbWUt
PmRvY3VtZW50KCktPnVybCgpLmVsaWRlZFN0cmluZygpLCAiICIsIGFjdGlvbiwgIiBpbnNlY3Vy
ZSBjb250ZW50IGZyb20gIiwgdGFyZ2V0LmVsaWRlZFN0cmluZygpLCAiLlxuIik7Ci0gICAgbV9m
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIFdh
cm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmFk
ZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgV2FybmluZ01lc3NhZ2VMZXZl
bCwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKaW5kZXggMGJhNjM2YjhlODU0MjU2M2E3MTI2ZGNh
ZDFjN2I0NDc4OTExYzU5Ni4uMjZiYzhjYjFkYjliZGE0NzUwZDk0M2U5ZjdhZjRjZWVlZmZiYmVm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKQEAgLTExOCw3
ICsxMTgsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6Y29yc1BvbGljeVByZXZlbnRlZExvYWQo
KQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFT
Q0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIHRleHQgdHJhY2sgbG9hZCBkZW5pZWQgYnkgQ3Jvc3Mt
T3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIpKSk7CiAgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwot
ICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVz
c2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNz
YWdlKTsKICAgICBtX3N0YXRlID0gRmFpbGVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IGY2
YTdkMjQzZTgwZmY3NjAxMWEyNTg5ZDRjY2YyY2FmMTQxOWI2YjUuLjQzYzgxNTVhZjIxNmZkMWFl
Yjc0ODQyNzMyMTM0MjZjYWFhYzRjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC00NzUsNyArNDc1
LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmFib3J0KEZyYW1lKiBmcmFtZSkKICAg
ICBpZiAobV9jb21wbGV0aW9uVHlwZSAhPSBOb25lKQogICAgICAgICByZXR1cm47CiAKLSAgICBm
cmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBE
ZWJ1Z01lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIGRvd25sb2FkIHByb2Nlc3Mgd2Fz
IGFib3J0ZWQuIik7CisgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE5l
dHdvcmtNZXNzYWdlU291cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hl
IGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIik7CiAgICAgY2FjaGVVcGRhdGVGYWlsZWQo
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggMzU2MGU5MjI4MGVkYjc4YzI4Zjc0NTIwMzBiNzE3Y2Y0NWNj
Yjc3Ny4uNGI0Njk5YmQ2NzIwOWZmOTdhZDlhNjk3MzZmZDAzMDdkOTVjMWYzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC02NjIsNyArNjYyLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJpbnRBY2Nl
c3NEZW5pZWRNZXNzYWdlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKICAgICBlbHNlCiAgICAgICAg
IG1lc3NhZ2UgPSAiVW5zYWZlIGF0dGVtcHQgdG8gbG9hZCBVUkwgIiArIHVybC5lbGlkZWRTdHJp
bmcoKSArICIgZnJvbSBmcmFtZSB3aXRoIFVSTCAiICsgbV9kb2N1bWVudC0+dXJsKCkuZWxpZGVk
U3RyaW5nKCkgKyAiLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guXG4i
OwogCi0gICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgZnJhbWUoKS0+ZG9j
dW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1l
c3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNl
dEF1dG9Mb2FkSW1hZ2VzKGJvb2wgZW5hYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db25zb2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKaW5kZXgg
ZjM5OGMyNTJjZDVmNjEyYzdjMzc0NGVmMGY4ZjY4NWViZjdmOTJlNC4uZWE1MzdjNGZiMjA5MGQ0
MDEwY2YwYWY2MDY5ZGMwOWEyMjNiMGQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db25zb2xlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCkBAIC04
OCw5ICs4OCw2IEBAIHN0YXRpYyB2b2lkIHByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwKIHsKICAgICBjb25zdCBjaGFyKiBz
b3VyY2VTdHJpbmc7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIEhUTUxNZXNzYWdl
U291cmNlOgotICAgICAgICBzb3VyY2VTdHJpbmcgPSAiSFRNTCI7Ci0gICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJjZToKICAgICAgICAgc291cmNlU3RyaW5nID0gIlhNTCI7
CiAgICAgICAgIGJyZWFrOwpAQCAtMTAzLDYgKzEwMCwyMSBAQCBzdGF0aWMgdm9pZCBwcmludE1l
c3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxl
dmVsCiAgICAgY2FzZSBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZToKICAgICAgICAgc291cmNlU3Ry
aW5nID0gIkNPTlNPTEVBUEkiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFN0b3JhZ2VNZXNz
YWdlU291cmNlOgorICAgICAgICBzb3VyY2VTdHJpbmcgPSAiU1RPUkFHRSI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQXBwQ2FjaGVNZXNzYWdlU291cmNlOgorICAgICAgICBzb3VyY2VTdHJp
bmcgPSAiQVBQQ0FDSEUiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlbmRlcmluZ01lc3Nh
Z2VTb3VyY2U6CisgICAgICAgIHNvdXJjZVN0cmluZyA9ICJSRU5ERVJJTkciOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6CisgICAgICAgIHNvdXJjZVN0cmluZyA9
ICJDU1MiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNlY3VyaXR5TWVzc2FnZVNvdXJjZToK
KyAgICAgICAgc291cmNlU3RyaW5nID0gIlNFQ1VSSVRZIjsKKyAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBPdGhlck1lc3NhZ2VTb3VyY2U6CiAgICAgICAgIHNvdXJjZVN0cmluZyA9ICJPVEhFUiI7
CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xl
VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZVR5cGVzLmgKaW5kZXggODEwZGEx
ZmI2MGY5YzExOTRiYmE1YjBlNWVlNTkzZGFhMGU4NzE4Yi4uODA0YTE2N2NjOTViN2ZmYzg0NWY0
MzU3NzZiZTBlMDVmMzE1ZTRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25z
b2xlVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGVUeXBlcy5oCkBAIC0y
OSwxMSArMjksMTUgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBNZXNzYWdlU291cmNl
IHsKLSAgICBIVE1MTWVzc2FnZVNvdXJjZSwKICAgICBYTUxNZXNzYWdlU291cmNlLAogICAgIEpT
TWVzc2FnZVNvdXJjZSwKICAgICBOZXR3b3JrTWVzc2FnZVNvdXJjZSwKICAgICBDb25zb2xlQVBJ
TWVzc2FnZVNvdXJjZSwKKyAgICBTdG9yYWdlTWVzc2FnZVNvdXJjZSwKKyAgICBBcHBDYWNoZU1l
c3NhZ2VTb3VyY2UsCisgICAgUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwKKyAgICBDU1NNZXNzYWdl
U291cmNlLAorICAgIFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwKICAgICBPdGhlck1lc3NhZ2VTb3Vy
Y2UsCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5j
cHAKaW5kZXggMzljOTE3YjAyNmMzODkxNTUzZjk1MTU2MmY1MmFhZmYxOGY3ZTIzNi4uNjhjNDQx
YjRiMjIzM2U3ZmY2NDU2Njc1NTI0OGFiMmE1YWZiYWZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMTgxNSw3ICsxODE1LDcgQEAgdm9p
ZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydE1pc3NpbmdSZXBvcnRVUkkoY29uc3QgU3Ry
aW5nJiBwb2xpY3kpIGNvbnN0CiAKIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpsb2dUb0Nv
bnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNv
bnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIFNjcmlwdFN0YXRlKiBzdGF0ZSkg
Y29uc3QKIHsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkws
IGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCksIHN0YXRlKTsKKyAgICBtX3NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLm9uZUJhc2VkSW50
KCksIHN0YXRlKTsKIH0KIAogdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydEJsb2Nr
ZWRTY3JpcHRFeGVjdXRpb25Ub0luc3BlY3Rvcihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZVRleHQp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZThlMDExZGYzODRhYzFkMzgy
NDM5MDZkZTZkNzFlM2RiYTk2YjdmZC4uZmZmZGNhZmJhZTQ3ZjNkZjBlYmJhMmNjMzFmZjBiNWMw
NGFlOWIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtODg0LDcgKzg4NCw3IEBA
IHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaE1lc3NhZ2VFdmVudFdpdGhPcmlnaW5DaGVjayhTZWN1
cml0eU9yaWdpbiogaW50ZW5kZWRUYXJnCiAgICAgICAgIGlmICghaW50ZW5kZWRUYXJnZXRPcmln
aW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKSB7
CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJVbmFibGUgdG8gcG9zdCBtZXNzYWdlIHRv
ICIgKyBpbnRlbmRlZFRhcmdldE9yaWdpbi0+dG9TdHJpbmcoKSArCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICIuIFJlY2lwaWVudCBoYXMgb3JpZ2luICIgKyBkb2N1bWVudCgpLT5zZWN1
cml0eU9yaWdpbigpLT50b1N0cmluZygpICsgIi5cbiI7Ci0gICAgICAgICAgICBjb25zb2xlKCkt
PmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwg
c3RhY2tUcmFjZSk7CisgICAgICAgICAgICBjb25zb2xlKCktPmFkZE1lc3NhZ2UoU2VjdXJpdHlN
ZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgc3RhY2tUcmFjZSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5kZXggMmMxZWZiNmNkZWZlMGRlYzFkMjc0
YjgwZDJmYTNjODgwYTg1OWY4Mi4uNjNmOTY1YjI1MDY0MWNlMzM2ZDgyY2I4NjA3MWYyMGQ5M2Fk
YjUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2tDb250cm9sbGVyLmNw
cApAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6cmVxdWVzdFBv
aW50ZXJMb2NrKEVsZW1lbnQqIHRhcmdldCkKIAogICAgIGlmICh0YXJnZXQtPmRvY3VtZW50KCkt
PmlzU2FuZGJveGVkKFNhbmRib3hQb2ludGVyTG9jaykpIHsKICAgICAgICAgLy8gRklYTUU6IFRo
aXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlv
biB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0
cy4KLSAgICAgICAgdGFyZ2V0LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBwb2ludGVyIGxvY2sgb24gYW4g
ZWxlbWVudCBiZWNhdXNlIHRoZSBlbGVtZW50J3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0aGUg
J2FsbG93LXBvaW50ZXItbG9jaycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOworICAgICAgICB0
YXJnZXQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIHBvaW50ZXIgbG9jayBvbiBhbiBlbGVtZW50
IGJlY2F1c2UgdGhlIGVsZW1lbnQncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ct
cG9pbnRlci1sb2NrJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CiAgICAgICAgIGVucXVldWVF
dmVudChldmVudE5hbWVzKCkud2Via2l0cG9pbnRlcmxvY2tlcnJvckV2ZW50LCB0YXJnZXQpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRF
eHRlbnNpb25zLmNwcAppbmRleCBmMTBlNzI5M2FkZjEyZjA4M2NhN2MxMDUzODY0NGM1ZmUxYmRk
NzA4Li5kNjlkZTlkOGI5MTkyM2JhOTA0YjI4Y2U1OTYyMmYyNDM2YzBmMmJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcApAQCAtMTM1LDcgKzEzNSw3
IEBAIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpkaXNwYXRjaFNWR0xvYWRFdmVudFRvT3V0
ZXJtb3N0U1ZHRWxlbWVudHMoKQogc3RhdGljIHZvaWQgcmVwb3J0TWVzc2FnZShEb2N1bWVudCog
ZG9jdW1lbnQsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewog
ICAgIGlmIChkb2N1bWVudC0+ZnJhbWUoKSkKLSAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVN
ZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UpOworICAgICAgICBkb2N1bWVu
dC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIG1lc3Nh
Z2UpOwogfQogCiB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVwb3J0V2FybmluZyhjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYTMwOTVlNjFjMWEzNjM5MDEwNmQ2ZjhlOTRi
ZDQzYjdmMTViNGI3MS4uYjI5ODhkNTk1YTgxZDhhNzA5MTlhMmFmMzFkOWNmZmYzOGQ4MjkwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5tbQpAQCAtOTAsMTEgKzkwLDE1IEBACiAjaW1wb3J0ICJOZXRzY2FwZVBsdWdpbkhvc3RN
YW5hZ2VyLmgiCiAjZW5kaWYKIAotTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlSFRNTE1lc3Nh
Z2VTb3VyY2UgPSBAIkhUTUxNZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVz
c2FnZVhNTE1lc3NhZ2VTb3VyY2UgPSBAIlhNTE1lc3NhZ2VTb3VyY2UiOwogTlNTdHJpbmcgKldl
YkNvbnNvbGVNZXNzYWdlSlNNZXNzYWdlU291cmNlID0gQCJKU01lc3NhZ2VTb3VyY2UiOwogTlNT
dHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlTmV0d29ya01lc3NhZ2VTb3VyY2UgPSBAIk5ldHdvcmtN
ZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNz
YWdlU291cmNlID0gQCJDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSI7CitOU1N0cmluZyAqV2ViQ29u
c29sZU1lc3NhZ2VTdG9yYWdlTWVzc2FnZVNvdXJjZSA9IEAiU3RvcmFnZU1lc3NhZ2VTb3VyY2Ui
OworTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQXBwQ2FjaGVNZXNzYWdlU291cmNlID0gQCJB
cHBDYWNoZU1lc3NhZ2VTb3VyY2UiOworTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlUmVuZGVy
aW5nTWVzc2FnZVNvdXJjZSA9IEAiUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSI7CitOU1N0cmluZyAq
V2ViQ29uc29sZU1lc3NhZ2VDU1NNZXNzYWdlU291cmNlID0gQCJDU1NNZXNzYWdlU291cmNlIjsK
K05TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVNlY3VyaXR5TWVzc2FnZVNvdXJjZSA9IEAiU2Vj
dXJpdHlNZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVyTWVz
c2FnZVNvdXJjZSA9IEAiT3RoZXJNZXNzYWdlU291cmNlIjsKIAogTlNTdHJpbmcgKldlYkNvbnNv
bGVNZXNzYWdlRGVidWdNZXNzYWdlTGV2ZWwgPSBAIkRlYnVnTWVzc2FnZUxldmVsIjsKQEAgLTMy
OSw4ICszMzMsNiBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0UmVzaXphYmxlKGJvb2wgYikK
IGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VTb3VyY2UoTWVzc2FnZVNv
dXJjZSBzb3VyY2UpCiB7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIEhUTUxNZXNz
YWdlU291cmNlOgotICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNv
dXJjZTsKICAgICBjYXNlIFhNTE1lc3NhZ2VTb3VyY2U6CiAgICAgICAgIHJldHVybiBXZWJDb25z
b2xlTWVzc2FnZVhNTE1lc3NhZ2VTb3VyY2U7CiAgICAgY2FzZSBKU01lc3NhZ2VTb3VyY2U6CkBA
IC0zMzksNiArMzQxLDE2IEBAIGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zvck1lc3Nh
Z2VTb3VyY2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UpCiAgICAgICAgIHJldHVybiBXZWJDb25zb2xl
TWVzc2FnZU5ldHdvcmtNZXNzYWdlU291cmNlOwogICAgIGNhc2UgQ29uc29sZUFQSU1lc3NhZ2VT
b3VyY2U6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNzYWdl
U291cmNlOworICAgIGNhc2UgU3RvcmFnZU1lc3NhZ2VTb3VyY2U6CisgICAgICAgIHJldHVybiBX
ZWJDb25zb2xlTWVzc2FnZVN0b3JhZ2VNZXNzYWdlU291cmNlOworICAgIGNhc2UgQXBwQ2FjaGVN
ZXNzYWdlU291cmNlOgorICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VBcHBDYWNoZU1l
c3NhZ2VTb3VyY2U7CisgICAgY2FzZSBSZW5kZXJpbmdNZXNzYWdlU291cmNlOgorICAgICAgICBy
ZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VSZW5kZXJpbmdNZXNzYWdlU291cmNlOworICAgIGNhc2Ug
Q1NTTWVzc2FnZVNvdXJjZToKKyAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlQ1NTTWVz
c2FnZVNvdXJjZTsKKyAgICBjYXNlIFNlY3VyaXR5TWVzc2FnZVNvdXJjZToKKyAgICAgICAgcmV0
dXJuIFdlYkNvbnNvbGVNZXNzYWdlU2VjdXJpdHlNZXNzYWdlU291cmNlOwogICAgIGNhc2UgT3Ro
ZXJNZXNzYWdlU291cmNlOgogICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VPdGhlck1l
c3NhZ2VTb3VyY2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJV
SURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IGNjMDM0NjM1OGExMTAwYTRlZGFkNjI4MzI5ZjdmZTEz
ZjQ4MjBlMjYuLmRkNmQ1Yzk1MWYyODE3NTBmMDA2ZGVmOGU2ZmMwMDQ2NWJmZmJhNmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgKQEAg
LTEwNCwxMSArMTA0LDE1IEBAIGVudW0gewogfTsKIAogLy8gTWVzc2FnZSBTb3VyY2VzLgotZXh0
ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUhUTUxNZXNzYWdlU291cmNlOwogZXh0ZXJu
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVhNTE1lc3NhZ2VTb3VyY2U7CiBleHRlcm4gTlNT
dHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlSlNNZXNzYWdlU291cmNlOwogZXh0ZXJuIE5TU3RyaW5n
ICpXZWJDb25zb2xlTWVzc2FnZU5ldHdvcmtNZXNzYWdlU291cmNlOwogZXh0ZXJuIE5TU3RyaW5n
ICpXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNzYWdlU291cmNlOworZXh0ZXJuIE5TU3Ry
aW5nICpXZWJDb25zb2xlTWVzc2FnZVN0b3JhZ2VNZXNzYWdlU291cmNlOworZXh0ZXJuIE5TU3Ry
aW5nICpXZWJDb25zb2xlTWVzc2FnZUFwcENhY2hlTWVzc2FnZVNvdXJjZTsKK2V4dGVybiBOU1N0
cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VSZW5kZXJpbmdNZXNzYWdlU291cmNlOworZXh0ZXJuIE5T
U3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNTU01lc3NhZ2VTb3VyY2U7CitleHRlcm4gTlNTdHJp
bmcgKldlYkNvbnNvbGVNZXNzYWdlU2VjdXJpdHlNZXNzYWdlU291cmNlOwogZXh0ZXJuIE5TU3Ry
aW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVyTWVzc2FnZVNvdXJjZTsKIAogLy8gTWVzc2FnZSBM
ZXZlbHMuCkBAIC0xNDMsNyArMTQ3LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVz
c2FnZUVycm9yTWVzc2FnZUxldmVsOwogICAgIEBtZXRob2Qgd2ViVmlldzphZGRNZXNzYWdlVG9D
b25zb2xlOndpdGhTb3VyY2U6CiAgICAgQHBhcmFtIHdlYlZpZXcgVGhlIFdlYlZpZXcgc2VuZGlu
ZyB0aGUgZGVsZWdhdGUgbWV0aG9kLgogICAgIEBwYXJhbSBtZXNzYWdlIEEgZGljdGlvbmFyeSBy
ZXByZXNlbnRhdGlvbiBvZiB0aGUgY29uc29sZSBtZXNzYWdlLgotICAgIEBwYXJhbSBzb3VyY2Ug
V2hlcmUgdGhlIG1lc3NhZ2UgY2FtZSBmcm9tLiBTZWUgV2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVz
c2FnZVNvdXJjZSBhbmQgb3RoZXIgc291cmNlIHR5cGVzLgorICAgIEBwYXJhbSBzb3VyY2UgV2hl
cmUgdGhlIG1lc3NhZ2UgY2FtZSBmcm9tLiBTZWUgV2ViQ29uc29sZU1lc3NhZ2VYTUxNZXNzYWdl
U291cmNlIGFuZCBvdGhlciBzb3VyY2UgdHlwZXMuCiAgICAgQGRpc2N1c3Npb24gVGhlIGRpY3Rp
b25hcnkgY29udGFpbnMgdGhlIGZvbGxvd2luZyBrZXlzOgogCiAgICAgPGRsPgpAQCAtMTU1LDgg
KzE1OSw4IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VFcnJvck1lc3NhZ2VM
ZXZlbDsKICAgICAgICAgPGRkPklmIHRoaXMgY2FtZSBmcm9tIGEgZmlsZSwgdGhpcyBpcyB0aGUg
VVJMIHRvIHRoZSBmaWxlIHRoaXMgbWVzc2FnZSBvcmlnaW5hdGVzIGZyb20uPC9kZD4KICAgICAg
ICAgPGR0Pk1lc3NhZ2VTb3VyY2U8L2R0PgogICAgICAgICA8ZGQ+Ci0gICAgICAgICAgICBXaGVy
ZSB0aGUgbWVzc2FnZSBjYW1lIGZyb20uIEhUTUwsIFhNTCwgSmF2YVNjcmlwdCwgQ1NTLCBldGMu
Ci0gICAgICAgICAgICBTZWUgV2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNvdXJjZSBhbmQg
c2ltaWxhciBjb25zdGFudHMuCisgICAgICAgICAgICBXaGVyZSB0aGUgbWVzc2FnZSBjYW1lIGZy
b20uIFhNTCwgSmF2YVNjcmlwdCwgQ1NTLCBldGMuCisgICAgICAgICAgICBTZWUgV2ViQ29uc29s
ZU1lc3NhZ2VYTUxNZXNzYWdlU291cmNlIGFuZCBzaW1pbGFyIGNvbnN0YW50cy4KICAgICAgICAg
PC9kZD4KICAgICAgICAgPGR0Pk1lc3NhZ2VMZXZlbDwvZHQ+CiAgICAgICAgIDxkZD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191782</attachid>
            <date>2013-03-06 10:11:02 -0800</date>
            <delta_ts>2013-03-06 10:57:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110968-20130306220707.patch</filename>
            <type>text/plain</type>
            <size>40146</size>
            <attacher name="Dmitry Zvorygin">zvorygin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjBhYjljZGU5MzlmZDlk
NmI0ZDMyOGM3OWY3MjEwZTliOTQ1NzdhMC4uZTdhOGQ5ZTc3ZmQ2MzdjYjJlODg3MWNkZTBjMzI0
N2Y3YzAyODg1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDEzLTAyLTI3ICBEbWl0
cnkgWnZvcnlnaW4gIDx6dm9yeWdpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNl
IG5ldyBtZXNzYWdlIHNvdXJjZXMgZm9yIGxvZ2dpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5NjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIFJl
bmRlcmluZ01lc3NhZ2VTb3VyY2UsIFN0b3JhZ2VNZXNzYWdlU291cmNlLCBBcHBDYWNoZU1lc3Nh
Z2VTb3VyY2UsIENTU01lc3NhZ2VTb3VyY2UuCisgICAgICAgIENoYW5nZWQgc29tZSBsb2dnaW5n
IGxpbmVzIHRvIGNvbnRhaW4gbW9yZSBkZXNjcmlwdGl2ZSBtZXNzYWdlIHNvdXJjZS4KKworICAg
ICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFiYXNlQmFzZTo6bG9nRXJyb3JNZXNzYWdlKToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRh
YmFzZU1hbmFnZXI6OmxvZ0Vycm9yTWVzc2FnZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hh
bm5lbDo6ZmFpbCk6CisgICAgICAgICogYmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Y2FuRXhlY3V0ZVNjcmlwdHMp
OgorICAgICAgICAqIGNzcy9NZWRpYUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkUmVz
b2x1dGlvbldhcm5pbmdNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYpOgorICAg
ICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVs
ZW1lbnQ6OmV4ZWN1dGVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpyZXBvcnRWaWV3cG9ydFdhcm5pbmcpOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBdXRv
Zm9jdXMpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6dmFsaWRhdGVJbnRlcmFjdGl2ZWx5KToKKyAgICAgICAg
KiBodG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJRnJh
bWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRDo6Z2V0SW1hZ2VEYXRhKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnByaW50V2FybmluZ1RvQ29uc29sZSk6CisgICAgICAg
ICogaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRp
dG9yOjppbml0KToKKyAgICAgICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6WFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdCk6
CisgICAgICAgICogaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om1lc3NhZ2VTb3VyY2VWYWx1ZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6c3VibWl0Rm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVdpbmRv
dyk6CisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogbG9hZGVyL01haW5SZXNv
dXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OnJl
c3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAqIGxvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1peGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcpOgor
ICAgICAgICAqIGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrTG9hZGVyOjpjb3JzUG9saWN5UHJldmVudGVkTG9hZCk6CisgICAgICAgICogbG9h
ZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmFib3J0KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnByaW50QWNjZXNzRGVuaWVkTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9Db25z
b2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJl
Zml4KToKKyAgICAgICAgKiBwYWdlL0NvbnNvbGVUeXBlcy5oOgorICAgICAgICAqIHBhZ2UvQ29u
dGVudFNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0
eVBvbGljeTo6bG9nVG9Db25zb2xlKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdp
bkNoZWNrKToKKyAgICAgICAgKiBwYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQb2ludGVyTG9ja0NvbnRyb2xsZXI6OnJlcXVlc3RQb2ludGVyTG9jayk6
CisgICAgICAgICogc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpyZXBvcnRNZXNzYWdlKToKKwogMjAxMy0wMy0wNSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1
cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgIkxpdmUg
bmF0aXZlIG1lbW9yeSBjaGFydCIgZXhwZXJpbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDk1N2U0
ZDgxM2NlY2VhNTVhZDNiMzI1YjhkY2FkOWJhZTdlMjg0MTUuLmNlN2MyMzE1NWZlYzhiNDQ2ZDFh
M2JmY2QwOTA0OGJiZjVjOGVmYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxMy0wMi0yNyAgRG1pdHJ5IFp2b3J5Z2luICA8enZvcnlnaW5AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIEludHJvZHVjZSBuZXcgbWVzc2FnZSBzb3VyY2VzIGZvciBsb2dnaW5nLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTY4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgICogV2ViVmlldy9XZWJVSURlbGVnYXRlUHJp
dmF0ZS5oOgorCiAyMDEzLTAzLTA0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+
CiAKICAgICAgICAgQlVJTEQgRklYIChyMTQ0NjYyKTogSW1wb3J0IEpTQmFzZS5oIGluIFdlYkZy
YW1lTG9hZERlbGVnYXRlLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VCYXNlLmNwcAppbmRleCBmMzcxMTFiZDU0ZTMwNmI0YzZlMzNiMWZhMWM3
OGZhMWE4MDk2YmQ0Li5hZjIzNzdhNzM3MjU2OWNmNmI5OGIxZmRmNzU4N2E3MTU5NGJjMWEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJh
c2UuY3BwCkBAIC00Niw3ICs0Niw3IEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIERhdGFiYXNl
QmFzZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0CiAKIHZvaWQgRGF0YWJhc2VCYXNl
Ojpsb2dFcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
LT5hZGRDb25zb2xlTWVzc2FnZShTdG9yYWdlTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsIG1lc3NhZ2UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAKaW5k
ZXggMzRlZGEyYTkxNTQ4ZWE5YjUxMDdjMTQ2MDdkZGYwYjE1NmE5ZTVmMy4uODc4ZjhiNzFhODY5
MjhjMWQ3ZjRjYWI2NzZkYmM5OTgyOTFlZDlkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcApAQCAtNDMwLDcgKzQz
MCw3IEBAIHZvaWQgRGF0YWJhc2VNYW5hZ2VyOjppbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250
ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvCiAKIHZvaWQgRGF0YWJhc2VNYW5hZ2VyOjps
b2dFcnJvck1lc3NhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKQogewotICAgIGNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKE90aGVyTWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGNvbnRleHQtPmFk
ZENvbnNvbGVNZXNzYWdlKFN0b3JhZ2VNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
bWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCAy
YzE0MGIxZTI0ZTQ5MzM1MGFhMGY2MjgxMTRjYzAxNzU5OTYxNWRjLi41YjQ1ZTFhNDFmODFjZTll
MjY4YzZjNGM1NWQ4OTkyNDI5ZDY3MWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC0xOTUsNyArMTk1LDcg
QEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0cmluZyYgcmVhc29uKQogICAg
IEFTU0VSVCghbV9zdXNwZW5kZWQpOwogICAgIGlmIChtX2RvY3VtZW50KSB7CiAgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IobV9k
b2N1bWVudCwgbV9pZGVudGlmaWVyLCByZWFzb24pOwotICAgICAgICBtX2RvY3VtZW50LT5hZGRD
b25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29j
a2V0IGNvbm5lY3Rpb24gdG8gJyIgKyBtX2hhbmRzaGFrZS0+dXJsKCkuZWxpZGVkU3RyaW5nKCkg
KyAiJyBmYWlsZWQ6ICIgKyByZWFzb24pOworICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xl
TWVzc2FnZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2Nr
ZXQgY29ubmVjdGlvbiB0byAnIiArIG1faGFuZHNoYWtlLT51cmwoKS5lbGlkZWRTdHJpbmcoKSAr
ICInIGZhaWxlZDogIiArIHJlYXNvbik7CiAgICAgfQogCiAgICAgLy8gSHliaS0xMCBzcGVjaWZp
Y2F0aW9uIGV4cGxpY2l0bHkgc3RhdGVzIHdlIG11c3Qgbm90IGNvbnRpbnVlIHRvIGhhbmRsZSBp
bmNvbWluZyBkYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRD
b250cm9sbGVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9TY3JpcHRDb250cm9s
bGVyQmFzZS5jcHAKaW5kZXggNTM1MTM1ODc2OWVmZGNkM2Q1ZDljZGY1NDYxNTExNDBlY2ZkMDQ0
Ny4uZTNjZjhiZjU4NWU0ZTBiNWQ5ZWU2ODBlODJjYmJlMTU0NzY1YTQzOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvU2NyaXB0Q29udHJvbGxlckJhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL1NjcmlwdENvbnRyb2xsZXJCYXNlLmNwcApAQCAtNDIsNyAr
NDIsNyBAQCBib29sIFNjcmlwdENvbnRyb2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzKFJlYXNvbkZv
ckNhbGxpbmdDYW5FeGVjdXRlU2NyaXB0cyByZWFzbwogICAgIGlmIChtX2ZyYW1lLT5kb2N1bWVu
dCgpICYmIG1fZnJhbWUtPmRvY3VtZW50KCktPmlzU2FuZGJveGVkKFNhbmRib3hTY3JpcHRzKSkg
ewogICAgICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhl
IGNvbnNvbGUgb25jZSBhIHNvbHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDMyNzQgZXhpc3RzLgogICAgICAgICBpZiAocmVhc29uID09IEFib3V0VG9F
eGVjdXRlU2NyaXB0KQotICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29s
ZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBz
Y3JpcHQgZXhlY3V0aW9uIGluICciICsgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkuZWxpZGVk
U3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRoZSBkb2N1bWVudCdzIGZyYW1lIGlzIHNhbmRib3hlZCBh
bmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7IAorICAgICAg
ICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNz
YWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJsb2NrZWQgc2NyaXB0IGV4ZWN1dGlvbiBp
biAnIiArIG1fZnJhbWUtPmRvY3VtZW50KCktPnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgYmVj
YXVzZSB0aGUgZG9jdW1lbnQncyBmcmFtZSBpcyBzYW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctc2Ny
aXB0cycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCmluZGV4IGIwNTRjZjFjYzVmMzE0MzVhMDQ2
OTRkNDU1ZDQ0MjMzNTI5NjI3MDYuLjAyYzg1ZjhmN2I0ZGY2NTgwMmNjYjJlYjAxZGIyMzQ5M2E5
YzJhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCkBAIC0zMjYsNyArMzI2LDcgQEAgc3Rh
dGljIHZvaWQgYWRkUmVzb2x1dGlvbldhcm5pbmdNZXNzYWdlVG9Db25zb2xlKERvY3VtZW50KiBk
b2N1bWVudCwgY29uc3QgU3RyaW4KIAogICAgIG1lc3NhZ2UuYXBwZW5kKHNlcmlhbGl6ZWRFeHBy
ZXNzaW9uKTsKIAotICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNv
dXJjZSwgRGVidWdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25z
b2xlTWVzc2FnZShDU1NNZXNzYWdlU291cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7
CiB9CiAKIHZvaWQgcmVwb3J0TWVkaWFRdWVyeVdhcm5pbmdJZk5lZWRlZChEb2N1bWVudCogZG9j
dW1lbnQsIGNvbnN0IE1lZGlhUXVlcnlTZXQqIG1lZGlhUXVlcnlTZXQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAppbmRleCA5YThiNzhlMWE5ODE0NDg4MWQ2OWYwOTNmYjk1MDU2ZmY5NDMwM2Y3Li4w
YTdlY2Y2ZjE2ZmM3MGVjOTZhOWIzYjRlOTgyYTJkYzUwN2YzNTRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTI4NzQsNyArMjg3NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRw
RXF1aXYoY29uc3QgU3RyaW5nJiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAgICAg
ICAgICAgICAgIFN0cmluZyBtZXNzYWdlID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiArIHVybCgp
LmVsaWRlZFN0cmluZygpICsgIicgaW4gYSBmcmFtZSBiZWNhdXNlIGl0IHNldCAnWC1GcmFtZS1P
cHRpb25zJyB0byAnIiArIGNvbnRlbnQgKyAiJy4iOwogICAgICAgICAgICAgICAgIGZyYW1lTG9h
ZGVyLT5zdG9wQWxsTG9hZGVycygpOwogICAgICAgICAgICAgICAgIGZyYW1lLT5uYXZpZ2F0aW9u
U2NoZWR1bGVyKCktPnNjaGVkdWxlTG9jYXRpb25DaGFuZ2Uoc2VjdXJpdHlPcmlnaW4oKSwgYmxh
bmtVUkwoKSwgU3RyaW5nKCkpOwotICAgICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdlKEpT
TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIHJlcXVlc3RJZGVudGlm
aWVyKTsKKyAgICAgICAgICAgICAgICBhZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCByZXF1ZXN0SWRlbnRpZmllcik7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KGVxdWl2LCAiY29udGVudC1zZWN1cml0eS1wb2xpY3kiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
bGVtZW50LmNwcAppbmRleCBmZGJlM2ZjNTg3YzMyY2I1OTQ4NzYxMmYwNjNlYjc0MTg5NWFmODVh
Li40YjJmNmMyMzdlYzA3OGYzZmViMGFhMDc5YmQyNDBhYTlkMmYxODViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0yOTYsNyArMjk2LDcgQEAgdm9pZCBTY3JpcHRFbGVt
ZW50OjpleGVjdXRlU2NyaXB0KGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUpCiAK
ICNpZiBFTkFCTEUoTk9TTklGRikKICAgICBpZiAobV9pc0V4dGVybmFsU2NyaXB0ICYmIG1fY2Fj
aGVkU2NyaXB0ICYmICFtX2NhY2hlZFNjcmlwdC0+bWltZVR5cGVBbGxvd2VkQnlOb3NuaWZmKCkp
IHsKLSAgICAgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiUmVmdXNlZCB0byBleGVjdXRlIHNjcmlw
dCBmcm9tICciICsgbV9jYWNoZWRTY3JpcHQtPnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgYmVj
YXVzZSBpdHMgTUlNRSB0eXBlICgnIiArIG1fY2FjaGVkU2NyaXB0LT5taW1lVHlwZSgpICsgIicp
IGlzIG5vdCBleGVjdXRhYmxlLCBhbmQgc3RyaWN0IE1JTUUgdHlwZSBjaGVja2luZyBpcyBlbmFi
bGVkLiIpOworICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJSZWZ1c2VkIHRvIGV4
ZWN1dGUgc2NyaXB0IGZyb20gJyIgKyBtX2NhY2hlZFNjcmlwdC0+dXJsKCkuZWxpZGVkU3RyaW5n
KCkgKyAiJyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgKCciICsgbV9jYWNoZWRTY3JpcHQtPm1pbWVU
eXBlKCkgKyAiJykgaXMgbm90IGV4ZWN1dGFibGUsIGFuZCBzdHJpY3QgTUlNRSB0eXBlIGNoZWNr
aW5nIGlzIGVuYWJsZWQuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IDQ3MDM5N2E3NzM5ZjY1NzAy
NTQ5ZmFkMmFmNzczNmRlZTM4ODFmN2QuLjNkMjQyZDZjMDc0NzNjNTgxMTc5MGNlMmMzYTU4NDE0
YmEyNmQwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApAQCAt
NDQ5LDcgKzQ0OSw3IEBAIHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50KiBkb2N1
bWVudCwgVmlld3BvcnRFcnJvckNvZGUgZXJyb3JDb2RlLCBjb25zCiAgICAgICAgIG1lc3NhZ2Uu
YXBwZW5kKCIgTm90ZSB0aGF0ICc7JyBpcyBub3QgYSBzZXBhcmF0b3IgaW4gdmlld3BvcnQgdmFs
dWVzLiBUaGUgbGlzdCBzaG91bGQgYmUgY29tbWEtc2VwYXJhdGVkLiIpOwogCiAgICAgLy8gRklY
TUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2UgYSBz
b2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjc0
IGV4aXN0cy4KLSAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3Vy
Y2UsIHZpZXdwb3J0RXJyb3JNZXNzYWdlTGV2ZWwoZXJyb3JDb2RlKSwgbWVzc2FnZSk7CisgICAg
ZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKFJlbmRlcmluZ01lc3NhZ2VTb3VyY2UsIHZpZXdw
b3J0RXJyb3JNZXNzYWdlTGV2ZWwoZXJyb3JDb2RlKSwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuY3BwCmluZGV4IGRlYTg0YzBlNmRiMTE5YmRhZTc5MjM1OGIwYzJjMmY3YTdhY2M3NGIu
LjcwYWYwYmM1ZDFkZmZhM2Q0YTY4N2VmYTQxN2MxNTUzMDZkODE5MDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtMTgwLDcgKzE4MCw3
IEBAIHN0YXRpYyBib29sIHNob3VsZEF1dG9mb2N1cyhIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBl
bGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGVsZW1lbnQtPmRvY3VtZW50
KCktPmlzU2FuZGJveGVkKFNhbmRib3hBdXRvbWF0aWNGZWF0dXJlcykpIHsKICAgICAgICAgLy8g
RklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRoZSBjb25zb2xlIG9uY2Ug
YSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAz
Mjc0IGV4aXN0cy4KLSAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBhdXRvZm9j
dXNpbmcgb24gYSBmb3JtIGNvbnRyb2wgYmVjYXVzZSB0aGUgZm9ybSdzIGZyYW1lIGlzIHNhbmRi
b3hlZCBhbmQgdGhlICdhbGxvdy1zY3JpcHRzJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7Cisg
ICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVz
c2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIGF1dG9mb2N1c2luZyBvbiBh
IGZvcm0gY29udHJvbCBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVkIGFuZCB0
aGUgJ2FsbG93LXNjcmlwdHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KICAgICBpZiAoZWxlbWVudC0+aGFzQXV0b2ZvY3VzZWQoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCA5NTNmZWM2ZWQ3MDJlYTc3
YjEwMjc3NjYwYWZjZmMxZWU4MjY4MTdkLi5jZWIxMmQxYjI4YWE2OTlkMjIwODVjNjE3YTYxNDVi
ZWY5NThhNzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0y
NjEsNyArMjYxLDcgQEAgYm9vbCBIVE1MRm9ybUVsZW1lbnQ6OnZhbGlkYXRlSW50ZXJhY3RpdmVs
eShFdmVudCogZXZlbnQpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBT
dHJpbmcgbWVzc2FnZSgiQW4gaW52YWxpZCBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lPSclbmFtZScg
aXMgbm90IGZvY3VzYWJsZS4iKTsKICAgICAgICAgICAgIG1lc3NhZ2UucmVwbGFjZSgiJW5hbWUi
LCB1bmhhbmRsZWRBc3NvY2lhdGVkRWxlbWVudC0+bmFtZSgpKTsKLSAgICAgICAgICAgIGRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgbWVzc2FnZSk7CisgICAgICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShSZW5kZXJpbmdNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiAg
ICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJRnJhbWVFbGVtZW50LmNwcAppbmRleCA1MmVlOThhZDAwZjdmZjI0OTE3NWQ5YTM4NzYzZTY2
NjdlN2Q2NmYwLi40ZDg2NDhiZDBhYjc4MTEyN2E3MzE3NDM3NzA0ZDQ3ZTdkZTM2OWFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmNwcApAQCAtOTAsNyArOTAsNyBA
QCB2b2lkIEhUTUxJRnJhbWVFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdAogICAgICAgICBTdHJpbmcgaW52YWxpZFRva2VuczsK
ICAgICAgICAgc2V0U2FuZGJveEZsYWdzKHZhbHVlLmlzTnVsbCgpID8gU2FuZGJveE5vbmUgOiBT
ZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeSh2YWx1ZSwgaW52YWxpZFRva2Vucykp
OwogICAgICAgICBpZiAoIWludmFsaWRUb2tlbnMuaXNOdWxsKCkpCi0gICAgICAgICAgICBkb2N1
bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShIVE1MTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdl
TGV2ZWwsICJFcnJvciB3aGlsZSBwYXJzaW5nIHRoZSAnc2FuZGJveCcgYXR0cmlidXRlOiAiICsg
aW52YWxpZFRva2Vucyk7CisgICAgICAgICAgICBkb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2Fn
ZShPdGhlck1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3Igd2hpbGUgcGFy
c2luZyB0aGUgJ3NhbmRib3gnIGF0dHJpYnV0ZTogIiArIGludmFsaWRUb2tlbnMpOwogICAgIH0g
ZWxzZSBpZiAobmFtZSA9PSBzZWFtbGVzc0F0dHIpIHsKICAgICAgICAgLy8gSWYgd2UncmUgYWRk
aW5nIG9yIHJlbW92aW5nIHRoZSBzZWFtbGVzcyBhdHRyaWJ1dGUsIHdlIG5lZWQgdG8gZm9yY2Ug
dGhlIGNvbnRlbnQgZG9jdW1lbnQgdG8gcmVjYWxjdWxhdGUgaXRzIFN0eWxlUmVzb2x2ZXIuCiAg
ICAgICAgIGlmIChjb250ZW50RG9jdW1lbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDQ0MmMxOWU2
YjUzNzNhZjY3YjU2MWFkMmJjYmIyYTAyMDQ4M2NmZWQuLmMxNDExMGU0MjlhYWI1NDNmMDU1ODE3
NDc3MDIxNWNjOTRmYjMwMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtMTg2Nyw3ICsxODY3LDcgQEAg
UGFzc1JlZlB0cjxJbWFnZURhdGE+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Z2V0SW1hZ2VE
YXRhKEltYWdlQnVmZmVyOjpDb29yZGkKIHsKICAgICBpZiAoIWNhbnZhcygpLT5vcmlnaW5DbGVh
bigpKSB7CiAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2Fn
ZSwgKEFTQ0lJTGl0ZXJhbCgiVW5hYmxlIHRvIGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFzIGJl
Y2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRhLiIp
KSk7Ci0gICAgICAgIGNhbnZhcygpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAgICAg
IGNhbnZhcygpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAgICAgICAgIGVjID0g
U0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA1YmVm
NzBkMmM2NWMzODVlYWU3ZGQyNzY5YTZhYjI2MDY1MjM0ZWI1Li5jYmZiZDM3MjZlZWY1ZjViODM0
ODVmNjBjZmIwYzFiYTI5NDg0MzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTU0ODMsNyArNTQ4Myw3IEBAIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpwcmludFdhcm5pbmdUb0NvbnNvbGUoY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKQogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNhbnZhcygpLT5kb2N1bWVu
dCgpOwogICAgIGlmICghZG9jdW1lbnQpCiAgICAgICAgIHJldHVybjsKLSAgICBkb2N1bWVudC0+
YWRkQ29uc29sZU1lc3NhZ2UoSFRNTE1lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UpOworICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShSZW5kZXJpbmdNZXNz
YWdlU291cmNlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBtZXNzYWdlKTsKIH0KIAogYm9vbCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlRnJhbWVidWZmZXJGdW5jUGFyYW1ldGVycyhjb25z
dCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gYXR0YWNobWVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAKaW5kZXggZTYxZmM0
Njk5YWYyNTIzOGFlYzAwM2RlNzJkMTcxMDA1ZDExZjk0MS4uMWEwMjY0NDQ2ZDM3ODE2MTQwYWYw
MjExNTIxMjNjZjFkZWFhMjIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvWFNTQXVkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVk
aXRvci5jcHAKQEAgLTI4OSw3ICsyODksNyBAQCB2b2lkIFhTU0F1ZGl0b3I6OmluaXQoRG9jdW1l
bnQqIGRvY3VtZW50KQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICh4c3NQ
cm90ZWN0aW9uSGVhZGVyID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVmbGVjdGVkWFNTSW52
YWxpZCkKLSAgICAgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJyb3IgcGFyc2luZyBoZWFkZXIgWC1YU1MtUHJv
dGVjdGlvbjogIiArIGhlYWRlclZhbHVlICsgIjogIiAgKyBlcnJvckRldGFpbHMgKyAiIGF0IGNo
YXJhY3RlciBwb3NpdGlvbiAiICsgU3RyaW5nOjpmb3JtYXQoIiV1IiwgZXJyb3JQb3NpdGlvbikg
KyAiLiBUaGUgZGVmYXVsdCBwcm90ZWN0aW9ucyB3aWxsIGJlIGFwcGxpZWQuIik7CisgICAgICAg
ICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yIHBhcnNpbmcgaGVhZGVyIFgtWFNTLVByb3RlY3Rpb246
ICIgKyBoZWFkZXJWYWx1ZSArICI6ICIgICsgZXJyb3JEZXRhaWxzICsgIiBhdCBjaGFyYWN0ZXIg
cG9zaXRpb24gIiArIFN0cmluZzo6Zm9ybWF0KCIldSIsIGVycm9yUG9zaXRpb24pICsgIi4gVGhl
IGRlZmF1bHQgcHJvdGVjdGlvbnMgd2lsbCBiZSBhcHBsaWVkLiIpOwogCiAgICAgICAgIG1feHNz
UHJvdGVjdGlvbiA9IGNvbWJpbmVYU1NQcm90ZWN0aW9uSGVhZGVyQW5kQ1NQKHhzc1Byb3RlY3Rp
b25IZWFkZXIsIGRvY3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVmbGVjdGVkWFNT
RGlzcG9zaXRpb24oKSk7CiAgICAgICAgIG1fcmVwb3J0VVJMID0geHNzUHJvdGVjdGlvblJlcG9y
dFVSTDsgLy8gRklYTUU6IENvbWJpbmUgdGhlIHR3byByZXBvcnQgVVJMcyBpbiBzb21lIHJlYXNv
bmFibGUgd2F5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVk
aXRvckRlbGVnYXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3JE
ZWxlZ2F0ZS5jcHAKaW5kZXggMWFjMTI4OGFiZDIzYmE5MmQzZmExOGI1MmU1YTYxNzM2N2VhOTgx
NC4uNGEwZmUzZGQ0MmNkMjYxMzUwYzA2ZWIwNTE3NjI3ZTU0YTlmN2UzMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuY3BwCkBAIC02MSw3
ICs2MSw3IEBAIHZvaWQgWFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1NjcmlwdChjb25zdCBY
U1NJbmZvJiB4c3NJbmZvKQogCiAgICAgLy8gRklYTUU6IENvbnNpZGVyIHVzaW5nIGEgbW9yZSBo
ZWxwZnVsIGNvbnNvbGUgbWVzc2FnZS4KICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywg
Y29uc29sZU1lc3NhZ2UsIChBU0NJSUxpdGVyYWwoIlJlZnVzZWQgdG8gZXhlY3V0ZSBhIEphdmFT
Y3JpcHQgc2NyaXB0LiBTb3VyY2UgY29kZSBvZiBzY3JpcHQgZm91bmQgd2l0aGluIHJlcXVlc3Qu
XG4iKSkpOwotICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJj
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAgICBtX2RvY3VtZW50LT5h
ZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVs
LCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICBpZiAoeHNzSW5mby5tX2RpZEJsb2NrRW50aXJlUGFn
ZSkKICAgICAgICAgbV9kb2N1bWVudC0+ZnJhbWUoKS0+bG9hZGVyKCktPnN0b3BBbGxMb2FkZXJz
KCk7CkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgWFNTQXVkaXRvckRlbGVnYXRlOjpkaWRCbG9ja1Nj
cmlwdChjb25zdCBYU1NJbmZvJiB4c3NJbmZvKQogICAgIH0KIAogICAgIGlmICh4c3NJbmZvLm1f
ZGlkQmxvY2tFbnRpcmVQYWdlKSB7Ci0gICAgICAgIG1fZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIFN0cmluZygiRW50aXJlIHBh
Z2Ugd2lsbCBiZSBibG9ja2VkLiIpKTsKKyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1l
c3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgU3RyaW5nKCJF
bnRpcmUgcGFnZSB3aWxsIGJlIGJsb2NrZWQuIikpOwogICAgICAgICBtX2RvY3VtZW50LT5mcmFt
ZSgpLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCktPnNjaGVkdWxlTG9jYXRpb25DaGFuZ2UobV9kb2N1
bWVudC0+c2VjdXJpdHlPcmlnaW4oKSwgU3RyaW5nKCJkYXRhOnRleHQvaHRtbCw8cD48L3A+Iiks
IGJsYW5rVVJMKCkpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZU1lc3NhZ2UuY3BwCmluZGV4IDU0ZWQzMTYwNjgwZmY5ZjJmOTZlOGY2NWMxNTFjYjIwMmY3ZjBk
NmIuLmNmZDYzMjEzZmIwMjgwMDk5M2ZhOTA0ZTIzOGVhODBjMjY4YTk1ZTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApAQCAtMTM3LDExICsxMzcsMTUg
QEAgdm9pZCBDb25zb2xlTWVzc2FnZTo6YXV0b2dlbmVyYXRlTWV0YWRhdGEoYm9vbCBjYW5HZW5l
cmF0ZUNhbGxTdGFjaywgU2NyaXB0U3RhdGUKIHN0YXRpYyBUeXBlQnVpbGRlcjo6Q29uc29sZTo6
Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6RW51bSBtZXNzYWdlU291cmNlVmFsdWUoTWVzc2FnZVNv
dXJjZSBzb3VyY2UpCiB7CiAgICAgc3dpdGNoIChzb3VyY2UpIHsKLSAgICBjYXNlIEhUTUxNZXNz
YWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxkZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpT
b3VyY2U6Okh0bWw7CiAgICAgY2FzZSBYTUxNZXNzYWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxk
ZXI6OkNvbnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OlhtbDsKICAgICBjYXNlIEpTTWVz
c2FnZVNvdXJjZTogcmV0dXJuIFR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6
U291cmNlOjpKYXZhc2NyaXB0OwogICAgIGNhc2UgTmV0d29ya01lc3NhZ2VTb3VyY2U6IHJldHVy
biBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6TmV0d29yazsK
ICAgICBjYXNlIENvbnNvbGVBUElNZXNzYWdlU291cmNlOiByZXR1cm4gVHlwZUJ1aWxkZXI6OkNv
bnNvbGU6OkNvbnNvbGVNZXNzYWdlOjpTb3VyY2U6OkNvbnNvbGVfYXBpOworICAgIGNhc2UgU3Rv
cmFnZU1lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1l
c3NhZ2U6OlNvdXJjZTo6U3RvcmFnZTsKKyAgICBjYXNlIEFwcENhY2hlTWVzc2FnZVNvdXJjZTog
cmV0dXJuIFR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVzc2FnZTo6U291cmNlOjpBcHBj
YWNoZTsKKyAgICBjYXNlIFJlbmRlcmluZ01lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRl
cjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6UmVuZGVyaW5nOworICAgIGNhc2Ug
Q1NTTWVzc2FnZVNvdXJjZTogcmV0dXJuIFR5cGVCdWlsZGVyOjpDb25zb2xlOjpDb25zb2xlTWVz
c2FnZTo6U291cmNlOjpDc3M7CisgICAgY2FzZSBTZWN1cml0eU1lc3NhZ2VTb3VyY2U6IHJldHVy
biBUeXBlQnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6U2VjdXJpdHk7
CiAgICAgY2FzZSBPdGhlck1lc3NhZ2VTb3VyY2U6IHJldHVybiBUeXBlQnVpbGRlcjo6Q29uc29s
ZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6T3RoZXI7CiAgICAgfQogICAgIHJldHVybiBUeXBl
QnVpbGRlcjo6Q29uc29sZTo6Q29uc29sZU1lc3NhZ2U6OlNvdXJjZTo6T3RoZXI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggZmJlMzBiMjc0NmUzYWFkOGNmMzIz
ZTk0ODZkODgwYzM5NzQ1NzY1My4uZjJkNzQzZjlkNWIzZjk5NTEyNmI0Mjc5NjVjM2JhZTViODRh
YTg1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29u
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtNzY4LDgg
Kzc2OCw4IEBACiAgICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiQ29uc29sZSBtZXNzYWdlLiIsCiAgICAgICAgICAgICAgICAg
InByb3BlcnRpZXMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic291cmNlIiwg
InR5cGUiOiAic3RyaW5nIiwgImVudW0iOiBbImh0bWwiLCAid21sIiwgInhtbCIsICJqYXZhc2Ny
aXB0IiwgIm5ldHdvcmsiLCAiY29uc29sZS1hcGkiLCAib3RoZXIiXSwgImRlc2NyaXB0aW9uIjog
Ik1lc3NhZ2Ugc291cmNlLiIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsZXZl
bCIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJ0aXAiLCAibG9nIiwgIndhcm5pbmciLCAi
ZXJyb3IiLCAiZGVidWciXSwgImRlc2NyaXB0aW9uIjogIk1lc3NhZ2Ugc2V2ZXJpdHkuIiB9LAor
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNvdXJjZSIsICJ0eXBlIjogInN0cmluZyIs
ICJlbnVtIjogWyJ4bWwiLCAiamF2YXNjcmlwdCIsICJuZXR3b3JrIiwgImNvbnNvbGUtYXBpIiwg
InN0b3JhZ2UiLCAiYXBwY2FjaGUiLCAicmVuZGVyaW5nIiwgImNzcyIsICJzZWN1cml0eSIsICJv
dGhlciJdLCAiZGVzY3JpcHRpb24iOiAiTWVzc2FnZSBzb3VyY2UuIiB9LAorICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImxldmVsIiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0iOiBbImxv
ZyIsICJ3YXJuaW5nIiwgImVycm9yIiwgImRlYnVnIl0sICJkZXNjcmlwdGlvbiI6ICJNZXNzYWdl
IHNldmVyaXR5LiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0ZXh0IiwgInR5
cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIk1lc3NhZ2UgdGV4dC4iIH0sCiAgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAidHlwZSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25h
bCI6IHRydWUsICJlbnVtIjogWyJsb2ciLCAiZGlyIiwgImRpcnhtbCIsICJ0YWJsZSIsICJ0cmFj
ZSIsICJjbGVhciIsICJzdGFydEdyb3VwIiwgInN0YXJ0R3JvdXBDb2xsYXBzZWQiLCAiZW5kR3Jv
dXAiLCAiYXNzZXJ0IiwgInRpbWluZyIsICJwcm9maWxlIiwgInByb2ZpbGVFbmQiXSwgImRlc2Ny
aXB0aW9uIjogIkNvbnNvbGUgbWVzc2FnZSB0eXBlLiIgfSwKICAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJ1cmwiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVz
Y3JpcHRpb24iOiAiVVJMIG9mIHRoZSBtZXNzYWdlIG9yaWdpbi4iIH0sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBiZTQ3MWQ0NWM0OWM5OGU3OGU4NDNkMmQ0NDVkOGMz
ZWExYmIxMmJjLi5kZWUyOGYwMWNjM2Y1ZGRiODM3OWY5NGQyODdhMGE4ZTZmMDlhMDA2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTMzNiw3ICszMzYsNyBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpzdWJtaXRGb3JtKFBhc3NSZWZQdHI8Rm9ybVN1Ym1pc3Npb24+IHN1Ym1p
c3Npb24pCiAKICAgICBpZiAoaXNEb2N1bWVudFNhbmRib3hlZChtX2ZyYW1lLCBTYW5kYm94Rm9y
bXMpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIG1vdmVkIG9m
ZiB0aGUgY29uc29sZSBvbmNlIGEgc29sdXRpb24gdG8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMzI3NCBleGlzdHMuCi0gICAgICAgIG1fZnJhbWUtPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKEhUTUxNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgIkJsb2NrZWQgZm9ybSBzdWJtaXNzaW9uIHRvICciICsgc3VibWlzc2lvbi0+YWN0aW9uKCku
ZWxpZGVkU3RyaW5nKCkgKyAiJyBiZWNhdXNlIHRoZSBmb3JtJ3MgZnJhbWUgaXMgc2FuZGJveGVk
IGFuZCB0aGUgJ2FsbG93LWZvcm1zJyBwZXJtaXNzaW9uIGlzIG5vdCBzZXQuIik7CisgICAgICAg
IG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNv
dXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIGZvcm0gc3VibWlzc2lvbiB0byAnIiAr
IHN1Ym1pc3Npb24tPmFjdGlvbigpLmVsaWRlZFN0cmluZygpICsgIicgYmVjYXVzZSB0aGUgZm9y
bSdzIGZyYW1lIGlzIHNhbmRib3hlZCBhbmQgdGhlICdhbGxvdy1mb3JtcycgcGVybWlzc2lvbiBp
cyBub3Qgc2V0LiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xNDEwLDcgKzE0MTAs
NyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpyZXBvcnRMb2NhbExvYWRGYWlsZWQoRnJhbWUqIGZyYW1l
LCBjb25zdCBTdHJpbmcmIHVybCkKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAK
LSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNl
LCBFcnJvck1lc3NhZ2VMZXZlbCwgIk5vdCBhbGxvd2VkIHRvIGxvYWQgbG9jYWwgcmVzb3VyY2U6
ICIgKyB1cmwpOworICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1
cml0eU1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiTm90IGFsbG93ZWQgdG8gbG9h
ZCBsb2NhbCByZXNvdXJjZTogIiArIHVybCk7CiB9CiAKIGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
RnJhbWVMb2FkZXI6OmluaXRpYWxSZXF1ZXN0KCkgY29uc3QKQEAgLTMzNDYsNyArMzM0Niw3IEBA
IEZyYW1lKiBjcmVhdGVXaW5kb3coRnJhbWUqIG9wZW5lckZyYW1lLCBGcmFtZSogbG9va3VwRnJh
bWUsIGNvbnN0IEZyYW1lTG9hZFJlcXVlCiAgICAgLy8gU2FuZGJveGVkIGZyYW1lcyBjYW5ub3Qg
b3BlbiBuZXcgYXV4aWxpYXJ5IGJyb3dzaW5nIGNvbnRleHRzLgogICAgIGlmIChpc0RvY3VtZW50
U2FuZGJveGVkKG9wZW5lckZyYW1lLCBTYW5kYm94UG9wdXBzKSkgewogICAgICAgICAvLyBGSVhN
RTogVGhpcyBtZXNzYWdlIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIGNvbnNvbGUgb25jZSBhIHNv
bHV0aW9uIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMyNzQg
ZXhpc3RzLgotICAgICAgICBvcGVuZXJGcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSFRNTE1lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxvY2tlZCBvcGVuaW5n
ICciICsgcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKS5lbGlkZWRTdHJpbmcoKSArICIn
IGluIGEgbmV3IHdpbmRvdyBiZWNhdXNlIHRoZSByZXF1ZXN0IHdhcyBtYWRlIGluIGEgc2FuZGJv
eGVkIGZyYW1lIHdob3NlICdhbGxvdy1wb3B1cHMnIHBlcm1pc3Npb24gaXMgbm90IHNldC4iKTsK
KyAgICAgICAgb3BlbmVyRnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3Vy
aXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIG9wZW5pbmcgJyIg
KyByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLmVsaWRlZFN0cmluZygpICsgIicgaW4g
YSBuZXcgd2luZG93IGJlY2F1c2UgdGhlIHJlcXVlc3Qgd2FzIG1hZGUgaW4gYSBzYW5kYm94ZWQg
ZnJhbWUgd2hvc2UgJ2FsbG93LXBvcHVwcycgcGVybWlzc2lvbiBpcyBub3Qgc2V0LiIpOwogICAg
ICAgICByZXR1cm4gMDsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3Bw
CmluZGV4IDgxYTEyOWQyMGIwOWMwNDE5ZDgzM2U4OGFmZGZlOTdmZmEyODhhMDYuLjc3MzAzYjk4
MGY5NGFkYjQyZjk3NmVlNTdmNGVlNTMwMjQ2YWM1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcApAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlm
eUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICAgICAgZXJyb3JFdmVudFNl
bmRlcigpLmRpc3BhdGNoRXZlbnRTb29uKHRoaXMpOwogCiAgICAgICAgIERFRklORV9TVEFUSUNf
TE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2lu
IGltYWdlIGxvYWQgZGVuaWVkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGlj
eS4iKSkpOwotICAgICAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKKyAg
ICAgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShTZWN1cml0eU1l
c3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiAKICAgICAg
ICAgQVNTRVJUKCFtX2hhc1BlbmRpbmdMb2FkRXZlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDM3MjJhYTk0NTdmZjY3M2JiOWM1NTdj
Zjg2NjcwMTFjOWM5NTYwOWYuLmZhZTRlMDI2MDM3ZWNkMjdkOGQ3ZGEyZThjMDQ3NTQzMjJmZmM2
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC00MTEsNyArNDExLDcgQEAgdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OnJlc3BvbnNlUmVjZWl2
ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBjb25zdCBSZXNvdXIKICAgICAgICAgaWYgKGZy
YW1lTG9hZGVyKCktPnNob3VsZEludGVycnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnRlbnQs
IHIudXJsKCksIGlkZW50aWZpZXIoKSkpIHsKICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6Y29udGludWVBZnRlclhGcmFtZU9wdGlvbnNEZW5pZWQobV9kb2N1bWVudExvYWRl
ci0+ZnJhbWUoKSwgZG9jdW1lbnRMb2FkZXIoKSwgaWRlbnRpZmllcigpLCByKTsKICAgICAgICAg
ICAgIFN0cmluZyBtZXNzYWdlID0gIlJlZnVzZWQgdG8gZGlzcGxheSAnIiArIHIudXJsKCkuZWxp
ZGVkU3RyaW5nKCkgKyAiJyBpbiBhIGZyYW1lIGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlv
bnMnIHRvICciICsgY29udGVudCArICInLiI7Ci0gICAgICAgICAgICBtX2RvY3VtZW50TG9hZGVy
LT5mcmFtZSgpLT5kb2N1bWVudCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2Us
IEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBpZGVudGlmaWVyKCkpOworICAgICAgICAgICAg
bV9kb2N1bWVudExvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2Uo
U2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgaWRlbnRp
ZmllcigpKTsKIAogICAgICAgICAgICAgY2FuY2VsKCk7CiAgICAgICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5jcHAKaW5kZXggNDc1
MTQxMmQ0ODU0MDlkYjM1M2M2NzY4MjEzYjVhYjQ0YWNlOTEzYi4uZTNlZmY3NTRkODY3ZThiMzc3
ZmVlMTcwMjllYzlkZGU5ZTUxMjYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L01peGVkQ29udGVudENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NaXhl
ZENvbnRlbnRDaGVja2VyLmNwcApAQCAtOTYsNyArOTYsNyBAQCBib29sIE1peGVkQ29udGVudENo
ZWNrZXI6OmNhblJ1bkluc2VjdXJlQ29udGVudChTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmln
aW4sCiB2b2lkIE1peGVkQ29udGVudENoZWNrZXI6OmxvZ1dhcm5pbmcoYm9vbCBhbGxvd2VkLCBj
b25zdCBTdHJpbmcmIGFjdGlvbiwgY29uc3QgS1VSTCYgdGFyZ2V0KSBjb25zdAogewogICAgIFN0
cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZygoYWxsb3dlZCA/ICIiIDogIltibG9ja2VkXSAiKSwg
IlRoZSBwYWdlIGF0ICIsIG1fZnJhbWUtPmRvY3VtZW50KCktPnVybCgpLmVsaWRlZFN0cmluZygp
LCAiICIsIGFjdGlvbiwgIiBpbnNlY3VyZSBjb250ZW50IGZyb20gIiwgdGFyZ2V0LmVsaWRlZFN0
cmluZygpLCAiLlxuIik7Ci0gICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoSFRNTE1lc3NhZ2VTb3VyY2UsIFdhcm5pbmdNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAg
IG1fZnJhbWUtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNv
dXJjZSwgV2FybmluZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKaW5kZXgg
MGJhNjM2YjhlODU0MjU2M2E3MTI2ZGNhZDFjN2I0NDc4OTExYzU5Ni4uMjZiYzhjYjFkYjliZGE0
NzUwZDk0M2U5ZjdhZjRjZWVlZmZiYmVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RleHRUcmFja0xvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRU
cmFja0xvYWRlci5jcHAKQEAgLTExOCw3ICsxMTgsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6
Y29yc1BvbGljeVByZXZlbnRlZExvYWQoKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3Ry
aW5nLCBjb25zb2xlTWVzc2FnZSwgKEFTQ0lJTGl0ZXJhbCgiQ3Jvc3Mtb3JpZ2luIHRleHQgdHJh
Y2sgbG9hZCBkZW5pZWQgYnkgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgcG9saWN5LiIp
KSk7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQpOwotICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShK
U01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CisgICAg
ZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKICAgICBtX3N0YXRlID0gRmFpbGVkOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlR3JvdXAuY3BwCmluZGV4IGY2YTdkMjQzZTgwZmY3NjAxMWEyNTg5ZDRjY2YyY2FmMTQx
OWI2YjUuLjQzYzgxNTVhZjIxNmZkMWFlYjc0ODQyNzMyMTM0MjZjYWFhYzRjZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
R3JvdXAuY3BwCkBAIC00NzUsNyArNDc1LDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OmFib3J0KEZyYW1lKiBmcmFtZSkKICAgICBpZiAobV9jb21wbGV0aW9uVHlwZSAhPSBOb25lKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoT3RoZXJNZXNzYWdlU291cmNlLCBEZWJ1Z01lc3NhZ2VMZXZlbCwgIkFwcGxpY2F0aW9uIENh
Y2hlIGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIik7CisgICAgZnJhbWUtPmRvY3VtZW50
KCktPmFkZENvbnNvbGVNZXNzYWdlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBEZWJ1Z01lc3NhZ2VM
ZXZlbCwgIkFwcGxpY2F0aW9uIENhY2hlIGRvd25sb2FkIHByb2Nlc3Mgd2FzIGFib3J0ZWQuIik7
CiAgICAgY2FjaGVVcGRhdGVGYWlsZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMzU2MGU5MjI4MGVk
Yjc4YzI4Zjc0NTIwMzBiNzE3Y2Y0NWNjYjc3Ny4uNGI0Njk5YmQ2NzIwOWZmOTdhZDlhNjk3MzZm
ZDAzMDdkOTVjMWYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC02NjIsNyArNjYyLDcgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cHJpbnRBY2Nlc3NEZW5pZWRNZXNzYWdlKGNvbnN0IEtVUkwmIHVybCkg
Y29uc3QKICAgICBlbHNlCiAgICAgICAgIG1lc3NhZ2UgPSAiVW5zYWZlIGF0dGVtcHQgdG8gbG9h
ZCBVUkwgIiArIHVybC5lbGlkZWRTdHJpbmcoKSArICIgZnJvbSBmcmFtZSB3aXRoIFVSTCAiICsg
bV9kb2N1bWVudC0+dXJsKCkuZWxpZGVkU3RyaW5nKCkgKyAiLiBEb21haW5zLCBwcm90b2NvbHMg
YW5kIHBvcnRzIG11c3QgbWF0Y2guXG4iOwogCi0gICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRk
Q29uc29sZU1lc3NhZ2UoT3RoZXJNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVz
c2FnZSk7CisgICAgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoU2VjdXJp
dHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CiB9CiAKIHZvaWQg
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnNldEF1dG9Mb2FkSW1hZ2VzKGJvb2wgZW5hYmxlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29uc29sZS5jcHAKaW5kZXggZjM5OGMyNTJjZDVmNjEyYzdjMzc0NGVmMGY4ZjY4NWVi
ZjdmOTJlNC4uZWE1MzdjNGZiMjA5MGQ0MDEwY2YwYWY2MDY5ZGMwOWEyMjNiMGQ5YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnNvbGUuY3BwCkBAIC04OCw5ICs4OCw2IEBAIHN0YXRpYyB2b2lkIHByaW50TWVz
c2FnZVNvdXJjZUFuZExldmVsUHJlZml4KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2
ZWwKIHsKICAgICBjb25zdCBjaGFyKiBzb3VyY2VTdHJpbmc7CiAgICAgc3dpdGNoIChzb3VyY2Up
IHsKLSAgICBjYXNlIEhUTUxNZXNzYWdlU291cmNlOgotICAgICAgICBzb3VyY2VTdHJpbmcgPSAi
SFRNTCI7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgWE1MTWVzc2FnZVNvdXJjZToKICAgICAg
ICAgc291cmNlU3RyaW5nID0gIlhNTCI7CiAgICAgICAgIGJyZWFrOwpAQCAtMTAzLDYgKzEwMCwy
MSBAQCBzdGF0aWMgdm9pZCBwcmludE1lc3NhZ2VTb3VyY2VBbmRMZXZlbFByZWZpeChNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsCiAgICAgY2FzZSBDb25zb2xlQVBJTWVzc2FnZVNv
dXJjZToKICAgICAgICAgc291cmNlU3RyaW5nID0gIkNPTlNPTEVBUEkiOwogICAgICAgICBicmVh
azsKKyAgICBjYXNlIFN0b3JhZ2VNZXNzYWdlU291cmNlOgorICAgICAgICBzb3VyY2VTdHJpbmcg
PSAiU1RPUkFHRSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQXBwQ2FjaGVNZXNzYWdlU291
cmNlOgorICAgICAgICBzb3VyY2VTdHJpbmcgPSAiQVBQQ0FDSEUiOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIFJlbmRlcmluZ01lc3NhZ2VTb3VyY2U6CisgICAgICAgIHNvdXJjZVN0cmluZyA9
ICJSRU5ERVJJTkciOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU01lc3NhZ2VTb3VyY2U6
CisgICAgICAgIHNvdXJjZVN0cmluZyA9ICJDU1MiOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IFNlY3VyaXR5TWVzc2FnZVNvdXJjZToKKyAgICAgICAgc291cmNlU3RyaW5nID0gIlNFQ1VSSVRZ
IjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBPdGhlck1lc3NhZ2VTb3VyY2U6CiAgICAgICAg
IHNvdXJjZVN0cmluZyA9ICJPVEhFUiI7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
c29sZVR5cGVzLmgKaW5kZXggODEwZGExZmI2MGY5YzExOTRiYmE1YjBlNWVlNTkzZGFhMGU4NzE4
Yi4uODA0YTE2N2NjOTViN2ZmYzg0NWY0MzU3NzZiZTBlMDVmMzE1ZTRhZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Db25zb2xlVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnNvbGVUeXBlcy5oCkBAIC0yOSwxMSArMjksMTUgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogZW51bSBNZXNzYWdlU291cmNlIHsKLSAgICBIVE1MTWVzc2FnZVNvdXJjZSwKICAgICBY
TUxNZXNzYWdlU291cmNlLAogICAgIEpTTWVzc2FnZVNvdXJjZSwKICAgICBOZXR3b3JrTWVzc2Fn
ZVNvdXJjZSwKICAgICBDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwKKyAgICBTdG9yYWdlTWVzc2Fn
ZVNvdXJjZSwKKyAgICBBcHBDYWNoZU1lc3NhZ2VTb3VyY2UsCisgICAgUmVuZGVyaW5nTWVzc2Fn
ZVNvdXJjZSwKKyAgICBDU1NNZXNzYWdlU291cmNlLAorICAgIFNlY3VyaXR5TWVzc2FnZVNvdXJj
ZSwKICAgICBPdGhlck1lc3NhZ2VTb3VyY2UsCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggMzljOTE3YjAyNmMzODkxNTUzZjk1MTU2
MmY1MmFhZmYxOGY3ZTIzNi4uNjhjNDQxYjRiMjIzM2U3ZmY2NDU2Njc1NTI0OGFiMmE1YWZiYWZm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3ku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApA
QCAtMTgxNSw3ICsxODE1LDcgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydE1p
c3NpbmdSZXBvcnRVUkkoY29uc3QgU3RyaW5nJiBwb2xpY3kpIGNvbnN0CiAKIHZvaWQgQ29udGVu
dFNlY3VyaXR5UG9saWN5Ojpsb2dUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExp
bmUsIFNjcmlwdFN0YXRlKiBzdGF0ZSkgY29uc3QKIHsKLSAgICBtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCksIHN0YXRl
KTsKKyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmFkZENvbnNvbGVNZXNzYWdlKFNlY3Vy
aXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGNvbnRleHRVUkws
IGNvbnRleHRMaW5lLm9uZUJhc2VkSW50KCksIHN0YXRlKTsKIH0KIAogdm9pZCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OnJlcG9ydEJsb2NrZWRTY3JpcHRFeGVjdXRpb25Ub0luc3BlY3Rvcihjb25z
dCBTdHJpbmcmIGRpcmVjdGl2ZVRleHQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAK
aW5kZXggZThlMDExZGYzODRhYzFkMzgyNDM5MDZkZTZkNzFlM2RiYTk2YjdmZC4uZmZmZGNhZmJh
ZTQ3ZjNkZjBlYmJhMmNjMzFmZjBiNWMwNGFlOWIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcApAQCAtODg0LDcgKzg4NCw3IEBAIHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaE1lc3NhZ2VF
dmVudFdpdGhPcmlnaW5DaGVjayhTZWN1cml0eU9yaWdpbiogaW50ZW5kZWRUYXJnCiAgICAgICAg
IGlmICghaW50ZW5kZWRUYXJnZXRPcmlnaW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGRvY3VtZW50
KCktPnNlY3VyaXR5T3JpZ2luKCkpKSB7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJV
bmFibGUgdG8gcG9zdCBtZXNzYWdlIHRvICIgKyBpbnRlbmRlZFRhcmdldE9yaWdpbi0+dG9TdHJp
bmcoKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIuIFJlY2lwaWVudCBoYXMgb3Jp
Z2luICIgKyBkb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpICsgIi5cbiI7
Ci0gICAgICAgICAgICBjb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgc3RhY2tUcmFjZSk7CisgICAgICAgICAgICBjb25zb2xl
KCktPmFkZE1lc3NhZ2UoU2VjdXJpdHlNZXNzYWdlU291cmNlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
bWVzc2FnZSwgc3RhY2tUcmFjZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAKaW5k
ZXggMmMxZWZiNmNkZWZlMGRlYzFkMjc0YjgwZDJmYTNjODgwYTg1OWY4Mi4uNjNmOTY1YjI1MDY0
MWNlMzM2ZDgyY2I4NjA3MWYyMGQ5M2FkYjUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Qb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UG9pbnRlckxvY2tDb250cm9sbGVyLmNwcApAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFBvaW50ZXJM
b2NrQ29udHJvbGxlcjo6cmVxdWVzdFBvaW50ZXJMb2NrKEVsZW1lbnQqIHRhcmdldCkKIAogICAg
IGlmICh0YXJnZXQtPmRvY3VtZW50KCktPmlzU2FuZGJveGVkKFNhbmRib3hQb2ludGVyTG9jaykp
IHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbW92ZWQgb2ZmIHRo
ZSBjb25zb2xlIG9uY2UgYSBzb2x1dGlvbiB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAzMjc0IGV4aXN0cy4KLSAgICAgICAgdGFyZ2V0LT5kb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIEVycm9yTWVzc2FnZUxldmVsLCAiQmxv
Y2tlZCBwb2ludGVyIGxvY2sgb24gYW4gZWxlbWVudCBiZWNhdXNlIHRoZSBlbGVtZW50J3MgZnJh
bWUgaXMgc2FuZGJveGVkIGFuZCB0aGUgJ2FsbG93LXBvaW50ZXItbG9jaycgcGVybWlzc2lvbiBp
cyBub3Qgc2V0LiIpOworICAgICAgICB0YXJnZXQtPmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNz
YWdlKFNlY3VyaXR5TWVzc2FnZVNvdXJjZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCbG9ja2VkIHBv
aW50ZXIgbG9jayBvbiBhbiBlbGVtZW50IGJlY2F1c2UgdGhlIGVsZW1lbnQncyBmcmFtZSBpcyBz
YW5kYm94ZWQgYW5kIHRoZSAnYWxsb3ctcG9pbnRlci1sb2NrJyBwZXJtaXNzaW9uIGlzIG5vdCBz
ZXQuIik7CiAgICAgICAgIGVucXVldWVFdmVudChldmVudE5hbWVzKCkud2Via2l0cG9pbnRlcmxv
Y2tlcnJvckV2ZW50LCB0YXJnZXQpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAppbmRleCBmMTBlNzI5M2FkZjEy
ZjA4M2NhN2MxMDUzODY0NGM1ZmUxYmRkNzA4Li5kNjlkZTlkOGI5MTkyM2JhOTA0YjI4Y2U1OTYy
MmYyNDM2YzBmMmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRF
eHRlbnNpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNp
b25zLmNwcApAQCAtMTM1LDcgKzEzNSw3IEBAIHZvaWQgU1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpk
aXNwYXRjaFNWR0xvYWRFdmVudFRvT3V0ZXJtb3N0U1ZHRWxlbWVudHMoKQogc3RhdGljIHZvaWQg
cmVwb3J0TWVzc2FnZShEb2N1bWVudCogZG9jdW1lbnQsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIGlmIChkb2N1bWVudC0+ZnJhbWUoKSkKLSAgICAg
ICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgbGV2ZWwsIG1l
c3NhZ2UpOworICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoUmVuZGVyaW5nTWVz
c2FnZVNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UpOwogfQogCiB2b2lkIFNWR0RvY3VtZW50RXh0ZW5z
aW9uczo6cmVwb3J0V2FybmluZyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYTMw
OTVlNjFjMWEzNjM5MDEwNmQ2ZjhlOTRiZDQzYjdmMTViNGI3MS4uYjI5ODhkNTk1YTgxZDhhNzA5
MTlhMmFmMzFkOWNmZmYzOGQ4MjkwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtOTAsMTEgKzkwLDE1IEBACiAjaW1w
b3J0ICJOZXRzY2FwZVBsdWdpbkhvc3RNYW5hZ2VyLmgiCiAjZW5kaWYKIAotTlNTdHJpbmcgKldl
YkNvbnNvbGVNZXNzYWdlSFRNTE1lc3NhZ2VTb3VyY2UgPSBAIkhUTUxNZXNzYWdlU291cmNlIjsK
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVhNTE1lc3NhZ2VTb3VyY2UgPSBAIlhNTE1lc3Nh
Z2VTb3VyY2UiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlSlNNZXNzYWdlU291cmNlID0g
QCJKU01lc3NhZ2VTb3VyY2UiOwogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlTmV0d29ya01l
c3NhZ2VTb3VyY2UgPSBAIk5ldHdvcmtNZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpXZWJDb25z
b2xlTWVzc2FnZUNvbnNvbGVBUElNZXNzYWdlU291cmNlID0gQCJDb25zb2xlQVBJTWVzc2FnZVNv
dXJjZSI7CitOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VTdG9yYWdlTWVzc2FnZVNvdXJjZSA9
IEAiU3RvcmFnZU1lc3NhZ2VTb3VyY2UiOworTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlQXBw
Q2FjaGVNZXNzYWdlU291cmNlID0gQCJBcHBDYWNoZU1lc3NhZ2VTb3VyY2UiOworTlNTdHJpbmcg
KldlYkNvbnNvbGVNZXNzYWdlUmVuZGVyaW5nTWVzc2FnZVNvdXJjZSA9IEAiUmVuZGVyaW5nTWVz
c2FnZVNvdXJjZSI7CitOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VDU1NNZXNzYWdlU291cmNl
ID0gQCJDU1NNZXNzYWdlU291cmNlIjsKK05TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVNlY3Vy
aXR5TWVzc2FnZVNvdXJjZSA9IEAiU2VjdXJpdHlNZXNzYWdlU291cmNlIjsKIE5TU3RyaW5nICpX
ZWJDb25zb2xlTWVzc2FnZU90aGVyTWVzc2FnZVNvdXJjZSA9IEAiT3RoZXJNZXNzYWdlU291cmNl
IjsKIAogTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlRGVidWdNZXNzYWdlTGV2ZWwgPSBAIkRl
YnVnTWVzc2FnZUxldmVsIjsKQEAgLTMyOSw4ICszMzMsNiBAQCB2b2lkIFdlYkNocm9tZUNsaWVu
dDo6c2V0UmVzaXphYmxlKGJvb2wgYikKIGlubGluZSBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ0Zv
ck1lc3NhZ2VTb3VyY2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UpCiB7CiAgICAgc3dpdGNoIChzb3Vy
Y2UpIHsKLSAgICBjYXNlIEhUTUxNZXNzYWdlU291cmNlOgotICAgICAgICByZXR1cm4gV2ViQ29u
c29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNvdXJjZTsKICAgICBjYXNlIFhNTE1lc3NhZ2VTb3VyY2U6
CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVhNTE1lc3NhZ2VTb3VyY2U7CiAgICAg
Y2FzZSBKU01lc3NhZ2VTb3VyY2U6CkBAIC0zMzksNiArMzQxLDE2IEBAIGlubGluZSBzdGF0aWMg
TlNTdHJpbmcgKnN0cmluZ0Zvck1lc3NhZ2VTb3VyY2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UpCiAg
ICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZU5ldHdvcmtNZXNzYWdlU291cmNlOwogICAg
IGNhc2UgQ29uc29sZUFQSU1lc3NhZ2VTb3VyY2U6CiAgICAgICAgIHJldHVybiBXZWJDb25zb2xl
TWVzc2FnZUNvbnNvbGVBUElNZXNzYWdlU291cmNlOworICAgIGNhc2UgU3RvcmFnZU1lc3NhZ2VT
b3VyY2U6CisgICAgICAgIHJldHVybiBXZWJDb25zb2xlTWVzc2FnZVN0b3JhZ2VNZXNzYWdlU291
cmNlOworICAgIGNhc2UgQXBwQ2FjaGVNZXNzYWdlU291cmNlOgorICAgICAgICByZXR1cm4gV2Vi
Q29uc29sZU1lc3NhZ2VBcHBDYWNoZU1lc3NhZ2VTb3VyY2U7CisgICAgY2FzZSBSZW5kZXJpbmdN
ZXNzYWdlU291cmNlOgorICAgICAgICByZXR1cm4gV2ViQ29uc29sZU1lc3NhZ2VSZW5kZXJpbmdN
ZXNzYWdlU291cmNlOworICAgIGNhc2UgQ1NTTWVzc2FnZVNvdXJjZToKKyAgICAgICAgcmV0dXJu
IFdlYkNvbnNvbGVNZXNzYWdlQ1NTTWVzc2FnZVNvdXJjZTsKKyAgICBjYXNlIFNlY3VyaXR5TWVz
c2FnZVNvdXJjZToKKyAgICAgICAgcmV0dXJuIFdlYkNvbnNvbGVNZXNzYWdlU2VjdXJpdHlNZXNz
YWdlU291cmNlOwogICAgIGNhc2UgT3RoZXJNZXNzYWdlU291cmNlOgogICAgICAgICByZXR1cm4g
V2ViQ29uc29sZU1lc3NhZ2VPdGhlck1lc3NhZ2VTb3VyY2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IGNjMDM0NjM1
OGExMTAwYTRlZGFkNjI4MzI5ZjdmZTEzZjQ4MjBlMjYuLmRkNmQ1Yzk1MWYyODE3NTBmMDA2ZGVm
OGU2ZmMwMDQ2NWJmZmJhNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlVJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTEwNCwxMSArMTA0LDE1IEBAIGVudW0gewogfTsKIAog
Ly8gTWVzc2FnZSBTb3VyY2VzLgotZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUhU
TUxNZXNzYWdlU291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVhNTE1l
c3NhZ2VTb3VyY2U7CiBleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlSlNNZXNzYWdl
U291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU5ldHdvcmtNZXNzYWdl
U291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNvbnNvbGVBUElNZXNz
YWdlU291cmNlOworZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZVN0b3JhZ2VNZXNz
YWdlU291cmNlOworZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUFwcENhY2hlTWVz
c2FnZVNvdXJjZTsKK2V4dGVybiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VSZW5kZXJpbmdN
ZXNzYWdlU291cmNlOworZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUNTU01lc3Nh
Z2VTb3VyY2U7CitleHRlcm4gTlNTdHJpbmcgKldlYkNvbnNvbGVNZXNzYWdlU2VjdXJpdHlNZXNz
YWdlU291cmNlOwogZXh0ZXJuIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZU90aGVyTWVzc2Fn
ZVNvdXJjZTsKIAogLy8gTWVzc2FnZSBMZXZlbHMuCkBAIC0xNDMsNyArMTQ3LDcgQEAgZXh0ZXJu
IE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUVycm9yTWVzc2FnZUxldmVsOwogICAgIEBtZXRo
b2Qgd2ViVmlldzphZGRNZXNzYWdlVG9Db25zb2xlOndpdGhTb3VyY2U6CiAgICAgQHBhcmFtIHdl
YlZpZXcgVGhlIFdlYlZpZXcgc2VuZGluZyB0aGUgZGVsZWdhdGUgbWV0aG9kLgogICAgIEBwYXJh
bSBtZXNzYWdlIEEgZGljdGlvbmFyeSByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29uc29sZSBtZXNz
YWdlLgotICAgIEBwYXJhbSBzb3VyY2UgV2hlcmUgdGhlIG1lc3NhZ2UgY2FtZSBmcm9tLiBTZWUg
V2ViQ29uc29sZU1lc3NhZ2VIVE1MTWVzc2FnZVNvdXJjZSBhbmQgb3RoZXIgc291cmNlIHR5cGVz
LgorICAgIEBwYXJhbSBzb3VyY2UgV2hlcmUgdGhlIG1lc3NhZ2UgY2FtZSBmcm9tLiBTZWUgV2Vi
Q29uc29sZU1lc3NhZ2VYTUxNZXNzYWdlU291cmNlIGFuZCBvdGhlciBzb3VyY2UgdHlwZXMuCiAg
ICAgQGRpc2N1c3Npb24gVGhlIGRpY3Rpb25hcnkgY29udGFpbnMgdGhlIGZvbGxvd2luZyBrZXlz
OgogCiAgICAgPGRsPgpAQCAtMTU1LDggKzE1OSw4IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViQ29u
c29sZU1lc3NhZ2VFcnJvck1lc3NhZ2VMZXZlbDsKICAgICAgICAgPGRkPklmIHRoaXMgY2FtZSBm
cm9tIGEgZmlsZSwgdGhpcyBpcyB0aGUgVVJMIHRvIHRoZSBmaWxlIHRoaXMgbWVzc2FnZSBvcmln
aW5hdGVzIGZyb20uPC9kZD4KICAgICAgICAgPGR0Pk1lc3NhZ2VTb3VyY2U8L2R0PgogICAgICAg
ICA8ZGQ+Ci0gICAgICAgICAgICBXaGVyZSB0aGUgbWVzc2FnZSBjYW1lIGZyb20uIEhUTUwsIFhN
TCwgSmF2YVNjcmlwdCwgQ1NTLCBldGMuCi0gICAgICAgICAgICBTZWUgV2ViQ29uc29sZU1lc3Nh
Z2VIVE1MTWVzc2FnZVNvdXJjZSBhbmQgc2ltaWxhciBjb25zdGFudHMuCisgICAgICAgICAgICBX
aGVyZSB0aGUgbWVzc2FnZSBjYW1lIGZyb20uIFhNTCwgSmF2YVNjcmlwdCwgQ1NTLCBldGMuCisg
ICAgICAgICAgICBTZWUgV2ViQ29uc29sZU1lc3NhZ2VYTUxNZXNzYWdlU291cmNlIGFuZCBzaW1p
bGFyIGNvbnN0YW50cy4KICAgICAgICAgPC9kZD4KICAgICAgICAgPGR0Pk1lc3NhZ2VMZXZlbDwv
ZHQ+CiAgICAgICAgIDxkZD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>