<?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>90228</bug_id>
          
          <creation_ts>2012-06-28 17:00:40 -0700</creation_ts>
          <short_desc>Do not do any logging initialization when logging is disabled</short_desc>
          <delta_ts>2012-07-02 14:48:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>danw</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>joepeck</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>659957</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-06-28 17:00:40 -0700</bug_when>
    <thetext>That takes time on start up.

&lt;rdar://problem/11746350&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659963</commentid>
    <comment_count>1</comment_count>
      <attachid>150044</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-06-28 17:11:15 -0700</bug_when>
    <thetext>Created attachment 150044
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659980</commentid>
    <comment_count>2</comment_count>
      <attachid>150044</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-28 17:39:07 -0700</bug_when>
    <thetext>Comment on attachment 150044
Patch

Attachment 150044 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13108240</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659998</commentid>
    <comment_count>3</comment_count>
      <attachid>150044</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-06-28 17:59:02 -0700</bug_when>
    <thetext>Comment on attachment 150044
Patch

Attachment 150044 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/13119163</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660007</commentid>
    <comment_count>4</comment_count>
      <attachid>150044</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-28 18:08:52 -0700</bug_when>
    <thetext>Comment on attachment 150044
Patch

Attachment 150044 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13114181</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660008</commentid>
    <comment_count>5</comment_count>
      <attachid>150055</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-06-28 18:09:23 -0700</bug_when>
    <thetext>Created attachment 150055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660025</commentid>
    <comment_count>6</comment_count>
      <attachid>150055</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-06-28 18:20:22 -0700</bug_when>
    <thetext>Comment on attachment 150055
Patch

Attachment 150055 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/13121124</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660031</commentid>
    <comment_count>7</comment_count>
      <attachid>150059</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-06-28 18:25:40 -0700</bug_when>
    <thetext>Created attachment 150059
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660033</commentid>
    <comment_count>8</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-06-28 18:26:05 -0700</bug_when>
    <thetext>Looks like GTK has a strange use of WebCore logging :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660723</commentid>
    <comment_count>9</comment_count>
      <attachid>150059</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-29 13:00:01 -0700</bug_when>
    <thetext>Comment on attachment 150059
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Initializating of the logging channels was taking time on startup. When loggin is disabled

&quot;loggin&quot;

&gt; Source/WebCore/ChangeLog:9
&gt; +        (and the LOG macro do nothing), we should aslo disable logging channels and initialization.

do nothing -&gt; does nothing. aslo.

&gt; Source/WebCore/ChangeLog:12
&gt; +        The biggest part of the patch is the change from !LOG_DISABLED to using ENABLE(LOGGING).
&gt; +        This is done for consistency with the other ENABLE features used in WebKit.

But I don&apos;t think logging is like other ENABLE features. ENABLE is used for  web- or user- facing features, and doesn&apos;t normally change between release and debug builds. LOGGING is more like ASSERTS, in that it&apos;s disabled in release.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660725</commentid>
    <comment_count>10</comment_count>
      <attachid>150059</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2012-06-29 13:02:32 -0700</bug_when>
    <thetext>Comment on attachment 150059
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Initializating of the logging channels was taking time on startup. When loggin is disabled
&gt; +        (and the LOG macro do nothing), we should aslo disable logging channels and initialization.

Nit (typo): &quot;Initializating&quot; =&gt; &quot;Initializing&quot;
Nit (typo): &quot;loggin&quot; =&gt; &quot;logging&quot;
Nit (typo): &quot;macro do nothing&quot; =&gt; &quot;macro does nothing&quot;
Nit (typo): &quot;aslo&quot; =&gt; &quot;also&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660827</commentid>
    <comment_count>11</comment_count>
      <attachid>150263</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-06-29 15:25:52 -0700</bug_when>
    <thetext>Created attachment 150263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660865</commentid>
    <comment_count>12</comment_count>
      <attachid>150263</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-06-29 16:51:22 -0700</bug_when>
    <thetext>Comment on attachment 150263
Patch

I&apos;ll look into using Assertions.h directly for WebCore.exp.in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660917</commentid>
    <comment_count>13</comment_count>
      <attachid>150263</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2012-06-29 18:30:31 -0700</bug_when>
    <thetext>Comment on attachment 150263
Patch

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

&gt; Source/WebCore/WebCore.exp.in:631
&gt; +#if !LOG_DISABLED
&gt;  __ZN7WebCore36initializeLoggingChannelsIfNecessaryEv
&gt; +#endif // !LOG_DISABLED

The convention seems to be adding a new block near the bottom of the file.

    #if !defined(LOG_DISABLED)
    ....
    #endif

I assume other build systems (like Windows?) might need a similar export fix.

This patch is much easier to follow =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660955</commentid>
    <comment_count>14</comment_count>
      <attachid>150297</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-06-29 20:25:19 -0700</bug_when>
    <thetext>Created attachment 150297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661264</commentid>
    <comment_count>15</comment_count>
      <attachid>150297</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-01 23:04:43 -0700</bug_when>
    <thetext>Comment on attachment 150297
Patch

Looks find on EFL port case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661736</commentid>
    <comment_count>16</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-07-02 14:48:19 -0700</bug_when>
    <thetext>Committed r121707: &lt;http://trac.webkit.org/changeset/121707&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150044</attachid>
            <date>2012-06-28 17:11:15 -0700</date>
            <delta_ts>2012-06-28 18:09:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90228-20120628171115.patch</filename>
            <type>text/plain</type>
            <size>78170</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQyOGUyMjIzMzUwYmRhMWQyYThmNmY0
ZWMzMTMyOGEwN2M1N2VlZjIuLmE1NjVkZjRlODk2YzAzZWQ3MDVhNWJlZjJmYjFlZTE0NjA3YjA3
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDYtMjggIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRp
YWxpemF0aW9uIHdoZW4gbG9nZ2luZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisgICAgICAgICog
d3RmL1BsYXRmb3JtLmg6CisgICAgICAgICogd3RmL1RocmVhZGluZy5jcHA6CisgICAgICAgIChX
VEY6OmNyZWF0ZVRocmVhZCk6CisKIDIwMTItMDYtMjggIEthbGV2IExlbWJlciAgPGthbGV2bGVt
YmVyQGdtYWlsLmNvbT4KIAogICAgICAgICBUaHJlYWRpbmdXaW46IFNpbGVuY2UgR0NDIGNvbXBp
bGVyIHdhcm5pbmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFjOWY4MjMwMTJmMDk4OGRlZWE1NGE0Zjg4OWU0
MDlkODNjYTg5Ny4uY2I1ZDc2OTMwMTEwYjdhZDdmNDZmZmEwOGZkMWQ1OTVjYmY0YjhjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEwNCBAQAorMjAxMi0wNi0yOCAgQmVuamFtaW4gUG91bGFpbiAg
PGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55IGxvZ2dpbmcgaW5p
dGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWxpemF0aW5nIG9mIHRoZSBsb2dnaW5n
IGNoYW5uZWxzIHdhcyB0YWtpbmcgdGltZSBvbiBzdGFydHVwLiBXaGVuIGxvZ2dpbiBpcyBkaXNh
YmxlZAorICAgICAgICAoYW5kIHRoZSBMT0cgbWFjcm8gZG8gbm90aGluZyksIHdlIHNob3VsZCBh
c2xvIGRpc2FibGUgbG9nZ2luZyBjaGFubmVscyBhbmQgaW5pdGlhbGl6YXRpb24uCisKKyAgICAg
ICAgVGhlIGJpZ2dlc3QgcGFydCBvZiB0aGUgcGF0Y2ggaXMgdGhlIGNoYW5nZSBmcm9tICFMT0df
RElTQUJMRUQgdG8gdXNpbmcgRU5BQkxFKExPR0dJTkcpLgorICAgICAgICBUaGlzIGlzIGRvbmUg
Zm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIG90aGVyIEVOQUJMRSBmZWF0dXJlcyB1c2VkIGluIFdl
YktpdC4KKworICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5o
OgorICAgICAgICAoQWJzdHJhY3REYXRhYmFzZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVRhc2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUYXNrOjpE
YXRhYmFzZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUYXNrOjp+RGF0YWJhc2VU
YXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVGFzazo6cGVyZm9ybVRhc2spOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRh
c2suaDoKKyAgICAgICAgKERhdGFiYXNlVGFzayk6CisgICAgICAgIChEYXRhYmFzZTo6RGF0YWJh
c2VPcGVuVGFzayk6CisgICAgICAgIChEYXRhYmFzZTo6RGF0YWJhc2VDbG9zZVRhc2spOgorICAg
ICAgICAoRGF0YWJhc2U6OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrKToKKyAgICAgICAgKERhdGFi
YXNlOjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNrKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFi
YXNlL1NRTFRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKFNRTFRyYW5zYWN0
aW9uKToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpzZWVrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OndpbGxSZW1vdmVUcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
ZWxlY3ROZXh0U291cmNlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c291cmNlV2FzQWRkZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c291cmNlV2FzUmVtb3ZlZCk6CisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGxvYWRlci9IaXN0b3J5Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQmFja0Zv
cndhcmROYXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjp1
cGRhdGVGb3JSZWxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OnVw
ZGF0ZUZvclJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQ2xpZW50UmVkaXJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OnVwZGF0ZUZvckNvbW1pdCk6CisgICAgICAg
ICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFkKToKKyAg
ICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKToKKyAgICAg
ICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6cmVhZEZyb21EYXRhYmFzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJY29uRGF0YWJhc2U6OndyaXRlVG9EYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhyZWFkKToKKyAgICAgICAgKiBwYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkJhc2U6
OnVwZGF0ZVN0YXRlTWFjaGluZSk6CisgICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5oOgorICAgICAgICAqIHBsYXRmb3JtL05vdEltcGxl
bWVudGVkLmg6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJy
eS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25DRi5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkFW
RldyYXBwZXI6Om5vdGlmaWNhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkFWRldy
YXBwZXI6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RhbmRhcmRGaWx0ZXJQcm9ncmFtOjpTdGFuZGFyZEZp
bHRlclByb2dyYW0pOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvTG9nZ2luZ01hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d2ls
bFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OmRpZFJlY2VpdmVSZXNwb25zZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpkaWRSZWNlaXZlRGF0YUFycmF5KToKKyAgICAgICAgKFdlYkNvcmU6
OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFVzZUNyZWRlbnRpYWxT
dG9yYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6ZGlkRmluaXNoTG9hZGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OmRpZFJlY2VpdmVD
aGFsbGVuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuUmVzcG9uZFRvUHJvdGVjdGlvblNwYWNl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbToK
KyAgICAgICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZSBjb25uZWN0aW9uOndp
bGxTZW5kUmVxdWVzdDpyZWRpcmVjdFJlc3BvbnNlOl0pOgorICAgICAgICAoLVtXZWJDb3JlUmVz
b3VyY2VIYW5kbGVBc0RlbGVnYXRlIGNvbm5lY3Rpb246Y2FuQXV0aGVudGljYXRlQWdhaW5zdFBy
b3RlY3Rpb25TcGFjZTpdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRDb2RlY0lDVTo6Y3JlYXRlSUNVQ29udmVydGVyKToKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vTG9nZ2luZ1dpbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vd3gvTG9nZ2luZ1d4LmNw
cDoKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpbkRlYnVnLmNwcDoKKyAgICAgICAgKiBwbHVnaW5z
L1BsdWdpbkRlYnVnLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wb3NpdGluZ0xvZ0VuYWJsZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpSZW5kZXJMYXllckNvbXBvc2l0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3Np
dGluZ0xheWVycyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlTGF5ZXJUcmVlR2VvbWV0cnkp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKyAgICAgICAg
KFJlbmRlckxheWVyQ29tcG9zaXRvcik6CisKIDIwMTItMDYtMjggIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFNwbGl0IFdlYlNjcm9sbGJh
ciBpbnRvIFdlYlBsdWdpblNjcm9sbGJhciBhbmQgV2ViU2Nyb2xsYmFyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZwppbmRleCBjZjZhNDQyOTE3Y2EzZGZlODM2MTMzYjMwZWNmMzEzZWZlNGZk
MDYzLi5kMmVhZWYwYzE2YmQ2MGUzMDc0YWI4ZWQzOGZhYjkxNWYwMTNmODE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOCAgQmVuamFt
aW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55
IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQXBpL0JsYWNrQmVycnlH
bG9iYWwuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpnbG9iYWxJbml0aWFsaXpl
KToKKwogMjAxMi0wNi0yNyAgQW5kcmV3IExvICA8YW5sb0ByaW0uY29tPgogCiAgICAgICAgIFtC
bGFja0JlcnJ5XSBTZWxlY3Rpb24gb3ZlcmxheSBjYW4gYmVjb21lIHZpc2libGUgYWZ0ZXIgaXQg
aGFzIGJlZW4gaGlkZGVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggZDQ2ZDMxZDQ0ZjEwYWU0ZjU2MGQ1
NzQ3YzJmODAzOWI5NDc4YzcyOS4uM2VlNzYwMDAwYzVjOWJlNzk0ODc3ZmIwZDFkMzg1NzljZmJh
YWI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTI4ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIERvIG5vdCBkbyBh
bnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aGVuIGxvZ2dpbmcgaXMgZGlzYWJsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjI4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBld2svZXdrX21haW4u
Y3BwOgorICAgICAgICAoX2V3a19pbml0X2JvZHkpOgorCiAyMDEyLTA2LTI3ICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMTIxMzk4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDc1MDRkZDRlMzY0MmI3OWNj
Njk4NmUyMzU2MDU2ZTkyYTk4MTVlODEuLmM2MzExOWEyMjRlY2MwOGJmZTA0YjVkNjNkOTZiMWU2
ZTEwMGNkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOCAg
QmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3Qg
ZG8gYW55IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Via2l0L3dl
YmtpdGdsb2JhbHMuY3BwOgorICAgICAgICAod2Via2l0SW5pdCk6CisKIDIwMTItMDYtMjUgIE1h
cmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0xvY2sg
c2hvdWxkIGJlIHBlci1KU0dsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAzNDFmNDVmYWIy
YzJlZDM3MzhmYTlmODk3MjU5M2ZhZGMwODc3NjRhLi42ZTNiZWFjMTA5ZjRiZmEzNDQyN2QxZDM0
NzlmNjBhN2E3YmM1NWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTIt
MDYtMjggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAg
RG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxpemF0aW9uIHdoZW4gbG9nZ2luZyBpcyBkaXNh
YmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAy
MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEhp
c3RvcnkvV2ViSGlzdG9yeS5tbToKKyAgICAgICAgKC1bV2ViSGlzdG9yeVByaXZhdGUgbG9hZEhp
c3RvcnlHdXRzRnJvbVVSTDpzYXZlZEl0ZW1zQ291bnQ6Y29sbGVjdERpc2NhcmRlZEl0ZW1zSW50
bzplcnJvcjpdKToKKyAgICAgICAgKC1bV2ViSGlzdG9yeVByaXZhdGUgbG9hZEZyb21VUkw6Y29s
bGVjdERpc2NhcmRlZEl0ZW1zSW50bzplcnJvcjpdKToKKyAgICAgICAgKC1bV2ViSGlzdG9yeVBy
aXZhdGUgc2F2ZVRvVVJMOmVycm9yOl0pOgorICAgICAgICAqIE1pc2MvV2ViSWNvbkRhdGFiYXNl
Lm1tOgorICAgICAgICAoLVtXZWJJY29uRGF0YWJhc2UgX3NjYWxlSWNvbjp0b1NpemU6XSk6Cisg
ICAgICAgICogTWlzYy9XZWJLaXRMb2dnaW5nLmg6CisgICAgICAgICogTWlzYy9XZWJLaXRMb2dn
aW5nLm06CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblBhY2thZ2UubW06Cisg
ICAgICAgICgtW1dlYk5ldHNjYXBlUGx1Z2luUGFja2FnZSBfdHJ5TG9hZF0pOgorICAgICAgICAq
IFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW06CisgICAgICAgIChXZWJOZXRzY2Fw
ZVBsdWdpblN0cmVhbTo6ZGVzdHJveVN0cmVhbSk6CisgICAgICAgICogUGx1Z2lucy9XZWJQbHVn
aW5EYXRhYmFzZS5tbToKKyAgICAgICAgKC1bV2ViUGx1Z2luRGF0YWJhc2UgcmVmcmVzaF0pOgor
ICAgICAgICAqIFBsdWdpbnMvV2ViUGx1Z2luUGFja2FnZS5tbToKKyAgICAgICAgKC1bV2ViUGx1
Z2luUGFja2FnZSBsb2FkXSk6CisgICAgICAgICogV2ViVmlldy9XZWJBcmNoaXZlLm1tOgorICAg
ICAgICAoLVtXZWJBcmNoaXZlIGluaXRXaXRoRGF0YTpdKToKKyAgICAgICAgKC1bV2ViQXJjaGl2
ZSBkYXRhXSk6CisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAgKC1b
V2ViSFRNTFZpZXcgX2F0dHJpYnV0ZVN0cmluZ0Zyb21ET01SYW5nZTpdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0
aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisKIDIwMTItMDYtMjUgIE1hcmsgSGFobmVu
YmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0xvY2sgc2hvdWxkIGJl
IHBlci1KU0dsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggYjRmN2M0YzhmMzQwZTlmNTlhZmM0
MTQ2ZjU1N2RjMDk4MWM2MDczYS4uOTk3ZTJhZTNkZTMwNWVmMTNiMTBkMTk2NTY5MWQxZWNiNTAy
MmNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOCAgQmVuamFt
aW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55
IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
SW5pdFdlYkNvcmVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbml0aWFsaXplV2ViQ29yZVF0
KToKKwogMjAxMi0wNi0yOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtRdF0gaW5zcGVjdG9yL3N0eWxlcy9pbmplY3Qtc3R5bGVzaGVldC5odG1s
IG1ha2VzIDQgdGVzdHMgZmxha2V5IChURVhUIFBBU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOWYy
NzU1YzNhMzM1M2I3MTMzNjE5MWJjYmI4MTFmYWJhYzgxOGU3YS4uNDkwMmY3MzlhMmM1MjRjNWNh
YjhmNDQ3YmJiZDdiMWE1NGJjNDIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTA2LTI4ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIERvIG5vdCBkbyBhbnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aGVuIGxvZ2dpbmcg
aXMgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkwMjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAy
MDEyLTA2LTI1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgSlNMb2NrIHNob3VsZCBiZSBwZXItSlNHbG9iYWxEYXRhCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4
IDA3N2NkZDQ2MzhhOTFkN2VmNWY2YWExNGI0ZDAwOGM4MTgwNTI0OGUuLjU1MjFmNWQ2NTQwZjJi
MjhkZTM3ZDE4NGNmM2JhODAyYzBhOGIwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMDYtMjggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxpemF0aW9uIHdoZW4gbG9nZ2lu
ZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpDcmVhdGUpOgor
CiAyMDEyLTA1LTMxICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJFR1JFU1NJT04ocjExNzU3Mik6IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1h
c3luYy1yZW1vdmUtZnJhbWUuaHRtbCBjcmFzaGVzIG9uIE1hYwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDcwOWJh
ZjIxZjJlNzQ4MjRiMDQ4NzE3NDVhODNmMmYyZWVjZTRmMGIuLjkwOWYzYjc3NmE3N2ViYzNhYmNh
ZjFlMzQ3ZWQxNTc2NzMyZmNjMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0w
Ni0yOCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBE
byBub3QgZG8gYW55IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2Fi
bGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIy
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxh
dGZvcm0vTG9nZ2luZy5jcHA6CisgICAgICAgICogUGxhdGZvcm0vTG9nZ2luZy5oOgorICAgICAg
ICAqIFBsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgICogUGxhdGZvcm0vcXQvTG9nZ2luZ1F0LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250
ZXh0OjpXZWJDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6V2ViUHJvY2Vzcyk6CisKIDIwMTItMDYtMjgg
IEpvaG4gU3VsbGl2YW4gIDxzdWxsaXZhbkBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIxNj4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0Fzc2VydGlvbnMuaCBiL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaAppbmRl
eCA5ODA3Y2VkYmNiYzZiMzViYTkwZTlhMTZjNmMyNWFmMjE2ZWQ1OTc5Li42MGM5ZjE3MzQ2Mzc1
MjlhZjkzZjE2YWFlOGJiOTUyOTg3YmFhMTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9B
c3NlcnRpb25zLmgKKysrIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oCkBAIC01MCwxOSAr
NTAsNiBAQAogI2luY2x1ZGUgPGludHR5cGVzLmg+CiAjZW5kaWYKIAotI2lmZGVmIE5ERUJVRwot
LyogRGlzYWJsZSBBU1NFUlQqIG1hY3JvcyBpbiByZWxlYXNlIG1vZGUuICovCi0jZGVmaW5lIEFT
U0VSVElPTlNfRElTQUJMRURfREVGQVVMVCAxCi0jZWxzZQotI2RlZmluZSBBU1NFUlRJT05TX0RJ
U0FCTEVEX0RFRkFVTFQgMAotI2VuZGlmCi0KLSNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikK
LSNkZWZpbmUgSEFWRV9WQVJJQURJQ19NQUNSTyAwCi0jZWxzZQotI2RlZmluZSBIQVZFX1ZBUklB
RElDX01BQ1JPIDEKLSNlbmRpZgotCiAjaWZuZGVmIEJBQ0tUUkFDRV9ESVNBQkxFRAogI2RlZmlu
ZSBCQUNLVFJBQ0VfRElTQUJMRUQgQVNTRVJUSU9OU19ESVNBQkxFRF9ERUZBVUxUCiAjZW5kaWYK
QEAgLTk5LDE0ICs4Niw2IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWZuZGVmIExPR19ESVNBQkxF
RAotI2lmIEhBVkUoVkFSSUFESUNfTUFDUk8pCi0jZGVmaW5lIExPR19ESVNBQkxFRCBBU1NFUlRJ
T05TX0RJU0FCTEVEX0RFRkFVTFQKLSNlbHNlCi0jZGVmaW5lIExPR19ESVNBQkxFRCAxCi0jZW5k
aWYKLSNlbmRpZgotCiAjaWYgQ09NUElMRVIoR0NDKQogI2RlZmluZSBXVEZfUFJFVFRZX0ZVTkNU
SU9OIF9fUFJFVFRZX0ZVTkNUSU9OX18KICNlbHNlCkBAIC0zNTgsNyArMzM3LDcgQEAgd2hpbGUg
KDApCiAKICNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikKICNkZWZpbmUgTE9HKCkgKCh2b2lk
KTApCi0jZWxpZiBMT0dfRElTQUJMRUQKKyNlbGlmICFFTkFCTEUoTE9HR0lORykKICNkZWZpbmUg
TE9HKGNoYW5uZWwsIC4uLikgKCh2b2lkKTApCiAjZWxzZQogI2RlZmluZSBMT0coY2hhbm5lbCwg
Li4uKSBXVEZMb2coJkpPSU5fTE9HX0NIQU5ORUxfV0lUSF9QUkVGSVgoTE9HX0NIQU5ORUxfUFJF
RklYLCBjaGFubmVsKSwgX19WQV9BUkdTX18pCkBAIC0zNzAsNyArMzQ5LDcgQEAgd2hpbGUgKDAp
CiAKICNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikKICNkZWZpbmUgTE9HX1ZFUkJPU0UoY2hh
bm5lbCkgKCh2b2lkKTApCi0jZWxpZiBMT0dfRElTQUJMRUQKKyNlbGlmICFFTkFCTEUoTE9HR0lO
RykKICNkZWZpbmUgTE9HX1ZFUkJPU0UoY2hhbm5lbCwgLi4uKSAoKHZvaWQpMCkKICNlbHNlCiAj
ZGVmaW5lIExPR19WRVJCT1NFKGNoYW5uZWwsIC4uLikgV1RGTG9nVmVyYm9zZShfX0ZJTEVfXywg
X19MSU5FX18sIFdURl9QUkVUVFlfRlVOQ1RJT04sICZKT0lOX0xPR19DSEFOTkVMX1dJVEhfUFJF
RklYKExPR19DSEFOTkVMX1BSRUZJWCwgY2hhbm5lbCksIF9fVkFfQVJHU19fKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
aW5kZXggNzJlNjZmMDk0N2YwNTQzMTY3Y2VmNzc2YzJmODc2MmYwYjIyN2E3NC4uMDUwZWI1ZjNj
ZDA5NDQ5YmRkMDY4YWJkYWI2ZmFkMjI0MGVhMGI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0zMDQsNiAr
MzA0LDI3IEBACiAjZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQogI2VuZGlm
CiAKKy8qID09PT0gRGVidWdnaW5nIGFuZCBMb2dnaW5nID09PT0gKi8KKworI2lmZGVmIE5ERUJV
RworLyogRGlzYWJsZSBBU1NFUlQqIG1hY3JvcyBpbiByZWxlYXNlIG1vZGUuICovCisjZGVmaW5l
IEFTU0VSVElPTlNfRElTQUJMRURfREVGQVVMVCAxCisjZWxzZQorI2RlZmluZSBBU1NFUlRJT05T
X0RJU0FCTEVEX0RFRkFVTFQgMAorI2VuZGlmCisKKyNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dF
UikKKyNkZWZpbmUgSEFWRV9WQVJJQURJQ19NQUNSTyAwCisjZWxzZQorI2RlZmluZSBIQVZFX1ZB
UklBRElDX01BQ1JPIDEKKyNlbmRpZgorCisjaWYgSEFWRShWQVJJQURJQ19NQUNSTykgJiYgIUFT
U0VSVElPTlNfRElTQUJMRURfREVGQVVMVAorI2RlZmluZSBFTkFCTEVfTE9HR0lORyAxCisjZWxz
ZQorI2RlZmluZSBFTkFCTEVfTE9HR0lORyAwCisjZW5kaWYKKwogLyogPT09PSBPUygpIC0gdW5k
ZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxv
dy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAogICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2Ug
YSBHVUkgdG9vbGtpdCA9PT09ICovCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVh
ZGluZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDhkNjU4ZTkzNDhi
ZGU1NjYwNzI0MWE1M2EzZDMxMDdlOWM4N2UzMjMuLjE4MTZjNzkzN2RmOTk5YjNkNWMzMTQ4MTdh
MzAyMmVhYjdkNDBhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAK
KysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcApAQCAtNzMsNyArNzMsNyBAQCBUaHJl
YWRJZGVudGlmaWVyIGNyZWF0ZVRocmVhZChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lk
KiBkYXRhLCBjb25zdCBjaGFyKgogewogICAgIC8vIFZpc3VhbCBTdHVkaW8gaGFzIGEgMzEtY2hh
cmFjdGVyIGxpbWl0IG9uIHRocmVhZCBuYW1lcy4gTG9uZ2VyIG5hbWVzIHdpbGwKICAgICAvLyBi
ZSB0cnVuY2F0ZWQgc2lsZW50bHksIGJ1dCB3ZSdkIGxpa2UgY2FsbGVycyB0byBrbm93IGFib3V0
IHRoZSBsaW1pdC4KLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAg
aWYgKHN0cmxlbihuYW1lKSA+IDMxKQogICAgICAgICBMT0dfRVJST1IoIlRocmVhZCBuYW1lIFwi
JXNcIiBpcyBsb25nZXIgdGhhbiAzMSBjaGFyYWN0ZXJzIGFuZCB3aWxsIGJlIHRydW5jYXRlZCBi
eSBWaXN1YWwgU3R1ZGlvIiwgbmFtZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmgKaW5kZXggMTJiODk4NWQx
MWZkZmU1ZjJkYzZkY2JkYTcyNWNjMTQ3YWU2YWYyYy4uMWE4YzMxN2QzMWQ2ZGZhODNjNjUyODQy
MjQwZjg4NzNhZDllMTZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmgKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRl
ICJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+Ci0jaWYgIUxPR19ESVNBQkxFRCB8fCAhRVJST1Jf
RElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykgfHwgIUVSUk9SX0RJU0FCTEVECiAjaW5jbHVk
ZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNlbmRpZgogCkBAIC0xMzcsNyArMTM3LDcgQEAgcHJvdGVj
dGVkOgogICAgIHVuc2lnbmVkIGxvbmcgbV9lc3RpbWF0ZWRTaXplOwogICAgIFN0cmluZyBtX2Zp
bGVuYW1lOwogCi0jaWYgIUxPR19ESVNBQkxFRCB8fCAhRVJST1JfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykgfHwgIUVSUk9SX0RJU0FCTEVECiAgICAgU3RyaW5nIGRhdGFiYXNlRGVidWdO
YW1lKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0VGhyZWFkU2VjdXJpdHlPcmlnaW4tPnRvU3Ry
aW5nKCkgKyAiOjoiICsgbV9uYW1lOyB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suY3BwCmluZGV4IDA2NjcyNWZlMzc3
MmFhNDhkZTBhZDk5ZTUxM2Q3ZjlkZmYyYzg5ZTIuLjYwNDdlN2E0YWM4YjA0NjIyMDBjM2YwOTNj
MTNkMmEzODMyY2RiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlVGFzay5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9pZCBEYXRhYmFzZVRh
c2tTeW5jaHJvbml6ZXI6OnRhc2tDb21wbGV0ZWQoKQogRGF0YWJhc2VUYXNrOjpEYXRhYmFzZVRh
c2soRGF0YWJhc2UqIGRhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqIHN5bmNocm9u
aXplcikKICAgICA6IG1fZGF0YWJhc2UoZGF0YWJhc2UpCiAgICAgLCBtX3N5bmNocm9uaXplcihz
eW5jaHJvbml6ZXIpCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAg
ICwgbV9jb21wbGV0ZShmYWxzZSkKICNlbmRpZgogewpAQCAtNzAsNyArNzAsNyBAQCBEYXRhYmFz
ZVRhc2s6OkRhdGFiYXNlVGFzayhEYXRhYmFzZSogZGF0YWJhc2UsIERhdGFiYXNlVGFza1N5bmNo
cm9uaXplciogc3luY2hybwogCiBEYXRhYmFzZVRhc2s6On5EYXRhYmFzZVRhc2soKQogewotI2lm
ICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBBU1NFUlQobV9jb21wbGV0
ZSB8fCAhbV9zeW5jaHJvbml6ZXIpOwogI2VuZGlmCiB9CkBAIC03OCw3ICs3OCw3IEBAIERhdGFi
YXNlVGFzazo6fkRhdGFiYXNlVGFzaygpCiB2b2lkIERhdGFiYXNlVGFzazo6cGVyZm9ybVRhc2so
KQogewogICAgIC8vIERhdGFiYXNlIHRhc2tzIGFyZSBtZWFudCB0byBiZSB1c2VkIG9ubHkgb25j
ZSwgc28gbWFrZSBzdXJlIHRoaXMgb25lIGhhc24ndCBiZWVuIHBlcmZvcm1lZCBiZWZvcmUuCi0j
aWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIEFTU0VSVCghbV9jb21w
bGV0ZSk7CiAjZW5kaWYKIApAQCAtOTAsNyArOTAsNyBAQCB2b2lkIERhdGFiYXNlVGFzazo6cGVy
Zm9ybVRhc2soKQogICAgIGlmIChtX3N5bmNocm9uaXplcikKICAgICAgICAgbV9zeW5jaHJvbml6
ZXItPnRhc2tDb21wbGV0ZWQoKTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9H
R0lORykKICAgICBtX2NvbXBsZXRlID0gdHJ1ZTsKICNlbmRpZgogfQpAQCAtMTE2LDcgKzExNiw3
IEBAIHZvaWQgRGF0YWJhc2U6OkRhdGFiYXNlT3BlblRhc2s6OmRvUGVyZm9ybVRhc2soKQogICAg
ICAgICBtX2Vycm9yTWVzc2FnZSA9IGVycm9yTWVzc2FnZS5pc29sYXRlZENvcHkoKTsKIH0KIAot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIGNvbnN0IGNoYXIqIERhdGFi
YXNlOjpEYXRhYmFzZU9wZW5UYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QKIHsKICAgICByZXR1
cm4gIkRhdGFiYXNlT3BlblRhc2siOwpAQCAtMTM2LDcgKzEzNiw3IEBAIHZvaWQgRGF0YWJhc2U6
OkRhdGFiYXNlQ2xvc2VUYXNrOjpkb1BlcmZvcm1UYXNrKCkKICAgICBkYXRhYmFzZSgpLT5jbG9z
ZSgpOwogfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogY29uc3Qg
Y2hhciogRGF0YWJhc2U6OkRhdGFiYXNlQ2xvc2VUYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QK
IHsKICAgICByZXR1cm4gIkRhdGFiYXNlQ2xvc2VUYXNrIjsKQEAgLTE1OCw3ICsxNTgsNyBAQCB2
b2lkIERhdGFiYXNlOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6ZG9QZXJmb3JtVGFzaygpCiAg
ICAgICAgIG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCktPmluUHJvZ3Jlc3NUcmFuc2FjdGlvbkNv
bXBsZXRlZCgpOwogfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
Y29uc3QgY2hhciogRGF0YWJhc2U6OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrOjpkZWJ1Z1Rhc2tO
YW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gIkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrIjsKQEAg
LTE4MCw3ICsxODAsNyBAQCB2b2lkIERhdGFiYXNlOjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNrOjpk
b1BlcmZvcm1UYXNrKCkKICAgICBtX3RhYmxlTmFtZXMgPSBkYXRhYmFzZSgpLT5wZXJmb3JtR2V0
VGFibGVOYW1lcygpOwogfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5H
KQogY29uc3QgY2hhciogRGF0YWJhc2U6OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2s6OmRlYnVnVGFz
a05hbWUoKSBjb25zdAogewogICAgIHJldHVybiAiRGF0YWJhc2VUYWJsZU5hbWVzVGFzayI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFz
ay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suaApp
bmRleCA4MmQ1MWYwM2ZhYTFlY2YyYTBjMDE0YTdkNzFkMjk3ZTA4MzQ5OTk5Li5lOGFmMGI4Mzdk
OTlmYTA4YTVlYTgyNjY1N2VmMDkwNTY5MjI1YmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUYXNrLmgKQEAgLTkyLDcgKzkyLDcgQEAgcHJp
dmF0ZToKICAgICBEYXRhYmFzZSogbV9kYXRhYmFzZTsKICAgICBEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIqIG1fc3luY2hyb25pemVyOwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogICAgIHZpcnR1YWwgY29uc3QgY2hhciogZGVidWdUYXNrTmFtZSgpIGNvbnN0ID0g
MDsKICAgICBib29sIG1fY29tcGxldGU7CiAjZW5kaWYKQEAgLTEwOSw3ICsxMDksNyBAQCBwcml2
YXRlOgogICAgIERhdGFiYXNlT3BlblRhc2soRGF0YWJhc2UqLCBib29sIHNldFZlcnNpb25Jbk5l
d0RhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqLCBFeGNlcHRpb25Db2RlJiwgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGJvb2wmIHN1Y2Nlc3MpOwogCiAgICAgdmlydHVhbCB2b2lkIGRv
UGVyZm9ybVRhc2soKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAg
ICAgdmlydHVhbCBjb25zdCBjaGFyKiBkZWJ1Z1Rhc2tOYW1lKCkgY29uc3Q7CiAjZW5kaWYKIApA
QCAtMTMwLDcgKzEzMCw3IEBAIHByaXZhdGU6CiAgICAgRGF0YWJhc2VDbG9zZVRhc2soRGF0YWJh
c2UqLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkb1Bl
cmZvcm1UYXNrKCk7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAg
IHZpcnR1YWwgY29uc3QgY2hhciogZGVidWdUYXNrTmFtZSgpIGNvbnN0OwogI2VuZGlmCiB9OwpA
QCAtMTQ5LDcgKzE0OSw3IEBAIHByaXZhdGU6CiAgICAgRGF0YWJhc2VUcmFuc2FjdGlvblRhc2so
UGFzc1JlZlB0cjxTUUxUcmFuc2FjdGlvbj4pOwogCiAgICAgdmlydHVhbCB2b2lkIGRvUGVyZm9y
bVRhc2soKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgdmly
dHVhbCBjb25zdCBjaGFyKiBkZWJ1Z1Rhc2tOYW1lKCkgY29uc3Q7CiAjZW5kaWYKIApAQCAtMTY3
LDcgKzE2Nyw3IEBAIHByaXZhdGU6CiAgICAgRGF0YWJhc2VUYWJsZU5hbWVzVGFzayhEYXRhYmFz
ZSosIERhdGFiYXNlVGFza1N5bmNocm9uaXplciosIFZlY3RvcjxTdHJpbmc+JiBuYW1lcyk7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgZG9QZXJmb3JtVGFzaygpOwotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGRlYnVnVGFza05hbWUo
KSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uY3BwCmluZGV4IGU5ZjM4YTk3NmRiZTlmNmY1ODc1NjIy
MmI4ZmY0ZTA2YTk5NzU1NzAuLjE3YjI4NzUwODRkYzNjYjVlMDQyMzE5MTNmZTk0NmU3MGY2Yjkz
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJh
bnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FM
VHJhbnNhY3Rpb24uY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTUUxUcmFuc2FjdGlvbjo6
ZW5xdWV1ZVN0YXRlbWVudChQYXNzUmVmUHRyPFNRTFN0YXRlbWVudD4gc3RhdGVtZW50KQogICAg
IG1fc3RhdGVtZW50UXVldWUuYXBwZW5kKHN0YXRlbWVudCk7CiB9CiAKLSNpZiAhTE9HX0RJU0FC
TEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiBjb25zdCBjaGFyKiBTUUxUcmFuc2FjdGlvbjo6ZGVi
dWdTdGVwTmFtZShTUUxUcmFuc2FjdGlvbjo6VHJhbnNhY3Rpb25TdGVwTWV0aG9kIHN0ZXApCiB7
CiAgICAgaWYgKHN0ZXAgPT0gJlNRTFRyYW5zYWN0aW9uOjphY3F1aXJlTG9jaykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaAppbmRl
eCAxMTQzOGUyMmEzZjQ1YWU3ZGFlMmRhZTg4ZTZkNjY0MDQ0OGE3Y2FmLi40NTVjNWQ1Zjc4YzVk
OGFiYzM4YWM3MTU1ZTJmYzI4MzFlOTJkZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oCkBAIC0xMDYsNyArMTA2LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRlbGl2ZXJUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2soKTsKICAg
ICB2b2lkIGNsZWFudXBBZnRlclRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjaygpOwogCi0jaWYgIUxP
R19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBk
ZWJ1Z1N0ZXBOYW1lKFRyYW5zYWN0aW9uU3RlcE1ldGhvZCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgppbmRleCBhYmRkZmI3MjJhZDJjM2M2NDRlMjk3MjNmYWU5ZTFjYjBiZTYxMzE0Li44
YWU1OTUxMGJhYWM3YmY5MTQ0ZjJiZDdjMmI5ZTFlMWVkODFkMGQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgpAQCAtNjI2LDcgKzYyNiw5IEBAIF9fWk43V2ViQ29yZTMxQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZTVlbXB0eUV2CiBfX1pON1dlYkNvcmUzMUNyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGU2c2hhcmVkRXYKIF9fWk43V2ViQ29yZTMycGxhaW5UZXh0VG9NYWxsb2NBbGxv
Y2F0ZWRCdWZmZXJFUEtOU181UmFuZ2VFUmpiTlNfMjBUZXh0SXRlcmF0b3JCZWhhdmlvckUKIF9f
Wk43V2ViQ29yZTMzc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzRVJLTjNXVEY2U3Ry
aW5nRQorI2lmIEVOQUJMRShMT0dHSU5HKQogX19aTjdXZWJDb3JlMzZpbml0aWFsaXplTG9nZ2lu
Z0NoYW5uZWxzSWZOZWNlc3NhcnlFdgorI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogX19aTjdX
ZWJDb3JlM21hY0VSS05TXzEwQ3JlZGVudGlhbEUKIF9fWk43V2ViQ29yZTNtYWNFUktOU18yM0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRQogX19aTjdXZWJDb3JlNDByZXN0cmljdE1pbmltdW1TY2Fs
ZUZhY3RvclRvVmlld3BvcnRTaXplRVJOU18xOFZpZXdwb3J0QXR0cmlidXRlc0VOU183SW50U2l6
ZUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGZkZGM0Mjg5
M2ViZDAwM2UwYTU1ZGRiN2YyYzg3NTg2NWU3YTk0N2YuLmI1MzNiMjhiZWYyNWQ4MzMwOWMxNmFi
OGNjYjE4N2QxMzhiNjhlOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIHN0
YXRpYyBTdHJpbmcgdXJsRm9yTG9nZ2luZyhjb25zdCBLVVJMJiB1cmwpCiB7CiAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIG1heGltdW1VUkxMZW5ndGhGb3JMb2dnaW5nID0gMTI4OwpAQCAtMTkz
Niw3ICsxOTM2LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrKGZsb2F0IHRpbWUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogICAgIC8vIHRpbWUgc2NhbGUsIHdlIHdpbGwgYXNrIHRoZSBtZWRp
YSBlbmdpbmUgdG8gInNlZWsiIHRvIHRoZSBjdXJyZW50IG1vdmllIHRpbWUsIHdoaWNoIG1heSBi
ZSBhIG5vb3AgYW5kCiAgICAgLy8gbm90IGdlbmVyYXRlIGEgdGltZWNoYW5nZWQgY2FsbGJhY2su
IFRoaXMgbWVhbnMgbV9zZWVraW5nIHdpbGwgbmV2ZXIgYmUgY2xlYXJlZCBhbmQgd2Ugd2lsbCBu
ZXZlciAKICAgICAvLyBmaXJlIGEgJ3NlZWtlZCcgZXZlbnQuCi0jaWYgIUxPR19ESVNBQkxFRAor
I2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGZsb2F0IG1lZGlhVGltZSA9IG1fcGxheWVyLT5tZWRp
YVRpbWVGb3JUaW1lVmFsdWUodGltZSk7CiAgICAgaWYgKHRpbWUgIT0gbWVkaWFUaW1lKQogICAg
ICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzZWVrKCVmKSAtIG1lZGlhIHRpbWVs
aW5lIGVxdWl2YWxlbnQgaXMgJWYiLCB0aW1lLCBtZWRpYVRpbWUpOwpAQCAtMjg4Miw3ICsyODgy
LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3aWxsUmVtb3ZlVHJhY2soSFRNTFRyYWNrRWxl
bWVudCogdHJhY2tFbGVtZW50KQogICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2Vi
a2l0VmlkZW9UcmFja0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgIUxPR19ESVNB
QkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmICh0cmFja0VsZW1lbnQtPmhhc1RhZ05h
bWUodHJhY2tUYWcpKSB7CiAgICAgICAgIEtVUkwgdXJsID0gdHJhY2tFbGVtZW50LT5nZXROb25F
bXB0eVVSTEF0dHJpYnV0ZShzcmNBdHRyKTsKICAgICAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlh
RWxlbWVudDo6d2lsbFJlbW92ZVRyYWNrIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JMb2dnaW5nKHVy
bCkudXRmOCgpLmRhdGEoKSk7CkBAIC0zMTAzLDcgKzMxMDMsNyBAQCBib29sIEhUTUxNZWRpYUVs
ZW1lbnQ6OmhhdmVQb3RlbnRpYWxTb3VyY2VDaGlsZCgpCiAKIEtVUkwgSFRNTE1lZGlhRWxlbWVu
dDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkKENvbnRlbnRUeXBlKiBjb250ZW50VHlwZSwgU3RyaW5n
KiBrZXlTeXN0ZW0sIEludmFsaWRVUkxBY3Rpb24gYWN0aW9uSWZJbnZhbGlkKQogewotI2lmICFM
T0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAvLyBEb24ndCBsb2cgaWYgdGhp
cyB3YXMganVzdCBjYWxsZWQgdG8gZmluZCBvdXQgaWYgdGhlcmUgYXJlIGFueSB2YWxpZCA8c291
cmNlPiBlbGVtZW50cy4KICAgICBib29sIHNob3VsZExvZyA9IGFjdGlvbklmSW52YWxpZCAhPSBE
b05vdGhpbmc7CiAgICAgaWYgKHNob3VsZExvZykKQEAgLTMxMTEsNyArMzExMSw3IEBAIEtVUkwg
SFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkKENvbnRlbnRUeXBlKiBjb250
ZW50VHlwZSwgU3RyaW5nKiBrCiAjZW5kaWYKIAogICAgIGlmICghbV9uZXh0Q2hpbGROb2RlVG9D
b25zaWRlcikgewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAg
ICAgaWYgKHNob3VsZExvZykKICAgICAgICAgICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OnNlbGVjdE5leHRTb3VyY2VDaGlsZCAtPiAweDAwMDAsIFwiXCIiKTsKICNlbmRpZgpAQCAt
MzE0NSw3ICszMTQ1LDcgQEAgS1VSTCBIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNl
Q2hpbGQoQ29udGVudFR5cGUqIGNvbnRlbnRUeXBlLCBTdHJpbmcqIGsKIAogICAgICAgICAvLyBJ
ZiBjYW5kaWRhdGUgZG9lcyBub3QgaGF2ZSBhIHNyYyBhdHRyaWJ1dGUsIG9yIGlmIGl0cyBzcmMg
YXR0cmlidXRlJ3MgdmFsdWUgaXMgdGhlIGVtcHR5IHN0cmluZyAuLi4ganVtcCBkb3duIHRvIHRo
ZSBmYWlsZWQgc3RlcCBiZWxvdwogICAgICAgICBtZWRpYVVSTCA9IHNvdXJjZS0+Z2V0Tm9uRW1w
dHlVUkxBdHRyaWJ1dGUoc3JjQXR0cik7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogICAgICAgICBpZiAoc2hvdWxkTG9nKQogICAgICAgICAgICAgTE9HKE1lZGlhLCAi
SFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkIC0gJ3NyYycgaXMgJXMiLCB1
cmxGb3JMb2dnaW5nKG1lZGlhVVJMKS51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgpAQCAtMzE1NSw3
ICszMTU1LDcgQEAgS1VSTCBIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNlQ2hpbGQo
Q29udGVudFR5cGUqIGNvbnRlbnRUeXBlLCBTdHJpbmcqIGsKICAgICAgICAgaWYgKHNvdXJjZS0+
ZmFzdEhhc0F0dHJpYnV0ZShtZWRpYUF0dHIpKSB7CiAgICAgICAgICAgICBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHNjcmVlbkV2YWwoInNjcmVlbiIsIGRvY3VtZW50KCktPmZyYW1lKCksIHJlbmRlcmVy
KCkgPyByZW5kZXJlcigpLT5zdHlsZSgpIDogMCk7CiAgICAgICAgICAgICBSZWZQdHI8TWVkaWFR
dWVyeVNldD4gbWVkaWEgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGVBbGxvd2luZ0Rlc2NyaXB0aW9u
U3ludGF4KHNvdXJjZS0+bWVkaWEoKSk7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogICAgICAgICAgICAgaWYgKHNob3VsZExvZykKICAgICAgICAgICAgICAgICBMT0co
TWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNlQ2hpbGQgLSAnbWVkaWEn
IGlzICVzIiwgc291cmNlLT5tZWRpYSgpLnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCkBAIC0zMTY4
LDcgKzMxNjgsNyBAQCBLVVJMIEhUTUxNZWRpYUVsZW1lbnQ6OnNlbGVjdE5leHRTb3VyY2VDaGls
ZChDb250ZW50VHlwZSogY29udGVudFR5cGUsIFN0cmluZyogawogICAgICAgICBpZiAodHlwZS5p
c0VtcHR5KCkgJiYgbWVkaWFVUkwucHJvdG9jb2xJc0RhdGEoKSkKICAgICAgICAgICAgIHR5cGUg
PSBtaW1lVHlwZUZyb21EYXRhVVJMKG1lZGlhVVJMKTsKICAgICAgICAgaWYgKCF0eXBlLmlzRW1w
dHkoKSB8fCAhc3lzdGVtLmlzRW1wdHkoKSkgewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykKICAgICAgICAgICAgIGlmIChzaG91bGRMb2cpCiAgICAgICAgICAgICAgICAg
TE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkIC0gJ3R5
cGUnIGlzICclcycgLSBrZXkgc3lzdGVtIGlzICclcyciLCB0eXBlLnV0ZjgoKS5kYXRhKCksIHN5
c3RlbS51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgpAQCAtMzIwOSw3ICszMjA5LDcgQEAgY2hlY2tf
YWdhaW46CiAgICAgICAgIG1fbmV4dENoaWxkTm9kZVRvQ29uc2lkZXIgPSAwOwogICAgIH0KIAot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAoc2hvdWxkTG9n
KQogICAgICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNl
Q2hpbGQgLT4gJXAsICVzIiwgbV9jdXJyZW50U291cmNlTm9kZS5nZXQoKSwgY2FuVXNlU291cmNl
RWxlbWVudCA/IHVybEZvckxvZ2dpbmcobWVkaWFVUkwpLnV0ZjgoKS5kYXRhKCkgOiAiIik7CiAj
ZW5kaWYKQEAgLTMyMjAsNyArMzIyMCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c291cmNl
V2FzQWRkZWQoSFRNTFNvdXJjZUVsZW1lbnQqIHNvdXJjZSkKIHsKICAgICBMT0coTWVkaWEsICJI
VE1MTWVkaWFFbGVtZW50Ojpzb3VyY2VXYXNBZGRlZCglcCkiLCBzb3VyY2UpOwogCi0jaWYgIUxP
R19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChzb3VyY2UtPmhhc1RhZ05h
bWUoc291cmNlVGFnKSkgewogICAgICAgICBLVVJMIHVybCA9IHNvdXJjZS0+Z2V0Tm9uRW1wdHlV
UkxBdHRyaWJ1dGUoc3JjQXR0cik7CiAgICAgICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OnNvdXJjZVdhc0FkZGVkIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JMb2dnaW5nKHVybCkudXRm
OCgpLmRhdGEoKSk7CkBAIC0zMjY4LDcgKzMyNjgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnNvdXJjZVdhc1JlbW92ZWQoSFRNTFNvdXJjZUVsZW1lbnQqIHNvdXJjZSkKIHsKICAgICBMT0co
TWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojpzb3VyY2VXYXNSZW1vdmVkKCVwKSIsIHNvdXJjZSk7
CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgaWYgKHNvdXJj
ZS0+aGFzVGFnTmFtZShzb3VyY2VUYWcpKSB7CiAgICAgICAgIEtVUkwgdXJsID0gc291cmNlLT5n
ZXROb25FbXB0eVVSTEF0dHJpYnV0ZShzcmNBdHRyKTsKICAgICAgICAgTE9HKE1lZGlhLCAiSFRN
TE1lZGlhRWxlbWVudDo6c291cmNlV2FzUmVtb3ZlZCAtICdzcmMnIGlzICVzIiwgdXJsRm9yTG9n
Z2luZyh1cmwpLnV0ZjgoKS5kYXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxl
bWVudC5jcHAKaW5kZXggYTBjMjBiZmE3NDQ3Mzc4ZGJkZWVlYThlYTlkNDFkMDViMDI1MTYxMy4u
OTk5MGRiNDFlMjlkNjA2NzFmZGRlYjhiMGQyODEyMDc4MmJlNjY0MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCkBAIC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotI2lmICFMT0dfRElTQUJM
RUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIHN0YXRpYyBTdHJpbmcgdXJsRm9yTG9nZ2luZyhjb25z
dCBLVVJMJiB1cmwpCiB7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heGltdW1VUkxMZW5n
dGhGb3JMb2dnaW5nID0gMTI4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hp
c3RvcnlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJv
bGxlci5jcHAKaW5kZXggYmY4ZDdjOGUyNmY5NjFiM2ZmZTlmNWUxOGI0NGYyYTU4MDk4YjAzYS4u
NWU2OWY1NjFlYzI1YTlmMjUzNjBmMDBjNDZiMDFiZTFhNjJkN2FmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9p
ZCBIaXN0b3J5Q29udHJvbGxlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVyKQogCiB2b2lk
IEhpc3RvcnlDb250cm9sbGVyOjp1cGRhdGVGb3JCYWNrRm9yd2FyZE5hdmlnYXRpb24oKQogewot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAobV9mcmFtZS0+
bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkpCiAgICAgICAgIExPRyhIaXN0b3J5LCAiV2ViQ29y
ZUhpc3Rvcnk6IFVwZGF0aW5nIEhpc3RvcnkgZm9yIGJhY2svZm9yd2FyZCBuYXZpZ2F0aW9uIGlu
IGZyYW1lICVzIiwgbV9mcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPnRpdGxlKCku
c3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAjZW5kaWYKQEAgLTMwMiw3ICszMDIsNyBAQCB2b2lk
IEhpc3RvcnlDb250cm9sbGVyOjp1cGRhdGVGb3JCYWNrRm9yd2FyZE5hdmlnYXRpb24oKQogCiB2
b2lkIEhpc3RvcnlDb250cm9sbGVyOjp1cGRhdGVGb3JSZWxvYWQoKQogewotI2lmICFMT0dfRElT
QUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAobV9mcmFtZS0+bG9hZGVyKCktPmRv
Y3VtZW50TG9hZGVyKCkpCiAgICAgICAgIExPRyhIaXN0b3J5LCAiV2ViQ29yZUhpc3Rvcnk6IFVw
ZGF0aW5nIEhpc3RvcnkgZm9yIHJlbG9hZCBpbiBmcmFtZSAlcyIsIG1fZnJhbWUtPmxvYWRlcigp
LT5kb2N1bWVudExvYWRlcigpLT50aXRsZSgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogI2Vu
ZGlmCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9y
U3RhbmRhcmRMb2FkKEhpc3RvcnlVcGRhdGVUeXBlIHVwZGF0ZVR5cGUpCiAKIHZvaWQgSGlzdG9y
eUNvbnRyb2xsZXI6OnVwZGF0ZUZvclJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdCgp
CiB7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChtX2Zy
YW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKSkKICAgICAgICAgTE9HKEhpc3RvcnksICJX
ZWJDb3JlSGlzdG9yeTogVXBkYXRpbmcgSGlzdG9yeSBmb3IgcmVkaXJlY3QgbG9hZCBpbiBmcmFt
ZSAlcyIsIG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT50aXRsZSgpLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCkBAIC00MDYsNyArNDA2LDcgQEAgdm9pZCBIaXN0
b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yUmVkaXJlY3RXaXRoTG9ja2VkQmFja0ZvcndhcmRMaXN0
KCkKIAogdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQ2xpZW50UmVkaXJlY3QoKQog
ewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAobV9mcmFt
ZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkpCiAgICAgICAgIExPRyhIaXN0b3J5LCAiV2Vi
Q29yZUhpc3Rvcnk6IFVwZGF0aW5nIEhpc3RvcnkgZm9yIGNsaWVudCByZWRpcmVjdCBpbiBmcmFt
ZSAlcyIsIG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT50aXRsZSgpLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCkBAIC00MzEsNyArNDMxLDcgQEAgdm9pZCBIaXN0
b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQ2xpZW50UmVkaXJlY3QoKQogdm9pZCBIaXN0b3J5Q29u
dHJvbGxlcjo6dXBkYXRlRm9yQ29tbWl0KCkKIHsKICAgICBGcmFtZUxvYWRlciogZnJhbWVMb2Fk
ZXIgPSBtX2ZyYW1lLT5sb2FkZXIoKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAgICAgaWYgKGZyYW1lTG9hZGVyLT5kb2N1bWVudExvYWRlcigpKQogICAgICAgICBM
T0coSGlzdG9yeSwgIldlYkNvcmVIaXN0b3J5OiBVcGRhdGluZyBIaXN0b3J5IGZvciBjb21taXQg
aW4gZnJhbWUgJXMiLCBmcmFtZUxvYWRlci0+ZG9jdW1lbnRMb2FkZXIoKS0+dGl0bGUoKS5zdHJp
bmcoKS51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5jcHAKaW5kZXggN2MxMzU4NmYyOTAwNDBiNDM1NmRhNGVhZjczZWJjMTUy
NGM1NWUwYy4uMTNmYTYwZTM5MDFmZDQzZjViMzAwMjUzYTNkNjc1ZWFhNTliYzBjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCkBAIC03Myw3ICs3Myw3
IEBAIHN0YXRpYyBjb25zdCBpbnQgdXBkYXRlVGltZXJEZWxheSA9IDU7CiAKIHN0YXRpYyBib29s
IGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKLSNpZiAhTE9HX0RJU0FCTEVEIHx8ICFF
UlJPUl9ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKSB8fCAhRVJST1JfRElTQUJMRUQKIHN0
YXRpYyBTdHJpbmcgdXJsRm9yTG9nZ2luZyhjb25zdCBTdHJpbmcmIHVybCkKIHsKICAgICBzdGF0
aWMgdW5zaWduZWQgdXJsVHJ1bmNhdGlvbkxlbmd0aCA9IDEyMDsKQEAgLTEwMDksNyArMTAwOSw3
IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFkKCkKICAgICAKICAg
ICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgSWNvbkRhdGFiYXNlIHN5bmMgdGhyZWFkIHN0
YXJ0ZWQiKTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBk
b3VibGUgc3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKICNlbmRpZgogCkBAIC0xMDM3LDcgKzEw
MzcsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6aWNvbkRhdGFiYXNlU3luY1RocmVhZCgpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykKICAgICBkb3VibGUgdGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKICAgICBM
T0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgT3BlbiB0b29rICUuNGYgc2Vjb25kcyIsIHRpbWVT
dGFtcCAtIHN0YXJ0VGltZSk7CiAjZW5kaWYgICAgCkBAIC0xMDQ4LDcgKzEwNDgsNyBAQCB2b2lk
IEljb25EYXRhYmFzZTo6aWNvbkRhdGFiYXNlU3luY1RocmVhZCgpCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykK
ICAgICBkb3VibGUgbmV3U3RhbXAgPSBjdXJyZW50VGltZSgpOwogICAgIExPRyhJY29uRGF0YWJh
c2UsICIoVEhSRUFEKSBwZXJmb3JtT3BlbkluaXRpYWxpemF0aW9uKCkgdG9vayAlLjRmIHNlY29u
ZHMsIG5vdyAlLjRmIHNlY29uZHMgZnJvbSB0aHJlYWQgc3RhcnQiLCBuZXdTdGFtcCAtIHRpbWVT
dGFtcCwgbmV3U3RhbXAgLSBzdGFydFRpbWUpOwogICAgIHRpbWVTdGFtcCA9IG5ld1N0YW1wOwpA
QCAtMTA3Myw3ICsxMDczLDcgQEAgdm9pZCBJY29uRGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNU
aHJlYWQoKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgICAgICAKLSNp
ZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgICAgIG5ld1N0YW1wID0g
Y3VycmVudFRpbWUoKTsKICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIHBlcmZv
cm1JbXBvcnQoKSB0b29rICUuNGYgc2Vjb25kcywgbm93ICUuNGYgc2Vjb25kcyBmcm9tIHRocmVh
ZCBzdGFydCIsIG5ld1N0YW1wIC0gdGltZVN0YW1wLCBuZXdTdGFtcCAtIHN0YXJ0VGltZSk7CiAg
ICAgICAgIHRpbWVTdGFtcCA9IG5ld1N0YW1wOwpAQCAtMTA5Miw3ICsxMDkyLDcgQEAgdm9pZCBJ
Y29uRGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNUaHJlYWQoKQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIG5ld1N0
YW1wID0gY3VycmVudFRpbWUoKTsKICAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgcGVy
Zm9ybVVSTEltcG9ydCgpIHRvb2sgJS40ZiBzZWNvbmRzLiAgRW50ZXJpbmcgbWFpbiBsb29wICUu
NGYgc2Vjb25kcyBmcm9tIHRocmVhZCBzdGFydCIsIG5ld1N0YW1wIC0gdGltZVN0YW1wLCBuZXdT
dGFtcCAtIHN0YXJ0VGltZSk7CiAjZW5kaWYgCkBAIC0xNDE1LDcgKzE0MTUsNyBAQCB2b2lkIElj
b25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKCkKICAgICB3aGlsZSAoIW1fdGhyZWFkVGVy
bWluYXRpb25SZXF1ZXN0ZWQpIHsKICAgICAgICAgbV9zeW5jTG9jay51bmxvY2soKTsKIAotI2lm
ICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAgZG91YmxlIHRpbWVT
dGFtcCA9IGN1cnJlbnRUaW1lKCk7CiAjZW5kaWYKICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwg
IihUSFJFQUQpIE1haW4gd29yayBsb29wIHN0YXJ0aW5nIik7CkBAIC0xNDUzLDcgKzE0NTMsNyBA
QCB2b2lkIEljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKCkKICAgICAgICAgICAgIC8v
IGhhcyBhc2tlZCB0byBkZWxheSBwcnVuaW5nCiAgICAgICAgICAgICBzdGF0aWMgYm9vbCBwcnVu
ZWRVbnJldGFpbmVkSWNvbnMgPSBmYWxzZTsKICAgICAgICAgICAgIGlmIChkaWRXcml0ZSAmJiAh
bV9wcml2YXRlQnJvd3NpbmdFbmFibGVkICYmICFwcnVuZWRVbnJldGFpbmVkSWNvbnMgJiYgIWRh
dGFiYXNlQ2xlYW51cENvdW50ZXIpIHsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAgICAgICAgICAgICAgICAgZG91YmxlIHRpbWUgPSBjdXJyZW50VGltZSgpOwogI2Vu
ZGlmCiAgICAgICAgICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIFN0YXJ0aW5n
IHBydW5lVW5yZXRhaW5lZEljb25zKCkiKTsKQEAgLTE0NzIsNyArMTQ3Miw3IEBAIHZvaWQgSWNv
bkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lO
RykKICAgICAgICAgZG91YmxlIG5ld3N0YW1wID0gY3VycmVudFRpbWUoKTsKICAgICAgICAgTE9H
KEljb25EYXRhYmFzZSwgIihUSFJFQUQpIE1haW4gd29yayBsb29wIHJhbiBmb3IgJS40ZiBzZWNv
bmRzLCAlcyByZXF1ZXN0ZWQgdG8gdGVybWluYXRlIiwgbmV3c3RhbXAgLSB0aW1lU3RhbXAsIHNo
b3VsZFN0b3BUaHJlYWRBY3Rpdml0eSgpID8gIndhcyIgOiAid2FzIG5vdCIpOwogI2VuZGlmCkBA
IC0xNTU0LDcgKzE1NTQsNyBAQCBib29sIEljb25EYXRhYmFzZTo6cmVhZEZyb21EYXRhYmFzZSgp
CiB7CiAgICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsKICAgICAKLSNpZiAhTE9HX0RJU0FC
TEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91YmxlIHRpbWVTdGFtcCA9IGN1cnJlbnRU
aW1lKCk7CiAjZW5kaWYKIApAQCAtMTY2NCw3ICsxNjY0LDcgQEAgYm9vbCBJY29uRGF0YWJhc2U6
OndyaXRlVG9EYXRhYmFzZSgpCiB7CiAgICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsKIAot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgdGltZVN0
YW1wID0gY3VycmVudFRpbWUoKTsKICNlbmRpZgogCkBAIC0xODY5LDcgKzE4NjksNyBAQCB2b2lk
KiBJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhyZWFkKCkKIHsKICAgICBBU1NFUlRfSUNPTl9T
WU5DX1RIUkVBRCgpOwogICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lO
RykKICAgICBkb3VibGUgdGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKICNlbmRpZiAKIApAQCAt
MTg4OSw3ICsxODg5LDcgQEAgdm9pZCogSWNvbkRhdGFiYXNlOjpjbGVhbnVwU3luY1RocmVhZCgp
CiAgICAgZGVsZXRlQWxsUHJlcGFyZWRTdGF0ZW1lbnRzKCk7ICAgIAogICAgIG1fc3luY0RCLmNs
b3NlKCk7CiAgICAgCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAg
IExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBGaW5hbCBjbG9zdXJlIHRvb2sgJS40ZiBzZWNv
bmRzIiwgY3VycmVudFRpbWUoKSAtIHRpbWVTdGFtcCk7CiAjZW5kaWYKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggMzNkNjMy
NmM4ZGI3YjJkNmQ4NDI3YzQyMTZmYjczMWZiMDkzNWQ1ZS4uZjg3NjJkYWQ2MTY4NTc4NWUzMDE0
ZjE1ZDk1MzkwYzYxNGE1ZjU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQmFzZS5jcHAKQEAgLTI3OSw3ICsyNzksNyBAQCB2b2lkIEFuaW1hdGlvbkJh
c2U6OnVwZGF0ZVN0YXRlTWFjaGluZShBbmltU3RhdGVJbnB1dCBpbnB1dCwgZG91YmxlIHBhcmFt
KQogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQW5pbWF0
aW9uU3RhdGVFbmRpbmc6Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgICAgICAgICAgaWYgKGlucHV0ICE9IEFuaW1hdGlvblN0YXRlSW5wdXRFbmRUaW1lckZpcmVk
ICYmIGlucHV0ICE9IEFuaW1hdGlvblN0YXRlSW5wdXRQbGF5U3RhdGVQYXVzZWQpCiAgICAgICAg
ICAgICAgICAgTE9HX0VSUk9SKCJTdGF0ZSBpcyBBbmltYXRpb25TdGF0ZUVuZGluZywgYnV0IGlu
cHV0IGlzIG5vdCBBbmltYXRpb25TdGF0ZUlucHV0RW5kVGltZXJGaXJlZCBvciBBbmltYXRpb25T
dGF0ZUlucHV0UGxheVN0YXRlUGF1c2VkLiBJdCBpcyAlZC4iLCBpbnB1dCk7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKaW5kZXggMzQ2MzdhN2NjMzMyZGZjNTY3MDM2MWZl
OGE0ZTUwYWEwYTM4NTNhOS4uZjY3Zjk3ODk1MjA3MTE4YTY2NGVkNGJmZDJjYTVjNzE4NzVmMzJj
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKQEAgLTI3LDYgKzI3LDggQEAKICNp
bmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAorI2lmIEVO
QUJMRShMT0dHSU5HKQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURkxvZ0NoYW5uZWwgTG9n
Tm90WWV0SW1wbGVtZW50ZWQgPSB7IDB4MDAwMDAwMDEsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZM
b2dDaGFubmVsT2ZmIH07CkBAIC0xNDksMyArMTUxLDUgQEAgV1RGTG9nQ2hhbm5lbCogZ2V0Q2hh
bm5lbEZyb21OYW1lKGNvbnN0IFN0cmluZyYgY2hhbm5lbE5hbWUpCiB9CiAKIH0KKworI2VuZGlm
IC8vIEVOQUJMRShMT0dHSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TG9nZ2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IDFhZjFj
MDRhYmYwYmE1ODljZmE1ZWE4ZTMyNWNkN2M3YjI1NjJmMmYuLmYwMjRlMjY2YmQyYmFkNzhjNmY3
ZjNkZGFlN2ExNjk3ZmQ4NjNjNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKQEAgLTI5
LDYgKzI5LDggQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAKKyNpZiBFTkFCTEUoTE9HR0lORykKKwogI2lmbmRlZiBMT0dfQ0hBTk5FTF9Q
UkVGSVgKICNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZwogI2VuZGlmCkBAIC02Niw0ICs2
OCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBXVEZMb2dDaGFubmVsKiBnZXRDaGFubmVs
RnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFubmVsTmFtZSk7CiB9CiAKKyNlbmRpZiAvLyBFTkFC
TEUoTE9HR0lORykKKwogI2VuZGlmIC8vIExvZ2dpbmdfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTm90SW1wbGVtZW50ZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L05vdEltcGxlbWVudGVkLmgKaW5kZXggZTUwNDA3OTYxOWIzN2ZlN2ExNmVjNmRkYzg5YzI3NWU3
ZTk2MzhkYy4uMGNhZTc0MzIzYjViOWUzM2Y0NjNjMzJhNjYzOTYzZjdmMzU3Y2IzNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm90SW1wbGVtZW50ZWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3RJbXBsZW1lbnRlZC5oCkBAIC0zOCw3ICszOCw3IEBACiAg
ICAgI2RlZmluZSBzdXByZXNzTm90SW1wbGVtZW50ZWRXYXJuaW5nKCkgZmFsc2UKICNlbmRpZgog
Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShMT0dHSU5HKQogICAgICNkZWZpbmUgbm90
SW1wbGVtZW50ZWQoKSAoKHZvaWQpMCkKICNlbHNlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9nZ2luZ0JsYWNrQmVycnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHAKaW5kZXggOTk0
ZDc4ZWM5NTdjMTAwNjljMzczYjY1ZWNlNmRiNzBiODZjNGY0NC4uOWM5NzU5ODQ0MzJiNWFkNzkz
NTQ2OWUwZGRlN2IzZDdhNjE2NzQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHAKQEAgLTE5LDYgKzE5LDgg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKKyNpZiBFTkFC
TEUoTE9HR0lORykKKwogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC01MywzICs1NSw1IEBAIHZvaWQgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFu
bmVsc0lmTmVjZXNzYXJ5KCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKExPR0dJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9l
ZmwvTG9nZ2luZ0VmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9nZ2luZ0Vm
bC5jcHAKaW5kZXggYmQ3MTE0ODRhNmVhZWE5MTE1MjBmNDcxODMzZGUwM2I2NWEzZjFhZi4uMTI3
M2U5MmU0ODk5MzM1MWUxMDE1MTU2YzRlMjQ4NGVkNDQzOTQzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VmbC9Mb2dnaW5nRWZsLmNwcApAQCAtMjMsNiArMjMsOCBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAorI2lmIEVOQUJMRShMT0dHSU5HKQor
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDxFaW5hLmg+CiAKQEAgLTYy
LDMgKzY0LDUgQEAgdm9pZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQog
fQogCiB9CisKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25DRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCmluZGV4
IGE5ZjM5YTQwZGVlYzc3ZTMxNmMzNzgwNGJkMTI3M2ZmOGE5NzM1ZGYuLmQ1OTQ4NGY4OGM4ZGVi
Y2MwZGU4YjI4MjRhYmI0ZDM0YThmZTVlNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25DRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNwcApAQCAtMTY2LDcg
KzE2Niw3IEBAIHByaXZhdGU6CiAgICAgQVZGV3JhcHBlciogbV9wYXJlbnQ7CiB9OwogCi0jaWYg
IUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogc3RhdGljIGNvbnN0IGNoYXIqIGJv
b2xTdHJpbmcoYm9vbCB2YWwpCiB7CiAgICAgcmV0dXJuIHZhbCA/ICJ0cnVlIiA6ICJmYWxzZSI7
CkBAIC0xMDI2LDcgKzEwMjYsNyBAQCB2b2lkIEFWRldyYXBwZXI6Om5vdGlmaWNhdGlvbkNhbGxi
YWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZlciwgQwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgIGNoYXIgbm90aWZpY2F0aW9uTmFtZVsyNTZdOwogICAgIENGU3RyaW5nR2V0Q1N0cmluZyhw
cm9wZXJ0eU5hbWUsIG5vdGlmaWNhdGlvbk5hbWUsIHNpemVvZihub3RpZmljYXRpb25OYW1lKSwg
a0NGU3RyaW5nRW5jb2RpbmdBU0NJSSk7CiAgICAgTE9HKE1lZGlhLCAiQVZGV3JhcHBlcjo6bm90
aWZpY2F0aW9uQ2FsbGJhY2soJXApICVzIiwgc2VsZiwgbm90aWZpY2F0aW9uTmFtZSk7CkBAIC0x
MjI2LDE0ICsxMjI2LDE0IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBBVkZXcmFwcGVyOjpjcmVh
dGVJbWFnZUZvclRpbWVJblJlY3QoZmxvYXQgdGltZSwgY29uc3QgSW50CiAgICAgaWYgKCFtX2lt
YWdlR2VuZXJhdG9yKQogICAgICAgICByZXR1cm4gMDsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgc3RhcnQgPSBXVEY6OmN1cnJlbnRUaW1lKCk7
CiAjZW5kaWYKIAogICAgIEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yU2V0TWF4aW11bVNpemUobV9p
bWFnZUdlbmVyYXRvci5nZXQoKSwgQ0dTaXplKHJlY3Quc2l6ZSgpKSk7CiAgICAgQ0dJbWFnZVJl
ZiBpbWFnZSA9IEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yQ29weUNHSW1hZ2VBdFRpbWUobV9pbWFn
ZUdlbmVyYXRvci5nZXQoKSwgQ01UaW1lTWFrZVdpdGhTZWNvbmRzKHRpbWUsIDYwMCksIDAsIDAp
OwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGRvdWJsZSBk
dXJhdGlvbiA9IFdURjo6Y3VycmVudFRpbWUoKSAtIHN0YXJ0OwogICAgIExPRyhNZWRpYSwgIkFW
RldyYXBwZXI6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCglcCkgLSBjcmVhdGluZyBpbWFnZSB0
b29rICUuNGYiLCB0aGlzLCBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGR1cmF0aW9uKSk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IGEyNjE0MWRhZjAyNzI0OWYxZjQ3MGQwN2Fj
MTRjNjcwYWI5YThmZmEuLjU1OTkwMjM4MDU3NTQ4MTVmOTMwMGMzMjQ2MGU2MmY5NTRjNTUzNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMTE1LDcgKzExNSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIHN0YXRpYyBOU0FycmF5ICphc3NldE1ldGFkYXRhS2V5TmFtZXMoKTsKIHN0YXRp
YyBOU0FycmF5ICppdGVtS1ZPUHJvcGVydGllcygpOwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lm
IEVOQUJMRShMT0dHSU5HKQogc3RhdGljIGNvbnN0IGNoYXIgKmJvb2xTdHJpbmcoYm9vbCB2YWwp
CiB7CiAgICAgcmV0dXJuIHZhbCA/ICJ0cnVlIiA6ICJmYWxzZSI7CkBAIC02NTAsMTQgKzY1MCwx
NCBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZQogICAgICAgICBjcmVhdGVDb250ZXh0VmlkZW9S
ZW5kZXJlcigpOwogICAgIEFTU0VSVChtX2ltYWdlR2VuZXJhdG9yKTsKIAotI2lmICFMT0dfRElT
QUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgc3RhcnQgPSBXVEY6OmN1cnJl
bnRUaW1lKCk7CiAjZW5kaWYKIAogICAgIFttX2ltYWdlR2VuZXJhdG9yLmdldCgpIHNldE1heGlt
dW1TaXplOkNHU2l6ZShyZWN0LnNpemUoKSldOwogICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBp
bWFnZSA9IGFkb3B0Q0YoW21faW1hZ2VHZW5lcmF0b3IuZ2V0KCkgY29weUNHSW1hZ2VBdFRpbWU6
Q01UaW1lTWFrZVdpdGhTZWNvbmRzKHRpbWUsIDYwMCkgYWN0dWFsVGltZTpuaWwgZXJyb3I6bmls
XSk7CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91Ymxl
IGR1cmF0aW9uID0gV1RGOjpjdXJyZW50VGltZSgpIC0gc3RhcnQ7CiAgICAgTE9HKE1lZGlhLCAi
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5S
ZWN0KCVwKSAtIGNyZWF0aW5nIGltYWdlIHRvb2sgJS40ZiIsIHRoaXMsIG5hcnJvd1ByZWNpc2lv
blRvRmxvYXQoZHVyYXRpb24pKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJTaGFkZXJNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyU2hh
ZGVyTWFuYWdlci5jcHAKaW5kZXggMzk3NzdmZTVmMGQ1ZTIxMzFjNWIyMWMzYmJjZDIwYjM3MmM2
OGRiYi4uYTQwYjJjYjM4YWZlNTcxNWJmM2I3NGQ0Y2UxOWVjODQxYjQ4NTE4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJT
aGFkZXJNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIuY3BwCkBAIC01NDksNyArNTQ5LDcgQEAg
U3RhbmRhcmRGaWx0ZXJQcm9ncmFtOjpTdGFuZGFyZEZpbHRlclByb2dyYW0oRmlsdGVyT3BlcmF0
aW9uOjpPcGVyYXRpb25UeXBlIHR5cGUKICAgICBHTHVpbnQgcHJvZ3JhbUlEID0gZ2xDcmVhdGVQ
cm9ncmFtKCk7CiAgICAgZ2xDb21waWxlU2hhZGVyKHZlcnRleFNoYWRlcik7CiAgICAgZ2xDb21w
aWxlU2hhZGVyKGZyYWdtZW50U2hhZGVyKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxF
KExPR0dJTkcpCiAgICAgR0xjaGFyIGxvZ1sxMDBdOwogICAgIEdMaW50IGxlbjsKICAgICBnbEdl
dFNoYWRlckluZm9Mb2coZnJhZ21lbnRTaGFkZXIsIDEwMCwgJmxlbiwgbG9nKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcAppbmRleCA1ODhlZDdjZjdhZGEwYzgw
N2FhNDAzYzk2YzI2M2VmN2MxN2I1OTdmLi4wNzU1NDBmNDAyZTVlZGZlODY2YTM0YzIzNjg5YzYz
NDNhZjNiZjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2lu
Z0d0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3Bw
CkBAIC0yMCw4ICsyMCwxMCBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKKyNpZiBFTkFCTEUoTE9HR0lO
RykKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8Z2xpYi5oPgogI2lu
Y2x1ZGUgPHN0cmluZy5oPgogCkBAIC02MiwzICs2NCw1IEBAIHZvaWQgaW5pdGlhbGl6ZUxvZ2dp
bmdDaGFubmVsc0lmTmVjZXNzYXJ5KCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvTG9nZ2luZ01hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2dn
aW5nTWFjLm1tCmluZGV4IDRjOWIzMDM1MTZlYjgwMGFhYmYwYmQ2Mjc2NGJmM2MxZTY4MjZkN2Uu
LjA1MzJjMTBiNDY5NjA0YmFiOTEzZDU4MGQwOTU5M2IyNzBkMDRmM2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1tCkBAIC0yNyw2ICsyNyw4IEBACiAKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAKKyNpZiBFTkFCTEUoTE9HR0lORykKKwogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdGF0aWMgaW5saW5lIHZvaWQgaW5pdGlhbGl6ZVdpdGhVc2VyRGVmYXVsdChXVEZM
b2dDaGFubmVsJiBjaGFubmVsKQpAQCAtNzcsMyArNzksNSBAQCB2b2lkIGluaXRpYWxpemVMb2dn
aW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiB9CiAKIH0KKworI2VuZGlmIC8vIEVOQUJMRShMT0dH
SU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZUhhbmRsZUNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
UmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKaW5kZXggNjc3ZWVlNmMxMDliMjM4NWMxMWQ5MWVlMzE4
MjBmMjIwNDIxNTljNi4uNTEzODhiN2FiZDU2MTdiMjU1MjljOTI5NGQ2ZjdiNjIwNDg3ZmUxZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhh
bmRsZUNGTmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlSGFuZGxlQ0ZOZXQuY3BwCkBAIC0xNDUsNyArMTQ1LDcgQEAgc3RhdGljIHZvaWQgYXBw
bHlCYXNpY0F1dGhvcml6YXRpb25IZWFkZXIoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25z
dCBDcmVkZW4KIAogc3RhdGljIENGVVJMUmVxdWVzdFJlZiB3aWxsU2VuZFJlcXVlc3QoQ0ZVUkxD
b25uZWN0aW9uUmVmIGNvbm4sIENGVVJMUmVxdWVzdFJlZiBjZlJlcXVlc3QsIENGVVJMUmVzcG9u
c2VSZWYgY2ZSZWRpcmVjdFJlc3BvbnNlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotI2lm
IExPR19ESVNBQkxFRAorI2lmICFFTkFCTEUoTE9HR0lORykKICAgICBVTlVTRURfUEFSQU0oY29u
bik7CiAjZW5kaWYKICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVz
b3VyY2VIYW5kbGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7CkBAIC0yMDMsNyAr
MjAzLDcgQEAgc3RhdGljIENGVVJMUmVxdWVzdFJlZiB3aWxsU2VuZFJlcXVlc3QoQ0ZVUkxDb25u
ZWN0aW9uUmVmIGNvbm4sIENGVVJMUmVxdWVzdFJlZgogCiBzdGF0aWMgdm9pZCBkaWRSZWNlaXZl
UmVzcG9uc2UoQ0ZVUkxDb25uZWN0aW9uUmVmIGNvbm4sIENGVVJMUmVzcG9uc2VSZWYgY2ZSZXNw
b25zZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKLSNpZiBMT0dfRElTQUJMRUQKKyNpZiAh
RU5BQkxFKExPR0dJTkcpCiAgICAgVU5VU0VEX1BBUkFNKGNvbm4pOwogI2VuZGlmCiAgICAgUmVz
b3VyY2VIYW5kbGUqIGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oY29uc3Rf
Y2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwpAQCAtMjM3LDcgKzIzNyw3IEBAIHN0YXRpYyB2b2lk
IGRpZFJlY2VpdmVSZXNwb25zZShDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgQ0ZVUkxSZXNwb25z
ZVJlZiBjZlJlc3BvCiAjaWYgSEFWRShORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKIHN0
YXRpYyB2b2lkIGRpZFJlY2VpdmVEYXRhQXJyYXkoQ0ZVUkxDb25uZWN0aW9uUmVmIGNvbm4sIENG
QXJyYXlSZWYgZGF0YUFycmF5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotI2lmIExPR19E
SVNBQkxFRAorI2lmICFFTkFCTEUoTE9HR0lORykKICAgICBVTlVTRURfUEFSQU0oY29ubik7CiAj
ZW5kaWYKICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VI
YW5kbGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7CkBAIC0yNTIsNyArMjUyLDcg
QEAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZURhdGFBcnJheShDRlVSTENvbm5lY3Rpb25SZWYgY29u
biwgQ0ZBcnJheVJlZiBkYXRhQXJyYXksIGMKIAogc3RhdGljIHZvaWQgZGlkUmVjZWl2ZURhdGEo
Q0ZVUkxDb25uZWN0aW9uUmVmIGNvbm4sIENGRGF0YVJlZiBkYXRhLCBDRkluZGV4IG9yaWdpbmFs
TGVuZ3RoLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotI2lmIExPR19ESVNBQkxFRAorI2lm
ICFFTkFCTEUoTE9HR0lORykKICAgICBVTlVTRURfUEFSQU0oY29ubik7CiAjZW5kaWYKICAgICBS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihjb25z
dF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7CkBAIC0yNzUsNyArMjc1LDcgQEAgc3RhdGljIHZv
aWQgZGlkU2VuZEJvZHlEYXRhKENGVVJMQ29ubmVjdGlvblJlZiwgQ0ZJbmRleCwgQ0ZJbmRleCB0
b3RhbEJ5dGVzV3JpdHQKIAogc3RhdGljIEJvb2xlYW4gc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3Jh
Z2VDYWxsYmFjayhDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKIHsKLSNpZiBMT0dfRElTQUJMRUQKKyNpZiAhRU5BQkxFKExPR0dJTkcpCiAgICAgVU5VU0VE
X1BBUkFNKGNvbm4pOwogI2VuZGlmCiAgICAgUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSA9IGNvbnN0
X2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihzdGF0aWNfY2FzdDxjb25zdCBSZXNvdXJjZUhhbmRsZSo+
KGNsaWVudEluZm8pKTsKQEAgLTI5MCw3ICsyOTAsNyBAQCBzdGF0aWMgQm9vbGVhbiBzaG91bGRV
c2VDcmVkZW50aWFsU3RvcmFnZUNhbGxiYWNrKENGVVJMQ29ubmVjdGlvblJlZiBjb25uLCBjb25z
dAogCiBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKENGVVJMQ29ubmVjdGlvblJlZiBjb25u
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotI2lmIExPR19ESVNBQkxFRAorI2lmICFFTkFC
TEUoTE9HR0lORykKICAgICBVTlVTRURfUEFSQU0oY29ubik7CiAjZW5kaWYKICAgICBSZXNvdXJj
ZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihjb25zdF9jYXN0
PHZvaWQqPihjbGllbnRJbmZvKSk7CkBAIC0zMDMsNyArMzAzLDcgQEAgc3RhdGljIHZvaWQgZGlk
RmluaXNoTG9hZGluZyhDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbykKIAogc3RhdGljIHZvaWQgZGlkRmFpbChDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgQ0ZF
cnJvclJlZiBlcnJvciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKLSNpZiBMT0dfRElTQUJM
RUQKKyNpZiAhRU5BQkxFKExPR0dJTkcpCiAgICAgVU5VU0VEX1BBUkFNKGNvbm4pOwogI2VuZGlm
CiAgICAgUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxl
Kj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwpAQCAtMzY1LDcgKzM2NSw3IEBAIHN0
YXRpYyBDRkNhY2hlZFVSTFJlc3BvbnNlUmVmIHdpbGxDYWNoZVJlc3BvbnNlKENGVVJMQ29ubmVj
dGlvblJlZiwgQ0ZDYWNoZWRVUkxSCiAKIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVDaGFsbGVuZ2Uo
Q0ZVUkxDb25uZWN0aW9uUmVmIGNvbm4sIENGVVJMQXV0aENoYWxsZW5nZVJlZiBjaGFsbGVuZ2Us
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJM
RShMT0dHSU5HKQogICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZgogICAgIFJlc291cmNl
SGFuZGxlKiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGNvbnN0X2Nhc3Q8
dm9pZCo+KGNsaWVudEluZm8pKTsKQEAgLTM3OCw3ICszNzgsNyBAQCBzdGF0aWMgdm9pZCBkaWRS
ZWNlaXZlQ2hhbGxlbmdlKENGVVJMQ29ubmVjdGlvblJlZiBjb25uLCBDRlVSTEF1dGhDaGFsbGVu
Z2VSZWYgYwogI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spCiBzdGF0aWMg
Qm9vbGVhbiBjYW5SZXNwb25kVG9Qcm90ZWN0aW9uU3BhY2UoQ0ZVUkxDb25uZWN0aW9uUmVmIGNv
bm4sIENGVVJMUHJvdGVjdGlvblNwYWNlUmVmIHByb3RlY3Rpb25TcGFjZSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbykKIHsKLSNpZiBMT0dfRElTQUJMRUQKKyNpZiAhRU5BQkxFKExPR0dJTkcpCiAg
ICAgVU5VU0VEX1BBUkFNKGNvbm4pOwogI2VuZGlmCiAgICAgUmVzb3VyY2VIYW5kbGUqIGhhbmRs
ZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50
SW5mbykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
UmVzb3VyY2VIYW5kbGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZUhhbmRsZU1hYy5tbQppbmRleCA0YWMzM2NjZGNkYzFjZTE2ZmY3Yzg0ZThjMGE2
MGQ1Zjc0MTlmZTRlLi4yMmI1ZWQxNjZhMzc0YWNmMGVjYWMxNWNlODZlMjcyZTVlNWZmYmQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNv
dXJjZUhhbmRsZU1hYy5tbQpAQCAtNjc4LDcgKzY3OCw3IEBAIFN0cmluZyBSZXNvdXJjZUhhbmRs
ZTo6cHJpdmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb25JZGVudGlmaWVyRGVmYXVsdEJhc2UoKQog
ICAgIGlmICghcmVkaXJlY3RSZXNwb25zZSkKICAgICAgICAgcmV0dXJuIG5ld1JlcXVlc3Q7CiAK
LSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgaWYgKFtyZWRpcmVj
dFJlc3BvbnNlIGlzS2luZE9mQ2xhc3M6W05TSFRUUFVSTFJlc3BvbnNlIGNsYXNzXV0pCiAgICAg
ICAgIExPRyhOZXR3b3JrLCAiSGFuZGxlICVwIGRlbGVnYXRlIGNvbm5lY3Rpb246JXAgd2lsbFNl
bmRSZXF1ZXN0OiVAIHJlZGlyZWN0UmVzcG9uc2U6JWQsIExvY2F0aW9uOjwlQD4iLCBtX2hhbmRs
ZSwgY29ubmVjdGlvbiwgW25ld1JlcXVlc3QgZGVzY3JpcHRpb25dLCBzdGF0aWNfY2FzdDxpbnQ+
KFsoaWQpcmVkaXJlY3RSZXNwb25zZSBzdGF0dXNDb2RlXSksIFtbKGlkKXJlZGlyZWN0UmVzcG9u
c2UgYWxsSGVhZGVyRmllbGRzXSBvYmplY3RGb3JLZXk6QCJMb2NhdGlvbiJdKTsKICAgICBlbHNl
CkBAIC03NTMsNyArNzUzLDcgQEAgU3RyaW5nIFJlc291cmNlSGFuZGxlOjpwcml2YXRlQnJvd3Np
bmdTdG9yYWdlU2Vzc2lvbklkZW50aWZpZXJEZWZhdWx0QmFzZSgpCiAjaWYgVVNFKFBST1RFQ1RJ
T05fU1BBQ0VfQVVUSF9DQUxMQkFDSykKIC0gKEJPT0wpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0
aW9uICopY29ubmVjdGlvbiBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlOihO
U1VSTFByb3RlY3Rpb25TcGFjZSAqKXByb3RlY3Rpb25TcGFjZQogewotI2lmIExPR19ESVNBQkxF
RAorI2lmICFFTkFCTEUoTE9HR0lORykKICAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvbik7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTG9nZ2luZ1F0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0xvZ2dpbmdRdC5jcHAKaW5kZXggYTkz
NDZkZTgxZWEwNTc2YTMzYjhlMGEyMzcyYTA5M2QyMDEzNmM4Ny4uMGJkMTNiZjA2NTJjOWQ3NWNl
ZWVjYTUxNzRhZWY0ZTBmNWYxZGY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vcXQvTG9nZ2luZ1F0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Mb2dn
aW5nUXQuY3BwCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogCisjaWYgRU5BQkxFKExPR0dJTkcpCisKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgogI2luY2x1ZGUgPFFEZWJ1Zz4KICNpbmNsdWRlIDxRU3RyaW5nTGlzdD4KQEAg
LTU0LDMgKzU2LDUgQEAgdm9pZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3Nhcnko
KQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lO
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNV
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmNwcAppbmRl
eCA4Mjg1Mjg0ZjkyMGE0MGQ4NTlhNjM5MThjYTY3YjdjNjQ0NGNmYjZlLi5kNTQzYjFjOGVhYmQz
YWQ3NGIzNzNiNzJlZjM0OTAxN2ZkNzE3NTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWNJQ1UuY3BwCkBAIC0yNDIsNyArMjQyLDcgQEAgdm9pZCBUZXh0Q29k
ZWNJQ1U6OmNyZWF0ZUlDVUNvbnZlcnRlcigpIGNvbnN0CiAKICAgICBlcnIgPSBVX1pFUk9fRVJS
T1I7CiAgICAgbV9jb252ZXJ0ZXJJQ1UgPSB1Y252X29wZW4obV9lbmNvZGluZy5uYW1lKCksICZl
cnIpOwotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAoZXJy
ID09IFVfQU1CSUdVT1VTX0FMSUFTX1dBUk5JTkcpCiAgICAgICAgIExPR19FUlJPUigiSUNVIGFt
YmlndW91cyBhbGlhcyB3YXJuaW5nIGZvciBlbmNvZGluZzogJXMiLCBtX2VuY29kaW5nLm5hbWUo
KSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Mb2dn
aW5nV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Mb2dnaW5nV2luLmNwcApp
bmRleCAwYjBhZmFkYTc2MTFjZWQ2ZmJiZDYwZGE3NzM3MzczYmNlMzJiNGM2Li5kMjlkZTI5ZTYz
ZWNkNDhkYTBkOTg1ZDcyNDUwYTQ5MGQxMmUwNGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vTG9nZ2luZ1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL0xvZ2dpbmdXaW4uY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCisjaWYgRU5BQkxFKExPR0dJTkcpCisKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDx3
dGYvT3duQXJyYXlQdHIuaD4KQEAgLTEwMiwzICsxMDQsNSBAQCB2b2lkIGluaXRpYWxpemVMb2dn
aW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd3gvTG9nZ2luZ1d4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L0xvZ2dp
bmdXeC5jcHAKaW5kZXggOTQ4OTNlOTFlY2JhZTQ4ODg5NWUzNTJlN2UxZjY3MTlmMzE1ZjIwNi4u
NWY2NjcxMzMyYjdhODE1YzRjZjAwYmIzYzg2MDE3NDQ0YmZjZDgyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTG9nZ2luZ1d4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93eC9Mb2dnaW5nV3guY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCisjaWYgRU5BQkxFKExPR0dJTkcpCisK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC02MiwzICs2NCw1IEBAIHZvaWQgaW5pdGlh
bGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCkKIH0KIAogfQorCisjZW5kaWYgLy8gRU5B
QkxFKExPR0dJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRl
YnVnLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGVidWcuY3BwCmluZGV4IDhj
M2VmY2I1ZWJmNzc4MDAyNjQ3MmYyZjM1MWE4NmFkMGJiNmYyOGEuLjFlODc1NzBiMjUxY2QxYjlh
Y2EyNjEwMjYwN2Q2MmFiZWJhNjY0YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luRGVidWcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGVi
dWcuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiUGx1Z2luRGVidWcuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE3Myw0ICsxNzMsNCBAQCBDU3Ry
aW5nIHByZXR0eU5hbWVGb3JOUE5VUkxWYXJpYWJsZShOUE5VUkxWYXJpYWJsZSB2YXJpYWJsZSkK
IH0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKKyNl
bmRpZiAvLyBFTkFCTEUoTE9HR0lORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luRGVidWcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGVidWcuaApp
bmRleCAwMTdlNjg2N2M1MmQ2YTE3ZWVkMWYwNjZlZjM3ZDNhYzE4ZmVmYzIyLi40N2I3YmQwNzU4
MGExZGU5MWVkNTcxYWNkZWUyNTM3ZDQ3YTVjYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbHVnaW5zL1BsdWdpbkRlYnVnLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5EZWJ1Zy5oCkBAIC0zMyw3ICszMyw3IEBACiAjZGVmaW5lIExPR19OUEVSUk9SKGVycikgaWYg
KGVyciAhPSBOUEVSUl9OT19FUlJPUikgTE9HX1ZFUkJPU0UoUGx1Z2lucywgIiVzXG4iLCBwcmV0
dHlOYW1lRm9yTlBFcnJvcihlcnIpKQogI2RlZmluZSBMT0dfUExVR0lOX05FVF9FUlJPUigpIExP
R19WRVJCT1NFKFBsdWdpbnMsICJTdHJlYW0gZmFpbGVkIGR1ZSB0byBwcm9ibGVtcyB3aXRoIG5l
dHdvcmssIGRpc2sgSS9PLCBsYWNrIG9mIG1lbW9yeSwgb3Igb3RoZXIgcHJvYmxlbXMuXG4iKQog
Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTUwLDYgKzUwLDYgQEAgY29uc3QgY2hhciogcHJldHR5TmFtZUZvckV2ZW50
TW9kZWwoTlBFdmVudE1vZGVsIGV2ZW50TW9kZWwpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCiAK
ICNlbmRpZiAvLyBQbHVnaW5EZWJ1Z19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDkyYWJkZGJlNmU1MTJkMDM0NzcwNDdm
YTBiNjI1Yjg2ZTU2MWY0YWYuLmNhYWI5NDM4MDA3ODAzNzMzYTk2MzQyMzRiMTc1ODIzMWU3YWVk
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCkBAIC02MSw3ICs2MSw3IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5o
IgogI2VuZGlmCiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjZW5kaWYKIApAQCAtMTY1LDcgKzE2NSw3IEBAIHN0
cnVjdCBDb21wb3NpdGluZ1N0YXRlIHsKIAogc3RhdGljIGlubGluZSBib29sIGNvbXBvc2l0aW5n
TG9nRW5hYmxlZCgpCiB7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgIHJldHVybiBMb2dDb21wb3NpdGluZy5zdGF0ZSA9PSBXVEZMb2dDaGFubmVsT247CiAjZWxz
ZQogICAgIHJldHVybiBmYWxzZTsKQEAgLTE4OCw3ICsxODgsNyBAQCBSZW5kZXJMYXllckNvbXBv
c2l0b3I6OlJlbmRlckxheWVyQ29tcG9zaXRvcihSZW5kZXJWaWV3KiByZW5kZXJWaWV3KQogICAg
ICwgbV9mbHVzaGluZ0xheWVycyhmYWxzZSkKICAgICAsIG1fZm9yY2VDb21wb3NpdGluZ01vZGUo
ZmFsc2UpCiAgICAgLCBtX3Jvb3RMYXllckF0dGFjaG1lbnQoUm9vdExheWVyVW5hdHRhY2hlZCkK
LSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgLCBtX3Jvb3RMYXll
clVwZGF0ZUNvdW50KDApCiAgICAgLCBtX29ibGlnYXRlQ29tcG9zaXRlZExheWVyQ291bnQoMCkK
ICAgICAsIG1fc2Vjb25kYXJ5Q29tcG9zaXRlZExheWVyQ291bnQoMCkKQEAgLTM4Niw3ICszODYs
NyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnMo
Q29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0ZQogICAgIGlmIChpc0Z1bGxVcGRhdGUgJiYgdXBk
YXRlVHlwZSA9PSBDb21wb3NpdGluZ1VwZGF0ZUFmdGVyTGF5b3V0KQogICAgICAgICBtX3JlZXZh
bHVhdGVDb21wb3NpdGluZ0FmdGVyTGF5b3V0ID0gZmFsc2U7CiAKLSNpZiAhTE9HX0RJU0FCTEVE
CisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91YmxlIHN0YXJ0VGltZSA9IDA7CiAgICAgaWYg
KGNvbXBvc2l0aW5nTG9nRW5hYmxlZCgpKSB7CiAgICAgICAgICsrbV9yb290TGF5ZXJVcGRhdGVD
b3VudDsKQEAgLTQwOSw3ICs0MDksNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBk
YXRlQ29tcG9zaXRpbmdMYXllcnMoQ29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0ZQogICAgICAg
ICBuZWVkSGllcmFyY2h5VXBkYXRlIHw9IGxheWVyc0NoYW5nZWQ7CiAgICAgfQogCi0jaWYgIUxP
R19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChjb21wb3NpdGluZ0xvZ0Vu
YWJsZWQoKSAmJiBpc0Z1bGxVcGRhdGUgJiYgKG5lZWRIaWVyYXJjaHlVcGRhdGUgfHwgbmVlZEdl
b21ldHJ5VXBkYXRlKSkgewogICAgICAgICBtX29ibGlnYXRlQ29tcG9zaXRlZExheWVyQ291bnQg
PSAwOwogICAgICAgICBtX3NlY29uZGFyeUNvbXBvc2l0ZWRMYXllckNvdW50ID0gMDsKQEAgLTQ0
Myw3ICs0NDMsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRp
bmdMYXllcnMoQ29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0ZQogICAgICAgICB1cGRhdGVMYXll
clRyZWVHZW9tZXRyeSh1cGRhdGVSb290LCAwKTsKICAgICB9CiAgICAgCi0jaWYgIUxPR19ESVNB
QkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChjb21wb3NpdGluZ0xvZ0VuYWJsZWQo
KSAmJiBpc0Z1bGxVcGRhdGUgJiYgKG5lZWRIaWVyYXJjaHlVcGRhdGUgfHwgbmVlZEdlb21ldHJ5
VXBkYXRlKSkgewogICAgICAgICBkb3VibGUgZW5kVGltZSA9IGN1cnJlbnRUaW1lKCk7CiAgICAg
ICAgIExPRyhDb21wb3NpdGluZywgIlRvdGFsIGxheWVycyAgIHByaW1hcnkgICBzZWNvbmRhcnkg
ICBvYmxpZ2F0b3J5IGJhY2tpbmcgKEtCKSAgIHNlY29uZGFyeSBiYWNraW5nKEtCKSAgIHRvdGFs
IGJhY2tpbmcgKEtCKSAgdXBkYXRlIHRpbWUgKG1zKVxuIik7CkBAIC00NTksNyArNDU5LDcgQEAg
dm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBv
c2l0aW5nVXBkYXRlVHlwZSB1cGRhdGUKICAgICAgICAgZW5hYmxlQ29tcG9zaXRpbmdNb2RlKGZh
bHNlKTsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIHZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsb2dMYXllckluZm8oY29uc3QgUmVuZGVyTGF5ZXIqIGxh
eWVyLCBpbnQgZGVwdGgpCiB7CiAgICAgaWYgKCFjb21wb3NpdGluZ0xvZ0VuYWJsZWQoKSkKQEAg
LTk3Miw3ICs5NzIsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBv
c2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVyKiBsYXllciwgVmVjdAogICAgICAgICBpZiAoIWxh
eWVyLT5wYXJlbnQoKSkKICAgICAgICAgICAgIHVwZGF0ZVJvb3RMYXllclBvc2l0aW9uKCk7CiAK
LSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgICAgIGxvZ0xheWVy
SW5mbyhsYXllciwgZGVwdGgpOwogI2Vsc2UKICAgICAgICAgVU5VU0VEX1BBUkFNKGRlcHRoKTsK
QEAgLTExNjEsNyArMTE2MSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVM
YXllclRyZWVHZW9tZXRyeShSZW5kZXJMYXllciogbGF5ZXIsIGludCBkZXB0CiAgICAgICAgIGlm
ICghbGF5ZXItPnBhcmVudCgpKQogICAgICAgICAgICAgdXBkYXRlUm9vdExheWVyUG9zaXRpb24o
KTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAgbG9n
TGF5ZXJJbmZvKGxheWVyLCBkZXB0aCk7CiAjZWxzZQogICAgICAgICBVTlVTRURfUEFSQU0oZGVw
dGgpOwpAQCAtMTQ5NSw3ICsxNDk1LDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJl
cXVpcmVzT3duQmFja2luZ1N0b3JlKGNvbnN0IFJlbmRlckxheWVyKiBsYXllciwgY28KICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcp
CiBjb25zdCBjaGFyKiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYXNvbkZvckNvbXBvc2l0aW5n
KGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikKIHsKICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVy
ID0gbGF5ZXItPnJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggNWI4N2U1M2M0YTg1NzhhMWM1YWQ2YzdiYzJjZTBj
MTdiNGRiNDVjOC4uZmRmNDU3ODAyNTdkMDg1ZTZiZjI0NDljZDZkMmQxMDA5YTg5OWI0YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApA
QCAtMzAzLDcgKzMwMyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCByZXF1aXJlc0NvbnRlbnRTaGFk
b3dMYXllcigpIGNvbnN0OwogI2VuZGlmCiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxF
KExPR0dJTkcpCiAgICAgY29uc3QgY2hhciogcmVhc29uRm9yQ29tcG9zaXRpbmcoY29uc3QgUmVu
ZGVyTGF5ZXIqKTsKICAgICB2b2lkIGxvZ0xheWVySW5mbyhjb25zdCBSZW5kZXJMYXllciosIGlu
dCBkZXB0aCk7CiAjZW5kaWYKQEAgLTM0OSw3ICszNDksNyBAQCBwcml2YXRlOgogICAgIE93blB0
cjxHcmFwaGljc0xheWVyPiBtX2NvbnRlbnRTaGFkb3dMYXllcjsKICNlbmRpZgogCi0jaWYgIUxP
R19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGludCBtX3Jvb3RMYXllclVwZGF0
ZUNvdW50OwogICAgIGludCBtX29ibGlnYXRlQ29tcG9zaXRlZExheWVyQ291bnQ7IC8vIGNvdW50
IG9mIGxheWVyIHRoYXQgaGF2ZSB0byBiZSBjb21wb3NpdGVkLgogICAgIGludCBtX3NlY29uZGFy
eUNvbXBvc2l0ZWRMYXllckNvdW50OyAvLyBjb3VudCBvZiBsYXllcnMgdGhhdCBoYXZlIHRvIGJl
IGNvbXBvc2l0ZWQgYmVjYXVzZSBvZiBzdGFja2luZyBvciBvdmVybGFwLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CbGFja0JlcnJ5R2xvYmFsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmxhY2tCZXJyeUdsb2JhbC5jcHAKaW5kZXggYTRjNDhh
NThmZTBiMGM5NjRlMDBkN2MzM2QwYzAwNTNkZGI3NDc3ZS4uYTZiMWE0ZDY3NDE1YzJiNmZkNDkz
ZGRmMTk3YzVlZDVlNmY5MjgwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9CbGFja0JlcnJ5R2xvYmFsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL0JsYWNrQmVycnlHbG9iYWwuY3BwCkBAIC02MCw4ICs2MCwxMCBAQCB2b2lkIGdsb2JhbElu
aXRpYWxpemUoKQogICAgIGJsYWNrYmVycnlEZWJ1Z0luaXRpYWxpemUoKTsKICNlbmRpZgogCisj
aWYgRU5BQkxFKExPR0dJTkcpCiAgICAgLy8gVHVybiBvbiBsb2dnaW5nLgogICAgIGluaXRpYWxp
emVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5H
KQogCiAgICAgLy8gSW5pdGlhbGl6ZSB0aHJlYWRpbmcvCiAgICAgSlNDOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX21haW4uY3Bw
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19tYWluLmNwcAppbmRleCA4NGQyYjUwMjViNzE0
YmE3NmZjMThjYjVlYzY5N2FlNzBkMjdlODNlLi5hNTVmMWRkZGJiYzQ4MWRiMmRlMjM1NWFmZWNj
MDhkZTMyMTk4ZmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX21haW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfbWFpbi5jcHAKQEAgLTE0Niw3ICsx
NDYsOSBAQCBFaW5hX0Jvb2wgX2V3a19pbml0X2JvZHkodm9pZCkKICAgICAgICAgICAgICJ3b3Jr
IChpZTogQWRvYmUgRmxhc2gpIik7CiAKICAgICBXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7CisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgV2ViQ29yZTo6
aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYgLy8gRU5BQkxF
KExPR0dJTkcpCiAgICAgV2ViQ29yZTo6U2V0dGluZ3M6OnNldERlZmF1bHRNaW5ET01UaW1lcklu
dGVydmFsKDAuMDA0KTsKIAogICAgIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6aW5pdGlhbGl6ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuY3Bw
IGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuY3BwCmluZGV4IDc4YTQ5
NDlmYjNkYzE5MDU5NmUwNTAwNTRhNjVjYzRiOWNlOTM0NmQuLmE3MDA2OTMwYzQ1MGQxNTUwMThj
ZDYyZThmNDNjOTFkOWMzYmNkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRnbG9iYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
Z2xvYmFscy5jcHAKQEAgLTUwNCw3ICs1MDQsOSBAQCB2b2lkIHdlYmtpdEluaXQoKQogICAgIEpT
Qzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQo
KTsKIAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5n
Q2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogICAgIFBs
YXRmb3JtU3RyYXRlZ2llc0d0azo6aW5pdGlhbGl6ZSgpOwogCiAgICAgLy8gV2UgbWFrZSBzdXJl
IHRoZSB0ZXh0IGNvZGVjcyBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQsIGJlY2F1c2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeS5tbSBiL1NvdXJjZS9XZWJL
aXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeS5tbQppbmRleCA2OTY0ZmM5NDliNTEyMTczYTZiZGM1
ZTcwYjU2MThkMzFjYjY3N2EzLi5iYzQxYzFmN2Y0ODUzMjczZTE0OWUxMTk1ZTAyNjcwZDhmM2Fj
YWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnkubW0K
KysrIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5Lm1tCkBAIC01MzAsNyAr
NTMwLDcgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5RGF0ZUtleSBkYXRlS2V5KE5TVGltZUlu
dGVydmFsIGRhdGUpCiAgICAgaWYgKFtVUkwgaXNGaWxlVVJMXSkgewogICAgICAgICBkaWN0aW9u
YXJ5ID0gW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aENvbnRlbnRzT2ZGaWxlOltVUkwgcGF0
aF1dOwogICAgICAgICBpZiAoIWRpY3Rpb25hcnkpIHsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYg
RU5BQkxFKExPR0dJTkcpCiAgICAgICAgICAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRN
YW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOltVUkwgcGF0aF1dKQogICAgICAgICAgICAgICAgIExP
R19FUlJPUigidW5hYmxlIHRvIHJlYWQgaGlzdG9yeSBmcm9tIGZpbGUgJUA7IHBlcmhhcHMgY29u
dGVudHMgYXJlIGNvcnJ1cHRlZCIsIFtVUkwgcGF0aF0pOwogI2VuZGlmCkBAIC02MTAsNyArNjEw
LDcgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5RGF0ZUtleSBkYXRlS2V5KE5TVGltZUludGVy
dmFsIGRhdGUpCiAKIC0gKEJPT0wpbG9hZEZyb21VUkw6KE5TVVJMICopVVJMIGNvbGxlY3REaXNj
YXJkZWRJdGVtc0ludG86KE5TTXV0YWJsZUFycmF5ICopZGlzY2FyZGVkSXRlbXMgZXJyb3I6KE5T
RXJyb3IgKiopZXJyb3IKIHsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcp
CiAgICAgZG91YmxlIHN0YXJ0ID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAjZW5kaWYK
IApAQCAtNjE4LDcgKzYxOCw3IEBAIHN0YXRpYyBpbmxpbmUgV2ViSGlzdG9yeURhdGVLZXkgZGF0
ZUtleShOU1RpbWVJbnRlcnZhbCBkYXRlKQogICAgIGlmICghW3NlbGYgbG9hZEhpc3RvcnlHdXRz
RnJvbVVSTDpVUkwgc2F2ZWRJdGVtc0NvdW50OiZudW1iZXJPZkl0ZW1zIGNvbGxlY3REaXNjYXJk
ZWRJdGVtc0ludG86ZGlzY2FyZGVkSXRlbXMgZXJyb3I6ZXJyb3JdKQogICAgICAgICByZXR1cm4g
Tk87CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91Ymxl
IGR1cmF0aW9uID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgLSBzdGFydDsKICAgICBMT0co
VGltaW5nLCAibG9hZGluZyAlZCBoaXN0b3J5IGVudHJpZXMgZnJvbSAlQCB0b29rICVmIHNlY29u
ZHMiLCBudW1iZXJPZkl0ZW1zLCBVUkwsIGR1cmF0aW9uKTsKICNlbmRpZgpAQCAtNjQyLDEzICs2
NDIsMTMgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5RGF0ZUtleSBkYXRlS2V5KE5TVGltZUlu
dGVydmFsIGRhdGUpCiAKIC0gKEJPT0wpc2F2ZVRvVVJMOihOU1VSTCAqKVVSTCBlcnJvcjooTlNF
cnJvciAqKillcnJvcgogewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykK
ICAgICBkb3VibGUgc3RhcnQgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsKICNlbmRpZgog
CiAgICAgQk9PTCByZXN1bHQgPSBbW3NlbGYgZGF0YV0gd3JpdGVUb1VSTDpVUkwgb3B0aW9uczow
IGVycm9yOmVycm9yXTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykK
ICAgICBkb3VibGUgZHVyYXRpb24gPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSAtIHN0YXJ0
OwogICAgIExPRyhUaW1pbmcsICJzYXZpbmcgaGlzdG9yeSB0byAlQCB0b29rICVmIHNlY29uZHMi
LCBVUkwsIGR1cmF0aW9uKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJJY29uRGF0YWJhc2UubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkljb25E
YXRhYmFzZS5tbQppbmRleCA0ZjhmYzZlMDZhNmYxMWU0YjRlZTg0NGY1M2JiNjljYTFiNTE3YWQ2
Li5iNjU4NzY2N2RkNjhiNWJhMThiYTI3MmUyOTc2NGYyZGM0MWU0OTgwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQpAQCAtNDQxLDE0ICs0NDEsMTQgQEAgc3Rh
dGljIFdlYkljb25EYXRhYmFzZUNsaWVudCogZGVmYXVsdENsaWVudCgpCiAgICAgQVNTRVJUKHNp
emUud2lkdGgpOwogICAgIEFTU0VSVChzaXplLmhlaWdodCk7CiAgICAgCi0jaWYgIUxPR19ESVNB
QkxFRCAgICAgICAgCisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91YmxlIHN0YXJ0ID0gQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAjZW5kaWYKICAgICAKICAgICBbaWNvbiBzZXRTY2Fs
ZXNXaGVuUmVzaXplZDpZRVNdOwogICAgIFtpY29uIHNldFNpemU6c2l6ZV07CiAgICAgCi0jaWYg
IUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGRvdWJsZSBkdXJhdGlvbiA9
IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpIC0gc3RhcnQ7CiAgICAgTE9HKFRpbWluZywgInNj
YWxpbmcgaWNvbiB0b29rICVmIHNlY29uZHMuIiwgZHVyYXRpb24pOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdExvZ2dpbmcuaCBiL1NvdXJjZS9XZWJL
aXQvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5oCmluZGV4IGY3MWY3MzA2MzkxMjdhMTI1MjQ1YjM2
MTdmZWI4MDYyYzRkNGZkYjAuLjA0ZGQyN2FkMTQyN2RiYTZhOTdiZTdkZTMzN2Q4NjliMzQzOWQy
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5oCkBAIC0zNiw2ICszNiw3
IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCisjaWYgRU5BQkxFKExPR0dJTkcpCiBleHRlcm4g
V1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dUaW1pbmc7CiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJL
aXRMb2dMb2FkaW5nOwogZXh0ZXJuIFdURkxvZ0NoYW5uZWwgV2ViS2l0TG9nRm9udENhY2hlOwpA
QCAtNjIsNiArNjMsNyBAQCBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dJY29uRGF0YWJh
c2U7CiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dUZXh0SW5wdXQ7CiAKIHZvaWQgV2Vi
S2l0SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KHZvaWQpOworI2VuZGlmIC8v
IEVOQUJMRShMT0dHSU5HKQogCiAvLyBGSVhNRTogV2h5IGlzIHRoaXMgaW4gdGhlICJsb2dnaW5n
IiBoZWFkZXIgZmlsZT8KIC8vIFVzZSBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2sgaW5zdGVh
ZCBmb3IgY2hlY2tzIHRoYXQgdGhyb3cgYW4gZXhjZXB0aW9uIGV2ZW4gaW4gcHJvZHVjdGlvbiBi
dWlsZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdExvZ2dpbmcu
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5tCmluZGV4IDcyYTgyMmZl
ZTBmY2Y3ZGNmMjk5NGVhODAwY2ZhZWU1YzE3Y2EwNTUuLjg4MWE2NTMyNDgyY2MxNzVmNGI1NTk3
OGJlNzNlN2UwZmEzOWJmYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2Vi
S2l0TG9nZ2luZy5tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5t
CkBAIC0yOCw2ICsyOCw4IEBACiAKICNpbXBvcnQgIldlYktpdExvZ2dpbmcuaCIKIAorI2lmIEVO
QUJMRShMT0dHSU5HKQorCiBXVEZMb2dDaGFubmVsIFdlYktpdExvZ1RleHRJbnB1dCA9ICAgICAg
ICAgICAgICB7IDB4MDAwMDAwMTAsICJXZWJLaXRMb2dMZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYg
fTsKIFdURkxvZ0NoYW5uZWwgV2ViS2l0TG9nVGltaW5nID0gICAgICAgICAgICAgICAgIHsgMHgw
MDAwMDAyMCwgIldlYktpdExvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogV1RGTG9nQ2hh
bm5lbCBXZWJLaXRMb2dMb2FkaW5nID0gICAgICAgICAgICAgICAgeyAweDAwMDAwMDQwLCAiV2Vi
S2l0TG9nTGV2ZWwiLCBXVEZMb2dDaGFubmVsT2ZmIH07CkBAIC05OCw2ICsxMDAsNyBAQCB2b2lk
IFdlYktpdEluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiAgICAgaW5pdGlh
bGl6ZUxvZ0NoYW5uZWwoJldlYktpdExvZ0ljb25EYXRhYmFzZSk7CiAgICAgaW5pdGlhbGl6ZUxv
Z0NoYW5uZWwoJldlYktpdExvZ1RleHRJbnB1dCk7CiB9CisjZW5kaWYgLy8gRU5BQkxFKExPR0dJ
TkcpCiAKIHZvaWQgUmVwb3J0RGlzY2FyZGVkRGVsZWdhdGVFeGNlcHRpb24oU0VMIGRlbGVnYXRl
U2VsZWN0b3IsIGlkIGV4Y2VwdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5QYWNrYWdlLm1tIGIvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblBhY2thZ2UubW0KaW5kZXggNTMzYjUzOTc1YWM0MDJl
YTkzYjRjOTg3NWYwMTNiMGM0NTg3NWYxNi4uYTc4ZDQ1MjMwNDgwMThkODViMDlhMjYyMWNjODAx
YThlOWZjYTdhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRz
Y2FwZVBsdWdpblBhY2thZ2UubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblBhY2thZ2UubW0KQEAgLTM2OSw3ICszNjksNyBAQCBzdGF0aWMgVHJhbnNp
dGlvblZlY3RvciB0VmVjdG9yRm9yRnVuY3Rpb25Qb2ludGVyKEZ1bmN0aW9uUG9pbnRlcik7CiAg
ICAgTWFpbkZ1bmNQdHIgcGx1Z2luTWFpbkZ1bmMgPSBOVUxMOwogI2VuZGlmCiAKLSNpZiAhTE9H
X0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgQ0ZBYnNvbHV0ZVRpbWUgc3RhcnQg
PSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsKICAgICBDRkFic29sdXRlVGltZSBjdXJyZW50
VGltZTsKICAgICBDRkFic29sdXRlVGltZSBkdXJhdGlvbjsKQEAgLTM4NCw3ICszODQsNyBAQCBz
dGF0aWMgVHJhbnNpdGlvblZlY3RvciB0VmVjdG9yRm9yRnVuY3Rpb25Qb2ludGVyKEZ1bmN0aW9u
UG9pbnRlcik7CiAjZW5kaWYKICAgICAgICAgaWYgKCFDRkJ1bmRsZUxvYWRFeGVjdXRhYmxlKGNm
QnVuZGxlLmdldCgpKSkKICAgICAgICAgICAgIHJldHVybiBOTzsKLSNpZiAhTE9HX0RJU0FCTEVE
CisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgICAgIGN1cnJlbnRUaW1lID0gQ0ZBYnNvbHV0ZVRp
bWVHZXRDdXJyZW50KCk7CiAgICAgICAgIGR1cmF0aW9uID0gY3VycmVudFRpbWUgLSBzdGFydDsK
ICNlbmRpZgpAQCAtNDI2LDcgKzQyNiw3IEBAIHN0YXRpYyBUcmFuc2l0aW9uVmVjdG9yIHRWZWN0
b3JGb3JGdW5jdGlvblBvaW50ZXIoRnVuY3Rpb25Qb2ludGVyKTsKICAgICAgICAgICAgIExPR19F
UlJPUigiV2ViR2V0RGlza0ZyYWdtZW50IGZhaWxlZC4gRXJyb3I9JWQiLCBlcnIpOwogICAgICAg
ICAgICAgcmV0dXJuIE5POwogICAgICAgICB9Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJM
RShMT0dHSU5HKQogICAgICAgICBjdXJyZW50VGltZSA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVu
dCgpOwogICAgICAgICBkdXJhdGlvbiA9IGN1cnJlbnRUaW1lIC0gc3RhcnQ7CiAjZW5kaWYKQEAg
LTUxOCw3ICs1MTgsNyBAQCBzdGF0aWMgVHJhbnNpdGlvblZlY3RvciB0VmVjdG9yRm9yRnVuY3Rp
b25Qb2ludGVyKEZ1bmN0aW9uUG9pbnRlcik7CiAgICAgICAgIAogICAgICAgICBbc2VsZiBfYXBw
bHlEalZ1V29ya2Fyb3VuZF07CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykKICAgICAgICAgQ0ZBYnNvbHV0ZVRpbWUgbWFpblN0YXJ0ID0gQ0ZBYnNvbHV0
ZVRpbWVHZXRDdXJyZW50KCk7CiAjZW5kaWYKICAgICAgICAgTE9HKFBsdWdpbnMsICIlZiBtYWlu
IHRpbWluZyBzdGFydGVkIiwgbWFpblN0YXJ0KTsKQEAgLTUzNiw3ICs1MzYsNyBAQCBzdGF0aWMg
VHJhbnNpdGlvblZlY3RvciB0VmVjdG9yRm9yRnVuY3Rpb25Qb2ludGVyKEZ1bmN0aW9uUG9pbnRl
cik7CiAgICAgICAgICAgICAgICAgW3NlbGYgbGF1bmNoUmVhbFBsYXllcl07CiAgICAgICAgICAg
ICByZXR1cm4gTk87CiAgICAgICAgIH0KLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAgICAgICAgIGN1cnJlbnRUaW1lID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7
CiAgICAgICAgIGR1cmF0aW9uID0gY3VycmVudFRpbWUgLSBtYWluU3RhcnQ7CiAjZW5kaWYKQEAg
LTYzMSwxNCArNjMxLDE0IEBAIHN0YXRpYyBUcmFuc2l0aW9uVmVjdG9yIHRWZWN0b3JGb3JGdW5j
dGlvblBvaW50ZXIoRnVuY3Rpb25Qb2ludGVyKTsKICAgICAgICAgCiAgICAgICAgIFtzZWxmIF9h
cHBseURqVnVXb3JrYXJvdW5kXTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9H
R0lORykKICAgICAgICAgQ0ZBYnNvbHV0ZVRpbWUgaW5pdGlhbGl6ZVN0YXJ0ID0gQ0ZBYnNvbHV0
ZVRpbWVHZXRDdXJyZW50KCk7CiAjZW5kaWYKICAgICAgICAgTE9HKFBsdWdpbnMsICIlZiBOUF9J
bml0aWFsaXplIHRpbWluZyBzdGFydGVkIiwgaW5pdGlhbGl6ZVN0YXJ0KTsKICAgICAgICAgbnBF
cnIgPSBOUF9Jbml0aWFsaXplKCZicm93c2VyRnVuY3MpOwogICAgICAgICBpZiAobnBFcnIgIT0g
TlBFUlJfTk9fRVJST1IpCiAgICAgICAgICAgICByZXR1cm4gTk87Ci0jaWYgIUxPR19ESVNBQkxF
RAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgICAgICBjdXJyZW50VGltZSA9IENGQWJzb2x1dGVU
aW1lR2V0Q3VycmVudCgpOwogICAgICAgICBkdXJhdGlvbiA9IGN1cnJlbnRUaW1lIC0gaW5pdGlh
bGl6ZVN0YXJ0OwogI2VuZGlmCkBAIC02NjIsNyArNjYyLDcgQEAgc3RhdGljIFRyYW5zaXRpb25W
ZWN0b3IgdFZlY3RvckZvckZ1bmN0aW9uUG9pbnRlcihGdW5jdGlvblBvaW50ZXIpOwogICAgIH0K
ICNlbmRpZgogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGN1
cnJlbnRUaW1lID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAgICAgZHVyYXRpb24gPSBj
dXJyZW50VGltZSAtIHN0YXJ0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tIGIvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQppbmRleCBhN2RhYWFlYzA0ZDUxMGFh
N2QwMWNjYWNiMGJlOTYzMjdkMWVkYzJkLi4xZWRkOGFlODc3YjI0NjY4ZmJmNjc1ZDU2ODdlZDUw
MTA2NWI5MzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNj
YXBlUGx1Z2luU3RyZWFtLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0
c2NhcGVQbHVnaW5TdHJlYW0ubW0KQEAgLTQyMSw3ICs0MjEsNyBAQCB2b2lkIFdlYk5ldHNjYXBl
UGx1Z2luU3RyZWFtOjpkZXN0cm95U3RyZWFtKCkKIAogICAgICAgICBpZiAobV9uZXdTdHJlYW1T
dWNjZXNzZnVsKSB7CiAgICAgICAgICAgICBQbHVnaW5TdG9wRGVmZXJyZXIgZGVmZXJyZXIobV9w
bHVnaW5WaWV3LmdldCgpKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcp
CiAgICAgICAgICAgICBOUEVycm9yIG5wRXJyID0gCiAjZW5kaWYKICAgICAgICAgICAgIG1fcGx1
Z2luRnVuY3MtPmRlc3Ryb3lzdHJlYW0obV9wbHVnaW4sICZtX3N0cmVhbSwgbV9yZWFzb24pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5EYXRhYmFzZS5t
bSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luRGF0YWJhc2UubW0KaW5kZXgg
ZTdmYWUxYmVjMmIzMTgzYTQ4MTE2OWVjMWQxZWU1NThiYWQ3MDg3YS4uMzhkYjRkMDE0ZjdlNmM5
ZDc1NDViNmQ4ZWUyYzJmMDMxZTA2Y2UyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9XZWJQbHVnaW5EYXRhYmFzZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYlBsdWdpbkRhdGFiYXNlLm1tCkBAIC0yODYsNyArMjg2LDcgQEAgc3RhdGljIE5TQXJy
YXkgKmFkZGl0aW9uYWxXZWJQbHVnSW5QYXRoczsKICAgICAgICAgW25ld1BsdWdpbnMgcmVtb3Zl
T2JqZWN0OnBsdWdpbl07CiAgICAgfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogICAgIGlmIChbbmV3UGx1Z2lucyBjb3VudF0gPiAwKQogICAgICAgICBMT0coUGx1
Z2lucywgIk5ldyBwbHVnaW5zOlxuJUAiLCBuZXdQbHVnaW5zKTsKICAgICBpZiAoW3BsdWdpbnNU
b1JlbW92ZSBjb3VudF0gPiAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9XZWJQbHVnaW5QYWNrYWdlLm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVn
aW5QYWNrYWdlLm1tCmluZGV4IGE2MDgwNjg4N2Q2MzgzMjI3ODdhMTlkN2I1ZTY4MWVkZjM2OTBk
NTguLjVjZWY1NTAyYTQ0NGJmMGIxOTk3ODhiODJjMmI3NTNhZWU3NjU3M2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luUGFja2FnZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpblBhY2thZ2UubW0KQEAgLTkxLDcgKzkxLDcg
QEAgTlNTdHJpbmcgKldlYlBsdWdJbkNvbnRhaW5pbmdFbGVtZW50S2V5ID0gICAgICAgQCJXZWJQ
bHVnSW5Db250YWluaW5nRWxlbWVudEtleSIKIAogLSAoQk9PTClsb2FkCiB7Ci0jaWYgIUxPR19E
SVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIENGQWJzb2x1dGVUaW1lIHN0YXJ0ID0g
Q0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAjZW5kaWYKICAgICAKQEAgLTEwMSw3ICsxMDEs
NyBAQCBOU1N0cmluZyAqV2ViUGx1Z0luQ29udGFpbmluZ0VsZW1lbnRLZXkgPSAgICAgICBAIldl
YlBsdWdJbkNvbnRhaW5pbmdFbGVtZW50S2V5IgogICAgICAgICAgICAgcmV0dXJuIE5POwogICAg
IH0KICAgICAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgQ0ZB
YnNvbHV0ZVRpbWUgZHVyYXRpb24gPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSAtIHN0YXJ0
OwogICAgIExPRyhQbHVnaW5zLCAicHJpbmNpcGFsQ2xhc3MgdG9vayAlZiBzZWNvbmRzIGZvcjog
JUAiLCBkdXJhdGlvbiwgKE5TU3RyaW5nICopW3NlbGYgcGx1Z2luSW5mb10ubmFtZSk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQppbmRleCBhZWViZDk3MmNj
NTg3ZTUxZTM2NDgxZDYxMmUyY2Q1YjI2MTNjMzk1Li5jMDE1MDQ0NDU1OWUwZjMwODFkMThhM2Ri
ZjZlY2JmZmZlMjMxYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkFyY2hpdmUubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJBcmNoaXZlLm1t
CkBAIC0yMTAsNyArMjEwLDcgQEAgc3RhdGljIEJPT0wgaXNBcnJheU9mQ2xhc3MoaWQgb2JqZWN0
LCBDbGFzcyBlbGVtZW50Q2xhc3MpCiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmls
OwogICAgICAgICAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAg
Q0ZBYnNvbHV0ZVRpbWUgc3RhcnQgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsKICNlbmRp
ZgogCkBAIC0yMjMsNyArMjIzLDcgQEAgc3RhdGljIEJPT0wgaXNBcnJheU9mQ2xhc3MoaWQgb2Jq
ZWN0LCBDbGFzcyBlbGVtZW50Q2xhc3MpCiAgICAgICAgIAogICAgIFtfcHJpdmF0ZSBzZXRDb3Jl
QXJjaGl2ZTpjb3JlQXJjaGl2ZS5yZWxlYXNlKCldOwogICAgICAgICAKLSNpZiAhTE9HX0RJU0FC
TEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgQ0ZBYnNvbHV0ZVRpbWUgZW5kID0gQ0ZBYnNv
bHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAgICAgQ0ZBYnNvbHV0ZVRpbWUgZHVyYXRpb24gPSBlbmQg
LSBzdGFydDsKICNlbmRpZgpAQCAtMzYxLDEzICszNjEsMTMgQEAgc3RhdGljIEJPT0wgaXNBcnJh
eU9mQ2xhc3MoaWQgb2JqZWN0LCBDbGFzcyBlbGVtZW50Q2xhc3MpCiB7CiAgICAgV2ViQ29yZVRo
cmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUd28oKTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBF
TkFCTEUoTE9HR0lORykKICAgICBDRkFic29sdXRlVGltZSBzdGFydCA9IENGQWJzb2x1dGVUaW1l
R2V0Q3VycmVudCgpOwogI2VuZGlmCiAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhID0g
W19wcml2YXRlIGNvcmVBcmNoaXZlXS0+cmF3RGF0YVJlcHJlc2VudGF0aW9uKCk7CiAgICAgCi0j
aWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIENGQWJzb2x1dGVUaW1l
IGVuZCA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpOwogICAgIENGQWJzb2x1dGVUaW1lIGR1
cmF0aW9uID0gZW5kIC0gc3RhcnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkhUTUxWaWV3Lm1tCmluZGV4IGM0MzFmOWIwMjNmZTg1NTZhMDY4NDZlN2ZiNDcwMjcyOTNhMDVl
NmQuLjAwNDhhMzhmZTJiOWZlNjUzNGRmMTJmOTk5ZDQ0MzdmNjVmNmE0ZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtMzE4OCw3ICszMTg4LDcgQEAgc3Rh
dGljIHZvaWQgc2V0TWVudVRhcmdldHMoTlNNZW51KiBtZW51KQogICAgIHJldHVybiBbW3NlbGYg
X3dlYlZpZXddIGRyYXdzQmFja2dyb3VuZF07CiB9CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYg
RU5BQkxFKExPR0dJTkcpCiAtICh2b2lkKXNldE5lZWRzRGlzcGxheTooQk9PTClmbGFnCiB7CiAg
ICAgTE9HKFZpZXcsICIlQCBzZXROZWVkc0Rpc3BsYXk6JUAiLCBzZWxmLCBmbGFnID8gQCJZRVMi
IDogQCJOTyIpOwpAQCAtNjE0MCwxMSArNjE0MCwxMSBAQCBzdGF0aWMgdm9pZCBleHRyYWN0VW5k
ZXJsaW5lcyhOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZywgVmVjdG9yPENvbXBvc2l0aW9uVW5k
ZQogLSAoTlNBdHRyaWJ1dGVkU3RyaW5nICopX2F0dHJpYnV0ZVN0cmluZ0Zyb21ET01SYW5nZToo
RE9NUmFuZ2UgKilyYW5nZQogewogICAgIE5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0
cmluZzsKLSNpZiAhTE9HX0RJU0FCTEVEICAgICAgICAKKyNpZiBFTkFCTEUoTE9HR0lORykKICAg
ICBkb3VibGUgc3RhcnQgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsKICNlbmRpZiAgICAK
ICAgICBhdHRyaWJ1dGVkU3RyaW5nID0gW1tbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBfaW5p
dFdpdGhET01SYW5nZTpyYW5nZV0gYXV0b3JlbGVhc2VdOwotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgZHVyYXRpb24gPSBDRkFic29sdXRlVGltZUdl
dEN1cnJlbnQoKSAtIHN0YXJ0OwogICAgIExPRyhUaW1pbmcsICJjcmVhdGluZyBhdHRyaWJ1dGVk
IHN0cmluZyBmcm9tIHNlbGVjdGlvbiB0b29rICVmIHNlY29uZHMuIiwgZHVyYXRpb24pOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNDVhNGNmNWQwZjU4MDhl
MGMyNTQ0Njg5ZjVkMjYwOTE3MTEyYjZjYi4uZTU5NTA4ZjYzODQ4ZjZjZjllMWU3ZjJlMWI3ZjVl
MGRkOGIxNzgwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtNzIzLDgg
KzcyMywxMCBAQCBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0
ZVNldHRlcnMoKQogCiAgICAgc3RhdGljIGJvb2wgZGlkT25lVGltZUluaXRpYWxpemF0aW9uID0g
ZmFsc2U7CiAgICAgaWYgKCFkaWRPbmVUaW1lSW5pdGlhbGl6YXRpb24pIHsKKyNpZiBFTkFCTEUo
TE9HR0lORykKICAgICAgICAgV2ViS2l0SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNz
YXJ5KCk7CiAgICAgICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vz
c2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogICAgICAgICBbV2ViSGlzdG9yeUl0
ZW0gaW5pdFdpbmRvd1dhdGNoZXJJZk5lY2Vzc2FyeV07CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKICAgICAgICAgV2ViS2l0SW5pdGlhbGl6ZURhdGFiYXNlc0lmTmVjZXNzYXJ5KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luaXRXZWJDb3JlUXQuY3Bw
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Jbml0V2ViQ29yZVF0LmNwcAppbmRl
eCA0NTIwOTFjMjhmZTlkNWY5ZDg0ZTM1ZTI4MGVkOTNjMjgxMTcyYjdlLi5iNDZhN2Y5ZTJlMjZh
ZjU3ZTE5YjIxZTJhNmRhMzE5Y2RhYmI5MmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0luaXRXZWJDb3JlUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVRdC5jcHAKQEAgLTY2LDcgKzY2LDkgQEAgdm9pZCBp
bml0aWFsaXplV2ViQ29yZVF0KCkKICAgICBpZiAoaW5pdGlhbGl6ZWQpCiAgICAgICAgIHJldHVy
bjsKIAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5n
Q2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogICAgIFNj
cmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKICAgICBXVEY6OmluaXRpYWxp
emVNYWluVGhyZWFkKCk7CiAgICAgV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3k6OnNldExvY2FsTG9h
ZFBvbGljeShXZWJDb3JlOjpTZWN1cml0eVBvbGljeTo6QWxsb3dMb2NhbExvYWRzRm9yTG9jYWxB
bmRTdWJzdGl0dXRlRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGIzMmM4YjRiZmE2MWVk
MDYwNzY5OGE3NzBlNWZmMmJkZmI0ZTZhY2EuLjEwZDYyNjFiZjRiNDVhY2U5ZDFmNjUwMjRlMzk3
MzJkN2QwZTQyZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0yNjQxLDcgKzI2NDEsOSBAQCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoCiAKICAgICBz
dGF0aWMgYm9vbCBkaWRPbmVUaW1lSW5pdGlhbGl6YXRpb247CiAgICAgaWYgKCFkaWRPbmVUaW1l
SW5pdGlhbGl6YXRpb24pIHsKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAgaW5pdGlhbGl6
ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcp
CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgV2ViS2l0SW5pdGlhbGl6ZVdlYkRh
dGFiYXNlc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYKQEAgLTU1NDIsNyArNTU0NCw3IEBAIHN0YXRp
YyB2b2lkIGNvbXBvc2l0aW9uVG9VbmRlcmxpbmVzKGNvbnN0IFZlY3RvcjxEV09SRD4mIGNsYXVz
ZXMsIGNvbnN0IFZlY3RvcjxCCiAgICAgfQogfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVO
QUJMRShMT0dHSU5HKQogI2RlZmluZSBBUFBFTkRfQVJHVU1FTlRfTkFNRShuYW1lKSBcCiAgICAg
aWYgKGxwYXJhbSAmIG5hbWUpIHsgXAogICAgICAgICBpZiAobmVlZHNDb21tYSkgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd3gvV2Vi
Vmlldy5jcHAKaW5kZXggYWRkZDExYzNhYzVjZDFmNTMwNThkOWY4Yzc0MzBmNGNmODQ4MTI2NC4u
YmJhZmNmMzRjNDg4ZTRhNjdiMWEzMzc0NTdhMzQ0NzhmZTJjODkzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93eC9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYlZpZXcu
Y3BwCkBAIC0zODksNyArMzg5LDkgQEAgYm9vbCBXZWJWaWV3OjpDcmVhdGUod3hXaW5kb3cqIHBh
cmVudCwgY29uc3Qgd3hTdHJpbmcmIHVybCwgaW50IGlkLCBjb25zdCB3eFBvaW4KIAogICAgIG1f
aW1wbCA9IG5ldyBXZWJWaWV3UHJpdmF0ZSgpOwogCi0gICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxv
Z2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7ICAgIAorI2lmIEVOQUJMRShMT0dHSU5HKQorICAg
IFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworI2VuZGlm
IC8vIEVOQUJMRShMT0dHSU5HKQogICAgIFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudCog
cGFyZW50RnJhbWUgPSAwOwogCiAgICAgV2ViQ29yZTo6RWRpdG9yQ2xpZW50V3gqIGVkaXRvckNs
aWVudCA9IG5ldyBXZWJDb3JlOjpFZGl0b3JDbGllbnRXeCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9M
b2dnaW5nLmNwcAppbmRleCBmMjMxOGVjZWM3NzZkNjg5ODIyNjQxZDZjMDYwZTE2MGJhMzJiNjU5
Li5jYTg5MmQ0OTM4NmEzYzdjYTE1YTBkOTg2YzQ3MTM0Yzk2NjNjNzQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9Mb2dnaW5nLmNwcApAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUo
TE9HR0lORykKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTkwLDQgKzkwLDQgQEAgdm9pZCBp
bml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCi0jZW5kaWYgLy8gTE9HX0RJU0FCTEVECisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggMDZmOTYwOTFjMjk3MWFhYjM1OGU2YjkwZTc4
NzdkMTUwZWY0OTZiMC4uMmNmYzVjODRmOGI3YThiYWE1ZWMzYzFhYTc4ODU5YzA2ZjllOTQxMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNp
ZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAKICNpZm5kZWYgTE9HX0NIQU5O
RUxfUFJFRklYCiAjZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKQEAgLTUyLDYgKzUyLDYg
QEAgV1RGTG9nQ2hhbm5lbCogZ2V0Q2hhbm5lbEZyb21OYW1lKGNvbnN0IFN0cmluZyYgY2hhbm5l
bE5hbWUpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIExPR19ESVNBQkxF
RAorI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogCiAjZW5kaWYgLy8gTG9nZ2luZ19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAKaW5kZXggODYzN2MxZTFiYjAx
NjNiZGVjOGIyNDIxMDQ2MjRmNzZhZWRmM2M0YS4uNmFkNmM0MTdlNThlYjA3MWQxMDMwZGNjNmUw
MjFjMDlhMzMwMTNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vZ3RrL0xv
Z2dpbmdHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2d0ay9Mb2dnaW5nR3Rr
LmNwcApAQCAtMzAsNyArMzAsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lmICFMT0df
RElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIAogdm9pZCBpbml0aWFsaXplTG9nQ2hhbm5l
bChXVEZMb2dDaGFubmVsKiBjaGFubmVsKQogewpAQCAtNTUsNiArNTUsNiBAQCB2b2lkIGluaXRp
YWxpemVMb2dDaGFubmVsKFdURkxvZ0NoYW5uZWwqIGNoYW5uZWwpCiAgICAgICAgIGNoYW5uZWwt
PnN0YXRlID0gV1RGTG9nQ2hhbm5lbE9uOwogfQogCi0jZW5kaWYgLy8gIUxPR19ESVNBQkxFRAor
I2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vcXQv
TG9nZ2luZ1F0LmNwcAppbmRleCAzYzQ0ZTIzYTkxZWZhMTk2NmJlYTUwOTExZDA1MGNhM2U5MGE5
ZTVjLi43ODZhNTYxZmQ5ZDk3YTdmZGQ5NjBlYWUwMzI2YWEyY2YwYjIzYjNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL3F0L0xvZ2dpbmdRdC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcp
CiAKIHZvaWQgaW5pdGlhbGl6ZUxvZ0NoYW5uZWwoV1RGTG9nQ2hhbm5lbCogY2hhbm5lbCkKIHsK
QEAgLTU1LDYgKzU1LDYgQEAgdm9pZCBpbml0aWFsaXplTG9nQ2hhbm5lbChXVEZMb2dDaGFubmVs
KiBjaGFubmVsKQogICAgICAgICBjaGFubmVsLT5zdGF0ZSA9IFdURkxvZ0NoYW5uZWxPbjsKIH0K
IAotI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IDc0MmFlYTYyYzMw
YTZhZjI2YjllZGQ0ODNkZTZmMDQyMDEzYzFlYWQuLjE4NzYxMDRjOThhZjJjYzFhODU4YzIxMjI3
NjNiZDc0MmViNjAzNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAK
QEAgLTE0OSw3ICsxNDksNyBAQCBXZWJDb250ZXh0OjpXZWJDb250ZXh0KFByb2Nlc3NNb2RlbCBw
cm9jZXNzTW9kZWwsIGNvbnN0IFN0cmluZyYgaW5qZWN0ZWRCdW5kbGVQYQogICAgICwgbV9wcm9j
ZXNzVGVybWluYXRpb25FbmFibGVkKHRydWUpCiAgICAgLCBtX3BsdWdpbldvcmtRdWV1ZSgiY29t
LmFwcGxlLkNvcmVJUEMuUGx1Z2luUXVldWUiKQogewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBF
TkFCTEUoTE9HR0lORykKICAgICBXZWJLaXQ6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNz
YXJ5KCk7CiAjZW5kaWYKIApAQCAtMTU3LDcgKzE1Nyw5IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRl
eHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NNb2RlbCwgY29uc3QgU3RyaW5nJiBpbmplY3RlZEJ1bmRs
ZVBhCiAKICAgICBhZGRMYW5ndWFnZUNoYW5nZU9ic2VydmVyKHRoaXMsIGxhbmd1YWdlQ2hhbmdl
ZCk7CiAKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBXZWJDb3JlOjppbml0aWFsaXplTG9nZ2lu
Z0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKIAogI2lm
bmRlZiBOREVCVUcKICAgICB3ZWJDb250ZXh0Q291bnRlci5pbmNyZW1lbnQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYjUwNDZiMjk5Yzk4OTM4M2Yx
ZjViNDVmZDViNzQ0MWQxMDc3MDVkNi4uYjZkZDA1NDQ3MzVhMmVjZjQ3YWEyMDlmMzQ5NWI1ZTY0
YTAzYjM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAg
LTEyNiw3ICsxMjYsNyBAQCBXS1BhZ2VEZWJ1Z1BhaW50RmxhZ3MgV2ViUGFnZVByb3h5OjpzX2Rl
YnVnUGFpbnRGbGFncyA9IDA7CiAKIERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJlZkNv
dW50ZWRMZWFrQ291bnRlciwgd2ViUGFnZVByb3h5Q291bnRlciwgKCJXZWJQYWdlUHJveHkiKSk7
CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiBzdGF0aWMgY29uc3Qg
Y2hhciogd2ViS2V5Ym9hcmRFdmVudFR5cGVTdHJpbmcoV2ViRXZlbnQ6OlR5cGUgdHlwZSkKIHsK
ICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTE0Nyw3ICsxNDcsNyBAQCBzdGF0aWMgY29uc3QgY2hh
ciogd2ViS2V5Ym9hcmRFdmVudFR5cGVTdHJpbmcoV2ViRXZlbnQ6OlR5cGUgdHlwZSkKICAgICAg
ICAgcmV0dXJuICI8dW5rbm93bj4iOwogICAgIH0KIH0KLSNlbmRpZiAvLyAhTE9HX0RJU0FCTEVE
CisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCiAKIFBhc3NSZWZQdHI8V2ViUGFnZVByb3h5PiBX
ZWJQYWdlUHJveHk6OmNyZWF0ZShQYWdlQ2xpZW50KiBwYWdlQ2xpZW50LCBQYXNzUmVmUHRyPFdl
YlByb2Nlc3NQcm94eT4gcHJvY2VzcywgV2ViUGFnZUdyb3VwKiBwYWdlR3JvdXAsIHVpbnQ2NF90
IHBhZ2VJRCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2Vi
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCmluZGV4
IDI4ZDI2ZjFmM2U0MmJiZjQzNTAyMmNlMjY4OWY4YWU2ODBmYjgzODIuLjUwYzFmY2IyZTI0MTU1
ZDYxNDRiYjk5NzQyNWMyY2FjMGQ1YjUyNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dp
bi9XZWJWaWV3LmNwcApAQCAtMTIzNiw3ICsxMjM2LDcgQEAgc3RhdGljIHZvaWQgY29tcG9zaXRp
b25Ub1VuZGVybGluZXMoY29uc3QgVmVjdG9yPERXT1JEPiYgY2xhdXNlcywgY29uc3QgVmVjdG9y
PEIKICAgICB9CiB9CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAj
ZGVmaW5lIEFQUEVORF9BUkdVTUVOVF9OQU1FKG5hbWUpIFwKICAgICBpZiAobHBhcmFtICYgbmFt
ZSkgeyBcCiAgICAgICAgIGlmIChuZWVkc0NvbW1hKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAppbmRleCAxNDI0YTFhNDA2YWZkODdkNDJmZmQ4NmMwNGNmZmE1NWFk
MWM5MTdhLi5hMDA1MjE2YmIyNjU2ZmMwNjg5MzMxNGU2Nzc0YzBiNGZjN2I0MzM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE2MSw3ICsxNjEsOSBAQCBX
ZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmluaXRp
YWxpemUoKTsKICNlbmRpZiAvLyBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKIAorI2lmIEVOQUJM
RShMT0dHSU5HKQogICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vz
c2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogfQogCiB2b2lkIFdlYlByb2Nlc3M6
OmluaXRpYWxpemUoQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBzZXJ2ZXJJZGVudGlm
aWVyLCBSdW5Mb29wKiBydW5Mb29wKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150055</attachid>
            <date>2012-06-28 18:09:23 -0700</date>
            <delta_ts>2012-06-28 18:25:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90228-20120628180922.patch</filename>
            <type>text/plain</type>
            <size>80092</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQyOGUyMjIzMzUwYmRhMWQyYThmNmY0
ZWMzMTMyOGEwN2M1N2VlZjIuLmE1NjVkZjRlODk2YzAzZWQ3MDVhNWJlZjJmYjFlZTE0NjA3YjA3
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDYtMjggIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRp
YWxpemF0aW9uIHdoZW4gbG9nZ2luZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisgICAgICAgICog
d3RmL1BsYXRmb3JtLmg6CisgICAgICAgICogd3RmL1RocmVhZGluZy5jcHA6CisgICAgICAgIChX
VEY6OmNyZWF0ZVRocmVhZCk6CisKIDIwMTItMDYtMjggIEthbGV2IExlbWJlciAgPGthbGV2bGVt
YmVyQGdtYWlsLmNvbT4KIAogICAgICAgICBUaHJlYWRpbmdXaW46IFNpbGVuY2UgR0NDIGNvbXBp
bGVyIHdhcm5pbmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFjOWY4MjMwMTJmMDk4OGRlZWE1NGE0Zjg4OWU0
MDlkODNjYTg5Ny4uY2I1ZDc2OTMwMTEwYjdhZDdmNDZmZmEwOGZkMWQ1OTVjYmY0YjhjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEwNCBAQAorMjAxMi0wNi0yOCAgQmVuamFtaW4gUG91bGFpbiAg
PGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55IGxvZ2dpbmcgaW5p
dGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWxpemF0aW5nIG9mIHRoZSBsb2dnaW5n
IGNoYW5uZWxzIHdhcyB0YWtpbmcgdGltZSBvbiBzdGFydHVwLiBXaGVuIGxvZ2dpbiBpcyBkaXNh
YmxlZAorICAgICAgICAoYW5kIHRoZSBMT0cgbWFjcm8gZG8gbm90aGluZyksIHdlIHNob3VsZCBh
c2xvIGRpc2FibGUgbG9nZ2luZyBjaGFubmVscyBhbmQgaW5pdGlhbGl6YXRpb24uCisKKyAgICAg
ICAgVGhlIGJpZ2dlc3QgcGFydCBvZiB0aGUgcGF0Y2ggaXMgdGhlIGNoYW5nZSBmcm9tICFMT0df
RElTQUJMRUQgdG8gdXNpbmcgRU5BQkxFKExPR0dJTkcpLgorICAgICAgICBUaGlzIGlzIGRvbmUg
Zm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIG90aGVyIEVOQUJMRSBmZWF0dXJlcyB1c2VkIGluIFdl
YktpdC4KKworICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5o
OgorICAgICAgICAoQWJzdHJhY3REYXRhYmFzZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVRhc2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUYXNrOjpE
YXRhYmFzZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUYXNrOjp+RGF0YWJhc2VU
YXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVGFzazo6cGVyZm9ybVRhc2spOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRh
c2suaDoKKyAgICAgICAgKERhdGFiYXNlVGFzayk6CisgICAgICAgIChEYXRhYmFzZTo6RGF0YWJh
c2VPcGVuVGFzayk6CisgICAgICAgIChEYXRhYmFzZTo6RGF0YWJhc2VDbG9zZVRhc2spOgorICAg
ICAgICAoRGF0YWJhc2U6OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrKToKKyAgICAgICAgKERhdGFi
YXNlOjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNrKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFi
YXNlL1NRTFRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKFNRTFRyYW5zYWN0
aW9uKToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpzZWVrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OndpbGxSZW1vdmVUcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
ZWxlY3ROZXh0U291cmNlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c291cmNlV2FzQWRkZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c291cmNlV2FzUmVtb3ZlZCk6CisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGxvYWRlci9IaXN0b3J5Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQmFja0Zv
cndhcmROYXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjp1
cGRhdGVGb3JSZWxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OnVw
ZGF0ZUZvclJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQ2xpZW50UmVkaXJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OnVwZGF0ZUZvckNvbW1pdCk6CisgICAgICAg
ICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFkKToKKyAg
ICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKToKKyAgICAg
ICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6cmVhZEZyb21EYXRhYmFzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJY29uRGF0YWJhc2U6OndyaXRlVG9EYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhyZWFkKToKKyAgICAgICAgKiBwYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkJhc2U6
OnVwZGF0ZVN0YXRlTWFjaGluZSk6CisgICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5oOgorICAgICAgICAqIHBsYXRmb3JtL05vdEltcGxl
bWVudGVkLmg6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJy
eS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25DRi5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkFW
RldyYXBwZXI6Om5vdGlmaWNhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkFWRldy
YXBwZXI6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RhbmRhcmRGaWx0ZXJQcm9ncmFtOjpTdGFuZGFyZEZp
bHRlclByb2dyYW0pOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvTG9nZ2luZ01hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d2ls
bFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OmRpZFJlY2VpdmVSZXNwb25zZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpkaWRSZWNlaXZlRGF0YUFycmF5KToKKyAgICAgICAgKFdlYkNvcmU6
OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFVzZUNyZWRlbnRpYWxT
dG9yYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6ZGlkRmluaXNoTG9hZGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OmRpZFJlY2VpdmVD
aGFsbGVuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuUmVzcG9uZFRvUHJvdGVjdGlvblNwYWNl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbToK
KyAgICAgICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZSBjb25uZWN0aW9uOndp
bGxTZW5kUmVxdWVzdDpyZWRpcmVjdFJlc3BvbnNlOl0pOgorICAgICAgICAoLVtXZWJDb3JlUmVz
b3VyY2VIYW5kbGVBc0RlbGVnYXRlIGNvbm5lY3Rpb246Y2FuQXV0aGVudGljYXRlQWdhaW5zdFBy
b3RlY3Rpb25TcGFjZTpdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRDb2RlY0lDVTo6Y3JlYXRlSUNVQ29udmVydGVyKToKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vTG9nZ2luZ1dpbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vd3gvTG9nZ2luZ1d4LmNw
cDoKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpbkRlYnVnLmNwcDoKKyAgICAgICAgKiBwbHVnaW5z
L1BsdWdpbkRlYnVnLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wb3NpdGluZ0xvZ0VuYWJsZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpSZW5kZXJMYXllckNvbXBvc2l0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3Np
dGluZ0xheWVycyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlTGF5ZXJUcmVlR2VvbWV0cnkp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKyAgICAgICAg
KFJlbmRlckxheWVyQ29tcG9zaXRvcik6CisKIDIwMTItMDYtMjggIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFNwbGl0IFdlYlNjcm9sbGJh
ciBpbnRvIFdlYlBsdWdpblNjcm9sbGJhciBhbmQgV2ViU2Nyb2xsYmFyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZwppbmRleCBjZjZhNDQyOTE3Y2EzZGZlODM2MTMzYjMwZWNmMzEzZWZlNGZk
MDYzLi5kMmVhZWYwYzE2YmQ2MGUzMDc0YWI4ZWQzOGZhYjkxNWYwMTNmODE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOCAgQmVuamFt
aW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55
IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQXBpL0JsYWNrQmVycnlH
bG9iYWwuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpnbG9iYWxJbml0aWFsaXpl
KToKKwogMjAxMi0wNi0yNyAgQW5kcmV3IExvICA8YW5sb0ByaW0uY29tPgogCiAgICAgICAgIFtC
bGFja0JlcnJ5XSBTZWxlY3Rpb24gb3ZlcmxheSBjYW4gYmVjb21lIHZpc2libGUgYWZ0ZXIgaXQg
aGFzIGJlZW4gaGlkZGVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggZDQ2ZDMxZDQ0ZjEwYWU0ZjU2MGQ1
NzQ3YzJmODAzOWI5NDc4YzcyOS4uM2VlNzYwMDAwYzVjOWJlNzk0ODc3ZmIwZDFkMzg1NzljZmJh
YWI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTI4ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIERvIG5vdCBkbyBh
bnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aGVuIGxvZ2dpbmcgaXMgZGlzYWJsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjI4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBld2svZXdrX21haW4u
Y3BwOgorICAgICAgICAoX2V3a19pbml0X2JvZHkpOgorCiAyMDEyLTA2LTI3ICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMTIxMzk4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDc1MDRkZDRlMzY0MmI3OWNj
Njk4NmUyMzU2MDU2ZTkyYTk4MTVlODEuLmM2MzExOWEyMjRlY2MwOGJmZTA0YjVkNjNkOTZiMWU2
ZTEwMGNkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOCAg
QmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3Qg
ZG8gYW55IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Via2l0L3dl
YmtpdGdsb2JhbHMuY3BwOgorICAgICAgICAod2Via2l0SW5pdCk6CisKIDIwMTItMDYtMjUgIE1h
cmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0xvY2sg
c2hvdWxkIGJlIHBlci1KU0dsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAzNDFmNDVmYWIy
YzJlZDM3MzhmYTlmODk3MjU5M2ZhZGMwODc3NjRhLi42ZTNiZWFjMTA5ZjRiZmEzNDQyN2QxZDM0
NzlmNjBhN2E3YmM1NWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTIt
MDYtMjggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAg
RG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxpemF0aW9uIHdoZW4gbG9nZ2luZyBpcyBkaXNh
YmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAy
MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEhp
c3RvcnkvV2ViSGlzdG9yeS5tbToKKyAgICAgICAgKC1bV2ViSGlzdG9yeVByaXZhdGUgbG9hZEhp
c3RvcnlHdXRzRnJvbVVSTDpzYXZlZEl0ZW1zQ291bnQ6Y29sbGVjdERpc2NhcmRlZEl0ZW1zSW50
bzplcnJvcjpdKToKKyAgICAgICAgKC1bV2ViSGlzdG9yeVByaXZhdGUgbG9hZEZyb21VUkw6Y29s
bGVjdERpc2NhcmRlZEl0ZW1zSW50bzplcnJvcjpdKToKKyAgICAgICAgKC1bV2ViSGlzdG9yeVBy
aXZhdGUgc2F2ZVRvVVJMOmVycm9yOl0pOgorICAgICAgICAqIE1pc2MvV2ViSWNvbkRhdGFiYXNl
Lm1tOgorICAgICAgICAoLVtXZWJJY29uRGF0YWJhc2UgX3NjYWxlSWNvbjp0b1NpemU6XSk6Cisg
ICAgICAgICogTWlzYy9XZWJLaXRMb2dnaW5nLmg6CisgICAgICAgICogTWlzYy9XZWJLaXRMb2dn
aW5nLm06CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblBhY2thZ2UubW06Cisg
ICAgICAgICgtW1dlYk5ldHNjYXBlUGx1Z2luUGFja2FnZSBfdHJ5TG9hZF0pOgorICAgICAgICAq
IFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW06CisgICAgICAgIChXZWJOZXRzY2Fw
ZVBsdWdpblN0cmVhbTo6ZGVzdHJveVN0cmVhbSk6CisgICAgICAgICogUGx1Z2lucy9XZWJQbHVn
aW5EYXRhYmFzZS5tbToKKyAgICAgICAgKC1bV2ViUGx1Z2luRGF0YWJhc2UgcmVmcmVzaF0pOgor
ICAgICAgICAqIFBsdWdpbnMvV2ViUGx1Z2luUGFja2FnZS5tbToKKyAgICAgICAgKC1bV2ViUGx1
Z2luUGFja2FnZSBsb2FkXSk6CisgICAgICAgICogV2ViVmlldy9XZWJBcmNoaXZlLm1tOgorICAg
ICAgICAoLVtXZWJBcmNoaXZlIGluaXRXaXRoRGF0YTpdKToKKyAgICAgICAgKC1bV2ViQXJjaGl2
ZSBkYXRhXSk6CisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAgKC1b
V2ViSFRNTFZpZXcgX2F0dHJpYnV0ZVN0cmluZ0Zyb21ET01SYW5nZTpdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0
aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisKIDIwMTItMDYtMjUgIE1hcmsgSGFobmVu
YmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0xvY2sgc2hvdWxkIGJl
IHBlci1KU0dsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggYjRmN2M0YzhmMzQwZTlmNTlhZmM0
MTQ2ZjU1N2RjMDk4MWM2MDczYS4uOTk3ZTJhZTNkZTMwNWVmMTNiMTBkMTk2NTY5MWQxZWNiNTAy
MmNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOCAgQmVuamFt
aW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55
IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
SW5pdFdlYkNvcmVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbml0aWFsaXplV2ViQ29yZVF0
KToKKwogMjAxMi0wNi0yOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtRdF0gaW5zcGVjdG9yL3N0eWxlcy9pbmplY3Qtc3R5bGVzaGVldC5odG1s
IG1ha2VzIDQgdGVzdHMgZmxha2V5IChURVhUIFBBU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOWYy
NzU1YzNhMzM1M2I3MTMzNjE5MWJjYmI4MTFmYWJhYzgxOGU3YS4uNDkwMmY3MzlhMmM1MjRjNWNh
YjhmNDQ3YmJiZDdiMWE1NGJjNDIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTA2LTI4ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIERvIG5vdCBkbyBhbnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aGVuIGxvZ2dpbmcg
aXMgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkwMjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAy
MDEyLTA2LTI1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgSlNMb2NrIHNob3VsZCBiZSBwZXItSlNHbG9iYWxEYXRhCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4
IDA3N2NkZDQ2MzhhOTFkN2VmNWY2YWExNGI0ZDAwOGM4MTgwNTI0OGUuLjU1MjFmNWQ2NTQwZjJi
MjhkZTM3ZDE4NGNmM2JhODAyYzBhOGIwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMDYtMjggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxpemF0aW9uIHdoZW4gbG9nZ2lu
ZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpDcmVhdGUpOgor
CiAyMDEyLTA1LTMxICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJFR1JFU1NJT04ocjExNzU3Mik6IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1h
c3luYy1yZW1vdmUtZnJhbWUuaHRtbCBjcmFzaGVzIG9uIE1hYwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDcwOWJh
ZjIxZjJlNzQ4MjRiMDQ4NzE3NDVhODNmMmYyZWVjZTRmMGIuLjkwOWYzYjc3NmE3N2ViYzNhYmNh
ZjFlMzQ3ZWQxNTc2NzMyZmNjMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0w
Ni0yOCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBE
byBub3QgZG8gYW55IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2Fi
bGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIy
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxh
dGZvcm0vTG9nZ2luZy5jcHA6CisgICAgICAgICogUGxhdGZvcm0vTG9nZ2luZy5oOgorICAgICAg
ICAqIFBsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgICogUGxhdGZvcm0vcXQvTG9nZ2luZ1F0LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250
ZXh0OjpXZWJDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6V2ViUHJvY2Vzcyk6CisKIDIwMTItMDYtMjgg
IEpvaG4gU3VsbGl2YW4gIDxzdWxsaXZhbkBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIxNj4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0Fzc2VydGlvbnMuaCBiL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaAppbmRl
eCA5ODA3Y2VkYmNiYzZiMzViYTkwZTlhMTZjNmMyNWFmMjE2ZWQ1OTc5Li42MGM5ZjE3MzQ2Mzc1
MjlhZjkzZjE2YWFlOGJiOTUyOTg3YmFhMTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9B
c3NlcnRpb25zLmgKKysrIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oCkBAIC01MCwxOSAr
NTAsNiBAQAogI2luY2x1ZGUgPGludHR5cGVzLmg+CiAjZW5kaWYKIAotI2lmZGVmIE5ERUJVRwot
LyogRGlzYWJsZSBBU1NFUlQqIG1hY3JvcyBpbiByZWxlYXNlIG1vZGUuICovCi0jZGVmaW5lIEFT
U0VSVElPTlNfRElTQUJMRURfREVGQVVMVCAxCi0jZWxzZQotI2RlZmluZSBBU1NFUlRJT05TX0RJ
U0FCTEVEX0RFRkFVTFQgMAotI2VuZGlmCi0KLSNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikK
LSNkZWZpbmUgSEFWRV9WQVJJQURJQ19NQUNSTyAwCi0jZWxzZQotI2RlZmluZSBIQVZFX1ZBUklB
RElDX01BQ1JPIDEKLSNlbmRpZgotCiAjaWZuZGVmIEJBQ0tUUkFDRV9ESVNBQkxFRAogI2RlZmlu
ZSBCQUNLVFJBQ0VfRElTQUJMRUQgQVNTRVJUSU9OU19ESVNBQkxFRF9ERUZBVUxUCiAjZW5kaWYK
QEAgLTk5LDE0ICs4Niw2IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWZuZGVmIExPR19ESVNBQkxF
RAotI2lmIEhBVkUoVkFSSUFESUNfTUFDUk8pCi0jZGVmaW5lIExPR19ESVNBQkxFRCBBU1NFUlRJ
T05TX0RJU0FCTEVEX0RFRkFVTFQKLSNlbHNlCi0jZGVmaW5lIExPR19ESVNBQkxFRCAxCi0jZW5k
aWYKLSNlbmRpZgotCiAjaWYgQ09NUElMRVIoR0NDKQogI2RlZmluZSBXVEZfUFJFVFRZX0ZVTkNU
SU9OIF9fUFJFVFRZX0ZVTkNUSU9OX18KICNlbHNlCkBAIC0zNTgsNyArMzM3LDcgQEAgd2hpbGUg
KDApCiAKICNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikKICNkZWZpbmUgTE9HKCkgKCh2b2lk
KTApCi0jZWxpZiBMT0dfRElTQUJMRUQKKyNlbGlmICFFTkFCTEUoTE9HR0lORykKICNkZWZpbmUg
TE9HKGNoYW5uZWwsIC4uLikgKCh2b2lkKTApCiAjZWxzZQogI2RlZmluZSBMT0coY2hhbm5lbCwg
Li4uKSBXVEZMb2coJkpPSU5fTE9HX0NIQU5ORUxfV0lUSF9QUkVGSVgoTE9HX0NIQU5ORUxfUFJF
RklYLCBjaGFubmVsKSwgX19WQV9BUkdTX18pCkBAIC0zNzAsNyArMzQ5LDcgQEAgd2hpbGUgKDAp
CiAKICNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikKICNkZWZpbmUgTE9HX1ZFUkJPU0UoY2hh
bm5lbCkgKCh2b2lkKTApCi0jZWxpZiBMT0dfRElTQUJMRUQKKyNlbGlmICFFTkFCTEUoTE9HR0lO
RykKICNkZWZpbmUgTE9HX1ZFUkJPU0UoY2hhbm5lbCwgLi4uKSAoKHZvaWQpMCkKICNlbHNlCiAj
ZGVmaW5lIExPR19WRVJCT1NFKGNoYW5uZWwsIC4uLikgV1RGTG9nVmVyYm9zZShfX0ZJTEVfXywg
X19MSU5FX18sIFdURl9QUkVUVFlfRlVOQ1RJT04sICZKT0lOX0xPR19DSEFOTkVMX1dJVEhfUFJF
RklYKExPR19DSEFOTkVMX1BSRUZJWCwgY2hhbm5lbCksIF9fVkFfQVJHU19fKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
aW5kZXggNzJlNjZmMDk0N2YwNTQzMTY3Y2VmNzc2YzJmODc2MmYwYjIyN2E3NC4uMDUwZWI1ZjNj
ZDA5NDQ5YmRkMDY4YWJkYWI2ZmFkMjI0MGVhMGI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0zMDQsNiAr
MzA0LDI3IEBACiAjZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQogI2VuZGlm
CiAKKy8qID09PT0gRGVidWdnaW5nIGFuZCBMb2dnaW5nID09PT0gKi8KKworI2lmZGVmIE5ERUJV
RworLyogRGlzYWJsZSBBU1NFUlQqIG1hY3JvcyBpbiByZWxlYXNlIG1vZGUuICovCisjZGVmaW5l
IEFTU0VSVElPTlNfRElTQUJMRURfREVGQVVMVCAxCisjZWxzZQorI2RlZmluZSBBU1NFUlRJT05T
X0RJU0FCTEVEX0RFRkFVTFQgMAorI2VuZGlmCisKKyNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dF
UikKKyNkZWZpbmUgSEFWRV9WQVJJQURJQ19NQUNSTyAwCisjZWxzZQorI2RlZmluZSBIQVZFX1ZB
UklBRElDX01BQ1JPIDEKKyNlbmRpZgorCisjaWYgSEFWRShWQVJJQURJQ19NQUNSTykgJiYgIUFT
U0VSVElPTlNfRElTQUJMRURfREVGQVVMVAorI2RlZmluZSBFTkFCTEVfTE9HR0lORyAxCisjZWxz
ZQorI2RlZmluZSBFTkFCTEVfTE9HR0lORyAwCisjZW5kaWYKKwogLyogPT09PSBPUygpIC0gdW5k
ZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxv
dy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAogICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2Ug
YSBHVUkgdG9vbGtpdCA9PT09ICovCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVh
ZGluZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDhkNjU4ZTkzNDhi
ZGU1NjYwNzI0MWE1M2EzZDMxMDdlOWM4N2UzMjMuLjE4MTZjNzkzN2RmOTk5YjNkNWMzMTQ4MTdh
MzAyMmVhYjdkNDBhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAK
KysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcApAQCAtNzMsNyArNzMsNyBAQCBUaHJl
YWRJZGVudGlmaWVyIGNyZWF0ZVRocmVhZChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lk
KiBkYXRhLCBjb25zdCBjaGFyKgogewogICAgIC8vIFZpc3VhbCBTdHVkaW8gaGFzIGEgMzEtY2hh
cmFjdGVyIGxpbWl0IG9uIHRocmVhZCBuYW1lcy4gTG9uZ2VyIG5hbWVzIHdpbGwKICAgICAvLyBi
ZSB0cnVuY2F0ZWQgc2lsZW50bHksIGJ1dCB3ZSdkIGxpa2UgY2FsbGVycyB0byBrbm93IGFib3V0
IHRoZSBsaW1pdC4KLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAg
aWYgKHN0cmxlbihuYW1lKSA+IDMxKQogICAgICAgICBMT0dfRVJST1IoIlRocmVhZCBuYW1lIFwi
JXNcIiBpcyBsb25nZXIgdGhhbiAzMSBjaGFyYWN0ZXJzIGFuZCB3aWxsIGJlIHRydW5jYXRlZCBi
eSBWaXN1YWwgU3R1ZGlvIiwgbmFtZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmgKaW5kZXggMTJiODk4NWQx
MWZkZmU1ZjJkYzZkY2JkYTcyNWNjMTQ3YWU2YWYyYy4uMWE4YzMxN2QzMWQ2ZGZhODNjNjUyODQy
MjQwZjg4NzNhZDllMTZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmgKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRl
ICJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+Ci0jaWYgIUxPR19ESVNBQkxFRCB8fCAhRVJST1Jf
RElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykgfHwgIUVSUk9SX0RJU0FCTEVECiAjaW5jbHVk
ZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNlbmRpZgogCkBAIC0xMzcsNyArMTM3LDcgQEAgcHJvdGVj
dGVkOgogICAgIHVuc2lnbmVkIGxvbmcgbV9lc3RpbWF0ZWRTaXplOwogICAgIFN0cmluZyBtX2Zp
bGVuYW1lOwogCi0jaWYgIUxPR19ESVNBQkxFRCB8fCAhRVJST1JfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykgfHwgIUVSUk9SX0RJU0FCTEVECiAgICAgU3RyaW5nIGRhdGFiYXNlRGVidWdO
YW1lKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0VGhyZWFkU2VjdXJpdHlPcmlnaW4tPnRvU3Ry
aW5nKCkgKyAiOjoiICsgbV9uYW1lOyB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suY3BwCmluZGV4IDA2NjcyNWZlMzc3
MmFhNDhkZTBhZDk5ZTUxM2Q3ZjlkZmYyYzg5ZTIuLjYwNDdlN2E0YWM4YjA0NjIyMDBjM2YwOTNj
MTNkMmEzODMyY2RiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlVGFzay5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9pZCBEYXRhYmFzZVRh
c2tTeW5jaHJvbml6ZXI6OnRhc2tDb21wbGV0ZWQoKQogRGF0YWJhc2VUYXNrOjpEYXRhYmFzZVRh
c2soRGF0YWJhc2UqIGRhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqIHN5bmNocm9u
aXplcikKICAgICA6IG1fZGF0YWJhc2UoZGF0YWJhc2UpCiAgICAgLCBtX3N5bmNocm9uaXplcihz
eW5jaHJvbml6ZXIpCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAg
ICwgbV9jb21wbGV0ZShmYWxzZSkKICNlbmRpZgogewpAQCAtNzAsNyArNzAsNyBAQCBEYXRhYmFz
ZVRhc2s6OkRhdGFiYXNlVGFzayhEYXRhYmFzZSogZGF0YWJhc2UsIERhdGFiYXNlVGFza1N5bmNo
cm9uaXplciogc3luY2hybwogCiBEYXRhYmFzZVRhc2s6On5EYXRhYmFzZVRhc2soKQogewotI2lm
ICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBBU1NFUlQobV9jb21wbGV0
ZSB8fCAhbV9zeW5jaHJvbml6ZXIpOwogI2VuZGlmCiB9CkBAIC03OCw3ICs3OCw3IEBAIERhdGFi
YXNlVGFzazo6fkRhdGFiYXNlVGFzaygpCiB2b2lkIERhdGFiYXNlVGFzazo6cGVyZm9ybVRhc2so
KQogewogICAgIC8vIERhdGFiYXNlIHRhc2tzIGFyZSBtZWFudCB0byBiZSB1c2VkIG9ubHkgb25j
ZSwgc28gbWFrZSBzdXJlIHRoaXMgb25lIGhhc24ndCBiZWVuIHBlcmZvcm1lZCBiZWZvcmUuCi0j
aWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIEFTU0VSVCghbV9jb21w
bGV0ZSk7CiAjZW5kaWYKIApAQCAtOTAsNyArOTAsNyBAQCB2b2lkIERhdGFiYXNlVGFzazo6cGVy
Zm9ybVRhc2soKQogICAgIGlmIChtX3N5bmNocm9uaXplcikKICAgICAgICAgbV9zeW5jaHJvbml6
ZXItPnRhc2tDb21wbGV0ZWQoKTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9H
R0lORykKICAgICBtX2NvbXBsZXRlID0gdHJ1ZTsKICNlbmRpZgogfQpAQCAtMTE2LDcgKzExNiw3
IEBAIHZvaWQgRGF0YWJhc2U6OkRhdGFiYXNlT3BlblRhc2s6OmRvUGVyZm9ybVRhc2soKQogICAg
ICAgICBtX2Vycm9yTWVzc2FnZSA9IGVycm9yTWVzc2FnZS5pc29sYXRlZENvcHkoKTsKIH0KIAot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIGNvbnN0IGNoYXIqIERhdGFi
YXNlOjpEYXRhYmFzZU9wZW5UYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QKIHsKICAgICByZXR1
cm4gIkRhdGFiYXNlT3BlblRhc2siOwpAQCAtMTM2LDcgKzEzNiw3IEBAIHZvaWQgRGF0YWJhc2U6
OkRhdGFiYXNlQ2xvc2VUYXNrOjpkb1BlcmZvcm1UYXNrKCkKICAgICBkYXRhYmFzZSgpLT5jbG9z
ZSgpOwogfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogY29uc3Qg
Y2hhciogRGF0YWJhc2U6OkRhdGFiYXNlQ2xvc2VUYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QK
IHsKICAgICByZXR1cm4gIkRhdGFiYXNlQ2xvc2VUYXNrIjsKQEAgLTE1OCw3ICsxNTgsNyBAQCB2
b2lkIERhdGFiYXNlOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6ZG9QZXJmb3JtVGFzaygpCiAg
ICAgICAgIG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCktPmluUHJvZ3Jlc3NUcmFuc2FjdGlvbkNv
bXBsZXRlZCgpOwogfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
Y29uc3QgY2hhciogRGF0YWJhc2U6OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrOjpkZWJ1Z1Rhc2tO
YW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gIkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrIjsKQEAg
LTE4MCw3ICsxODAsNyBAQCB2b2lkIERhdGFiYXNlOjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNrOjpk
b1BlcmZvcm1UYXNrKCkKICAgICBtX3RhYmxlTmFtZXMgPSBkYXRhYmFzZSgpLT5wZXJmb3JtR2V0
VGFibGVOYW1lcygpOwogfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5H
KQogY29uc3QgY2hhciogRGF0YWJhc2U6OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2s6OmRlYnVnVGFz
a05hbWUoKSBjb25zdAogewogICAgIHJldHVybiAiRGF0YWJhc2VUYWJsZU5hbWVzVGFzayI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFz
ay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suaApp
bmRleCA4MmQ1MWYwM2ZhYTFlY2YyYTBjMDE0YTdkNzFkMjk3ZTA4MzQ5OTk5Li5lOGFmMGI4Mzdk
OTlmYTA4YTVlYTgyNjY1N2VmMDkwNTY5MjI1YmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUYXNrLmgKQEAgLTkyLDcgKzkyLDcgQEAgcHJp
dmF0ZToKICAgICBEYXRhYmFzZSogbV9kYXRhYmFzZTsKICAgICBEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIqIG1fc3luY2hyb25pemVyOwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogICAgIHZpcnR1YWwgY29uc3QgY2hhciogZGVidWdUYXNrTmFtZSgpIGNvbnN0ID0g
MDsKICAgICBib29sIG1fY29tcGxldGU7CiAjZW5kaWYKQEAgLTEwOSw3ICsxMDksNyBAQCBwcml2
YXRlOgogICAgIERhdGFiYXNlT3BlblRhc2soRGF0YWJhc2UqLCBib29sIHNldFZlcnNpb25Jbk5l
d0RhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqLCBFeGNlcHRpb25Db2RlJiwgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGJvb2wmIHN1Y2Nlc3MpOwogCiAgICAgdmlydHVhbCB2b2lkIGRv
UGVyZm9ybVRhc2soKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAg
ICAgdmlydHVhbCBjb25zdCBjaGFyKiBkZWJ1Z1Rhc2tOYW1lKCkgY29uc3Q7CiAjZW5kaWYKIApA
QCAtMTMwLDcgKzEzMCw3IEBAIHByaXZhdGU6CiAgICAgRGF0YWJhc2VDbG9zZVRhc2soRGF0YWJh
c2UqLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkb1Bl
cmZvcm1UYXNrKCk7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAg
IHZpcnR1YWwgY29uc3QgY2hhciogZGVidWdUYXNrTmFtZSgpIGNvbnN0OwogI2VuZGlmCiB9OwpA
QCAtMTQ5LDcgKzE0OSw3IEBAIHByaXZhdGU6CiAgICAgRGF0YWJhc2VUcmFuc2FjdGlvblRhc2so
UGFzc1JlZlB0cjxTUUxUcmFuc2FjdGlvbj4pOwogCiAgICAgdmlydHVhbCB2b2lkIGRvUGVyZm9y
bVRhc2soKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgdmly
dHVhbCBjb25zdCBjaGFyKiBkZWJ1Z1Rhc2tOYW1lKCkgY29uc3Q7CiAjZW5kaWYKIApAQCAtMTY3
LDcgKzE2Nyw3IEBAIHByaXZhdGU6CiAgICAgRGF0YWJhc2VUYWJsZU5hbWVzVGFzayhEYXRhYmFz
ZSosIERhdGFiYXNlVGFza1N5bmNocm9uaXplciosIFZlY3RvcjxTdHJpbmc+JiBuYW1lcyk7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgZG9QZXJmb3JtVGFzaygpOwotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGRlYnVnVGFza05hbWUo
KSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uY3BwCmluZGV4IGU5ZjM4YTk3NmRiZTlmNmY1ODc1NjIy
MmI4ZmY0ZTA2YTk5NzU1NzAuLjE3YjI4NzUwODRkYzNjYjVlMDQyMzE5MTNmZTk0NmU3MGY2Yjkz
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJh
bnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FM
VHJhbnNhY3Rpb24uY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTUUxUcmFuc2FjdGlvbjo6
ZW5xdWV1ZVN0YXRlbWVudChQYXNzUmVmUHRyPFNRTFN0YXRlbWVudD4gc3RhdGVtZW50KQogICAg
IG1fc3RhdGVtZW50UXVldWUuYXBwZW5kKHN0YXRlbWVudCk7CiB9CiAKLSNpZiAhTE9HX0RJU0FC
TEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiBjb25zdCBjaGFyKiBTUUxUcmFuc2FjdGlvbjo6ZGVi
dWdTdGVwTmFtZShTUUxUcmFuc2FjdGlvbjo6VHJhbnNhY3Rpb25TdGVwTWV0aG9kIHN0ZXApCiB7
CiAgICAgaWYgKHN0ZXAgPT0gJlNRTFRyYW5zYWN0aW9uOjphY3F1aXJlTG9jaykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaAppbmRl
eCAxMTQzOGUyMmEzZjQ1YWU3ZGFlMmRhZTg4ZTZkNjY0MDQ0OGE3Y2FmLi40NTVjNWQ1Zjc4YzVk
OGFiYzM4YWM3MTU1ZTJmYzI4MzFlOTJkZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oCkBAIC0xMDYsNyArMTA2LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRlbGl2ZXJUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2soKTsKICAg
ICB2b2lkIGNsZWFudXBBZnRlclRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjaygpOwogCi0jaWYgIUxP
R19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBk
ZWJ1Z1N0ZXBOYW1lKFRyYW5zYWN0aW9uU3RlcE1ldGhvZCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgppbmRleCBhYmRkZmI3MjJhZDJjM2M2NDRlMjk3MjNmYWU5ZTFjYjBiZTYxMzE0Li44
YWU1OTUxMGJhYWM3YmY5MTQ0ZjJiZDdjMmI5ZTFlMWVkODFkMGQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgpAQCAtNjI2LDcgKzYyNiw5IEBAIF9fWk43V2ViQ29yZTMxQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZTVlbXB0eUV2CiBfX1pON1dlYkNvcmUzMUNyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGU2c2hhcmVkRXYKIF9fWk43V2ViQ29yZTMycGxhaW5UZXh0VG9NYWxsb2NBbGxv
Y2F0ZWRCdWZmZXJFUEtOU181UmFuZ2VFUmpiTlNfMjBUZXh0SXRlcmF0b3JCZWhhdmlvckUKIF9f
Wk43V2ViQ29yZTMzc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzRVJLTjNXVEY2U3Ry
aW5nRQorI2lmIEVOQUJMRShMT0dHSU5HKQogX19aTjdXZWJDb3JlMzZpbml0aWFsaXplTG9nZ2lu
Z0NoYW5uZWxzSWZOZWNlc3NhcnlFdgorI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogX19aTjdX
ZWJDb3JlM21hY0VSS05TXzEwQ3JlZGVudGlhbEUKIF9fWk43V2ViQ29yZTNtYWNFUktOU18yM0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRQogX19aTjdXZWJDb3JlNDByZXN0cmljdE1pbmltdW1TY2Fs
ZUZhY3RvclRvVmlld3BvcnRTaXplRVJOU18xOFZpZXdwb3J0QXR0cmlidXRlc0VOU183SW50U2l6
ZUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGZkZGM0Mjg5
M2ViZDAwM2UwYTU1ZGRiN2YyYzg3NTg2NWU3YTk0N2YuLmI1MzNiMjhiZWYyNWQ4MzMwOWMxNmFi
OGNjYjE4N2QxMzhiNjhlOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIHN0
YXRpYyBTdHJpbmcgdXJsRm9yTG9nZ2luZyhjb25zdCBLVVJMJiB1cmwpCiB7CiAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIG1heGltdW1VUkxMZW5ndGhGb3JMb2dnaW5nID0gMTI4OwpAQCAtMTkz
Niw3ICsxOTM2LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrKGZsb2F0IHRpbWUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogICAgIC8vIHRpbWUgc2NhbGUsIHdlIHdpbGwgYXNrIHRoZSBtZWRp
YSBlbmdpbmUgdG8gInNlZWsiIHRvIHRoZSBjdXJyZW50IG1vdmllIHRpbWUsIHdoaWNoIG1heSBi
ZSBhIG5vb3AgYW5kCiAgICAgLy8gbm90IGdlbmVyYXRlIGEgdGltZWNoYW5nZWQgY2FsbGJhY2su
IFRoaXMgbWVhbnMgbV9zZWVraW5nIHdpbGwgbmV2ZXIgYmUgY2xlYXJlZCBhbmQgd2Ugd2lsbCBu
ZXZlciAKICAgICAvLyBmaXJlIGEgJ3NlZWtlZCcgZXZlbnQuCi0jaWYgIUxPR19ESVNBQkxFRAor
I2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGZsb2F0IG1lZGlhVGltZSA9IG1fcGxheWVyLT5tZWRp
YVRpbWVGb3JUaW1lVmFsdWUodGltZSk7CiAgICAgaWYgKHRpbWUgIT0gbWVkaWFUaW1lKQogICAg
ICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzZWVrKCVmKSAtIG1lZGlhIHRpbWVs
aW5lIGVxdWl2YWxlbnQgaXMgJWYiLCB0aW1lLCBtZWRpYVRpbWUpOwpAQCAtMjg4Miw3ICsyODgy
LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3aWxsUmVtb3ZlVHJhY2soSFRNTFRyYWNrRWxl
bWVudCogdHJhY2tFbGVtZW50KQogICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2Vi
a2l0VmlkZW9UcmFja0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgIUxPR19ESVNB
QkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmICh0cmFja0VsZW1lbnQtPmhhc1RhZ05h
bWUodHJhY2tUYWcpKSB7CiAgICAgICAgIEtVUkwgdXJsID0gdHJhY2tFbGVtZW50LT5nZXROb25F
bXB0eVVSTEF0dHJpYnV0ZShzcmNBdHRyKTsKICAgICAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlh
RWxlbWVudDo6d2lsbFJlbW92ZVRyYWNrIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JMb2dnaW5nKHVy
bCkudXRmOCgpLmRhdGEoKSk7CkBAIC0zMTAzLDcgKzMxMDMsNyBAQCBib29sIEhUTUxNZWRpYUVs
ZW1lbnQ6OmhhdmVQb3RlbnRpYWxTb3VyY2VDaGlsZCgpCiAKIEtVUkwgSFRNTE1lZGlhRWxlbWVu
dDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkKENvbnRlbnRUeXBlKiBjb250ZW50VHlwZSwgU3RyaW5n
KiBrZXlTeXN0ZW0sIEludmFsaWRVUkxBY3Rpb24gYWN0aW9uSWZJbnZhbGlkKQogewotI2lmICFM
T0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAvLyBEb24ndCBsb2cgaWYgdGhp
cyB3YXMganVzdCBjYWxsZWQgdG8gZmluZCBvdXQgaWYgdGhlcmUgYXJlIGFueSB2YWxpZCA8c291
cmNlPiBlbGVtZW50cy4KICAgICBib29sIHNob3VsZExvZyA9IGFjdGlvbklmSW52YWxpZCAhPSBE
b05vdGhpbmc7CiAgICAgaWYgKHNob3VsZExvZykKQEAgLTMxMTEsNyArMzExMSw3IEBAIEtVUkwg
SFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkKENvbnRlbnRUeXBlKiBjb250
ZW50VHlwZSwgU3RyaW5nKiBrCiAjZW5kaWYKIAogICAgIGlmICghbV9uZXh0Q2hpbGROb2RlVG9D
b25zaWRlcikgewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAg
ICAgaWYgKHNob3VsZExvZykKICAgICAgICAgICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OnNlbGVjdE5leHRTb3VyY2VDaGlsZCAtPiAweDAwMDAsIFwiXCIiKTsKICNlbmRpZgpAQCAt
MzE0NSw3ICszMTQ1LDcgQEAgS1VSTCBIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNl
Q2hpbGQoQ29udGVudFR5cGUqIGNvbnRlbnRUeXBlLCBTdHJpbmcqIGsKIAogICAgICAgICAvLyBJ
ZiBjYW5kaWRhdGUgZG9lcyBub3QgaGF2ZSBhIHNyYyBhdHRyaWJ1dGUsIG9yIGlmIGl0cyBzcmMg
YXR0cmlidXRlJ3MgdmFsdWUgaXMgdGhlIGVtcHR5IHN0cmluZyAuLi4ganVtcCBkb3duIHRvIHRo
ZSBmYWlsZWQgc3RlcCBiZWxvdwogICAgICAgICBtZWRpYVVSTCA9IHNvdXJjZS0+Z2V0Tm9uRW1w
dHlVUkxBdHRyaWJ1dGUoc3JjQXR0cik7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogICAgICAgICBpZiAoc2hvdWxkTG9nKQogICAgICAgICAgICAgTE9HKE1lZGlhLCAi
SFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkIC0gJ3NyYycgaXMgJXMiLCB1
cmxGb3JMb2dnaW5nKG1lZGlhVVJMKS51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgpAQCAtMzE1NSw3
ICszMTU1LDcgQEAgS1VSTCBIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNlQ2hpbGQo
Q29udGVudFR5cGUqIGNvbnRlbnRUeXBlLCBTdHJpbmcqIGsKICAgICAgICAgaWYgKHNvdXJjZS0+
ZmFzdEhhc0F0dHJpYnV0ZShtZWRpYUF0dHIpKSB7CiAgICAgICAgICAgICBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHNjcmVlbkV2YWwoInNjcmVlbiIsIGRvY3VtZW50KCktPmZyYW1lKCksIHJlbmRlcmVy
KCkgPyByZW5kZXJlcigpLT5zdHlsZSgpIDogMCk7CiAgICAgICAgICAgICBSZWZQdHI8TWVkaWFR
dWVyeVNldD4gbWVkaWEgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGVBbGxvd2luZ0Rlc2NyaXB0aW9u
U3ludGF4KHNvdXJjZS0+bWVkaWEoKSk7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogICAgICAgICAgICAgaWYgKHNob3VsZExvZykKICAgICAgICAgICAgICAgICBMT0co
TWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNlQ2hpbGQgLSAnbWVkaWEn
IGlzICVzIiwgc291cmNlLT5tZWRpYSgpLnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCkBAIC0zMTY4
LDcgKzMxNjgsNyBAQCBLVVJMIEhUTUxNZWRpYUVsZW1lbnQ6OnNlbGVjdE5leHRTb3VyY2VDaGls
ZChDb250ZW50VHlwZSogY29udGVudFR5cGUsIFN0cmluZyogawogICAgICAgICBpZiAodHlwZS5p
c0VtcHR5KCkgJiYgbWVkaWFVUkwucHJvdG9jb2xJc0RhdGEoKSkKICAgICAgICAgICAgIHR5cGUg
PSBtaW1lVHlwZUZyb21EYXRhVVJMKG1lZGlhVVJMKTsKICAgICAgICAgaWYgKCF0eXBlLmlzRW1w
dHkoKSB8fCAhc3lzdGVtLmlzRW1wdHkoKSkgewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykKICAgICAgICAgICAgIGlmIChzaG91bGRMb2cpCiAgICAgICAgICAgICAgICAg
TE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkIC0gJ3R5
cGUnIGlzICclcycgLSBrZXkgc3lzdGVtIGlzICclcyciLCB0eXBlLnV0ZjgoKS5kYXRhKCksIHN5
c3RlbS51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgpAQCAtMzIwOSw3ICszMjA5LDcgQEAgY2hlY2tf
YWdhaW46CiAgICAgICAgIG1fbmV4dENoaWxkTm9kZVRvQ29uc2lkZXIgPSAwOwogICAgIH0KIAot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAoc2hvdWxkTG9n
KQogICAgICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNl
Q2hpbGQgLT4gJXAsICVzIiwgbV9jdXJyZW50U291cmNlTm9kZS5nZXQoKSwgY2FuVXNlU291cmNl
RWxlbWVudCA/IHVybEZvckxvZ2dpbmcobWVkaWFVUkwpLnV0ZjgoKS5kYXRhKCkgOiAiIik7CiAj
ZW5kaWYKQEAgLTMyMjAsNyArMzIyMCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c291cmNl
V2FzQWRkZWQoSFRNTFNvdXJjZUVsZW1lbnQqIHNvdXJjZSkKIHsKICAgICBMT0coTWVkaWEsICJI
VE1MTWVkaWFFbGVtZW50Ojpzb3VyY2VXYXNBZGRlZCglcCkiLCBzb3VyY2UpOwogCi0jaWYgIUxP
R19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChzb3VyY2UtPmhhc1RhZ05h
bWUoc291cmNlVGFnKSkgewogICAgICAgICBLVVJMIHVybCA9IHNvdXJjZS0+Z2V0Tm9uRW1wdHlV
UkxBdHRyaWJ1dGUoc3JjQXR0cik7CiAgICAgICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OnNvdXJjZVdhc0FkZGVkIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JMb2dnaW5nKHVybCkudXRm
OCgpLmRhdGEoKSk7CkBAIC0zMjY4LDcgKzMyNjgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnNvdXJjZVdhc1JlbW92ZWQoSFRNTFNvdXJjZUVsZW1lbnQqIHNvdXJjZSkKIHsKICAgICBMT0co
TWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojpzb3VyY2VXYXNSZW1vdmVkKCVwKSIsIHNvdXJjZSk7
CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgaWYgKHNvdXJj
ZS0+aGFzVGFnTmFtZShzb3VyY2VUYWcpKSB7CiAgICAgICAgIEtVUkwgdXJsID0gc291cmNlLT5n
ZXROb25FbXB0eVVSTEF0dHJpYnV0ZShzcmNBdHRyKTsKICAgICAgICAgTE9HKE1lZGlhLCAiSFRN
TE1lZGlhRWxlbWVudDo6c291cmNlV2FzUmVtb3ZlZCAtICdzcmMnIGlzICVzIiwgdXJsRm9yTG9n
Z2luZyh1cmwpLnV0ZjgoKS5kYXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxl
bWVudC5jcHAKaW5kZXggYTBjMjBiZmE3NDQ3Mzc4ZGJkZWVlYThlYTlkNDFkMDViMDI1MTYxMy4u
OTk5MGRiNDFlMjlkNjA2NzFmZGRlYjhiMGQyODEyMDc4MmJlNjY0MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCkBAIC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotI2lmICFMT0dfRElTQUJM
RUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIHN0YXRpYyBTdHJpbmcgdXJsRm9yTG9nZ2luZyhjb25z
dCBLVVJMJiB1cmwpCiB7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heGltdW1VUkxMZW5n
dGhGb3JMb2dnaW5nID0gMTI4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hp
c3RvcnlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJv
bGxlci5jcHAKaW5kZXggYmY4ZDdjOGUyNmY5NjFiM2ZmZTlmNWUxOGI0NGYyYTU4MDk4YjAzYS4u
NWU2OWY1NjFlYzI1YTlmMjUzNjBmMDBjNDZiMDFiZTFhNjJkN2FmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9p
ZCBIaXN0b3J5Q29udHJvbGxlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVyKQogCiB2b2lk
IEhpc3RvcnlDb250cm9sbGVyOjp1cGRhdGVGb3JCYWNrRm9yd2FyZE5hdmlnYXRpb24oKQogewot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAobV9mcmFtZS0+
bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkpCiAgICAgICAgIExPRyhIaXN0b3J5LCAiV2ViQ29y
ZUhpc3Rvcnk6IFVwZGF0aW5nIEhpc3RvcnkgZm9yIGJhY2svZm9yd2FyZCBuYXZpZ2F0aW9uIGlu
IGZyYW1lICVzIiwgbV9mcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPnRpdGxlKCku
c3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAjZW5kaWYKQEAgLTMwMiw3ICszMDIsNyBAQCB2b2lk
IEhpc3RvcnlDb250cm9sbGVyOjp1cGRhdGVGb3JCYWNrRm9yd2FyZE5hdmlnYXRpb24oKQogCiB2
b2lkIEhpc3RvcnlDb250cm9sbGVyOjp1cGRhdGVGb3JSZWxvYWQoKQogewotI2lmICFMT0dfRElT
QUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAobV9mcmFtZS0+bG9hZGVyKCktPmRv
Y3VtZW50TG9hZGVyKCkpCiAgICAgICAgIExPRyhIaXN0b3J5LCAiV2ViQ29yZUhpc3Rvcnk6IFVw
ZGF0aW5nIEhpc3RvcnkgZm9yIHJlbG9hZCBpbiBmcmFtZSAlcyIsIG1fZnJhbWUtPmxvYWRlcigp
LT5kb2N1bWVudExvYWRlcigpLT50aXRsZSgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogI2Vu
ZGlmCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9y
U3RhbmRhcmRMb2FkKEhpc3RvcnlVcGRhdGVUeXBlIHVwZGF0ZVR5cGUpCiAKIHZvaWQgSGlzdG9y
eUNvbnRyb2xsZXI6OnVwZGF0ZUZvclJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdCgp
CiB7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChtX2Zy
YW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKSkKICAgICAgICAgTE9HKEhpc3RvcnksICJX
ZWJDb3JlSGlzdG9yeTogVXBkYXRpbmcgSGlzdG9yeSBmb3IgcmVkaXJlY3QgbG9hZCBpbiBmcmFt
ZSAlcyIsIG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT50aXRsZSgpLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCkBAIC00MDYsNyArNDA2LDcgQEAgdm9pZCBIaXN0
b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yUmVkaXJlY3RXaXRoTG9ja2VkQmFja0ZvcndhcmRMaXN0
KCkKIAogdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQ2xpZW50UmVkaXJlY3QoKQog
ewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAobV9mcmFt
ZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkpCiAgICAgICAgIExPRyhIaXN0b3J5LCAiV2Vi
Q29yZUhpc3Rvcnk6IFVwZGF0aW5nIEhpc3RvcnkgZm9yIGNsaWVudCByZWRpcmVjdCBpbiBmcmFt
ZSAlcyIsIG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT50aXRsZSgpLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCkBAIC00MzEsNyArNDMxLDcgQEAgdm9pZCBIaXN0
b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQ2xpZW50UmVkaXJlY3QoKQogdm9pZCBIaXN0b3J5Q29u
dHJvbGxlcjo6dXBkYXRlRm9yQ29tbWl0KCkKIHsKICAgICBGcmFtZUxvYWRlciogZnJhbWVMb2Fk
ZXIgPSBtX2ZyYW1lLT5sb2FkZXIoKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAgICAgaWYgKGZyYW1lTG9hZGVyLT5kb2N1bWVudExvYWRlcigpKQogICAgICAgICBM
T0coSGlzdG9yeSwgIldlYkNvcmVIaXN0b3J5OiBVcGRhdGluZyBIaXN0b3J5IGZvciBjb21taXQg
aW4gZnJhbWUgJXMiLCBmcmFtZUxvYWRlci0+ZG9jdW1lbnRMb2FkZXIoKS0+dGl0bGUoKS5zdHJp
bmcoKS51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5jcHAKaW5kZXggN2MxMzU4NmYyOTAwNDBiNDM1NmRhNGVhZjczZWJjMTUy
NGM1NWUwYy4uMTNmYTYwZTM5MDFmZDQzZjViMzAwMjUzYTNkNjc1ZWFhNTliYzBjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCkBAIC03Myw3ICs3Myw3
IEBAIHN0YXRpYyBjb25zdCBpbnQgdXBkYXRlVGltZXJEZWxheSA9IDU7CiAKIHN0YXRpYyBib29s
IGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKLSNpZiAhTE9HX0RJU0FCTEVEIHx8ICFF
UlJPUl9ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKSB8fCAhRVJST1JfRElTQUJMRUQKIHN0
YXRpYyBTdHJpbmcgdXJsRm9yTG9nZ2luZyhjb25zdCBTdHJpbmcmIHVybCkKIHsKICAgICBzdGF0
aWMgdW5zaWduZWQgdXJsVHJ1bmNhdGlvbkxlbmd0aCA9IDEyMDsKQEAgLTEwMDksNyArMTAwOSw3
IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFkKCkKICAgICAKICAg
ICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgSWNvbkRhdGFiYXNlIHN5bmMgdGhyZWFkIHN0
YXJ0ZWQiKTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBk
b3VibGUgc3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKICNlbmRpZgogCkBAIC0xMDM3LDcgKzEw
MzcsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6aWNvbkRhdGFiYXNlU3luY1RocmVhZCgpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykKICAgICBkb3VibGUgdGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKICAgICBM
T0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgT3BlbiB0b29rICUuNGYgc2Vjb25kcyIsIHRpbWVT
dGFtcCAtIHN0YXJ0VGltZSk7CiAjZW5kaWYgICAgCkBAIC0xMDQ4LDcgKzEwNDgsNyBAQCB2b2lk
IEljb25EYXRhYmFzZTo6aWNvbkRhdGFiYXNlU3luY1RocmVhZCgpCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykK
ICAgICBkb3VibGUgbmV3U3RhbXAgPSBjdXJyZW50VGltZSgpOwogICAgIExPRyhJY29uRGF0YWJh
c2UsICIoVEhSRUFEKSBwZXJmb3JtT3BlbkluaXRpYWxpemF0aW9uKCkgdG9vayAlLjRmIHNlY29u
ZHMsIG5vdyAlLjRmIHNlY29uZHMgZnJvbSB0aHJlYWQgc3RhcnQiLCBuZXdTdGFtcCAtIHRpbWVT
dGFtcCwgbmV3U3RhbXAgLSBzdGFydFRpbWUpOwogICAgIHRpbWVTdGFtcCA9IG5ld1N0YW1wOwpA
QCAtMTA3Myw3ICsxMDczLDcgQEAgdm9pZCBJY29uRGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNU
aHJlYWQoKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgICAgICAKLSNp
ZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgICAgIG5ld1N0YW1wID0g
Y3VycmVudFRpbWUoKTsKICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIHBlcmZv
cm1JbXBvcnQoKSB0b29rICUuNGYgc2Vjb25kcywgbm93ICUuNGYgc2Vjb25kcyBmcm9tIHRocmVh
ZCBzdGFydCIsIG5ld1N0YW1wIC0gdGltZVN0YW1wLCBuZXdTdGFtcCAtIHN0YXJ0VGltZSk7CiAg
ICAgICAgIHRpbWVTdGFtcCA9IG5ld1N0YW1wOwpAQCAtMTA5Miw3ICsxMDkyLDcgQEAgdm9pZCBJ
Y29uRGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNUaHJlYWQoKQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIG5ld1N0
YW1wID0gY3VycmVudFRpbWUoKTsKICAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgcGVy
Zm9ybVVSTEltcG9ydCgpIHRvb2sgJS40ZiBzZWNvbmRzLiAgRW50ZXJpbmcgbWFpbiBsb29wICUu
NGYgc2Vjb25kcyBmcm9tIHRocmVhZCBzdGFydCIsIG5ld1N0YW1wIC0gdGltZVN0YW1wLCBuZXdT
dGFtcCAtIHN0YXJ0VGltZSk7CiAjZW5kaWYgCkBAIC0xNDE1LDcgKzE0MTUsNyBAQCB2b2lkIElj
b25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKCkKICAgICB3aGlsZSAoIW1fdGhyZWFkVGVy
bWluYXRpb25SZXF1ZXN0ZWQpIHsKICAgICAgICAgbV9zeW5jTG9jay51bmxvY2soKTsKIAotI2lm
ICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAgZG91YmxlIHRpbWVT
dGFtcCA9IGN1cnJlbnRUaW1lKCk7CiAjZW5kaWYKICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwg
IihUSFJFQUQpIE1haW4gd29yayBsb29wIHN0YXJ0aW5nIik7CkBAIC0xNDUzLDcgKzE0NTMsNyBA
QCB2b2lkIEljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKCkKICAgICAgICAgICAgIC8v
IGhhcyBhc2tlZCB0byBkZWxheSBwcnVuaW5nCiAgICAgICAgICAgICBzdGF0aWMgYm9vbCBwcnVu
ZWRVbnJldGFpbmVkSWNvbnMgPSBmYWxzZTsKICAgICAgICAgICAgIGlmIChkaWRXcml0ZSAmJiAh
bV9wcml2YXRlQnJvd3NpbmdFbmFibGVkICYmICFwcnVuZWRVbnJldGFpbmVkSWNvbnMgJiYgIWRh
dGFiYXNlQ2xlYW51cENvdW50ZXIpIHsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAgICAgICAgICAgICAgICAgZG91YmxlIHRpbWUgPSBjdXJyZW50VGltZSgpOwogI2Vu
ZGlmCiAgICAgICAgICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIFN0YXJ0aW5n
IHBydW5lVW5yZXRhaW5lZEljb25zKCkiKTsKQEAgLTE0NzIsNyArMTQ3Miw3IEBAIHZvaWQgSWNv
bkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lO
RykKICAgICAgICAgZG91YmxlIG5ld3N0YW1wID0gY3VycmVudFRpbWUoKTsKICAgICAgICAgTE9H
KEljb25EYXRhYmFzZSwgIihUSFJFQUQpIE1haW4gd29yayBsb29wIHJhbiBmb3IgJS40ZiBzZWNv
bmRzLCAlcyByZXF1ZXN0ZWQgdG8gdGVybWluYXRlIiwgbmV3c3RhbXAgLSB0aW1lU3RhbXAsIHNo
b3VsZFN0b3BUaHJlYWRBY3Rpdml0eSgpID8gIndhcyIgOiAid2FzIG5vdCIpOwogI2VuZGlmCkBA
IC0xNTU0LDcgKzE1NTQsNyBAQCBib29sIEljb25EYXRhYmFzZTo6cmVhZEZyb21EYXRhYmFzZSgp
CiB7CiAgICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsKICAgICAKLSNpZiAhTE9HX0RJU0FC
TEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91YmxlIHRpbWVTdGFtcCA9IGN1cnJlbnRU
aW1lKCk7CiAjZW5kaWYKIApAQCAtMTY2NCw3ICsxNjY0LDcgQEAgYm9vbCBJY29uRGF0YWJhc2U6
OndyaXRlVG9EYXRhYmFzZSgpCiB7CiAgICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsKIAot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgdGltZVN0
YW1wID0gY3VycmVudFRpbWUoKTsKICNlbmRpZgogCkBAIC0xODY5LDcgKzE4NjksNyBAQCB2b2lk
KiBJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhyZWFkKCkKIHsKICAgICBBU1NFUlRfSUNPTl9T
WU5DX1RIUkVBRCgpOwogICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lO
RykKICAgICBkb3VibGUgdGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKICNlbmRpZiAKIApAQCAt
MTg4OSw3ICsxODg5LDcgQEAgdm9pZCogSWNvbkRhdGFiYXNlOjpjbGVhbnVwU3luY1RocmVhZCgp
CiAgICAgZGVsZXRlQWxsUHJlcGFyZWRTdGF0ZW1lbnRzKCk7ICAgIAogICAgIG1fc3luY0RCLmNs
b3NlKCk7CiAgICAgCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAg
IExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBGaW5hbCBjbG9zdXJlIHRvb2sgJS40ZiBzZWNv
bmRzIiwgY3VycmVudFRpbWUoKSAtIHRpbWVTdGFtcCk7CiAjZW5kaWYKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggMzNkNjMy
NmM4ZGI3YjJkNmQ4NDI3YzQyMTZmYjczMWZiMDkzNWQ1ZS4uZjg3NjJkYWQ2MTY4NTc4NWUzMDE0
ZjE1ZDk1MzkwYzYxNGE1ZjU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQmFzZS5jcHAKQEAgLTI3OSw3ICsyNzksNyBAQCB2b2lkIEFuaW1hdGlvbkJh
c2U6OnVwZGF0ZVN0YXRlTWFjaGluZShBbmltU3RhdGVJbnB1dCBpbnB1dCwgZG91YmxlIHBhcmFt
KQogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQW5pbWF0
aW9uU3RhdGVFbmRpbmc6Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgICAgICAgICAgaWYgKGlucHV0ICE9IEFuaW1hdGlvblN0YXRlSW5wdXRFbmRUaW1lckZpcmVk
ICYmIGlucHV0ICE9IEFuaW1hdGlvblN0YXRlSW5wdXRQbGF5U3RhdGVQYXVzZWQpCiAgICAgICAg
ICAgICAgICAgTE9HX0VSUk9SKCJTdGF0ZSBpcyBBbmltYXRpb25TdGF0ZUVuZGluZywgYnV0IGlu
cHV0IGlzIG5vdCBBbmltYXRpb25TdGF0ZUlucHV0RW5kVGltZXJGaXJlZCBvciBBbmltYXRpb25T
dGF0ZUlucHV0UGxheVN0YXRlUGF1c2VkLiBJdCBpcyAlZC4iLCBpbnB1dCk7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKaW5kZXggMzQ2MzdhN2NjMzMyZGZjNTY3MDM2MWZl
OGE0ZTUwYWEwYTM4NTNhOS4uZjY3Zjk3ODk1MjA3MTE4YTY2NGVkNGJmZDJjYTVjNzE4NzVmMzJj
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKQEAgLTI3LDYgKzI3LDggQEAKICNp
bmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAorI2lmIEVO
QUJMRShMT0dHSU5HKQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURkxvZ0NoYW5uZWwgTG9n
Tm90WWV0SW1wbGVtZW50ZWQgPSB7IDB4MDAwMDAwMDEsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZM
b2dDaGFubmVsT2ZmIH07CkBAIC0xNDksMyArMTUxLDUgQEAgV1RGTG9nQ2hhbm5lbCogZ2V0Q2hh
bm5lbEZyb21OYW1lKGNvbnN0IFN0cmluZyYgY2hhbm5lbE5hbWUpCiB9CiAKIH0KKworI2VuZGlm
IC8vIEVOQUJMRShMT0dHSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TG9nZ2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IDFhZjFj
MDRhYmYwYmE1ODljZmE1ZWE4ZTMyNWNkN2M3YjI1NjJmMmYuLmYwMjRlMjY2YmQyYmFkNzhjNmY3
ZjNkZGFlN2ExNjk3ZmQ4NjNjNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKQEAgLTI5
LDYgKzI5LDggQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAKKyNpZiBFTkFCTEUoTE9HR0lORykKKwogI2lmbmRlZiBMT0dfQ0hBTk5FTF9Q
UkVGSVgKICNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZwogI2VuZGlmCkBAIC02Niw0ICs2
OCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBXVEZMb2dDaGFubmVsKiBnZXRDaGFubmVs
RnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFubmVsTmFtZSk7CiB9CiAKKyNlbmRpZiAvLyBFTkFC
TEUoTE9HR0lORykKKwogI2VuZGlmIC8vIExvZ2dpbmdfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTm90SW1wbGVtZW50ZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L05vdEltcGxlbWVudGVkLmgKaW5kZXggZTUwNDA3OTYxOWIzN2ZlN2ExNmVjNmRkYzg5YzI3NWU3
ZTk2MzhkYy4uMGNhZTc0MzIzYjViOWUzM2Y0NjNjMzJhNjYzOTYzZjdmMzU3Y2IzNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm90SW1wbGVtZW50ZWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3RJbXBsZW1lbnRlZC5oCkBAIC0zOCw3ICszOCw3IEBACiAg
ICAgI2RlZmluZSBzdXByZXNzTm90SW1wbGVtZW50ZWRXYXJuaW5nKCkgZmFsc2UKICNlbmRpZgog
Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShMT0dHSU5HKQogICAgICNkZWZpbmUgbm90
SW1wbGVtZW50ZWQoKSAoKHZvaWQpMCkKICNlbHNlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9nZ2luZ0JsYWNrQmVycnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHAKaW5kZXggOTk0
ZDc4ZWM5NTdjMTAwNjljMzczYjY1ZWNlNmRiNzBiODZjNGY0NC4uOWM5NzU5ODQ0MzJiNWFkNzkz
NTQ2OWUwZGRlN2IzZDdhNjE2NzQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHAKQEAgLTE5LDYgKzE5LDgg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKKyNpZiBFTkFC
TEUoTE9HR0lORykKKwogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC01MywzICs1NSw1IEBAIHZvaWQgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFu
bmVsc0lmTmVjZXNzYXJ5KCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKExPR0dJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9l
ZmwvTG9nZ2luZ0VmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9nZ2luZ0Vm
bC5jcHAKaW5kZXggYmQ3MTE0ODRhNmVhZWE5MTE1MjBmNDcxODMzZGUwM2I2NWEzZjFhZi4uMTI3
M2U5MmU0ODk5MzM1MWUxMDE1MTU2YzRlMjQ4NGVkNDQzOTQzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VmbC9Mb2dnaW5nRWZsLmNwcApAQCAtMjMsNiArMjMsOCBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAorI2lmIEVOQUJMRShMT0dHSU5HKQor
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDxFaW5hLmg+CiAKQEAgLTYy
LDMgKzY0LDUgQEAgdm9pZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQog
fQogCiB9CisKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25DRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCmluZGV4
IGE5ZjM5YTQwZGVlYzc3ZTMxNmMzNzgwNGJkMTI3M2ZmOGE5NzM1ZGYuLmQ1OTQ4NGY4OGM4ZGVi
Y2MwZGU4YjI4MjRhYmI0ZDM0YThmZTVlNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25DRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNwcApAQCAtMTY2LDcg
KzE2Niw3IEBAIHByaXZhdGU6CiAgICAgQVZGV3JhcHBlciogbV9wYXJlbnQ7CiB9OwogCi0jaWYg
IUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogc3RhdGljIGNvbnN0IGNoYXIqIGJv
b2xTdHJpbmcoYm9vbCB2YWwpCiB7CiAgICAgcmV0dXJuIHZhbCA/ICJ0cnVlIiA6ICJmYWxzZSI7
CkBAIC0xMDI2LDcgKzEwMjYsNyBAQCB2b2lkIEFWRldyYXBwZXI6Om5vdGlmaWNhdGlvbkNhbGxi
YWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZlciwgQwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgIGNoYXIgbm90aWZpY2F0aW9uTmFtZVsyNTZdOwogICAgIENGU3RyaW5nR2V0Q1N0cmluZyhw
cm9wZXJ0eU5hbWUsIG5vdGlmaWNhdGlvbk5hbWUsIHNpemVvZihub3RpZmljYXRpb25OYW1lKSwg
a0NGU3RyaW5nRW5jb2RpbmdBU0NJSSk7CiAgICAgTE9HKE1lZGlhLCAiQVZGV3JhcHBlcjo6bm90
aWZpY2F0aW9uQ2FsbGJhY2soJXApICVzIiwgc2VsZiwgbm90aWZpY2F0aW9uTmFtZSk7CkBAIC0x
MjI2LDE0ICsxMjI2LDE0IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBBVkZXcmFwcGVyOjpjcmVh
dGVJbWFnZUZvclRpbWVJblJlY3QoZmxvYXQgdGltZSwgY29uc3QgSW50CiAgICAgaWYgKCFtX2lt
YWdlR2VuZXJhdG9yKQogICAgICAgICByZXR1cm4gMDsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgc3RhcnQgPSBXVEY6OmN1cnJlbnRUaW1lKCk7
CiAjZW5kaWYKIAogICAgIEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yU2V0TWF4aW11bVNpemUobV9p
bWFnZUdlbmVyYXRvci5nZXQoKSwgQ0dTaXplKHJlY3Quc2l6ZSgpKSk7CiAgICAgQ0dJbWFnZVJl
ZiBpbWFnZSA9IEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yQ29weUNHSW1hZ2VBdFRpbWUobV9pbWFn
ZUdlbmVyYXRvci5nZXQoKSwgQ01UaW1lTWFrZVdpdGhTZWNvbmRzKHRpbWUsIDYwMCksIDAsIDAp
OwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGRvdWJsZSBk
dXJhdGlvbiA9IFdURjo6Y3VycmVudFRpbWUoKSAtIHN0YXJ0OwogICAgIExPRyhNZWRpYSwgIkFW
RldyYXBwZXI6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCglcCkgLSBjcmVhdGluZyBpbWFnZSB0
b29rICUuNGYiLCB0aGlzLCBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGR1cmF0aW9uKSk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IGEyNjE0MWRhZjAyNzI0OWYxZjQ3MGQwN2Fj
MTRjNjcwYWI5YThmZmEuLjU1OTkwMjM4MDU3NTQ4MTVmOTMwMGMzMjQ2MGU2MmY5NTRjNTUzNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMTE1LDcgKzExNSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIHN0YXRpYyBOU0FycmF5ICphc3NldE1ldGFkYXRhS2V5TmFtZXMoKTsKIHN0YXRp
YyBOU0FycmF5ICppdGVtS1ZPUHJvcGVydGllcygpOwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lm
IEVOQUJMRShMT0dHSU5HKQogc3RhdGljIGNvbnN0IGNoYXIgKmJvb2xTdHJpbmcoYm9vbCB2YWwp
CiB7CiAgICAgcmV0dXJuIHZhbCA/ICJ0cnVlIiA6ICJmYWxzZSI7CkBAIC02NTAsMTQgKzY1MCwx
NCBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZQogICAgICAgICBjcmVhdGVDb250ZXh0VmlkZW9S
ZW5kZXJlcigpOwogICAgIEFTU0VSVChtX2ltYWdlR2VuZXJhdG9yKTsKIAotI2lmICFMT0dfRElT
QUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgc3RhcnQgPSBXVEY6OmN1cnJl
bnRUaW1lKCk7CiAjZW5kaWYKIAogICAgIFttX2ltYWdlR2VuZXJhdG9yLmdldCgpIHNldE1heGlt
dW1TaXplOkNHU2l6ZShyZWN0LnNpemUoKSldOwogICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBp
bWFnZSA9IGFkb3B0Q0YoW21faW1hZ2VHZW5lcmF0b3IuZ2V0KCkgY29weUNHSW1hZ2VBdFRpbWU6
Q01UaW1lTWFrZVdpdGhTZWNvbmRzKHRpbWUsIDYwMCkgYWN0dWFsVGltZTpuaWwgZXJyb3I6bmls
XSk7CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91Ymxl
IGR1cmF0aW9uID0gV1RGOjpjdXJyZW50VGltZSgpIC0gc3RhcnQ7CiAgICAgTE9HKE1lZGlhLCAi
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5S
ZWN0KCVwKSAtIGNyZWF0aW5nIGltYWdlIHRvb2sgJS40ZiIsIHRoaXMsIG5hcnJvd1ByZWNpc2lv
blRvRmxvYXQoZHVyYXRpb24pKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBlOWQxYmMxMTk4MWM3NmVkNjY1ZjI0Mzc3ODEz
MzhhZWQzNjAzZjFjLi5hMjU1YWFiMzM1MDY0NGJmNGMyMDgxMjczYjZiN2YyMDliZTA5MTU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAt
MTcxOSw5ICsxNzE5LDEzIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVh
dGVHU1RQbGF5QmluKCkKICAgICAgICAgICAgIGdfb2JqZWN0X3NldChtX2Zwc1NpbmssICJzaWxl
bnQiLCBUUlVFICwgTlVMTCk7CiAKICAgICAgICAgICAgIC8vIFR1cm4gb2ZmIHRleHQgb3Zlcmxh
eSB1bmxlc3MgbG9nZ2luZyBpcyBlbmFibGVkLgorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgICAg
ICAgICAgV1RGTG9nQ2hhbm5lbCogY2hhbm5lbCA9IGdldENoYW5uZWxGcm9tTmFtZSgiTWVkaWEi
KTsKICAgICAgICAgICAgIGlmIChjaGFubmVsLT5zdGF0ZSAhPSBXVEZMb2dDaGFubmVsT24pCiAg
ICAgICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fZnBzU2luaywgInRleHQtb3ZlcmxheSIsIEZB
TFNFICwgTlVMTCk7CisjZWxzZQorICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fZnBzU2luaywg
InRleHQtb3ZlcmxheSIsIEZBTFNFICwgTlVMTCk7CisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcp
CiAKICAgICAgICAgICAgIGlmIChnX29iamVjdF9jbGFzc19maW5kX3Byb3BlcnR5KEdfT0JKRUNU
X0dFVF9DTEFTUyhtX2Zwc1NpbmspLCAidmlkZW8tc2luayIpKSB7CiAgICAgICAgICAgICAgICAg
Z19vYmplY3Rfc2V0KG1fZnBzU2luaywgInZpZGVvLXNpbmsiLCBtX3dlYmtpdFZpZGVvU2luaywg
TlVMTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJTaGFkZXJNYW5hZ2VyLmNwcAppbmRleCAz
OTc3N2ZlNWYwZDVlMjEzMWM1YjIxYzNiYmNkMjBiMzcyYzY4ZGJiLi5hNDBiMmNiMzhhZmU1NzE1
YmYzYjc0ZDRjZTE5ZWM4NDFiNDg1MThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyU2hh
ZGVyTWFuYWdlci5jcHAKQEAgLTU0OSw3ICs1NDksNyBAQCBTdGFuZGFyZEZpbHRlclByb2dyYW06
OlN0YW5kYXJkRmlsdGVyUHJvZ3JhbShGaWx0ZXJPcGVyYXRpb246Ok9wZXJhdGlvblR5cGUgdHlw
ZQogICAgIEdMdWludCBwcm9ncmFtSUQgPSBnbENyZWF0ZVByb2dyYW0oKTsKICAgICBnbENvbXBp
bGVTaGFkZXIodmVydGV4U2hhZGVyKTsKICAgICBnbENvbXBpbGVTaGFkZXIoZnJhZ21lbnRTaGFk
ZXIpOwotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBHTGNoYXIg
bG9nWzEwMF07CiAgICAgR0xpbnQgbGVuOwogICAgIGdsR2V0U2hhZGVySW5mb0xvZyhmcmFnbWVu
dFNoYWRlciwgMTAwLCAmbGVuLCBsb2cpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xv
Z2dpbmdHdGsuY3BwCmluZGV4IDU4OGVkN2NmN2FkYTBjODA3YWE0MDNjOTZjMjYzZWY3YzE3YjU5
N2YuLjA3NTU0MGY0MDJlNWVkZmU4NjZhMzRjMjM2ODljNjM0M2FmM2JmNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAKQEAgLTIwLDggKzIwLDEwIEBACiAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKIAorI2lmIEVOQUJMRShMT0dHSU5HKQorCisjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKICNpbmNsdWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKQEAg
LTYyLDMgKzY0LDUgQEAgdm9pZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3Nhcnko
KQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lO
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvZ2dpbmdNYWMubW0KaW5kZXggNGM5YjMw
MzUxNmViODAwYWFiZjBiZDYyNzY0YmYzYzFlNjgyNmQ3ZS4uMDUzMmMxMGI0Njk2MDRiYWI5MTNk
NTgwZDA5NTkzYjI3MGQwNGYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0xvZ2dpbmdNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvZ2dp
bmdNYWMubW0KQEAgLTI3LDYgKzI3LDggQEAKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAorI2lm
IEVOQUJMRShMT0dHSU5HKQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBpbmxpbmUg
dm9pZCBpbml0aWFsaXplV2l0aFVzZXJEZWZhdWx0KFdURkxvZ0NoYW5uZWwmIGNoYW5uZWwpCkBA
IC03NywzICs3OSw1IEBAIHZvaWQgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5
KCkKIH0KIAogfQorCisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNw
cAppbmRleCA2NzdlZWU2YzEwOWIyMzg1YzExZDkxZWUzMTgyMGYyMjA0MjE1OWM2Li41MTM4OGI3
YWJkNTYxN2IyNTUyOWM5Mjk0ZDZmN2I2MjA0ODdmZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAK
QEAgLTE0NSw3ICsxNDUsNyBAQCBzdGF0aWMgdm9pZCBhcHBseUJhc2ljQXV0aG9yaXphdGlvbkhl
YWRlcihSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IENyZWRlbgogCiBzdGF0aWMgQ0ZV
UkxSZXF1ZXN0UmVmIHdpbGxTZW5kUmVxdWVzdChDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgQ0ZV
UkxSZXF1ZXN0UmVmIGNmUmVxdWVzdCwgQ0ZVUkxSZXNwb25zZVJlZiBjZlJlZGlyZWN0UmVzcG9u
c2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVO
QUJMRShMT0dHSU5HKQogICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZgogICAgIFJlc291
cmNlSGFuZGxlKiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGNvbnN0X2Nh
c3Q8dm9pZCo+KGNsaWVudEluZm8pKTsKQEAgLTIwMyw3ICsyMDMsNyBAQCBzdGF0aWMgQ0ZVUkxS
ZXF1ZXN0UmVmIHdpbGxTZW5kUmVxdWVzdChDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgQ0ZVUkxS
ZXF1ZXN0UmVmCiAKIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShDRlVSTENvbm5lY3Rp
b25SZWYgY29ubiwgQ0ZVUkxSZXNwb25zZVJlZiBjZlJlc3BvbnNlLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKQogewotI2lmIExPR19ESVNBQkxFRAorI2lmICFFTkFCTEUoTE9HR0lORykKICAgICBV
TlVTRURfUEFSQU0oY29ubik7CiAjZW5kaWYKICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0g
c3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZv
KSk7CkBAIC0yMzcsNyArMjM3LDcgQEAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKENG
VVJMQ29ubmVjdGlvblJlZiBjb25uLCBDRlVSTFJlc3BvbnNlUmVmIGNmUmVzcG8KICNpZiBIQVZF
KE5FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLKQogc3RhdGljIHZvaWQgZGlkUmVjZWl2ZURh
dGFBcnJheShDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgQ0ZBcnJheVJlZiBkYXRhQXJyYXksIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShM
T0dHSU5HKQogICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZgogICAgIFJlc291cmNlSGFu
ZGxlKiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGNvbnN0X2Nhc3Q8dm9p
ZCo+KGNsaWVudEluZm8pKTsKQEAgLTI1Miw3ICsyNTIsNyBAQCBzdGF0aWMgdm9pZCBkaWRSZWNl
aXZlRGF0YUFycmF5KENGVVJMQ29ubmVjdGlvblJlZiBjb25uLCBDRkFycmF5UmVmIGRhdGFBcnJh
eSwgYwogCiBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlRGF0YShDRlVSTENvbm5lY3Rpb25SZWYgY29u
biwgQ0ZEYXRhUmVmIGRhdGEsIENGSW5kZXggb3JpZ2luYWxMZW5ndGgsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShMT0dHSU5HKQogICAg
IFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZgogICAgIFJlc291cmNlSGFuZGxlKiBoYW5kbGUg
PSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudElu
Zm8pKTsKQEAgLTI3NSw3ICsyNzUsNyBAQCBzdGF0aWMgdm9pZCBkaWRTZW5kQm9keURhdGEoQ0ZV
UkxDb25uZWN0aW9uUmVmLCBDRkluZGV4LCBDRkluZGV4IHRvdGFsQnl0ZXNXcml0dAogCiBzdGF0
aWMgQm9vbGVhbiBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZUNhbGxiYWNrKENGVVJMQ29ubmVj
dGlvblJlZiBjb25uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotI2lmIExPR19ESVNBQkxF
RAorI2lmICFFTkFCTEUoTE9HR0lORykKICAgICBVTlVTRURfUEFSQU0oY29ubik7CiAjZW5kaWYK
ICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gY29uc3RfY2FzdDxSZXNvdXJjZUhhbmRsZSo+
KHN0YXRpY19jYXN0PGNvbnN0IFJlc291cmNlSGFuZGxlKj4oY2xpZW50SW5mbykpOwpAQCAtMjkw
LDcgKzI5MCw3IEBAIHN0YXRpYyBCb29sZWFuIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlQ2Fs
bGJhY2soQ0ZVUkxDb25uZWN0aW9uUmVmIGNvbm4sIGNvbnN0CiAKIHN0YXRpYyB2b2lkIGRpZEZp
bmlzaExvYWRpbmcoQ0ZVUkxDb25uZWN0aW9uUmVmIGNvbm4sIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShMT0dHSU5HKQogICAgIFVOVVNF
RF9QQVJBTShjb25uKTsKICNlbmRpZgogICAgIFJlc291cmNlSGFuZGxlKiBoYW5kbGUgPSBzdGF0
aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsK
QEAgLTMwMyw3ICszMDMsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKENGVVJMQ29u
bmVjdGlvblJlZiBjb25uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogCiBzdGF0aWMgdm9pZCBk
aWRGYWlsKENGVVJMQ29ubmVjdGlvblJlZiBjb25uLCBDRkVycm9yUmVmIGVycm9yLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQogewotI2lmIExPR19ESVNBQkxFRAorI2lmICFFTkFCTEUoTE9HR0lO
RykKICAgICBVTlVTRURfUEFSQU0oY29ubik7CiAjZW5kaWYKICAgICBSZXNvdXJjZUhhbmRsZSog
aGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihjb25zdF9jYXN0PHZvaWQqPihj
bGllbnRJbmZvKSk7CkBAIC0zNjUsNyArMzY1LDcgQEAgc3RhdGljIENGQ2FjaGVkVVJMUmVzcG9u
c2VSZWYgd2lsbENhY2hlUmVzcG9uc2UoQ0ZVUkxDb25uZWN0aW9uUmVmLCBDRkNhY2hlZFVSTFIK
IAogc3RhdGljIHZvaWQgZGlkUmVjZWl2ZUNoYWxsZW5nZShDRlVSTENvbm5lY3Rpb25SZWYgY29u
biwgQ0ZVUkxBdXRoQ2hhbGxlbmdlUmVmIGNoYWxsZW5nZSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKIHsKLSNpZiBMT0dfRElTQUJMRUQKKyNpZiAhRU5BQkxFKExPR0dJTkcpCiAgICAgVU5VU0VE
X1BBUkFNKGNvbm4pOwogI2VuZGlmCiAgICAgUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSA9IHN0YXRp
Y19jYXN0PFJlc291cmNlSGFuZGxlKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwpA
QCAtMzc4LDcgKzM3OCw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVDaGFsbGVuZ2UoQ0ZVUkxD
b25uZWN0aW9uUmVmIGNvbm4sIENGVVJMQXV0aENoYWxsZW5nZVJlZiBjCiAjaWYgVVNFKFBST1RF
Q1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykKIHN0YXRpYyBCb29sZWFuIGNhblJlc3BvbmRUb1By
b3RlY3Rpb25TcGFjZShDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgQ0ZVUkxQcm90ZWN0aW9uU3Bh
Y2VSZWYgcHJvdGVjdGlvblNwYWNlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotI2lmIExP
R19ESVNBQkxFRAorI2lmICFFTkFCTEUoTE9HR0lORykKICAgICBVTlVTRURfUEFSQU0oY29ubik7
CiAjZW5kaWYKICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3Vy
Y2VIYW5kbGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1t
CmluZGV4IDRhYzMzY2NkY2RjMWNlMTZmZjdjODRlOGMwYTYwZDVmNzQxOWZlNGUuLjIyYjVlZDE2
NmEzNzRhY2YwZWNhYzE1Y2U4NmUyNzJlNWU1ZmZiZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCkBAIC02
NzgsNyArNjc4LDcgQEAgU3RyaW5nIFJlc291cmNlSGFuZGxlOjpwcml2YXRlQnJvd3NpbmdTdG9y
YWdlU2Vzc2lvbklkZW50aWZpZXJEZWZhdWx0QmFzZSgpCiAgICAgaWYgKCFyZWRpcmVjdFJlc3Bv
bnNlKQogICAgICAgICByZXR1cm4gbmV3UmVxdWVzdDsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAoW3JlZGlyZWN0UmVzcG9uc2UgaXNLaW5kT2ZDbGFz
czpbTlNIVFRQVVJMUmVzcG9uc2UgY2xhc3NdXSkKICAgICAgICAgTE9HKE5ldHdvcmssICJIYW5k
bGUgJXAgZGVsZWdhdGUgY29ubmVjdGlvbjolcCB3aWxsU2VuZFJlcXVlc3Q6JUAgcmVkaXJlY3RS
ZXNwb25zZTolZCwgTG9jYXRpb246PCVAPiIsIG1faGFuZGxlLCBjb25uZWN0aW9uLCBbbmV3UmVx
dWVzdCBkZXNjcmlwdGlvbl0sIHN0YXRpY19jYXN0PGludD4oWyhpZClyZWRpcmVjdFJlc3BvbnNl
IHN0YXR1c0NvZGVdKSwgW1soaWQpcmVkaXJlY3RSZXNwb25zZSBhbGxIZWFkZXJGaWVsZHNdIG9i
amVjdEZvcktleTpAIkxvY2F0aW9uIl0pOwogICAgIGVsc2UKQEAgLTc1Myw3ICs3NTMsNyBAQCBT
dHJpbmcgUmVzb3VyY2VIYW5kbGU6OnByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRp
ZmllckRlZmF1bHRCYXNlKCkKICNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNL
KQogLSAoQk9PTCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGNhbkF1
dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2U6KE5TVVJMUHJvdGVjdGlvblNwYWNlICop
cHJvdGVjdGlvblNwYWNlCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShMT0dHSU5H
KQogICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vcXQvTG9nZ2luZ1F0LmNwcAppbmRleCBhOTM0NmRlODFlYTA1NzZhMzNiOGUwYTIz
NzJhMDkzZDIwMTM2Yzg3Li4wYmQxM2JmMDY1MmM5ZDc1Y2VlZWNhNTE3NGFlZjRlMGY1ZjFkZjkw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0xvZ2dpbmdRdC5jcHAKQEAgLTIwLDYgKzIw
LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKKyNpZiBF
TkFCTEUoTE9HR0lORykKKwogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8
UURlYnVnPgogI2luY2x1ZGUgPFFTdHJpbmdMaXN0PgpAQCAtNTQsMyArNTYsNSBAQCB2b2lkIGlu
aXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuY3BwCmluZGV4IDgyODUyODRmOTIwYTQwZDg1OWE2
MzkxOGNhNjdiN2M2NDQ0Y2ZiNmUuLmQ1NDNiMWM4ZWFiZDNhZDc0YjM3M2I3MmVmMzQ5MDE3ZmQ3
MTc1MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
SUNVLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5j
cHAKQEAgLTI0Miw3ICsyNDIsNyBAQCB2b2lkIFRleHRDb2RlY0lDVTo6Y3JlYXRlSUNVQ29udmVy
dGVyKCkgY29uc3QKIAogICAgIGVyciA9IFVfWkVST19FUlJPUjsKICAgICBtX2NvbnZlcnRlcklD
VSA9IHVjbnZfb3BlbihtX2VuY29kaW5nLm5hbWUoKSwgJmVycik7Ci0jaWYgIUxPR19ESVNBQkxF
RAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChlcnIgPT0gVV9BTUJJR1VPVVNfQUxJQVNf
V0FSTklORykKICAgICAgICAgTE9HX0VSUk9SKCJJQ1UgYW1iaWd1b3VzIGFsaWFzIHdhcm5pbmcg
Zm9yIGVuY29kaW5nOiAlcyIsIG1fZW5jb2RpbmcubmFtZSgpKTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0xvZ2dpbmdXaW4uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL0xvZ2dpbmdXaW4uY3BwCmluZGV4IDBiMGFmYWRhNzYxMWNlZDZm
YmJkNjBkYTc3MzczNzNiY2UzMmI0YzYuLmQyOWRlMjllNjNlY2Q0OGRhMGQ5ODVkNzI0NTBhNDkw
ZDEyZTA0ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Mb2dnaW5n
V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTG9nZ2luZ1dpbi5jcHAK
QEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAKKyNpZiBFTkFCTEUoTE9HR0lORykKKwogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgpAQCAt
MTAyLDMgKzEwNCw1IEBAIHZvaWQgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5
KCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKExPR0dJ
TkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9Mb2dnaW5nV3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTG9nZ2luZ1d4LmNwcAppbmRleCA5NDg5M2U5
MWVjYmFlNDg4ODk1ZTM1MmU3ZTFmNjcxOWYzMTVmMjA2Li41ZjY2NzEzMzJiN2E4MTVjNGNmMDBi
YjNjODYwMTc0NDRiZmNkODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
eC9Mb2dnaW5nV3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L0xvZ2dpbmdX
eC5jcHAKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAKKyNpZiBFTkFCTEUoTE9HR0lORykKKwogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KQEAgLTYyLDMgKzY0LDUgQEAgdm9pZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZO
ZWNlc3NhcnkoKQogfQogCiB9CisKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGVidWcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGx1Z2lucy9QbHVnaW5EZWJ1Zy5jcHAKaW5kZXggOGMzZWZjYjVlYmY3NzgwMDI2NDcyZjJm
MzUxYTg2YWQwYmI2ZjI4YS4uMWU4NzU3MGIyNTFjZDFiOWFjYTI2MTAyNjA3ZDYyYWJlYmE2NjRj
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EZWJ1Zy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EZWJ1Zy5jcHAKQEAgLTI4LDcgKzI4LDcg
QEAKICNpbmNsdWRlICJQbHVnaW5EZWJ1Zy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtMTczLDQgKzE3Myw0IEBAIENTdHJpbmcgcHJldHR5TmFtZUZvck5QTlVS
TFZhcmlhYmxlKE5QTlVSTFZhcmlhYmxlIHZhcmlhYmxlKQogfQogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYgLy8gIUxPR19ESVNBQkxFRAorI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5H
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EZWJ1Zy5oIGIvU291
cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EZWJ1Zy5oCmluZGV4IDAxN2U2ODY3YzUyZDZhMTdl
ZWQxZjA2NmVmMzdkM2FjMThmZWZjMjIuLjQ3YjdiZDA3NTgwYTFkZTkxZWQ1NzFhY2RlZTI1Mzdk
NDdhNWNjNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGVidWcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRlYnVnLmgKQEAgLTMzLDcgKzMz
LDcgQEAKICNkZWZpbmUgTE9HX05QRVJST1IoZXJyKSBpZiAoZXJyICE9IE5QRVJSX05PX0VSUk9S
KSBMT0dfVkVSQk9TRShQbHVnaW5zLCAiJXNcbiIsIHByZXR0eU5hbWVGb3JOUEVycm9yKGVycikp
CiAjZGVmaW5lIExPR19QTFVHSU5fTkVUX0VSUk9SKCkgTE9HX1ZFUkJPU0UoUGx1Z2lucywgIlN0
cmVhbSBmYWlsZWQgZHVlIHRvIHByb2JsZW1zIHdpdGggbmV0d29yaywgZGlzayBJL08sIGxhY2sg
b2YgbWVtb3J5LCBvciBvdGhlciBwcm9ibGVtcy5cbiIpCiAKLSNpZiAhTE9HX0RJU0FCTEVECisj
aWYgRU5BQkxFKExPR0dJTkcpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTAsNiArNTAs
NiBAQCBjb25zdCBjaGFyKiBwcmV0dHlOYW1lRm9yRXZlbnRNb2RlbChOUEV2ZW50TW9kZWwgZXZl
bnRNb2RlbCk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vICFMT0dfRElT
QUJMRUQKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKIAogI2VuZGlmIC8vIFBsdWdpbkRlYnVn
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHAKaW5kZXggOTJhYmRkYmU2ZTUxMmQwMzQ3NzA0N2ZhMGI2MjViODZlNTYxZjRhZi4uY2Fh
Yjk0MzgwMDc4MDM3MzNhOTYzNDIzNGIxNzU4MjMxZTdhZWRmOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTYxLDcgKzYx
LDcgQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjZW5kaWYKIAotI2lmICFMT0df
RElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KICNlbmRpZgogCkBAIC0xNjUsNyArMTY1LDcgQEAgc3RydWN0IENvbXBvc2l0aW5nU3RhdGUg
ewogCiBzdGF0aWMgaW5saW5lIGJvb2wgY29tcG9zaXRpbmdMb2dFbmFibGVkKCkKIHsKLSNpZiAh
TE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgcmV0dXJuIExvZ0NvbXBvc2l0
aW5nLnN0YXRlID09IFdURkxvZ0NoYW5uZWxPbjsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMTg4LDcgKzE4OCw3IEBAIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6UmVuZGVyTGF5ZXJDb21w
b3NpdG9yKFJlbmRlclZpZXcqIHJlbmRlclZpZXcpCiAgICAgLCBtX2ZsdXNoaW5nTGF5ZXJzKGZh
bHNlKQogICAgICwgbV9mb3JjZUNvbXBvc2l0aW5nTW9kZShmYWxzZSkKICAgICAsIG1fcm9vdExh
eWVyQXR0YWNobWVudChSb290TGF5ZXJVbmF0dGFjaGVkKQotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICAsIG1fcm9vdExheWVyVXBkYXRlQ291bnQoMCkKICAgICAs
IG1fb2JsaWdhdGVDb21wb3NpdGVkTGF5ZXJDb3VudCgwKQogICAgICwgbV9zZWNvbmRhcnlDb21w
b3NpdGVkTGF5ZXJDb3VudCgwKQpAQCAtMzg2LDcgKzM4Niw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3NpdGluZ1VwZGF0ZVR5cGUg
dXBkYXRlCiAgICAgaWYgKGlzRnVsbFVwZGF0ZSAmJiB1cGRhdGVUeXBlID09IENvbXBvc2l0aW5n
VXBkYXRlQWZ0ZXJMYXlvdXQpCiAgICAgICAgIG1fcmVldmFsdWF0ZUNvbXBvc2l0aW5nQWZ0ZXJM
YXlvdXQgPSBmYWxzZTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykK
ICAgICBkb3VibGUgc3RhcnRUaW1lID0gMDsKICAgICBpZiAoY29tcG9zaXRpbmdMb2dFbmFibGVk
KCkpIHsKICAgICAgICAgKyttX3Jvb3RMYXllclVwZGF0ZUNvdW50OwpAQCAtNDA5LDcgKzQwOSw3
IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVycyhD
b21wb3NpdGluZ1VwZGF0ZVR5cGUgdXBkYXRlCiAgICAgICAgIG5lZWRIaWVyYXJjaHlVcGRhdGUg
fD0gbGF5ZXJzQ2hhbmdlZDsKICAgICB9CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxF
KExPR0dJTkcpCiAgICAgaWYgKGNvbXBvc2l0aW5nTG9nRW5hYmxlZCgpICYmIGlzRnVsbFVwZGF0
ZSAmJiAobmVlZEhpZXJhcmNoeVVwZGF0ZSB8fCBuZWVkR2VvbWV0cnlVcGRhdGUpKSB7CiAgICAg
ICAgIG1fb2JsaWdhdGVDb21wb3NpdGVkTGF5ZXJDb3VudCA9IDA7CiAgICAgICAgIG1fc2Vjb25k
YXJ5Q29tcG9zaXRlZExheWVyQ291bnQgPSAwOwpAQCAtNDQzLDcgKzQ0Myw3IEBAIHZvaWQgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3NpdGluZ1Vw
ZGF0ZVR5cGUgdXBkYXRlCiAgICAgICAgIHVwZGF0ZUxheWVyVHJlZUdlb21ldHJ5KHVwZGF0ZVJv
b3QsIDApOwogICAgIH0KICAgICAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJ
TkcpCiAgICAgaWYgKGNvbXBvc2l0aW5nTG9nRW5hYmxlZCgpICYmIGlzRnVsbFVwZGF0ZSAmJiAo
bmVlZEhpZXJhcmNoeVVwZGF0ZSB8fCBuZWVkR2VvbWV0cnlVcGRhdGUpKSB7CiAgICAgICAgIGRv
dWJsZSBlbmRUaW1lID0gY3VycmVudFRpbWUoKTsKICAgICAgICAgTE9HKENvbXBvc2l0aW5nLCAi
VG90YWwgbGF5ZXJzICAgcHJpbWFyeSAgIHNlY29uZGFyeSAgIG9ibGlnYXRvcnkgYmFja2luZyAo
S0IpICAgc2Vjb25kYXJ5IGJhY2tpbmcoS0IpICAgdG90YWwgYmFja2luZyAoS0IpICB1cGRhdGUg
dGltZSAobXMpXG4iKTsKQEAgLTQ1OSw3ICs0NTksNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnMoQ29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0
ZQogICAgICAgICBlbmFibGVDb21wb3NpdGluZ01vZGUoZmFsc2UpOwogfQogCi0jaWYgIUxPR19E
SVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmxvZ0xheWVySW5mbyhjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIGludCBkZXB0aCkKIHsKICAg
ICBpZiAoIWNvbXBvc2l0aW5nTG9nRW5hYmxlZCgpKQpAQCAtOTcyLDcgKzk3Miw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoUmVuZGVy
TGF5ZXIqIGxheWVyLCBWZWN0CiAgICAgICAgIGlmICghbGF5ZXItPnBhcmVudCgpKQogICAgICAg
ICAgICAgdXBkYXRlUm9vdExheWVyUG9zaXRpb24oKTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAgbG9nTGF5ZXJJbmZvKGxheWVyLCBkZXB0aCk7CiAj
ZWxzZQogICAgICAgICBVTlVTRURfUEFSQU0oZGVwdGgpOwpAQCAtMTE2MSw3ICsxMTYxLDcgQEAg
dm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUxheWVyVHJlZUdlb21ldHJ5KFJlbmRl
ckxheWVyKiBsYXllciwgaW50IGRlcHQKICAgICAgICAgaWYgKCFsYXllci0+cGFyZW50KCkpCiAg
ICAgICAgICAgICB1cGRhdGVSb290TGF5ZXJQb3NpdGlvbigpOwogCi0jaWYgIUxPR19ESVNBQkxF
RAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgICAgICBsb2dMYXllckluZm8obGF5ZXIsIGRlcHRo
KTsKICNlbHNlCiAgICAgICAgIFVOVVNFRF9QQVJBTShkZXB0aCk7CkBAIC0xNDk1LDcgKzE0OTUs
NyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNPd25CYWNraW5nU3RvcmUo
Y29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyLCBjbwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotI2lm
ICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIGNvbnN0IGNoYXIqIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cmVhc29uRm9yQ29tcG9zaXRpbmcoY29uc3QgUmVuZGVyTGF5ZXIqIGxh
eWVyKQogewogICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBsYXllci0+cmVuZGVyZXIoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApp
bmRleCA1Yjg3ZTUzYzRhODU3OGExYzVhZDZjN2JjMmNlMGMxN2I0ZGI0NWM4Li5mZGY0NTc4MDI1
N2QwODVlNmJmMjQ0OWNkNmQyZDEwMDlhODk5YjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC0zMDMsNyArMzAzLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIHJlcXVpcmVzQ29udGVudFNoYWRvd0xheWVyKCkgY29uc3Q7CiAjZW5k
aWYKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBjb25zdCBj
aGFyKiByZWFzb25Gb3JDb21wb3NpdGluZyhjb25zdCBSZW5kZXJMYXllciopOwogICAgIHZvaWQg
bG9nTGF5ZXJJbmZvKGNvbnN0IFJlbmRlckxheWVyKiwgaW50IGRlcHRoKTsKICNlbmRpZgpAQCAt
MzQ5LDcgKzM0OSw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1fY29u
dGVudFNoYWRvd0xheWVyOwogI2VuZGlmCiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxF
KExPR0dJTkcpCiAgICAgaW50IG1fcm9vdExheWVyVXBkYXRlQ291bnQ7CiAgICAgaW50IG1fb2Js
aWdhdGVDb21wb3NpdGVkTGF5ZXJDb3VudDsgLy8gY291bnQgb2YgbGF5ZXIgdGhhdCBoYXZlIHRv
IGJlIGNvbXBvc2l0ZWQuCiAgICAgaW50IG1fc2Vjb25kYXJ5Q29tcG9zaXRlZExheWVyQ291bnQ7
IC8vIGNvdW50IG9mIGxheWVycyB0aGF0IGhhdmUgdG8gYmUgY29tcG9zaXRlZCBiZWNhdXNlIG9m
IHN0YWNraW5nIG9yIG92ZXJsYXAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQXBpL0JsYWNrQmVycnlHbG9iYWwuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0Fw
aS9CbGFja0JlcnJ5R2xvYmFsLmNwcAppbmRleCBhNGM0OGE1OGZlMGIwYzk2NGUwMGQ3YzMzZDBj
MDA1M2RkYjc0NzdlLi5hNmIxYTRkNjc0MTVjMmI2ZmQ0OTNkZGYxOTdjNWVkNWU2ZjkyODAwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL0JsYWNrQmVycnlHbG9iYWwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmxhY2tCZXJyeUdsb2JhbC5j
cHAKQEAgLTYwLDggKzYwLDEwIEBAIHZvaWQgZ2xvYmFsSW5pdGlhbGl6ZSgpCiAgICAgYmxhY2ti
ZXJyeURlYnVnSW5pdGlhbGl6ZSgpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTE9HR0lORykKICAg
ICAvLyBUdXJuIG9uIGxvZ2dpbmcuCiAgICAgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVj
ZXNzYXJ5KCk7CisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCiAKICAgICAvLyBJbml0aWFsaXpl
IHRocmVhZGluZy8KICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYktpdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJLaXQuY3BwCmluZGV4IDYxMDY1OTdhZThmYjE1ZWRlNjA2YjYxYjc4NDI0
NDk4Yzk5ZDc0MWEuLjI3M2RmY2U1YjcyMzMwOWQxOTc0MTQ1MTExNTVjMDgwNzYzMjVjMjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYktpdC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViS2l0LmNwcApAQCAtNTAsNiArNTAsNyBAQAogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNp
bmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CisjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKICNpZiBPUyhEQVJXSU4pCkBAIC0x
ODUsOSArMTg2LDEzIEBAIGJvb2wgbGF5b3V0VGVzdE1vZGUoKQogCiB2b2lkIGVuYWJsZUxvZ0No
YW5uZWwoY29uc3QgY2hhciogbmFtZSkKIHsKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBXVEZM
b2dDaGFubmVsKiBjaGFubmVsID0gV2ViQ29yZTo6Z2V0Q2hhbm5lbEZyb21OYW1lKG5hbWUpOwog
ICAgIGlmIChjaGFubmVsKQogICAgICAgICBjaGFubmVsLT5zdGF0ZSA9IFdURkxvZ0NoYW5uZWxP
bjsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKG5hbWUpOworI2VuZGlmIC8vIEVOQUJMRShMT0dH
SU5HKQogfQogCiB2b2lkIHJlc2V0UGx1Z2luQ2FjaGUoYm9vbCByZWxvYWRQYWdlcykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfbWFpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX21haW4uY3BwCmluZGV4IDg0ZDJiNTAyNWI3MTRiYTc2ZmMxOGNiNWVjNjk3
YWU3MGQyN2U4M2UuLmE1NWYxZGRkYmJjNDgxZGIyZGUyMzU1YWZlY2MwOGRlMzIxOThmYjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfbWFpbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19tYWluLmNwcApAQCAtMTQ2LDcgKzE0Niw5IEBAIEVpbmFfQm9v
bCBfZXdrX2luaXRfYm9keSh2b2lkKQogICAgICAgICAgICAgIndvcmsgKGllOiBBZG9iZSBGbGFz
aCkiKTsKIAogICAgIFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRp
bmcoKTsKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBXZWJDb3JlOjppbml0aWFsaXplTG9nZ2lu
Z0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKICAgICBX
ZWJDb3JlOjpTZXR0aW5nczo6c2V0RGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwoMC4wMDQpOwog
CiAgICAgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjppbml0aWFsaXplKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAKaW5kZXggNzhhNDk0OWZiM2RjMTkwNTk2ZTA1
MDA1NGE2NWNjNGI5Y2U5MzQ2ZC4uYTcwMDY5MzBjNDUwZDE1NTAxOGNkNjJlOGY0M2M5MWQ5YzNi
Y2RhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcApAQCAt
NTA0LDcgKzUwNCw5IEBAIHZvaWQgd2Via2l0SW5pdCgpCiAgICAgSlNDOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCisjaWYgRU5BQkxF
KExPR0dJTkcpCiAgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNz
YXJ5KCk7CisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCiAgICAgUGxhdGZvcm1TdHJhdGVnaWVz
R3RrOjppbml0aWFsaXplKCk7CiAKICAgICAvLyBXZSBtYWtlIHN1cmUgdGhlIHRleHQgY29kZWNz
IGhhdmUgYmVlbiBpbml0aWFsaXplZCwgYmVjYXVzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9X
ZWJIaXN0b3J5Lm1tCmluZGV4IDY5NjRmYzk0OWI1MTIxNzNhNmJkYzVlNzBiNTYxOGQzMWNiNjc3
YTMuLmJjNDFjMWY3ZjQ4NTMyNzNlMTQ5ZTExOTVlMDI2NzBkOGYzYWNhZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9IaXN0b3J5L1dlYkhpc3RvcnkubW0KQEAgLTUzMCw3ICs1MzAsNyBAQCBzdGF0aWMg
aW5saW5lIFdlYkhpc3RvcnlEYXRlS2V5IGRhdGVLZXkoTlNUaW1lSW50ZXJ2YWwgZGF0ZSkKICAg
ICBpZiAoW1VSTCBpc0ZpbGVVUkxdKSB7CiAgICAgICAgIGRpY3Rpb25hcnkgPSBbTlNEaWN0aW9u
YXJ5IGRpY3Rpb25hcnlXaXRoQ29udGVudHNPZkZpbGU6W1VSTCBwYXRoXV07CiAgICAgICAgIGlm
ICghZGljdGlvbmFyeSkgewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykK
ICAgICAgICAgICAgIGlmIChbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlz
dHNBdFBhdGg6W1VSTCBwYXRoXV0pCiAgICAgICAgICAgICAgICAgTE9HX0VSUk9SKCJ1bmFibGUg
dG8gcmVhZCBoaXN0b3J5IGZyb20gZmlsZSAlQDsgcGVyaGFwcyBjb250ZW50cyBhcmUgY29ycnVw
dGVkIiwgW1VSTCBwYXRoXSk7CiAjZW5kaWYKQEAgLTYxMCw3ICs2MTAsNyBAQCBzdGF0aWMgaW5s
aW5lIFdlYkhpc3RvcnlEYXRlS2V5IGRhdGVLZXkoTlNUaW1lSW50ZXJ2YWwgZGF0ZSkKIAogLSAo
Qk9PTClsb2FkRnJvbVVSTDooTlNVUkwgKilVUkwgY29sbGVjdERpc2NhcmRlZEl0ZW1zSW50bzoo
TlNNdXRhYmxlQXJyYXkgKilkaXNjYXJkZWRJdGVtcyBlcnJvcjooTlNFcnJvciAqKillcnJvcgog
ewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgc3Rh
cnQgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsKICNlbmRpZgogCkBAIC02MTgsNyArNjE4
LDcgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5RGF0ZUtleSBkYXRlS2V5KE5TVGltZUludGVy
dmFsIGRhdGUpCiAgICAgaWYgKCFbc2VsZiBsb2FkSGlzdG9yeUd1dHNGcm9tVVJMOlVSTCBzYXZl
ZEl0ZW1zQ291bnQ6Jm51bWJlck9mSXRlbXMgY29sbGVjdERpc2NhcmRlZEl0ZW1zSW50bzpkaXNj
YXJkZWRJdGVtcyBlcnJvcjplcnJvcl0pCiAgICAgICAgIHJldHVybiBOTzsKIAotI2lmICFMT0df
RElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgZHVyYXRpb24gPSBDRkFi
c29sdXRlVGltZUdldEN1cnJlbnQoKSAtIHN0YXJ0OwogICAgIExPRyhUaW1pbmcsICJsb2FkaW5n
ICVkIGhpc3RvcnkgZW50cmllcyBmcm9tICVAIHRvb2sgJWYgc2Vjb25kcyIsIG51bWJlck9mSXRl
bXMsIFVSTCwgZHVyYXRpb24pOwogI2VuZGlmCkBAIC02NDIsMTMgKzY0MiwxMyBAQCBzdGF0aWMg
aW5saW5lIFdlYkhpc3RvcnlEYXRlS2V5IGRhdGVLZXkoTlNUaW1lSW50ZXJ2YWwgZGF0ZSkKIAog
LSAoQk9PTClzYXZlVG9VUkw6KE5TVVJMICopVVJMIGVycm9yOihOU0Vycm9yICoqKWVycm9yCiB7
Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGRvdWJsZSBzdGFy
dCA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpOwogI2VuZGlmCiAKICAgICBCT09MIHJlc3Vs
dCA9IFtbc2VsZiBkYXRhXSB3cml0ZVRvVVJMOlVSTCBvcHRpb25zOjAgZXJyb3I6ZXJyb3JdOwog
Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGRvdWJsZSBkdXJh
dGlvbiA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpIC0gc3RhcnQ7CiAgICAgTE9HKFRpbWlu
ZywgInNhdmluZyBoaXN0b3J5IHRvICVAIHRvb2sgJWYgc2Vjb25kcyIsIFVSTCwgZHVyYXRpb24p
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkljb25EYXRh
YmFzZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCmluZGV4
IDRmOGZjNmUwNmE2ZjExZTRiNGVlODQ0ZjUzYmI2OWNhMWI1MTdhZDYuLmI2NTg3NjY3ZGQ2OGI1
YmExOGJhMjcyZTI5NzY0ZjJkYzQxZTQ5ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2Vi
SWNvbkRhdGFiYXNlLm1tCkBAIC00NDEsMTQgKzQ0MSwxNCBAQCBzdGF0aWMgV2ViSWNvbkRhdGFi
YXNlQ2xpZW50KiBkZWZhdWx0Q2xpZW50KCkKICAgICBBU1NFUlQoc2l6ZS53aWR0aCk7CiAgICAg
QVNTRVJUKHNpemUuaGVpZ2h0KTsKICAgICAKLSNpZiAhTE9HX0RJU0FCTEVEICAgICAgICAKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgc3RhcnQgPSBDRkFic29sdXRlVGltZUdldEN1
cnJlbnQoKTsKICNlbmRpZgogICAgIAogICAgIFtpY29uIHNldFNjYWxlc1doZW5SZXNpemVkOllF
U107CiAgICAgW2ljb24gc2V0U2l6ZTpzaXplXTsKICAgICAKLSNpZiAhTE9HX0RJU0FCTEVECisj
aWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91YmxlIGR1cmF0aW9uID0gQ0ZBYnNvbHV0ZVRpbWVH
ZXRDdXJyZW50KCkgLSBzdGFydDsKICAgICBMT0coVGltaW5nLCAic2NhbGluZyBpY29uIHRvb2sg
JWYgc2Vjb25kcy4iLCBkdXJhdGlvbik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5oIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJL
aXRMb2dnaW5nLmgKaW5kZXggZjcxZjczMDYzOTEyN2ExMjUyNDViMzYxN2ZlYjgwNjJjNGQ0ZmRi
MC4uMDRkZDI3YWQxNDI3ZGJhNmE5N2JlN2RlMzM3ZDg2OWIzNDM5ZDJjZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLmgKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLmgKQEAgLTM2LDYgKzM2LDcgQEAKIGV4dGVybiAiQyIg
ewogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTE9HR0lORykKIGV4dGVybiBXVEZMb2dDaGFubmVsIFdl
YktpdExvZ1RpbWluZzsKIGV4dGVybiBXVEZMb2dDaGFubmVsIFdlYktpdExvZ0xvYWRpbmc7CiBl
eHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dGb250Q2FjaGU7CkBAIC02Miw2ICs2Myw3IEBA
IGV4dGVybiBXVEZMb2dDaGFubmVsIFdlYktpdExvZ0ljb25EYXRhYmFzZTsKIGV4dGVybiBXVEZM
b2dDaGFubmVsIFdlYktpdExvZ1RleHRJbnB1dDsKIAogdm9pZCBXZWJLaXRJbml0aWFsaXplTG9n
Z2luZ0NoYW5uZWxzSWZOZWNlc3Nhcnkodm9pZCk7CisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcp
CiAKIC8vIEZJWE1FOiBXaHkgaXMgdGhpcyBpbiB0aGUgImxvZ2dpbmciIGhlYWRlciBmaWxlPwog
Ly8gVXNlIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVjayBpbnN0ZWFkIGZvciBjaGVja3MgdGhh
dCB0aHJvdyBhbiBleGNlcHRpb24gZXZlbiBpbiBwcm9kdWN0aW9uIGJ1aWxkcy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5tIGIvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLm0KaW5kZXggNzJhODIyZmVlMGZjZjdkY2YyOTk0ZWE4
MDBjZmFlZTVjMTdjYTA1NS4uODgxYTY1MzI0ODJjYzE3NWY0YjU1OTc4YmU3M2U3ZTBmYTM5YmZh
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLm0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLm0KQEAgLTI4LDYgKzI4LDgg
QEAKIAogI2ltcG9ydCAiV2ViS2l0TG9nZ2luZy5oIgogCisjaWYgRU5BQkxFKExPR0dJTkcpCisK
IFdURkxvZ0NoYW5uZWwgV2ViS2l0TG9nVGV4dElucHV0ID0gICAgICAgICAgICAgIHsgMHgwMDAw
MDAxMCwgIldlYktpdExvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogV1RGTG9nQ2hhbm5l
bCBXZWJLaXRMb2dUaW1pbmcgPSAgICAgICAgICAgICAgICAgeyAweDAwMDAwMDIwLCAiV2ViS2l0
TG9nTGV2ZWwiLCBXVEZMb2dDaGFubmVsT2ZmIH07CiBXVEZMb2dDaGFubmVsIFdlYktpdExvZ0xv
YWRpbmcgPSAgICAgICAgICAgICAgICB7IDB4MDAwMDAwNDAsICJXZWJLaXRMb2dMZXZlbCIsIFdU
RkxvZ0NoYW5uZWxPZmYgfTsKQEAgLTk4LDYgKzEwMCw3IEBAIHZvaWQgV2ViS2l0SW5pdGlhbGl6
ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCkKICAgICBpbml0aWFsaXplTG9nQ2hhbm5lbCgm
V2ViS2l0TG9nSWNvbkRhdGFiYXNlKTsKICAgICBpbml0aWFsaXplTG9nQ2hhbm5lbCgmV2ViS2l0
TG9nVGV4dElucHV0KTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKIAogdm9pZCBSZXBv
cnREaXNjYXJkZWREZWxlZ2F0ZUV4Y2VwdGlvbihTRUwgZGVsZWdhdGVTZWxlY3RvciwgaWQgZXhj
ZXB0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRz
Y2FwZVBsdWdpblBhY2thZ2UubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNj
YXBlUGx1Z2luUGFja2FnZS5tbQppbmRleCA1MzNiNTM5NzVhYzQwMmVhOTNiNGM5ODc1ZjAxM2Iw
YzQ1ODc1ZjE2Li5hNzhkNDUyMzA0ODAxOGQ4NWIwOWEyNjIxY2M4MDFhOGU5ZmNhN2FlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luUGFja2Fn
ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luUGFj
a2FnZS5tbQpAQCAtMzY5LDcgKzM2OSw3IEBAIHN0YXRpYyBUcmFuc2l0aW9uVmVjdG9yIHRWZWN0
b3JGb3JGdW5jdGlvblBvaW50ZXIoRnVuY3Rpb25Qb2ludGVyKTsKICAgICBNYWluRnVuY1B0ciBw
bHVnaW5NYWluRnVuYyA9IE5VTEw7CiAjZW5kaWYKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBF
TkFCTEUoTE9HR0lORykKICAgICBDRkFic29sdXRlVGltZSBzdGFydCA9IENGQWJzb2x1dGVUaW1l
R2V0Q3VycmVudCgpOwogICAgIENGQWJzb2x1dGVUaW1lIGN1cnJlbnRUaW1lOwogICAgIENGQWJz
b2x1dGVUaW1lIGR1cmF0aW9uOwpAQCAtMzg0LDcgKzM4NCw3IEBAIHN0YXRpYyBUcmFuc2l0aW9u
VmVjdG9yIHRWZWN0b3JGb3JGdW5jdGlvblBvaW50ZXIoRnVuY3Rpb25Qb2ludGVyKTsKICNlbmRp
ZgogICAgICAgICBpZiAoIUNGQnVuZGxlTG9hZEV4ZWN1dGFibGUoY2ZCdW5kbGUuZ2V0KCkpKQog
ICAgICAgICAgICAgcmV0dXJuIE5POwotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9H
R0lORykKICAgICAgICAgY3VycmVudFRpbWUgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsK
ICAgICAgICAgZHVyYXRpb24gPSBjdXJyZW50VGltZSAtIHN0YXJ0OwogI2VuZGlmCkBAIC00MjYs
NyArNDI2LDcgQEAgc3RhdGljIFRyYW5zaXRpb25WZWN0b3IgdFZlY3RvckZvckZ1bmN0aW9uUG9p
bnRlcihGdW5jdGlvblBvaW50ZXIpOwogICAgICAgICAgICAgTE9HX0VSUk9SKCJXZWJHZXREaXNr
RnJhZ21lbnQgZmFpbGVkLiBFcnJvcj0lZCIsIGVycik7CiAgICAgICAgICAgICByZXR1cm4gTk87
CiAgICAgICAgIH0KLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAg
ICAgIGN1cnJlbnRUaW1lID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAgICAgICAgIGR1
cmF0aW9uID0gY3VycmVudFRpbWUgLSBzdGFydDsKICNlbmRpZgpAQCAtNTE4LDcgKzUxOCw3IEBA
IHN0YXRpYyBUcmFuc2l0aW9uVmVjdG9yIHRWZWN0b3JGb3JGdW5jdGlvblBvaW50ZXIoRnVuY3Rp
b25Qb2ludGVyKTsKICAgICAgICAgCiAgICAgICAgIFtzZWxmIF9hcHBseURqVnVXb3JrYXJvdW5k
XTsKICAgICAgICAgCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAg
ICAgICBDRkFic29sdXRlVGltZSBtYWluU3RhcnQgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQo
KTsKICNlbmRpZgogICAgICAgICBMT0coUGx1Z2lucywgIiVmIG1haW4gdGltaW5nIHN0YXJ0ZWQi
LCBtYWluU3RhcnQpOwpAQCAtNTM2LDcgKzUzNiw3IEBAIHN0YXRpYyBUcmFuc2l0aW9uVmVjdG9y
IHRWZWN0b3JGb3JGdW5jdGlvblBvaW50ZXIoRnVuY3Rpb25Qb2ludGVyKTsKICAgICAgICAgICAg
ICAgICBbc2VsZiBsYXVuY2hSZWFsUGxheWVyXTsKICAgICAgICAgICAgIHJldHVybiBOTzsKICAg
ICAgICAgfQotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAg
Y3VycmVudFRpbWUgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsKICAgICAgICAgZHVyYXRp
b24gPSBjdXJyZW50VGltZSAtIG1haW5TdGFydDsKICNlbmRpZgpAQCAtNjMxLDE0ICs2MzEsMTQg
QEAgc3RhdGljIFRyYW5zaXRpb25WZWN0b3IgdFZlY3RvckZvckZ1bmN0aW9uUG9pbnRlcihGdW5j
dGlvblBvaW50ZXIpOwogICAgICAgICAKICAgICAgICAgW3NlbGYgX2FwcGx5RGpWdVdvcmthcm91
bmRdOwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgICAgICBD
RkFic29sdXRlVGltZSBpbml0aWFsaXplU3RhcnQgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQo
KTsKICNlbmRpZgogICAgICAgICBMT0coUGx1Z2lucywgIiVmIE5QX0luaXRpYWxpemUgdGltaW5n
IHN0YXJ0ZWQiLCBpbml0aWFsaXplU3RhcnQpOwogICAgICAgICBucEVyciA9IE5QX0luaXRpYWxp
emUoJmJyb3dzZXJGdW5jcyk7CiAgICAgICAgIGlmIChucEVyciAhPSBOUEVSUl9OT19FUlJPUikK
ICAgICAgICAgICAgIHJldHVybiBOTzsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAgICAgICAgIGN1cnJlbnRUaW1lID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7
CiAgICAgICAgIGR1cmF0aW9uID0gY3VycmVudFRpbWUgLSBpbml0aWFsaXplU3RhcnQ7CiAjZW5k
aWYKQEAgLTY2Miw3ICs2NjIsNyBAQCBzdGF0aWMgVHJhbnNpdGlvblZlY3RvciB0VmVjdG9yRm9y
RnVuY3Rpb25Qb2ludGVyKEZ1bmN0aW9uUG9pbnRlcik7CiAgICAgfQogI2VuZGlmCiAKLSNpZiAh
TE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgY3VycmVudFRpbWUgPSBDRkFi
c29sdXRlVGltZUdldEN1cnJlbnQoKTsKICAgICBkdXJhdGlvbiA9IGN1cnJlbnRUaW1lIC0gc3Rh
cnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0
c2NhcGVQbHVnaW5TdHJlYW0ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNj
YXBlUGx1Z2luU3RyZWFtLm1tCmluZGV4IGE3ZGFhYWVjMDRkNTEwYWE3ZDAxY2NhY2IwYmU5NjMy
N2QxZWRjMmQuLjFlZGQ4YWU4NzdiMjQ2NjhmYmY2NzVkNTY4N2VkNTAxMDY1YjkzMmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0u
bW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbQpAQCAtNDIxLDcgKzQyMSw3IEBAIHZvaWQgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRl
c3Ryb3lTdHJlYW0oKQogCiAgICAgICAgIGlmIChtX25ld1N0cmVhbVN1Y2Nlc3NmdWwpIHsKICAg
ICAgICAgICAgIFBsdWdpblN0b3BEZWZlcnJlciBkZWZlcnJlcihtX3BsdWdpblZpZXcuZ2V0KCkp
OwotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAgICAgIE5Q
RXJyb3IgbnBFcnIgPSAKICNlbmRpZgogICAgICAgICAgICAgbV9wbHVnaW5GdW5jcy0+ZGVzdHJv
eXN0cmVhbShtX3BsdWdpbiwgJm1fc3RyZWFtLCBtX3JlYXNvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpbkRhdGFiYXNlLm1tIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5EYXRhYmFzZS5tbQppbmRleCBlN2ZhZTFiZWMyYjMxODNh
NDgxMTY5ZWMxZDFlZTU1OGJhZDcwODdhLi4zOGRiNGQwMTRmN2U2YzlkNzU0NWI2ZDhlZTJjMmYw
MzFlMDZjZTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdp
bkRhdGFiYXNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luRGF0
YWJhc2UubW0KQEAgLTI4Niw3ICsyODYsNyBAQCBzdGF0aWMgTlNBcnJheSAqYWRkaXRpb25hbFdl
YlBsdWdJblBhdGhzOwogICAgICAgICBbbmV3UGx1Z2lucyByZW1vdmVPYmplY3Q6cGx1Z2luXTsK
ICAgICB9CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgaWYg
KFtuZXdQbHVnaW5zIGNvdW50XSA+IDApCiAgICAgICAgIExPRyhQbHVnaW5zLCAiTmV3IHBsdWdp
bnM6XG4lQCIsIG5ld1BsdWdpbnMpOwogICAgIGlmIChbcGx1Z2luc1RvUmVtb3ZlIGNvdW50XSA+
IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpblBhY2th
Z2UubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpblBhY2thZ2UubW0KaW5k
ZXggYTYwODA2ODg3ZDYzODMyMjc4N2ExOWQ3YjVlNjgxZWRmMzY5MGQ1OC4uNWNlZjU1MDJhNDQ0
YmYwYjE5OTc4OGI4MmMyYjc1M2FlZTc2NTczZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9XZWJQbHVnaW5QYWNrYWdlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1Bs
dWdpbnMvV2ViUGx1Z2luUGFja2FnZS5tbQpAQCAtOTEsNyArOTEsNyBAQCBOU1N0cmluZyAqV2Vi
UGx1Z0luQ29udGFpbmluZ0VsZW1lbnRLZXkgPSAgICAgICBAIldlYlBsdWdJbkNvbnRhaW5pbmdF
bGVtZW50S2V5IgogCiAtIChCT09MKWxvYWQKIHsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5B
QkxFKExPR0dJTkcpCiAgICAgQ0ZBYnNvbHV0ZVRpbWUgc3RhcnQgPSBDRkFic29sdXRlVGltZUdl
dEN1cnJlbnQoKTsKICNlbmRpZgogICAgIApAQCAtMTAxLDcgKzEwMSw3IEBAIE5TU3RyaW5nICpX
ZWJQbHVnSW5Db250YWluaW5nRWxlbWVudEtleSA9ICAgICAgIEAiV2ViUGx1Z0luQ29udGFpbmlu
Z0VsZW1lbnRLZXkiCiAgICAgICAgICAgICByZXR1cm4gTk87CiAgICAgfQogICAgIAotI2lmICFM
T0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBDRkFic29sdXRlVGltZSBkdXJh
dGlvbiA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpIC0gc3RhcnQ7CiAgICAgTE9HKFBsdWdp
bnMsICJwcmluY2lwYWxDbGFzcyB0b29rICVmIHNlY29uZHMgZm9yOiAlQCIsIGR1cmF0aW9uLCAo
TlNTdHJpbmcgKilbc2VsZiBwbHVnaW5JbmZvXS5uYW1lKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJBcmNoaXZlLm1tIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJBcmNoaXZlLm1tCmluZGV4IGFlZWJkOTcyY2M1ODdlNTFlMzY0ODFkNjEy
ZTJjZDViMjYxM2MzOTUuLmMwMTUwNDQ0NTU5ZTBmMzA4MWQxOGEzZGJmNmVjYmZmZmUyMzFjNjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0KQEAgLTIxMCw3ICsyMTAs
NyBAQCBzdGF0aWMgQk9PTCBpc0FycmF5T2ZDbGFzcyhpZCBvYmplY3QsIENsYXNzIGVsZW1lbnRD
bGFzcykKICAgICBpZiAoIXNlbGYpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgICAgIAotI2lm
ICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBDRkFic29sdXRlVGltZSBz
dGFydCA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpOwogI2VuZGlmCiAKQEAgLTIyMyw3ICsy
MjMsNyBAQCBzdGF0aWMgQk9PTCBpc0FycmF5T2ZDbGFzcyhpZCBvYmplY3QsIENsYXNzIGVsZW1l
bnRDbGFzcykKICAgICAgICAgCiAgICAgW19wcml2YXRlIHNldENvcmVBcmNoaXZlOmNvcmVBcmNo
aXZlLnJlbGVhc2UoKV07CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUo
TE9HR0lORykKICAgICBDRkFic29sdXRlVGltZSBlbmQgPSBDRkFic29sdXRlVGltZUdldEN1cnJl
bnQoKTsKICAgICBDRkFic29sdXRlVGltZSBkdXJhdGlvbiA9IGVuZCAtIHN0YXJ0OwogI2VuZGlm
CkBAIC0zNjEsMTMgKzM2MSwxMyBAQCBzdGF0aWMgQk9PTCBpc0FycmF5T2ZDbGFzcyhpZCBvYmpl
Y3QsIENsYXNzIGVsZW1lbnRDbGFzcykKIHsKICAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hl
Y2tSb3VuZFR3bygpOwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgIENGQWJzb2x1dGVUaW1lIHN0YXJ0ID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAj
ZW5kaWYKIAogICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGRhdGEgPSBbX3ByaXZhdGUgY29yZUFy
Y2hpdmVdLT5yYXdEYXRhUmVwcmVzZW50YXRpb24oKTsKICAgICAKLSNpZiAhTE9HX0RJU0FCTEVE
CisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgQ0ZBYnNvbHV0ZVRpbWUgZW5kID0gQ0ZBYnNvbHV0
ZVRpbWVHZXRDdXJyZW50KCk7CiAgICAgQ0ZBYnNvbHV0ZVRpbWUgZHVyYXRpb24gPSBlbmQgLSBz
dGFydDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJI
VE1MVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5k
ZXggYzQzMWY5YjAyM2ZlODU1NmEwNjg0NmU3ZmI0NzAyNzI5M2EwNWU2ZC4uMDA0OGEzOGZlMmI5
ZmU2NTM0ZGYxMmY5OTlkNDQzN2Y2NWY2YTRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkhUTUxWaWV3Lm1tCkBAIC0zMTg4LDcgKzMxODgsNyBAQCBzdGF0aWMgdm9pZCBzZXRNZW51
VGFyZ2V0cyhOU01lbnUqIG1lbnUpCiAgICAgcmV0dXJuIFtbc2VsZiBfd2ViVmlld10gZHJhd3NC
YWNrZ3JvdW5kXTsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykK
IC0gKHZvaWQpc2V0TmVlZHNEaXNwbGF5OihCT09MKWZsYWcKIHsKICAgICBMT0coVmlldywgIiVA
IHNldE5lZWRzRGlzcGxheTolQCIsIHNlbGYsIGZsYWcgPyBAIllFUyIgOiBAIk5PIik7CkBAIC02
MTQwLDExICs2MTQwLDExIEBAIHN0YXRpYyB2b2lkIGV4dHJhY3RVbmRlcmxpbmVzKE5TQXR0cmli
dXRlZFN0cmluZyAqc3RyaW5nLCBWZWN0b3I8Q29tcG9zaXRpb25VbmRlCiAtIChOU0F0dHJpYnV0
ZWRTdHJpbmcgKilfYXR0cmlidXRlU3RyaW5nRnJvbURPTVJhbmdlOihET01SYW5nZSAqKXJhbmdl
CiB7CiAgICAgTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3RyaW5nOwotI2lmICFMT0df
RElTQUJMRUQgICAgICAgIAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGRvdWJsZSBzdGFydCA9
IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpOwogI2VuZGlmICAgIAogICAgIGF0dHJpYnV0ZWRT
dHJpbmcgPSBbW1tOU0F0dHJpYnV0ZWRTdHJpbmcgYWxsb2NdIF9pbml0V2l0aERPTVJhbmdlOnJh
bmdlXSBhdXRvcmVsZWFzZV07Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5H
KQogICAgIGRvdWJsZSBkdXJhdGlvbiA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpIC0gc3Rh
cnQ7CiAgICAgTE9HKFRpbWluZywgImNyZWF0aW5nIGF0dHJpYnV0ZWQgc3RyaW5nIGZyb20gc2Vs
ZWN0aW9uIHRvb2sgJWYgc2Vjb25kcy4iLCBkdXJhdGlvbik7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA0NWE0Y2Y1ZDBmNTgwOGUwYzI1NDQ2ODlmNWQyNjA5
MTcxMTJiNmNiLi5lNTk1MDhmNjM4NDhmNmNmOWUxZTdmMmUxYjdmNWUwZGQ4YjE3ODBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC03MjMsOCArNzIzLDEwIEBAIHN0YXRp
YyBib29sIHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVycygpCiAKICAg
ICBzdGF0aWMgYm9vbCBkaWRPbmVUaW1lSW5pdGlhbGl6YXRpb24gPSBmYWxzZTsKICAgICBpZiAo
IWRpZE9uZVRpbWVJbml0aWFsaXphdGlvbikgeworI2lmIEVOQUJMRShMT0dHSU5HKQogICAgICAg
ICBXZWJLaXRJbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICAgICAg
V2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYg
Ly8gRU5BQkxFKExPR0dJTkcpCiAgICAgICAgIFtXZWJIaXN0b3J5SXRlbSBpbml0V2luZG93V2F0
Y2hlcklmTmVjZXNzYXJ5XTsKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBXZWJL
aXRJbml0aWFsaXplRGF0YWJhc2VzSWZOZWNlc3NhcnkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0luaXRXZWJDb3JlUXQuY3BwCmluZGV4IDQ1MjA5MWMyOGZlOWQ1
ZjlkODRlMzVlMjgwZWQ5M2MyODExNzJiN2UuLmI0NmE3ZjllMmUyNmFmNTdlMTliMjFlMmE2ZGEz
MTljZGFiYjkyY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
SW5pdFdlYkNvcmVRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9J
bml0V2ViQ29yZVF0LmNwcApAQCAtNjYsNyArNjYsOSBAQCB2b2lkIGluaXRpYWxpemVXZWJDb3Jl
UXQoKQogICAgIGlmIChpbml0aWFsaXplZCkKICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxF
KExPR0dJTkcpCiAgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNz
YXJ5KCk7CisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCiAgICAgU2NyaXB0Q29udHJvbGxlcjo6
aW5pdGlhbGl6ZVRocmVhZGluZygpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsK
ICAgICBXZWJDb3JlOjpTZWN1cml0eVBvbGljeTo6c2V0TG9jYWxMb2FkUG9saWN5KFdlYkNvcmU6
OlNlY3VyaXR5UG9saWN5OjpBbGxvd0xvY2FsTG9hZHNGb3JMb2NhbEFuZFN1YnN0aXR1dGVEYXRh
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dl
YktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggYjMyYzhiNGJmYTYxZWQwNjA3Njk4YTc3MGU1ZmYy
YmRmYjRlNmFjYS4uMTBkNjI2MWJmNGI0NWFjZTlkMWY2NTAyNGUzOTczMmQ3ZDBlNDJkOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC93aW4vV2ViVmlldy5jcHAKQEAgLTI2NDEsNyArMjY0MSw5IEBAIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgV2ViVmlldzo6aW5pdFdpdGhGcmFtZSgKIAogICAgIHN0YXRpYyBib29sIGRpZE9u
ZVRpbWVJbml0aWFsaXphdGlvbjsKICAgICBpZiAoIWRpZE9uZVRpbWVJbml0aWFsaXphdGlvbikg
eworI2lmIEVOQUJMRShMT0dHSU5HKQogICAgICAgICBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxz
SWZOZWNlc3NhcnkoKTsKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKICNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQogICAgICAgICBXZWJLaXRJbml0aWFsaXplV2ViRGF0YWJhc2VzSWZOZWNlc3Nh
cnkoKTsKICNlbmRpZgpAQCAtNTU0Miw3ICs1NTQ0LDcgQEAgc3RhdGljIHZvaWQgY29tcG9zaXRp
b25Ub1VuZGVybGluZXMoY29uc3QgVmVjdG9yPERXT1JEPiYgY2xhdXNlcywgY29uc3QgVmVjdG9y
PEIKICAgICB9CiB9CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAj
ZGVmaW5lIEFQUEVORF9BUkdVTUVOVF9OQU1FKG5hbWUpIFwKICAgICBpZiAobHBhcmFtICYgbmFt
ZSkgeyBcCiAgICAgICAgIGlmIChuZWVkc0NvbW1hKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3d4L1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93eC9XZWJWaWV3LmNwcAppbmRleCBh
ZGRkMTFjM2FjNWNkMWY1MzA1OGQ5ZjhjNzQzMGY0Y2Y4NDgxMjY0Li5iYmFmY2YzNGM0ODhlNGE2
N2IxYTMzNzQ1N2EzNDQ3OGZlMmM4OTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dl
YlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViVmlldy5jcHAKQEAgLTM4OSw3ICsz
ODksOSBAQCBib29sIFdlYlZpZXc6OkNyZWF0ZSh3eFdpbmRvdyogcGFyZW50LCBjb25zdCB3eFN0
cmluZyYgdXJsLCBpbnQgaWQsIGNvbnN0IHd4UG9pbgogCiAgICAgbV9pbXBsID0gbmV3IFdlYlZp
ZXdQcml2YXRlKCk7CiAKLSAgICBXZWJDb3JlOjppbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZO
ZWNlc3NhcnkoKTsgICAgCisjaWYgRU5BQkxFKExPR0dJTkcpCisgICAgV2ViQ29yZTo6aW5pdGlh
bGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYgLy8gRU5BQkxFKExPR0dJ
TkcpCiAgICAgV2ViQ29yZTo6SFRNTEZyYW1lT3duZXJFbGVtZW50KiBwYXJlbnRGcmFtZSA9IDA7
CiAKICAgICBXZWJDb3JlOjpFZGl0b3JDbGllbnRXeCogZWRpdG9yQ2xpZW50ID0gbmV3IFdlYkNv
cmU6OkVkaXRvckNsaWVudFd4KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9Mb2dnaW5nLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuY3BwCmluZGV4
IGYyMzE4ZWNlYzc3NmQ2ODk4MjI2NDFkNmMwNjBlMTYwYmEzMmI2NTkuLmNhODkyZDQ5Mzg2YTNj
N2NhMTVhMGQ5ODZjNDcxMzRjOTY2M2M3NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0xvZ2dpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcu
Y3BwCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIApAQCAtOTAsNCArOTAsNCBAQCB2b2lkIGluaXRpYWxpemVMb2dDaGFu
bmVsc0lmTmVjZXNzYXJ5KCkKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBM
T0dfRElTQUJMRUQKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0xv
Z2dpbmcuaAppbmRleCAwNmY5NjA5MWMyOTcxYWFiMzU4ZTZiOTBlNzg3N2QxNTBlZjQ5NmIwLi4y
Y2ZjNWM4NGY4YjdhOGJhYTVlYzNjMWFhNzg4NTljMDZmOWU5NDEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vTG9nZ2luZy5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmICFMT0dfRElTQUJMRUQK
KyNpZiBFTkFCTEUoTE9HR0lORykKIAogI2lmbmRlZiBMT0dfQ0hBTk5FTF9QUkVGSVgKICNkZWZp
bmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZwpAQCAtNTIsNiArNTIsNiBAQCBXVEZMb2dDaGFubmVs
KiBnZXRDaGFubmVsRnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFubmVsTmFtZSk7CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gTE9HX0RJU0FCTEVECisjZW5kaWYgLy8gRU5B
QkxFKExPR0dJTkcpCiAKICNlbmRpZiAvLyBMb2dnaW5nX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2d0ay9Mb2dnaW5nR3RrLmNwcAppbmRleCA4NjM3YzFlMWJiMDE2M2JkZWM4YjI0MjEwNDYy
NGY3NmFlZGYzYzRhLi42YWQ2YzQxN2U1OGViMDcxZDEwMzBkY2M2ZTAyMWMwOWEzMzAxM2M2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwCkBAIC0zMCw3ICsz
MCw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVO
QUJMRShMT0dHSU5HKQogCiB2b2lkIGluaXRpYWxpemVMb2dDaGFubmVsKFdURkxvZ0NoYW5uZWwq
IGNoYW5uZWwpCiB7CkBAIC01NSw2ICs1NSw2IEBAIHZvaWQgaW5pdGlhbGl6ZUxvZ0NoYW5uZWwo
V1RGTG9nQ2hhbm5lbCogY2hhbm5lbCkKICAgICAgICAgY2hhbm5lbC0+c3RhdGUgPSBXVEZMb2dD
aGFubmVsT247CiB9CiAKLSNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECisjZW5kaWYgLy8gRU5BQkxF
KExPR0dJTkcpCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3F0L0xv
Z2dpbmdRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwCmlu
ZGV4IDNjNDRlMjNhOTFlZmExOTY2YmVhNTA5MTFkMDUwY2EzZTkwYTllNWMuLjc4NmE1NjFmZDlk
OTdhN2ZkZDk2MGVhZTAzMjZhYTJjZjBiMjNiM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL3F0L0xvZ2dpbmdRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
cXQvTG9nZ2luZ1F0LmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIAogdm9pZCBpbml0aWFs
aXplTG9nQ2hhbm5lbChXVEZMb2dDaGFubmVsKiBjaGFubmVsKQogewpAQCAtNTUsNiArNTUsNiBA
QCB2b2lkIGluaXRpYWxpemVMb2dDaGFubmVsKFdURkxvZ0NoYW5uZWwqIGNoYW5uZWwpCiAgICAg
ICAgIGNoYW5uZWwtPnN0YXRlID0gV1RGTG9nQ2hhbm5lbE9uOwogfQogCi0jZW5kaWYgLy8gIUxP
R19ESVNBQkxFRAorI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggNzQyYWVhNjJjMzBhNmFmMjZiOWVkZDQ4M2Rl
NmYwNDIwMTNjMWVhZC4uMTg3NjEwNGM5OGFmMmNjMWE4NThjMjEyMjc2M2JkNzQyZWI2MDM3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMTQ5LDcgKzE0OSw3
IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NNb2RlbCwgY29u
c3QgU3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhCiAgICAgLCBtX3Byb2Nlc3NUZXJtaW5hdGlvbkVu
YWJsZWQodHJ1ZSkKICAgICAsIG1fcGx1Z2luV29ya1F1ZXVlKCJjb20uYXBwbGUuQ29yZUlQQy5Q
bHVnaW5RdWV1ZSIpCiB7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgIFdlYktpdDo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICNlbmRpZgog
CkBAIC0xNTcsNyArMTU3LDkgQEAgV2ViQ29udGV4dDo6V2ViQ29udGV4dChQcm9jZXNzTW9kZWwg
cHJvY2Vzc01vZGVsLCBjb25zdCBTdHJpbmcmIGluamVjdGVkQnVuZGxlUGEKIAogICAgIGFkZExh
bmd1YWdlQ2hhbmdlT2JzZXJ2ZXIodGhpcywgbGFuZ3VhZ2VDaGFuZ2VkKTsKIAorI2lmIEVOQUJM
RShMT0dHSU5HKQogICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vz
c2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogCiAjaWZuZGVmIE5ERUJVRwogICAg
IHdlYkNvbnRleHRDb3VudGVyLmluY3JlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCBiNTA0NmIyOTljOTg5MzgzZjFmNWI0NWZkNWI3NDQxZDEw
NzcwNWQ2Li5iNmRkMDU0NDczNWEyZWNmNDdhYTIwOWYzNDk1YjVlNjRhMDNiMzUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTI2LDcgKzEyNiw3IEBA
IFdLUGFnZURlYnVnUGFpbnRGbGFncyBXZWJQYWdlUHJveHk6OnNfZGVidWdQYWludEZsYWdzID0g
MDsKIAogREVGSU5FX0RFQlVHX09OTFlfR0xPQkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVy
LCB3ZWJQYWdlUHJveHlDb3VudGVyLCAoIldlYlBhZ2VQcm94eSIpKTsKIAotI2lmICFMT0dfRElT
QUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIHN0YXRpYyBjb25zdCBjaGFyKiB3ZWJLZXlib2Fy
ZEV2ZW50VHlwZVN0cmluZyhXZWJFdmVudDo6VHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlw
ZSkgewpAQCAtMTQ3LDcgKzE0Nyw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiB3ZWJLZXlib2FyZEV2
ZW50VHlwZVN0cmluZyhXZWJFdmVudDo6VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gIjx1bmtu
b3duPiI7CiAgICAgfQogfQotI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKKyNlbmRpZiAvLyBFTkFC
TEUoTE9HR0lORykKIAogUGFzc1JlZlB0cjxXZWJQYWdlUHJveHk+IFdlYlBhZ2VQcm94eTo6Y3Jl
YXRlKFBhZ2VDbGllbnQqIHBhZ2VDbGllbnQsIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBw
cm9jZXNzLCBXZWJQYWdlR3JvdXAqIHBhZ2VHcm91cCwgdWludDY0X3QgcGFnZUlEKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKaW5kZXggMjhkMjZmMWYzZTQyYmJm
NDM1MDIyY2UyNjg5ZjhhZTY4MGZiODM4Mi4uNTBjMWZjYjJlMjQxNTVkNjE0NGJiOTk3NDI1YzJj
YWMwZDViNTI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCkBA
IC0xMjM2LDcgKzEyMzYsNyBAQCBzdGF0aWMgdm9pZCBjb21wb3NpdGlvblRvVW5kZXJsaW5lcyhj
b25zdCBWZWN0b3I8RFdPUkQ+JiBjbGF1c2VzLCBjb25zdCBWZWN0b3I8QgogICAgIH0KIH0KIAot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICNkZWZpbmUgQVBQRU5EX0FS
R1VNRU5UX05BTUUobmFtZSkgXAogICAgIGlmIChscGFyYW0gJiBuYW1lKSB7IFwKICAgICAgICAg
aWYgKG5lZWRzQ29tbWEpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CmluZGV4IDE0MjRhMWE0MDZhZmQ4N2Q0MmZmZDg2YzA0Y2ZmYTU1YWQxYzkxN2EuLmEwMDUyMTZi
YjI2NTZmYzA2ODkzMzE0ZTY3NzRjMGI0ZmM3YjQzMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTYxLDcgKzE2MSw5IEBAIFdlYlByb2Nlc3M6OldlYlBy
b2Nlc3MoKQogICAgIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aW5pdGlhbGl6ZSgpOwogI2VuZGlm
IC8vIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogCisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAg
V2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYg
Ly8gRU5BQkxFKExPR0dJTkcpCiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZShDb3Jl
SVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIHNlcnZlcklkZW50aWZpZXIsIFJ1bkxvb3AqIHJ1
bkxvb3ApCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150059</attachid>
            <date>2012-06-28 18:25:40 -0700</date>
            <delta_ts>2012-06-29 15:25:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90228-20120628182540.patch</filename>
            <type>text/plain</type>
            <size>81083</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQyOGUyMjIzMzUwYmRhMWQyYThmNmY0
ZWMzMTMyOGEwN2M1N2VlZjIuLmE1NjVkZjRlODk2YzAzZWQ3MDVhNWJlZjJmYjFlZTE0NjA3YjA3
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDYtMjggIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRp
YWxpemF0aW9uIHdoZW4gbG9nZ2luZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisgICAgICAgICog
d3RmL1BsYXRmb3JtLmg6CisgICAgICAgICogd3RmL1RocmVhZGluZy5jcHA6CisgICAgICAgIChX
VEY6OmNyZWF0ZVRocmVhZCk6CisKIDIwMTItMDYtMjggIEthbGV2IExlbWJlciAgPGthbGV2bGVt
YmVyQGdtYWlsLmNvbT4KIAogICAgICAgICBUaHJlYWRpbmdXaW46IFNpbGVuY2UgR0NDIGNvbXBp
bGVyIHdhcm5pbmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFjOWY4MjMwMTJmMDk4OGRlZWE1NGE0Zjg4OWU0
MDlkODNjYTg5Ny4uY2I1ZDc2OTMwMTEwYjdhZDdmNDZmZmEwOGZkMWQ1OTVjYmY0YjhjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEwNCBAQAorMjAxMi0wNi0yOCAgQmVuamFtaW4gUG91bGFpbiAg
PGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55IGxvZ2dpbmcgaW5p
dGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWxpemF0aW5nIG9mIHRoZSBsb2dnaW5n
IGNoYW5uZWxzIHdhcyB0YWtpbmcgdGltZSBvbiBzdGFydHVwLiBXaGVuIGxvZ2dpbiBpcyBkaXNh
YmxlZAorICAgICAgICAoYW5kIHRoZSBMT0cgbWFjcm8gZG8gbm90aGluZyksIHdlIHNob3VsZCBh
c2xvIGRpc2FibGUgbG9nZ2luZyBjaGFubmVscyBhbmQgaW5pdGlhbGl6YXRpb24uCisKKyAgICAg
ICAgVGhlIGJpZ2dlc3QgcGFydCBvZiB0aGUgcGF0Y2ggaXMgdGhlIGNoYW5nZSBmcm9tICFMT0df
RElTQUJMRUQgdG8gdXNpbmcgRU5BQkxFKExPR0dJTkcpLgorICAgICAgICBUaGlzIGlzIGRvbmUg
Zm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIG90aGVyIEVOQUJMRSBmZWF0dXJlcyB1c2VkIGluIFdl
YktpdC4KKworICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5o
OgorICAgICAgICAoQWJzdHJhY3REYXRhYmFzZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVRhc2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUYXNrOjpE
YXRhYmFzZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUYXNrOjp+RGF0YWJhc2VU
YXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVGFzazo6cGVyZm9ybVRhc2spOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRh
c2suaDoKKyAgICAgICAgKERhdGFiYXNlVGFzayk6CisgICAgICAgIChEYXRhYmFzZTo6RGF0YWJh
c2VPcGVuVGFzayk6CisgICAgICAgIChEYXRhYmFzZTo6RGF0YWJhc2VDbG9zZVRhc2spOgorICAg
ICAgICAoRGF0YWJhc2U6OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrKToKKyAgICAgICAgKERhdGFi
YXNlOjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNrKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFi
YXNlL1NRTFRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKFNRTFRyYW5zYWN0
aW9uKToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpzZWVrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OndpbGxSZW1vdmVUcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpz
ZWxlY3ROZXh0U291cmNlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c291cmNlV2FzQWRkZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c291cmNlV2FzUmVtb3ZlZCk6CisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGxvYWRlci9IaXN0b3J5Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQmFja0Zv
cndhcmROYXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjp1
cGRhdGVGb3JSZWxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OnVw
ZGF0ZUZvclJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQ2xpZW50UmVkaXJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OnVwZGF0ZUZvckNvbW1pdCk6CisgICAgICAg
ICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFkKToKKyAg
ICAgICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKToKKyAgICAg
ICAgKFdlYkNvcmU6Okljb25EYXRhYmFzZTo6cmVhZEZyb21EYXRhYmFzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJY29uRGF0YWJhc2U6OndyaXRlVG9EYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhyZWFkKToKKyAgICAgICAgKiBwYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkJhc2U6
OnVwZGF0ZVN0YXRlTWFjaGluZSk6CisgICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5oOgorICAgICAgICAqIHBsYXRmb3JtL05vdEltcGxl
bWVudGVkLmg6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJy
eS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25DRi5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkFW
RldyYXBwZXI6Om5vdGlmaWNhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkFWRldy
YXBwZXI6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RhbmRhcmRGaWx0ZXJQcm9ncmFtOjpTdGFuZGFyZEZp
bHRlclByb2dyYW0pOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvTG9nZ2luZ01hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d2ls
bFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OmRpZFJlY2VpdmVSZXNwb25zZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpkaWRSZWNlaXZlRGF0YUFycmF5KToKKyAgICAgICAgKFdlYkNvcmU6
OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFVzZUNyZWRlbnRpYWxT
dG9yYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6ZGlkRmluaXNoTG9hZGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OmRpZFJlY2VpdmVD
aGFsbGVuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuUmVzcG9uZFRvUHJvdGVjdGlvblNwYWNl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbToK
KyAgICAgICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZSBjb25uZWN0aW9uOndp
bGxTZW5kUmVxdWVzdDpyZWRpcmVjdFJlc3BvbnNlOl0pOgorICAgICAgICAoLVtXZWJDb3JlUmVz
b3VyY2VIYW5kbGVBc0RlbGVnYXRlIGNvbm5lY3Rpb246Y2FuQXV0aGVudGljYXRlQWdhaW5zdFBy
b3RlY3Rpb25TcGFjZTpdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRDb2RlY0lDVTo6Y3JlYXRlSUNVQ29udmVydGVyKToKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vTG9nZ2luZ1dpbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vd3gvTG9nZ2luZ1d4LmNw
cDoKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpbkRlYnVnLmNwcDoKKyAgICAgICAgKiBwbHVnaW5z
L1BsdWdpbkRlYnVnLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wb3NpdGluZ0xvZ0VuYWJsZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpSZW5kZXJMYXllckNvbXBvc2l0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3Np
dGluZ0xheWVycyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlTGF5ZXJUcmVlR2VvbWV0cnkp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKyAgICAgICAg
KFJlbmRlckxheWVyQ29tcG9zaXRvcik6CisKIDIwMTItMDYtMjggIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFNwbGl0IFdlYlNjcm9sbGJh
ciBpbnRvIFdlYlBsdWdpblNjcm9sbGJhciBhbmQgV2ViU2Nyb2xsYmFyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZwppbmRleCBjZjZhNDQyOTE3Y2EzZGZlODM2MTMzYjMwZWNmMzEzZWZlNGZk
MDYzLi5kMmVhZWYwYzE2YmQ2MGUzMDc0YWI4ZWQzOGZhYjkxNWYwMTNmODE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOCAgQmVuamFt
aW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55
IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQXBpL0JsYWNrQmVycnlH
bG9iYWwuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpnbG9iYWxJbml0aWFsaXpl
KToKKwogMjAxMi0wNi0yNyAgQW5kcmV3IExvICA8YW5sb0ByaW0uY29tPgogCiAgICAgICAgIFtC
bGFja0JlcnJ5XSBTZWxlY3Rpb24gb3ZlcmxheSBjYW4gYmVjb21lIHZpc2libGUgYWZ0ZXIgaXQg
aGFzIGJlZW4gaGlkZGVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggZDQ2ZDMxZDQ0ZjEwYWU0ZjU2MGQ1
NzQ3YzJmODAzOWI5NDc4YzcyOS4uM2VlNzYwMDAwYzVjOWJlNzk0ODc3ZmIwZDFkMzg1NzljZmJh
YWI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTI4ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIERvIG5vdCBkbyBh
bnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aGVuIGxvZ2dpbmcgaXMgZGlzYWJsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjI4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBld2svZXdrX21haW4u
Y3BwOgorICAgICAgICAoX2V3a19pbml0X2JvZHkpOgorCiAyMDEyLTA2LTI3ICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMTIxMzk4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDc1MDRkZDRlMzY0MmI3OWNj
Njk4NmUyMzU2MDU2ZTkyYTk4MTVlODEuLmM2MzExOWEyMjRlY2MwOGJmZTA0YjVkNjNkOTZiMWU2
ZTEwMGNkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOCAg
QmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3Qg
ZG8gYW55IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Via2l0L3dl
YmtpdGdsb2JhbHMuY3BwOgorICAgICAgICAod2Via2l0SW5pdCk6CisKIDIwMTItMDYtMjUgIE1h
cmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0xvY2sg
c2hvdWxkIGJlIHBlci1KU0dsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAzNDFmNDVmYWIy
YzJlZDM3MzhmYTlmODk3MjU5M2ZhZGMwODc3NjRhLi42ZTNiZWFjMTA5ZjRiZmEzNDQyN2QxZDM0
NzlmNjBhN2E3YmM1NWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTIt
MDYtMjggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAg
RG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxpemF0aW9uIHdoZW4gbG9nZ2luZyBpcyBkaXNh
YmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAy
MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEhp
c3RvcnkvV2ViSGlzdG9yeS5tbToKKyAgICAgICAgKC1bV2ViSGlzdG9yeVByaXZhdGUgbG9hZEhp
c3RvcnlHdXRzRnJvbVVSTDpzYXZlZEl0ZW1zQ291bnQ6Y29sbGVjdERpc2NhcmRlZEl0ZW1zSW50
bzplcnJvcjpdKToKKyAgICAgICAgKC1bV2ViSGlzdG9yeVByaXZhdGUgbG9hZEZyb21VUkw6Y29s
bGVjdERpc2NhcmRlZEl0ZW1zSW50bzplcnJvcjpdKToKKyAgICAgICAgKC1bV2ViSGlzdG9yeVBy
aXZhdGUgc2F2ZVRvVVJMOmVycm9yOl0pOgorICAgICAgICAqIE1pc2MvV2ViSWNvbkRhdGFiYXNl
Lm1tOgorICAgICAgICAoLVtXZWJJY29uRGF0YWJhc2UgX3NjYWxlSWNvbjp0b1NpemU6XSk6Cisg
ICAgICAgICogTWlzYy9XZWJLaXRMb2dnaW5nLmg6CisgICAgICAgICogTWlzYy9XZWJLaXRMb2dn
aW5nLm06CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblBhY2thZ2UubW06Cisg
ICAgICAgICgtW1dlYk5ldHNjYXBlUGx1Z2luUGFja2FnZSBfdHJ5TG9hZF0pOgorICAgICAgICAq
IFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW06CisgICAgICAgIChXZWJOZXRzY2Fw
ZVBsdWdpblN0cmVhbTo6ZGVzdHJveVN0cmVhbSk6CisgICAgICAgICogUGx1Z2lucy9XZWJQbHVn
aW5EYXRhYmFzZS5tbToKKyAgICAgICAgKC1bV2ViUGx1Z2luRGF0YWJhc2UgcmVmcmVzaF0pOgor
ICAgICAgICAqIFBsdWdpbnMvV2ViUGx1Z2luUGFja2FnZS5tbToKKyAgICAgICAgKC1bV2ViUGx1
Z2luUGFja2FnZSBsb2FkXSk6CisgICAgICAgICogV2ViVmlldy9XZWJBcmNoaXZlLm1tOgorICAg
ICAgICAoLVtXZWJBcmNoaXZlIGluaXRXaXRoRGF0YTpdKToKKyAgICAgICAgKC1bV2ViQXJjaGl2
ZSBkYXRhXSk6CisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAgKC1b
V2ViSFRNTFZpZXcgX2F0dHJpYnV0ZVN0cmluZ0Zyb21ET01SYW5nZTpdKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0
aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisKIDIwMTItMDYtMjUgIE1hcmsgSGFobmVu
YmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0xvY2sgc2hvdWxkIGJl
IHBlci1KU0dsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggYjRmN2M0YzhmMzQwZTlmNTlhZmM0
MTQ2ZjU1N2RjMDk4MWM2MDczYS4uOTk3ZTJhZTNkZTMwNWVmMTNiMTBkMTk2NTY5MWQxZWNiNTAy
MmNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOCAgQmVuamFt
aW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55
IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
SW5pdFdlYkNvcmVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbml0aWFsaXplV2ViQ29yZVF0
KToKKwogMjAxMi0wNi0yOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtRdF0gaW5zcGVjdG9yL3N0eWxlcy9pbmplY3Qtc3R5bGVzaGVldC5odG1s
IG1ha2VzIDQgdGVzdHMgZmxha2V5IChURVhUIFBBU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOWYy
NzU1YzNhMzM1M2I3MTMzNjE5MWJjYmI4MTFmYWJhYzgxOGU3YS4uNDkwMmY3MzlhMmM1MjRjNWNh
YjhmNDQ3YmJiZDdiMWE1NGJjNDIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTA2LTI4ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIERvIG5vdCBkbyBhbnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aGVuIGxvZ2dpbmcg
aXMgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkwMjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAy
MDEyLTA2LTI1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgSlNMb2NrIHNob3VsZCBiZSBwZXItSlNHbG9iYWxEYXRhCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4
IDA3N2NkZDQ2MzhhOTFkN2VmNWY2YWExNGI0ZDAwOGM4MTgwNTI0OGUuLjU1MjFmNWQ2NTQwZjJi
MjhkZTM3ZDE4NGNmM2JhODAyYzBhOGIwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMDYtMjggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxpemF0aW9uIHdoZW4gbG9nZ2lu
ZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpDcmVhdGUpOgor
CiAyMDEyLTA1LTMxICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJFR1JFU1NJT04ocjExNzU3Mik6IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1h
c3luYy1yZW1vdmUtZnJhbWUuaHRtbCBjcmFzaGVzIG9uIE1hYwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDcwOWJh
ZjIxZjJlNzQ4MjRiMDQ4NzE3NDVhODNmMmYyZWVjZTRmMGIuLjkwOWYzYjc3NmE3N2ViYzNhYmNh
ZjFlMzQ3ZWQxNTc2NzMyZmNjMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0w
Ni0yOCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBE
byBub3QgZG8gYW55IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2Fi
bGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIy
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxh
dGZvcm0vTG9nZ2luZy5jcHA6CisgICAgICAgICogUGxhdGZvcm0vTG9nZ2luZy5oOgorICAgICAg
ICAqIFBsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgICogUGxhdGZvcm0vcXQvTG9nZ2luZ1F0LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250
ZXh0OjpXZWJDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6V2ViUHJvY2Vzcyk6CisKIDIwMTItMDYtMjgg
IEpvaG4gU3VsbGl2YW4gIDxzdWxsaXZhbkBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIxNj4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0Fzc2VydGlvbnMuaCBiL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaAppbmRl
eCA5ODA3Y2VkYmNiYzZiMzViYTkwZTlhMTZjNmMyNWFmMjE2ZWQ1OTc5Li42MGM5ZjE3MzQ2Mzc1
MjlhZjkzZjE2YWFlOGJiOTUyOTg3YmFhMTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9B
c3NlcnRpb25zLmgKKysrIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oCkBAIC01MCwxOSAr
NTAsNiBAQAogI2luY2x1ZGUgPGludHR5cGVzLmg+CiAjZW5kaWYKIAotI2lmZGVmIE5ERUJVRwot
LyogRGlzYWJsZSBBU1NFUlQqIG1hY3JvcyBpbiByZWxlYXNlIG1vZGUuICovCi0jZGVmaW5lIEFT
U0VSVElPTlNfRElTQUJMRURfREVGQVVMVCAxCi0jZWxzZQotI2RlZmluZSBBU1NFUlRJT05TX0RJ
U0FCTEVEX0RFRkFVTFQgMAotI2VuZGlmCi0KLSNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikK
LSNkZWZpbmUgSEFWRV9WQVJJQURJQ19NQUNSTyAwCi0jZWxzZQotI2RlZmluZSBIQVZFX1ZBUklB
RElDX01BQ1JPIDEKLSNlbmRpZgotCiAjaWZuZGVmIEJBQ0tUUkFDRV9ESVNBQkxFRAogI2RlZmlu
ZSBCQUNLVFJBQ0VfRElTQUJMRUQgQVNTRVJUSU9OU19ESVNBQkxFRF9ERUZBVUxUCiAjZW5kaWYK
QEAgLTk5LDE0ICs4Niw2IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWZuZGVmIExPR19ESVNBQkxF
RAotI2lmIEhBVkUoVkFSSUFESUNfTUFDUk8pCi0jZGVmaW5lIExPR19ESVNBQkxFRCBBU1NFUlRJ
T05TX0RJU0FCTEVEX0RFRkFVTFQKLSNlbHNlCi0jZGVmaW5lIExPR19ESVNBQkxFRCAxCi0jZW5k
aWYKLSNlbmRpZgotCiAjaWYgQ09NUElMRVIoR0NDKQogI2RlZmluZSBXVEZfUFJFVFRZX0ZVTkNU
SU9OIF9fUFJFVFRZX0ZVTkNUSU9OX18KICNlbHNlCkBAIC0zNTgsNyArMzM3LDcgQEAgd2hpbGUg
KDApCiAKICNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikKICNkZWZpbmUgTE9HKCkgKCh2b2lk
KTApCi0jZWxpZiBMT0dfRElTQUJMRUQKKyNlbGlmICFFTkFCTEUoTE9HR0lORykKICNkZWZpbmUg
TE9HKGNoYW5uZWwsIC4uLikgKCh2b2lkKTApCiAjZWxzZQogI2RlZmluZSBMT0coY2hhbm5lbCwg
Li4uKSBXVEZMb2coJkpPSU5fTE9HX0NIQU5ORUxfV0lUSF9QUkVGSVgoTE9HX0NIQU5ORUxfUFJF
RklYLCBjaGFubmVsKSwgX19WQV9BUkdTX18pCkBAIC0zNzAsNyArMzQ5LDcgQEAgd2hpbGUgKDAp
CiAKICNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikKICNkZWZpbmUgTE9HX1ZFUkJPU0UoY2hh
bm5lbCkgKCh2b2lkKTApCi0jZWxpZiBMT0dfRElTQUJMRUQKKyNlbGlmICFFTkFCTEUoTE9HR0lO
RykKICNkZWZpbmUgTE9HX1ZFUkJPU0UoY2hhbm5lbCwgLi4uKSAoKHZvaWQpMCkKICNlbHNlCiAj
ZGVmaW5lIExPR19WRVJCT1NFKGNoYW5uZWwsIC4uLikgV1RGTG9nVmVyYm9zZShfX0ZJTEVfXywg
X19MSU5FX18sIFdURl9QUkVUVFlfRlVOQ1RJT04sICZKT0lOX0xPR19DSEFOTkVMX1dJVEhfUFJF
RklYKExPR19DSEFOTkVMX1BSRUZJWCwgY2hhbm5lbCksIF9fVkFfQVJHU19fKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
aW5kZXggNzJlNjZmMDk0N2YwNTQzMTY3Y2VmNzc2YzJmODc2MmYwYjIyN2E3NC4uMDUwZWI1ZjNj
ZDA5NDQ5YmRkMDY4YWJkYWI2ZmFkMjI0MGVhMGI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0zMDQsNiAr
MzA0LDI3IEBACiAjZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQogI2VuZGlm
CiAKKy8qID09PT0gRGVidWdnaW5nIGFuZCBMb2dnaW5nID09PT0gKi8KKworI2lmZGVmIE5ERUJV
RworLyogRGlzYWJsZSBBU1NFUlQqIG1hY3JvcyBpbiByZWxlYXNlIG1vZGUuICovCisjZGVmaW5l
IEFTU0VSVElPTlNfRElTQUJMRURfREVGQVVMVCAxCisjZWxzZQorI2RlZmluZSBBU1NFUlRJT05T
X0RJU0FCTEVEX0RFRkFVTFQgMAorI2VuZGlmCisKKyNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dF
UikKKyNkZWZpbmUgSEFWRV9WQVJJQURJQ19NQUNSTyAwCisjZWxzZQorI2RlZmluZSBIQVZFX1ZB
UklBRElDX01BQ1JPIDEKKyNlbmRpZgorCisjaWYgSEFWRShWQVJJQURJQ19NQUNSTykgJiYgIUFT
U0VSVElPTlNfRElTQUJMRURfREVGQVVMVAorI2RlZmluZSBFTkFCTEVfTE9HR0lORyAxCisjZWxz
ZQorI2RlZmluZSBFTkFCTEVfTE9HR0lORyAwCisjZW5kaWYKKwogLyogPT09PSBPUygpIC0gdW5k
ZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxv
dy1sZXZlbCBzZXJ2aWNlcyBsaWtlIAogICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9vc2Ug
YSBHVUkgdG9vbGtpdCA9PT09ICovCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVh
ZGluZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDhkNjU4ZTkzNDhi
ZGU1NjYwNzI0MWE1M2EzZDMxMDdlOWM4N2UzMjMuLjE4MTZjNzkzN2RmOTk5YjNkNWMzMTQ4MTdh
MzAyMmVhYjdkNDBhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAK
KysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcApAQCAtNzMsNyArNzMsNyBAQCBUaHJl
YWRJZGVudGlmaWVyIGNyZWF0ZVRocmVhZChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lk
KiBkYXRhLCBjb25zdCBjaGFyKgogewogICAgIC8vIFZpc3VhbCBTdHVkaW8gaGFzIGEgMzEtY2hh
cmFjdGVyIGxpbWl0IG9uIHRocmVhZCBuYW1lcy4gTG9uZ2VyIG5hbWVzIHdpbGwKICAgICAvLyBi
ZSB0cnVuY2F0ZWQgc2lsZW50bHksIGJ1dCB3ZSdkIGxpa2UgY2FsbGVycyB0byBrbm93IGFib3V0
IHRoZSBsaW1pdC4KLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAg
aWYgKHN0cmxlbihuYW1lKSA+IDMxKQogICAgICAgICBMT0dfRVJST1IoIlRocmVhZCBuYW1lIFwi
JXNcIiBpcyBsb25nZXIgdGhhbiAzMSBjaGFyYWN0ZXJzIGFuZCB3aWxsIGJlIHRydW5jYXRlZCBi
eSBWaXN1YWwgU3R1ZGlvIiwgbmFtZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmgKaW5kZXggMTJiODk4NWQx
MWZkZmU1ZjJkYzZkY2JkYTcyNWNjMTQ3YWU2YWYyYy4uMWE4YzMxN2QzMWQ2ZGZhODNjNjUyODQy
MjQwZjg4NzNhZDllMTZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmgKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRl
ICJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+Ci0jaWYgIUxPR19ESVNBQkxFRCB8fCAhRVJST1Jf
RElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykgfHwgIUVSUk9SX0RJU0FCTEVECiAjaW5jbHVk
ZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNlbmRpZgogCkBAIC0xMzcsNyArMTM3LDcgQEAgcHJvdGVj
dGVkOgogICAgIHVuc2lnbmVkIGxvbmcgbV9lc3RpbWF0ZWRTaXplOwogICAgIFN0cmluZyBtX2Zp
bGVuYW1lOwogCi0jaWYgIUxPR19ESVNBQkxFRCB8fCAhRVJST1JfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykgfHwgIUVSUk9SX0RJU0FCTEVECiAgICAgU3RyaW5nIGRhdGFiYXNlRGVidWdO
YW1lKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0VGhyZWFkU2VjdXJpdHlPcmlnaW4tPnRvU3Ry
aW5nKCkgKyAiOjoiICsgbV9uYW1lOyB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suY3BwCmluZGV4IDA2NjcyNWZlMzc3
MmFhNDhkZTBhZDk5ZTUxM2Q3ZjlkZmYyYzg5ZTIuLjYwNDdlN2E0YWM4YjA0NjIyMDBjM2YwOTNj
MTNkMmEzODMyY2RiY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlVGFzay5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9pZCBEYXRhYmFzZVRh
c2tTeW5jaHJvbml6ZXI6OnRhc2tDb21wbGV0ZWQoKQogRGF0YWJhc2VUYXNrOjpEYXRhYmFzZVRh
c2soRGF0YWJhc2UqIGRhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqIHN5bmNocm9u
aXplcikKICAgICA6IG1fZGF0YWJhc2UoZGF0YWJhc2UpCiAgICAgLCBtX3N5bmNocm9uaXplcihz
eW5jaHJvbml6ZXIpCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAg
ICwgbV9jb21wbGV0ZShmYWxzZSkKICNlbmRpZgogewpAQCAtNzAsNyArNzAsNyBAQCBEYXRhYmFz
ZVRhc2s6OkRhdGFiYXNlVGFzayhEYXRhYmFzZSogZGF0YWJhc2UsIERhdGFiYXNlVGFza1N5bmNo
cm9uaXplciogc3luY2hybwogCiBEYXRhYmFzZVRhc2s6On5EYXRhYmFzZVRhc2soKQogewotI2lm
ICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBBU1NFUlQobV9jb21wbGV0
ZSB8fCAhbV9zeW5jaHJvbml6ZXIpOwogI2VuZGlmCiB9CkBAIC03OCw3ICs3OCw3IEBAIERhdGFi
YXNlVGFzazo6fkRhdGFiYXNlVGFzaygpCiB2b2lkIERhdGFiYXNlVGFzazo6cGVyZm9ybVRhc2so
KQogewogICAgIC8vIERhdGFiYXNlIHRhc2tzIGFyZSBtZWFudCB0byBiZSB1c2VkIG9ubHkgb25j
ZSwgc28gbWFrZSBzdXJlIHRoaXMgb25lIGhhc24ndCBiZWVuIHBlcmZvcm1lZCBiZWZvcmUuCi0j
aWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIEFTU0VSVCghbV9jb21w
bGV0ZSk7CiAjZW5kaWYKIApAQCAtOTAsNyArOTAsNyBAQCB2b2lkIERhdGFiYXNlVGFzazo6cGVy
Zm9ybVRhc2soKQogICAgIGlmIChtX3N5bmNocm9uaXplcikKICAgICAgICAgbV9zeW5jaHJvbml6
ZXItPnRhc2tDb21wbGV0ZWQoKTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9H
R0lORykKICAgICBtX2NvbXBsZXRlID0gdHJ1ZTsKICNlbmRpZgogfQpAQCAtMTE2LDcgKzExNiw3
IEBAIHZvaWQgRGF0YWJhc2U6OkRhdGFiYXNlT3BlblRhc2s6OmRvUGVyZm9ybVRhc2soKQogICAg
ICAgICBtX2Vycm9yTWVzc2FnZSA9IGVycm9yTWVzc2FnZS5pc29sYXRlZENvcHkoKTsKIH0KIAot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIGNvbnN0IGNoYXIqIERhdGFi
YXNlOjpEYXRhYmFzZU9wZW5UYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QKIHsKICAgICByZXR1
cm4gIkRhdGFiYXNlT3BlblRhc2siOwpAQCAtMTM2LDcgKzEzNiw3IEBAIHZvaWQgRGF0YWJhc2U6
OkRhdGFiYXNlQ2xvc2VUYXNrOjpkb1BlcmZvcm1UYXNrKCkKICAgICBkYXRhYmFzZSgpLT5jbG9z
ZSgpOwogfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogY29uc3Qg
Y2hhciogRGF0YWJhc2U6OkRhdGFiYXNlQ2xvc2VUYXNrOjpkZWJ1Z1Rhc2tOYW1lKCkgY29uc3QK
IHsKICAgICByZXR1cm4gIkRhdGFiYXNlQ2xvc2VUYXNrIjsKQEAgLTE1OCw3ICsxNTgsNyBAQCB2
b2lkIERhdGFiYXNlOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6ZG9QZXJmb3JtVGFzaygpCiAg
ICAgICAgIG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCktPmluUHJvZ3Jlc3NUcmFuc2FjdGlvbkNv
bXBsZXRlZCgpOwogfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
Y29uc3QgY2hhciogRGF0YWJhc2U6OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrOjpkZWJ1Z1Rhc2tO
YW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gIkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNrIjsKQEAg
LTE4MCw3ICsxODAsNyBAQCB2b2lkIERhdGFiYXNlOjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNrOjpk
b1BlcmZvcm1UYXNrKCkKICAgICBtX3RhYmxlTmFtZXMgPSBkYXRhYmFzZSgpLT5wZXJmb3JtR2V0
VGFibGVOYW1lcygpOwogfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5H
KQogY29uc3QgY2hhciogRGF0YWJhc2U6OkRhdGFiYXNlVGFibGVOYW1lc1Rhc2s6OmRlYnVnVGFz
a05hbWUoKSBjb25zdAogewogICAgIHJldHVybiAiRGF0YWJhc2VUYWJsZU5hbWVzVGFzayI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFz
ay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suaApp
bmRleCA4MmQ1MWYwM2ZhYTFlY2YyYTBjMDE0YTdkNzFkMjk3ZTA4MzQ5OTk5Li5lOGFmMGI4Mzdk
OTlmYTA4YTVlYTgyNjY1N2VmMDkwNTY5MjI1YmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUYXNrLmgKQEAgLTkyLDcgKzkyLDcgQEAgcHJp
dmF0ZToKICAgICBEYXRhYmFzZSogbV9kYXRhYmFzZTsKICAgICBEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIqIG1fc3luY2hyb25pemVyOwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogICAgIHZpcnR1YWwgY29uc3QgY2hhciogZGVidWdUYXNrTmFtZSgpIGNvbnN0ID0g
MDsKICAgICBib29sIG1fY29tcGxldGU7CiAjZW5kaWYKQEAgLTEwOSw3ICsxMDksNyBAQCBwcml2
YXRlOgogICAgIERhdGFiYXNlT3BlblRhc2soRGF0YWJhc2UqLCBib29sIHNldFZlcnNpb25Jbk5l
d0RhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqLCBFeGNlcHRpb25Db2RlJiwgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGJvb2wmIHN1Y2Nlc3MpOwogCiAgICAgdmlydHVhbCB2b2lkIGRv
UGVyZm9ybVRhc2soKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAg
ICAgdmlydHVhbCBjb25zdCBjaGFyKiBkZWJ1Z1Rhc2tOYW1lKCkgY29uc3Q7CiAjZW5kaWYKIApA
QCAtMTMwLDcgKzEzMCw3IEBAIHByaXZhdGU6CiAgICAgRGF0YWJhc2VDbG9zZVRhc2soRGF0YWJh
c2UqLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkb1Bl
cmZvcm1UYXNrKCk7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAg
IHZpcnR1YWwgY29uc3QgY2hhciogZGVidWdUYXNrTmFtZSgpIGNvbnN0OwogI2VuZGlmCiB9OwpA
QCAtMTQ5LDcgKzE0OSw3IEBAIHByaXZhdGU6CiAgICAgRGF0YWJhc2VUcmFuc2FjdGlvblRhc2so
UGFzc1JlZlB0cjxTUUxUcmFuc2FjdGlvbj4pOwogCiAgICAgdmlydHVhbCB2b2lkIGRvUGVyZm9y
bVRhc2soKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgdmly
dHVhbCBjb25zdCBjaGFyKiBkZWJ1Z1Rhc2tOYW1lKCkgY29uc3Q7CiAjZW5kaWYKIApAQCAtMTY3
LDcgKzE2Nyw3IEBAIHByaXZhdGU6CiAgICAgRGF0YWJhc2VUYWJsZU5hbWVzVGFzayhEYXRhYmFz
ZSosIERhdGFiYXNlVGFza1N5bmNocm9uaXplciosIFZlY3RvcjxTdHJpbmc+JiBuYW1lcyk7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgZG9QZXJmb3JtVGFzaygpOwotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGRlYnVnVGFza05hbWUo
KSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uY3BwCmluZGV4IGU5ZjM4YTk3NmRiZTlmNmY1ODc1NjIy
MmI4ZmY0ZTA2YTk5NzU1NzAuLjE3YjI4NzUwODRkYzNjYjVlMDQyMzE5MTNmZTk0NmU3MGY2Yjkz
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJh
bnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FM
VHJhbnNhY3Rpb24uY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTUUxUcmFuc2FjdGlvbjo6
ZW5xdWV1ZVN0YXRlbWVudChQYXNzUmVmUHRyPFNRTFN0YXRlbWVudD4gc3RhdGVtZW50KQogICAg
IG1fc3RhdGVtZW50UXVldWUuYXBwZW5kKHN0YXRlbWVudCk7CiB9CiAKLSNpZiAhTE9HX0RJU0FC
TEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiBjb25zdCBjaGFyKiBTUUxUcmFuc2FjdGlvbjo6ZGVi
dWdTdGVwTmFtZShTUUxUcmFuc2FjdGlvbjo6VHJhbnNhY3Rpb25TdGVwTWV0aG9kIHN0ZXApCiB7
CiAgICAgaWYgKHN0ZXAgPT0gJlNRTFRyYW5zYWN0aW9uOjphY3F1aXJlTG9jaykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaAppbmRl
eCAxMTQzOGUyMmEzZjQ1YWU3ZGFlMmRhZTg4ZTZkNjY0MDQ0OGE3Y2FmLi40NTVjNWQ1Zjc4YzVk
OGFiYzM4YWM3MTU1ZTJmYzI4MzFlOTJkZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oCkBAIC0xMDYsNyArMTA2LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRlbGl2ZXJUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2soKTsKICAg
ICB2b2lkIGNsZWFudXBBZnRlclRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjaygpOwogCi0jaWYgIUxP
R19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBk
ZWJ1Z1N0ZXBOYW1lKFRyYW5zYWN0aW9uU3RlcE1ldGhvZCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgppbmRleCBhYmRkZmI3MjJhZDJjM2M2NDRlMjk3MjNmYWU5ZTFjYjBiZTYxMzE0Li44
YWU1OTUxMGJhYWM3YmY5MTQ0ZjJiZDdjMmI5ZTFlMWVkODFkMGQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgpAQCAtNjI2LDcgKzYyNiw5IEBAIF9fWk43V2ViQ29yZTMxQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZTVlbXB0eUV2CiBfX1pON1dlYkNvcmUzMUNyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGU2c2hhcmVkRXYKIF9fWk43V2ViQ29yZTMycGxhaW5UZXh0VG9NYWxsb2NBbGxv
Y2F0ZWRCdWZmZXJFUEtOU181UmFuZ2VFUmpiTlNfMjBUZXh0SXRlcmF0b3JCZWhhdmlvckUKIF9f
Wk43V2ViQ29yZTMzc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzRVJLTjNXVEY2U3Ry
aW5nRQorI2lmIEVOQUJMRShMT0dHSU5HKQogX19aTjdXZWJDb3JlMzZpbml0aWFsaXplTG9nZ2lu
Z0NoYW5uZWxzSWZOZWNlc3NhcnlFdgorI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogX19aTjdX
ZWJDb3JlM21hY0VSS05TXzEwQ3JlZGVudGlhbEUKIF9fWk43V2ViQ29yZTNtYWNFUktOU18yM0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRQogX19aTjdXZWJDb3JlNDByZXN0cmljdE1pbmltdW1TY2Fs
ZUZhY3RvclRvVmlld3BvcnRTaXplRVJOU18xOFZpZXdwb3J0QXR0cmlidXRlc0VOU183SW50U2l6
ZUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGZkZGM0Mjg5
M2ViZDAwM2UwYTU1ZGRiN2YyYzg3NTg2NWU3YTk0N2YuLmI1MzNiMjhiZWYyNWQ4MzMwOWMxNmFi
OGNjYjE4N2QxMzhiNjhlOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIHN0
YXRpYyBTdHJpbmcgdXJsRm9yTG9nZ2luZyhjb25zdCBLVVJMJiB1cmwpCiB7CiAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIG1heGltdW1VUkxMZW5ndGhGb3JMb2dnaW5nID0gMTI4OwpAQCAtMTkz
Niw3ICsxOTM2LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZWVrKGZsb2F0IHRpbWUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogICAgIC8vIHRpbWUgc2NhbGUsIHdlIHdpbGwgYXNrIHRoZSBtZWRp
YSBlbmdpbmUgdG8gInNlZWsiIHRvIHRoZSBjdXJyZW50IG1vdmllIHRpbWUsIHdoaWNoIG1heSBi
ZSBhIG5vb3AgYW5kCiAgICAgLy8gbm90IGdlbmVyYXRlIGEgdGltZWNoYW5nZWQgY2FsbGJhY2su
IFRoaXMgbWVhbnMgbV9zZWVraW5nIHdpbGwgbmV2ZXIgYmUgY2xlYXJlZCBhbmQgd2Ugd2lsbCBu
ZXZlciAKICAgICAvLyBmaXJlIGEgJ3NlZWtlZCcgZXZlbnQuCi0jaWYgIUxPR19ESVNBQkxFRAor
I2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGZsb2F0IG1lZGlhVGltZSA9IG1fcGxheWVyLT5tZWRp
YVRpbWVGb3JUaW1lVmFsdWUodGltZSk7CiAgICAgaWYgKHRpbWUgIT0gbWVkaWFUaW1lKQogICAg
ICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzZWVrKCVmKSAtIG1lZGlhIHRpbWVs
aW5lIGVxdWl2YWxlbnQgaXMgJWYiLCB0aW1lLCBtZWRpYVRpbWUpOwpAQCAtMjg4Miw3ICsyODgy
LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3aWxsUmVtb3ZlVHJhY2soSFRNTFRyYWNrRWxl
bWVudCogdHJhY2tFbGVtZW50KQogICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2Vi
a2l0VmlkZW9UcmFja0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgIUxPR19ESVNB
QkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmICh0cmFja0VsZW1lbnQtPmhhc1RhZ05h
bWUodHJhY2tUYWcpKSB7CiAgICAgICAgIEtVUkwgdXJsID0gdHJhY2tFbGVtZW50LT5nZXROb25F
bXB0eVVSTEF0dHJpYnV0ZShzcmNBdHRyKTsKICAgICAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlh
RWxlbWVudDo6d2lsbFJlbW92ZVRyYWNrIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JMb2dnaW5nKHVy
bCkudXRmOCgpLmRhdGEoKSk7CkBAIC0zMTAzLDcgKzMxMDMsNyBAQCBib29sIEhUTUxNZWRpYUVs
ZW1lbnQ6OmhhdmVQb3RlbnRpYWxTb3VyY2VDaGlsZCgpCiAKIEtVUkwgSFRNTE1lZGlhRWxlbWVu
dDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkKENvbnRlbnRUeXBlKiBjb250ZW50VHlwZSwgU3RyaW5n
KiBrZXlTeXN0ZW0sIEludmFsaWRVUkxBY3Rpb24gYWN0aW9uSWZJbnZhbGlkKQogewotI2lmICFM
T0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAvLyBEb24ndCBsb2cgaWYgdGhp
cyB3YXMganVzdCBjYWxsZWQgdG8gZmluZCBvdXQgaWYgdGhlcmUgYXJlIGFueSB2YWxpZCA8c291
cmNlPiBlbGVtZW50cy4KICAgICBib29sIHNob3VsZExvZyA9IGFjdGlvbklmSW52YWxpZCAhPSBE
b05vdGhpbmc7CiAgICAgaWYgKHNob3VsZExvZykKQEAgLTMxMTEsNyArMzExMSw3IEBAIEtVUkwg
SFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkKENvbnRlbnRUeXBlKiBjb250
ZW50VHlwZSwgU3RyaW5nKiBrCiAjZW5kaWYKIAogICAgIGlmICghbV9uZXh0Q2hpbGROb2RlVG9D
b25zaWRlcikgewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAg
ICAgaWYgKHNob3VsZExvZykKICAgICAgICAgICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OnNlbGVjdE5leHRTb3VyY2VDaGlsZCAtPiAweDAwMDAsIFwiXCIiKTsKICNlbmRpZgpAQCAt
MzE0NSw3ICszMTQ1LDcgQEAgS1VSTCBIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNl
Q2hpbGQoQ29udGVudFR5cGUqIGNvbnRlbnRUeXBlLCBTdHJpbmcqIGsKIAogICAgICAgICAvLyBJ
ZiBjYW5kaWRhdGUgZG9lcyBub3QgaGF2ZSBhIHNyYyBhdHRyaWJ1dGUsIG9yIGlmIGl0cyBzcmMg
YXR0cmlidXRlJ3MgdmFsdWUgaXMgdGhlIGVtcHR5IHN0cmluZyAuLi4ganVtcCBkb3duIHRvIHRo
ZSBmYWlsZWQgc3RlcCBiZWxvdwogICAgICAgICBtZWRpYVVSTCA9IHNvdXJjZS0+Z2V0Tm9uRW1w
dHlVUkxBdHRyaWJ1dGUoc3JjQXR0cik7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogICAgICAgICBpZiAoc2hvdWxkTG9nKQogICAgICAgICAgICAgTE9HKE1lZGlhLCAi
SFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkIC0gJ3NyYycgaXMgJXMiLCB1
cmxGb3JMb2dnaW5nKG1lZGlhVVJMKS51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgpAQCAtMzE1NSw3
ICszMTU1LDcgQEAgS1VSTCBIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNlQ2hpbGQo
Q29udGVudFR5cGUqIGNvbnRlbnRUeXBlLCBTdHJpbmcqIGsKICAgICAgICAgaWYgKHNvdXJjZS0+
ZmFzdEhhc0F0dHJpYnV0ZShtZWRpYUF0dHIpKSB7CiAgICAgICAgICAgICBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHNjcmVlbkV2YWwoInNjcmVlbiIsIGRvY3VtZW50KCktPmZyYW1lKCksIHJlbmRlcmVy
KCkgPyByZW5kZXJlcigpLT5zdHlsZSgpIDogMCk7CiAgICAgICAgICAgICBSZWZQdHI8TWVkaWFR
dWVyeVNldD4gbWVkaWEgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGVBbGxvd2luZ0Rlc2NyaXB0aW9u
U3ludGF4KHNvdXJjZS0+bWVkaWEoKSk7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogICAgICAgICAgICAgaWYgKHNob3VsZExvZykKICAgICAgICAgICAgICAgICBMT0co
TWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNlQ2hpbGQgLSAnbWVkaWEn
IGlzICVzIiwgc291cmNlLT5tZWRpYSgpLnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCkBAIC0zMTY4
LDcgKzMxNjgsNyBAQCBLVVJMIEhUTUxNZWRpYUVsZW1lbnQ6OnNlbGVjdE5leHRTb3VyY2VDaGls
ZChDb250ZW50VHlwZSogY29udGVudFR5cGUsIFN0cmluZyogawogICAgICAgICBpZiAodHlwZS5p
c0VtcHR5KCkgJiYgbWVkaWFVUkwucHJvdG9jb2xJc0RhdGEoKSkKICAgICAgICAgICAgIHR5cGUg
PSBtaW1lVHlwZUZyb21EYXRhVVJMKG1lZGlhVVJMKTsKICAgICAgICAgaWYgKCF0eXBlLmlzRW1w
dHkoKSB8fCAhc3lzdGVtLmlzRW1wdHkoKSkgewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykKICAgICAgICAgICAgIGlmIChzaG91bGRMb2cpCiAgICAgICAgICAgICAgICAg
TE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkIC0gJ3R5
cGUnIGlzICclcycgLSBrZXkgc3lzdGVtIGlzICclcyciLCB0eXBlLnV0ZjgoKS5kYXRhKCksIHN5
c3RlbS51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgpAQCAtMzIwOSw3ICszMjA5LDcgQEAgY2hlY2tf
YWdhaW46CiAgICAgICAgIG1fbmV4dENoaWxkTm9kZVRvQ29uc2lkZXIgPSAwOwogICAgIH0KIAot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAoc2hvdWxkTG9n
KQogICAgICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzZWxlY3ROZXh0U291cmNl
Q2hpbGQgLT4gJXAsICVzIiwgbV9jdXJyZW50U291cmNlTm9kZS5nZXQoKSwgY2FuVXNlU291cmNl
RWxlbWVudCA/IHVybEZvckxvZ2dpbmcobWVkaWFVUkwpLnV0ZjgoKS5kYXRhKCkgOiAiIik7CiAj
ZW5kaWYKQEAgLTMyMjAsNyArMzIyMCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c291cmNl
V2FzQWRkZWQoSFRNTFNvdXJjZUVsZW1lbnQqIHNvdXJjZSkKIHsKICAgICBMT0coTWVkaWEsICJI
VE1MTWVkaWFFbGVtZW50Ojpzb3VyY2VXYXNBZGRlZCglcCkiLCBzb3VyY2UpOwogCi0jaWYgIUxP
R19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChzb3VyY2UtPmhhc1RhZ05h
bWUoc291cmNlVGFnKSkgewogICAgICAgICBLVVJMIHVybCA9IHNvdXJjZS0+Z2V0Tm9uRW1wdHlV
UkxBdHRyaWJ1dGUoc3JjQXR0cik7CiAgICAgICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OnNvdXJjZVdhc0FkZGVkIC0gJ3NyYycgaXMgJXMiLCB1cmxGb3JMb2dnaW5nKHVybCkudXRm
OCgpLmRhdGEoKSk7CkBAIC0zMjY4LDcgKzMyNjgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnNvdXJjZVdhc1JlbW92ZWQoSFRNTFNvdXJjZUVsZW1lbnQqIHNvdXJjZSkKIHsKICAgICBMT0co
TWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojpzb3VyY2VXYXNSZW1vdmVkKCVwKSIsIHNvdXJjZSk7
CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgaWYgKHNvdXJj
ZS0+aGFzVGFnTmFtZShzb3VyY2VUYWcpKSB7CiAgICAgICAgIEtVUkwgdXJsID0gc291cmNlLT5n
ZXROb25FbXB0eVVSTEF0dHJpYnV0ZShzcmNBdHRyKTsKICAgICAgICAgTE9HKE1lZGlhLCAiSFRN
TE1lZGlhRWxlbWVudDo6c291cmNlV2FzUmVtb3ZlZCAtICdzcmMnIGlzICVzIiwgdXJsRm9yTG9n
Z2luZyh1cmwpLnV0ZjgoKS5kYXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxl
bWVudC5jcHAKaW5kZXggYTBjMjBiZmE3NDQ3Mzc4ZGJkZWVlYThlYTlkNDFkMDViMDI1MTYxMy4u
OTk5MGRiNDFlMjlkNjA2NzFmZGRlYjhiMGQyODEyMDc4MmJlNjY0MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCkBAIC00Miw3ICs0Miw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotI2lmICFMT0dfRElTQUJM
RUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIHN0YXRpYyBTdHJpbmcgdXJsRm9yTG9nZ2luZyhjb25z
dCBLVVJMJiB1cmwpCiB7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heGltdW1VUkxMZW5n
dGhGb3JMb2dnaW5nID0gMTI4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hp
c3RvcnlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJv
bGxlci5jcHAKaW5kZXggYmY4ZDdjOGUyNmY5NjFiM2ZmZTlmNWUxOGI0NGYyYTU4MDk4YjAzYS4u
NWU2OWY1NjFlYzI1YTlmMjUzNjBmMDBjNDZiMDFiZTFhNjJkN2FmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9p
ZCBIaXN0b3J5Q29udHJvbGxlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVyKQogCiB2b2lk
IEhpc3RvcnlDb250cm9sbGVyOjp1cGRhdGVGb3JCYWNrRm9yd2FyZE5hdmlnYXRpb24oKQogewot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAobV9mcmFtZS0+
bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkpCiAgICAgICAgIExPRyhIaXN0b3J5LCAiV2ViQ29y
ZUhpc3Rvcnk6IFVwZGF0aW5nIEhpc3RvcnkgZm9yIGJhY2svZm9yd2FyZCBuYXZpZ2F0aW9uIGlu
IGZyYW1lICVzIiwgbV9mcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPnRpdGxlKCku
c3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAjZW5kaWYKQEAgLTMwMiw3ICszMDIsNyBAQCB2b2lk
IEhpc3RvcnlDb250cm9sbGVyOjp1cGRhdGVGb3JCYWNrRm9yd2FyZE5hdmlnYXRpb24oKQogCiB2
b2lkIEhpc3RvcnlDb250cm9sbGVyOjp1cGRhdGVGb3JSZWxvYWQoKQogewotI2lmICFMT0dfRElT
QUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAobV9mcmFtZS0+bG9hZGVyKCktPmRv
Y3VtZW50TG9hZGVyKCkpCiAgICAgICAgIExPRyhIaXN0b3J5LCAiV2ViQ29yZUhpc3Rvcnk6IFVw
ZGF0aW5nIEhpc3RvcnkgZm9yIHJlbG9hZCBpbiBmcmFtZSAlcyIsIG1fZnJhbWUtPmxvYWRlcigp
LT5kb2N1bWVudExvYWRlcigpLT50aXRsZSgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogI2Vu
ZGlmCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9y
U3RhbmRhcmRMb2FkKEhpc3RvcnlVcGRhdGVUeXBlIHVwZGF0ZVR5cGUpCiAKIHZvaWQgSGlzdG9y
eUNvbnRyb2xsZXI6OnVwZGF0ZUZvclJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdCgp
CiB7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChtX2Zy
YW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKSkKICAgICAgICAgTE9HKEhpc3RvcnksICJX
ZWJDb3JlSGlzdG9yeTogVXBkYXRpbmcgSGlzdG9yeSBmb3IgcmVkaXJlY3QgbG9hZCBpbiBmcmFt
ZSAlcyIsIG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT50aXRsZSgpLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCkBAIC00MDYsNyArNDA2LDcgQEAgdm9pZCBIaXN0
b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yUmVkaXJlY3RXaXRoTG9ja2VkQmFja0ZvcndhcmRMaXN0
KCkKIAogdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQ2xpZW50UmVkaXJlY3QoKQog
ewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAobV9mcmFt
ZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkpCiAgICAgICAgIExPRyhIaXN0b3J5LCAiV2Vi
Q29yZUhpc3Rvcnk6IFVwZGF0aW5nIEhpc3RvcnkgZm9yIGNsaWVudCByZWRpcmVjdCBpbiBmcmFt
ZSAlcyIsIG1fZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT50aXRsZSgpLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCkpOwogI2VuZGlmCkBAIC00MzEsNyArNDMxLDcgQEAgdm9pZCBIaXN0
b3J5Q29udHJvbGxlcjo6dXBkYXRlRm9yQ2xpZW50UmVkaXJlY3QoKQogdm9pZCBIaXN0b3J5Q29u
dHJvbGxlcjo6dXBkYXRlRm9yQ29tbWl0KCkKIHsKICAgICBGcmFtZUxvYWRlciogZnJhbWVMb2Fk
ZXIgPSBtX2ZyYW1lLT5sb2FkZXIoKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAgICAgaWYgKGZyYW1lTG9hZGVyLT5kb2N1bWVudExvYWRlcigpKQogICAgICAgICBM
T0coSGlzdG9yeSwgIldlYkNvcmVIaXN0b3J5OiBVcGRhdGluZyBIaXN0b3J5IGZvciBjb21taXQg
aW4gZnJhbWUgJXMiLCBmcmFtZUxvYWRlci0+ZG9jdW1lbnRMb2FkZXIoKS0+dGl0bGUoKS5zdHJp
bmcoKS51dGY4KCkuZGF0YSgpKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5jcHAKaW5kZXggN2MxMzU4NmYyOTAwNDBiNDM1NmRhNGVhZjczZWJjMTUy
NGM1NWUwYy4uMTNmYTYwZTM5MDFmZDQzZjViMzAwMjUzYTNkNjc1ZWFhNTliYzBjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCkBAIC03Myw3ICs3Myw3
IEBAIHN0YXRpYyBjb25zdCBpbnQgdXBkYXRlVGltZXJEZWxheSA9IDU7CiAKIHN0YXRpYyBib29s
IGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKLSNpZiAhTE9HX0RJU0FCTEVEIHx8ICFF
UlJPUl9ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKSB8fCAhRVJST1JfRElTQUJMRUQKIHN0
YXRpYyBTdHJpbmcgdXJsRm9yTG9nZ2luZyhjb25zdCBTdHJpbmcmIHVybCkKIHsKICAgICBzdGF0
aWMgdW5zaWduZWQgdXJsVHJ1bmNhdGlvbkxlbmd0aCA9IDEyMDsKQEAgLTEwMDksNyArMTAwOSw3
IEBAIHZvaWQgSWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VTeW5jVGhyZWFkKCkKICAgICAKICAg
ICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgSWNvbkRhdGFiYXNlIHN5bmMgdGhyZWFkIHN0
YXJ0ZWQiKTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBk
b3VibGUgc3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKICNlbmRpZgogCkBAIC0xMDM3LDcgKzEw
MzcsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6aWNvbkRhdGFiYXNlU3luY1RocmVhZCgpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykKICAgICBkb3VibGUgdGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKICAgICBM
T0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgT3BlbiB0b29rICUuNGYgc2Vjb25kcyIsIHRpbWVT
dGFtcCAtIHN0YXJ0VGltZSk7CiAjZW5kaWYgICAgCkBAIC0xMDQ4LDcgKzEwNDgsNyBAQCB2b2lk
IEljb25EYXRhYmFzZTo6aWNvbkRhdGFiYXNlU3luY1RocmVhZCgpCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykK
ICAgICBkb3VibGUgbmV3U3RhbXAgPSBjdXJyZW50VGltZSgpOwogICAgIExPRyhJY29uRGF0YWJh
c2UsICIoVEhSRUFEKSBwZXJmb3JtT3BlbkluaXRpYWxpemF0aW9uKCkgdG9vayAlLjRmIHNlY29u
ZHMsIG5vdyAlLjRmIHNlY29uZHMgZnJvbSB0aHJlYWQgc3RhcnQiLCBuZXdTdGFtcCAtIHRpbWVT
dGFtcCwgbmV3U3RhbXAgLSBzdGFydFRpbWUpOwogICAgIHRpbWVTdGFtcCA9IG5ld1N0YW1wOwpA
QCAtMTA3Myw3ICsxMDczLDcgQEAgdm9pZCBJY29uRGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNU
aHJlYWQoKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgICAgICAKLSNp
ZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgICAgIG5ld1N0YW1wID0g
Y3VycmVudFRpbWUoKTsKICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIHBlcmZv
cm1JbXBvcnQoKSB0b29rICUuNGYgc2Vjb25kcywgbm93ICUuNGYgc2Vjb25kcyBmcm9tIHRocmVh
ZCBzdGFydCIsIG5ld1N0YW1wIC0gdGltZVN0YW1wLCBuZXdTdGFtcCAtIHN0YXJ0VGltZSk7CiAg
ICAgICAgIHRpbWVTdGFtcCA9IG5ld1N0YW1wOwpAQCAtMTA5Miw3ICsxMDkyLDcgQEAgdm9pZCBJ
Y29uRGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNUaHJlYWQoKQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIG5ld1N0
YW1wID0gY3VycmVudFRpbWUoKTsKICAgICBMT0coSWNvbkRhdGFiYXNlLCAiKFRIUkVBRCkgcGVy
Zm9ybVVSTEltcG9ydCgpIHRvb2sgJS40ZiBzZWNvbmRzLiAgRW50ZXJpbmcgbWFpbiBsb29wICUu
NGYgc2Vjb25kcyBmcm9tIHRocmVhZCBzdGFydCIsIG5ld1N0YW1wIC0gdGltZVN0YW1wLCBuZXdT
dGFtcCAtIHN0YXJ0VGltZSk7CiAjZW5kaWYgCkBAIC0xNDE1LDcgKzE0MTUsNyBAQCB2b2lkIElj
b25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKCkKICAgICB3aGlsZSAoIW1fdGhyZWFkVGVy
bWluYXRpb25SZXF1ZXN0ZWQpIHsKICAgICAgICAgbV9zeW5jTG9jay51bmxvY2soKTsKIAotI2lm
ICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAgZG91YmxlIHRpbWVT
dGFtcCA9IGN1cnJlbnRUaW1lKCk7CiAjZW5kaWYKICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwg
IihUSFJFQUQpIE1haW4gd29yayBsb29wIHN0YXJ0aW5nIik7CkBAIC0xNDUzLDcgKzE0NTMsNyBA
QCB2b2lkIEljb25EYXRhYmFzZTo6c3luY1RocmVhZE1haW5Mb29wKCkKICAgICAgICAgICAgIC8v
IGhhcyBhc2tlZCB0byBkZWxheSBwcnVuaW5nCiAgICAgICAgICAgICBzdGF0aWMgYm9vbCBwcnVu
ZWRVbnJldGFpbmVkSWNvbnMgPSBmYWxzZTsKICAgICAgICAgICAgIGlmIChkaWRXcml0ZSAmJiAh
bV9wcml2YXRlQnJvd3NpbmdFbmFibGVkICYmICFwcnVuZWRVbnJldGFpbmVkSWNvbnMgJiYgIWRh
dGFiYXNlQ2xlYW51cENvdW50ZXIpIHsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAgICAgICAgICAgICAgICAgZG91YmxlIHRpbWUgPSBjdXJyZW50VGltZSgpOwogI2Vu
ZGlmCiAgICAgICAgICAgICAgICAgTE9HKEljb25EYXRhYmFzZSwgIihUSFJFQUQpIFN0YXJ0aW5n
IHBydW5lVW5yZXRhaW5lZEljb25zKCkiKTsKQEAgLTE0NzIsNyArMTQ3Miw3IEBAIHZvaWQgSWNv
bkRhdGFiYXNlOjpzeW5jVGhyZWFkTWFpbkxvb3AoKQogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lO
RykKICAgICAgICAgZG91YmxlIG5ld3N0YW1wID0gY3VycmVudFRpbWUoKTsKICAgICAgICAgTE9H
KEljb25EYXRhYmFzZSwgIihUSFJFQUQpIE1haW4gd29yayBsb29wIHJhbiBmb3IgJS40ZiBzZWNv
bmRzLCAlcyByZXF1ZXN0ZWQgdG8gdGVybWluYXRlIiwgbmV3c3RhbXAgLSB0aW1lU3RhbXAsIHNo
b3VsZFN0b3BUaHJlYWRBY3Rpdml0eSgpID8gIndhcyIgOiAid2FzIG5vdCIpOwogI2VuZGlmCkBA
IC0xNTU0LDcgKzE1NTQsNyBAQCBib29sIEljb25EYXRhYmFzZTo6cmVhZEZyb21EYXRhYmFzZSgp
CiB7CiAgICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsKICAgICAKLSNpZiAhTE9HX0RJU0FC
TEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91YmxlIHRpbWVTdGFtcCA9IGN1cnJlbnRU
aW1lKCk7CiAjZW5kaWYKIApAQCAtMTY2NCw3ICsxNjY0LDcgQEAgYm9vbCBJY29uRGF0YWJhc2U6
OndyaXRlVG9EYXRhYmFzZSgpCiB7CiAgICAgQVNTRVJUX0lDT05fU1lOQ19USFJFQUQoKTsKIAot
I2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgdGltZVN0
YW1wID0gY3VycmVudFRpbWUoKTsKICNlbmRpZgogCkBAIC0xODY5LDcgKzE4NjksNyBAQCB2b2lk
KiBJY29uRGF0YWJhc2U6OmNsZWFudXBTeW5jVGhyZWFkKCkKIHsKICAgICBBU1NFUlRfSUNPTl9T
WU5DX1RIUkVBRCgpOwogICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lO
RykKICAgICBkb3VibGUgdGltZVN0YW1wID0gY3VycmVudFRpbWUoKTsKICNlbmRpZiAKIApAQCAt
MTg4OSw3ICsxODg5LDcgQEAgdm9pZCogSWNvbkRhdGFiYXNlOjpjbGVhbnVwU3luY1RocmVhZCgp
CiAgICAgZGVsZXRlQWxsUHJlcGFyZWRTdGF0ZW1lbnRzKCk7ICAgIAogICAgIG1fc3luY0RCLmNs
b3NlKCk7CiAgICAgCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAg
IExPRyhJY29uRGF0YWJhc2UsICIoVEhSRUFEKSBGaW5hbCBjbG9zdXJlIHRvb2sgJS40ZiBzZWNv
bmRzIiwgY3VycmVudFRpbWUoKSAtIHRpbWVTdGFtcCk7CiAjZW5kaWYKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggMzNkNjMy
NmM4ZGI3YjJkNmQ4NDI3YzQyMTZmYjczMWZiMDkzNWQ1ZS4uZjg3NjJkYWQ2MTY4NTc4NWUzMDE0
ZjE1ZDk1MzkwYzYxNGE1ZjU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQmFzZS5jcHAKQEAgLTI3OSw3ICsyNzksNyBAQCB2b2lkIEFuaW1hdGlvbkJh
c2U6OnVwZGF0ZVN0YXRlTWFjaGluZShBbmltU3RhdGVJbnB1dCBpbnB1dCwgZG91YmxlIHBhcmFt
KQogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQW5pbWF0
aW9uU3RhdGVFbmRpbmc6Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgICAgICAgICAgaWYgKGlucHV0ICE9IEFuaW1hdGlvblN0YXRlSW5wdXRFbmRUaW1lckZpcmVk
ICYmIGlucHV0ICE9IEFuaW1hdGlvblN0YXRlSW5wdXRQbGF5U3RhdGVQYXVzZWQpCiAgICAgICAg
ICAgICAgICAgTE9HX0VSUk9SKCJTdGF0ZSBpcyBBbmltYXRpb25TdGF0ZUVuZGluZywgYnV0IGlu
cHV0IGlzIG5vdCBBbmltYXRpb25TdGF0ZUlucHV0RW5kVGltZXJGaXJlZCBvciBBbmltYXRpb25T
dGF0ZUlucHV0UGxheVN0YXRlUGF1c2VkLiBJdCBpcyAlZC4iLCBpbnB1dCk7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKaW5kZXggMzQ2MzdhN2NjMzMyZGZjNTY3MDM2MWZl
OGE0ZTUwYWEwYTM4NTNhOS4uZjY3Zjk3ODk1MjA3MTE4YTY2NGVkNGJmZDJjYTVjNzE4NzVmMzJj
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKQEAgLTI3LDYgKzI3LDggQEAKICNp
bmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAorI2lmIEVO
QUJMRShMT0dHSU5HKQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURkxvZ0NoYW5uZWwgTG9n
Tm90WWV0SW1wbGVtZW50ZWQgPSB7IDB4MDAwMDAwMDEsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZM
b2dDaGFubmVsT2ZmIH07CkBAIC0xNDksMyArMTUxLDUgQEAgV1RGTG9nQ2hhbm5lbCogZ2V0Q2hh
bm5lbEZyb21OYW1lKGNvbnN0IFN0cmluZyYgY2hhbm5lbE5hbWUpCiB9CiAKIH0KKworI2VuZGlm
IC8vIEVOQUJMRShMT0dHSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TG9nZ2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IDFhZjFj
MDRhYmYwYmE1ODljZmE1ZWE4ZTMyNWNkN2M3YjI1NjJmMmYuLmYwMjRlMjY2YmQyYmFkNzhjNmY3
ZjNkZGFlN2ExNjk3ZmQ4NjNjNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKQEAgLTI5
LDYgKzI5LDggQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAKKyNpZiBFTkFCTEUoTE9HR0lORykKKwogI2lmbmRlZiBMT0dfQ0hBTk5FTF9Q
UkVGSVgKICNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZwogI2VuZGlmCkBAIC02Niw0ICs2
OCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBXVEZMb2dDaGFubmVsKiBnZXRDaGFubmVs
RnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFubmVsTmFtZSk7CiB9CiAKKyNlbmRpZiAvLyBFTkFC
TEUoTE9HR0lORykKKwogI2VuZGlmIC8vIExvZ2dpbmdfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTm90SW1wbGVtZW50ZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L05vdEltcGxlbWVudGVkLmgKaW5kZXggZTUwNDA3OTYxOWIzN2ZlN2ExNmVjNmRkYzg5YzI3NWU3
ZTk2MzhkYy4uMGNhZTc0MzIzYjViOWUzM2Y0NjNjMzJhNjYzOTYzZjdmMzU3Y2IzNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm90SW1wbGVtZW50ZWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3RJbXBsZW1lbnRlZC5oCkBAIC0zOCw3ICszOCw3IEBACiAg
ICAgI2RlZmluZSBzdXByZXNzTm90SW1wbGVtZW50ZWRXYXJuaW5nKCkgZmFsc2UKICNlbmRpZgog
Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShMT0dHSU5HKQogICAgICNkZWZpbmUgbm90
SW1wbGVtZW50ZWQoKSAoKHZvaWQpMCkKICNlbHNlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9nZ2luZ0JsYWNrQmVycnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHAKaW5kZXggOTk0
ZDc4ZWM5NTdjMTAwNjljMzczYjY1ZWNlNmRiNzBiODZjNGY0NC4uOWM5NzU5ODQ0MzJiNWFkNzkz
NTQ2OWUwZGRlN2IzZDdhNjE2NzQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHAKQEAgLTE5LDYgKzE5LDgg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKKyNpZiBFTkFC
TEUoTE9HR0lORykKKwogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC01MywzICs1NSw1IEBAIHZvaWQgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFu
bmVsc0lmTmVjZXNzYXJ5KCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKExPR0dJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9l
ZmwvTG9nZ2luZ0VmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9nZ2luZ0Vm
bC5jcHAKaW5kZXggYmQ3MTE0ODRhNmVhZWE5MTE1MjBmNDcxODMzZGUwM2I2NWEzZjFhZi4uMTI3
M2U5MmU0ODk5MzM1MWUxMDE1MTU2YzRlMjQ4NGVkNDQzOTQzOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VmbC9Mb2dnaW5nRWZsLmNwcApAQCAtMjMsNiArMjMsOCBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAorI2lmIEVOQUJMRShMT0dHSU5HKQor
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDxFaW5hLmg+CiAKQEAgLTYy
LDMgKzY0LDUgQEAgdm9pZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQog
fQogCiB9CisKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25DRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCmluZGV4
IGE5ZjM5YTQwZGVlYzc3ZTMxNmMzNzgwNGJkMTI3M2ZmOGE5NzM1ZGYuLmQ1OTQ4NGY4OGM4ZGVi
Y2MwZGU4YjI4MjRhYmI0ZDM0YThmZTVlNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25DRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNwcApAQCAtMTY2LDcg
KzE2Niw3IEBAIHByaXZhdGU6CiAgICAgQVZGV3JhcHBlciogbV9wYXJlbnQ7CiB9OwogCi0jaWYg
IUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogc3RhdGljIGNvbnN0IGNoYXIqIGJv
b2xTdHJpbmcoYm9vbCB2YWwpCiB7CiAgICAgcmV0dXJuIHZhbCA/ICJ0cnVlIiA6ICJmYWxzZSI7
CkBAIC0xMDI2LDcgKzEwMjYsNyBAQCB2b2lkIEFWRldyYXBwZXI6Om5vdGlmaWNhdGlvbkNhbGxi
YWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiBvYnNlcnZlciwgQwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgIGNoYXIgbm90aWZpY2F0aW9uTmFtZVsyNTZdOwogICAgIENGU3RyaW5nR2V0Q1N0cmluZyhw
cm9wZXJ0eU5hbWUsIG5vdGlmaWNhdGlvbk5hbWUsIHNpemVvZihub3RpZmljYXRpb25OYW1lKSwg
a0NGU3RyaW5nRW5jb2RpbmdBU0NJSSk7CiAgICAgTE9HKE1lZGlhLCAiQVZGV3JhcHBlcjo6bm90
aWZpY2F0aW9uQ2FsbGJhY2soJXApICVzIiwgc2VsZiwgbm90aWZpY2F0aW9uTmFtZSk7CkBAIC0x
MjI2LDE0ICsxMjI2LDE0IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBBVkZXcmFwcGVyOjpjcmVh
dGVJbWFnZUZvclRpbWVJblJlY3QoZmxvYXQgdGltZSwgY29uc3QgSW50CiAgICAgaWYgKCFtX2lt
YWdlR2VuZXJhdG9yKQogICAgICAgICByZXR1cm4gMDsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgc3RhcnQgPSBXVEY6OmN1cnJlbnRUaW1lKCk7
CiAjZW5kaWYKIAogICAgIEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yU2V0TWF4aW11bVNpemUobV9p
bWFnZUdlbmVyYXRvci5nZXQoKSwgQ0dTaXplKHJlY3Quc2l6ZSgpKSk7CiAgICAgQ0dJbWFnZVJl
ZiBpbWFnZSA9IEFWQ0ZBc3NldEltYWdlR2VuZXJhdG9yQ29weUNHSW1hZ2VBdFRpbWUobV9pbWFn
ZUdlbmVyYXRvci5nZXQoKSwgQ01UaW1lTWFrZVdpdGhTZWNvbmRzKHRpbWUsIDYwMCksIDAsIDAp
OwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGRvdWJsZSBk
dXJhdGlvbiA9IFdURjo6Y3VycmVudFRpbWUoKSAtIHN0YXJ0OwogICAgIExPRyhNZWRpYSwgIkFW
RldyYXBwZXI6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCglcCkgLSBjcmVhdGluZyBpbWFnZSB0
b29rICUuNGYiLCB0aGlzLCBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KGR1cmF0aW9uKSk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IGEyNjE0MWRhZjAyNzI0OWYxZjQ3MGQwN2Fj
MTRjNjcwYWI5YThmZmEuLjU1OTkwMjM4MDU3NTQ4MTVmOTMwMGMzMjQ2MGU2MmY5NTRjNTUzNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMTE1LDcgKzExNSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIHN0YXRpYyBOU0FycmF5ICphc3NldE1ldGFkYXRhS2V5TmFtZXMoKTsKIHN0YXRp
YyBOU0FycmF5ICppdGVtS1ZPUHJvcGVydGllcygpOwogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lm
IEVOQUJMRShMT0dHSU5HKQogc3RhdGljIGNvbnN0IGNoYXIgKmJvb2xTdHJpbmcoYm9vbCB2YWwp
CiB7CiAgICAgcmV0dXJuIHZhbCA/ICJ0cnVlIiA6ICJmYWxzZSI7CkBAIC02NTAsMTQgKzY1MCwx
NCBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZQogICAgICAgICBjcmVhdGVDb250ZXh0VmlkZW9S
ZW5kZXJlcigpOwogICAgIEFTU0VSVChtX2ltYWdlR2VuZXJhdG9yKTsKIAotI2lmICFMT0dfRElT
QUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgc3RhcnQgPSBXVEY6OmN1cnJl
bnRUaW1lKCk7CiAjZW5kaWYKIAogICAgIFttX2ltYWdlR2VuZXJhdG9yLmdldCgpIHNldE1heGlt
dW1TaXplOkNHU2l6ZShyZWN0LnNpemUoKSldOwogICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBp
bWFnZSA9IGFkb3B0Q0YoW21faW1hZ2VHZW5lcmF0b3IuZ2V0KCkgY29weUNHSW1hZ2VBdFRpbWU6
Q01UaW1lTWFrZVdpdGhTZWNvbmRzKHRpbWUsIDYwMCkgYWN0dWFsVGltZTpuaWwgZXJyb3I6bmls
XSk7CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91Ymxl
IGR1cmF0aW9uID0gV1RGOjpjdXJyZW50VGltZSgpIC0gc3RhcnQ7CiAgICAgTE9HKE1lZGlhLCAi
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5S
ZWN0KCVwKSAtIGNyZWF0aW5nIGltYWdlIHRvb2sgJS40ZiIsIHRoaXMsIG5hcnJvd1ByZWNpc2lv
blRvRmxvYXQoZHVyYXRpb24pKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBlOWQxYmMxMTk4MWM3NmVkNjY1ZjI0Mzc3ODEz
MzhhZWQzNjAzZjFjLi5hMjU1YWFiMzM1MDY0NGJmNGMyMDgxMjczYjZiN2YyMDliZTA5MTU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAt
MTcxOSw5ICsxNzE5LDEzIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVh
dGVHU1RQbGF5QmluKCkKICAgICAgICAgICAgIGdfb2JqZWN0X3NldChtX2Zwc1NpbmssICJzaWxl
bnQiLCBUUlVFICwgTlVMTCk7CiAKICAgICAgICAgICAgIC8vIFR1cm4gb2ZmIHRleHQgb3Zlcmxh
eSB1bmxlc3MgbG9nZ2luZyBpcyBlbmFibGVkLgorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgICAg
ICAgICAgV1RGTG9nQ2hhbm5lbCogY2hhbm5lbCA9IGdldENoYW5uZWxGcm9tTmFtZSgiTWVkaWEi
KTsKICAgICAgICAgICAgIGlmIChjaGFubmVsLT5zdGF0ZSAhPSBXVEZMb2dDaGFubmVsT24pCiAg
ICAgICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fZnBzU2luaywgInRleHQtb3ZlcmxheSIsIEZB
TFNFICwgTlVMTCk7CisjZWxzZQorICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fZnBzU2luaywg
InRleHQtb3ZlcmxheSIsIEZBTFNFICwgTlVMTCk7CisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcp
CiAKICAgICAgICAgICAgIGlmIChnX29iamVjdF9jbGFzc19maW5kX3Byb3BlcnR5KEdfT0JKRUNU
X0dFVF9DTEFTUyhtX2Zwc1NpbmspLCAidmlkZW8tc2luayIpKSB7CiAgICAgICAgICAgICAgICAg
Z19vYmplY3Rfc2V0KG1fZnBzU2luaywgInZpZGVvLXNpbmsiLCBtX3dlYmtpdFZpZGVvU2luaywg
TlVMTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJTaGFkZXJNYW5hZ2VyLmNwcAppbmRleCAz
OTc3N2ZlNWYwZDVlMjEzMWM1YjIxYzNiYmNkMjBiMzcyYzY4ZGJiLi5hNDBiMmNiMzhhZmU1NzE1
YmYzYjc0ZDRjZTE5ZWM4NDFiNDg1MThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyU2hh
ZGVyTWFuYWdlci5jcHAKQEAgLTU0OSw3ICs1NDksNyBAQCBTdGFuZGFyZEZpbHRlclByb2dyYW06
OlN0YW5kYXJkRmlsdGVyUHJvZ3JhbShGaWx0ZXJPcGVyYXRpb246Ok9wZXJhdGlvblR5cGUgdHlw
ZQogICAgIEdMdWludCBwcm9ncmFtSUQgPSBnbENyZWF0ZVByb2dyYW0oKTsKICAgICBnbENvbXBp
bGVTaGFkZXIodmVydGV4U2hhZGVyKTsKICAgICBnbENvbXBpbGVTaGFkZXIoZnJhZ21lbnRTaGFk
ZXIpOwotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBHTGNoYXIg
bG9nWzEwMF07CiAgICAgR0xpbnQgbGVuOwogICAgIGdsR2V0U2hhZGVySW5mb0xvZyhmcmFnbWVu
dFNoYWRlciwgMTAwLCAmbGVuLCBsb2cpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xv
Z2dpbmdHdGsuY3BwCmluZGV4IDU4OGVkN2NmN2FkYTBjODA3YWE0MDNjOTZjMjYzZWY3YzE3YjU5
N2YuLjA3NTU0MGY0MDJlNWVkZmU4NjZhMzRjMjM2ODljNjM0M2FmM2JmNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAKQEAgLTIwLDggKzIwLDEwIEBACiAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKIAorI2lmIEVOQUJMRShMT0dHSU5HKQorCisjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKICNpbmNsdWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKQEAg
LTYyLDMgKzY0LDUgQEAgdm9pZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3Nhcnko
KQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lO
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvZ2dpbmdNYWMubW0KaW5kZXggNGM5YjMw
MzUxNmViODAwYWFiZjBiZDYyNzY0YmYzYzFlNjgyNmQ3ZS4uMDUzMmMxMGI0Njk2MDRiYWI5MTNk
NTgwZDA5NTkzYjI3MGQwNGYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0xvZ2dpbmdNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvZ2dp
bmdNYWMubW0KQEAgLTI3LDYgKzI3LDggQEAKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAorI2lm
IEVOQUJMRShMT0dHSU5HKQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBpbmxpbmUg
dm9pZCBpbml0aWFsaXplV2l0aFVzZXJEZWZhdWx0KFdURkxvZ0NoYW5uZWwmIGNoYW5uZWwpCkBA
IC03NywzICs3OSw1IEBAIHZvaWQgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5
KCkKIH0KIAogfQorCisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNw
cAppbmRleCA2NzdlZWU2YzEwOWIyMzg1YzExZDkxZWUzMTgyMGYyMjA0MjE1OWM2Li41MTM4OGI3
YWJkNTYxN2IyNTUyOWM5Mjk0ZDZmN2I2MjA0ODdmZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAK
QEAgLTE0NSw3ICsxNDUsNyBAQCBzdGF0aWMgdm9pZCBhcHBseUJhc2ljQXV0aG9yaXphdGlvbkhl
YWRlcihSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IENyZWRlbgogCiBzdGF0aWMgQ0ZV
UkxSZXF1ZXN0UmVmIHdpbGxTZW5kUmVxdWVzdChDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgQ0ZV
UkxSZXF1ZXN0UmVmIGNmUmVxdWVzdCwgQ0ZVUkxSZXNwb25zZVJlZiBjZlJlZGlyZWN0UmVzcG9u
c2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVO
QUJMRShMT0dHSU5HKQogICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZgogICAgIFJlc291
cmNlSGFuZGxlKiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGNvbnN0X2Nh
c3Q8dm9pZCo+KGNsaWVudEluZm8pKTsKQEAgLTIwMyw3ICsyMDMsNyBAQCBzdGF0aWMgQ0ZVUkxS
ZXF1ZXN0UmVmIHdpbGxTZW5kUmVxdWVzdChDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgQ0ZVUkxS
ZXF1ZXN0UmVmCiAKIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShDRlVSTENvbm5lY3Rp
b25SZWYgY29ubiwgQ0ZVUkxSZXNwb25zZVJlZiBjZlJlc3BvbnNlLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKQogewotI2lmIExPR19ESVNBQkxFRAorI2lmICFFTkFCTEUoTE9HR0lORykKICAgICBV
TlVTRURfUEFSQU0oY29ubik7CiAjZW5kaWYKICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0g
c3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZv
KSk7CkBAIC0yMzcsNyArMjM3LDcgQEAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKENG
VVJMQ29ubmVjdGlvblJlZiBjb25uLCBDRlVSTFJlc3BvbnNlUmVmIGNmUmVzcG8KICNpZiBIQVZF
KE5FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLKQogc3RhdGljIHZvaWQgZGlkUmVjZWl2ZURh
dGFBcnJheShDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgQ0ZBcnJheVJlZiBkYXRhQXJyYXksIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShM
T0dHSU5HKQogICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZgogICAgIFJlc291cmNlSGFu
ZGxlKiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGNvbnN0X2Nhc3Q8dm9p
ZCo+KGNsaWVudEluZm8pKTsKQEAgLTI1Miw3ICsyNTIsNyBAQCBzdGF0aWMgdm9pZCBkaWRSZWNl
aXZlRGF0YUFycmF5KENGVVJMQ29ubmVjdGlvblJlZiBjb25uLCBDRkFycmF5UmVmIGRhdGFBcnJh
eSwgYwogCiBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlRGF0YShDRlVSTENvbm5lY3Rpb25SZWYgY29u
biwgQ0ZEYXRhUmVmIGRhdGEsIENGSW5kZXggb3JpZ2luYWxMZW5ndGgsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShMT0dHSU5HKQogICAg
IFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZgogICAgIFJlc291cmNlSGFuZGxlKiBoYW5kbGUg
PSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudElu
Zm8pKTsKQEAgLTI3NSw3ICsyNzUsNyBAQCBzdGF0aWMgdm9pZCBkaWRTZW5kQm9keURhdGEoQ0ZV
UkxDb25uZWN0aW9uUmVmLCBDRkluZGV4LCBDRkluZGV4IHRvdGFsQnl0ZXNXcml0dAogCiBzdGF0
aWMgQm9vbGVhbiBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZUNhbGxiYWNrKENGVVJMQ29ubmVj
dGlvblJlZiBjb25uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotI2lmIExPR19ESVNBQkxF
RAorI2lmICFFTkFCTEUoTE9HR0lORykKICAgICBVTlVTRURfUEFSQU0oY29ubik7CiAjZW5kaWYK
ICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gY29uc3RfY2FzdDxSZXNvdXJjZUhhbmRsZSo+
KHN0YXRpY19jYXN0PGNvbnN0IFJlc291cmNlSGFuZGxlKj4oY2xpZW50SW5mbykpOwpAQCAtMjkw
LDcgKzI5MCw3IEBAIHN0YXRpYyBCb29sZWFuIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlQ2Fs
bGJhY2soQ0ZVUkxDb25uZWN0aW9uUmVmIGNvbm4sIGNvbnN0CiAKIHN0YXRpYyB2b2lkIGRpZEZp
bmlzaExvYWRpbmcoQ0ZVUkxDb25uZWN0aW9uUmVmIGNvbm4sIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShMT0dHSU5HKQogICAgIFVOVVNF
RF9QQVJBTShjb25uKTsKICNlbmRpZgogICAgIFJlc291cmNlSGFuZGxlKiBoYW5kbGUgPSBzdGF0
aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsK
QEAgLTMwMyw3ICszMDMsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKENGVVJMQ29u
bmVjdGlvblJlZiBjb25uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogCiBzdGF0aWMgdm9pZCBk
aWRGYWlsKENGVVJMQ29ubmVjdGlvblJlZiBjb25uLCBDRkVycm9yUmVmIGVycm9yLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQogewotI2lmIExPR19ESVNBQkxFRAorI2lmICFFTkFCTEUoTE9HR0lO
RykKICAgICBVTlVTRURfUEFSQU0oY29ubik7CiAjZW5kaWYKICAgICBSZXNvdXJjZUhhbmRsZSog
aGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihjb25zdF9jYXN0PHZvaWQqPihj
bGllbnRJbmZvKSk7CkBAIC0zNjUsNyArMzY1LDcgQEAgc3RhdGljIENGQ2FjaGVkVVJMUmVzcG9u
c2VSZWYgd2lsbENhY2hlUmVzcG9uc2UoQ0ZVUkxDb25uZWN0aW9uUmVmLCBDRkNhY2hlZFVSTFIK
IAogc3RhdGljIHZvaWQgZGlkUmVjZWl2ZUNoYWxsZW5nZShDRlVSTENvbm5lY3Rpb25SZWYgY29u
biwgQ0ZVUkxBdXRoQ2hhbGxlbmdlUmVmIGNoYWxsZW5nZSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKIHsKLSNpZiBMT0dfRElTQUJMRUQKKyNpZiAhRU5BQkxFKExPR0dJTkcpCiAgICAgVU5VU0VE
X1BBUkFNKGNvbm4pOwogI2VuZGlmCiAgICAgUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSA9IHN0YXRp
Y19jYXN0PFJlc291cmNlSGFuZGxlKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwpA
QCAtMzc4LDcgKzM3OCw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVDaGFsbGVuZ2UoQ0ZVUkxD
b25uZWN0aW9uUmVmIGNvbm4sIENGVVJMQXV0aENoYWxsZW5nZVJlZiBjCiAjaWYgVVNFKFBST1RF
Q1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykKIHN0YXRpYyBCb29sZWFuIGNhblJlc3BvbmRUb1By
b3RlY3Rpb25TcGFjZShDRlVSTENvbm5lY3Rpb25SZWYgY29ubiwgQ0ZVUkxQcm90ZWN0aW9uU3Bh
Y2VSZWYgcHJvdGVjdGlvblNwYWNlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotI2lmIExP
R19ESVNBQkxFRAorI2lmICFFTkFCTEUoTE9HR0lORykKICAgICBVTlVTRURfUEFSQU0oY29ubik7
CiAjZW5kaWYKICAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3Vy
Y2VIYW5kbGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1t
CmluZGV4IDRhYzMzY2NkY2RjMWNlMTZmZjdjODRlOGMwYTYwZDVmNzQxOWZlNGUuLjIyYjVlZDE2
NmEzNzRhY2YwZWNhYzE1Y2U4NmUyNzJlNWU1ZmZiZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tCkBAIC02
NzgsNyArNjc4LDcgQEAgU3RyaW5nIFJlc291cmNlSGFuZGxlOjpwcml2YXRlQnJvd3NpbmdTdG9y
YWdlU2Vzc2lvbklkZW50aWZpZXJEZWZhdWx0QmFzZSgpCiAgICAgaWYgKCFyZWRpcmVjdFJlc3Bv
bnNlKQogICAgICAgICByZXR1cm4gbmV3UmVxdWVzdDsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAoW3JlZGlyZWN0UmVzcG9uc2UgaXNLaW5kT2ZDbGFz
czpbTlNIVFRQVVJMUmVzcG9uc2UgY2xhc3NdXSkKICAgICAgICAgTE9HKE5ldHdvcmssICJIYW5k
bGUgJXAgZGVsZWdhdGUgY29ubmVjdGlvbjolcCB3aWxsU2VuZFJlcXVlc3Q6JUAgcmVkaXJlY3RS
ZXNwb25zZTolZCwgTG9jYXRpb246PCVAPiIsIG1faGFuZGxlLCBjb25uZWN0aW9uLCBbbmV3UmVx
dWVzdCBkZXNjcmlwdGlvbl0sIHN0YXRpY19jYXN0PGludD4oWyhpZClyZWRpcmVjdFJlc3BvbnNl
IHN0YXR1c0NvZGVdKSwgW1soaWQpcmVkaXJlY3RSZXNwb25zZSBhbGxIZWFkZXJGaWVsZHNdIG9i
amVjdEZvcktleTpAIkxvY2F0aW9uIl0pOwogICAgIGVsc2UKQEAgLTc1Myw3ICs3NTMsNyBAQCBT
dHJpbmcgUmVzb3VyY2VIYW5kbGU6OnByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNzaW9uSWRlbnRp
ZmllckRlZmF1bHRCYXNlKCkKICNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNL
KQogLSAoQk9PTCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGNhbkF1
dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2U6KE5TVVJMUHJvdGVjdGlvblNwYWNlICop
cHJvdGVjdGlvblNwYWNlCiB7Ci0jaWYgTE9HX0RJU0FCTEVECisjaWYgIUVOQUJMRShMT0dHSU5H
KQogICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNv
dXAuY3BwCmluZGV4IDFhMDhlNWJjNWIxMzAzOTFmMWMxYWYzOTEwY2I0MzcwMzllNzVhMDEuLjcx
OTgzYTI2MmYyYjNhNDYzNmZhMmI1MDc4ODE5YjNkNzg4ZDUyNjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNv
dXAuY3BwCkBAIC0yMDAsMTEgKzIwMCwxMyBAQCBzdGF0aWMgdm9pZCBlbnN1cmVTZXNzaW9uSXNJ
bml0aWFsaXplZChTb3VwU2Vzc2lvbiogc2Vzc2lvbikKICAgICAgICAgICAgIHNldFNvdXBDb29r
aWVKYXIoamFyKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAoIXNvdXBf
c2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNzaW9uLCBTT1VQX1RZUEVfTE9HR0VSKSAmJiBMb2dOZXR3
b3JrLnN0YXRlID09IFdURkxvZ0NoYW5uZWxPbikgewogICAgICAgICBTb3VwTG9nZ2VyKiBsb2dn
ZXIgPSBzb3VwX2xvZ2dlcl9uZXcoc3RhdGljX2Nhc3Q8U291cExvZ2dlckxvZ0xldmVsPihTT1VQ
X0xPR0dFUl9MT0dfQk9EWSksIC0xKTsKICAgICAgICAgc291cF9zZXNzaW9uX2FkZF9mZWF0dXJl
KHNlc3Npb24sIFNPVVBfU0VTU0lPTl9GRUFUVVJFKGxvZ2dlcikpOwogICAgICAgICBnX29iamVj
dF91bnJlZihsb2dnZXIpOwogICAgIH0KKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKIAogICAg
IGlmICghc291cF9zZXNzaW9uX2dldF9mZWF0dXJlKHNlc3Npb24sIFNPVVBfVFlQRV9SRVFVRVNU
RVIpKSB7CiAgICAgICAgIFNvdXBSZXF1ZXN0ZXIqIHJlcXVlc3RlciA9IHNvdXBfcmVxdWVzdGVy
X25ldygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTG9nZ2luZ1F0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0xvZ2dpbmdRdC5jcHAKaW5kZXggYTkz
NDZkZTgxZWEwNTc2YTMzYjhlMGEyMzcyYTA5M2QyMDEzNmM4Ny4uMGJkMTNiZjA2NTJjOWQ3NWNl
ZWVjYTUxNzRhZWY0ZTBmNWYxZGY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vcXQvTG9nZ2luZ1F0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Mb2dn
aW5nUXQuY3BwCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogCisjaWYgRU5BQkxFKExPR0dJTkcpCisKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgogI2luY2x1ZGUgPFFEZWJ1Zz4KICNpbmNsdWRlIDxRU3RyaW5nTGlzdD4KQEAg
LTU0LDMgKzU2LDUgQEAgdm9pZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3Nhcnko
KQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lO
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNV
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmNwcAppbmRl
eCA4Mjg1Mjg0ZjkyMGE0MGQ4NTlhNjM5MThjYTY3YjdjNjQ0NGNmYjZlLi5kNTQzYjFjOGVhYmQz
YWQ3NGIzNzNiNzJlZjM0OTAxN2ZkNzE3NTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWNJQ1UuY3BwCkBAIC0yNDIsNyArMjQyLDcgQEAgdm9pZCBUZXh0Q29k
ZWNJQ1U6OmNyZWF0ZUlDVUNvbnZlcnRlcigpIGNvbnN0CiAKICAgICBlcnIgPSBVX1pFUk9fRVJS
T1I7CiAgICAgbV9jb252ZXJ0ZXJJQ1UgPSB1Y252X29wZW4obV9lbmNvZGluZy5uYW1lKCksICZl
cnIpOwotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBpZiAoZXJy
ID09IFVfQU1CSUdVT1VTX0FMSUFTX1dBUk5JTkcpCiAgICAgICAgIExPR19FUlJPUigiSUNVIGFt
YmlndW91cyBhbGlhcyB3YXJuaW5nIGZvciBlbmNvZGluZzogJXMiLCBtX2VuY29kaW5nLm5hbWUo
KSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Mb2dn
aW5nV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Mb2dnaW5nV2luLmNwcApp
bmRleCAwYjBhZmFkYTc2MTFjZWQ2ZmJiZDYwZGE3NzM3MzczYmNlMzJiNGM2Li5kMjlkZTI5ZTYz
ZWNkNDhkYTBkOTg1ZDcyNDUwYTQ5MGQxMmUwNGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vTG9nZ2luZ1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL0xvZ2dpbmdXaW4uY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCisjaWYgRU5BQkxFKExPR0dJTkcpCisKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDx3
dGYvT3duQXJyYXlQdHIuaD4KQEAgLTEwMiwzICsxMDQsNSBAQCB2b2lkIGluaXRpYWxpemVMb2dn
aW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd3gvTG9nZ2luZ1d4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3d4L0xvZ2dp
bmdXeC5jcHAKaW5kZXggOTQ4OTNlOTFlY2JhZTQ4ODg5NWUzNTJlN2UxZjY3MTlmMzE1ZjIwNi4u
NWY2NjcxMzMyYjdhODE1YzRjZjAwYmIzYzg2MDE3NDQ0YmZjZDgyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTG9nZ2luZ1d4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93eC9Mb2dnaW5nV3guY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCisjaWYgRU5BQkxFKExPR0dJTkcpCisK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC02MiwzICs2NCw1IEBAIHZvaWQgaW5pdGlh
bGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCkKIH0KIAogfQorCisjZW5kaWYgLy8gRU5B
QkxFKExPR0dJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRl
YnVnLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGVidWcuY3BwCmluZGV4IDhj
M2VmY2I1ZWJmNzc4MDAyNjQ3MmYyZjM1MWE4NmFkMGJiNmYyOGEuLjFlODc1NzBiMjUxY2QxYjlh
Y2EyNjEwMjYwN2Q2MmFiZWJhNjY0YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luRGVidWcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGVi
dWcuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiUGx1Z2luRGVidWcuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShM
T0dHSU5HKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE3Myw0ICsxNzMsNCBAQCBDU3Ry
aW5nIHByZXR0eU5hbWVGb3JOUE5VUkxWYXJpYWJsZShOUE5VUkxWYXJpYWJsZSB2YXJpYWJsZSkK
IH0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKKyNl
bmRpZiAvLyBFTkFCTEUoTE9HR0lORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luRGVidWcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGVidWcuaApp
bmRleCAwMTdlNjg2N2M1MmQ2YTE3ZWVkMWYwNjZlZjM3ZDNhYzE4ZmVmYzIyLi40N2I3YmQwNzU4
MGExZGU5MWVkNTcxYWNkZWUyNTM3ZDQ3YTVjYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbHVnaW5zL1BsdWdpbkRlYnVnLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5EZWJ1Zy5oCkBAIC0zMyw3ICszMyw3IEBACiAjZGVmaW5lIExPR19OUEVSUk9SKGVycikgaWYg
KGVyciAhPSBOUEVSUl9OT19FUlJPUikgTE9HX1ZFUkJPU0UoUGx1Z2lucywgIiVzXG4iLCBwcmV0
dHlOYW1lRm9yTlBFcnJvcihlcnIpKQogI2RlZmluZSBMT0dfUExVR0lOX05FVF9FUlJPUigpIExP
R19WRVJCT1NFKFBsdWdpbnMsICJTdHJlYW0gZmFpbGVkIGR1ZSB0byBwcm9ibGVtcyB3aXRoIG5l
dHdvcmssIGRpc2sgSS9PLCBsYWNrIG9mIG1lbW9yeSwgb3Igb3RoZXIgcHJvYmxlbXMuXG4iKQog
Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTUwLDYgKzUwLDYgQEAgY29uc3QgY2hhciogcHJldHR5TmFtZUZvckV2ZW50
TW9kZWwoTlBFdmVudE1vZGVsIGV2ZW50TW9kZWwpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCiAK
ICNlbmRpZiAvLyBQbHVnaW5EZWJ1Z19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDkyYWJkZGJlNmU1MTJkMDM0NzcwNDdm
YTBiNjI1Yjg2ZTU2MWY0YWYuLmNhYWI5NDM4MDA3ODAzNzMzYTk2MzQyMzRiMTc1ODIzMWU3YWVk
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCkBAIC02MSw3ICs2MSw3IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5o
IgogI2VuZGlmCiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjZW5kaWYKIApAQCAtMTY1LDcgKzE2NSw3IEBAIHN0
cnVjdCBDb21wb3NpdGluZ1N0YXRlIHsKIAogc3RhdGljIGlubGluZSBib29sIGNvbXBvc2l0aW5n
TG9nRW5hYmxlZCgpCiB7Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgIHJldHVybiBMb2dDb21wb3NpdGluZy5zdGF0ZSA9PSBXVEZMb2dDaGFubmVsT247CiAjZWxz
ZQogICAgIHJldHVybiBmYWxzZTsKQEAgLTE4OCw3ICsxODgsNyBAQCBSZW5kZXJMYXllckNvbXBv
c2l0b3I6OlJlbmRlckxheWVyQ29tcG9zaXRvcihSZW5kZXJWaWV3KiByZW5kZXJWaWV3KQogICAg
ICwgbV9mbHVzaGluZ0xheWVycyhmYWxzZSkKICAgICAsIG1fZm9yY2VDb21wb3NpdGluZ01vZGUo
ZmFsc2UpCiAgICAgLCBtX3Jvb3RMYXllckF0dGFjaG1lbnQoUm9vdExheWVyVW5hdHRhY2hlZCkK
LSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgLCBtX3Jvb3RMYXll
clVwZGF0ZUNvdW50KDApCiAgICAgLCBtX29ibGlnYXRlQ29tcG9zaXRlZExheWVyQ291bnQoMCkK
ICAgICAsIG1fc2Vjb25kYXJ5Q29tcG9zaXRlZExheWVyQ291bnQoMCkKQEAgLTM4Niw3ICszODYs
NyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnMo
Q29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0ZQogICAgIGlmIChpc0Z1bGxVcGRhdGUgJiYgdXBk
YXRlVHlwZSA9PSBDb21wb3NpdGluZ1VwZGF0ZUFmdGVyTGF5b3V0KQogICAgICAgICBtX3JlZXZh
bHVhdGVDb21wb3NpdGluZ0FmdGVyTGF5b3V0ID0gZmFsc2U7CiAKLSNpZiAhTE9HX0RJU0FCTEVE
CisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91YmxlIHN0YXJ0VGltZSA9IDA7CiAgICAgaWYg
KGNvbXBvc2l0aW5nTG9nRW5hYmxlZCgpKSB7CiAgICAgICAgICsrbV9yb290TGF5ZXJVcGRhdGVD
b3VudDsKQEAgLTQwOSw3ICs0MDksNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBk
YXRlQ29tcG9zaXRpbmdMYXllcnMoQ29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0ZQogICAgICAg
ICBuZWVkSGllcmFyY2h5VXBkYXRlIHw9IGxheWVyc0NoYW5nZWQ7CiAgICAgfQogCi0jaWYgIUxP
R19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChjb21wb3NpdGluZ0xvZ0Vu
YWJsZWQoKSAmJiBpc0Z1bGxVcGRhdGUgJiYgKG5lZWRIaWVyYXJjaHlVcGRhdGUgfHwgbmVlZEdl
b21ldHJ5VXBkYXRlKSkgewogICAgICAgICBtX29ibGlnYXRlQ29tcG9zaXRlZExheWVyQ291bnQg
PSAwOwogICAgICAgICBtX3NlY29uZGFyeUNvbXBvc2l0ZWRMYXllckNvdW50ID0gMDsKQEAgLTQ0
Myw3ICs0NDMsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRp
bmdMYXllcnMoQ29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0ZQogICAgICAgICB1cGRhdGVMYXll
clRyZWVHZW9tZXRyeSh1cGRhdGVSb290LCAwKTsKICAgICB9CiAgICAgCi0jaWYgIUxPR19ESVNB
QkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGlmIChjb21wb3NpdGluZ0xvZ0VuYWJsZWQo
KSAmJiBpc0Z1bGxVcGRhdGUgJiYgKG5lZWRIaWVyYXJjaHlVcGRhdGUgfHwgbmVlZEdlb21ldHJ5
VXBkYXRlKSkgewogICAgICAgICBkb3VibGUgZW5kVGltZSA9IGN1cnJlbnRUaW1lKCk7CiAgICAg
ICAgIExPRyhDb21wb3NpdGluZywgIlRvdGFsIGxheWVycyAgIHByaW1hcnkgICBzZWNvbmRhcnkg
ICBvYmxpZ2F0b3J5IGJhY2tpbmcgKEtCKSAgIHNlY29uZGFyeSBiYWNraW5nKEtCKSAgIHRvdGFs
IGJhY2tpbmcgKEtCKSAgdXBkYXRlIHRpbWUgKG1zKVxuIik7CkBAIC00NTksNyArNDU5LDcgQEAg
dm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBv
c2l0aW5nVXBkYXRlVHlwZSB1cGRhdGUKICAgICAgICAgZW5hYmxlQ29tcG9zaXRpbmdNb2RlKGZh
bHNlKTsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIHZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsb2dMYXllckluZm8oY29uc3QgUmVuZGVyTGF5ZXIqIGxh
eWVyLCBpbnQgZGVwdGgpCiB7CiAgICAgaWYgKCFjb21wb3NpdGluZ0xvZ0VuYWJsZWQoKSkKQEAg
LTk3Miw3ICs5NzIsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBv
c2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVyKiBsYXllciwgVmVjdAogICAgICAgICBpZiAoIWxh
eWVyLT5wYXJlbnQoKSkKICAgICAgICAgICAgIHVwZGF0ZVJvb3RMYXllclBvc2l0aW9uKCk7CiAK
LSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgICAgIGxvZ0xheWVy
SW5mbyhsYXllciwgZGVwdGgpOwogI2Vsc2UKICAgICAgICAgVU5VU0VEX1BBUkFNKGRlcHRoKTsK
QEAgLTExNjEsNyArMTE2MSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVM
YXllclRyZWVHZW9tZXRyeShSZW5kZXJMYXllciogbGF5ZXIsIGludCBkZXB0CiAgICAgICAgIGlm
ICghbGF5ZXItPnBhcmVudCgpKQogICAgICAgICAgICAgdXBkYXRlUm9vdExheWVyUG9zaXRpb24o
KTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAgbG9n
TGF5ZXJJbmZvKGxheWVyLCBkZXB0aCk7CiAjZWxzZQogICAgICAgICBVTlVTRURfUEFSQU0oZGVw
dGgpOwpAQCAtMTQ5NSw3ICsxNDk1LDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJl
cXVpcmVzT3duQmFja2luZ1N0b3JlKGNvbnN0IFJlbmRlckxheWVyKiBsYXllciwgY28KICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcp
CiBjb25zdCBjaGFyKiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYXNvbkZvckNvbXBvc2l0aW5n
KGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikKIHsKICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVy
ID0gbGF5ZXItPnJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggNWI4N2U1M2M0YTg1NzhhMWM1YWQ2YzdiYzJjZTBj
MTdiNGRiNDVjOC4uZmRmNDU3ODAyNTdkMDg1ZTZiZjI0NDljZDZkMmQxMDA5YTg5OWI0YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApA
QCAtMzAzLDcgKzMwMyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCByZXF1aXJlc0NvbnRlbnRTaGFk
b3dMYXllcigpIGNvbnN0OwogI2VuZGlmCiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxF
KExPR0dJTkcpCiAgICAgY29uc3QgY2hhciogcmVhc29uRm9yQ29tcG9zaXRpbmcoY29uc3QgUmVu
ZGVyTGF5ZXIqKTsKICAgICB2b2lkIGxvZ0xheWVySW5mbyhjb25zdCBSZW5kZXJMYXllciosIGlu
dCBkZXB0aCk7CiAjZW5kaWYKQEAgLTM0OSw3ICszNDksNyBAQCBwcml2YXRlOgogICAgIE93blB0
cjxHcmFwaGljc0xheWVyPiBtX2NvbnRlbnRTaGFkb3dMYXllcjsKICNlbmRpZgogCi0jaWYgIUxP
R19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGludCBtX3Jvb3RMYXllclVwZGF0
ZUNvdW50OwogICAgIGludCBtX29ibGlnYXRlQ29tcG9zaXRlZExheWVyQ291bnQ7IC8vIGNvdW50
IG9mIGxheWVyIHRoYXQgaGF2ZSB0byBiZSBjb21wb3NpdGVkLgogICAgIGludCBtX3NlY29uZGFy
eUNvbXBvc2l0ZWRMYXllckNvdW50OyAvLyBjb3VudCBvZiBsYXllcnMgdGhhdCBoYXZlIHRvIGJl
IGNvbXBvc2l0ZWQgYmVjYXVzZSBvZiBzdGFja2luZyBvciBvdmVybGFwLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CbGFja0JlcnJ5R2xvYmFsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmxhY2tCZXJyeUdsb2JhbC5jcHAKaW5kZXggYTRjNDhh
NThmZTBiMGM5NjRlMDBkN2MzM2QwYzAwNTNkZGI3NDc3ZS4uYTZiMWE0ZDY3NDE1YzJiNmZkNDkz
ZGRmMTk3YzVlZDVlNmY5MjgwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9CbGFja0JlcnJ5R2xvYmFsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL0JsYWNrQmVycnlHbG9iYWwuY3BwCkBAIC02MCw4ICs2MCwxMCBAQCB2b2lkIGdsb2JhbElu
aXRpYWxpemUoKQogICAgIGJsYWNrYmVycnlEZWJ1Z0luaXRpYWxpemUoKTsKICNlbmRpZgogCisj
aWYgRU5BQkxFKExPR0dJTkcpCiAgICAgLy8gVHVybiBvbiBsb2dnaW5nLgogICAgIGluaXRpYWxp
emVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5H
KQogCiAgICAgLy8gSW5pdGlhbGl6ZSB0aHJlYWRpbmcvCiAgICAgSlNDOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJLaXQu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViS2l0LmNwcAppbmRleCA2MTA2NTk3
YWU4ZmIxNWVkZTYwNmI2MWI3ODQyNDQ5OGM5OWQ3NDFhLi4yNzNkZmNlNWI3MjMzMDlkMTk3NDE0
NTExMTU1YzA4MDc2MzI1YzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJLaXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYktpdC5jcHAK
QEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgorI2luY2x1ZGUg
PHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgog
CiAjaWYgT1MoREFSV0lOKQpAQCAtMTg1LDkgKzE4NiwxMyBAQCBib29sIGxheW91dFRlc3RNb2Rl
KCkKIAogdm9pZCBlbmFibGVMb2dDaGFubmVsKGNvbnN0IGNoYXIqIG5hbWUpCiB7CisjaWYgRU5B
QkxFKExPR0dJTkcpCiAgICAgV1RGTG9nQ2hhbm5lbCogY2hhbm5lbCA9IFdlYkNvcmU6OmdldENo
YW5uZWxGcm9tTmFtZShuYW1lKTsKICAgICBpZiAoY2hhbm5lbCkKICAgICAgICAgY2hhbm5lbC0+
c3RhdGUgPSBXVEZMb2dDaGFubmVsT247CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShuYW1lKTsK
KyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykKIH0KIAogdm9pZCByZXNldFBsdWdpbkNhY2hlKGJv
b2wgcmVsb2FkUGFnZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX21h
aW4uY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19tYWluLmNwcAppbmRleCA4NGQyYjUw
MjViNzE0YmE3NmZjMThjYjVlYzY5N2FlNzBkMjdlODNlLi5hNTVmMWRkZGJiYzQ4MWRiMmRlMjM1
NWFmZWNjMDhkZTMyMTk4ZmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X21haW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfbWFpbi5jcHAKQEAgLTE0
Niw3ICsxNDYsOSBAQCBFaW5hX0Jvb2wgX2V3a19pbml0X2JvZHkodm9pZCkKICAgICAgICAgICAg
ICJ3b3JrIChpZTogQWRvYmUgRmxhc2gpIik7CiAKICAgICBXZWJDb3JlOjpTY3JpcHRDb250cm9s
bGVyOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgV2Vi
Q29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYgLy8g
RU5BQkxFKExPR0dJTkcpCiAgICAgV2ViQ29yZTo6U2V0dGluZ3M6OnNldERlZmF1bHRNaW5ET01U
aW1lckludGVydmFsKDAuMDA0KTsKIAogICAgIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6aW5pdGlh
bGl6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2Jh
bHMuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuY3BwCmluZGV4
IDc4YTQ5NDlmYjNkYzE5MDU5NmUwNTAwNTRhNjVjYzRiOWNlOTM0NmQuLmE3MDA2OTMwYzQ1MGQx
NTUwMThjZDYyZThmNDNjOTFkOWMzYmNkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0Z2xvYmFscy5jcHAKQEAgLTUwNCw3ICs1MDQsOSBAQCB2b2lkIHdlYmtpdEluaXQoKQog
ICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5U
aHJlYWQoKTsKIAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIFdlYkNvcmU6OmluaXRpYWxpemVM
b2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQog
ICAgIFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6aW5pdGlhbGl6ZSgpOwogCiAgICAgLy8gV2UgbWFr
ZSBzdXJlIHRoZSB0ZXh0IGNvZGVjcyBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQsIGJlY2F1c2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeS5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeS5tbQppbmRleCA2OTY0ZmM5NDliNTEyMTcz
YTZiZGM1ZTcwYjU2MThkMzFjYjY3N2EzLi5iYzQxYzFmN2Y0ODUzMjczZTE0OWUxMTk1ZTAyNjcw
ZDhmM2FjYWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9IaXN0b3J5L1dlYkhpc3Rv
cnkubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5Lm1tCkBAIC01
MzAsNyArNTMwLDcgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5RGF0ZUtleSBkYXRlS2V5KE5T
VGltZUludGVydmFsIGRhdGUpCiAgICAgaWYgKFtVUkwgaXNGaWxlVVJMXSkgewogICAgICAgICBk
aWN0aW9uYXJ5ID0gW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aENvbnRlbnRzT2ZGaWxlOltV
UkwgcGF0aF1dOwogICAgICAgICBpZiAoIWRpY3Rpb25hcnkpIHsKLSNpZiAhTE9HX0RJU0FCTEVE
CisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgICAgICAgICBpZiAoW1tOU0ZpbGVNYW5hZ2VyIGRl
ZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOltVUkwgcGF0aF1dKQogICAgICAgICAgICAg
ICAgIExPR19FUlJPUigidW5hYmxlIHRvIHJlYWQgaGlzdG9yeSBmcm9tIGZpbGUgJUA7IHBlcmhh
cHMgY29udGVudHMgYXJlIGNvcnJ1cHRlZCIsIFtVUkwgcGF0aF0pOwogI2VuZGlmCkBAIC02MTAs
NyArNjEwLDcgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5RGF0ZUtleSBkYXRlS2V5KE5TVGlt
ZUludGVydmFsIGRhdGUpCiAKIC0gKEJPT0wpbG9hZEZyb21VUkw6KE5TVVJMICopVVJMIGNvbGxl
Y3REaXNjYXJkZWRJdGVtc0ludG86KE5TTXV0YWJsZUFycmF5ICopZGlzY2FyZGVkSXRlbXMgZXJy
b3I6KE5TRXJyb3IgKiopZXJyb3IKIHsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAgICAgZG91YmxlIHN0YXJ0ID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAj
ZW5kaWYKIApAQCAtNjE4LDcgKzYxOCw3IEBAIHN0YXRpYyBpbmxpbmUgV2ViSGlzdG9yeURhdGVL
ZXkgZGF0ZUtleShOU1RpbWVJbnRlcnZhbCBkYXRlKQogICAgIGlmICghW3NlbGYgbG9hZEhpc3Rv
cnlHdXRzRnJvbVVSTDpVUkwgc2F2ZWRJdGVtc0NvdW50OiZudW1iZXJPZkl0ZW1zIGNvbGxlY3RE
aXNjYXJkZWRJdGVtc0ludG86ZGlzY2FyZGVkSXRlbXMgZXJyb3I6ZXJyb3JdKQogICAgICAgICBy
ZXR1cm4gTk87CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAg
ZG91YmxlIGR1cmF0aW9uID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgLSBzdGFydDsKICAg
ICBMT0coVGltaW5nLCAibG9hZGluZyAlZCBoaXN0b3J5IGVudHJpZXMgZnJvbSAlQCB0b29rICVm
IHNlY29uZHMiLCBudW1iZXJPZkl0ZW1zLCBVUkwsIGR1cmF0aW9uKTsKICNlbmRpZgpAQCAtNjQy
LDEzICs2NDIsMTMgQEAgc3RhdGljIGlubGluZSBXZWJIaXN0b3J5RGF0ZUtleSBkYXRlS2V5KE5T
VGltZUludGVydmFsIGRhdGUpCiAKIC0gKEJPT0wpc2F2ZVRvVVJMOihOU1VSTCAqKVVSTCBlcnJv
cjooTlNFcnJvciAqKillcnJvcgogewotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9H
R0lORykKICAgICBkb3VibGUgc3RhcnQgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsKICNl
bmRpZgogCiAgICAgQk9PTCByZXN1bHQgPSBbW3NlbGYgZGF0YV0gd3JpdGVUb1VSTDpVUkwgb3B0
aW9uczowIGVycm9yOmVycm9yXTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9H
R0lORykKICAgICBkb3VibGUgZHVyYXRpb24gPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSAt
IHN0YXJ0OwogICAgIExPRyhUaW1pbmcsICJzYXZpbmcgaGlzdG9yeSB0byAlQCB0b29rICVmIHNl
Y29uZHMiLCBVUkwsIGR1cmF0aW9uKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dl
Ykljb25EYXRhYmFzZS5tbQppbmRleCA0ZjhmYzZlMDZhNmYxMWU0YjRlZTg0NGY1M2JiNjljYTFi
NTE3YWQ2Li5iNjU4NzY2N2RkNjhiNWJhMThiYTI3MmUyOTc2NGYyZGM0MWU0OTgwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQpAQCAtNDQxLDE0ICs0NDEsMTQg
QEAgc3RhdGljIFdlYkljb25EYXRhYmFzZUNsaWVudCogZGVmYXVsdENsaWVudCgpCiAgICAgQVNT
RVJUKHNpemUud2lkdGgpOwogICAgIEFTU0VSVChzaXplLmhlaWdodCk7CiAgICAgCi0jaWYgIUxP
R19ESVNBQkxFRCAgICAgICAgCisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgZG91YmxlIHN0YXJ0
ID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAjZW5kaWYKICAgICAKICAgICBbaWNvbiBz
ZXRTY2FsZXNXaGVuUmVzaXplZDpZRVNdOwogICAgIFtpY29uIHNldFNpemU6c2l6ZV07CiAgICAg
Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIGRvdWJsZSBkdXJh
dGlvbiA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpIC0gc3RhcnQ7CiAgICAgTE9HKFRpbWlu
ZywgInNjYWxpbmcgaWNvbiB0b29rICVmIHNlY29uZHMuIiwgZHVyYXRpb24pOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdExvZ2dpbmcuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5oCmluZGV4IGY3MWY3MzA2MzkxMjdhMTI1
MjQ1YjM2MTdmZWI4MDYyYzRkNGZkYjAuLjA0ZGQyN2FkMTQyN2RiYTZhOTdiZTdkZTMzN2Q4Njli
MzQzOWQyY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TG9nZ2lu
Zy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5oCkBAIC0zNiw2
ICszNiw3IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCisjaWYgRU5BQkxFKExPR0dJTkcpCiBl
eHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dUaW1pbmc7CiBleHRlcm4gV1RGTG9nQ2hhbm5l
bCBXZWJLaXRMb2dMb2FkaW5nOwogZXh0ZXJuIFdURkxvZ0NoYW5uZWwgV2ViS2l0TG9nRm9udENh
Y2hlOwpAQCAtNjIsNiArNjMsNyBAQCBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dJY29u
RGF0YWJhc2U7CiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dUZXh0SW5wdXQ7CiAKIHZv
aWQgV2ViS2l0SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KHZvaWQpOworI2Vu
ZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogCiAvLyBGSVhNRTogV2h5IGlzIHRoaXMgaW4gdGhlICJs
b2dnaW5nIiBoZWFkZXIgZmlsZT8KIC8vIFVzZSBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2sg
aW5zdGVhZCBmb3IgY2hlY2tzIHRoYXQgdGhyb3cgYW4gZXhjZXB0aW9uIGV2ZW4gaW4gcHJvZHVj
dGlvbiBidWlsZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdExv
Z2dpbmcubSBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TG9nZ2luZy5tCmluZGV4IDcy
YTgyMmZlZTBmY2Y3ZGNmMjk5NGVhODAwY2ZhZWU1YzE3Y2EwNTUuLjg4MWE2NTMyNDgyY2MxNzVm
NGI1NTk3OGJlNzNlN2UwZmEzOWJmYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01p
c2MvV2ViS2l0TG9nZ2luZy5tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TG9n
Z2luZy5tCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpbXBvcnQgIldlYktpdExvZ2dpbmcuaCIKIAor
I2lmIEVOQUJMRShMT0dHSU5HKQorCiBXVEZMb2dDaGFubmVsIFdlYktpdExvZ1RleHRJbnB1dCA9
ICAgICAgICAgICAgICB7IDB4MDAwMDAwMTAsICJXZWJLaXRMb2dMZXZlbCIsIFdURkxvZ0NoYW5u
ZWxPZmYgfTsKIFdURkxvZ0NoYW5uZWwgV2ViS2l0TG9nVGltaW5nID0gICAgICAgICAgICAgICAg
IHsgMHgwMDAwMDAyMCwgIldlYktpdExvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogV1RG
TG9nQ2hhbm5lbCBXZWJLaXRMb2dMb2FkaW5nID0gICAgICAgICAgICAgICAgeyAweDAwMDAwMDQw
LCAiV2ViS2l0TG9nTGV2ZWwiLCBXVEZMb2dDaGFubmVsT2ZmIH07CkBAIC05OCw2ICsxMDAsNyBA
QCB2b2lkIFdlYktpdEluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiAgICAg
aW5pdGlhbGl6ZUxvZ0NoYW5uZWwoJldlYktpdExvZ0ljb25EYXRhYmFzZSk7CiAgICAgaW5pdGlh
bGl6ZUxvZ0NoYW5uZWwoJldlYktpdExvZ1RleHRJbnB1dCk7CiB9CisjZW5kaWYgLy8gRU5BQkxF
KExPR0dJTkcpCiAKIHZvaWQgUmVwb3J0RGlzY2FyZGVkRGVsZWdhdGVFeGNlcHRpb24oU0VMIGRl
bGVnYXRlU2VsZWN0b3IsIGlkIGV4Y2VwdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5QYWNrYWdlLm1tIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblBhY2thZ2UubW0KaW5kZXggNTMzYjUzOTc1
YWM0MDJlYTkzYjRjOTg3NWYwMTNiMGM0NTg3NWYxNi4uYTc4ZDQ1MjMwNDgwMThkODViMDlhMjYy
MWNjODAxYThlOWZjYTdhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9X
ZWJOZXRzY2FwZVBsdWdpblBhY2thZ2UubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblBhY2thZ2UubW0KQEAgLTM2OSw3ICszNjksNyBAQCBzdGF0aWMg
VHJhbnNpdGlvblZlY3RvciB0VmVjdG9yRm9yRnVuY3Rpb25Qb2ludGVyKEZ1bmN0aW9uUG9pbnRl
cik7CiAgICAgTWFpbkZ1bmNQdHIgcGx1Z2luTWFpbkZ1bmMgPSBOVUxMOwogI2VuZGlmCiAKLSNp
ZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgQ0ZBYnNvbHV0ZVRpbWUg
c3RhcnQgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsKICAgICBDRkFic29sdXRlVGltZSBj
dXJyZW50VGltZTsKICAgICBDRkFic29sdXRlVGltZSBkdXJhdGlvbjsKQEAgLTM4NCw3ICszODQs
NyBAQCBzdGF0aWMgVHJhbnNpdGlvblZlY3RvciB0VmVjdG9yRm9yRnVuY3Rpb25Qb2ludGVyKEZ1
bmN0aW9uUG9pbnRlcik7CiAjZW5kaWYKICAgICAgICAgaWYgKCFDRkJ1bmRsZUxvYWRFeGVjdXRh
YmxlKGNmQnVuZGxlLmdldCgpKSkKICAgICAgICAgICAgIHJldHVybiBOTzsKLSNpZiAhTE9HX0RJ
U0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgICAgIGN1cnJlbnRUaW1lID0gQ0ZBYnNv
bHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAgICAgICAgIGR1cmF0aW9uID0gY3VycmVudFRpbWUgLSBz
dGFydDsKICNlbmRpZgpAQCAtNDI2LDcgKzQyNiw3IEBAIHN0YXRpYyBUcmFuc2l0aW9uVmVjdG9y
IHRWZWN0b3JGb3JGdW5jdGlvblBvaW50ZXIoRnVuY3Rpb25Qb2ludGVyKTsKICAgICAgICAgICAg
IExPR19FUlJPUigiV2ViR2V0RGlza0ZyYWdtZW50IGZhaWxlZC4gRXJyb3I9JWQiLCBlcnIpOwog
ICAgICAgICAgICAgcmV0dXJuIE5POwogICAgICAgICB9Ci0jaWYgIUxPR19ESVNBQkxFRAorI2lm
IEVOQUJMRShMT0dHSU5HKQogICAgICAgICBjdXJyZW50VGltZSA9IENGQWJzb2x1dGVUaW1lR2V0
Q3VycmVudCgpOwogICAgICAgICBkdXJhdGlvbiA9IGN1cnJlbnRUaW1lIC0gc3RhcnQ7CiAjZW5k
aWYKQEAgLTUxOCw3ICs1MTgsNyBAQCBzdGF0aWMgVHJhbnNpdGlvblZlY3RvciB0VmVjdG9yRm9y
RnVuY3Rpb25Qb2ludGVyKEZ1bmN0aW9uUG9pbnRlcik7CiAgICAgICAgIAogICAgICAgICBbc2Vs
ZiBfYXBwbHlEalZ1V29ya2Fyb3VuZF07CiAgICAgICAgIAotI2lmICFMT0dfRElTQUJMRUQKKyNp
ZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAgQ0ZBYnNvbHV0ZVRpbWUgbWFpblN0YXJ0ID0gQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAjZW5kaWYKICAgICAgICAgTE9HKFBsdWdpbnMsICIl
ZiBtYWluIHRpbWluZyBzdGFydGVkIiwgbWFpblN0YXJ0KTsKQEAgLTUzNiw3ICs1MzYsNyBAQCBz
dGF0aWMgVHJhbnNpdGlvblZlY3RvciB0VmVjdG9yRm9yRnVuY3Rpb25Qb2ludGVyKEZ1bmN0aW9u
UG9pbnRlcik7CiAgICAgICAgICAgICAgICAgW3NlbGYgbGF1bmNoUmVhbFBsYXllcl07CiAgICAg
ICAgICAgICByZXR1cm4gTk87CiAgICAgICAgIH0KLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5B
QkxFKExPR0dJTkcpCiAgICAgICAgIGN1cnJlbnRUaW1lID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJy
ZW50KCk7CiAgICAgICAgIGR1cmF0aW9uID0gY3VycmVudFRpbWUgLSBtYWluU3RhcnQ7CiAjZW5k
aWYKQEAgLTYzMSwxNCArNjMxLDE0IEBAIHN0YXRpYyBUcmFuc2l0aW9uVmVjdG9yIHRWZWN0b3JG
b3JGdW5jdGlvblBvaW50ZXIoRnVuY3Rpb25Qb2ludGVyKTsKICAgICAgICAgCiAgICAgICAgIFtz
ZWxmIF9hcHBseURqVnVXb3JrYXJvdW5kXTsKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBFTkFC
TEUoTE9HR0lORykKICAgICAgICAgQ0ZBYnNvbHV0ZVRpbWUgaW5pdGlhbGl6ZVN0YXJ0ID0gQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAjZW5kaWYKICAgICAgICAgTE9HKFBsdWdpbnMsICIl
ZiBOUF9Jbml0aWFsaXplIHRpbWluZyBzdGFydGVkIiwgaW5pdGlhbGl6ZVN0YXJ0KTsKICAgICAg
ICAgbnBFcnIgPSBOUF9Jbml0aWFsaXplKCZicm93c2VyRnVuY3MpOwogICAgICAgICBpZiAobnBF
cnIgIT0gTlBFUlJfTk9fRVJST1IpCiAgICAgICAgICAgICByZXR1cm4gTk87Ci0jaWYgIUxPR19E
SVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgICAgICBjdXJyZW50VGltZSA9IENGQWJz
b2x1dGVUaW1lR2V0Q3VycmVudCgpOwogICAgICAgICBkdXJhdGlvbiA9IGN1cnJlbnRUaW1lIC0g
aW5pdGlhbGl6ZVN0YXJ0OwogI2VuZGlmCkBAIC02NjIsNyArNjYyLDcgQEAgc3RhdGljIFRyYW5z
aXRpb25WZWN0b3IgdFZlY3RvckZvckZ1bmN0aW9uUG9pbnRlcihGdW5jdGlvblBvaW50ZXIpOwog
ICAgIH0KICNlbmRpZgogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQog
ICAgIGN1cnJlbnRUaW1lID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAgICAgZHVyYXRp
b24gPSBjdXJyZW50VGltZSAtIHN0YXJ0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQppbmRleCBhN2RhYWFlYzA0
ZDUxMGFhN2QwMWNjYWNiMGJlOTYzMjdkMWVkYzJkLi4xZWRkOGFlODc3YjI0NjY4ZmJmNjc1ZDU2
ODdlZDUwMTA2NWI5MzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dl
Yk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
V2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KQEAgLTQyMSw3ICs0MjEsNyBAQCB2b2lkIFdlYk5l
dHNjYXBlUGx1Z2luU3RyZWFtOjpkZXN0cm95U3RyZWFtKCkKIAogICAgICAgICBpZiAobV9uZXdT
dHJlYW1TdWNjZXNzZnVsKSB7CiAgICAgICAgICAgICBQbHVnaW5TdG9wRGVmZXJyZXIgZGVmZXJy
ZXIobV9wbHVnaW5WaWV3LmdldCgpKTsKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAgICAgICAgICAgICBOUEVycm9yIG5wRXJyID0gCiAjZW5kaWYKICAgICAgICAgICAg
IG1fcGx1Z2luRnVuY3MtPmRlc3Ryb3lzdHJlYW0obV9wbHVnaW4sICZtX3N0cmVhbSwgbV9yZWFz
b24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5EYXRh
YmFzZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luRGF0YWJhc2UubW0K
aW5kZXggZTdmYWUxYmVjMmIzMTgzYTQ4MTE2OWVjMWQxZWU1NThiYWQ3MDg3YS4uMzhkYjRkMDE0
ZjdlNmM5ZDc1NDViNmQ4ZWUyYzJmMDMxZTA2Y2UyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5EYXRhYmFzZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9QbHVnaW5zL1dlYlBsdWdpbkRhdGFiYXNlLm1tCkBAIC0yODYsNyArMjg2LDcgQEAgc3RhdGlj
IE5TQXJyYXkgKmFkZGl0aW9uYWxXZWJQbHVnSW5QYXRoczsKICAgICAgICAgW25ld1BsdWdpbnMg
cmVtb3ZlT2JqZWN0OnBsdWdpbl07CiAgICAgfQogCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVO
QUJMRShMT0dHSU5HKQogICAgIGlmIChbbmV3UGx1Z2lucyBjb3VudF0gPiAwKQogICAgICAgICBM
T0coUGx1Z2lucywgIk5ldyBwbHVnaW5zOlxuJUAiLCBuZXdQbHVnaW5zKTsKICAgICBpZiAoW3Bs
dWdpbnNUb1JlbW92ZSBjb3VudF0gPiAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9XZWJQbHVnaW5QYWNrYWdlLm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9X
ZWJQbHVnaW5QYWNrYWdlLm1tCmluZGV4IGE2MDgwNjg4N2Q2MzgzMjI3ODdhMTlkN2I1ZTY4MWVk
ZjM2OTBkNTguLjVjZWY1NTAyYTQ0NGJmMGIxOTk3ODhiODJjMmI3NTNhZWU3NjU3M2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luUGFja2FnZS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpblBhY2thZ2UubW0KQEAgLTkxLDcg
KzkxLDcgQEAgTlNTdHJpbmcgKldlYlBsdWdJbkNvbnRhaW5pbmdFbGVtZW50S2V5ID0gICAgICAg
QCJXZWJQbHVnSW5Db250YWluaW5nRWxlbWVudEtleSIKIAogLSAoQk9PTClsb2FkCiB7Ci0jaWYg
IUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIENGQWJzb2x1dGVUaW1lIHN0
YXJ0ID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAjZW5kaWYKICAgICAKQEAgLTEwMSw3
ICsxMDEsNyBAQCBOU1N0cmluZyAqV2ViUGx1Z0luQ29udGFpbmluZ0VsZW1lbnRLZXkgPSAgICAg
ICBAIldlYlBsdWdJbkNvbnRhaW5pbmdFbGVtZW50S2V5IgogICAgICAgICAgICAgcmV0dXJuIE5P
OwogICAgIH0KICAgICAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAg
ICAgQ0ZBYnNvbHV0ZVRpbWUgZHVyYXRpb24gPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSAt
IHN0YXJ0OwogICAgIExPRyhQbHVnaW5zLCAicHJpbmNpcGFsQ2xhc3MgdG9vayAlZiBzZWNvbmRz
IGZvcjogJUAiLCBkdXJhdGlvbiwgKE5TU3RyaW5nICopW3NlbGYgcGx1Z2luSW5mb10ubmFtZSk7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViQXJjaGl2
ZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQppbmRleCBhZWVi
ZDk3MmNjNTg3ZTUxZTM2NDgxZDYxMmUyY2Q1YjI2MTNjMzk1Li5jMDE1MDQ0NDU1OWUwZjMwODFk
MThhM2RiZjZlY2JmZmZlMjMxYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkFyY2hpdmUubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJBcmNo
aXZlLm1tCkBAIC0yMTAsNyArMjEwLDcgQEAgc3RhdGljIEJPT0wgaXNBcnJheU9mQ2xhc3MoaWQg
b2JqZWN0LCBDbGFzcyBlbGVtZW50Q2xhc3MpCiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1
cm4gbmlsOwogICAgICAgICAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcp
CiAgICAgQ0ZBYnNvbHV0ZVRpbWUgc3RhcnQgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsK
ICNlbmRpZgogCkBAIC0yMjMsNyArMjIzLDcgQEAgc3RhdGljIEJPT0wgaXNBcnJheU9mQ2xhc3Mo
aWQgb2JqZWN0LCBDbGFzcyBlbGVtZW50Q2xhc3MpCiAgICAgICAgIAogICAgIFtfcHJpdmF0ZSBz
ZXRDb3JlQXJjaGl2ZTpjb3JlQXJjaGl2ZS5yZWxlYXNlKCldOwogICAgICAgICAKLSNpZiAhTE9H
X0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAgICAgQ0ZBYnNvbHV0ZVRpbWUgZW5kID0g
Q0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCk7CiAgICAgQ0ZBYnNvbHV0ZVRpbWUgZHVyYXRpb24g
PSBlbmQgLSBzdGFydDsKICNlbmRpZgpAQCAtMzYxLDEzICszNjEsMTMgQEAgc3RhdGljIEJPT0wg
aXNBcnJheU9mQ2xhc3MoaWQgb2JqZWN0LCBDbGFzcyBlbGVtZW50Q2xhc3MpCiB7CiAgICAgV2Vi
Q29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUd28oKTsKIAotI2lmICFMT0dfRElTQUJMRUQK
KyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBDRkFic29sdXRlVGltZSBzdGFydCA9IENGQWJzb2x1
dGVUaW1lR2V0Q3VycmVudCgpOwogI2VuZGlmCiAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBk
YXRhID0gW19wcml2YXRlIGNvcmVBcmNoaXZlXS0+cmF3RGF0YVJlcHJlc2VudGF0aW9uKCk7CiAg
ICAgCi0jaWYgIUxPR19ESVNBQkxFRAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIENGQWJzb2x1
dGVUaW1lIGVuZCA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpOwogICAgIENGQWJzb2x1dGVU
aW1lIGR1cmF0aW9uID0gZW5kIC0gc3RhcnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IGM0MzFmOWIwMjNmZTg1NTZhMDY4NDZlN2ZiNDcwMjcy
OTNhMDVlNmQuLjAwNDhhMzhmZTJiOWZlNjUzNGRmMTJmOTk5ZDQ0MzdmNjVmNmE0ZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtMzE4OCw3ICszMTg4LDcg
QEAgc3RhdGljIHZvaWQgc2V0TWVudVRhcmdldHMoTlNNZW51KiBtZW51KQogICAgIHJldHVybiBb
W3NlbGYgX3dlYlZpZXddIGRyYXdzQmFja2dyb3VuZF07CiB9CiAKLSNpZiAhTE9HX0RJU0FCTEVE
CisjaWYgRU5BQkxFKExPR0dJTkcpCiAtICh2b2lkKXNldE5lZWRzRGlzcGxheTooQk9PTClmbGFn
CiB7CiAgICAgTE9HKFZpZXcsICIlQCBzZXROZWVkc0Rpc3BsYXk6JUAiLCBzZWxmLCBmbGFnID8g
QCJZRVMiIDogQCJOTyIpOwpAQCAtNjE0MCwxMSArNjE0MCwxMSBAQCBzdGF0aWMgdm9pZCBleHRy
YWN0VW5kZXJsaW5lcyhOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZywgVmVjdG9yPENvbXBvc2l0
aW9uVW5kZQogLSAoTlNBdHRyaWJ1dGVkU3RyaW5nICopX2F0dHJpYnV0ZVN0cmluZ0Zyb21ET01S
YW5nZTooRE9NUmFuZ2UgKilyYW5nZQogewogICAgIE5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmli
dXRlZFN0cmluZzsKLSNpZiAhTE9HX0RJU0FCTEVEICAgICAgICAKKyNpZiBFTkFCTEUoTE9HR0lO
RykKICAgICBkb3VibGUgc3RhcnQgPSBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKTsKICNlbmRp
ZiAgICAKICAgICBhdHRyaWJ1dGVkU3RyaW5nID0gW1tbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9j
XSBfaW5pdFdpdGhET01SYW5nZTpyYW5nZV0gYXV0b3JlbGVhc2VdOwotI2lmICFMT0dfRElTQUJM
RUQKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBkb3VibGUgZHVyYXRpb24gPSBDRkFic29sdXRl
VGltZUdldEN1cnJlbnQoKSAtIHN0YXJ0OwogICAgIExPRyhUaW1pbmcsICJjcmVhdGluZyBhdHRy
aWJ1dGVkIHN0cmluZyBmcm9tIHNlbGVjdGlvbiB0b29rICVmIHNlY29uZHMuIiwgZHVyYXRpb24p
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNDVhNGNmNWQw
ZjU4MDhlMGMyNTQ0Njg5ZjVkMjYwOTE3MTEyYjZjYi4uZTU5NTA4ZjYzODQ4ZjZjZjllMWU3ZjJl
MWI3ZjVlMGRkOGIxNzgwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAt
NzIzLDggKzcyMywxMCBAQCBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0
dHJpYnV0ZVNldHRlcnMoKQogCiAgICAgc3RhdGljIGJvb2wgZGlkT25lVGltZUluaXRpYWxpemF0
aW9uID0gZmFsc2U7CiAgICAgaWYgKCFkaWRPbmVUaW1lSW5pdGlhbGl6YXRpb24pIHsKKyNpZiBF
TkFCTEUoTE9HR0lORykKICAgICAgICAgV2ViS2l0SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lm
TmVjZXNzYXJ5KCk7CiAgICAgICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJ
Zk5lY2Vzc2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogICAgICAgICBbV2ViSGlz
dG9yeUl0ZW0gaW5pdFdpbmRvd1dhdGNoZXJJZk5lY2Vzc2FyeV07CiAjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICAgICAgICAgV2ViS2l0SW5pdGlhbGl6ZURhdGFiYXNlc0lmTmVjZXNzYXJ5KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luaXRXZWJDb3Jl
UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Jbml0V2ViQ29yZVF0LmNw
cAppbmRleCA0NTIwOTFjMjhmZTlkNWY5ZDg0ZTM1ZTI4MGVkOTNjMjgxMTcyYjdlLi5iNDZhN2Y5
ZTJlMjZhZjU3ZTE5YjIxZTJhNmRhMzE5Y2RhYmI5MmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luaXRXZWJDb3JlUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVRdC5jcHAKQEAgLTY2LDcgKzY2LDkgQEAg
dm9pZCBpbml0aWFsaXplV2ViQ29yZVF0KCkKICAgICBpZiAoaW5pdGlhbGl6ZWQpCiAgICAgICAg
IHJldHVybjsKIAorI2lmIEVOQUJMRShMT0dHSU5HKQogICAgIFdlYkNvcmU6OmluaXRpYWxpemVM
b2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQog
ICAgIFNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKICAgICBXVEY6Omlu
aXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3k6OnNldExv
Y2FsTG9hZFBvbGljeShXZWJDb3JlOjpTZWN1cml0eVBvbGljeTo6QWxsb3dMb2NhbExvYWRzRm9y
TG9jYWxBbmRTdWJzdGl0dXRlRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGIzMmM4YjRi
ZmE2MWVkMDYwNzY5OGE3NzBlNWZmMmJkZmI0ZTZhY2EuLjEwZDYyNjFiZjRiNDVhY2U5ZDFmNjUw
MjRlMzk3MzJkN2QwZTQyZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0yNjQxLDcgKzI2NDEs
OSBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoCiAK
ICAgICBzdGF0aWMgYm9vbCBkaWRPbmVUaW1lSW5pdGlhbGl6YXRpb247CiAgICAgaWYgKCFkaWRP
bmVUaW1lSW5pdGlhbGl6YXRpb24pIHsKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICAgICAgaW5p
dGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYgLy8gRU5BQkxFKExP
R0dJTkcpCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgV2ViS2l0SW5pdGlhbGl6
ZVdlYkRhdGFiYXNlc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYKQEAgLTU1NDIsNyArNTU0NCw3IEBA
IHN0YXRpYyB2b2lkIGNvbXBvc2l0aW9uVG9VbmRlcmxpbmVzKGNvbnN0IFZlY3RvcjxEV09SRD4m
IGNsYXVzZXMsIGNvbnN0IFZlY3RvcjxCCiAgICAgfQogfQogCi0jaWYgIUxPR19ESVNBQkxFRAor
I2lmIEVOQUJMRShMT0dHSU5HKQogI2RlZmluZSBBUFBFTkRfQVJHVU1FTlRfTkFNRShuYW1lKSBc
CiAgICAgaWYgKGxwYXJhbSAmIG5hbWUpIHsgXAogICAgICAgICBpZiAobmVlZHNDb21tYSkgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQv
d3gvV2ViVmlldy5jcHAKaW5kZXggYWRkZDExYzNhYzVjZDFmNTMwNThkOWY4Yzc0MzBmNGNmODQ4
MTI2NC4uYmJhZmNmMzRjNDg4ZTRhNjdiMWEzMzc0NTdhMzQ0NzhmZTJjODkzZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93eC9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dl
YlZpZXcuY3BwCkBAIC0zODksNyArMzg5LDkgQEAgYm9vbCBXZWJWaWV3OjpDcmVhdGUod3hXaW5k
b3cqIHBhcmVudCwgY29uc3Qgd3hTdHJpbmcmIHVybCwgaW50IGlkLCBjb25zdCB3eFBvaW4KIAog
ICAgIG1faW1wbCA9IG5ldyBXZWJWaWV3UHJpdmF0ZSgpOwogCi0gICAgV2ViQ29yZTo6aW5pdGlh
bGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7ICAgIAorI2lmIEVOQUJMRShMT0dHSU5H
KQorICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwor
I2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogICAgIFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxl
bWVudCogcGFyZW50RnJhbWUgPSAwOwogCiAgICAgV2ViQ29yZTo6RWRpdG9yQ2xpZW50V3gqIGVk
aXRvckNsaWVudCA9IG5ldyBXZWJDb3JlOjpFZGl0b3JDbGllbnRXeCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9Mb2dnaW5nLmNwcAppbmRleCBmMjMxOGVjZWM3NzZkNjg5ODIyNjQxZDZjMDYwZTE2MGJh
MzJiNjU5Li5jYTg5MmQ0OTM4NmEzYzdjYTE1YTBkOTg2YzQ3MTM0Yzk2NjNjNzQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmNwcApAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAotI2lmICFMT0dfRElTQUJMRUQKKyNpZiBF
TkFCTEUoTE9HR0lORykKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTkwLDQgKzkwLDQgQEAg
dm9pZCBpbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCi0jZW5kaWYgLy8gTE9HX0RJU0FCTEVECisjZW5kaWYgLy8gRU5BQkxFKExPR0dJ
TkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggMDZmOTYwOTFjMjk3MWFhYjM1OGU2
YjkwZTc4NzdkMTUwZWY0OTZiMC4uMmNmYzVjODRmOGI3YThiYWE1ZWMzYzFhYTc4ODU5YzA2Zjll
OTQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtMjksNyArMjksNyBAQAogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiAKICNpZm5kZWYgTE9H
X0NIQU5ORUxfUFJFRklYCiAjZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKQEAgLTUyLDYg
KzUyLDYgQEAgV1RGTG9nQ2hhbm5lbCogZ2V0Q2hhbm5lbEZyb21OYW1lKGNvbnN0IFN0cmluZyYg
Y2hhbm5lbE5hbWUpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIExPR19E
SVNBQkxFRAorI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogCiAjZW5kaWYgLy8gTG9nZ2luZ19o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAKaW5kZXggODYzN2Mx
ZTFiYjAxNjNiZGVjOGIyNDIxMDQ2MjRmNzZhZWRmM2M0YS4uNmFkNmM0MTdlNThlYjA3MWQxMDMw
ZGNjNmUwMjFjMDlhMzMwMTNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
Z3RrL0xvZ2dpbmdHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL2d0ay9Mb2dn
aW5nR3RrLmNwcApAQCAtMzAsNyArMzAsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lm
ICFMT0dfRElTQUJMRUQKKyNpZiBFTkFCTEUoTE9HR0lORykKIAogdm9pZCBpbml0aWFsaXplTG9n
Q2hhbm5lbChXVEZMb2dDaGFubmVsKiBjaGFubmVsKQogewpAQCAtNTUsNiArNTUsNiBAQCB2b2lk
IGluaXRpYWxpemVMb2dDaGFubmVsKFdURkxvZ0NoYW5uZWwqIGNoYW5uZWwpCiAgICAgICAgIGNo
YW5uZWwtPnN0YXRlID0gV1RGTG9nQ2hhbm5lbE9uOwogfQogCi0jZW5kaWYgLy8gIUxPR19ESVNB
QkxFRAorI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vcXQvTG9nZ2luZ1F0LmNwcAppbmRleCAzYzQ0ZTIzYTkxZWZhMTk2NmJlYTUwOTExZDA1MGNh
M2U5MGE5ZTVjLi43ODZhNTYxZmQ5ZDk3YTdmZGQ5NjBlYWUwMzI2YWEyY2YwYjIzYjNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL3F0L0xvZ2dpbmdRdC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExP
R0dJTkcpCiAKIHZvaWQgaW5pdGlhbGl6ZUxvZ0NoYW5uZWwoV1RGTG9nQ2hhbm5lbCogY2hhbm5l
bCkKIHsKQEAgLTU1LDYgKzU1LDYgQEAgdm9pZCBpbml0aWFsaXplTG9nQ2hhbm5lbChXVEZMb2dD
aGFubmVsKiBjaGFubmVsKQogICAgICAgICBjaGFubmVsLT5zdGF0ZSA9IFdURkxvZ0NoYW5uZWxP
bjsKIH0KIAotI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lO
RykKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IDc0MmFl
YTYyYzMwYTZhZjI2YjllZGQ0ODNkZTZmMDQyMDEzYzFlYWQuLjE4NzYxMDRjOThhZjJjYzFhODU4
YzIxMjI3NjNiZDc0MmViNjAzNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCBXZWJDb250ZXh0OjpXZWJDb250ZXh0KFByb2Nlc3NN
b2RlbCBwcm9jZXNzTW9kZWwsIGNvbnN0IFN0cmluZyYgaW5qZWN0ZWRCdW5kbGVQYQogICAgICwg
bV9wcm9jZXNzVGVybWluYXRpb25FbmFibGVkKHRydWUpCiAgICAgLCBtX3BsdWdpbldvcmtRdWV1
ZSgiY29tLmFwcGxlLkNvcmVJUEMuUGx1Z2luUXVldWUiKQogewotI2lmICFMT0dfRElTQUJMRUQK
KyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBXZWJLaXQ6OmluaXRpYWxpemVMb2dDaGFubmVsc0lm
TmVjZXNzYXJ5KCk7CiAjZW5kaWYKIApAQCAtMTU3LDcgKzE1Nyw5IEBAIFdlYkNvbnRleHQ6Oldl
YkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NNb2RlbCwgY29uc3QgU3RyaW5nJiBpbmplY3Rl
ZEJ1bmRsZVBhCiAKICAgICBhZGRMYW5ndWFnZUNoYW5nZU9ic2VydmVyKHRoaXMsIGxhbmd1YWdl
Q2hhbmdlZCk7CiAKKyNpZiBFTkFCTEUoTE9HR0lORykKICAgICBXZWJDb3JlOjppbml0aWFsaXpl
TG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKKyNlbmRpZiAvLyBFTkFCTEUoTE9HR0lORykK
IAogI2lmbmRlZiBOREVCVUcKICAgICB3ZWJDb250ZXh0Q291bnRlci5pbmNyZW1lbnQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYjUwNDZiMjk5Yzk4
OTM4M2YxZjViNDVmZDViNzQ0MWQxMDc3MDVkNi4uYjZkZDA1NDQ3MzVhMmVjZjQ3YWEyMDlmMzQ5
NWI1ZTY0YTAzYjM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKQEAgLTEyNiw3ICsxMjYsNyBAQCBXS1BhZ2VEZWJ1Z1BhaW50RmxhZ3MgV2ViUGFnZVByb3h5
OjpzX2RlYnVnUGFpbnRGbGFncyA9IDA7CiAKIERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6
OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgd2ViUGFnZVByb3h5Q291bnRlciwgKCJXZWJQYWdlUHJv
eHkiKSk7CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJTkcpCiBzdGF0aWMg
Y29uc3QgY2hhciogd2ViS2V5Ym9hcmRFdmVudFR5cGVTdHJpbmcoV2ViRXZlbnQ6OlR5cGUgdHlw
ZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTE0Nyw3ICsxNDcsNyBAQCBzdGF0aWMgY29u
c3QgY2hhciogd2ViS2V5Ym9hcmRFdmVudFR5cGVTdHJpbmcoV2ViRXZlbnQ6OlR5cGUgdHlwZSkK
ICAgICAgICAgcmV0dXJuICI8dW5rbm93bj4iOwogICAgIH0KIH0KLSNlbmRpZiAvLyAhTE9HX0RJ
U0FCTEVECisjZW5kaWYgLy8gRU5BQkxFKExPR0dJTkcpCiAKIFBhc3NSZWZQdHI8V2ViUGFnZVBy
b3h5PiBXZWJQYWdlUHJveHk6OmNyZWF0ZShQYWdlQ2xpZW50KiBwYWdlQ2xpZW50LCBQYXNzUmVm
UHRyPFdlYlByb2Nlc3NQcm94eT4gcHJvY2VzcywgV2ViUGFnZUdyb3VwKiBwYWdlR3JvdXAsIHVp
bnQ2NF90IHBhZ2VJRCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93
aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3Bw
CmluZGV4IDI4ZDI2ZjFmM2U0MmJiZjQzNTAyMmNlMjY4OWY4YWU2ODBmYjgzODIuLjUwYzFmY2Iy
ZTI0MTU1ZDYxNDRiYjk5NzQyNWMyY2FjMGQ1YjUyNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3dpbi9XZWJWaWV3LmNwcApAQCAtMTIzNiw3ICsxMjM2LDcgQEAgc3RhdGljIHZvaWQgY29t
cG9zaXRpb25Ub1VuZGVybGluZXMoY29uc3QgVmVjdG9yPERXT1JEPiYgY2xhdXNlcywgY29uc3Qg
VmVjdG9yPEIKICAgICB9CiB9CiAKLSNpZiAhTE9HX0RJU0FCTEVECisjaWYgRU5BQkxFKExPR0dJ
TkcpCiAjZGVmaW5lIEFQUEVORF9BUkdVTUVOVF9OQU1FKG5hbWUpIFwKICAgICBpZiAobHBhcmFt
ICYgbmFtZSkgeyBcCiAgICAgICAgIGlmIChuZWVkc0NvbW1hKSBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCAxNDI0YTFhNDA2YWZkODdkNDJmZmQ4NmMwNGNm
ZmE1NWFkMWM5MTdhLi5hMDA1MjE2YmIyNjU2ZmMwNjg5MzMxNGU2Nzc0YzBiNGZjN2I0MzM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE2MSw3ICsxNjEs
OSBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6
OmluaXRpYWxpemUoKTsKICNlbmRpZiAvLyBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKIAorI2lm
IEVOQUJMRShMT0dHSU5HKQogICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJ
Zk5lY2Vzc2FyeSgpOworI2VuZGlmIC8vIEVOQUJMRShMT0dHSU5HKQogfQogCiB2b2lkIFdlYlBy
b2Nlc3M6OmluaXRpYWxpemUoQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBzZXJ2ZXJJ
ZGVudGlmaWVyLCBSdW5Mb29wKiBydW5Mb29wKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150263</attachid>
            <date>2012-06-29 15:25:52 -0700</date>
            <delta_ts>2012-06-29 20:25:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90228-20120629152550.patch</filename>
            <type>text/plain</type>
            <size>28619</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQyOGUyMjIzMzUwYmRhMWQyYThmNmY0
ZWMzMTMyOGEwN2M1N2VlZjIuLmU5YjA2YmE5YzU4MDQ4NGFiZWQyYzYxY2ZmM2U1ODczZGI1ZTI0
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMjkgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRp
YWxpemF0aW9uIHdoZW4gbG9nZ2luZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisgICAgICAgICog
d3RmL1BsYXRmb3JtLmg6CisKIDIwMTItMDYtMjggIEthbGV2IExlbWJlciAgPGthbGV2bGVtYmVy
QGdtYWlsLmNvbT4KIAogICAgICAgICBUaHJlYWRpbmdXaW46IFNpbGVuY2UgR0NDIGNvbXBpbGVy
IHdhcm5pbmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzFjOWY4MjMwMTJmMDk4OGRlZWE1NGE0Zjg4OWU0MDlk
ODNjYTg5Ny4uODQwOGM1YjBjYWY0OTFhOTVjYmFjMjMxYmJmOWRjNDA1NDg0YTNmNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA2LTI5ICBCZW5qYW1pbiBQb3VsYWluICA8YnBv
dWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIERvIG5vdCBkbyBhbnkgbG9nZ2luZyBpbml0aWFs
aXphdGlvbiB3aGVuIGxvZ2dpbmcgaXMgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW5pdGlhbGl6YXRpbmcgb2YgdGhlIGxvZ2dpbmcgY2hh
bm5lbHMgd2FzIHRha2luZyB0aW1lIG9uIHN0YXJ0dXAuIFdoZW4gbG9nZ2luZyBpcyBkaXNhYmxl
ZAorICAgICAgICAoYW5kIHRoZSBMT0cgbWFjcm8gZG9lcyBub3RoaW5nKSwgd2Ugc2hvdWxkIGFz
bG8gZGlzYWJsZSBsb2dnaW5nIGNoYW5uZWxzIGFuZCBpbml0aWFsaXphdGlvbi4KKworICAgICAg
ICBUaGlzIHBhdGNoICNpZmRlZiB0aGUgTG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aXRoIHRoZSBt
YWNybyBMT0dfRElTQUJMRUQuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAg
KiBwbGF0Zm9ybS9Mb2dnaW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5nLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHA6CisgICAg
ICAgICogcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
TG9nZ2luZ01hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVuc3VyZVNlc3Npb25Jc0luaXRpYWxp
emVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwOgorICAgICAgICAqIHBs
YXRmb3JtL3dpbi9Mb2dnaW5nV2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS93eC9Mb2dnaW5n
V3guY3BwOgorCiAyMDEyLTA2LTI4ICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+
CiAKICAgICAgICAgW2Nocm9taXVtXSBTcGxpdCBXZWJTY3JvbGxiYXIgaW50byBXZWJQbHVnaW5T
Y3JvbGxiYXIgYW5kIFdlYlNjcm9sbGJhcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5k
ZXggY2Y2YTQ0MjkxN2NhM2RmZTgzNjEzM2IzMGVjZjMxM2VmZTRmZDA2My4uNWJlYzVhODdiZGUy
YmM3ODkzMDU3ZTg3ZDEwMzEyNWVhMDBjNzdhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMjkgIEJlbmphbWluIFBvdWxhaW4gIDxicG91
bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxp
emF0aW9uIHdoZW4gbG9nZ2luZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIEFwaS9CbGFja0JlcnJ5R2xvYmFsLmNwcDoKKyAgICAg
ICAgKEJsYWNrQmVycnk6OldlYktpdDo6Z2xvYmFsSW5pdGlhbGl6ZSk6CisKIDIwMTItMDYtMjcg
IEFuZHJldyBMbyAgPGFubG9AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gU2VsZWN0
aW9uIG92ZXJsYXkgY2FuIGJlY29tZSB2aXNpYmxlIGFmdGVyIGl0IGhhcyBiZWVuIGhpZGRlbgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA1YzhmNWU4MDM4ZGRjZjhhNmM1MjI0ZWQ3ZWVh
N2Y4YzliNTU4MTE1Li4zMTAwMzQxNTc2MGE2NTc1MzRjYTUzMjU3YjQwMGFkMDg3YzY0ZGVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTI5ICBC
ZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIERvIG5vdCBk
byBhbnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aGVuIGxvZ2dpbmcgaXMgZGlzYWJsZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjI4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvV2ViS2l0
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZW5hYmxlTG9nQ2hhbm5lbCk6CisKIDIwMTItMDYtMjgg
IEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1d
IFNwbGl0IFdlYlNjcm9sbGJhciBpbnRvIFdlYlBsdWdpblNjcm9sbGJhciBhbmQgV2ViU2Nyb2xs
YmFyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggZDQ2ZDMxZDQ0ZjEwYWU0ZjU2MGQ1NzQ3YzJmODAzOWI5
NDc4YzcyOS4uMWQ2ZmMwNDhhOWJiMjYxNjJjYmI4NjBjNDkyZGEzNmRiNmM5MDZmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTI5ICBCZW5qYW1pbiBQb3VsYWlu
ICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIERvIG5vdCBkbyBhbnkgbG9nZ2luZyBp
bml0aWFsaXphdGlvbiB3aGVuIGxvZ2dpbmcgaXMgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjI4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBld2svZXdrX21haW4uY3BwOgorICAgICAg
ICAoX2V3a19pbml0X2JvZHkpOgorCiAyMDEyLTA2LTI3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5y
ZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MTIxMzk4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDc1MDRkZDRlMzY0MmI3OWNjNjk4NmUyMzU2MDU2
ZTkyYTk4MTVlODEuLjJhYTU3NWVhMzQzMzY0MjU4MzFlMWE0MGQ1MzU4ZWY0YTM0YmUzZWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOSAgQmVuamFtaW4gUG91
bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55IGxvZ2dp
bmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Via2l0L3dlYmtpdGdsb2JhbHMu
Y3BwOgorICAgICAgICAod2Via2l0SW5pdCk6CisKIDIwMTItMDYtMjUgIE1hcmsgSGFobmVuYmVy
ZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0xvY2sgc2hvdWxkIGJlIHBl
ci1KU0dsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAzNDFmNDVmYWIyYzJlZDM3MzhmYTlm
ODk3MjU5M2ZhZGMwODc3NjRhLi4yYTZlYTc2MThjNWFmZTdlZjc3OTNhMTI2MTZmNjkwZjIzMjA1
OTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDYtMjkgIEJlbmph
bWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbm90IGRvIGFu
eSBsb2dnaW5nIGluaXRpYWxpemF0aW9uIHdoZW4gbG9nZ2luZyBpcyBkaXNhYmxlZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pc2MvV2ViSWNvbkRh
dGFiYXNlLm1tOgorICAgICAgICAoLVtXZWJJY29uRGF0YWJhc2UgX3NjYWxlSWNvbjp0b1NpemU6
XSk6CisgICAgICAgICogTWlzYy9XZWJLaXRMb2dnaW5nLmg6CisgICAgICAgICogTWlzYy9XZWJL
aXRMb2dnaW5nLm06CisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAg
KC1bV2ViSFRNTFZpZXcgX2F0dHJpYnV0ZVN0cmluZ0Zyb21ET01SYW5nZTpdKToKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxp
emF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisKIDIwMTItMDYtMjUgIE1hcmsgSGFo
bmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0xvY2sgc2hvdWxk
IGJlIHBlci1KU0dsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggYjRmN2M0YzhmMzQwZTlmNTlh
ZmM0MTQ2ZjU1N2RjMDk4MWM2MDczYS4uOGY0NzhkNWU0ZjIwNjdiNTE2MGMyNjNkMjM2N2NlZDRk
ZDJkNjQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOSAgQmVu
amFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8g
YW55IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvSW5pdFdlYkNvcmVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbml0aWFsaXplV2ViQ29y
ZVF0KToKKwogMjAxMi0wNi0yOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtRdF0gaW5zcGVjdG9yL3N0eWxlcy9pbmplY3Qtc3R5bGVzaGVldC5o
dG1sIG1ha2VzIDQgdGVzdHMgZmxha2V5IChURVhUIFBBU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXgg
OWYyNzU1YzNhMzM1M2I3MTMzNjE5MWJjYmI4MTFmYWJhYzgxOGU3YS4uNDRjY2JkMzFkYmFjYzNj
NGE5NDNkNTg1NmJkNTEzMzU4OGY0YzFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDEyLTA2LTI5ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgor
CisgICAgICAgIERvIG5vdCBkbyBhbnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aGVuIGxvZ2dp
bmcgaXMgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTkwMjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgor
CiAyMDEyLTA2LTI1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgSlNMb2NrIHNob3VsZCBiZSBwZXItSlNHbG9iYWxEYXRhCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmlu
ZGV4IDA3N2NkZDQ2MzhhOTFkN2VmNWY2YWExNGI0ZDAwOGM4MTgwNTI0OGUuLjg2ZTI1YjBlODcz
ZDE4YTBkZmMzNzEwZDRiYzMxYTRlNDQwMjdkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d3gvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTItMDYtMjkgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+
CisKKyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxpemF0aW9uIHdoZW4gbG9n
Z2luZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpDcmVhdGUp
OgorCiAyMDEyLTA1LTMxICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJFR1JFU1NJT04ocjExNzU3Mik6IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVj
ay1hc3luYy1yZW1vdmUtZnJhbWUuaHRtbCBjcmFzaGVzIG9uIE1hYwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDcw
OWJhZjIxZjJlNzQ4MjRiMDQ4NzE3NDVhODNmMmYyZWVjZTRmMGIuLjZlNTJiZTAwMTliZDVmY2Y0
NDY3MzYxODI0NjVlOTFjZDZkNTVhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0wNi0yOSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAg
ICBEbyBub3QgZG8gYW55IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRp
c2FibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDIyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
UGxhdGZvcm0vTG9nZ2luZy5jcHA6CisgICAgICAgICogUGxhdGZvcm0vTG9nZ2luZy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29u
dGV4dDo6V2ViQ29udGV4dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6V2ViUHJvY2Vzcyk6CisKIDIwMTItMDYtMjgg
IEpvaG4gU3VsbGl2YW4gIDxzdWxsaXZhbkBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIxNj4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0Fzc2VydGlvbnMuaCBiL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaAppbmRl
eCA5ODA3Y2VkYmNiYzZiMzViYTkwZTlhMTZjNmMyNWFmMjE2ZWQ1OTc5Li5mYTRhMDEwYTljMDIx
ODFhYTVmZDRiOTIxYjQ2NWFjYzllNjdlNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9B
c3NlcnRpb25zLmgKKysrIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oCkBAIC01MCwxOSAr
NTAsNiBAQAogI2luY2x1ZGUgPGludHR5cGVzLmg+CiAjZW5kaWYKIAotI2lmZGVmIE5ERUJVRwot
LyogRGlzYWJsZSBBU1NFUlQqIG1hY3JvcyBpbiByZWxlYXNlIG1vZGUuICovCi0jZGVmaW5lIEFT
U0VSVElPTlNfRElTQUJMRURfREVGQVVMVCAxCi0jZWxzZQotI2RlZmluZSBBU1NFUlRJT05TX0RJ
U0FCTEVEX0RFRkFVTFQgMAotI2VuZGlmCi0KLSNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikK
LSNkZWZpbmUgSEFWRV9WQVJJQURJQ19NQUNSTyAwCi0jZWxzZQotI2RlZmluZSBIQVZFX1ZBUklB
RElDX01BQ1JPIDEKLSNlbmRpZgotCiAjaWZuZGVmIEJBQ0tUUkFDRV9ESVNBQkxFRAogI2RlZmlu
ZSBCQUNLVFJBQ0VfRElTQUJMRUQgQVNTRVJUSU9OU19ESVNBQkxFRF9ERUZBVUxUCiAjZW5kaWYK
QEAgLTk5LDE0ICs4Niw2IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWZuZGVmIExPR19ESVNBQkxF
RAotI2lmIEhBVkUoVkFSSUFESUNfTUFDUk8pCi0jZGVmaW5lIExPR19ESVNBQkxFRCBBU1NFUlRJ
T05TX0RJU0FCTEVEX0RFRkFVTFQKLSNlbHNlCi0jZGVmaW5lIExPR19ESVNBQkxFRCAxCi0jZW5k
aWYKLSNlbmRpZgotCiAjaWYgQ09NUElMRVIoR0NDKQogI2RlZmluZSBXVEZfUFJFVFRZX0ZVTkNU
SU9OIF9fUFJFVFRZX0ZVTkNUSU9OX18KICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRleCA3MmU2NmYwOTQ3
ZjA1NDMxNjdjZWY3NzZjMmY4NzYyZjBiMjI3YTc0Li4zMGNmMTkwZDVhZWFkY2UzMzNiNzRkZjNj
NTQwY2FjMjJlMDFmNmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTMwNCw2ICszMDQsMjcgQEAKICNkZWZp
bmUgV1RGX0NQVV9ORUVEU19BTElHTkVEX0FDQ0VTUyAxCiAjZW5kaWYKIAorLyogPT09PSBEZWJ1
Z2dpbmcgYW5kIExvZ2dpbmcgPT09PSAqLworCisjaWZkZWYgTkRFQlVHCisvKiBEaXNhYmxlIEFT
U0VSVCogbWFjcm9zIGluIHJlbGVhc2UgbW9kZS4gKi8KKyNkZWZpbmUgQVNTRVJUSU9OU19ESVNB
QkxFRF9ERUZBVUxUIDEKKyNlbHNlCisjZGVmaW5lIEFTU0VSVElPTlNfRElTQUJMRURfREVGQVVM
VCAwCisjZW5kaWYKKworI2lmIENPTVBJTEVSKE1TVkM3X09SX0xPV0VSKQorI2RlZmluZSBIQVZF
X1ZBUklBRElDX01BQ1JPIDAKKyNlbHNlCisjZGVmaW5lIEhBVkVfVkFSSUFESUNfTUFDUk8gMQor
I2VuZGlmCisKKyNpZiBIQVZFKFZBUklBRElDX01BQ1JPKSAmJiAhQVNTRVJUSU9OU19ESVNBQkxF
RF9ERUZBVUxUCisjZGVmaW5lIExPR19ESVNBQkxFRCAwCisjZWxzZQorI2RlZmluZSBMT0dfRElT
QUJMRUQgMQorI2VuZGlmCisKIC8qID09PT0gT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5
c3RlbTsgb25seSB0byBiZSB1c2VkIGZvciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlr
ZSAKICAgIHZpcnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgPT09PSAq
LwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGFiZGRmYjcyMmFkMmMzYzY0NGUyOTcyM2ZhZTll
MWNiMGJlNjEzMTQuLjc5OGFkYjM4MDllOTI4N2U0NmJlZTM5ZThhNGZjYzY2N2RmMDExN2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCkBAIC02MjYsNyArNjI2LDkgQEAgX19aTjdXZWJDb3JlMzFDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlNWVtcHR5RXYKIF9fWk43V2ViQ29yZTMxQ3Jvc3NP
cmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZTZzaGFyZWRFdgogX19aTjdXZWJDb3JlMzJwbGFpblRl
eHRUb01hbGxvY0FsbG9jYXRlZEJ1ZmZlckVQS05TXzVSYW5nZUVSamJOU18yMFRleHRJdGVyYXRv
ckJlaGF2aW9yRQogX19aTjdXZWJDb3JlMzNzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFj
ZXNFUktOM1dURjZTdHJpbmdFCisjaWYgIUxPR19ESVNBQkxFRAogX19aTjdXZWJDb3JlMzZpbml0
aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnlFdgorI2VuZGlmIC8vICFMT0dfRElTQUJM
RUQKIF9fWk43V2ViQ29yZTNtYWNFUktOU18xMENyZWRlbnRpYWxFCiBfX1pON1dlYkNvcmUzbWFj
RVJLTlNfMjNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUUKIF9fWk43V2ViQ29yZTQwcmVzdHJpY3RN
aW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZUVSTlNfMThWaWV3cG9ydEF0dHJpYnV0ZXNF
TlNfN0ludFNpemVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5n
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwCmluZGV4IDM0NjM3YTdj
YzMzMmRmYzU2NzAzNjFmZThhNGU1MGFhMGEzODUzYTkuLjZlNzg4ZDZkOWE3MzYyZDkxYjEwNzhh
NjQzNzNkYjQ2YWZhNTRmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xv
Z2dpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwCkBAIC0y
Nyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCiAKKyNpZiAhTE9HX0RJU0FCTEVECisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RG
TG9nQ2hhbm5lbCBMb2dOb3RZZXRJbXBsZW1lbnRlZCA9IHsgMHgwMDAwMDAwMSwgIldlYkNvcmVM
b2dMZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYgfTsKQEAgLTE0OSwzICsxNTEsNSBAQCBXVEZMb2dD
aGFubmVsKiBnZXRDaGFubmVsRnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFubmVsTmFtZSkKIH0K
IAogfQorCisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTG9nZ2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5o
CmluZGV4IDFhZjFjMDRhYmYwYmE1ODljZmE1ZWE4ZTMyNWNkN2M3YjI1NjJmMmYuLjQzMzA3MTdj
MTNlMjVkMWM2ZjhhYmZkNDNhMGM1NDhlNDgxZTRhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dn
aW5nLmgKQEAgLTI5LDYgKzI5LDggQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKKyNpZiAhTE9HX0RJU0FCTEVECisKICNpZm5kZWYgTE9H
X0NIQU5ORUxfUFJFRklYCiAjZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKICNlbmRpZgpA
QCAtNjYsNCArNjgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgV1RGTG9nQ2hhbm5lbCog
Z2V0Q2hhbm5lbEZyb21OYW1lKGNvbnN0IFN0cmluZyYgY2hhbm5lbE5hbWUpOwogfQogCisjZW5k
aWYgLy8gIUxPR19ESVNBQkxFRAorCiAjZW5kaWYgLy8gTG9nZ2luZ19oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0xvZ2dpbmdCbGFja0JlcnJ5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9nZ2luZ0JsYWNrQmVycnkuY3Bw
CmluZGV4IDk5NGQ3OGVjOTU3YzEwMDY5YzM3M2I2NWVjZTZkYjcwYjg2YzRmNDQuLjFkNjY1YmM5
MmQzZjUxOWIxMWNkMDg5ZDc2MmNlNTIzZWIxYmE0NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9nZ2luZ0JsYWNrQmVycnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9nZ2luZ0JsYWNrQmVycnkuY3BwCkBAIC0x
OSw2ICsxOSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgog
CisjaWYgIUxPR19ESVNBQkxFRAorCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUzLDMgKzU1LDUgQEAgdm9pZCBpbml0aWFsaXplTG9n
Z2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvTG9nZ2luZ0VmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9n
Z2luZ0VmbC5jcHAKaW5kZXggYmQ3MTE0ODRhNmVhZWE5MTE1MjBmNDcxODMzZGUwM2I2NWEzZjFh
Zi4uNzljZjAwNGY1MzM2Y2UzNTRmNzAxOWYwZjkzNDAwMWIyMGE5ODZmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2dnaW5nRWZsLmNwcApAQCAtMjMsNiArMjMsOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAorI2lmICFMT0dfRElTQUJM
RUQKKwogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8RWluYS5oPgogCkBA
IC02MiwzICs2NCw1IEBAIHZvaWQgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5
KCkKIH0KIAogfQorCisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBlOWQxYmMxMTk4MWM3NmVkNjY1
ZjI0Mzc3ODEzMzhhZWQzNjAzZjFjLi4xMzJkYjBkZGU2ZjFmYzgwNzFjYmZiOTlhMzFmMDJlYWQz
OTYwYTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcApAQCAtMTcxOSw5ICsxNzE5LDEzIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKICAgICAgICAgICAgIGdfb2JqZWN0X3NldChtX2Zwc1Np
bmssICJzaWxlbnQiLCBUUlVFICwgTlVMTCk7CiAKICAgICAgICAgICAgIC8vIFR1cm4gb2ZmIHRl
eHQgb3ZlcmxheSB1bmxlc3MgbG9nZ2luZyBpcyBlbmFibGVkLgorI2lmIExPR19ESVNBQkxFRAor
ICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fZnBzU2luaywgInRleHQtb3ZlcmxheSIsIEZBTFNF
ICwgTlVMTCk7CisjZWxzZQogICAgICAgICAgICAgV1RGTG9nQ2hhbm5lbCogY2hhbm5lbCA9IGdl
dENoYW5uZWxGcm9tTmFtZSgiTWVkaWEiKTsKICAgICAgICAgICAgIGlmIChjaGFubmVsLT5zdGF0
ZSAhPSBXVEZMb2dDaGFubmVsT24pCiAgICAgICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fZnBz
U2luaywgInRleHQtb3ZlcmxheSIsIEZBTFNFICwgTlVMTCk7CisjZW5kaWYgLy8gTE9HX0RJU0FC
TEVECiAKICAgICAgICAgICAgIGlmIChnX29iamVjdF9jbGFzc19maW5kX3Byb3BlcnR5KEdfT0JK
RUNUX0dFVF9DTEFTUyhtX2Zwc1NpbmspLCAidmlkZW8tc2luayIpKSB7CiAgICAgICAgICAgICAg
ICAgZ19vYmplY3Rfc2V0KG1fZnBzU2luaywgInZpZGVvLXNpbmsiLCBtX3dlYmtpdFZpZGVvU2lu
aywgTlVMTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2lu
Z0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAKaW5k
ZXggNTg4ZWQ3Y2Y3YWRhMGM4MDdhYTQwM2M5NmMyNjNlZjdjMTdiNTk3Zi4uZjE2YTFiMjRjZDg0
YWY0OGJiMjY2NmZhYjRiOGExMzNjNTdjZWYyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9Mb2dnaW5nR3RrLmNwcApAQCAtMjAsOCArMjAsMTAgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgog
CisjaWYgIUxPR19ESVNBQkxFRAorCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNs
dWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKQEAgLTYyLDMgKzY0LDUgQEAgdm9p
ZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9nZ2luZ01hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1tCmluZGV4IDRjOWIzMDM1MTZlYjgwMGFhYmYwYmQ2Mjc2
NGJmM2MxZTY4MjZkN2UuLmZhMDA3ZWMyZDBmNTMxNDYwYjA4M2FlMmM3NGRjM2FhMTNhNDE1MjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1tCkBAIC0yNyw2ICsy
Nyw4IEBACiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKKyNpZiAhTE9HX0RJU0FCTEVECisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGlubGluZSB2b2lkIGluaXRpYWxpemVXaXRoVXNl
ckRlZmF1bHQoV1RGTG9nQ2hhbm5lbCYgY2hhbm5lbCkKQEAgLTc3LDMgKzc5LDUgQEAgdm9pZCBp
bml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQogfQogCiB9CisKKyNlbmRpZiAv
LyAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDFhMDhlNWJjNWIxMzAz
OTFmMWMxYWYzOTEwY2I0MzcwMzllNzVhMDEuLjYwZTRlMTUzMmFjZTdlOTIwNjAxMzA1ZjVmNjBm
MzZlNjJjZWEyZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC0yMDAsMTEgKzIwMCwxMyBA
QCBzdGF0aWMgdm9pZCBlbnN1cmVTZXNzaW9uSXNJbml0aWFsaXplZChTb3VwU2Vzc2lvbiogc2Vz
c2lvbikKICAgICAgICAgICAgIHNldFNvdXBDb29raWVKYXIoamFyKTsKICAgICB9CiAKKyNpZiAh
TE9HX0RJU0FCTEVECiAgICAgaWYgKCFzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwg
U09VUF9UWVBFX0xPR0dFUikgJiYgTG9nTmV0d29yay5zdGF0ZSA9PSBXVEZMb2dDaGFubmVsT24p
IHsKICAgICAgICAgU291cExvZ2dlciogbG9nZ2VyID0gc291cF9sb2dnZXJfbmV3KHN0YXRpY19j
YXN0PFNvdXBMb2dnZXJMb2dMZXZlbD4oU09VUF9MT0dHRVJfTE9HX0JPRFkpLCAtMSk7CiAgICAg
ICAgIHNvdXBfc2Vzc2lvbl9hZGRfZmVhdHVyZShzZXNzaW9uLCBTT1VQX1NFU1NJT05fRkVBVFVS
RShsb2dnZXIpKTsKICAgICAgICAgZ19vYmplY3RfdW5yZWYobG9nZ2VyKTsKICAgICB9CisjZW5k
aWYgLy8gIUxPR19ESVNBQkxFRAogCiAgICAgaWYgKCFzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUo
c2Vzc2lvbiwgU09VUF9UWVBFX1JFUVVFU1RFUikpIHsKICAgICAgICAgU291cFJlcXVlc3Rlciog
cmVxdWVzdGVyID0gc291cF9yZXF1ZXN0ZXJfbmV3KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
cXQvTG9nZ2luZ1F0LmNwcAppbmRleCBhOTM0NmRlODFlYTA1NzZhMzNiOGUwYTIzNzJhMDkzZDIw
MTM2Yzg3Li44MDg5ZTk0NTMxZmM1OWU1ZTIwNjQ3OTVlM2M5YjkwZjNhM2Q5NmZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0xvZ2dpbmdRdC5jcHAKQEAgLTIwLDYgKzIwLDggQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKKyNpZiAhTE9HX0RJU0FC
TEVECisKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPFFEZWJ1Zz4KICNp
bmNsdWRlIDxRU3RyaW5nTGlzdD4KQEAgLTU0LDMgKzU2LDUgQEAgdm9pZCBpbml0aWFsaXplTG9n
Z2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTG9nZ2luZ1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTG9n
Z2luZ1dpbi5jcHAKaW5kZXggMGIwYWZhZGE3NjExY2VkNmZiYmQ2MGRhNzczNzM3M2JjZTMyYjRj
Ni4uNmQzNTNlZDkyZmJlMTc0MmQ3Mjg3ZDc5Y2Y5YzYyZDJhOWM3MmZjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0xvZ2dpbmdXaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9Mb2dnaW5nV2luLmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAorI2lmICFMT0dfRElTQUJM
RUQKKwogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d2luZG93cy5oPgog
I2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgpAQCAtMTAyLDMgKzEwNCw1IEBAIHZvaWQgaW5p
dGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCkKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd3gvTG9nZ2luZ1d4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3d4L0xvZ2dpbmdXeC5jcHAKaW5kZXggOTQ4OTNlOTFlY2JhZTQ4ODg5NWUzNTJlN2UxZjY3MTlm
MzE1ZjIwNi4uODZhNDdhYzE2Nzk2NzcwOTkyMWNmNDc5MDcxNTRhYThiYWM2YmU1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTG9nZ2luZ1d4LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9Mb2dnaW5nV3guY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCisjaWYgIUxPR19ESVNB
QkxFRAorCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtNjIsMyArNjQsNSBAQCB2b2lk
IGluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiB9CiAKIH0KKworI2VuZGlm
IC8vICFMT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9B
cGkvQmxhY2tCZXJyeUdsb2JhbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL0Js
YWNrQmVycnlHbG9iYWwuY3BwCmluZGV4IGE0YzQ4YTU4ZmUwYjBjOTY0ZTAwZDdjMzNkMGMwMDUz
ZGRiNzQ3N2UuLmQ2ZWM4N2ZlMjZmMmRiMWIwNDQ3YTUyNGQwYjUyYWM1OGE1MTU1OTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmxhY2tCZXJyeUdsb2JhbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CbGFja0JlcnJ5R2xvYmFsLmNwcApA
QCAtNjAsOCArNjAsMTAgQEAgdm9pZCBnbG9iYWxJbml0aWFsaXplKCkKICAgICBibGFja2JlcnJ5
RGVidWdJbml0aWFsaXplKCk7CiAjZW5kaWYKIAorI2lmICFMT0dfRElTQUJMRUQKICAgICAvLyBU
dXJuIG9uIGxvZ2dpbmcuCiAgICAgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5
KCk7CisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogCiAgICAgLy8gSW5pdGlhbGl6ZSB0aHJlYWRp
bmcvCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJLaXQuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViS2l0LmNwcAppbmRleCA2MTA2NTk3YWU4ZmIxNWVkZTYwNmI2MWI3ODQyNDQ5OGM5OWQ3
NDFhLi5lNDgzOTIzMTFmZTRlMmRmOTU5MmZhZDE5YWVlY2NlZmZmM2Y2MjFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJLaXQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYktpdC5jcHAKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZGluZy5oPgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiAjaWYgT1MoREFSV0lOKQpAQCAtMTg1LDkgKzE4
NiwxMyBAQCBib29sIGxheW91dFRlc3RNb2RlKCkKIAogdm9pZCBlbmFibGVMb2dDaGFubmVsKGNv
bnN0IGNoYXIqIG5hbWUpCiB7CisjaWYgIUxPR19ESVNBQkxFRAogICAgIFdURkxvZ0NoYW5uZWwq
IGNoYW5uZWwgPSBXZWJDb3JlOjpnZXRDaGFubmVsRnJvbU5hbWUobmFtZSk7CiAgICAgaWYgKGNo
YW5uZWwpCiAgICAgICAgIGNoYW5uZWwtPnN0YXRlID0gV1RGTG9nQ2hhbm5lbE9uOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0obmFtZSk7CisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogfQogCiB2
b2lkIHJlc2V0UGx1Z2luQ2FjaGUoYm9vbCByZWxvYWRQYWdlcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfbWFpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X21haW4uY3BwCmluZGV4IDg0ZDJiNTAyNWI3MTRiYTc2ZmMxOGNiNWVjNjk3YWU3MGQyN2U4M2Uu
LmI0OGMyOGE2YjZkYzBmMTQ2NjAyNmM5NTQ2ZTU2ZjM1OGQ1NDk3NjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfbWFpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19tYWluLmNwcApAQCAtMTQ2LDcgKzE0Niw5IEBAIEVpbmFfQm9vbCBfZXdrX2luaXRf
Ym9keSh2b2lkKQogICAgICAgICAgICAgIndvcmsgKGllOiBBZG9iZSBGbGFzaCkiKTsKIAogICAg
IFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyNpZiAh
TE9HX0RJU0FCTEVECiAgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVj
ZXNzYXJ5KCk7CisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogICAgIFdlYkNvcmU6OlNldHRpbmdz
OjpzZXREZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbCgwLjAwNCk7CiAKICAgICBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmluaXRpYWxpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRnbG9iYWxzLmNwcAppbmRleCA3OGE0OTQ5ZmIzZGMxOTA1OTZlMDUwMDU0YTY1Y2M0YjljZTkz
NDZkLi40MmY3YTFkOTNjMjFhMThkZDAxNTdhNzQ1ZTc5ZTMwMTQ0NmRmMDBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuY3BwCkBAIC01MDQsNyArNTA0LDkgQEAg
dm9pZCB3ZWJraXRJbml0KCkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKICAgICBX
VEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKKyNpZiAhTE9HX0RJU0FCTEVECiAgICAgV2Vi
Q29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYgLy8g
IUxPR19ESVNBQkxFRAogICAgIFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6aW5pdGlhbGl6ZSgpOwog
CiAgICAgLy8gV2UgbWFrZSBzdXJlIHRoZSB0ZXh0IGNvZGVjcyBoYXZlIGJlZW4gaW5pdGlhbGl6
ZWQsIGJlY2F1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViSWNvbkRh
dGFiYXNlLm1tIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0KaW5k
ZXggNGY4ZmM2ZTA2YTZmMTFlNGI0ZWU4NDRmNTNiYjY5Y2ExYjUxN2FkNi4uZmVlMzBmNzg2M2Yy
NGJiY2U0ZjFkMjVjMzkxMzg0NzM2ZDQzMzNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9X
ZWJJY29uRGF0YWJhc2UubW0KQEAgLTQ0MSw3ICs0NDEsNyBAQCBzdGF0aWMgV2ViSWNvbkRhdGFi
YXNlQ2xpZW50KiBkZWZhdWx0Q2xpZW50KCkKICAgICBBU1NFUlQoc2l6ZS53aWR0aCk7CiAgICAg
QVNTRVJUKHNpemUuaGVpZ2h0KTsKICAgICAKLSNpZiAhTE9HX0RJU0FCTEVEICAgICAgICAKKyNp
ZiAhTE9HX0RJU0FCTEVECiAgICAgZG91YmxlIHN0YXJ0ID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJy
ZW50KCk7CiAjZW5kaWYKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2Mv
V2ViS2l0TG9nZ2luZy5oIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLmgK
aW5kZXggZjcxZjczMDYzOTEyN2ExMjUyNDViMzYxN2ZlYjgwNjJjNGQ0ZmRiMC4uNWYzNDI4ZGEz
ZTA5NWU5Yjc0N2QzNDZjYjQ0NmQ5NjEzZmUyNzRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9X
ZWJLaXRMb2dnaW5nLmgKQEAgLTM2LDYgKzM2LDcgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAK
KyNpZiAhTE9HX0RJU0FCTEVECiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dUaW1pbmc7
CiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dMb2FkaW5nOwogZXh0ZXJuIFdURkxvZ0No
YW5uZWwgV2ViS2l0TG9nRm9udENhY2hlOwpAQCAtNjIsNiArNjMsNyBAQCBleHRlcm4gV1RGTG9n
Q2hhbm5lbCBXZWJLaXRMb2dJY29uRGF0YWJhc2U7CiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJL
aXRMb2dUZXh0SW5wdXQ7CiAKIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lm
TmVjZXNzYXJ5KHZvaWQpOworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKIAogLy8gRklYTUU6IFdo
eSBpcyB0aGlzIGluIHRoZSAibG9nZ2luZyIgaGVhZGVyIGZpbGU/CiAvLyBVc2UgV2ViQ29yZVRo
cmVhZFZpb2xhdGlvbkNoZWNrIGluc3RlYWQgZm9yIGNoZWNrcyB0aGF0IHRocm93IGFuIGV4Y2Vw
dGlvbiBldmVuIGluIHByb2R1Y3Rpb24gYnVpbGRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLm0gYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktp
dExvZ2dpbmcubQppbmRleCA3MmE4MjJmZWUwZmNmN2RjZjI5OTRlYTgwMGNmYWVlNWMxN2NhMDU1
Li5lMDA1ZmVmYTMxZWJhMGZlZjBjZmVhOTFiOTIzZmViMzk3YTFlNzk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdExvZ2dpbmcubQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9NaXNjL1dlYktpdExvZ2dpbmcubQpAQCAtMjgsNiArMjgsOCBAQAogCiAjaW1wb3J0ICJX
ZWJLaXRMb2dnaW5nLmgiCiAKKyNpZiAhTE9HX0RJU0FCTEVECisKIFdURkxvZ0NoYW5uZWwgV2Vi
S2l0TG9nVGV4dElucHV0ID0gICAgICAgICAgICAgIHsgMHgwMDAwMDAxMCwgIldlYktpdExvZ0xl
dmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dUaW1pbmcg
PSAgICAgICAgICAgICAgICAgeyAweDAwMDAwMDIwLCAiV2ViS2l0TG9nTGV2ZWwiLCBXVEZMb2dD
aGFubmVsT2ZmIH07CiBXVEZMb2dDaGFubmVsIFdlYktpdExvZ0xvYWRpbmcgPSAgICAgICAgICAg
ICAgICB7IDB4MDAwMDAwNDAsICJXZWJLaXRMb2dMZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYgfTsK
QEAgLTk4LDYgKzEwMCw3IEBAIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lm
TmVjZXNzYXJ5KCkKICAgICBpbml0aWFsaXplTG9nQ2hhbm5lbCgmV2ViS2l0TG9nSWNvbkRhdGFi
YXNlKTsKICAgICBpbml0aWFsaXplTG9nQ2hhbm5lbCgmV2ViS2l0TG9nVGV4dElucHV0KTsKIH0K
KyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECiAKIHZvaWQgUmVwb3J0RGlzY2FyZGVkRGVsZWdhdGVF
eGNlcHRpb24oU0VMIGRlbGVnYXRlU2VsZWN0b3IsIGlkIGV4Y2VwdGlvbikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IGM0MzFmOWIwMjNmZTg1NTZhMDY4
NDZlN2ZiNDcwMjcyOTNhMDVlNmQuLjA0YTVhOTk3Mzg4YjFhMzIwZTNiNDg0MDY2Yjk3MWQ4OGJi
ODliM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNjE0
MCw3ICs2MTQwLDcgQEAgc3RhdGljIHZvaWQgZXh0cmFjdFVuZGVybGluZXMoTlNBdHRyaWJ1dGVk
U3RyaW5nICpzdHJpbmcsIFZlY3RvcjxDb21wb3NpdGlvblVuZGUKIC0gKE5TQXR0cmlidXRlZFN0
cmluZyAqKV9hdHRyaWJ1dGVTdHJpbmdGcm9tRE9NUmFuZ2U6KERPTVJhbmdlICopcmFuZ2UKIHsK
ICAgICBOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmc7Ci0jaWYgIUxPR19ESVNB
QkxFRCAgICAgICAgCisjaWYgIUxPR19ESVNBQkxFRAogICAgIGRvdWJsZSBzdGFydCA9IENGQWJz
b2x1dGVUaW1lR2V0Q3VycmVudCgpOwogI2VuZGlmICAgIAogICAgIGF0dHJpYnV0ZWRTdHJpbmcg
PSBbW1tOU0F0dHJpYnV0ZWRTdHJpbmcgYWxsb2NdIF9pbml0V2l0aERPTVJhbmdlOnJhbmdlXSBh
dXRvcmVsZWFzZV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNDVhNGNm
NWQwZjU4MDhlMGMyNTQ0Njg5ZjVkMjYwOTE3MTEyYjZjYi4uMjNhNzhmZjVmODE1Yzc3OTU5NjA4
MDU1MmMwZGY5OTZhOWE3NWVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtNzIzLDggKzcyMywxMCBAQCBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNT
U0F0dHJpYnV0ZVNldHRlcnMoKQogCiAgICAgc3RhdGljIGJvb2wgZGlkT25lVGltZUluaXRpYWxp
emF0aW9uID0gZmFsc2U7CiAgICAgaWYgKCFkaWRPbmVUaW1lSW5pdGlhbGl6YXRpb24pIHsKKyNp
ZiAhTE9HX0RJU0FCTEVECiAgICAgICAgIFdlYktpdEluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJ
Zk5lY2Vzc2FyeSgpOwogICAgICAgICBXZWJDb3JlOjppbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxz
SWZOZWNlc3NhcnkoKTsKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECiAgICAgICAgIFtXZWJIaXN0
b3J5SXRlbSBpbml0V2luZG93V2F0Y2hlcklmTmVjZXNzYXJ5XTsKICNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogICAgICAgICBXZWJLaXRJbml0aWFsaXplRGF0YWJhc2VzSWZOZWNlc3NhcnkoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVR
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luaXRXZWJDb3JlUXQuY3Bw
CmluZGV4IDQ1MjA5MWMyOGZlOWQ1ZjlkODRlMzVlMjgwZWQ5M2MyODExNzJiN2UuLjVhYzQ0OWQ1
ZDhiMDg4OGM2ODk5Y2I4ZGJlZGRhM2MxZTNlOThhNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVRdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9Jbml0V2ViQ29yZVF0LmNwcApAQCAtNjYsNyArNjYsOSBAQCB2
b2lkIGluaXRpYWxpemVXZWJDb3JlUXQoKQogICAgIGlmIChpbml0aWFsaXplZCkKICAgICAgICAg
cmV0dXJuOwogCisjaWYgIUxPR19ESVNBQkxFRAogICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dn
aW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKICAgICBT
Y3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CiAgICAgV1RGOjppbml0aWFs
aXplTWFpblRocmVhZCgpOwogICAgIFdlYkNvcmU6OlNlY3VyaXR5UG9saWN5OjpzZXRMb2NhbExv
YWRQb2xpY3koV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3k6OkFsbG93TG9jYWxMb2Fkc0ZvckxvY2Fs
QW5kU3Vic3RpdHV0ZURhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCBiMzJjOGI0YmZhNjFl
ZDA2MDc2OThhNzcwZTVmZjJiZGZiNGU2YWNhLi5kMjQ1MjVlYTQ4MTc4NTFhZjVjMjE1ZTc5NzMy
OGE5ZGU5NzExZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtMjY0MSw3ICsyNjQxLDkgQEAg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3Ojppbml0V2l0aEZyYW1lKAogCiAgICAg
c3RhdGljIGJvb2wgZGlkT25lVGltZUluaXRpYWxpemF0aW9uOwogICAgIGlmICghZGlkT25lVGlt
ZUluaXRpYWxpemF0aW9uKSB7CisjaWYgIUxPR19ESVNBQkxFRAogICAgICAgICBpbml0aWFsaXpl
TG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECiAj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgV2ViS2l0SW5pdGlhbGl6ZVdlYkRhdGFi
YXNlc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gv
V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYlZpZXcuY3BwCmluZGV4IGFkZGQxMWMz
YWM1Y2QxZjUzMDU4ZDlmOGM3NDMwZjRjZjg0ODEyNjQuLmFjYjYwZjY0MzFlNjRlYmFhZmVkZjU5
MzdkODFhMGVlN2M3MmFjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJWaWV3LmNwcApAQCAtMzg5LDcgKzM4OSw5IEBA
IGJvb2wgV2ViVmlldzo6Q3JlYXRlKHd4V2luZG93KiBwYXJlbnQsIGNvbnN0IHd4U3RyaW5nJiB1
cmwsIGludCBpZCwgY29uc3Qgd3hQb2luCiAKICAgICBtX2ltcGwgPSBuZXcgV2ViVmlld1ByaXZh
dGUoKTsKIAotICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2Fy
eSgpOyAgICAKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dp
bmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogICAgIFdl
YkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudCogcGFyZW50RnJhbWUgPSAwOwogCiAgICAgV2Vi
Q29yZTo6RWRpdG9yQ2xpZW50V3gqIGVkaXRvckNsaWVudCA9IG5ldyBXZWJDb3JlOjpFZGl0b3JD
bGllbnRXeCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmNwcAppbmRleCBmMjMxOGVjZWM3
NzZkNjg5ODIyNjQxZDZjMDYwZTE2MGJhMzJiNjU5Li4zM2I0NjM3NDM0ZWMyMGQ3NGZhYTBhMTU0
MzEwZTZhNWIwN2ViY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dn
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmNwcApAQCAtOTAs
NCArOTAsNCBAQCB2b2lkIGluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCkKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBMT0dfRElTQUJMRUQKKyNlbmRpZiAvLyAh
TE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5n
LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggMDZmOTYwOTFjMjk3
MWFhYjM1OGU2YjkwZTc4NzdkMTUwZWY0OTZiMC4uYzQ3YmZmZjZlZTE5YTQxMGFiMjEwNzI2M2E1
MmMwMDA3ZGM3M2Y2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2lu
Zy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtNTIsNiArNTIs
NiBAQCBXVEZMb2dDaGFubmVsKiBnZXRDaGFubmVsRnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFu
bmVsTmFtZSk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gTE9HX0RJU0FC
TEVECisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogCiAjZW5kaWYgLy8gTG9nZ2luZ19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggNzQyYWVhNjJjMzBhNmFmMjZi
OWVkZDQ4M2RlNmYwNDIwMTNjMWVhZC4uZDUzZGM3NmEwYTQyY2JmYjcxYTVmNmVkNzhmNGVkZGFh
YzEyY2QwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMTU3
LDcgKzE1Nyw5IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NN
b2RlbCwgY29uc3QgU3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhCiAKICAgICBhZGRMYW5ndWFnZUNo
YW5nZU9ic2VydmVyKHRoaXMsIGxhbmd1YWdlQ2hhbmdlZCk7CiAKKyNpZiAhTE9HX0RJU0FCTEVE
CiAgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7Cisj
ZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogCiAjaWZuZGVmIE5ERUJVRwogICAgIHdlYkNvbnRleHRD
b3VudGVyLmluY3JlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKaW5kZXggMTQyNGExYTQwNmFmZDg3ZDQyZmZkODZjMDRjZmZhNTVhZDFjOTE3YS4uOWYyOWFl
ZjQ0NTI2NWZlNzRmODBiYWM1MWQ2MTdiYWJjMmE2NWFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNjEsNyArMTYxLDkgQEAgV2ViUHJvY2Vzczo6V2Vi
UHJvY2VzcygpCiAgICAgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppbml0aWFsaXplKCk7CiAjZW5k
aWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAKKyNpZiAhTE9HX0RJU0FCTEVECiAgICAg
V2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYg
Ly8gIUxPR19ESVNBQkxFRAogfQogCiB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemUoQ29yZUlQ
Qzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBzZXJ2ZXJJZGVudGlmaWVyLCBSdW5Mb29wKiBydW5M
b29wKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150297</attachid>
            <date>2012-06-29 20:25:19 -0700</date>
            <delta_ts>2012-07-02 12:42:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90228-20120629202518.patch</filename>
            <type>text/plain</type>
            <size>26852</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTc0NjdmNWJiMTkzZDY2
NTFkNWIwYmE5NzMyNDQwNjU0MGFkYjIxMi4uZmU1OGY1YWE4MzkwYjU4Y2YzMGEzNzcyNjZmNDVi
OGY5ZTA5MGRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA2LTI5ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIERvIG5vdCBkbyBh
bnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aGVuIGxvZ2dpbmcgaXMgZGlzYWJsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjI4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5pdGlhbGl6YXRpbmcg
b2YgdGhlIGxvZ2dpbmcgY2hhbm5lbHMgd2FzIHRha2luZyB0aW1lIG9uIHN0YXJ0dXAuIFdoZW4g
bG9nZ2luZyBpcyBkaXNhYmxlZAorICAgICAgICAoYW5kIHRoZSBMT0cgbWFjcm8gZG9lcyBub3Ro
aW5nKSwgd2Ugc2hvdWxkIGFzbG8gZGlzYWJsZSBsb2dnaW5nIGNoYW5uZWxzIGFuZCBpbml0aWFs
aXphdGlvbi4KKworICAgICAgICBUaGlzIHBhdGNoICNpZmRlZiB0aGUgTG9nZ2luZyBpbml0aWFs
aXphdGlvbiB3aXRoIHRoZSBtYWNybyBMT0dfRElTQUJMRUQuCisKKyAgICAgICAgKiBXZWJDb3Jl
LmV4cC5pbjoKKyAgICAgICAgKiBtYWtlLWV4cG9ydC1maWxlLWdlbmVyYXRvcjogRXhwbGljaXRl
bHkgYWRkcyBBc3NlcnRpb25zLmggc28gdGhhdCBMT0dfRElTQUJMRUQgaXMgZGVmaW5lZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5n
Lmg6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2dnaW5nQmxhY2tCZXJyeS5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvTG9nZ2luZ01hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVuc3VyZVNlc3Npb25Jc0lu
aXRpYWxpemVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL3dpbi9Mb2dnaW5nV2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS93eC9M
b2dnaW5nV3guY3BwOgorCiAyMDEyLTA2LTI5ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVXBkYXRlIGNvbXBsZXggZm9udHMgb24gQW5kcm9pZCB0byB1c2UgZm9u
dHMgZnJvbSBhIG5ld2VyIFNESwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggMjc3
ZTgyNGEzMjExNWJiYjVhMjZiOTNjNTY1NjIzNmNjMjJhNmVmYS4uNWI5YjA2N2I0ZTZkYWE0ZWQ4
NDczNjgwZDRkODBhYWM1OTgxNjQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMjkgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBh
cHBsZS5jb20+CisKKyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxpemF0aW9u
IHdoZW4gbG9nZ2luZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIEFwaS9CbGFja0JlcnJ5R2xvYmFsLmNwcDoKKyAgICAgICAgKEJs
YWNrQmVycnk6OldlYktpdDo6Z2xvYmFsSW5pdGlhbGl6ZSk6CisKIDIwMTItMDYtMjkgIEphY2t5
IEppYW5nICA8emhhamlhbmdAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gUGFnZSBq
dW1wcyBhZnRlciBwb3N0LXBpbmNoLXpvb20gcmUtcmVuZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IGFkNjI2YWFlMDM4NWE5NTg5YTJmYWM2NTI5YjNkNDNlN2RiOWUzMzguLjdhNjUx
YmU1MGFhNjkwNjZiYTJmMzdhNDMxM2NkYmJkMTkxMmNlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDYtMjkgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRp
YWxpemF0aW9uIHdoZW4gbG9nZ2luZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9XZWJLaXQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjplbmFibGVMb2dDaGFubmVsKToKKwogMjAxMi0wNi0yOSAgQWRhbSBCYXJ0aCAgPGFiYXJ0
aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gV2ViRm9udFJlbmRlcmluZy5jcHAg
cmVxdWlyZXMgc29tZSBPUyhBTkRST0lEKSBpZmRlZnMgdG8gYnVpbGQgZG93bnN0cmVhbQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCmluZGV4IDFkYmZkYWQ5ZjU1ZjEyOGIwMGNlYTI3OGQ2MTE4OTA3MmZhZGQzNTUu
LjBiOWM1ZmVhNjgzNTY0NTE1MDI1MTEzYWJmMWM2MTQ3MDIyNjlmZWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3Vs
YWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55IGxvZ2dpbmcgaW5pdGlhbGl6
YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZXdrL2V3a19tYWluLmNwcDoKKyAgICAgICAgKF9ld2tf
aW5pdF9ib2R5KToKKwogMjAxMi0wNi0yOSAgS3J6eXN6dG9mIEN6ZWNoICA8ay5jemVjaEBzYW1z
dW5nLmNvbT4sIFRvbWFzeiBNb3Jhd3NraSA8dC5tb3Jhd3NraUBzYW1zdW5nLmNvbT4KIAogICAg
ICAgICBbRUZMXSBJbXBsZW1lbnRhdGlvbiBvZiB0ZXN0aW5nIGZyYW1ld29yayBhbmQgdW5pdCB0
ZXN0cyBmb3IgV2ViS2l0LUVGTCBwb3J0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDE1ZjI5MzM0OGIw
NTVkYjgwOGQ2NjE2ZmVmMWU4ZDZjNTVhNjJhODUuLjYwN2U3ZGI4ZGUxMmE2ZDM1NDBmMTlmMzUw
OTNlNWRiNmE4OWVhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0w
Ni0yOSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBE
byBub3QgZG8gYW55IGxvZ2dpbmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2Fi
bGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIy
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Vi
a2l0L3dlYmtpdGdsb2JhbHMuY3BwOgorICAgICAgICAod2Via2l0SW5pdCk6CisKIDIwMTItMDYt
MjkgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbR1RLXSBFbmFi
bGUgQ1NTIGdyaWQgbGF5b3V0IExheW91dFRlc3RzIG9uIEdUSysKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCBlMjI2ZWVjYzk4ZjkwODcxY2MyYzRkZjM5NzhkM2JkNzY5MGVlNDdhLi4yZjVlNTE2ZTM0Nzll
ZTQ5ZTFhMjdmNTZkOTM5NWE4MjlmMmE0OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTItMDYtMjkgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+
CisKKyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxpemF0aW9uIHdoZW4gbG9n
Z2luZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIE1pc2MvV2ViSWNvbkRhdGFiYXNlLm1tOgorICAgICAgICAoLVtXZWJJY29uRGF0
YWJhc2UgX3NjYWxlSWNvbjp0b1NpemU6XSk6CisgICAgICAgICogTWlzYy9XZWJLaXRMb2dnaW5n
Lmg6CisgICAgICAgICogTWlzYy9XZWJLaXRMb2dnaW5nLm06CisgICAgICAgICogV2ViVmlldy9X
ZWJIVE1MVmlldy5tbToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX2F0dHJpYnV0ZVN0cmluZ0Zy
b21ET01SYW5nZTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgt
W1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6
CisKIDIwMTItMDYtMjkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjE1MjkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CmluZGV4IDI0YWM5MGU3OGUwODdkNDE4ZmZkM2QwNDZhMjNhNzk5ZDI1M2MwMWIuLmQzYTY1MzI0
NGYwZjhhYjRkYjI3ODI0OTJjZWZjZmJiZjEwNDdhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMDYtMjkgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5j
b20+CisKKyAgICAgICAgRG8gbm90IGRvIGFueSBsb2dnaW5nIGluaXRpYWxpemF0aW9uIHdoZW4g
bG9nZ2luZyBpcyBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTAyMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luaXRXZWJDb3JlUXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6aW5pdGlhbGl6ZVdlYkNvcmVRdCk6CisKIDIwMTItMDYtMjkgIEtvbnJhZCBQaWFz
Y2lrICA8a3BpYXNjaWtAcmltLmNvbT4KIAogICAgICAgICBEb24ndCBoYXJkY29kZSB0YXJnZXQg
ZHBpIG9mIDE2MCAoaXQgc2hvdWxkIGJlIDk2IG9uIGRlc2t0b3ApCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5k
ZXggZWJiYjJmZDhmYmU0Yjk2Nzg2NzI3OTk2Y2I2YzA4MWQyNGFiZjRjNC4uYjAxNGUzMjc2ZmY1
ODUwNjIzMzc3OTA5MmEzNDAzMTkwODAyYmE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDEyLTA2LTI5ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29t
PgorCisgICAgICAgIERvIG5vdCBkbyBhbnkgbG9nZ2luZyBpbml0aWFsaXphdGlvbiB3aGVuIGxv
Z2dpbmcgaXMgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkwMjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUp
OgorCiAyMDEyLTA2LTI5ICBNaWhhaSBCYWxhbiAgPG1pYmFsYW5AYWRvYmUuY29tPgogCiAgICAg
ICAgIFtDU1MgUmVnaW9uc10gQWRkaW5nIGZlYXR1cmUgZGVmaW5lcyBmb3IgQ1NTIFJlZ2lvbnMg
Zm9yIFdpbmRvd3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggMDc3Y2RkNDYzOGE5MWQ3ZWY1ZjZhYTE0YjRk
MDA4YzgxODA1MjQ4ZS4uODZlMjViMGU4NzNkMThhMGRmYzM3MTBkNGJjMzFhNGU0NDAyN2RkYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNi0yOSAgQmVuamFtaW4gUG91
bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgZG8gYW55IGxvZ2dp
bmcgaW5pdGlhbGl6YXRpb24gd2hlbiBsb2dnaW5nIGlzIGRpc2FibGVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIyOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXc6OkNyZWF0ZSk6CisKIDIwMTItMDUtMzEgIEhhamltZSBNb3JyaXRh
ICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTE3NTcyKTog
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLWFzeW5jLXJlbW92ZS1mcmFtZS5odG1sIGNyYXNo
ZXMgb24gTWFjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGFlMTg4OTMzMzBmYjBlZTlkZmZkYjU3OTllYzQ3MmUx
M2VhYThlNC4uM2E3MDdjODJmMzBlNDVmMTA0YTVjZGViYTM0MDlkMWRjNTI2MWQ2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA2LTI5ICBCZW5qYW1pbiBQb3VsYWluICA8YnBv
dWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIERvIG5vdCBkbyBhbnkgbG9nZ2luZyBpbml0aWFs
aXphdGlvbiB3aGVuIGxvZ2dpbmcgaXMgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmNwcDoKKyAgICAgICAg
KiBQbGF0Zm9ybS9Mb2dnaW5nLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpXZWJDb250ZXh0KToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpX
ZWJQcm9jZXNzKToKKwogMjAxMi0wNi0yOSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUu
ZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtXSzJdIE1vdmUgaW50ZW50IGRlbGl2ZXJ5IGNv
ZGUgZnJvbSB0aGUgZnJhbWUgdG8gdGhlIHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMGFm
NDc0OGRjNmQxYzY4NGM1YWNkNWUyNzZlODViNjRjODMzYWJhYS4uNjZkOTI3ZGNmOGNjNDRmNjZj
Nzc4OGRkOThjMzM4NTg2ODgzMTg1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTYyNSw3ICs2
MjUsOSBAQCBfX1pON1dlYkNvcmUzMUNyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGU1ZW1w
dHlFdgogX19aTjdXZWJDb3JlMzFDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlNnNoYXJl
ZEV2CiBfX1pON1dlYkNvcmUzMnBsYWluVGV4dFRvTWFsbG9jQWxsb2NhdGVkQnVmZmVyRVBLTlNf
NVJhbmdlRVJqYk5TXzIwVGV4dEl0ZXJhdG9yQmVoYXZpb3JFCiBfX1pON1dlYkNvcmUzM3N0cmlw
TGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlc0VSS04zV1RGNlN0cmluZ0UKKyNpZiAhTE9HX0RJ
U0FCTEVECiBfX1pON1dlYkNvcmUzNmluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2Fy
eUV2CisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogX19aTjdXZWJDb3JlM21hY0VSS05TXzEwQ3Jl
ZGVudGlhbEUKIF9fWk43V2ViQ29yZTNtYWNFUktOU18yM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
RQogX19aTjdXZWJDb3JlNDByZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXpl
RVJOU18xOFZpZXdwb3J0QXR0cmlidXRlc0VOU183SW50U2l6ZUUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL21ha2UtZXhwb3J0LWZpbGUtZ2VuZXJhdG9yIGIvU291cmNlL1dlYkNvcmUvbWFr
ZS1leHBvcnQtZmlsZS1nZW5lcmF0b3IKaW5kZXggN2VlMTRjOTAwZjQ5NTFjNGEzZmEwNjFhYTU1
YmYxZjZiMjNhMGVmOC4uYzlmZjMwNDA2NzRhOGI5ZjhhMDYwZWZmN2Q3MTkzYjk4NzU5YTRjYyAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvbWFrZS1leHBvcnQtZmlsZS1nZW5lcmF0b3IKKysr
IGIvU291cmNlL1dlYkNvcmUvbWFrZS1leHBvcnQtZmlsZS1nZW5lcmF0b3IKQEAgLTM2LDYgKzM2
LDcgQEAgZW5kCiBURU1QTEFURSA9IDw8LUVPRgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIAogaW50IG1haW4oaW50
LCBjaGFyKiopCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5n
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwCmluZGV4IDM0NjM3YTdj
YzMzMmRmYzU2NzAzNjFmZThhNGU1MGFhMGEzODUzYTkuLjZlNzg4ZDZkOWE3MzYyZDkxYjEwNzhh
NjQzNzNkYjQ2YWZhNTRmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xv
Z2dpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwCkBAIC0y
Nyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCiAKKyNpZiAhTE9HX0RJU0FCTEVECisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RG
TG9nQ2hhbm5lbCBMb2dOb3RZZXRJbXBsZW1lbnRlZCA9IHsgMHgwMDAwMDAwMSwgIldlYkNvcmVM
b2dMZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYgfTsKQEAgLTE0OSwzICsxNTEsNSBAQCBXVEZMb2dD
aGFubmVsKiBnZXRDaGFubmVsRnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFubmVsTmFtZSkKIH0K
IAogfQorCisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTG9nZ2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5o
CmluZGV4IDFhZjFjMDRhYmYwYmE1ODljZmE1ZWE4ZTMyNWNkN2M3YjI1NjJmMmYuLjQzMzA3MTdj
MTNlMjVkMWM2ZjhhYmZkNDNhMGM1NDhlNDgxZTRhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dn
aW5nLmgKQEAgLTI5LDYgKzI5LDggQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKKyNpZiAhTE9HX0RJU0FCTEVECisKICNpZm5kZWYgTE9H
X0NIQU5ORUxfUFJFRklYCiAjZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKICNlbmRpZgpA
QCAtNjYsNCArNjgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgV1RGTG9nQ2hhbm5lbCog
Z2V0Q2hhbm5lbEZyb21OYW1lKGNvbnN0IFN0cmluZyYgY2hhbm5lbE5hbWUpOwogfQogCisjZW5k
aWYgLy8gIUxPR19ESVNBQkxFRAorCiAjZW5kaWYgLy8gTG9nZ2luZ19oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0xvZ2dpbmdCbGFja0JlcnJ5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9nZ2luZ0JsYWNrQmVycnkuY3Bw
CmluZGV4IDk5NGQ3OGVjOTU3YzEwMDY5YzM3M2I2NWVjZTZkYjcwYjg2YzRmNDQuLjFkNjY1YmM5
MmQzZjUxOWIxMWNkMDg5ZDc2MmNlNTIzZWIxYmE0NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9nZ2luZ0JsYWNrQmVycnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9nZ2luZ0JsYWNrQmVycnkuY3BwCkBAIC0x
OSw2ICsxOSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgog
CisjaWYgIUxPR19ESVNBQkxFRAorCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUzLDMgKzU1LDUgQEAgdm9pZCBpbml0aWFsaXplTG9n
Z2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvTG9nZ2luZ0VmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9n
Z2luZ0VmbC5jcHAKaW5kZXggYmQ3MTE0ODRhNmVhZWE5MTE1MjBmNDcxODMzZGUwM2I2NWEzZjFh
Zi4uNzljZjAwNGY1MzM2Y2UzNTRmNzAxOWYwZjkzNDAwMWIyMGE5ODZmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2dnaW5nRWZsLmNwcApAQCAtMjMsNiArMjMsOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAorI2lmICFMT0dfRElTQUJM
RUQKKwogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8RWluYS5oPgogCkBA
IC02MiwzICs2NCw1IEBAIHZvaWQgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5
KCkKIH0KIAogfQorCisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBlOWQxYmMxMTk4MWM3NmVkNjY1
ZjI0Mzc3ODEzMzhhZWQzNjAzZjFjLi4xMzJkYjBkZGU2ZjFmYzgwNzFjYmZiOTlhMzFmMDJlYWQz
OTYwYTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcApAQCAtMTcxOSw5ICsxNzE5LDEzIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKICAgICAgICAgICAgIGdfb2JqZWN0X3NldChtX2Zwc1Np
bmssICJzaWxlbnQiLCBUUlVFICwgTlVMTCk7CiAKICAgICAgICAgICAgIC8vIFR1cm4gb2ZmIHRl
eHQgb3ZlcmxheSB1bmxlc3MgbG9nZ2luZyBpcyBlbmFibGVkLgorI2lmIExPR19ESVNBQkxFRAor
ICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fZnBzU2luaywgInRleHQtb3ZlcmxheSIsIEZBTFNF
ICwgTlVMTCk7CisjZWxzZQogICAgICAgICAgICAgV1RGTG9nQ2hhbm5lbCogY2hhbm5lbCA9IGdl
dENoYW5uZWxGcm9tTmFtZSgiTWVkaWEiKTsKICAgICAgICAgICAgIGlmIChjaGFubmVsLT5zdGF0
ZSAhPSBXVEZMb2dDaGFubmVsT24pCiAgICAgICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fZnBz
U2luaywgInRleHQtb3ZlcmxheSIsIEZBTFNFICwgTlVMTCk7CisjZW5kaWYgLy8gTE9HX0RJU0FC
TEVECiAKICAgICAgICAgICAgIGlmIChnX29iamVjdF9jbGFzc19maW5kX3Byb3BlcnR5KEdfT0JK
RUNUX0dFVF9DTEFTUyhtX2Zwc1NpbmspLCAidmlkZW8tc2luayIpKSB7CiAgICAgICAgICAgICAg
ICAgZ19vYmplY3Rfc2V0KG1fZnBzU2luaywgInZpZGVvLXNpbmsiLCBtX3dlYmtpdFZpZGVvU2lu
aywgTlVMTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2lu
Z0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAKaW5k
ZXggNTg4ZWQ3Y2Y3YWRhMGM4MDdhYTQwM2M5NmMyNjNlZjdjMTdiNTk3Zi4uZjE2YTFiMjRjZDg0
YWY0OGJiMjY2NmZhYjRiOGExMzNjNTdjZWYyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9Mb2dnaW5nR3RrLmNwcApAQCAtMjAsOCArMjAsMTAgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgog
CisjaWYgIUxPR19ESVNBQkxFRAorCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNs
dWRlIDxnbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKQEAgLTYyLDMgKzY0LDUgQEAgdm9p
ZCBpbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9nZ2luZ01hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1tCmluZGV4IDRjOWIzMDM1MTZlYjgwMGFhYmYwYmQ2Mjc2
NGJmM2MxZTY4MjZkN2UuLmZhMDA3ZWMyZDBmNTMxNDYwYjA4M2FlMmM3NGRjM2FhMTNhNDE1MjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2dnaW5nTWFjLm1tCkBAIC0yNyw2ICsy
Nyw4IEBACiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKKyNpZiAhTE9HX0RJU0FCTEVECisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGlubGluZSB2b2lkIGluaXRpYWxpemVXaXRoVXNl
ckRlZmF1bHQoV1RGTG9nQ2hhbm5lbCYgY2hhbm5lbCkKQEAgLTc3LDMgKzc5LDUgQEAgdm9pZCBp
bml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQogfQogCiB9CisKKyNlbmRpZiAv
LyAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDFhMDhlNWJjNWIxMzAz
OTFmMWMxYWYzOTEwY2I0MzcwMzllNzVhMDEuLjYwZTRlMTUzMmFjZTdlOTIwNjAxMzA1ZjVmNjBm
MzZlNjJjZWEyZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC0yMDAsMTEgKzIwMCwxMyBA
QCBzdGF0aWMgdm9pZCBlbnN1cmVTZXNzaW9uSXNJbml0aWFsaXplZChTb3VwU2Vzc2lvbiogc2Vz
c2lvbikKICAgICAgICAgICAgIHNldFNvdXBDb29raWVKYXIoamFyKTsKICAgICB9CiAKKyNpZiAh
TE9HX0RJU0FCTEVECiAgICAgaWYgKCFzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwg
U09VUF9UWVBFX0xPR0dFUikgJiYgTG9nTmV0d29yay5zdGF0ZSA9PSBXVEZMb2dDaGFubmVsT24p
IHsKICAgICAgICAgU291cExvZ2dlciogbG9nZ2VyID0gc291cF9sb2dnZXJfbmV3KHN0YXRpY19j
YXN0PFNvdXBMb2dnZXJMb2dMZXZlbD4oU09VUF9MT0dHRVJfTE9HX0JPRFkpLCAtMSk7CiAgICAg
ICAgIHNvdXBfc2Vzc2lvbl9hZGRfZmVhdHVyZShzZXNzaW9uLCBTT1VQX1NFU1NJT05fRkVBVFVS
RShsb2dnZXIpKTsKICAgICAgICAgZ19vYmplY3RfdW5yZWYobG9nZ2VyKTsKICAgICB9CisjZW5k
aWYgLy8gIUxPR19ESVNBQkxFRAogCiAgICAgaWYgKCFzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUo
c2Vzc2lvbiwgU09VUF9UWVBFX1JFUVVFU1RFUikpIHsKICAgICAgICAgU291cFJlcXVlc3Rlciog
cmVxdWVzdGVyID0gc291cF9yZXF1ZXN0ZXJfbmV3KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
cXQvTG9nZ2luZ1F0LmNwcAppbmRleCBhOTM0NmRlODFlYTA1NzZhMzNiOGUwYTIzNzJhMDkzZDIw
MTM2Yzg3Li44MDg5ZTk0NTMxZmM1OWU1ZTIwNjQ3OTVlM2M5YjkwZjNhM2Q5NmZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Mb2dnaW5nUXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0xvZ2dpbmdRdC5jcHAKQEAgLTIwLDYgKzIwLDggQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKKyNpZiAhTE9HX0RJU0FC
TEVECisKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPFFEZWJ1Zz4KICNp
bmNsdWRlIDxRU3RyaW5nTGlzdD4KQEAgLTU0LDMgKzU2LDUgQEAgdm9pZCBpbml0aWFsaXplTG9n
Z2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTG9nZ2luZ1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTG9n
Z2luZ1dpbi5jcHAKaW5kZXggMGIwYWZhZGE3NjExY2VkNmZiYmQ2MGRhNzczNzM3M2JjZTMyYjRj
Ni4uNmQzNTNlZDkyZmJlMTc0MmQ3Mjg3ZDc5Y2Y5YzYyZDJhOWM3MmZjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0xvZ2dpbmdXaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9Mb2dnaW5nV2luLmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIAorI2lmICFMT0dfRElTQUJM
RUQKKwogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d2luZG93cy5oPgog
I2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgpAQCAtMTAyLDMgKzEwNCw1IEBAIHZvaWQgaW5p
dGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCkKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd3gvTG9nZ2luZ1d4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3d4L0xvZ2dpbmdXeC5jcHAKaW5kZXggOTQ4OTNlOTFlY2JhZTQ4ODg5NWUzNTJlN2UxZjY3MTlm
MzE1ZjIwNi4uODZhNDdhYzE2Nzk2NzcwOTkyMWNmNDc5MDcxNTRhYThiYWM2YmU1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3gvTG9nZ2luZ1d4LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93eC9Mb2dnaW5nV3guY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCisjaWYgIUxPR19ESVNB
QkxFRAorCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtNjIsMyArNjQsNSBAQCB2b2lk
IGluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpCiB9CiAKIH0KKworI2VuZGlm
IC8vICFMT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9B
cGkvQmxhY2tCZXJyeUdsb2JhbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL0Js
YWNrQmVycnlHbG9iYWwuY3BwCmluZGV4IGE0YzQ4YTU4ZmUwYjBjOTY0ZTAwZDdjMzNkMGMwMDUz
ZGRiNzQ3N2UuLmQ2ZWM4N2ZlMjZmMmRiMWIwNDQ3YTUyNGQwYjUyYWM1OGE1MTU1OTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmxhY2tCZXJyeUdsb2JhbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CbGFja0JlcnJ5R2xvYmFsLmNwcApA
QCAtNjAsOCArNjAsMTAgQEAgdm9pZCBnbG9iYWxJbml0aWFsaXplKCkKICAgICBibGFja2JlcnJ5
RGVidWdJbml0aWFsaXplKCk7CiAjZW5kaWYKIAorI2lmICFMT0dfRElTQUJMRUQKICAgICAvLyBU
dXJuIG9uIGxvZ2dpbmcuCiAgICAgaW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5
KCk7CisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogCiAgICAgLy8gSW5pdGlhbGl6ZSB0aHJlYWRp
bmcvCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJLaXQuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViS2l0LmNwcAppbmRleCA2MTA2NTk3YWU4ZmIxNWVkZTYwNmI2MWI3ODQyNDQ5OGM5OWQ3
NDFhLi5lNDgzOTIzMTFmZTRlMmRmOTU5MmZhZDE5YWVlY2NlZmZmM2Y2MjFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJLaXQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYktpdC5jcHAKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZGluZy5oPgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiAjaWYgT1MoREFSV0lOKQpAQCAtMTg1LDkgKzE4
NiwxMyBAQCBib29sIGxheW91dFRlc3RNb2RlKCkKIAogdm9pZCBlbmFibGVMb2dDaGFubmVsKGNv
bnN0IGNoYXIqIG5hbWUpCiB7CisjaWYgIUxPR19ESVNBQkxFRAogICAgIFdURkxvZ0NoYW5uZWwq
IGNoYW5uZWwgPSBXZWJDb3JlOjpnZXRDaGFubmVsRnJvbU5hbWUobmFtZSk7CiAgICAgaWYgKGNo
YW5uZWwpCiAgICAgICAgIGNoYW5uZWwtPnN0YXRlID0gV1RGTG9nQ2hhbm5lbE9uOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0obmFtZSk7CisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogfQogCiB2
b2lkIHJlc2V0UGx1Z2luQ2FjaGUoYm9vbCByZWxvYWRQYWdlcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfbWFpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X21haW4uY3BwCmluZGV4IDg0ZDJiNTAyNWI3MTRiYTc2ZmMxOGNiNWVjNjk3YWU3MGQyN2U4M2Uu
LmI0OGMyOGE2YjZkYzBmMTQ2NjAyNmM5NTQ2ZTU2ZjM1OGQ1NDk3NjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfbWFpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19tYWluLmNwcApAQCAtMTQ2LDcgKzE0Niw5IEBAIEVpbmFfQm9vbCBfZXdrX2luaXRf
Ym9keSh2b2lkKQogICAgICAgICAgICAgIndvcmsgKGllOiBBZG9iZSBGbGFzaCkiKTsKIAogICAg
IFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyNpZiAh
TE9HX0RJU0FCTEVECiAgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVj
ZXNzYXJ5KCk7CisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogICAgIFdlYkNvcmU6OlNldHRpbmdz
OjpzZXREZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbCgwLjAwNCk7CiAKICAgICBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmluaXRpYWxpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRnbG9iYWxzLmNwcAppbmRleCA3OGE0OTQ5ZmIzZGMxOTA1OTZlMDUwMDU0YTY1Y2M0YjljZTkz
NDZkLi40MmY3YTFkOTNjMjFhMThkZDAxNTdhNzQ1ZTc5ZTMwMTQ0NmRmMDBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuY3BwCkBAIC01MDQsNyArNTA0LDkgQEAg
dm9pZCB3ZWJraXRJbml0KCkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKICAgICBX
VEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKKyNpZiAhTE9HX0RJU0FCTEVECiAgICAgV2Vi
Q29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYgLy8g
IUxPR19ESVNBQkxFRAogICAgIFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6aW5pdGlhbGl6ZSgpOwog
CiAgICAgLy8gV2UgbWFrZSBzdXJlIHRoZSB0ZXh0IGNvZGVjcyBoYXZlIGJlZW4gaW5pdGlhbGl6
ZWQsIGJlY2F1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViSWNvbkRh
dGFiYXNlLm1tIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0KaW5k
ZXggNGY4ZmM2ZTA2YTZmMTFlNGI0ZWU4NDRmNTNiYjY5Y2ExYjUxN2FkNi4uZmVlMzBmNzg2M2Yy
NGJiY2U0ZjFkMjVjMzkxMzg0NzM2ZDQzMzNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9X
ZWJJY29uRGF0YWJhc2UubW0KQEAgLTQ0MSw3ICs0NDEsNyBAQCBzdGF0aWMgV2ViSWNvbkRhdGFi
YXNlQ2xpZW50KiBkZWZhdWx0Q2xpZW50KCkKICAgICBBU1NFUlQoc2l6ZS53aWR0aCk7CiAgICAg
QVNTRVJUKHNpemUuaGVpZ2h0KTsKICAgICAKLSNpZiAhTE9HX0RJU0FCTEVEICAgICAgICAKKyNp
ZiAhTE9HX0RJU0FCTEVECiAgICAgZG91YmxlIHN0YXJ0ID0gQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJy
ZW50KCk7CiAjZW5kaWYKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2Mv
V2ViS2l0TG9nZ2luZy5oIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLmgK
aW5kZXggZjcxZjczMDYzOTEyN2ExMjUyNDViMzYxN2ZlYjgwNjJjNGQ0ZmRiMC4uNWYzNDI4ZGEz
ZTA5NWU5Yjc0N2QzNDZjYjQ0NmQ5NjEzZmUyNzRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9X
ZWJLaXRMb2dnaW5nLmgKQEAgLTM2LDYgKzM2LDcgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAK
KyNpZiAhTE9HX0RJU0FCTEVECiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dUaW1pbmc7
CiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dMb2FkaW5nOwogZXh0ZXJuIFdURkxvZ0No
YW5uZWwgV2ViS2l0TG9nRm9udENhY2hlOwpAQCAtNjIsNiArNjMsNyBAQCBleHRlcm4gV1RGTG9n
Q2hhbm5lbCBXZWJLaXRMb2dJY29uRGF0YWJhc2U7CiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBXZWJL
aXRMb2dUZXh0SW5wdXQ7CiAKIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lm
TmVjZXNzYXJ5KHZvaWQpOworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKIAogLy8gRklYTUU6IFdo
eSBpcyB0aGlzIGluIHRoZSAibG9nZ2luZyIgaGVhZGVyIGZpbGU/CiAvLyBVc2UgV2ViQ29yZVRo
cmVhZFZpb2xhdGlvbkNoZWNrIGluc3RlYWQgZm9yIGNoZWNrcyB0aGF0IHRocm93IGFuIGV4Y2Vw
dGlvbiBldmVuIGluIHByb2R1Y3Rpb24gYnVpbGRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLm0gYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktp
dExvZ2dpbmcubQppbmRleCA3MmE4MjJmZWUwZmNmN2RjZjI5OTRlYTgwMGNmYWVlNWMxN2NhMDU1
Li5lMDA1ZmVmYTMxZWJhMGZlZjBjZmVhOTFiOTIzZmViMzk3YTFlNzk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdExvZ2dpbmcubQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9NaXNjL1dlYktpdExvZ2dpbmcubQpAQCAtMjgsNiArMjgsOCBAQAogCiAjaW1wb3J0ICJX
ZWJLaXRMb2dnaW5nLmgiCiAKKyNpZiAhTE9HX0RJU0FCTEVECisKIFdURkxvZ0NoYW5uZWwgV2Vi
S2l0TG9nVGV4dElucHV0ID0gICAgICAgICAgICAgIHsgMHgwMDAwMDAxMCwgIldlYktpdExvZ0xl
dmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogV1RGTG9nQ2hhbm5lbCBXZWJLaXRMb2dUaW1pbmcg
PSAgICAgICAgICAgICAgICAgeyAweDAwMDAwMDIwLCAiV2ViS2l0TG9nTGV2ZWwiLCBXVEZMb2dD
aGFubmVsT2ZmIH07CiBXVEZMb2dDaGFubmVsIFdlYktpdExvZ0xvYWRpbmcgPSAgICAgICAgICAg
ICAgICB7IDB4MDAwMDAwNDAsICJXZWJLaXRMb2dMZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYgfTsK
QEAgLTk4LDYgKzEwMCw3IEBAIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lm
TmVjZXNzYXJ5KCkKICAgICBpbml0aWFsaXplTG9nQ2hhbm5lbCgmV2ViS2l0TG9nSWNvbkRhdGFi
YXNlKTsKICAgICBpbml0aWFsaXplTG9nQ2hhbm5lbCgmV2ViS2l0TG9nVGV4dElucHV0KTsKIH0K
KyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECiAKIHZvaWQgUmVwb3J0RGlzY2FyZGVkRGVsZWdhdGVF
eGNlcHRpb24oU0VMIGRlbGVnYXRlU2VsZWN0b3IsIGlkIGV4Y2VwdGlvbikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IGM0MzFmOWIwMjNmZTg1NTZhMDY4
NDZlN2ZiNDcwMjcyOTNhMDVlNmQuLjA0YTVhOTk3Mzg4YjFhMzIwZTNiNDg0MDY2Yjk3MWQ4OGJi
ODliM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNjE0
MCw3ICs2MTQwLDcgQEAgc3RhdGljIHZvaWQgZXh0cmFjdFVuZGVybGluZXMoTlNBdHRyaWJ1dGVk
U3RyaW5nICpzdHJpbmcsIFZlY3RvcjxDb21wb3NpdGlvblVuZGUKIC0gKE5TQXR0cmlidXRlZFN0
cmluZyAqKV9hdHRyaWJ1dGVTdHJpbmdGcm9tRE9NUmFuZ2U6KERPTVJhbmdlICopcmFuZ2UKIHsK
ICAgICBOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmc7Ci0jaWYgIUxPR19ESVNB
QkxFRCAgICAgICAgCisjaWYgIUxPR19ESVNBQkxFRAogICAgIGRvdWJsZSBzdGFydCA9IENGQWJz
b2x1dGVUaW1lR2V0Q3VycmVudCgpOwogI2VuZGlmICAgIAogICAgIGF0dHJpYnV0ZWRTdHJpbmcg
PSBbW1tOU0F0dHJpYnV0ZWRTdHJpbmcgYWxsb2NdIF9pbml0V2l0aERPTVJhbmdlOnJhbmdlXSBh
dXRvcmVsZWFzZV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNDVhNGNm
NWQwZjU4MDhlMGMyNTQ0Njg5ZjVkMjYwOTE3MTEyYjZjYi4uMjNhNzhmZjVmODE1Yzc3OTU5NjA4
MDU1MmMwZGY5OTZhOWE3NWVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtNzIzLDggKzcyMywxMCBAQCBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNT
U0F0dHJpYnV0ZVNldHRlcnMoKQogCiAgICAgc3RhdGljIGJvb2wgZGlkT25lVGltZUluaXRpYWxp
emF0aW9uID0gZmFsc2U7CiAgICAgaWYgKCFkaWRPbmVUaW1lSW5pdGlhbGl6YXRpb24pIHsKKyNp
ZiAhTE9HX0RJU0FCTEVECiAgICAgICAgIFdlYktpdEluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJ
Zk5lY2Vzc2FyeSgpOwogICAgICAgICBXZWJDb3JlOjppbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxz
SWZOZWNlc3NhcnkoKTsKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECiAgICAgICAgIFtXZWJIaXN0
b3J5SXRlbSBpbml0V2luZG93V2F0Y2hlcklmTmVjZXNzYXJ5XTsKICNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogICAgICAgICBXZWJLaXRJbml0aWFsaXplRGF0YWJhc2VzSWZOZWNlc3NhcnkoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVR
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luaXRXZWJDb3JlUXQuY3Bw
CmluZGV4IDQ1MjA5MWMyOGZlOWQ1ZjlkODRlMzVlMjgwZWQ5M2MyODExNzJiN2UuLjVhYzQ0OWQ1
ZDhiMDg4OGM2ODk5Y2I4ZGJlZGRhM2MxZTNlOThhNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5pdFdlYkNvcmVRdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9Jbml0V2ViQ29yZVF0LmNwcApAQCAtNjYsNyArNjYsOSBAQCB2
b2lkIGluaXRpYWxpemVXZWJDb3JlUXQoKQogICAgIGlmIChpbml0aWFsaXplZCkKICAgICAgICAg
cmV0dXJuOwogCisjaWYgIUxPR19ESVNBQkxFRAogICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dn
aW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKICAgICBT
Y3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CiAgICAgV1RGOjppbml0aWFs
aXplTWFpblRocmVhZCgpOwogICAgIFdlYkNvcmU6OlNlY3VyaXR5UG9saWN5OjpzZXRMb2NhbExv
YWRQb2xpY3koV2ViQ29yZTo6U2VjdXJpdHlQb2xpY3k6OkFsbG93TG9jYWxMb2Fkc0ZvckxvY2Fs
QW5kU3Vic3RpdHV0ZURhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCA3Y2E5ZDE1MzY2ZTYz
YjkwYTczODhjYjYzMTIyNGY4ZjljODU1ZDg4Li5hNTJlY2M0ZTg3NzQyN2RjN2QzZDkwY2RjNzdm
YjEzYTk5ZWUzOTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtMjY0MSw3ICsyNjQxLDkgQEAg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3Ojppbml0V2l0aEZyYW1lKAogCiAgICAg
c3RhdGljIGJvb2wgZGlkT25lVGltZUluaXRpYWxpemF0aW9uOwogICAgIGlmICghZGlkT25lVGlt
ZUluaXRpYWxpemF0aW9uKSB7CisjaWYgIUxPR19ESVNBQkxFRAogICAgICAgICBpbml0aWFsaXpl
TG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECiAj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgV2ViS2l0SW5pdGlhbGl6ZVdlYkRhdGFi
YXNlc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gv
V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYlZpZXcuY3BwCmluZGV4IGFkZGQxMWMz
YWM1Y2QxZjUzMDU4ZDlmOGM3NDMwZjRjZjg0ODEyNjQuLmFjYjYwZjY0MzFlNjRlYmFhZmVkZjU5
MzdkODFhMGVlN2M3MmFjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJWaWV3LmNwcApAQCAtMzg5LDcgKzM4OSw5IEBA
IGJvb2wgV2ViVmlldzo6Q3JlYXRlKHd4V2luZG93KiBwYXJlbnQsIGNvbnN0IHd4U3RyaW5nJiB1
cmwsIGludCBpZCwgY29uc3Qgd3hQb2luCiAKICAgICBtX2ltcGwgPSBuZXcgV2ViVmlld1ByaXZh
dGUoKTsKIAotICAgIFdlYkNvcmU6OmluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2Fy
eSgpOyAgICAKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dp
bmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogICAgIFdl
YkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudCogcGFyZW50RnJhbWUgPSAwOwogCiAgICAgV2Vi
Q29yZTo6RWRpdG9yQ2xpZW50V3gqIGVkaXRvckNsaWVudCA9IG5ldyBXZWJDb3JlOjpFZGl0b3JD
bGllbnRXeCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmNwcAppbmRleCBmMjMxOGVjZWM3
NzZkNjg5ODIyNjQxZDZjMDYwZTE2MGJhMzJiNjU5Li4zM2I0NjM3NDM0ZWMyMGQ3NGZhYTBhMTU0
MzEwZTZhNWIwN2ViY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dn
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmNwcApAQCAtOTAs
NCArOTAsNCBAQCB2b2lkIGluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCkKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBMT0dfRElTQUJMRUQKKyNlbmRpZiAvLyAh
TE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5n
LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggMDZmOTYwOTFjMjk3
MWFhYjM1OGU2YjkwZTc4NzdkMTUwZWY0OTZiMC4uYzQ3YmZmZjZlZTE5YTQxMGFiMjEwNzI2M2E1
MmMwMDA3ZGM3M2Y2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2lu
Zy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtNTIsNiArNTIs
NiBAQCBXVEZMb2dDaGFubmVsKiBnZXRDaGFubmVsRnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFu
bmVsTmFtZSk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gTE9HX0RJU0FC
TEVECisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogCiAjZW5kaWYgLy8gTG9nZ2luZ19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggNzQyYWVhNjJjMzBhNmFmMjZi
OWVkZDQ4M2RlNmYwNDIwMTNjMWVhZC4uZDUzZGM3NmEwYTQyY2JmYjcxYTVmNmVkNzhmNGVkZGFh
YzEyY2QwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMTU3
LDcgKzE1Nyw5IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2Nlc3NN
b2RlbCwgY29uc3QgU3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhCiAKICAgICBhZGRMYW5ndWFnZUNo
YW5nZU9ic2VydmVyKHRoaXMsIGxhbmd1YWdlQ2hhbmdlZCk7CiAKKyNpZiAhTE9HX0RJU0FCTEVE
CiAgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7Cisj
ZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogCiAjaWZuZGVmIE5ERUJVRwogICAgIHdlYkNvbnRleHRD
b3VudGVyLmluY3JlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKaW5kZXggMTQyNGExYTQwNmFmZDg3ZDQyZmZkODZjMDRjZmZhNTVhZDFjOTE3YS4uOWYyOWFl
ZjQ0NTI2NWZlNzRmODBiYWM1MWQ2MTdiYWJjMmE2NWFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNjEsNyArMTYxLDkgQEAgV2ViUHJvY2Vzczo6V2Vi
UHJvY2VzcygpCiAgICAgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppbml0aWFsaXplKCk7CiAjZW5k
aWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAKKyNpZiAhTE9HX0RJU0FCTEVECiAgICAg
V2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisjZW5kaWYg
Ly8gIUxPR19ESVNBQkxFRAogfQogCiB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemUoQ29yZUlQ
Qzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBzZXJ2ZXJJZGVudGlmaWVyLCBSdW5Mb29wKiBydW5M
b29wKQo=
</data>
<flag name="review"
          id="158524"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>