<?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>205687</bug_id>
          
          <creation_ts>2020-01-02 10:43:25 -0800</creation_ts>
          <short_desc>[iOS] Replace &quot;unexpectedly resumed&quot; observer with RunningBoard suspendible assertions</short_desc>
          <delta_ts>2020-06-16 09:26:32 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>205836</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>aaron</cc>
    
    <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>bernardo.oliveira</cc>
    
    <cc>brian+webkitbugzilla</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ggaren</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jon</cc>
    
    <cc>juliosincesar</cc>
    
    <cc>pedro.felipe.azevedo.furtado</cc>
    
    <cc>protean</cc>
    
    <cc>thorton</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1602168</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-02 10:43:25 -0800</bug_when>
    <thetext>Replace &quot;unexpectedly resumed&quot; observer with RunningBoard suspendible assertions, to avoid unexpected terminations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602169</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-02 10:43:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/57890246&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602171</commentid>
    <comment_count>2</comment_count>
      <attachid>386608</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-02 10:47:51 -0800</bug_when>
    <thetext>Created attachment 386608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602185</commentid>
    <comment_count>3</comment_count>
      <attachid>386611</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-02 11:49:34 -0800</bug_when>
    <thetext>Created attachment 386611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602191</commentid>
    <comment_count>4</comment_count>
      <attachid>386615</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-02 12:00:42 -0800</bug_when>
    <thetext>Created attachment 386615
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602197</commentid>
    <comment_count>5</comment_count>
      <attachid>386618</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-02 12:29:16 -0800</bug_when>
    <thetext>Created attachment 386618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602199</commentid>
    <comment_count>6</comment_count>
      <attachid>386620</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-02 12:32:41 -0800</bug_when>
    <thetext>Created attachment 386620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602204</commentid>
    <comment_count>7</comment_count>
      <attachid>386623</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-02 12:44:29 -0800</bug_when>
    <thetext>Created attachment 386623
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602210</commentid>
    <comment_count>8</comment_count>
      <attachid>386624</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-02 13:17:36 -0800</bug_when>
    <thetext>Created attachment 386624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602259</commentid>
    <comment_count>9</comment_count>
      <attachid>386624</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-02 15:28:10 -0800</bug_when>
    <thetext>Comment on attachment 386624
Patch

Clearing flags on attachment: 386624

Committed r253984: &lt;https://trac.webkit.org/changeset/253984&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602260</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-02 15:28:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602466</commentid>
    <comment_count>11</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-01-03 09:26:34 -0800</bug_when>
    <thetext>The changes in https://trac.webkit.org/changeset/253984/webkit

broke testing on iOS Debug

Tracked in https://bugs.webkit.org/show_bug.cgi?id=205727</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602470</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-03 09:30:25 -0800</bug_when>
    <thetext>Follow-up in &lt;https://trac.webkit.org/changeset/254003&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611633</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-27 14:56:24 -0800</bug_when>
    <thetext>Reopening to revert since this appears to have caused assertion leaks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611635</commentid>
    <comment_count>14</comment_count>
      <attachid>388920</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-27 14:58:02 -0800</bug_when>
    <thetext>Created attachment 388920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611665</commentid>
    <comment_count>15</comment_count>
      <attachid>388920</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-27 15:37:54 -0800</bug_when>
    <thetext>Comment on attachment 388920
Patch

Clearing flags on attachment: 388920

Committed r255189: &lt;https://trac.webkit.org/changeset/255189&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611666</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-27 15:37:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612201</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-28 14:58:42 -0800</bug_when>
    <thetext>Reopening since this was reverted but we&apos;ll likely try again soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627962</commentid>
    <comment_count>18</comment_count>
      <attachid>393074</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-09 14:27:24 -0700</bug_when>
    <thetext>Created attachment 393074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627975</commentid>
    <comment_count>19</comment_count>
      <attachid>393077</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-09 14:58:01 -0700</bug_when>
    <thetext>Created attachment 393077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628067</commentid>
    <comment_count>20</comment_count>
      <attachid>393077</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-09 18:17:13 -0700</bug_when>
    <thetext>Comment on attachment 393077
Patch

Clearing flags on attachment: 393077

Committed r258180: &lt;https://trac.webkit.org/changeset/258180&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628068</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-09 18:17:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656020</commentid>
    <comment_count>22</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2020-05-26 06:42:04 -0700</bug_when>
    <thetext>*** Bug 203293 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656598</commentid>
    <comment_count>23</comment_count>
    <who name="Pedro Furtado">pedro.felipe.azevedo.furtado</who>
    <bug_when>2020-05-27 14:48:28 -0700</bug_when>
    <thetext>In which version of iOS it will be available?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656628</commentid>
    <comment_count>24</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-05-27 15:30:03 -0700</bug_when>
    <thetext>We can&apos;t comment on future releases, but what is your interest in this particular change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656660</commentid>
    <comment_count>25</comment_count>
    <who name="jcesarmobile">juliosincesar</who>
    <bug_when>2020-05-27 16:09:24 -0700</bug_when>
    <thetext>People is probably interested in &quot;WKWebView: audio tag sound stops when app goes to background on iOS 13&quot;, that has been marked as duplicate of this one, so I guess this change solves that problem too and it&apos;s not strange that a lot of people is waiting for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656863</commentid>
    <comment_count>26</comment_count>
    <who name="Joe Moore">protean</who>
    <bug_when>2020-05-28 08:34:11 -0700</bug_when>
    <thetext>The backgrounded webkit audio bug is definitely why I&apos;m interested in this fix deployment, assuming that this fix does, in fact, fix the audio bug, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656867</commentid>
    <comment_count>27</comment_count>
    <who name="Pedro Furtado">pedro.felipe.azevedo.furtado</who>
    <bug_when>2020-05-28 08:47:48 -0700</bug_when>
    <thetext>I am in same situation, Joe. Waiting a release with this fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658424</commentid>
    <comment_count>28</comment_count>
    <who name="">brian+webkitbugzilla</who>
    <bug_when>2020-06-02 13:16:19 -0700</bug_when>
    <thetext>+1, this fix was referenced from https://bugs.webkit.org/show_bug.cgi?id=198277, which my users are very interested to see released.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658428</commentid>
    <comment_count>29</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-02 13:24:04 -0700</bug_when>
    <thetext>This particular change shipped yesterday in iOS 13.5.1. If you can still reproduce it in 13.5.1, then your bug was mistakenly duped (and I suspect it was).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658554</commentid>
    <comment_count>30</comment_count>
    <who name="">brian+webkitbugzilla</who>
    <bug_when>2020-06-02 18:51:12 -0700</bug_when>
    <thetext>It looks like your suspicion was correct: this did not fix https://bugs.webkit.org/show_bug.cgi?id=198277</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658558</commentid>
    <comment_count>31</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-02 18:56:08 -0700</bug_when>
    <thetext>(In reply to brian+webkitbugzilla from comment #30)
&gt; It looks like your suspicion was correct: this did not fix
&gt; https://bugs.webkit.org/show_bug.cgi?id=198277

Waiting a bit to give others a chance to confirm. If everybody agrees the background audio bug is not fixed, I will un-dupe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658581</commentid>
    <comment_count>32</comment_count>
    <who name="Pedro Furtado">pedro.felipe.azevedo.furtado</who>
    <bug_when>2020-06-02 19:37:07 -0700</bug_when>
    <thetext>Confirmed: not fixed yet. The bug still occurs.

Our app, and even a blank app that I created in a few minutes, not work with iOS 13.5.1.

Please, could you reopen this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658582</commentid>
    <comment_count>33</comment_count>
    <who name="Pedro Furtado">pedro.felipe.azevedo.furtado</who>
    <bug_when>2020-06-02 19:38:47 -0700</bug_when>
    <thetext>Anyway, this bug also happens in iOS 13.5.1 :  203293 - WKWebView: audio tag sound stops when app goes to background on iOS 13 (https://bugs.webkit.org/show_bug.cgi?id=203293)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660606</commentid>
    <comment_count>34</comment_count>
    <who name="Bernardo Oliveira">bernardo.oliveira</who>
    <bug_when>2020-06-09 01:03:09 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #31)
&gt; (In reply to brian+webkitbugzilla from comment #30)
&gt; &gt; It looks like your suspicion was correct: this did not fix
&gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=198277
&gt; 
&gt; Waiting a bit to give others a chance to confirm. If everybody agrees the
&gt; background audio bug is not fixed, I will un-dupe.

Here I&apos;m using the iOS 13.5.1 and audio stops playing when a standalone web app is no longer in the foreground or in lock screen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660685</commentid>
    <comment_count>35</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-09 07:25:57 -0700</bug_when>
    <thetext>(In reply to Bernardo Oliveira from comment #34)
&gt; (In reply to Chris Dumez from comment #31)
&gt; &gt; (In reply to brian+webkitbugzilla from comment #30)
&gt; &gt; &gt; It looks like your suspicion was correct: this did not fix
&gt; &gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=198277
&gt; &gt; 
&gt; &gt; Waiting a bit to give others a chance to confirm. If everybody agrees the
&gt; &gt; background audio bug is not fixed, I will un-dupe.
&gt; 
&gt; Here I&apos;m using the iOS 13.5.1 and audio stops playing when a standalone web
&gt; app is no longer in the foreground or in lock screen.

The bugs were already deduped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663108</commentid>
    <comment_count>36</comment_count>
    <who name="">alex7golovin</who>
    <bug_when>2020-06-16 09:15:39 -0700</bug_when>
    <thetext>Waiting for this fix for our PWA which has audio content</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663110</commentid>
    <comment_count>37</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-16 09:16:44 -0700</bug_when>
    <thetext>(In reply to alex7golovin from comment #36)
&gt; Waiting for this fix for our PWA which has audio content

Then this is not the fix you&apos;re looking for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663114</commentid>
    <comment_count>38</comment_count>
    <who name="">alex7golovin</who>
    <bug_when>2020-06-16 09:26:07 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #37)
&gt; (In reply to alex7golovin from comment #36)
&gt; &gt; Waiting for this fix for our PWA which has audio content
&gt; 
&gt; Then this is not the fix you&apos;re looking for.

Ahh.. all right, sorry

will wait for [another one](https://bugs.webkit.org/show_bug.cgi?id=198277) :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386608</attachid>
            <date>2020-01-02 10:47:51 -0800</date>
            <delta_ts>2020-01-02 11:49:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205687-20200102104750.patch</filename>
            <type>text/plain</type>
            <size>35940</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4M2UxNmMzYjAzYjY2ZjU2
MmE0Nzg5MTAzM2I2YTg1MjQ3Y2VjMjYuLjFlZGVkYzQ3YjQwN2E0OGJiMDkzMzE1ZDRlODc1MTgz
OWQxMDcyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDEtMDIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1Njg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Nzg5MDI0Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBuZXcgUnVubmluZ0JvYXJk
IHByb2Nlc3MgYXNzZXJ0aW9uIHRvIGluZGljYXRlIHRoYXQgV2ViQ29udGVudCBwcm9jZXNzZXMg
ZGVwZW5kIG9uIHRoZWlyCisgICAgICAgIFVJUHJvY2VzcyAoYW5kIHRoZXJlZm9yZSwgdGhlIFVJ
UHJvY2VzcyBtdXN0IGJlIHJ1bm5pbmcgaWYgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcykuIFRo
aXMKKyAgICAgICAgcmVwbGFjZXMgb3VyICJVbmV4cGVjdGVkbHkgcmVzdW1lZCIgYXNzZXJ0aW9u
IHdoaWNoIHdhcyBjYXVzaW5nIHVuZXhwZWN0ZWQgdGVybWluYXRpb25zIGluIHNvbWUKKyAgICAg
ICAgY2FzZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6Cisg
ICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBTY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoOgorICAgICAgICAq
IFNoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24pOgorICAgICAgICAoV2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKiBTaGFyZWQvRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb24uaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL2lvcy9EZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkRlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAg
IChXZWJLaXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24pOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2Nv
YS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKwogMjAyMC0wMS0wMiAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTWFrZSBvbmRlbWFu
ZCBoYXJkd2FyZSBhY2NlbGVyYXRpb24gcG9saWN5IG5ldmVyIGxlYXZlIEFDIG1vZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXggNzQ4OTY3ZTI1
MWVhOWViM2FkNGI5Yzg2Y2MzOGNhOTA4MGZlOWRhOS4uMTRhYWM3NDg1OTdmN2ZjNmZjMjkyOTc5
Mzc0MTE0M2E2MzQ2OGVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKQEAgLTUxLDYgKzUxLDkgQEAgV0tfQVBQS0lUX0xERkxBR1NfbWFjY2F0YWx5
c3QgPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0g
JChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19B
U1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBBc3NlcnRp
b25TZXJ2aWNlczsKIAorV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MgPSAkKFdLX1JV
Tk5JTkdCT0FSRF9TRVJWSUNFU19MREZMQUdTXyQoV0tfQ09DT0FfVE9VQ0gpKTsKK1dLX1JVTk5J
TkdCT0FSRF9TRVJWSUNFU19MREZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3b3JrIFJ1bm5pbmdC
b2FyZFNlcnZpY2VzOworCiBXS19DQVJCT05fTERGTEFHUyA9ICQoV0tfQ0FSQk9OX0xERkxBR1Nf
JChXS19QTEFURk9STV9OQU1FKSk7CiBXS19DQVJCT05fTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3
b3JrIENhcmJvbjsKIApAQCAtMTI3LDcgKzEzMCw3IEBAIFdLX0FVVEhLSVRfTERGTEFHU19JT1Nf
U0lOQ0VfMTMgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiBXS19BVVRIS0lUX0xERkxBR1NfbWFjb3N4
ID0gJChXS19BVVRIS0lUX0xERkxBR1MkKFdLX01BQ09TXzEwMTUpKTsKIFdLX0FVVEhLSVRfTERG
TEFHU19NQUNPU19TSU5DRV8xMDE1ID0gLWZyYW1ld29yayBBdXRoS2l0OwogCi1GUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3
b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdy
YXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdv
cmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdv
cmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChX
S19BUFBLSVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19B
VVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFH
UykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxB
R1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNf
TERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1Mp
ICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9M
REZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NB
RkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChX
S19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5T
UEVDVE9SVUlfTERGTEFHUyk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2Jq
YyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENv
cmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQg
LWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0
IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAk
KFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19BU1NF
UlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19SVU5OSU5HQk9BUkRfU0VSVklDRVNfTERGTEFH
UykgJChXS19BVVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9Q
REZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1Nf
U0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRD
X0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVf
R0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdT
KSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERG
TEFHUykgJChXS19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQo
V0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHUyk7CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxp
YnJhcnkgYmFzaWNfc3RyaW5nc3RyZWFtLCBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIg
cmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJv
bHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDll
eGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVP
UzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUx
MlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVh
U0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5j
dGlvbl9jYWxsRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2lj
X3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9O
U18xM2Jhc2ljX2lzdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRD
TlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv
Y2F0b3JJY0VFRUUwX05TXzE0YmFzaWNfaW9zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJh
aXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUxNl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFp
dHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pU
Vk5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxs
b2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFz
aWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4
X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBi
NzcyNjEyMjgwZDVmZTkzMTdhNmRkOTlhODNmNTQ2NmM4ZjA1ZTkKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEku
aApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxSdW5uaW5nQm9hcmRTZXJ2aWNlcy9SdW5uaW5n
Qm9hcmRTZXJ2aWNlcy5oPgorCisjZWxzZQorCisjZGVmaW5lIFJCU19BU1lOQyBvbmV3YXkgdm9p
ZAorCitAaW50ZXJmYWNlIFJCU0F0dHJpYnV0ZSA6IE5TT2JqZWN0IDxOU0NvcHlpbmc+CitAZW5k
CisKK0BpbnRlcmZhY2UgUkJTRG9tYWluQXR0cmlidXRlIDogUkJTQXR0cmlidXRlCisrIChpbnN0
YW5jZXR5cGUpYXR0cmlidXRlV2l0aERvbWFpbjooTlNTdHJpbmcgKilkb21haW4gbmFtZTooTlNT
dHJpbmcgKiluYW1lOworQGVuZAorCitAaW50ZXJmYWNlIFJCU1RhcmdldCA6IE5TT2JqZWN0IDxS
QlNQcm9jZXNzTWF0Y2hpbmcsIE5TQ29weWluZz4KKysgKFJCU1RhcmdldCAqKXRhcmdldFdpdGhQ
aWQ6KHBpZF90KXBpZDsKK0BlbmQKKworQGludGVyZmFjZSBSQlNBc3NlcnRpb24gOiBOU09iamVj
dAorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRXhwbGFuYXRpb246KE5TU3RyaW5nICopZXhwbGFu
YXRpb24gdGFyZ2V0OihSQlNUYXJnZXQgKil0YXJnZXQgYXR0cmlidXRlczooTlNBcnJheSA8UkJT
QXR0cmlidXRlICo+ICopYXR0cmlidXRlczsKKy0gKEJPT0wpYWNxdWlyZVdpdGhFcnJvcjoob3V0
IE5TRXJyb3IgKiBfTnVsbGFibGUgKiBfTnVsbGFibGUpZXJyb3I7CistIChSQlNfQVNZTkMpaW52
YWxpZGF0ZTsKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vz
cy1lbnRpdGxlbWVudHMuc2gKaW5kZXggZDFmMDI5NmIzZGRiMmJhNDM5MTNhMmQ2NTMxYmE4NDli
MWRhMWU5NC4uNWZmNGExZWY0NjQ4NDBhOGQyNjE5YWRiNGRlODZhNTdjY2FhYzc1ZCAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaApAQCAtMTEwLDYg
KzExMCw3IEBAIGZ1bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc193ZWJjb250ZW50X2VudGl0bGVt
ZW50cygpCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm5ldHdvcmsuc29j
a2V0LWRlbGVnYXRlIGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2
YXRlLndlYmluc3BlY3Rvci5hbGxvdy1yZW1vdGUtaW5zcGVjdGlvbiBib29sIFlFUwogICAgIHBs
aXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS53ZWJpbnNwZWN0b3IucHJveHktYXBwbGlj
YXRpb24gYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnJ1bm5pbmdib2Fy
ZC5hc3NlcnRpb25zLndlYmtpdCBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpkeW5hbWlj
LWNvZGVzaWduaW5nIGJvb2wgWUVTCiAKICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnRj
Yy5kZWxlZ2F0ZWQtc2VydmljZXMgYXJyYXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWQ1MjUxY2M4YjZj
ZGQ5NjdiZTg1NzY1MDI3ZjA5Y2I0MTUwOWZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwCkBAIC0wLDAgKzEsNDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGVwZW5kZW5j
eVByb2Nlc3NBc3NlcnRpb24uaCIKKworI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246OkRlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uKFByb2Nlc3NJRCwgQVNDSUlMaXRlcmFsIGRlc2NyaXB0aW9uKQorewor
ICAgIFVOVVNFRF9QQVJBTShkZXNjcmlwdGlvbik7Cit9CisKK0RlcGVuZGVuY3lQcm9jZXNzQXNz
ZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oKQoreworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9E
ZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTAxYWE1MjdjMDA2MjQ5NzgxNjUy
OTE4N2Q1NmU0NWJiMTE3MTg1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaApAQCAtMCwwICsxLDUwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvUHJvY2Vzc0lELmg+CisjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0FTQ0lJTGl0ZXJhbC5oPgor
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKK09CSkNfQ0xBU1MgUkJTQXNzZXJ0aW9uOworI2Vu
ZGlmCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lEIHRhcmdldFBJRCwgQVNDSUlMaXRlcmFsIGRl
c2NyaXB0aW9uKTsKKyAgICB+RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oKTsKKworcHJpdmF0
ZToKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIFJldGFpblB0cjxSQlNBc3NlcnRpb24+
IG1fYXNzZXJ0aW9uOworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlv
bklPUy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbklPUy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjk2YzkzZjkzZjY4NDdiMDM4N2M4MzM5OWFmZDU4NDk3
NDM0YTU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0RlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
LmgiCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorCisjaW1wb3J0ICJSdW5uaW5nQm9hcmRT
ZXJ2aWNlc1NQSS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb246OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKFByb2Nlc3NJRCB0YXJnZXRQSUQs
IEFTQ0lJTGl0ZXJhbCBkZXNjcmlwdGlvbikKK3sKKyAgICBSQlNUYXJnZXQgKnRhcmdldCA9IFtS
QlNUYXJnZXQgdGFyZ2V0V2l0aFBpZDp0YXJnZXRQSURdOworICAgIFJCU0RvbWFpbkF0dHJpYnV0
ZSAqZG9tYWluQXR0cmlidXRlID0gW1JCU0RvbWFpbkF0dHJpYnV0ZSBhdHRyaWJ1dGVXaXRoRG9t
YWluOiBAImNvbS5hcHBsZS53ZWJraXQiIG5hbWU6QCJEZXBlbmRlbnRQcm9jZXNzTGluayJdOwor
ICAgIG1fYXNzZXJ0aW9uID0gYWRvcHROUyhbW1JCU0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhF
eHBsYW5hdGlvbjpTdHJpbmcgeyBkZXNjcmlwdGlvbiB9IHRhcmdldDp0YXJnZXQgYXR0cmlidXRl
czpAW2RvbWFpbkF0dHJpYnV0ZV1dKTsKKyAgICBOU0Vycm9yICphY3F1aXNpdGlvbkVycm9yID0g
bmlsOworICAgIGlmICghW21fYXNzZXJ0aW9uIGFjcXVpcmVXaXRoRXJyb3I6JmFjcXVpc2l0aW9u
RXJyb3JdKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJEZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246IEZhaWxlZCB0byBh
Y3F1aXJlIGRlcGVuZGVuY3kgcHJvY2VzcyBhc3NlcnRpb24gJyV7cHVibGljfXMnLCBlcnJvcjog
JXtwdWJsaWN9QCIsIGRlc2NyaXB0aW9uLmNoYXJhY3RlcnMoKSwgYWNxdWlzaXRpb25FcnJvcik7
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0gZWxzZQorICAgICAgICBSRUxF
QVNFX0xPRyhQcm9jZXNzLCAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246OkRlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uOiBTdWNjZXNzZnVsbHkgdG9vayBhIGRlcGVuZGVuY3kgcHJvY2VzcyBh
c3NlcnRpb24gJyV7cHVibGljfXMnIGZvciB0YXJnZXQgcHJvY2VzcyB3aXRoIFBJRCAlZCIsIGRl
c2NyaXB0aW9uLmNoYXJhY3RlcnMoKSwgdGFyZ2V0UElEKTsKK30KKworRGVwZW5kZW5jeVByb2Nl
c3NBc3NlcnRpb246On5EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbigpCit7CisgICAgW21fYXNz
ZXJ0aW9uIGludmFsaWRhdGVdOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
IC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCBiMmVmZDFhMzE2YjY2ZTQy
MTQ2MzEyNjNmMWEwZWM2NjQxNDhlYjhmLi42MDJmYjc5NWE3MmFkZGM1Nzg1ODc2YmUwOTViM2Vl
Yjg5ZDVlNTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTEzNCw2ICsxMzQsNyBAQCBTaGFyZWQvQmxvYkRh
dGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb24uY3BwIEBuby11bmlmeQogU2hhcmVk
L0NhY2hlTW9kZWwuY3BwCiBTaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0YS5jcHAKIFNoYXJl
ZC9EZWJ1Z2dhYmxlSW5mb0RhdGEuY3BwCitTaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRp
b24uY3BwCiBTaGFyZWQvRWRpdGluZ1JhbmdlLmNwcAogU2hhcmVkL0VkaXRvclN0YXRlLmNwcAog
U2hhcmVkL0ZvbnRJbmZvLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDJlZGU0ZGUzOGQ4
NDA4MDBiZGU3NjEzMWFjZjYwMjZmM2Y1YzhhM2UuLjYwYjM5ZjM3YzU3ODU1NjIxZjI5ZjY2Yjk2
MTdkOWE3YjNkYTcwM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTE3Myw2ICsxNzMsNyBA
QCBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VF
bnRyeVBvaW50Lm1tCiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNl
L1hQQ1NlcnZpY2VNYWluLm1tCiAKIFNoYXJlZC9pb3MvQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbQor
U2hhcmVkL2lvcy9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbQogU2hhcmVkL2lvcy9J
bnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5tbQogU2hhcmVkL2lvcy9JbnRlcmFjdGlv
bkluZm9ybWF0aW9uUmVxdWVzdC5jcHAKIFNoYXJlZC9pb3MvTmF0aXZlV2ViS2V5Ym9hcmRFdmVu
dElPUy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUHJveHlDb2NvYS5tbQppbmRleCBmNjBkNjMwOTU1M2NjOWJlMzY2OTE2MTMxZjJlYjMxNjlm
NDFmYmExLi42MDk5MzZkODc1MWRkNmQyNzY5MjBiOWM0YTE3ODYxMzUwZmRkZGJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2Nv
YS5tbQpAQCAtMTkwLDI0ICsxOTAsNCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cmVsZWFzZUhp
Z2hQZXJmb3JtYW5jZUdQVSgpCiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
Ci12b2lkIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1Jlc3VtZWQoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIENvbXBsZXRpb25IYW5kbGVy
Q2FsbGluZ1Njb3BlIGV4aXRTY29wZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0KLSAg
ICBpZiAobV90aHJvdHRsZXIuc2hvdWxkQmVSdW5uYWJsZSgpKSB7Ci0gICAgICAgIC8vIFRoZSBw
cm9jZXNzIGJlY29taW5nIHVuc3VzcGVuZGVkIHdhcyBub3QgdW5leHBlY3RlZC4KLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIC8vIFRoZSBXZWJQcm9jZXNzIHdhcyBhd2FrZW5lZCBieSBz
b21ldGhpbmcgb3RoZXIgdGhhbiB0aGUgVUlQcm9jZXNzLiBUYWtlIG91dCBhbiBhc3NlcnRpb24g
Zm9yIGEKLSAgICAvLyBsaW1pdGVkIGR1cmF0aW9uIHRvIGFsbG93IHdoYXRldmVyIHRhc2sgbmVl
ZHMgdG8gYmUgYWNjb21wbGlzaGVkIHRpbWUgdG8gY29tcGxldGUuCi0gICAgUkVMRUFTRV9MT0co
UHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1Jlc3Vt
ZWQoKSBQcm9jZXNzIHdhcyB1bmV4cGVjdGVkbHkgcmVzdW1lZCwgc3RhcnRpbmcgYmFja2dyb3Vu
ZCBhY3Rpdml0eSIsIHRoaXMpOwotICAgIGF1dG8gYmFja2dyb3VuZEFjdGl2aXR5VGltZW91dEhh
bmRsZXIgPSBbYWN0aXZpdHkgPSBtX3Rocm90dGxlci5iYWNrZ3JvdW5kQWN0aXZpdHkoIldlYlBy
b2Nlc3Mgd2FzIHVuZXhwZWN0ZWRseSByZXN1bWVkIl9zKSwgd2Vha1RoaXMgPSBtYWtlV2Vha1B0
cih0aGlzKV0gewotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0g
V2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzUmVzdW1lZCgpIC0gbGFtYmRhLCBiYWNrZ3JvdW5k
IGFjdGl2aXR5IHRpbWVkIG91dCIsIHdlYWtUaGlzLmdldCgpKTsKLSAgICB9OwotICAgIG1fdW5l
eHBlY3RlZEFjdGl2aXR5VGltZXIgPSBtYWtlVW5pcXVlPFdlYkNvcmU6OkRlZmVycmFibGVPbmVT
aG90VGltZXI+KFdURk1vdmUoYmFja2dyb3VuZEFjdGl2aXR5VGltZW91dEhhbmRsZXIpLCB1bmV4
cGVjdGVkQWN0aXZpdHlEdXJhdGlvbik7Ci19Ci0jZW5kaWYKLQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCA3ODQ2ZjU0MmM5NGRmM2VkMDliMDllMjVj
OGI2ODgzYzIwOGExMTM1Li45NjVmYjFjZTAxN2IxOWVjNDhlZThmNGRiNDAxNmQ2YjkxOWI0MjNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMzI1LDEw
ICszMjUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklm
TmVlZGVkKCk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgdm9pZCBw
cm9jZXNzV2FzUmVzdW1lZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotI2VuZGlmCi0K
ICAgICB2b2lkIHdlYlBhZ2VNZWRpYVN0YXRlRGlkQ2hhbmdlKFdlYlBhZ2VQcm94eSYpOwogCiAg
ICAgdm9pZCByZWYoKSBmaW5hbCB7IFRocmVhZFNhZmVSZWZDb3VudGVkOjpyZWYoKTsgfQpAQCAt
NTAxLDcgKzQ5Nyw2IEBAIHByaXZhdGU6CiAgICAgQmFja2dyb3VuZFdlYlByb2Nlc3NUb2tlbiBt
X2JhY2tncm91bmRUb2tlbjsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGJvb2wgbV9o
YXNTZW50TWVzc2FnZVRvVW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXIgeyBmYWxzZSB9OwotICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpEZWZlcnJhYmxlT25lU2hvdFRpbWVyPiBtX3VuZXhw
ZWN0ZWRBY3Rpdml0eVRpbWVyOwogI2VuZGlmCiAKICAgICBIYXNoTWFwPFN0cmluZywgdWludDY0
X3Q+IG1fcGFnZVVSTFJldGFpbkNvdW50TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDM5ODFjYmIwNTU1ODU1ZWE1
OWE4NjEwZmI4ODY4YzgxN2IxNmFjNzMuLjZlMWE0YzRmMjg0OGM2N2RhNWRmZjAyOWQ1ZmFjY2Vk
ZWY4YWRmYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkubWVzc2FnZXMuaW4KQEAgLTcyLDEwICs3Miw2IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nl
c3NQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU3RvcERpc3BsYXlMaW5rKHVuc2lnbmVkIG9i
c2VydmVySUQsIHVpbnQzMl90IGRpc3BsYXlJRCkKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICBQcm9jZXNzV2FzUmVzdW1lZCgpIC0+ICgpIEFzeW5jCi0jZW5kaWYKLQog
ICAgICMgUGx1Zy1pbiBtZXNzYWdlcy4KICAgICB2b2lkIEFkZFBsdWdJbkF1dG9TdGFydE9yaWdp
bkhhc2goU3RyaW5nIHBhZ2VPcmlnaW4sIHVpbnQzMl90IGhhc2gpCiAgICAgdm9pZCBQbHVnSW5E
aWRSZWNlaXZlVXNlckludGVyYWN0aW9uKHVpbnQzMl90IGhhc2gpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxYTc4ZGQ4ODc1MjRhNDkx
MWFhZTM2OGYxNDBlOTY0ZTExOTE0MjllLi5hNWM2ZTdkNjVhZjcyMjdlZjczYWZkODI2OGZmNzFk
YjBkOGEyMTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTk1Niw3ICs5NTYsOSBAQAogCQk0NkJFQjZFMzIyRkJCMjFBMDAyNjk4Njcg
LyogVHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkJFQjZFMTIyRkJCMjFBMDAyNjk4NjcgLyogVHJh
bnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlLmggKi87IH07CiAJCTQ2QzM5MjI5MjMxNkVDNEQw
MDhFRUQ5QiAvKiBXZWJQYWdlUHJveHlJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMzOTIyODIzMTZFQzREMDA4RUVEOUIgLyogV2Vi
UGFnZVByb3h5SWRlbnRpZmllci5oICovOyB9OwogCQk0NkRGMDYzQzFGMzkwNUY4MDAxOTgwQkIg
LyogTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRGMDYzQTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29y
a0NPUlNQcmVmbGlnaHRDaGVja2VyLmggKi87IH07CisJCTQ2Rjc3RDgwMjNCRTYzQkUwMDkwQjVB
NyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZGNzdEN0UyM0JFNjNCMTAwOTBCNUE3IC8qIERlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggKi87IH07CiAJCTQ2RjlCMjYzMjM1MjZFRjMwMDZGRTVG
QSAvKiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RjlCMjYyMjM1MjZFRDAwMDZGRTVGQSAvKiBXZWJCYWNr
Rm9yd2FyZENhY2hlRW50cnkuaCAqLzsgfTsKKwkJNDZGREE4RjcyM0JFNTg2OTAwQjE5OEZBIC8q
IFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NkZEQThGNjIzQkU1ODU5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJk
U2VydmljZXNTUEkuaCAqLzsgfTsKIAkJNDlCQ0ExOTIyM0ExNzc2NjAwMjhBODM2IC8qIEFQSVJl
c291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUJDQTE5MTIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCAqLzsgfTsKIAkJNDlCQ0ExOTUyM0ExOENG
RDAwMjhBODM2IC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTkw
MjNBMTc1NDkwMDI4QTgzNiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eUlu
dGVybmFsLmggKi87IH07CiAJCTQ5QkNBMTk3MjNBMTkzMEQwMDI4QTgzNiAvKiBBUElSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDlCQ0ExOTYyM0ExOEY2MjAwMjhBODM2IC8qIEFQSVJlc291cmNl
TG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmggKi87IH07CkBAIC0zNDIyLDcgKzM0MjQsMTEgQEAK
IAkJNDZDMzkyMjgyMzE2RUM0RDAwOEVFRDlCIC8qIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViUGFnZVByb3h5SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NkRGMDYzOTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29ya0NPUlNQcmVm
bGlnaHRDaGVja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5l
dHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ2REYwNjNBMUYzOTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNr
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya0NPUlNQcmVmbGln
aHRDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Rjc3RDdFMjNCRTYz
QjEwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0NkY3N0Q3RjIzQkU2M0IyMDA5MEI1QTcgLyogRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NkY3N0Q4MTIzQkU2M0RDMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb25JT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBE
ZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbTsgcGF0aCA9IGlvcy9EZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZGOUIy
NjIyMzUyNkVEMDAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZGREE4RjYyM0JFNTg1OTAwQjE5OEZBIC8qIFJ1
bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ5QkNBMTkwMjNBMTc1NDkwMDI4QTgzNiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmly
c3RQYXJ0eUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NGaXJzdFBhcnR5SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlC
Q0ExOTEyM0ExNzc2NjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBh
cnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QkNBMTk2MjNBMThGNjIwMDI4QTgz
NiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNTU3MCw2ICs1NTc2LDggQEAKIAkJCQk5OUY2NDJEMjFGQUJFMzc4MDA5
NjIxRTkgLyogQ29vcmRpbmF0ZVN5c3RlbS5oICovLAogCQkJCTk5MDM2QUU4MjNBOTcwODcwMDAw
QjA2QSAvKiBEZWJ1Z2dhYmxlSW5mb0RhdGEuY3BwICovLAogCQkJCTk5MDM2QUU3MjNBOTcwODcw
MDAwQjA2QSAvKiBEZWJ1Z2dhYmxlSW5mb0RhdGEuaCAqLywKKwkJCQk0NkY3N0Q3RjIzQkU2M0Iy
MDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwICovLAorCQkJCTQ2Rjc3
RDdFMjNCRTYzQjEwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oICovLAog
CQkJCTJEN0ZEMTkwMjIzQzczMEYwMDc4ODdGMSAvKiBEb2N1bWVudEVkaXRpbmdDb250ZXh0Lmgg
Ki8sCiAJCQkJMkQ3RkQxOTEyMjNDNzMxMDAwNzg4N0YxIC8qIERvY3VtZW50RWRpdGluZ0NvbnRl
eHQubW0gKi8sCiAJCQkJQzUxNzM4ODAxMkRGOEY0RjAwRUUzRjQ3IC8qIERyYWdDb250cm9sbGVy
QWN0aW9uLmggKi8sCkBAIC02NDU1LDYgKzY0NjMsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKIAkJCQlBN0U5M0NFQjE5MjUzMUFBMDBBMURDNDggLyogQXV4aWxpYXJ5
UHJvY2Vzc0lPUy5tbSAqLywKKwkJCQk0NkY3N0Q4MTIzQkU2M0RDMDA5MEI1QTcgLyogRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW0gKi8sCiAJCQkJMkRBNjczMTkyMEM3NTRCMTAwM0NC
NDAxIC8qIER5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUuaCAqLywKIAkJCQkyREE5NDQ5RDE4ODRF
NEYwMDBFRDg2REIgLyogR2VzdHVyZVR5cGVzLmggKi8sCiAJCQkJQzVCQ0U1REExQzUwNzYxRDAw
Q0RFM0ZBIC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmggKi8sCkBAIC05NjA2
LDYgKzk2MTUsNyBAQAogCQkJCUExM0IzREExMjA3RjM5REUwMDkwQzU4RCAvKiBNb2JpbGVXaUZp
U1BJLmggKi8sCiAJCQkJMzE3OEFGOTcyMEUyQTdGODAwNzRERTk0IC8qIFBERktpdFNQSS5oICov
LAogCQkJCTJEQzE4RkFGMjE4OTEyNjQwMDI1QTg4RCAvKiBQZW5jaWxLaXRTUEkuaCAqLywKKwkJ
CQk0NkZEQThGNjIzQkU1ODU5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCAq
LywKIAkJCQlDRTFBMEJEMDFBNDhFNkM2MDA1NEVGNzQgLyogVENDU1BJLmggKi8sCiAJCQkJQ0Ux
QTBCRDExQTQ4RTZDNjAwNTRFRjc0IC8qIFRleHRJbnB1dFNQSS5oICovLAogCQkJCUNFRTRBRTJB
MUE1RENGNDMwMDAyRjQ5QiAvKiBVSUtpdFNQSS5oICovLApAQCAtOTk3NCw2ICs5OTg0LDcgQEAK
IAkJCQkxQUM3NTM4MDE4M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTkwMzZBRTkyM0E5NzA4NzAwMDBCMDZBIC8qIERlYnVnZ2FibGVJbmZvRGF0
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEQTYxMEY0MzdEMTAwNThDMTVBIC8qIERlY29k
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2Rjc3RDgwMjNCRTYzQkUwMDkwQjVBNyAvKiBEZXBl
bmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdEQ0VEQUIyMTRD
NjAwOTAwMTZCODQ3IC8qIERldmljZUlkZW50aXR5U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
NzI5N0Y5RjFDMTdCQkVBMDE1RjA3MzUgLyogRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTJEMEM1NkZEMjI5RjFERUEwMEJEMzNFNyAvKiBEZXZpY2VNYW5hZ2Vt
ZW50U29mdExpbmsuaCBpbiBIZWFkZXJzICovLApAQCAtMTAyNzAsNiArMTAyODEsNyBAQAogCQkJ
CTdBRkJEMzZBMjFFNTQyRjEwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lz
dGVudFN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMzAwNjZFMTExMEY0RjcwMDMxOTM3
QyAvKiBSZXNwb25zaXZlbmVzc1RpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTA0ODJDRTFE
REQzMjRGMDBGMDA2RDAgLyogUlRDTmV0d29yay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZGREE4
RjcyM0JFNTg2OTAwQjE5OEZBIC8qIFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRTk3RDc0RDIwMEU5MDA0MDBCRjY2NDMgLyogU2FmZUJyb3dzaW5nU1BJLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1Q0E5ODU0QTIxMEJFQjY0MDA1N0VCNkIgLyogU2FmZUJyb3dz
aW5nV2FybmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyRDAyMTcxMkFDNDFDQjAwRTczMkEz
IC8qIFNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBjNGFkMzlmOTBjNzVjMWNkMTM3OWJl
MjRhNjE0MjI2ZTk5ZGE2Y2FlLi5jMTQ0YzQxYWYzZWI5NzNhZGNkYWQ1ZWIxYjc0Njk3YTBlMjBk
ZTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiQVBJUGFnZUhhbmRsZS5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0
aW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NNZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgIkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgiCiAjaW5jbHVkZSAiRHJhd2luZ0Fy
ZWEuaCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNoZXIuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1
bmRsZS5oIgpAQCAtMjgzLDExICsyODQsOCBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVD
b25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKIAogICAgIG1fd2ViQ29ubmVj
dGlvbiA9IFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6Y3JlYXRlKHRoaXMpOwogCi0jaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKLSAgICAvLyBNYWtlIHN1cmUgd2UgaGF2ZSBhbiBJUEM6OkNvbm5l
Y3Rpb24gYmVmb3JlIGNyZWF0aW5nIHRoZSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIgc2luY2Ug
aXQgbWF5IGNhbGwKLSAgICAvLyBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdl
KCkgb24gYSBiYWNrZ3JvdW5kIHRocmVhZCBhbmQgZGVmZXJlbmNlIHRoZSBJUEMgY29ubmVjdGlv
bi4KLSAgICBtX3Rhc2tTdGF0ZU9ic2VydmVyID0gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpj
cmVhdGUoKnRoaXMpOwotI2VuZGlmCisgICAgQVNTRVJUKCFtX3VpUHJvY2Vzc0RlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uKTsKKyAgICBtX3VpUHJvY2Vzc0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0
aW9uID0gbWFrZVVuaXF1ZTxEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbj4oY29ubmVjdGlvbi0+
cmVtb3RlUHJvY2Vzc0lEKCksICJXZWJDb250ZW50IHByb2Nlc3MgZGVwZW5kZW5jeSBvbiBVSVBy
b2Nlc3MiX3MpOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggOGY5YmZlNTcxNWQ0MjI1OWEzYTNiMzE3MDVhYzM0ZjZm
MTNiMWQzOC4uMjZlMGU2NTlhODlhOWY1NTMwMmFmMmUxNzcyYzY4ZjM0NGRhN2EyMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC02NSwxMSArNjUsNiBAQAogI2luY2x1
ZGUgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0jaW5jbHVkZSAiUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLmgiCi1PQkpDX0NMQVNTIEJL
U1Byb2Nlc3NBc3NlcnRpb247Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKFdBWUxBTkQpICYmIFVT
RShXUEVfUkVOREVSRVIpCiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybURpc3BsYXlMaWJXUEUu
aD4KICNlbmRpZgpAQCAtMTA1LDYgKzEwMCw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGE7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjbGFzcyBEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbjsKIGNsYXNzIEV2ZW50RGlzcGF0Y2hlcjsKIGNsYXNzIEdhbWVwYWREYXRhOwogY2xh
c3MgR1BVUHJvY2Vzc0Nvbm5lY3Rpb247CkBAIC0xNDAsMTEgKzEzNiw3IEBAIHN0cnVjdCBXZWJz
aXRlRGF0YVN0b3JlUGFyYW1ldGVyczsKIGNsYXNzIExheWVySG9zdGluZ0NvbnRleHQ7CiAjZW5k
aWYKIAotY2xhc3MgV2ViUHJvY2VzcwotICAgIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MKLSNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICwgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpD
bGllbnQKLSNlbmRpZgorY2xhc3MgV2ViUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNz
CiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC00NzQsMTEgKzQ2
Niw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAg
dm9pZCBwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6
VGFza1N0YXRlKSBmaW5hbDsKICAgICBib29sIHNob3VsZEZyZWV6ZU9uU3VzcGVuc2lvbigpIGNv
bnN0OwogICAgIHZvaWQgdXBkYXRlRnJlZXplclN0YXR1cygpOwotCi0gICAgdm9pZCByZWxlYXNl
UHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSURF
TykKQEAgLTU2MywxMSArNTUyLDggQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAgICAgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyIG1fd2ViU1FMaXRlRGF0YWJhc2VUcmFj
a2VyOwotICAgIFJlZlB0cjxQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI+IG1fdGFza1N0YXRlT2Jz
ZXJ2ZXI7Ci0gICAgTG9jayBtX3Byb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uc0xvY2s7Ci0gICAg
UmV0YWluUHRyPEJLU1Byb2Nlc3NBc3NlcnRpb24+IG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2Vy
dGlvbjsKLSAgICBSZXRhaW5QdHI8QktTUHJvY2Vzc0Fzc2VydGlvbj4gbV9wcm9jZXNzV2FzUmVz
dW1lZE93bkFzc2VydGlvbjsKICNlbmRpZgorICAgIHN0ZDo6dW5pcXVlX3B0cjxEZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjsK
IAogICAgIGVudW0gUGFnZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxlQ291bnRlclR5cGUgeyB9Owog
ICAgIHVzaW5nIFBhZ2VNYXJraW5nTGF5ZXJzQXNWb2xhdGlsZUNvdW50ZXIgPSBSZWZDb3VudGVy
PFBhZ2VNYXJraW5nTGF5ZXJzQXNWb2xhdGlsZUNvdW50ZXJUeXBlPjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IGYwN2U0ZTdl
OTA0NjhjMTliYTE2MjI2MjhiNDhjZWFiNDQxNzk3MzcuLjk3M2Y1YzQ4NmIxMmIwN2NiYmJhZmQ0
M2IxYmMwOWRhODk1OTk3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtOTEsNiArOTEsNyBAQAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oIgogI2ltcG9ydCAi
QXNzZXJ0aW9uU2VydmljZXNTUEkuaCIKKyNpbXBvcnQgIlJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJ
LmgiCiAjaW1wb3J0ICJVc2VySW50ZXJmYWNlSWRpb20uaCIKICNpbXBvcnQgIldLQWNjZXNzaWJp
bGl0eVdlYlBhZ2VPYmplY3RJT1MuaCIKICNpbXBvcnQgPFVJS2l0L1VJQWNjZXNzaWJpbGl0eS5o
PgpAQCAtMzIyLDYxICszMjMsNiBAQCB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0ZVByb2Nlc3NOYW1l
KCkKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiB9CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQotdm9pZCBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKFByb2Nlc3NUYXNr
U3RhdGVPYnNlcnZlcjo6VGFza1N0YXRlIHRhc2tTdGF0ZSkKLXsKLSAgICAvLyBOT1RFOiBUaGlz
IHdpbGwgYmUgY2FsbGVkIGZyb20gYSBiYWNrZ3JvdW5kIHRocmVhZC4KLSAgICBSRUxFQVNFX0xP
RyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURp
ZENoYW5nZSgpIC0gdGFza1N0YXRlKCVkKSIsIHRoaXMsIHRhc2tTdGF0ZSk7Ci0gICAgaWYgKHRh
c2tTdGF0ZSAhPSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlJ1bm5pbmcpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIExvY2tIb2xkZXIgaG9sZGVyKG1fcHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRp
b25zTG9jayk7Ci0gICAgaWYgKG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiAmJiBtX3By
b2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBX
ZSB3ZXJlIGF3YWtlbmVkIGZyb20gc3VzcGVuc2lvbiB1bmV4cGVjdGVkbHkuIE5vdGlmeSB0aGUg
V2ViUHJvY2Vzc1Byb3h5LCBidXQgdGFrZSBhIHByb2Nlc3MgYXNzZXJ0aW9uIG9uIG91ciBwYXJl
bnQgUElECi0gICAgLy8gdG8gZW5zdXJlIHRoYXQgaXQgdG9vIGlzIGF3YWtlbmVkLgotICAgIFJF
TEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFz
a1N0YXRlQ2hhbmdlZCgpIFRha2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9u
IG9uIGJlaGFsZiBvbiBVSVByb2Nlc3MiLCB0aGlzKTsKLSAgICBtX3Byb2Nlc3NXYXNSZXN1bWVk
VUlBc3NlcnRpb24gPSBhZG9wdE5TKFtbQktTUHJvY2Vzc0Fzc2VydGlvbiBhbGxvY10gaW5pdFdp
dGhQSUQ6cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+cmVtb3RlUHJvY2Vzc0lEKCkgZmxhZ3M6
QktTUHJvY2Vzc0Fzc2VydGlvblByZXZlbnRUYXNrU3VzcGVuZCByZWFzb246QktTUHJvY2Vzc0Fz
c2VydGlvblJlYXNvbkZpbmlzaFRhc2sgbmFtZTpAIldlYlByb2Nlc3Mgd2FzIHJlc3VtZWQiIHdp
dGhIYW5kbGVyOl4oQk9PTCBhY3F1aXJlZCkgewotICAgICAgICBpZiAoIWFjcXVpcmVkKQotICAg
ICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlBy
b2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSBmYWlsZWQgdG8gdGFrZSAnV2ViUHJv
Y2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIGZvciBwYXJlbnQgcHJvY2VzcyIsIHRoaXMpOwot
ICAgIH1dKTsKLSAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24uZ2V0KCkuaW52YWxp
ZGF0aW9uSGFuZGxlciA9IFt0aGlzXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZCgp
IFJlbGVhc2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBv
biBVSVByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIsIHRoaXMpOwotICAgICAgICByZWxlYXNl
UHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7Ci0gICAgfTsKLSAgICBtX3Byb2Nlc3NXYXNS
ZXN1bWVkT3duQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRpb24gYWxsb2Nd
IGluaXRXaXRoUElEOmdldHBpZCgpIGZsYWdzOkJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFz
a1N1c3BlbmQgcmVhc29uOkJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrIG5hbWU6
QCJXZWJQcm9jZXNzIHdhcyByZXN1bWVkIiB3aXRoSGFuZGxlcjpeKEJPT0wgYWNxdWlyZWQpIHsK
LSAgICAgICAgaWYgKCFhY3F1aXJlZCkKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFBy
b2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hh
bmdlKCkgZmFpbGVkIHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBm
b3IgV2ViQ29udGVudCBwcm9jZXNzIiwgdGhpcyk7Ci0gICAgfV0pOwotICAgIG1fcHJvY2Vzc1dh
c1Jlc3VtZWRPd25Bc3NlcnRpb24uZ2V0KCkuaW52YWxpZGF0aW9uSGFuZGxlciA9IFt0aGlzXSB7
Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQ
cm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZCgpIFJlbGVhc2luZyAnV2ViUHJvY2VzcyB3
YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBvbiBXZWJDb250ZW50IHByb2Nlc3MgZHVl
IHRvIGludmFsaWRhdGlvbiIsIHRoaXMpOwotICAgICAgICByZWxlYXNlUHJvY2Vzc1dhc1Jlc3Vt
ZWRBc3NlcnRpb25zKCk7Ci0gICAgfTsKLQotICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCkt
PnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpQcm9jZXNzV2Fz
UmVzdW1lZCgpLCBbdGhpc10gewotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lv
biwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSgpIFBhcmVudCBw
cm9jZXNzIGhhbmRsZWQgUHJvY2Vzc1dhc1Jlc3VtZWQgSVBDLCByZWxlYXNpbmcgb3VyIGFzc2Vy
dGlvbnMiLCB0aGlzKTsKLSAgICAgICAgcmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9u
cygpOwotICAgIH0pOwotfQotCi12b2lkIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVz
dW1lZEFzc2VydGlvbnMoKQotewotICAgIExvY2tIb2xkZXIgaG9sZGVyKG1fcHJvY2Vzc1dhc1Jl
c3VtZWRBc3NlcnRpb25zTG9jayk7Ci0gICAgaWYgKG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2Vy
dGlvbikgewotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2Vi
UHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpIFJlbGVhc2luZyBw
YXJlbnQgcHJvY2VzcyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIiwgdGhpcyk7
Ci0gICAgICAgIFttX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24gaW52YWxpZGF0ZV07Ci0g
ICAgICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiA9IG51bGxwdHI7Ci0gICAgfQot
ICAgIGlmIChtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uKSB7Ci0gICAgICAgIFJFTEVB
U0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpyZWxlYXNlUHJvY2Vz
c1dhc1Jlc3VtZWRBc3NlcnRpb25zKCkgUmVsZWFzaW5nIFdlYkNvbnRlbnQgcHJvY2VzcyAnV2Vi
UHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIiwgdGhpcyk7Ci0gICAgICAgIFttX3Byb2Nl
c3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uIGludmFsaWRhdGVdOwotICAgICAgICBtX3Byb2Nlc3NX
YXNSZXN1bWVkT3duQXNzZXJ0aW9uID0gbnVsbHB0cjsKLSAgICB9Ci19Ci0KLSNlbmRpZgotCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHN0YXRpYyBOU1N0cmluZyAqd2ViUHJvY2Vzc0xvYWRl
ckFjY2Vzc2liaWxpdHlCdW5kbGVQYXRoKCkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386611</attachid>
            <date>2020-01-02 11:49:34 -0800</date>
            <delta_ts>2020-01-02 12:00:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205687-20200102114933.patch</filename>
            <type>text/plain</type>
            <size>36275</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4M2UxNmMzYjAzYjY2ZjU2
MmE0Nzg5MTAzM2I2YTg1MjQ3Y2VjMjYuLjFlZGVkYzQ3YjQwN2E0OGJiMDkzMzE1ZDRlODc1MTgz
OWQxMDcyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDEtMDIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1Njg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Nzg5MDI0Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBuZXcgUnVubmluZ0JvYXJk
IHByb2Nlc3MgYXNzZXJ0aW9uIHRvIGluZGljYXRlIHRoYXQgV2ViQ29udGVudCBwcm9jZXNzZXMg
ZGVwZW5kIG9uIHRoZWlyCisgICAgICAgIFVJUHJvY2VzcyAoYW5kIHRoZXJlZm9yZSwgdGhlIFVJ
UHJvY2VzcyBtdXN0IGJlIHJ1bm5pbmcgaWYgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcykuIFRo
aXMKKyAgICAgICAgcmVwbGFjZXMgb3VyICJVbmV4cGVjdGVkbHkgcmVzdW1lZCIgYXNzZXJ0aW9u
IHdoaWNoIHdhcyBjYXVzaW5nIHVuZXhwZWN0ZWQgdGVybWluYXRpb25zIGluIHNvbWUKKyAgICAg
ICAgY2FzZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6Cisg
ICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBTY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoOgorICAgICAgICAq
IFNoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24pOgorICAgICAgICAoV2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKiBTaGFyZWQvRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb24uaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL2lvcy9EZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkRlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAg
IChXZWJLaXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24pOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2Nv
YS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKwogMjAyMC0wMS0wMiAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTWFrZSBvbmRlbWFu
ZCBoYXJkd2FyZSBhY2NlbGVyYXRpb24gcG9saWN5IG5ldmVyIGxlYXZlIEFDIG1vZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXggNzQ4OTY3ZTI1
MWVhOWViM2FkNGI5Yzg2Y2MzOGNhOTA4MGZlOWRhOS4uMTRhYWM3NDg1OTdmN2ZjNmZjMjkyOTc5
Mzc0MTE0M2E2MzQ2OGVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKQEAgLTUxLDYgKzUxLDkgQEAgV0tfQVBQS0lUX0xERkxBR1NfbWFjY2F0YWx5
c3QgPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0g
JChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19B
U1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBBc3NlcnRp
b25TZXJ2aWNlczsKIAorV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MgPSAkKFdLX1JV
Tk5JTkdCT0FSRF9TRVJWSUNFU19MREZMQUdTXyQoV0tfQ09DT0FfVE9VQ0gpKTsKK1dLX1JVTk5J
TkdCT0FSRF9TRVJWSUNFU19MREZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3b3JrIFJ1bm5pbmdC
b2FyZFNlcnZpY2VzOworCiBXS19DQVJCT05fTERGTEFHUyA9ICQoV0tfQ0FSQk9OX0xERkxBR1Nf
JChXS19QTEFURk9STV9OQU1FKSk7CiBXS19DQVJCT05fTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3
b3JrIENhcmJvbjsKIApAQCAtMTI3LDcgKzEzMCw3IEBAIFdLX0FVVEhLSVRfTERGTEFHU19JT1Nf
U0lOQ0VfMTMgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiBXS19BVVRIS0lUX0xERkxBR1NfbWFjb3N4
ID0gJChXS19BVVRIS0lUX0xERkxBR1MkKFdLX01BQ09TXzEwMTUpKTsKIFdLX0FVVEhLSVRfTERG
TEFHU19NQUNPU19TSU5DRV8xMDE1ID0gLWZyYW1ld29yayBBdXRoS2l0OwogCi1GUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3
b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdy
YXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdv
cmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdv
cmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChX
S19BUFBLSVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19B
VVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFH
UykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxB
R1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNf
TERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1Mp
ICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9M
REZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NB
RkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChX
S19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5T
UEVDVE9SVUlfTERGTEFHUyk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2Jq
YyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENv
cmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQg
LWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0
IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAk
KFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19BU1NF
UlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19SVU5OSU5HQk9BUkRfU0VSVklDRVNfTERGTEFH
UykgJChXS19BVVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9Q
REZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1Nf
U0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRD
X0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVf
R0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdT
KSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERG
TEFHUykgJChXS19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQo
V0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHUyk7CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxp
YnJhcnkgYmFzaWNfc3RyaW5nc3RyZWFtLCBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIg
cmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJv
bHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDll
eGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVP
UzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUx
MlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVh
U0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5j
dGlvbl9jYWxsRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2lj
X3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9O
U18xM2Jhc2ljX2lzdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRD
TlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv
Y2F0b3JJY0VFRUUwX05TXzE0YmFzaWNfaW9zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJh
aXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUxNl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFp
dHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pU
Vk5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxs
b2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFz
aWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4
X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBi
NzcyNjEyMjgwZDVmZTkzMTdhNmRkOTlhODNmNTQ2NmM4ZjA1ZTkKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEku
aApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxSdW5uaW5nQm9hcmRTZXJ2aWNlcy9SdW5uaW5n
Qm9hcmRTZXJ2aWNlcy5oPgorCisjZWxzZQorCisjZGVmaW5lIFJCU19BU1lOQyBvbmV3YXkgdm9p
ZAorCitAaW50ZXJmYWNlIFJCU0F0dHJpYnV0ZSA6IE5TT2JqZWN0IDxOU0NvcHlpbmc+CitAZW5k
CisKK0BpbnRlcmZhY2UgUkJTRG9tYWluQXR0cmlidXRlIDogUkJTQXR0cmlidXRlCisrIChpbnN0
YW5jZXR5cGUpYXR0cmlidXRlV2l0aERvbWFpbjooTlNTdHJpbmcgKilkb21haW4gbmFtZTooTlNT
dHJpbmcgKiluYW1lOworQGVuZAorCitAaW50ZXJmYWNlIFJCU1RhcmdldCA6IE5TT2JqZWN0IDxS
QlNQcm9jZXNzTWF0Y2hpbmcsIE5TQ29weWluZz4KKysgKFJCU1RhcmdldCAqKXRhcmdldFdpdGhQ
aWQ6KHBpZF90KXBpZDsKK0BlbmQKKworQGludGVyZmFjZSBSQlNBc3NlcnRpb24gOiBOU09iamVj
dAorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRXhwbGFuYXRpb246KE5TU3RyaW5nICopZXhwbGFu
YXRpb24gdGFyZ2V0OihSQlNUYXJnZXQgKil0YXJnZXQgYXR0cmlidXRlczooTlNBcnJheSA8UkJT
QXR0cmlidXRlICo+ICopYXR0cmlidXRlczsKKy0gKEJPT0wpYWNxdWlyZVdpdGhFcnJvcjoob3V0
IE5TRXJyb3IgKiBfTnVsbGFibGUgKiBfTnVsbGFibGUpZXJyb3I7CistIChSQlNfQVNZTkMpaW52
YWxpZGF0ZTsKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vz
cy1lbnRpdGxlbWVudHMuc2gKaW5kZXggZDFmMDI5NmIzZGRiMmJhNDM5MTNhMmQ2NTMxYmE4NDli
MWRhMWU5NC4uNWZmNGExZWY0NjQ4NDBhOGQyNjE5YWRiNGRlODZhNTdjY2FhYzc1ZCAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaApAQCAtMTEwLDYg
KzExMCw3IEBAIGZ1bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc193ZWJjb250ZW50X2VudGl0bGVt
ZW50cygpCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm5ldHdvcmsuc29j
a2V0LWRlbGVnYXRlIGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2
YXRlLndlYmluc3BlY3Rvci5hbGxvdy1yZW1vdGUtaW5zcGVjdGlvbiBib29sIFlFUwogICAgIHBs
aXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS53ZWJpbnNwZWN0b3IucHJveHktYXBwbGlj
YXRpb24gYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnJ1bm5pbmdib2Fy
ZC5hc3NlcnRpb25zLndlYmtpdCBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpkeW5hbWlj
LWNvZGVzaWduaW5nIGJvb2wgWUVTCiAKICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnRj
Yy5kZWxlZ2F0ZWQtc2VydmljZXMgYXJyYXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWQ1MjUxY2M4YjZj
ZGQ5NjdiZTg1NzY1MDI3ZjA5Y2I0MTUwOWZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwCkBAIC0wLDAgKzEsNDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGVwZW5kZW5j
eVByb2Nlc3NBc3NlcnRpb24uaCIKKworI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246OkRlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uKFByb2Nlc3NJRCwgQVNDSUlMaXRlcmFsIGRlc2NyaXB0aW9uKQorewor
ICAgIFVOVVNFRF9QQVJBTShkZXNjcmlwdGlvbik7Cit9CisKK0RlcGVuZGVuY3lQcm9jZXNzQXNz
ZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oKQoreworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9E
ZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTAxYWE1MjdjMDA2MjQ5NzgxNjUy
OTE4N2Q1NmU0NWJiMTE3MTg1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaApAQCAtMCwwICsxLDUwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvUHJvY2Vzc0lELmg+CisjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0FTQ0lJTGl0ZXJhbC5oPgor
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKK09CSkNfQ0xBU1MgUkJTQXNzZXJ0aW9uOworI2Vu
ZGlmCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lEIHRhcmdldFBJRCwgQVNDSUlMaXRlcmFsIGRl
c2NyaXB0aW9uKTsKKyAgICB+RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oKTsKKworcHJpdmF0
ZToKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIFJldGFpblB0cjxSQlNBc3NlcnRpb24+
IG1fYXNzZXJ0aW9uOworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlv
bklPUy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbklPUy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjk2YzkzZjkzZjY4NDdiMDM4N2M4MzM5OWFmZDU4NDk3
NDM0YTU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0RlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
LmgiCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorCisjaW1wb3J0ICJSdW5uaW5nQm9hcmRT
ZXJ2aWNlc1NQSS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb246OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKFByb2Nlc3NJRCB0YXJnZXRQSUQs
IEFTQ0lJTGl0ZXJhbCBkZXNjcmlwdGlvbikKK3sKKyAgICBSQlNUYXJnZXQgKnRhcmdldCA9IFtS
QlNUYXJnZXQgdGFyZ2V0V2l0aFBpZDp0YXJnZXRQSURdOworICAgIFJCU0RvbWFpbkF0dHJpYnV0
ZSAqZG9tYWluQXR0cmlidXRlID0gW1JCU0RvbWFpbkF0dHJpYnV0ZSBhdHRyaWJ1dGVXaXRoRG9t
YWluOiBAImNvbS5hcHBsZS53ZWJraXQiIG5hbWU6QCJEZXBlbmRlbnRQcm9jZXNzTGluayJdOwor
ICAgIG1fYXNzZXJ0aW9uID0gYWRvcHROUyhbW1JCU0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhF
eHBsYW5hdGlvbjpTdHJpbmcgeyBkZXNjcmlwdGlvbiB9IHRhcmdldDp0YXJnZXQgYXR0cmlidXRl
czpAW2RvbWFpbkF0dHJpYnV0ZV1dKTsKKyAgICBOU0Vycm9yICphY3F1aXNpdGlvbkVycm9yID0g
bmlsOworICAgIGlmICghW21fYXNzZXJ0aW9uIGFjcXVpcmVXaXRoRXJyb3I6JmFjcXVpc2l0aW9u
RXJyb3JdKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJEZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246IEZhaWxlZCB0byBh
Y3F1aXJlIGRlcGVuZGVuY3kgcHJvY2VzcyBhc3NlcnRpb24gJyV7cHVibGljfXMnLCBlcnJvcjog
JXtwdWJsaWN9QCIsIGRlc2NyaXB0aW9uLmNoYXJhY3RlcnMoKSwgYWNxdWlzaXRpb25FcnJvcik7
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0gZWxzZQorICAgICAgICBSRUxF
QVNFX0xPRyhQcm9jZXNzLCAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246OkRlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uOiBTdWNjZXNzZnVsbHkgdG9vayBhIGRlcGVuZGVuY3kgcHJvY2VzcyBh
c3NlcnRpb24gJyV7cHVibGljfXMnIGZvciB0YXJnZXQgcHJvY2VzcyB3aXRoIFBJRCAlZCIsIGRl
c2NyaXB0aW9uLmNoYXJhY3RlcnMoKSwgdGFyZ2V0UElEKTsKK30KKworRGVwZW5kZW5jeVByb2Nl
c3NBc3NlcnRpb246On5EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbigpCit7CisgICAgW21fYXNz
ZXJ0aW9uIGludmFsaWRhdGVdOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
IC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCBiMmVmZDFhMzE2YjY2ZTQy
MTQ2MzEyNjNmMWEwZWM2NjQxNDhlYjhmLi42MDJmYjc5NWE3MmFkZGM1Nzg1ODc2YmUwOTViM2Vl
Yjg5ZDVlNTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTEzNCw2ICsxMzQsNyBAQCBTaGFyZWQvQmxvYkRh
dGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb24uY3BwIEBuby11bmlmeQogU2hhcmVk
L0NhY2hlTW9kZWwuY3BwCiBTaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0YS5jcHAKIFNoYXJl
ZC9EZWJ1Z2dhYmxlSW5mb0RhdGEuY3BwCitTaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRp
b24uY3BwCiBTaGFyZWQvRWRpdGluZ1JhbmdlLmNwcAogU2hhcmVkL0VkaXRvclN0YXRlLmNwcAog
U2hhcmVkL0ZvbnRJbmZvLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29j
b2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDJlZGU0ZGUzOGQ4
NDA4MDBiZGU3NjEzMWFjZjYwMjZmM2Y1YzhhM2UuLjYwYjM5ZjM3YzU3ODU1NjIxZjI5ZjY2Yjk2
MTdkOWE3YjNkYTcwM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTE3Myw2ICsxNzMsNyBA
QCBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VF
bnRyeVBvaW50Lm1tCiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNl
L1hQQ1NlcnZpY2VNYWluLm1tCiAKIFNoYXJlZC9pb3MvQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbQor
U2hhcmVkL2lvcy9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbQogU2hhcmVkL2lvcy9J
bnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5tbQogU2hhcmVkL2lvcy9JbnRlcmFjdGlv
bkluZm9ybWF0aW9uUmVxdWVzdC5jcHAKIFNoYXJlZC9pb3MvTmF0aXZlV2ViS2V5Ym9hcmRFdmVu
dElPUy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUHJveHlDb2NvYS5tbQppbmRleCBmNjBkNjMwOTU1M2NjOWJlMzY2OTE2MTMxZjJlYjMxNjlm
NDFmYmExLi42MDk5MzZkODc1MWRkNmQyNzY5MjBiOWM0YTE3ODYxMzUwZmRkZGJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2Nv
YS5tbQpAQCAtMTkwLDI0ICsxOTAsNCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cmVsZWFzZUhp
Z2hQZXJmb3JtYW5jZUdQVSgpCiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
Ci12b2lkIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1Jlc3VtZWQoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIENvbXBsZXRpb25IYW5kbGVy
Q2FsbGluZ1Njb3BlIGV4aXRTY29wZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0KLSAg
ICBpZiAobV90aHJvdHRsZXIuc2hvdWxkQmVSdW5uYWJsZSgpKSB7Ci0gICAgICAgIC8vIFRoZSBw
cm9jZXNzIGJlY29taW5nIHVuc3VzcGVuZGVkIHdhcyBub3QgdW5leHBlY3RlZC4KLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIC8vIFRoZSBXZWJQcm9jZXNzIHdhcyBhd2FrZW5lZCBieSBz
b21ldGhpbmcgb3RoZXIgdGhhbiB0aGUgVUlQcm9jZXNzLiBUYWtlIG91dCBhbiBhc3NlcnRpb24g
Zm9yIGEKLSAgICAvLyBsaW1pdGVkIGR1cmF0aW9uIHRvIGFsbG93IHdoYXRldmVyIHRhc2sgbmVl
ZHMgdG8gYmUgYWNjb21wbGlzaGVkIHRpbWUgdG8gY29tcGxldGUuCi0gICAgUkVMRUFTRV9MT0co
UHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1Jlc3Vt
ZWQoKSBQcm9jZXNzIHdhcyB1bmV4cGVjdGVkbHkgcmVzdW1lZCwgc3RhcnRpbmcgYmFja2dyb3Vu
ZCBhY3Rpdml0eSIsIHRoaXMpOwotICAgIGF1dG8gYmFja2dyb3VuZEFjdGl2aXR5VGltZW91dEhh
bmRsZXIgPSBbYWN0aXZpdHkgPSBtX3Rocm90dGxlci5iYWNrZ3JvdW5kQWN0aXZpdHkoIldlYlBy
b2Nlc3Mgd2FzIHVuZXhwZWN0ZWRseSByZXN1bWVkIl9zKSwgd2Vha1RoaXMgPSBtYWtlV2Vha1B0
cih0aGlzKV0gewotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0g
V2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzUmVzdW1lZCgpIC0gbGFtYmRhLCBiYWNrZ3JvdW5k
IGFjdGl2aXR5IHRpbWVkIG91dCIsIHdlYWtUaGlzLmdldCgpKTsKLSAgICB9OwotICAgIG1fdW5l
eHBlY3RlZEFjdGl2aXR5VGltZXIgPSBtYWtlVW5pcXVlPFdlYkNvcmU6OkRlZmVycmFibGVPbmVT
aG90VGltZXI+KFdURk1vdmUoYmFja2dyb3VuZEFjdGl2aXR5VGltZW91dEhhbmRsZXIpLCB1bmV4
cGVjdGVkQWN0aXZpdHlEdXJhdGlvbik7Ci19Ci0jZW5kaWYKLQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCA3ODQ2ZjU0MmM5NGRmM2VkMDliMDllMjVj
OGI2ODgzYzIwOGExMTM1Li45NjVmYjFjZTAxN2IxOWVjNDhlZThmNGRiNDAxNmQ2YjkxOWI0MjNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMzI1LDEw
ICszMjUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklm
TmVlZGVkKCk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgdm9pZCBw
cm9jZXNzV2FzUmVzdW1lZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotI2VuZGlmCi0K
ICAgICB2b2lkIHdlYlBhZ2VNZWRpYVN0YXRlRGlkQ2hhbmdlKFdlYlBhZ2VQcm94eSYpOwogCiAg
ICAgdm9pZCByZWYoKSBmaW5hbCB7IFRocmVhZFNhZmVSZWZDb3VudGVkOjpyZWYoKTsgfQpAQCAt
NTAxLDcgKzQ5Nyw2IEBAIHByaXZhdGU6CiAgICAgQmFja2dyb3VuZFdlYlByb2Nlc3NUb2tlbiBt
X2JhY2tncm91bmRUb2tlbjsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGJvb2wgbV9o
YXNTZW50TWVzc2FnZVRvVW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXIgeyBmYWxzZSB9OwotICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpEZWZlcnJhYmxlT25lU2hvdFRpbWVyPiBtX3VuZXhw
ZWN0ZWRBY3Rpdml0eVRpbWVyOwogI2VuZGlmCiAKICAgICBIYXNoTWFwPFN0cmluZywgdWludDY0
X3Q+IG1fcGFnZVVSTFJldGFpbkNvdW50TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDM5ODFjYmIwNTU1ODU1ZWE1
OWE4NjEwZmI4ODY4YzgxN2IxNmFjNzMuLjZlMWE0YzRmMjg0OGM2N2RhNWRmZjAyOWQ1ZmFjY2Vk
ZWY4YWRmYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkubWVzc2FnZXMuaW4KQEAgLTcyLDEwICs3Miw2IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nl
c3NQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU3RvcERpc3BsYXlMaW5rKHVuc2lnbmVkIG9i
c2VydmVySUQsIHVpbnQzMl90IGRpc3BsYXlJRCkKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICBQcm9jZXNzV2FzUmVzdW1lZCgpIC0+ICgpIEFzeW5jCi0jZW5kaWYKLQog
ICAgICMgUGx1Zy1pbiBtZXNzYWdlcy4KICAgICB2b2lkIEFkZFBsdWdJbkF1dG9TdGFydE9yaWdp
bkhhc2goU3RyaW5nIHBhZ2VPcmlnaW4sIHVpbnQzMl90IGhhc2gpCiAgICAgdm9pZCBQbHVnSW5E
aWRSZWNlaXZlVXNlckludGVyYWN0aW9uKHVpbnQzMl90IGhhc2gpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxYTc4ZGQ4ODc1MjRhNDkx
MWFhZTM2OGYxNDBlOTY0ZTExOTE0MjllLi5hNWM2ZTdkNjVhZjcyMjdlZjczYWZkODI2OGZmNzFk
YjBkOGEyMTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTk1Niw3ICs5NTYsOSBAQAogCQk0NkJFQjZFMzIyRkJCMjFBMDAyNjk4Njcg
LyogVHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkJFQjZFMTIyRkJCMjFBMDAyNjk4NjcgLyogVHJh
bnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlLmggKi87IH07CiAJCTQ2QzM5MjI5MjMxNkVDNEQw
MDhFRUQ5QiAvKiBXZWJQYWdlUHJveHlJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMzOTIyODIzMTZFQzREMDA4RUVEOUIgLyogV2Vi
UGFnZVByb3h5SWRlbnRpZmllci5oICovOyB9OwogCQk0NkRGMDYzQzFGMzkwNUY4MDAxOTgwQkIg
LyogTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRGMDYzQTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29y
a0NPUlNQcmVmbGlnaHRDaGVja2VyLmggKi87IH07CisJCTQ2Rjc3RDgwMjNCRTYzQkUwMDkwQjVB
NyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZGNzdEN0UyM0JFNjNCMTAwOTBCNUE3IC8qIERlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggKi87IH07CiAJCTQ2RjlCMjYzMjM1MjZFRjMwMDZGRTVG
QSAvKiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RjlCMjYyMjM1MjZFRDAwMDZGRTVGQSAvKiBXZWJCYWNr
Rm9yd2FyZENhY2hlRW50cnkuaCAqLzsgfTsKKwkJNDZGREE4RjcyM0JFNTg2OTAwQjE5OEZBIC8q
IFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NkZEQThGNjIzQkU1ODU5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJk
U2VydmljZXNTUEkuaCAqLzsgfTsKIAkJNDlCQ0ExOTIyM0ExNzc2NjAwMjhBODM2IC8qIEFQSVJl
c291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUJDQTE5MTIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCAqLzsgfTsKIAkJNDlCQ0ExOTUyM0ExOENG
RDAwMjhBODM2IC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTkw
MjNBMTc1NDkwMDI4QTgzNiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eUlu
dGVybmFsLmggKi87IH07CiAJCTQ5QkNBMTk3MjNBMTkzMEQwMDI4QTgzNiAvKiBBUElSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDlCQ0ExOTYyM0ExOEY2MjAwMjhBODM2IC8qIEFQSVJlc291cmNl
TG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmggKi87IH07CkBAIC0zNDIyLDcgKzM0MjQsMTEgQEAK
IAkJNDZDMzkyMjgyMzE2RUM0RDAwOEVFRDlCIC8qIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViUGFnZVByb3h5SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NkRGMDYzOTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29ya0NPUlNQcmVm
bGlnaHRDaGVja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5l
dHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ2REYwNjNBMUYzOTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNr
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya0NPUlNQcmVmbGln
aHRDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Rjc3RDdFMjNCRTYz
QjEwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0NkY3N0Q3RjIzQkU2M0IyMDA5MEI1QTcgLyogRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NkY3N0Q4MTIzQkU2M0RDMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb25JT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBE
ZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbTsgcGF0aCA9IGlvcy9EZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZGOUIy
NjIyMzUyNkVEMDAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZGREE4RjYyM0JFNTg1OTAwQjE5OEZBIC8qIFJ1
bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ5QkNBMTkwMjNBMTc1NDkwMDI4QTgzNiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmly
c3RQYXJ0eUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NGaXJzdFBhcnR5SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlC
Q0ExOTEyM0ExNzc2NjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBh
cnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QkNBMTk2MjNBMThGNjIwMDI4QTgz
NiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNTU3MCw2ICs1NTc2LDggQEAKIAkJCQk5OUY2NDJEMjFGQUJFMzc4MDA5
NjIxRTkgLyogQ29vcmRpbmF0ZVN5c3RlbS5oICovLAogCQkJCTk5MDM2QUU4MjNBOTcwODcwMDAw
QjA2QSAvKiBEZWJ1Z2dhYmxlSW5mb0RhdGEuY3BwICovLAogCQkJCTk5MDM2QUU3MjNBOTcwODcw
MDAwQjA2QSAvKiBEZWJ1Z2dhYmxlSW5mb0RhdGEuaCAqLywKKwkJCQk0NkY3N0Q3RjIzQkU2M0Iy
MDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwICovLAorCQkJCTQ2Rjc3
RDdFMjNCRTYzQjEwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oICovLAog
CQkJCTJEN0ZEMTkwMjIzQzczMEYwMDc4ODdGMSAvKiBEb2N1bWVudEVkaXRpbmdDb250ZXh0Lmgg
Ki8sCiAJCQkJMkQ3RkQxOTEyMjNDNzMxMDAwNzg4N0YxIC8qIERvY3VtZW50RWRpdGluZ0NvbnRl
eHQubW0gKi8sCiAJCQkJQzUxNzM4ODAxMkRGOEY0RjAwRUUzRjQ3IC8qIERyYWdDb250cm9sbGVy
QWN0aW9uLmggKi8sCkBAIC02NDU1LDYgKzY0NjMsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKIAkJCQlBN0U5M0NFQjE5MjUzMUFBMDBBMURDNDggLyogQXV4aWxpYXJ5
UHJvY2Vzc0lPUy5tbSAqLywKKwkJCQk0NkY3N0Q4MTIzQkU2M0RDMDA5MEI1QTcgLyogRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW0gKi8sCiAJCQkJMkRBNjczMTkyMEM3NTRCMTAwM0NC
NDAxIC8qIER5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUuaCAqLywKIAkJCQkyREE5NDQ5RDE4ODRF
NEYwMDBFRDg2REIgLyogR2VzdHVyZVR5cGVzLmggKi8sCiAJCQkJQzVCQ0U1REExQzUwNzYxRDAw
Q0RFM0ZBIC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmggKi8sCkBAIC05NjA2
LDYgKzk2MTUsNyBAQAogCQkJCUExM0IzREExMjA3RjM5REUwMDkwQzU4RCAvKiBNb2JpbGVXaUZp
U1BJLmggKi8sCiAJCQkJMzE3OEFGOTcyMEUyQTdGODAwNzRERTk0IC8qIFBERktpdFNQSS5oICov
LAogCQkJCTJEQzE4RkFGMjE4OTEyNjQwMDI1QTg4RCAvKiBQZW5jaWxLaXRTUEkuaCAqLywKKwkJ
CQk0NkZEQThGNjIzQkU1ODU5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCAq
LywKIAkJCQlDRTFBMEJEMDFBNDhFNkM2MDA1NEVGNzQgLyogVENDU1BJLmggKi8sCiAJCQkJQ0Ux
QTBCRDExQTQ4RTZDNjAwNTRFRjc0IC8qIFRleHRJbnB1dFNQSS5oICovLAogCQkJCUNFRTRBRTJB
MUE1RENGNDMwMDAyRjQ5QiAvKiBVSUtpdFNQSS5oICovLApAQCAtOTk3NCw2ICs5OTg0LDcgQEAK
IAkJCQkxQUM3NTM4MDE4M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTkwMzZBRTkyM0E5NzA4NzAwMDBCMDZBIC8qIERlYnVnZ2FibGVJbmZvRGF0
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEQTYxMEY0MzdEMTAwNThDMTVBIC8qIERlY29k
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2Rjc3RDgwMjNCRTYzQkUwMDkwQjVBNyAvKiBEZXBl
bmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdEQ0VEQUIyMTRD
NjAwOTAwMTZCODQ3IC8qIERldmljZUlkZW50aXR5U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
NzI5N0Y5RjFDMTdCQkVBMDE1RjA3MzUgLyogRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTJEMEM1NkZEMjI5RjFERUEwMEJEMzNFNyAvKiBEZXZpY2VNYW5hZ2Vt
ZW50U29mdExpbmsuaCBpbiBIZWFkZXJzICovLApAQCAtMTAyNzAsNiArMTAyODEsNyBAQAogCQkJ
CTdBRkJEMzZBMjFFNTQyRjEwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lz
dGVudFN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMzAwNjZFMTExMEY0RjcwMDMxOTM3
QyAvKiBSZXNwb25zaXZlbmVzc1RpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTA0ODJDRTFE
REQzMjRGMDBGMDA2RDAgLyogUlRDTmV0d29yay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZGREE4
RjcyM0JFNTg2OTAwQjE5OEZBIC8qIFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRTk3RDc0RDIwMEU5MDA0MDBCRjY2NDMgLyogU2FmZUJyb3dzaW5nU1BJLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1Q0E5ODU0QTIxMEJFQjY0MDA1N0VCNkIgLyogU2FmZUJyb3dz
aW5nV2FybmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyRDAyMTcxMkFDNDFDQjAwRTczMkEz
IC8qIFNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBjNGFkMzlmOTBjNzVjMWNkMTM3OWJl
MjRhNjE0MjI2ZTk5ZGE2Y2FlLi5iYjBkZGQ3Y2ZjZmMxZTI4NTQ0YjQzYjQ1NjZkY2RhZTJlM2I5
OWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiQVBJUGFnZUhhbmRsZS5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0
aW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NNZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgIkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgiCiAjaW5jbHVkZSAiRHJhd2luZ0Fy
ZWEuaCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNoZXIuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1
bmRsZS5oIgpAQCAtMjcxLDcgKzI3MiwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVD
b25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKICAgICBtX2V2ZW50RGlzcGF0
Y2hlci0+aW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBtX3ZpZXdVcGRhdGVEaXNwYXRjaGVyLT5pbml0aWFsaXplQ29ubmVjdGlv
bihjb25uZWN0aW9uKTsKKworICAgIEFTU0VSVCghbV91aVByb2Nlc3NEZXBlbmRlbmN5UHJvY2Vz
c0Fzc2VydGlvbik7CisgICAgbV91aVByb2Nlc3NEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbiA9
IG1ha2VVbmlxdWU8RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24+KGNvbm5lY3Rpb24tPnJlbW90
ZVByb2Nlc3NJRCgpLCAiV2ViQ29udGVudCBwcm9jZXNzIGRlcGVuZGVuY3kgb24gVUlQcm9jZXNz
Il9zKTsKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQorCiAgICAgbV93ZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyLT5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsK
IAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpAQCAtMjgyLDEyICsyODcsNiBAQCB2
b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiogY29u
bmVjdGlvbikKICAgICAgICAgc3VwcGxlbWVudC0+aW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29ubmVj
dGlvbik7CiAKICAgICBtX3dlYkNvbm5lY3Rpb24gPSBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6
OmNyZWF0ZSh0aGlzKTsKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgLy8gTWFrZSBz
dXJlIHdlIGhhdmUgYW4gSVBDOjpDb25uZWN0aW9uIGJlZm9yZSBjcmVhdGluZyB0aGUgUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyIHNpbmNlIGl0IG1heSBjYWxsCi0gICAgLy8gV2ViUHJvY2Vzczo6
cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSgpIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQgYW5kIGRl
ZmVyZW5jZSB0aGUgSVBDIGNvbm5lY3Rpb24uCi0gICAgbV90YXNrU3RhdGVPYnNlcnZlciA9IFBy
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Y3JlYXRlKCp0aGlzKTsKLSNlbmRpZgogfQogCiB2b2lk
IFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMmJiBwYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5k
ZXggOGY5YmZlNTcxNWQ0MjI1OWEzYTNiMzE3MDVhYzM0ZjZmMTNiMWQzOC4uNTE0NzIyNDk3YzI0
MWQzMGVlMmNkY2JmNThjZDljZWRmYmY1MDg5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCkBAIC02NSwxMSArNjUsNiBAQAogI2luY2x1ZGUgPHd0Zi9NYWNoU2VuZFJpZ2h0
Lmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0jaW5jbHVkZSAiUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyLmgiCi1PQkpDX0NMQVNTIEJLU1Byb2Nlc3NBc3NlcnRpb247Ci0j
ZW5kaWYKLQogI2lmIFBMQVRGT1JNKFdBWUxBTkQpICYmIFVTRShXUEVfUkVOREVSRVIpCiAjaW5j
bHVkZSA8V2ViQ29yZS9QbGF0Zm9ybURpc3BsYXlMaWJXUEUuaD4KICNlbmRpZgpAQCAtMTA1LDYg
KzEwMCw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCitjbGFzcyBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjsKIGNsYXNzIEV2ZW50
RGlzcGF0Y2hlcjsKIGNsYXNzIEdhbWVwYWREYXRhOwogY2xhc3MgR1BVUHJvY2Vzc0Nvbm5lY3Rp
b247CkBAIC0xNDAsMTEgKzEzNiw3IEBAIHN0cnVjdCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVy
czsKIGNsYXNzIExheWVySG9zdGluZ0NvbnRleHQ7CiAjZW5kaWYKIAotY2xhc3MgV2ViUHJvY2Vz
cwotICAgIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQotICAgICwgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpDbGllbnQKLSNlbmRpZgorY2xhc3Mg
V2ViUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzCiB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC00NzQsMTEgKzQ2Niw4IEBAIHByaXZhdGU6CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgdm9pZCBwcm9jZXNzVGFza1N0YXRl
RGlkQ2hhbmdlKFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6VGFza1N0YXRlKSBmaW5hbDsKICAg
ICBib29sIHNob3VsZEZyZWV6ZU9uU3VzcGVuc2lvbigpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRl
RnJlZXplclN0YXR1cygpOwotCi0gICAgdm9pZCByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3Nl
cnRpb25zKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKQEAgLTU2MywxMCArNTUyLDcg
QEAgcHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViU1FMaXRlRGF0
YWJhc2VUcmFja2VyIG1fd2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOwotICAgIFJlZlB0cjxQcm9j
ZXNzVGFza1N0YXRlT2JzZXJ2ZXI+IG1fdGFza1N0YXRlT2JzZXJ2ZXI7Ci0gICAgTG9jayBtX3By
b2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uc0xvY2s7Ci0gICAgUmV0YWluUHRyPEJLU1Byb2Nlc3NB
c3NlcnRpb24+IG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbjsKLSAgICBSZXRhaW5QdHI8
QktTUHJvY2Vzc0Fzc2VydGlvbj4gbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbjsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24+IG1fdWlQcm9jZXNz
RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb247CiAjZW5kaWYKIAogICAgIGVudW0gUGFnZU1hcmtp
bmdMYXllcnNBc1ZvbGF0aWxlQ291bnRlclR5cGUgeyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggZjA3ZTRlN2U5MDQ2OGMx
OWJhMTYyMjYyOGI0OGNlYWI0NDE3OTczNy4uOTczZjVjNDg2YjEyYjA3Y2JiYmFmZDQzYjFiYzA5
ZGE4OTU5OTc1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tCkBAIC05MSw2ICs5MSw3IEBACiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmgiCiAjaW1wb3J0ICJBc3NlcnRp
b25TZXJ2aWNlc1NQSS5oIgorI2ltcG9ydCAiUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCIKICNp
bXBvcnQgIlVzZXJJbnRlcmZhY2VJZGlvbS5oIgogI2ltcG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2Vi
UGFnZU9iamVjdElPUy5oIgogI2ltcG9ydCA8VUlLaXQvVUlBY2Nlc3NpYmlsaXR5Lmg+CkBAIC0z
MjIsNjEgKzMyMyw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlUHJvY2Vzc05hbWUoKQogI2Vu
ZGlmIC8vIFBMQVRGT1JNKE1BQykKIH0KIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi12b2lk
IFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyOjpUYXNrU3RhdGUgdGFza1N0YXRlKQotewotICAgIC8vIE5PVEU6IFRoaXMgd2lsbCBi
ZSBjYWxsZWQgZnJvbSBhIGJhY2tncm91bmQgdGhyZWFkLgotICAgIFJFTEVBU0VfTE9HKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdl
KCkgLSB0YXNrU3RhdGUoJWQpIiwgdGhpcywgdGFza1N0YXRlKTsKLSAgICBpZiAodGFza1N0YXRl
ICE9IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6UnVubmluZykKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgTG9ja0hvbGRlciBob2xkZXIobV9wcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnNMb2Nr
KTsKLSAgICBpZiAobV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uICYmIG1fcHJvY2Vzc1dh
c1Jlc3VtZWRPd25Bc3NlcnRpb24pCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFdlIHdlcmUg
YXdha2VuZWQgZnJvbSBzdXNwZW5zaW9uIHVuZXhwZWN0ZWRseS4gTm90aWZ5IHRoZSBXZWJQcm9j
ZXNzUHJveHksIGJ1dCB0YWtlIGEgcHJvY2VzcyBhc3NlcnRpb24gb24gb3VyIHBhcmVudCBQSUQK
LSAgICAvLyB0byBlbnN1cmUgdGhhdCBpdCB0b28gaXMgYXdha2VuZWQuCi0gICAgUkVMRUFTRV9M
T0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVD
aGFuZ2VkKCkgVGFraW5nICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24gb24gYmVo
YWxmIG9uIFVJUHJvY2VzcyIsIHRoaXMpOwotICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2Vy
dGlvbiA9IGFkb3B0TlMoW1tCS1NQcm9jZXNzQXNzZXJ0aW9uIGFsbG9jXSBpbml0V2l0aFBJRDpw
YXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5yZW1vdGVQcm9jZXNzSUQoKSBmbGFnczpCS1NQcm9j
ZXNzQXNzZXJ0aW9uUHJldmVudFRhc2tTdXNwZW5kIHJlYXNvbjpCS1NQcm9jZXNzQXNzZXJ0aW9u
UmVhc29uRmluaXNoVGFzayBuYW1lOkAiV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCIgd2l0aEhhbmRs
ZXI6XihCT09MIGFjcXVpcmVkKSB7Ci0gICAgICAgIGlmICghYWNxdWlyZWQpCi0gICAgICAgICAg
ICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6
cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSgpIGZhaWxlZCB0byB0YWtlICdXZWJQcm9jZXNzIHdh
cyByZXN1bWVkJyBhc3NlcnRpb24gZm9yIHBhcmVudCBwcm9jZXNzIiwgdGhpcyk7Ci0gICAgfV0p
OwotICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbi5nZXQoKS5pbnZhbGlkYXRpb25I
YW5kbGVyID0gW3RoaXNdIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3Bl
bnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVDaGFuZ2VkKCkgUmVsZWFz
aW5nICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24gb24gYmVoYWxmIG9uIFVJUHJv
Y2VzcyBkdWUgdG8gaW52YWxpZGF0aW9uIiwgdGhpcyk7Ci0gICAgICAgIHJlbGVhc2VQcm9jZXNz
V2FzUmVzdW1lZEFzc2VydGlvbnMoKTsKLSAgICB9OwotICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRP
d25Bc3NlcnRpb24gPSBhZG9wdE5TKFtbQktTUHJvY2Vzc0Fzc2VydGlvbiBhbGxvY10gaW5pdFdp
dGhQSUQ6Z2V0cGlkKCkgZmxhZ3M6QktTUHJvY2Vzc0Fzc2VydGlvblByZXZlbnRUYXNrU3VzcGVu
ZCByZWFzb246QktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZpbmlzaFRhc2sgbmFtZTpAIldlYlBy
b2Nlc3Mgd2FzIHJlc3VtZWQiIHdpdGhIYW5kbGVyOl4oQk9PTCBhY3F1aXJlZCkgewotICAgICAg
ICBpZiAoIWFjcXVpcmVkKQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1
c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSBm
YWlsZWQgdG8gdGFrZSAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIGZvciBXZWJD
b250ZW50IHByb2Nlc3MiLCB0aGlzKTsKLSAgICB9XSk7Ci0gICAgbV9wcm9jZXNzV2FzUmVzdW1l
ZE93bkFzc2VydGlvbi5nZXQoKS5pbnZhbGlkYXRpb25IYW5kbGVyID0gW3RoaXNdIHsKLSAgICAg
ICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6
OnByb2Nlc3NUYXNrU3RhdGVDaGFuZ2VkKCkgUmVsZWFzaW5nICdXZWJQcm9jZXNzIHdhcyByZXN1
bWVkJyBhc3NlcnRpb24gb24gYmVoYWxmIG9uIFdlYkNvbnRlbnQgcHJvY2VzcyBkdWUgdG8gaW52
YWxpZGF0aW9uIiwgdGhpcyk7Ci0gICAgICAgIHJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2Vy
dGlvbnMoKTsKLSAgICB9OwotCi0gICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFdp
dGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlByb2Nlc3NXYXNSZXN1bWVk
KCksIFt0aGlzXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAg
LSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgUGFyZW50IHByb2Nlc3Mg
aGFuZGxlZCBQcm9jZXNzV2FzUmVzdW1lZCBJUEMsIHJlbGVhc2luZyBvdXIgYXNzZXJ0aW9ucyIs
IHRoaXMpOwotICAgICAgICByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7Ci0g
ICAgfSk7Ci19Ci0KLXZvaWQgV2ViUHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNz
ZXJ0aW9ucygpCi17Ci0gICAgTG9ja0hvbGRlciBob2xkZXIobV9wcm9jZXNzV2FzUmVzdW1lZEFz
c2VydGlvbnNMb2NrKTsKLSAgICBpZiAobV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uKSB7
Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNz
OjpyZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCkgUmVsZWFzaW5nIHBhcmVudCBw
cm9jZXNzICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24iLCB0aGlzKTsKLSAgICAg
ICAgW21fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiBpbnZhbGlkYXRlXTsKLSAgICAgICAg
bV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0gbnVsbHB0cjsKLSAgICB9Ci0gICAgaWYg
KG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24pIHsKLSAgICAgICAgUkVMRUFTRV9MT0co
UHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVz
dW1lZEFzc2VydGlvbnMoKSBSZWxlYXNpbmcgV2ViQ29udGVudCBwcm9jZXNzICdXZWJQcm9jZXNz
IHdhcyByZXN1bWVkJyBhc3NlcnRpb24iLCB0aGlzKTsKLSAgICAgICAgW21fcHJvY2Vzc1dhc1Jl
c3VtZWRPd25Bc3NlcnRpb24gaW52YWxpZGF0ZV07Ci0gICAgICAgIG1fcHJvY2Vzc1dhc1Jlc3Vt
ZWRPd25Bc3NlcnRpb24gPSBudWxscHRyOwotICAgIH0KLX0KLQotI2VuZGlmCi0KICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogc3RhdGljIE5TU3RyaW5nICp3ZWJQcm9jZXNzTG9hZGVyQWNjZXNz
aWJpbGl0eUJ1bmRsZVBhdGgoKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386615</attachid>
            <date>2020-01-02 12:00:42 -0800</date>
            <delta_ts>2020-01-02 12:29:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205687-20200102120042.patch</filename>
            <type>text/plain</type>
            <size>36193</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4M2UxNmMzYjAzYjY2ZjU2
MmE0Nzg5MTAzM2I2YTg1MjQ3Y2VjMjYuLjFlZGVkYzQ3YjQwN2E0OGJiMDkzMzE1ZDRlODc1MTgz
OWQxMDcyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDEtMDIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1Njg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Nzg5MDI0Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBuZXcgUnVubmluZ0JvYXJk
IHByb2Nlc3MgYXNzZXJ0aW9uIHRvIGluZGljYXRlIHRoYXQgV2ViQ29udGVudCBwcm9jZXNzZXMg
ZGVwZW5kIG9uIHRoZWlyCisgICAgICAgIFVJUHJvY2VzcyAoYW5kIHRoZXJlZm9yZSwgdGhlIFVJ
UHJvY2VzcyBtdXN0IGJlIHJ1bm5pbmcgaWYgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcykuIFRo
aXMKKyAgICAgICAgcmVwbGFjZXMgb3VyICJVbmV4cGVjdGVkbHkgcmVzdW1lZCIgYXNzZXJ0aW9u
IHdoaWNoIHdhcyBjYXVzaW5nIHVuZXhwZWN0ZWQgdGVybWluYXRpb25zIGluIHNvbWUKKyAgICAg
ICAgY2FzZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6Cisg
ICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBTY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoOgorICAgICAgICAq
IFNoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24pOgorICAgICAgICAoV2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKiBTaGFyZWQvRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb24uaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL2lvcy9EZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkRlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAg
IChXZWJLaXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24pOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2Nv
YS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKwogMjAyMC0wMS0wMiAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTWFrZSBvbmRlbWFu
ZCBoYXJkd2FyZSBhY2NlbGVyYXRpb24gcG9saWN5IG5ldmVyIGxlYXZlIEFDIG1vZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXggNzQ4OTY3ZTI1
MWVhOWViM2FkNGI5Yzg2Y2MzOGNhOTA4MGZlOWRhOS4uMTRhYWM3NDg1OTdmN2ZjNmZjMjkyOTc5
Mzc0MTE0M2E2MzQ2OGVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKQEAgLTUxLDYgKzUxLDkgQEAgV0tfQVBQS0lUX0xERkxBR1NfbWFjY2F0YWx5
c3QgPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0g
JChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19B
U1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBBc3NlcnRp
b25TZXJ2aWNlczsKIAorV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MgPSAkKFdLX1JV
Tk5JTkdCT0FSRF9TRVJWSUNFU19MREZMQUdTXyQoV0tfQ09DT0FfVE9VQ0gpKTsKK1dLX1JVTk5J
TkdCT0FSRF9TRVJWSUNFU19MREZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3b3JrIFJ1bm5pbmdC
b2FyZFNlcnZpY2VzOworCiBXS19DQVJCT05fTERGTEFHUyA9ICQoV0tfQ0FSQk9OX0xERkxBR1Nf
JChXS19QTEFURk9STV9OQU1FKSk7CiBXS19DQVJCT05fTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3
b3JrIENhcmJvbjsKIApAQCAtMTI3LDcgKzEzMCw3IEBAIFdLX0FVVEhLSVRfTERGTEFHU19JT1Nf
U0lOQ0VfMTMgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiBXS19BVVRIS0lUX0xERkxBR1NfbWFjb3N4
ID0gJChXS19BVVRIS0lUX0xERkxBR1MkKFdLX01BQ09TXzEwMTUpKTsKIFdLX0FVVEhLSVRfTERG
TEFHU19NQUNPU19TSU5DRV8xMDE1ID0gLWZyYW1ld29yayBBdXRoS2l0OwogCi1GUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3
b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdy
YXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdv
cmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdv
cmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChX
S19BUFBLSVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19B
VVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFH
UykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxB
R1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNf
TERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1Mp
ICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9M
REZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NB
RkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChX
S19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5T
UEVDVE9SVUlfTERGTEFHUyk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2Jq
YyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENv
cmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQg
LWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0
IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAk
KFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19BU1NF
UlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19SVU5OSU5HQk9BUkRfU0VSVklDRVNfTERGTEFH
UykgJChXS19BVVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9Q
REZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1Nf
U0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRD
X0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVf
R0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdT
KSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERG
TEFHUykgJChXS19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQo
V0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHUyk7CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxp
YnJhcnkgYmFzaWNfc3RyaW5nc3RyZWFtLCBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIg
cmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJv
bHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDll
eGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVP
UzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUx
MlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVh
U0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5j
dGlvbl9jYWxsRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2lj
X3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9O
U18xM2Jhc2ljX2lzdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRD
TlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv
Y2F0b3JJY0VFRUUwX05TXzE0YmFzaWNfaW9zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJh
aXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUxNl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFp
dHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pU
Vk5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxs
b2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFz
aWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4
X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNk
Yzk2NmRmMTBlYzJkYmJjMDJmYWMyZmQwOTQ4MzQ5MDVmNDY2YWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEku
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxSdW5uaW5nQm9hcmRTZXJ2aWNlcy9SdW5uaW5n
Qm9hcmRTZXJ2aWNlcy5oPgorCisjZWxzZQorCitAaW50ZXJmYWNlIFJCU0F0dHJpYnV0ZSA6IE5T
T2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgUkJTRG9tYWluQXR0cmlidXRlIDogUkJTQXR0cmli
dXRlCisrIChpbnN0YW5jZXR5cGUpYXR0cmlidXRlV2l0aERvbWFpbjooTlNTdHJpbmcgKilkb21h
aW4gbmFtZTooTlNTdHJpbmcgKiluYW1lOworQGVuZAorCitAaW50ZXJmYWNlIFJCU1RhcmdldCA6
IE5TT2JqZWN0CisrIChSQlNUYXJnZXQgKil0YXJnZXRXaXRoUGlkOihwaWRfdClwaWQ7CitAZW5k
CisKK0BpbnRlcmZhY2UgUkJTQXNzZXJ0aW9uIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlp
bml0V2l0aEV4cGxhbmF0aW9uOihOU1N0cmluZyAqKWV4cGxhbmF0aW9uIHRhcmdldDooUkJTVGFy
Z2V0ICopdGFyZ2V0IGF0dHJpYnV0ZXM6KE5TQXJyYXkgPFJCU0F0dHJpYnV0ZSAqPiAqKWF0dHJp
YnV0ZXM7CistIChCT09MKWFjcXVpcmVXaXRoRXJyb3I6KG91dCBOU0Vycm9yICogX051bGxhYmxl
ICogX051bGxhYmxlKWVycm9yOworLSAodm9pZClpbnZhbGlkYXRlOworQGVuZAorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5z
aCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaAppbmRleCBk
MWYwMjk2YjNkZGIyYmE0MzkxM2EyZDY1MzFiYTg0OWIxZGExZTk0Li41ZmY0YTFlZjQ2NDg0MGE4
ZDI2MTlhZGI0ZGU4NmE1N2NjYWFjNzVkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3By
b2Nlc3MtZW50aXRsZW1lbnRzLnNoCkBAIC0xMTAsNiArMTEwLDcgQEAgZnVuY3Rpb24gaW9zX2Zh
bWlseV9wcm9jZXNzX3dlYmNvbnRlbnRfZW50aXRsZW1lbnRzKCkKICAgICBwbGlzdGJ1ZGR5IEFk
ZCA6Y29tLmFwcGxlLnByaXZhdGUubmV0d29yay5zb2NrZXQtZGVsZWdhdGUgYm9vbCBZRVMKICAg
ICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUud2ViaW5zcGVjdG9yLmFsbG93LXJl
bW90ZS1pbnNwZWN0aW9uIGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5w
cml2YXRlLndlYmluc3BlY3Rvci5wcm94eS1hcHBsaWNhdGlvbiBib29sIFlFUworICAgIHBsaXN0
YnVkZHkgQWRkIDpjb20uYXBwbGUucnVubmluZ2JvYXJkLmFzc2VydGlvbnMud2Via2l0IGJvb2wg
WUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmR5bmFtaWMtY29kZXNpZ25pbmcgYm9vbCBZRVMKIAog
ICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUudGNjLmRlbGVnYXRlZC1zZXJ2aWNlcyBhcnJh
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRp
b24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU1ZDUyNTFjYzhiNmNkZDk2N2JlODU3NjUwMjdmMDljYjQxNTA5
ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbi5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIgorCisj
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lE
LCBBU0NJSUxpdGVyYWwgZGVzY3JpcHRpb24pCit7CisgICAgVU5VU0VEX1BBUkFNKGRlc2NyaXB0
aW9uKTsKK30KKworRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246On5EZXBlbmRlbmN5UHJvY2Vz
c0Fzc2VydGlvbigpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFhMDFhYTUyN2MwMDYyNDk3ODE2NTI5MTg3ZDU2ZTQ1YmIxMTcxODUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbi5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgPHd0Zi9Qcm9jZXNzSUQuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5j
bHVkZSA8d3RmL3RleHQvQVNDSUlMaXRlcmFsLmg+CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQorT0JKQ19DTEFTUyBSQlNBc3NlcnRpb247CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbihQcm9j
ZXNzSUQgdGFyZ2V0UElELCBBU0NJSUxpdGVyYWwgZGVzY3JpcHRpb24pOworICAgIH5EZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbigpOworCitwcml2YXRlOgorI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisgICAgUmV0YWluUHRyPFJCU0Fzc2VydGlvbj4gbV9hc3NlcnRpb247CisjZW5kaWYKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQy
OTZjOTNmOTNmNjg0N2IwMzg3YzgzMzk5YWZkNTg0OTc0MzRhNTkKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1Mu
bW0KQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2lt
cG9ydCAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCIKKworI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCisKKyNpbXBvcnQgIlJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmgiCisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nl
c3NBc3NlcnRpb24oUHJvY2Vzc0lEIHRhcmdldFBJRCwgQVNDSUlMaXRlcmFsIGRlc2NyaXB0aW9u
KQoreworICAgIFJCU1RhcmdldCAqdGFyZ2V0ID0gW1JCU1RhcmdldCB0YXJnZXRXaXRoUGlkOnRh
cmdldFBJRF07CisgICAgUkJTRG9tYWluQXR0cmlidXRlICpkb21haW5BdHRyaWJ1dGUgPSBbUkJT
RG9tYWluQXR0cmlidXRlIGF0dHJpYnV0ZVdpdGhEb21haW46IEAiY29tLmFwcGxlLndlYmtpdCIg
bmFtZTpAIkRlcGVuZGVudFByb2Nlc3NMaW5rIl07CisgICAgbV9hc3NlcnRpb24gPSBhZG9wdE5T
KFtbUkJTQXNzZXJ0aW9uIGFsbG9jXSBpbml0V2l0aEV4cGxhbmF0aW9uOlN0cmluZyB7IGRlc2Ny
aXB0aW9uIH0gdGFyZ2V0OnRhcmdldCBhdHRyaWJ1dGVzOkBbZG9tYWluQXR0cmlidXRlXV0pOwor
ICAgIE5TRXJyb3IgKmFjcXVpc2l0aW9uRXJyb3IgPSBuaWw7CisgICAgaWYgKCFbbV9hc3NlcnRp
b24gYWNxdWlyZVdpdGhFcnJvcjomYWNxdWlzaXRpb25FcnJvcl0pIHsKKyAgICAgICAgUkVMRUFT
RV9MT0dfRVJST1IoUHJvY2VzcywgIkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbjogRmFpbGVkIHRvIGFjcXVpcmUgZGVwZW5kZW5jeSBwcm9jZXNz
IGFzc2VydGlvbiAnJXtwdWJsaWN9cycsIGVycm9yOiAle3B1YmxpY31AIiwgZGVzY3JpcHRpb24u
Y2hhcmFjdGVycygpLCBhY3F1aXNpdGlvbkVycm9yKTsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgfSBlbHNlCisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246IFN1Y2Nlc3Nm
dWxseSB0b29rIGEgZGVwZW5kZW5jeSBwcm9jZXNzIGFzc2VydGlvbiAnJXtwdWJsaWN9cycgZm9y
IHRhcmdldCBwcm9jZXNzIHdpdGggUElEICVkIiwgZGVzY3JpcHRpb24uY2hhcmFjdGVycygpLCB0
YXJnZXRQSUQpOworfQorCitEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uKCkKK3sKKyAgICBbbV9hc3NlcnRpb24gaW52YWxpZGF0ZV07Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0CmluZGV4IGIyZWZkMWEzMTZiNjZlNDIxNDYzMTI2M2YxYTBlYzY2NDE0OGViOGYu
LjYwMmZiNzk1YTcyYWRkYzU3ODU4NzZiZTA5NWIzZWViODlkNWU1MzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApA
QCAtMTM0LDYgKzEzNCw3IEBAIFNoYXJlZC9CbG9iRGF0YUZpbGVSZWZlcmVuY2VXaXRoU2FuZGJv
eEV4dGVuc2lvbi5jcHAgQG5vLXVuaWZ5CiBTaGFyZWQvQ2FjaGVNb2RlbC5jcHAKIFNoYXJlZC9D
b250ZXh0TWVudUNvbnRleHREYXRhLmNwcAogU2hhcmVkL0RlYnVnZ2FibGVJbmZvRGF0YS5jcHAK
K1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAKIFNoYXJlZC9FZGl0aW5nUmFu
Z2UuY3BwCiBTaGFyZWQvRWRpdG9yU3RhdGUuY3BwCiBTaGFyZWQvRm9udEluZm8uY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKaW5kZXggMmVkZTRkZTM4ZDg0MDgwMGJkZTc2MTMxYWNmNjAyNmYzZjVj
OGEzZS4uNjBiMzlmMzdjNTc4NTU2MjFmMjlmNjZiOTYxN2Q5YTdiM2RhNzAzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291
cmNlc0NvY29hLnR4dApAQCAtMTczLDYgKzE3Myw3IEBAIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9pbnQubW0KIFNoYXJlZC9FbnRy
eVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KIAogU2hh
cmVkL2lvcy9BdXhpbGlhcnlQcm9jZXNzSU9TLm1tCitTaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9j
ZXNzQXNzZXJ0aW9uSU9TLm1tCiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBv
c2l0aW9uLm1tCiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0LmNwcAog
U2hhcmVkL2lvcy9OYXRpdmVXZWJLZXlib2FyZEV2ZW50SU9TLm1tCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGY2
MGQ2MzA5NTUzY2M5YmUzNjY5MTYxMzFmMmViMzE2OWY0MWZiYTEuLjYwOTkzNmQ4NzUxZGQ2ZDI3
NjkyMGI5YzRhMTc4NjEzNTBmZGRkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0xOTAsMjQgKzE5MCw0IEBA
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpyZWxlYXNlSGlnaFBlcmZvcm1hbmNlR1BVKCkKIH0KICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpw
cm9jZXNzV2FzUmVzdW1lZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCi17Ci0gICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5nU2NvcGUgZXhpdFNjb3BlKFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLQotICAgIGlmIChtX3Rocm90dGxlci5zaG91bGRC
ZVJ1bm5hYmxlKCkpIHsKLSAgICAgICAgLy8gVGhlIHByb2Nlc3MgYmVjb21pbmcgdW5zdXNwZW5k
ZWQgd2FzIG5vdCB1bmV4cGVjdGVkLgotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8g
VGhlIFdlYlByb2Nlc3Mgd2FzIGF3YWtlbmVkIGJ5IHNvbWV0aGluZyBvdGhlciB0aGFuIHRoZSBV
SVByb2Nlc3MuIFRha2Ugb3V0IGFuIGFzc2VydGlvbiBmb3IgYQotICAgIC8vIGxpbWl0ZWQgZHVy
YXRpb24gdG8gYWxsb3cgd2hhdGV2ZXIgdGFzayBuZWVkcyB0byBiZSBhY2NvbXBsaXNoZWQgdGlt
ZSB0byBjb21wbGV0ZS4KLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0g
V2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzUmVzdW1lZCgpIFByb2Nlc3Mgd2FzIHVuZXhwZWN0
ZWRseSByZXN1bWVkLCBzdGFydGluZyBiYWNrZ3JvdW5kIGFjdGl2aXR5IiwgdGhpcyk7Ci0gICAg
YXV0byBiYWNrZ3JvdW5kQWN0aXZpdHlUaW1lb3V0SGFuZGxlciA9IFthY3Rpdml0eSA9IG1fdGhy
b3R0bGVyLmJhY2tncm91bmRBY3Rpdml0eSgiV2ViUHJvY2VzcyB3YXMgdW5leHBlY3RlZGx5IHJl
c3VtZWQiX3MpLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSB7Ci0gICAgICAgIFJFTEVB
U0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NX
YXNSZXN1bWVkKCkgLSBsYW1iZGEsIGJhY2tncm91bmQgYWN0aXZpdHkgdGltZWQgb3V0Iiwgd2Vh
a1RoaXMuZ2V0KCkpOwotICAgIH07Ci0gICAgbV91bmV4cGVjdGVkQWN0aXZpdHlUaW1lciA9IG1h
a2VVbmlxdWU8V2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcj4oV1RGTW92ZShiYWNrZ3Jv
dW5kQWN0aXZpdHlUaW1lb3V0SGFuZGxlciksIHVuZXhwZWN0ZWRBY3Rpdml0eUR1cmF0aW9uKTsK
LX0KLSNlbmRpZgotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5o
CmluZGV4IDc4NDZmNTQyYzk0ZGYzZWQwOWIwOWUyNWM4YjY4ODNjMjA4YTExMzUuLjk2NWZiMWNl
MDE3YjE5ZWM0OGVlOGY0ZGI0MDE2ZDZiOTE5YjQyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC0zMjUsMTAgKzMyNSw2IEBAIHB1YmxpYzoKICAgICB2
b2lkIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgogCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB2b2lkIHByb2Nlc3NXYXNSZXN1bWVkKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7Ci0jZW5kaWYKLQogICAgIHZvaWQgd2ViUGFnZU1lZGlhU3Rh
dGVEaWRDaGFuZ2UoV2ViUGFnZVByb3h5Jik7CiAKICAgICB2b2lkIHJlZigpIGZpbmFsIHsgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ6OnJlZigpOyB9CkBAIC01MDEsNyArNDk3LDYgQEAgcHJpdmF0ZToK
ICAgICBCYWNrZ3JvdW5kV2ViUHJvY2Vzc1Rva2VuIG1fYmFja2dyb3VuZFRva2VuOwogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgYm9vbCBtX2hhc1NlbnRNZXNzYWdlVG9VbmJsb2NrQWNj
ZXNzaWJpbGl0eVNlcnZlciB7IGZhbHNlIH07Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OkRlZmVycmFibGVPbmVTaG90VGltZXI+IG1fdW5leHBlY3RlZEFjdGl2aXR5VGltZXI7CiAjZW5k
aWYKIAogICAgIEhhc2hNYXA8U3RyaW5nLCB1aW50NjRfdD4gbV9wYWdlVVJMUmV0YWluQ291bnRN
YXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggMzk4MWNiYjA1NTU4NTVlYTU5YTg2MTBmYjg4NjhjODE3YjE2YWM3My4u
NmUxYTRjNGYyODQ4YzY3ZGE1ZGZmMDI5ZDVmYWNjZWRlZjhhZGZhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzIs
MTAgKzcyLDYgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBTdG9wRGlzcGxheUxpbmsodW5zaWduZWQgb2JzZXJ2ZXJJRCwgdWludDMyX3QgZGlzcGxh
eUlEKQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFByb2Nlc3NXYXNS
ZXN1bWVkKCkgLT4gKCkgQXN5bmMKLSNlbmRpZgotCiAgICAgIyBQbHVnLWluIG1lc3NhZ2VzLgog
ICAgIHZvaWQgQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChTdHJpbmcgcGFnZU9yaWdpbiwg
dWludDMyX3QgaGFzaCkKICAgICB2b2lkIFBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24o
dWludDMyX3QgaGFzaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDFhNzhkZDg4NzUyNGE0OTExYWFlMzY4ZjE0MGU5NjRlMTE5MTQyOWUu
LmE1YzZlN2Q2NWFmNzIyN2VmNzNhZmQ4MjY4ZmY3MWRiMGQ4YTIxNTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTU2LDcgKzk1Niw5
IEBACiAJCTQ2QkVCNkUzMjJGQkIyMUEwMDI2OTg2NyAvKiBUcmFuc2llbnRMb2NhbFN0b3JhZ2VO
YW1lc3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2QkVCNkUxMjJGQkIyMUEwMDI2OTg2NyAvKiBUcmFuc2llbnRMb2NhbFN0b3JhZ2VOYW1lc3Bh
Y2UuaCAqLzsgfTsKIAkJNDZDMzkyMjkyMzE2RUM0RDAwOEVFRDlCIC8qIFdlYlBhZ2VQcm94eUlk
ZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2QzM5MjI4MjMxNkVDNEQwMDhFRUQ5QiAvKiBXZWJQYWdlUHJveHlJZGVudGlmaWVyLmggKi87
IH07CiAJCTQ2REYwNjNDMUYzOTA1RjgwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENo
ZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2
REYwNjNBMUYzOTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCAq
LzsgfTsKKwkJNDZGNzdEODAyM0JFNjNCRTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNz
ZXJ0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NkY3N0Q3RTIzQkU2M0IxMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCAq
LzsgfTsKIAkJNDZGOUIyNjMyMzUyNkVGMzAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVF
bnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZG
OUIyNjIyMzUyNkVEMDAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oICovOyB9
OworCQk0NkZEQThGNzIzQkU1ODY5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RkRBOEY2
MjNCRTU4NTkwMEIxOThGQSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oICovOyB9OwogCQk0
OUJDQTE5MjIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0
UGFydHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
QkNBMTkxMjNBMTc3NjYwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQ
YXJ0eS5oICovOyB9OwogCQk0OUJDQTE5NTIzQTE4Q0ZEMDAyOEE4MzYgLyogX1dLUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlCQ0ExOTAyM0ExNzU0OTAwMjhBODM2IC8qIF9XS1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwuaCAqLzsgfTsKIAkJNDlCQ0Ex
OTcyM0ExOTMwRDAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUJDQTE5
NjIzQTE4RjYyMDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHku
aCAqLzsgfTsKQEAgLTM0MjIsNyArMzQyNCwxMSBAQAogCQk0NkMzOTIyODIzMTZFQzREMDA4RUVE
OUIgLyogV2ViUGFnZVByb3h5SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQYWdlUHJv
eHlJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REYwNjM5MUYz
OTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2Vy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZERjA2M0ExRjM5MDVFNTAwMTk4
MEJCIC8qIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDZGNzdEN0UyM0JFNjNCMTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2
Rjc3RDdGMjNCRTYzQjIwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Rjc3RDgxMjNCRTYz
REMwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
SU9TLm1tOyBwYXRoID0gaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkY5QjI2MjIzNTI2RUQwMDA2RkU1RkEgLyogV2Vi
QmFja0ZvcndhcmRDYWNoZUVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0NkZEQThGNjIzQkU1ODU5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUnVubmluZ0JvYXJkU2VydmljZXNTUEku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlCQ0ExOTAyM0ExNzU0OTAwMjhBODM2
IC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUJDQTE5MTIzQTE3NzY2MDAyOEE4MzYgLyog
QVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJ
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDlCQ0ExOTYyM0ExOEY2MjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRp
c3RpY3NUaGlyZFBhcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NUaGlyZFBhcnR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NTcwLDYgKzU1
NzYsOCBAQAogCQkJCTk5RjY0MkQyMUZBQkUzNzgwMDk2MjFFOSAvKiBDb29yZGluYXRlU3lzdGVt
LmggKi8sCiAJCQkJOTkwMzZBRTgyM0E5NzA4NzAwMDBCMDZBIC8qIERlYnVnZ2FibGVJbmZvRGF0
YS5jcHAgKi8sCiAJCQkJOTkwMzZBRTcyM0E5NzA4NzAwMDBCMDZBIC8qIERlYnVnZ2FibGVJbmZv
RGF0YS5oICovLAorCQkJCTQ2Rjc3RDdGMjNCRTYzQjIwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbi5jcHAgKi8sCisJCQkJNDZGNzdEN0UyM0JFNjNCMTAwOTBCNUE3IC8qIERl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggKi8sCiAJCQkJMkQ3RkQxOTAyMjNDNzMwRjAwNzg4
N0YxIC8qIERvY3VtZW50RWRpdGluZ0NvbnRleHQuaCAqLywKIAkJCQkyRDdGRDE5MTIyM0M3MzEw
MDA3ODg3RjEgLyogRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbSAqLywKIAkJCQlDNTE3Mzg4MDEy
REY4RjRGMDBFRTNGNDcgLyogRHJhZ0NvbnRyb2xsZXJBY3Rpb24uaCAqLywKQEAgLTY0NTUsNiAr
NjQ2Myw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCUE3RTkz
Q0VCMTkyNTMxQUEwMEExREM0OCAvKiBBdXhpbGlhcnlQcm9jZXNzSU9TLm1tICovLAorCQkJCTQ2
Rjc3RDgxMjNCRTYzREMwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5t
bSAqLywKIAkJCQkyREE2NzMxOTIwQzc1NEIxMDAzQ0I0MDEgLyogRHluYW1pY1ZpZXdwb3J0U2l6
ZVVwZGF0ZS5oICovLAogCQkJCTJEQTk0NDlEMTg4NEU0RjAwMEVEODZEQiAvKiBHZXN0dXJlVHlw
ZXMuaCAqLywKIAkJCQlDNUJDRTVEQTFDNTA3NjFEMDBDREUzRkEgLyogSW50ZXJhY3Rpb25JbmZv
cm1hdGlvbkF0UG9zaXRpb24uaCAqLywKQEAgLTk2MDYsNiArOTYxNSw3IEBACiAJCQkJQTEzQjNE
QTEyMDdGMzlERTAwOTBDNThEIC8qIE1vYmlsZVdpRmlTUEkuaCAqLywKIAkJCQkzMTc4QUY5NzIw
RTJBN0Y4MDA3NERFOTQgLyogUERGS2l0U1BJLmggKi8sCiAJCQkJMkRDMThGQUYyMTg5MTI2NDAw
MjVBODhEIC8qIFBlbmNpbEtpdFNQSS5oICovLAorCQkJCTQ2RkRBOEY2MjNCRTU4NTkwMEIxOThG
QSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oICovLAogCQkJCUNFMUEwQkQwMUE0OEU2QzYw
MDU0RUY3NCAvKiBUQ0NTUEkuaCAqLywKIAkJCQlDRTFBMEJEMTFBNDhFNkM2MDA1NEVGNzQgLyog
VGV4dElucHV0U1BJLmggKi8sCiAJCQkJQ0VFNEFFMkExQTVEQ0Y0MzAwMDJGNDlCIC8qIFVJS2l0
U1BJLmggKi8sCkBAIC05OTc0LDYgKzk5ODQsNyBAQAogCQkJCTFBQzc1MzgwMTgzQkU1MEYwMDcy
Q0IxNSAvKiBEYXRhUmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTAzNkFFOTIzQTk3
MDg3MDAwMEIwNkEgLyogRGVidWdnYWJsZUluZm9EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzAzMkRBNjEwRjQzN0QxMDA1OEMxNUEgLyogRGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDZGNzdEODAyM0JFNjNCRTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRURBQjIxNEM2MDA5MDAxNkI4NDcgLyogRGV2aWNlSWRl
bnRpdHlTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3Mjk3RjlGMUMxN0JCRUEwMTVGMDczNSAv
KiBEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQwQzU2RkQy
MjlGMURFQTAwQkQzM0U3IC8qIERldmljZU1hbmFnZW1lbnRTb2Z0TGluay5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0xMDI3MCw2ICsxMDI4MSw3IEBACiAJCQkJN0FGQkQzNkEyMUU1NDJGMTAwNURCQUNC
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUEzMDA2NkUxMTEwRjRGNzAwMzE5MzdDIC8qIFJlc3BvbnNpdmVuZXNzVGltZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxMDQ4MkNFMURERDMyNEYwMEYwMDZEMCAvKiBSVENOZXR3
b3JrLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NkZEQThGNzIzQkU1ODY5MDBCMTk4RkEgLyogUnVu
bmluZ0JvYXJkU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBFOTdENzREMjAwRTkw
MDQwMEJGNjY0MyAvKiBTYWZlQnJvd3NpbmdTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDQTk4
NTRBMjEwQkVCNjQwMDU3RUI2QiAvKiBTYWZlQnJvd3NpbmdXYXJuaW5nLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzJEMDIxNzEyQUM0MUNCMDBFNzMyQTMgLyogU2FtZURvY3VtZW50TmF2aWdhdGlv
blR5cGUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IGM0YWQzOWY5MGM3NWMxY2QxMzc5YmUyNGE2MTQyMjZlOTlkYTZjYWUuLmJiMGRk
ZDdjZmNmYzFlMjg1NDRiNDNiNDU2NmRjZGFlMmUzYjk5YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJBUElQYWdl
SGFuZGxlLmgiCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAi
QXV4aWxpYXJ5UHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24uaCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYS5oIgogI2luY2x1ZGUgIkV2ZW50RGlz
cGF0Y2hlci5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCkBAIC0yNzEsNyArMjcyLDEx
IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9u
KiBjb25uZWN0aW9uKQogICAgIG1fZXZlbnREaXNwYXRjaGVyLT5pbml0aWFsaXplQ29ubmVjdGlv
bihjb25uZWN0aW9uKTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIG1fdmlld1VwZGF0
ZURpc3BhdGNoZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOworCisgICAgQVNT
RVJUKCFtX3VpUHJvY2Vzc0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKTsKKyAgICBtX3VpUHJv
Y2Vzc0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uID0gbWFrZVVuaXF1ZTxEZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbj4oY29ubmVjdGlvbi0+cmVtb3RlUHJvY2Vzc0lEKCksICJXZWJDb250ZW50
IHByb2Nlc3MgZGVwZW5kZW5jeSBvbiBVSVByb2Nlc3MiX3MpOwogI2VuZGlmIC8vIFBMQVRGT1JN
KElPU19GQU1JTFkpCisKICAgICBtX3dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXItPmlu
aXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOwogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BM
VUdJTl9BUEkpCkBAIC0yODIsMTIgKzI4Nyw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6
ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKQogICAgICAgICBzdXBwbGVt
ZW50LT5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKIAogICAgIG1fd2ViQ29ubmVj
dGlvbiA9IFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6Y3JlYXRlKHRoaXMpOwotCi0jaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKLSAgICAvLyBNYWtlIHN1cmUgd2UgaGF2ZSBhbiBJUEM6OkNvbm5l
Y3Rpb24gYmVmb3JlIGNyZWF0aW5nIHRoZSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIgc2luY2Ug
aXQgbWF5IGNhbGwKLSAgICAvLyBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdl
KCkgb24gYSBiYWNrZ3JvdW5kIHRocmVhZCBhbmQgZGVmZXJlbmNlIHRoZSBJUEMgY29ubmVjdGlv
bi4KLSAgICBtX3Rhc2tTdGF0ZU9ic2VydmVyID0gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpj
cmVhdGUoKnRoaXMpOwotI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdl
YlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA4ZjliZmU1NzE1ZDQyMjU5YTNhM2Iz
MTcwNWFjMzRmNmYxM2IxZDM4Li41MTQ3MjI0OTdjMjQxZDMwZWUyY2RjYmY1OGNkOWNlZGZiZjUw
ODk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTY1LDExICs2NSw2
IEBACiAjaW5jbHVkZSA8d3RmL01hY2hTZW5kUmlnaHQuaD4KICNlbmRpZgogCi0jaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKLSNpbmNsdWRlICJQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCIKLU9C
SkNfQ0xBU1MgQktTUHJvY2Vzc0Fzc2VydGlvbjsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oV0FZ
TEFORCkgJiYgVVNFKFdQRV9SRU5ERVJFUikKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRGlz
cGxheUxpYldQRS5oPgogI2VuZGlmCkBAIC0xMDUsNiArMTAwLDcgQEAgc3RydWN0IFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIERlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uOwogY2xhc3MgRXZlbnREaXNwYXRjaGVyOwogY2xhc3MgR2FtZXBh
ZERhdGE7CiBjbGFzcyBHUFVQcm9jZXNzQ29ubmVjdGlvbjsKQEAgLTE0MCwxMSArMTM2LDcgQEAg
c3RydWN0IFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOwogY2xhc3MgTGF5ZXJIb3N0aW5nQ29u
dGV4dDsKICNlbmRpZgogCi1jbGFzcyBXZWJQcm9jZXNzCi0gICAgOiBwdWJsaWMgQXV4aWxpYXJ5
UHJvY2VzcwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgLCBQcm9jZXNzVGFza1N0YXRl
T2JzZXJ2ZXI6OkNsaWVudAotI2VuZGlmCitjbGFzcyBXZWJQcm9jZXNzIDogcHVibGljIEF1eGls
aWFyeVByb2Nlc3MKIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAg
LTQ3NCwxMSArNDY2LDggQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLSAgICB2b2lkIHByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyOjpUYXNrU3RhdGUpIGZpbmFsOwogICAgIGJvb2wgc2hvdWxkRnJlZXplT25TdXNw
ZW5zaW9uKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVGcmVlemVyU3RhdHVzKCk7Ci0KLSAgICB2
b2lkIHJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKTsKICNlbmRpZgogCiAjaWYg
RU5BQkxFKFZJREVPKQpAQCAtNTYzLDEwICs1NTIsNyBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIgbV93ZWJTUUxpdGVE
YXRhYmFzZVRyYWNrZXI7Ci0gICAgUmVmUHRyPFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcj4gbV90
YXNrU3RhdGVPYnNlcnZlcjsKLSAgICBMb2NrIG1fcHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25z
TG9jazsKLSAgICBSZXRhaW5QdHI8QktTUHJvY2Vzc0Fzc2VydGlvbj4gbV9wcm9jZXNzV2FzUmVz
dW1lZFVJQXNzZXJ0aW9uOwotICAgIFJldGFpblB0cjxCS1NQcm9jZXNzQXNzZXJ0aW9uPiBtX3By
b2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uOworICAgIHN0ZDo6dW5pcXVlX3B0cjxEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlv
bjsKICNlbmRpZgogCiAgICAgZW51bSBQYWdlTWFya2luZ0xheWVyc0FzVm9sYXRpbGVDb3VudGVy
VHlwZSB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQppbmRleCBmMDdlNGU3ZTkwNDY4YzE5YmExNjIyNjI4YjQ4Y2VhYjQ0MTc5NzM3
Li45NzNmNWM0ODZiMTJiMDdjYmJiYWZkNDNiMWJjMDlkYTg5NTk5NzVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTkxLDYg
KzkxLDcgQEAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2ltcG9ydCAiQWNjZXNzaWJpbGl0
eVN1cHBvcnRTUEkuaCIKICNpbXBvcnQgIkFzc2VydGlvblNlcnZpY2VzU1BJLmgiCisjaW1wb3J0
ICJSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiVXNlckludGVyZmFjZUlkaW9t
LmgiCiAjaW1wb3J0ICJXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0SU9TLmgiCiAjaW1wb3J0
IDxVSUtpdC9VSUFjY2Vzc2liaWxpdHkuaD4KQEAgLTMyMiw2MSArMzIzLDYgQEAgdm9pZCBXZWJQ
cm9jZXNzOjp1cGRhdGVQcm9jZXNzTmFtZSgpCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogfQog
Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tT
dGF0ZURpZENoYW5nZShQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSB0YXNrU3Rh
dGUpCi17Ci0gICAgLy8gTk9URTogVGhpcyB3aWxsIGJlIGNhbGxlZCBmcm9tIGEgYmFja2dyb3Vu
ZCB0aHJlYWQuCi0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlBy
b2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSAtIHRhc2tTdGF0ZSglZCkiLCB0aGlz
LCB0YXNrU3RhdGUpOwotICAgIGlmICh0YXNrU3RhdGUgIT0gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyOjpSdW5uaW5nKQotICAgICAgICByZXR1cm47Ci0KLSAgICBMb2NrSG9sZGVyIGhvbGRlciht
X3Byb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uc0xvY2spOwotICAgIGlmIChtX3Byb2Nlc3NXYXNS
ZXN1bWVkVUlBc3NlcnRpb24gJiYgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbikKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgLy8gV2Ugd2VyZSBhd2FrZW5lZCBmcm9tIHN1c3BlbnNpb24g
dW5leHBlY3RlZGx5LiBOb3RpZnkgdGhlIFdlYlByb2Nlc3NQcm94eSwgYnV0IHRha2UgYSBwcm9j
ZXNzIGFzc2VydGlvbiBvbiBvdXIgcGFyZW50IFBJRAotICAgIC8vIHRvIGVuc3VyZSB0aGF0IGl0
IHRvbyBpcyBhd2FrZW5lZC4KLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVw
IC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZUNoYW5nZWQoKSBUYWtpbmcgJ1dlYlByb2Nl
c3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYgb24gVUlQcm9jZXNzIiwgdGhpcyk7
Ci0gICAgbV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nl
c3NBc3NlcnRpb24gYWxsb2NdIGluaXRXaXRoUElEOnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCkt
PnJlbW90ZVByb2Nlc3NJRCgpIGZsYWdzOkJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1
c3BlbmQgcmVhc29uOkJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrIG5hbWU6QCJX
ZWJQcm9jZXNzIHdhcyByZXN1bWVkIiB3aXRoSGFuZGxlcjpeKEJPT0wgYWNxdWlyZWQpIHsKLSAg
ICAgICAgaWYgKCFhY3F1aXJlZCkKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdl
KCkgZmFpbGVkIHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBmb3Ig
cGFyZW50IHByb2Nlc3MiLCB0aGlzKTsKLSAgICB9XSk7Ci0gICAgbV9wcm9jZXNzV2FzUmVzdW1l
ZFVJQXNzZXJ0aW9uLmdldCgpLmludmFsaWRhdGlvbkhhbmRsZXIgPSBbdGhpc10gewotICAgICAg
ICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6
cHJvY2Vzc1Rhc2tTdGF0ZUNoYW5nZWQoKSBSZWxlYXNpbmcgJ1dlYlByb2Nlc3Mgd2FzIHJlc3Vt
ZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYgb24gVUlQcm9jZXNzIGR1ZSB0byBpbnZhbGlkYXRpb24i
LCB0aGlzKTsKLSAgICAgICAgcmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpOwot
ICAgIH07Ci0gICAgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbiA9IGFkb3B0TlMoW1tC
S1NQcm9jZXNzQXNzZXJ0aW9uIGFsbG9jXSBpbml0V2l0aFBJRDpnZXRwaWQoKSBmbGFnczpCS1NQ
cm9jZXNzQXNzZXJ0aW9uUHJldmVudFRhc2tTdXNwZW5kIHJlYXNvbjpCS1NQcm9jZXNzQXNzZXJ0
aW9uUmVhc29uRmluaXNoVGFzayBuYW1lOkAiV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCIgd2l0aEhh
bmRsZXI6XihCT09MIGFjcXVpcmVkKSB7Ci0gICAgICAgIGlmICghYWNxdWlyZWQpCi0gICAgICAg
ICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vz
czo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSgpIGZhaWxlZCB0byB0YWtlICdXZWJQcm9jZXNz
IHdhcyByZXN1bWVkJyBhc3NlcnRpb24gZm9yIFdlYkNvbnRlbnQgcHJvY2VzcyIsIHRoaXMpOwot
ICAgIH1dKTsKLSAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uLmdldCgpLmludmFs
aWRhdGlvbkhhbmRsZXIgPSBbdGhpc10gewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9j
ZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZUNoYW5nZWQo
KSBSZWxlYXNpbmcgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYg
b24gV2ViQ29udGVudCBwcm9jZXNzIGR1ZSB0byBpbnZhbGlkYXRpb24iLCB0aGlzKTsKLSAgICAg
ICAgcmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpOwotICAgIH07Ci0KLSAgICBw
YXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Oldl
YlByb2Nlc3NQcm94eTo6UHJvY2Vzc1dhc1Jlc3VtZWQoKSwgW3RoaXNdIHsKLSAgICAgICAgUkVM
RUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNr
U3RhdGVEaWRDaGFuZ2UoKSBQYXJlbnQgcHJvY2VzcyBoYW5kbGVkIFByb2Nlc3NXYXNSZXN1bWVk
IElQQywgcmVsZWFzaW5nIG91ciBhc3NlcnRpb25zIiwgdGhpcyk7Ci0gICAgICAgIHJlbGVhc2VQ
cm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKTsKLSAgICB9KTsKLX0KLQotdm9pZCBXZWJQcm9j
ZXNzOjpyZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCkKLXsKLSAgICBMb2NrSG9s
ZGVyIGhvbGRlcihtX3Byb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uc0xvY2spOwotICAgIGlmICht
X3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24pIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJv
Y2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVzdW1l
ZEFzc2VydGlvbnMoKSBSZWxlYXNpbmcgcGFyZW50IHByb2Nlc3MgJ1dlYlByb2Nlc3Mgd2FzIHJl
c3VtZWQnIGFzc2VydGlvbiIsIHRoaXMpOwotICAgICAgICBbbV9wcm9jZXNzV2FzUmVzdW1lZFVJ
QXNzZXJ0aW9uIGludmFsaWRhdGVdOwotICAgICAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3Nl
cnRpb24gPSBudWxscHRyOwotICAgIH0KLSAgICBpZiAobV9wcm9jZXNzV2FzUmVzdW1lZE93bkFz
c2VydGlvbikgewotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0g
V2ViUHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpIFJlbGVhc2lu
ZyBXZWJDb250ZW50IHByb2Nlc3MgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiIs
IHRoaXMpOwotICAgICAgICBbbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbiBpbnZhbGlk
YXRlXTsKLSAgICAgICAgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbiA9IG51bGxwdHI7
Ci0gICAgfQotfQotCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBzdGF0aWMg
TlNTdHJpbmcgKndlYlByb2Nlc3NMb2FkZXJBY2Nlc3NpYmlsaXR5QnVuZGxlUGF0aCgpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386618</attachid>
            <date>2020-01-02 12:29:16 -0800</date>
            <delta_ts>2020-01-02 12:32:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205687-20200102122916.patch</filename>
            <type>text/plain</type>
            <size>36610</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4M2UxNmMzYjAzYjY2ZjU2
MmE0Nzg5MTAzM2I2YTg1MjQ3Y2VjMjYuLjFlZGVkYzQ3YjQwN2E0OGJiMDkzMzE1ZDRlODc1MTgz
OWQxMDcyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDEtMDIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1Njg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Nzg5MDI0Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBuZXcgUnVubmluZ0JvYXJk
IHByb2Nlc3MgYXNzZXJ0aW9uIHRvIGluZGljYXRlIHRoYXQgV2ViQ29udGVudCBwcm9jZXNzZXMg
ZGVwZW5kIG9uIHRoZWlyCisgICAgICAgIFVJUHJvY2VzcyAoYW5kIHRoZXJlZm9yZSwgdGhlIFVJ
UHJvY2VzcyBtdXN0IGJlIHJ1bm5pbmcgaWYgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcykuIFRo
aXMKKyAgICAgICAgcmVwbGFjZXMgb3VyICJVbmV4cGVjdGVkbHkgcmVzdW1lZCIgYXNzZXJ0aW9u
IHdoaWNoIHdhcyBjYXVzaW5nIHVuZXhwZWN0ZWQgdGVybWluYXRpb25zIGluIHNvbWUKKyAgICAg
ICAgY2FzZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6Cisg
ICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBTY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoOgorICAgICAgICAq
IFNoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24pOgorICAgICAgICAoV2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKiBTaGFyZWQvRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb24uaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL2lvcy9EZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkRlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAg
IChXZWJLaXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24pOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2Nv
YS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKwogMjAyMC0wMS0wMiAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTWFrZSBvbmRlbWFu
ZCBoYXJkd2FyZSBhY2NlbGVyYXRpb24gcG9saWN5IG5ldmVyIGxlYXZlIEFDIG1vZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXggNzQ4OTY3ZTI1
MWVhOWViM2FkNGI5Yzg2Y2MzOGNhOTA4MGZlOWRhOS4uMTRhYWM3NDg1OTdmN2ZjNmZjMjkyOTc5
Mzc0MTE0M2E2MzQ2OGVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKQEAgLTUxLDYgKzUxLDkgQEAgV0tfQVBQS0lUX0xERkxBR1NfbWFjY2F0YWx5
c3QgPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0g
JChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19B
U1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBBc3NlcnRp
b25TZXJ2aWNlczsKIAorV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MgPSAkKFdLX1JV
Tk5JTkdCT0FSRF9TRVJWSUNFU19MREZMQUdTXyQoV0tfQ09DT0FfVE9VQ0gpKTsKK1dLX1JVTk5J
TkdCT0FSRF9TRVJWSUNFU19MREZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3b3JrIFJ1bm5pbmdC
b2FyZFNlcnZpY2VzOworCiBXS19DQVJCT05fTERGTEFHUyA9ICQoV0tfQ0FSQk9OX0xERkxBR1Nf
JChXS19QTEFURk9STV9OQU1FKSk7CiBXS19DQVJCT05fTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3
b3JrIENhcmJvbjsKIApAQCAtMTI3LDcgKzEzMCw3IEBAIFdLX0FVVEhLSVRfTERGTEFHU19JT1Nf
U0lOQ0VfMTMgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiBXS19BVVRIS0lUX0xERkxBR1NfbWFjb3N4
ID0gJChXS19BVVRIS0lUX0xERkxBR1MkKFdLX01BQ09TXzEwMTUpKTsKIFdLX0FVVEhLSVRfTERG
TEFHU19NQUNPU19TSU5DRV8xMDE1ID0gLWZyYW1ld29yayBBdXRoS2l0OwogCi1GUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3
b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdy
YXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdv
cmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdv
cmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChX
S19BUFBLSVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19B
VVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFH
UykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxB
R1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNf
TERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1Mp
ICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9M
REZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NB
RkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChX
S19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5T
UEVDVE9SVUlfTERGTEFHUyk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2Jq
YyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENv
cmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQg
LWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0
IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAk
KFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19BU1NF
UlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19SVU5OSU5HQk9BUkRfU0VSVklDRVNfTERGTEFH
UykgJChXS19BVVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9Q
REZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1Nf
U0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRD
X0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVf
R0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdT
KSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERG
TEFHUykgJChXS19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQo
V0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHUyk7CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxp
YnJhcnkgYmFzaWNfc3RyaW5nc3RyZWFtLCBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIg
cmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJv
bHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDll
eGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVP
UzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUx
MlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVh
U0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5j
dGlvbl9jYWxsRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2lj
X3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9O
U18xM2Jhc2ljX2lzdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRD
TlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv
Y2F0b3JJY0VFRUUwX05TXzE0YmFzaWNfaW9zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJh
aXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUxNl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFp
dHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pU
Vk5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxs
b2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFz
aWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4
X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNk
Yzk2NmRmMTBlYzJkYmJjMDJmYWMyZmQwOTQ4MzQ5MDVmNDY2YWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEku
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxSdW5uaW5nQm9hcmRTZXJ2aWNlcy9SdW5uaW5n
Qm9hcmRTZXJ2aWNlcy5oPgorCisjZWxzZQorCitAaW50ZXJmYWNlIFJCU0F0dHJpYnV0ZSA6IE5T
T2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgUkJTRG9tYWluQXR0cmlidXRlIDogUkJTQXR0cmli
dXRlCisrIChpbnN0YW5jZXR5cGUpYXR0cmlidXRlV2l0aERvbWFpbjooTlNTdHJpbmcgKilkb21h
aW4gbmFtZTooTlNTdHJpbmcgKiluYW1lOworQGVuZAorCitAaW50ZXJmYWNlIFJCU1RhcmdldCA6
IE5TT2JqZWN0CisrIChSQlNUYXJnZXQgKil0YXJnZXRXaXRoUGlkOihwaWRfdClwaWQ7CitAZW5k
CisKK0BpbnRlcmZhY2UgUkJTQXNzZXJ0aW9uIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlp
bml0V2l0aEV4cGxhbmF0aW9uOihOU1N0cmluZyAqKWV4cGxhbmF0aW9uIHRhcmdldDooUkJTVGFy
Z2V0ICopdGFyZ2V0IGF0dHJpYnV0ZXM6KE5TQXJyYXkgPFJCU0F0dHJpYnV0ZSAqPiAqKWF0dHJp
YnV0ZXM7CistIChCT09MKWFjcXVpcmVXaXRoRXJyb3I6KG91dCBOU0Vycm9yICogX051bGxhYmxl
ICogX051bGxhYmxlKWVycm9yOworLSAodm9pZClpbnZhbGlkYXRlOworQGVuZAorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5z
aCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaAppbmRleCBk
MWYwMjk2YjNkZGIyYmE0MzkxM2EyZDY1MzFiYTg0OWIxZGExZTk0Li41ZmY0YTFlZjQ2NDg0MGE4
ZDI2MTlhZGI0ZGU4NmE1N2NjYWFjNzVkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3By
b2Nlc3MtZW50aXRsZW1lbnRzLnNoCkBAIC0xMTAsNiArMTEwLDcgQEAgZnVuY3Rpb24gaW9zX2Zh
bWlseV9wcm9jZXNzX3dlYmNvbnRlbnRfZW50aXRsZW1lbnRzKCkKICAgICBwbGlzdGJ1ZGR5IEFk
ZCA6Y29tLmFwcGxlLnByaXZhdGUubmV0d29yay5zb2NrZXQtZGVsZWdhdGUgYm9vbCBZRVMKICAg
ICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUud2ViaW5zcGVjdG9yLmFsbG93LXJl
bW90ZS1pbnNwZWN0aW9uIGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5w
cml2YXRlLndlYmluc3BlY3Rvci5wcm94eS1hcHBsaWNhdGlvbiBib29sIFlFUworICAgIHBsaXN0
YnVkZHkgQWRkIDpjb20uYXBwbGUucnVubmluZ2JvYXJkLmFzc2VydGlvbnMud2Via2l0IGJvb2wg
WUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmR5bmFtaWMtY29kZXNpZ25pbmcgYm9vbCBZRVMKIAog
ICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUudGNjLmRlbGVnYXRlZC1zZXJ2aWNlcyBhcnJh
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRp
b24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU1ZDUyNTFjYzhiNmNkZDk2N2JlODU3NjUwMjdmMDljYjQxNTA5
ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbi5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIgorCisj
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lE
LCBBU0NJSUxpdGVyYWwgZGVzY3JpcHRpb24pCit7CisgICAgVU5VU0VEX1BBUkFNKGRlc2NyaXB0
aW9uKTsKK30KKworRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246On5EZXBlbmRlbmN5UHJvY2Vz
c0Fzc2VydGlvbigpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFhMDFhYTUyN2MwMDYyNDk3ODE2NTI5MTg3ZDU2ZTQ1YmIxMTcxODUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbi5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgPHd0Zi9Qcm9jZXNzSUQuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5j
bHVkZSA8d3RmL3RleHQvQVNDSUlMaXRlcmFsLmg+CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQorT0JKQ19DTEFTUyBSQlNBc3NlcnRpb247CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbihQcm9j
ZXNzSUQgdGFyZ2V0UElELCBBU0NJSUxpdGVyYWwgZGVzY3JpcHRpb24pOworICAgIH5EZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbigpOworCitwcml2YXRlOgorI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisgICAgUmV0YWluUHRyPFJCU0Fzc2VydGlvbj4gbV9hc3NlcnRpb247CisjZW5kaWYKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvTmF0aXZlV2ViVG91Y2hFdmVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2Vi
VG91Y2hFdmVudC5oCmluZGV4IDM5MTBhNDhjNzU3YzU3ODc2MDM3MWNiNWI4NzVhNGJjMDY4NjA3
OGIuLjQ2MjU3ZTYyODJkOWVhMmJiYzM0MzViNmM3OTk2YjA3NzMyZDBmZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYlRvdWNoRXZlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2ZW50LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNw
cmFnbWEgb25jZQogCiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKKyNpbmNsdWRlIDxwYWwvc3BpL2lv
cy9VSUtpdFNQSS5oPgogCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1t
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9T
Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQyOTZjOTNmOTNmNjg0N2IwMzg3YzgzMzk5YWZkNTg0OTc0MzRhNTkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb25JT1MubW0KQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorI2ltcG9ydCAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCIKKwor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNpbXBvcnQgIlJ1bm5pbmdCb2FyZFNlcnZpY2Vz
U1BJLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlv
bjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lEIHRhcmdldFBJRCwgQVNDSUlM
aXRlcmFsIGRlc2NyaXB0aW9uKQoreworICAgIFJCU1RhcmdldCAqdGFyZ2V0ID0gW1JCU1Rhcmdl
dCB0YXJnZXRXaXRoUGlkOnRhcmdldFBJRF07CisgICAgUkJTRG9tYWluQXR0cmlidXRlICpkb21h
aW5BdHRyaWJ1dGUgPSBbUkJTRG9tYWluQXR0cmlidXRlIGF0dHJpYnV0ZVdpdGhEb21haW46IEAi
Y29tLmFwcGxlLndlYmtpdCIgbmFtZTpAIkRlcGVuZGVudFByb2Nlc3NMaW5rIl07CisgICAgbV9h
c3NlcnRpb24gPSBhZG9wdE5TKFtbUkJTQXNzZXJ0aW9uIGFsbG9jXSBpbml0V2l0aEV4cGxhbmF0
aW9uOlN0cmluZyB7IGRlc2NyaXB0aW9uIH0gdGFyZ2V0OnRhcmdldCBhdHRyaWJ1dGVzOkBbZG9t
YWluQXR0cmlidXRlXV0pOworICAgIE5TRXJyb3IgKmFjcXVpc2l0aW9uRXJyb3IgPSBuaWw7Cisg
ICAgaWYgKCFbbV9hc3NlcnRpb24gYWNxdWlyZVdpdGhFcnJvcjomYWNxdWlzaXRpb25FcnJvcl0p
IHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkRlcGVuZGVuY3lQcm9jZXNz
QXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjogRmFpbGVkIHRvIGFjcXVpcmUg
ZGVwZW5kZW5jeSBwcm9jZXNzIGFzc2VydGlvbiAnJXtwdWJsaWN9cycsIGVycm9yOiAle3B1Ymxp
Y31AIiwgZGVzY3JpcHRpb24uY2hhcmFjdGVycygpLCBhY3F1aXNpdGlvbkVycm9yKTsKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfSBlbHNlCisgICAgICAgIFJFTEVBU0VfTE9H
KFByb2Nlc3MsICJEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb246IFN1Y2Nlc3NmdWxseSB0b29rIGEgZGVwZW5kZW5jeSBwcm9jZXNzIGFzc2VydGlv
biAnJXtwdWJsaWN9cycgZm9yIHRhcmdldCBwcm9jZXNzIHdpdGggUElEICVkIiwgZGVzY3JpcHRp
b24uY2hhcmFjdGVycygpLCB0YXJnZXRQSUQpOworfQorCitEZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbjo6fkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKCkKK3sKKyAgICBbbV9hc3NlcnRpb24g
aW52YWxpZGF0ZV07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gUExB
VEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IGIyZWZkMWEzMTZiNjZlNDIxNDYzMTI2
M2YxYTBlYzY2NDE0OGViOGYuLjYwMmZiNzk1YTcyYWRkYzU3ODU4NzZiZTA5NWIzZWViODlkNWU1
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dApAQCAtMTM0LDYgKzEzNCw3IEBAIFNoYXJlZC9CbG9iRGF0YUZpbGVS
ZWZlcmVuY2VXaXRoU2FuZGJveEV4dGVuc2lvbi5jcHAgQG5vLXVuaWZ5CiBTaGFyZWQvQ2FjaGVN
b2RlbC5jcHAKIFNoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNwcAogU2hhcmVkL0RlYnVn
Z2FibGVJbmZvRGF0YS5jcHAKK1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAK
IFNoYXJlZC9FZGl0aW5nUmFuZ2UuY3BwCiBTaGFyZWQvRWRpdG9yU3RhdGUuY3BwCiBTaGFyZWQv
Rm9udEluZm8uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggMmVkZTRkZTM4ZDg0MDgwMGJk
ZTc2MTMxYWNmNjAyNmYzZjVjOGEzZS4uNjBiMzlmMzdjNTc4NTU2MjFmMjlmNjZiOTYxN2Q5YTdi
M2RhNzAzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBi
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtMTczLDYgKzE3Myw3IEBAIFNoYXJl
ZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9p
bnQubW0KIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2Vy
dmljZU1haW4ubW0KIAogU2hhcmVkL2lvcy9BdXhpbGlhcnlQcm9jZXNzSU9TLm1tCitTaGFyZWQv
aW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCiBTaGFyZWQvaW9zL0ludGVyYWN0
aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLm1tCiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3Jt
YXRpb25SZXF1ZXN0LmNwcAogU2hhcmVkL2lvcy9OYXRpdmVXZWJLZXlib2FyZEV2ZW50SU9TLm1t
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJv
eHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tCmluZGV4IGY2MGQ2MzA5NTUzY2M5YmUzNjY5MTYxMzFmMmViMzE2OWY0MWZiYTEu
LjYwOTkzNmQ4NzUxZGQ2ZDI3NjkyMGI5YzRhMTc4NjEzNTBmZGRkYmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBA
IC0xOTAsMjQgKzE5MCw0IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpyZWxlYXNlSGlnaFBlcmZv
cm1hbmNlR1BVKCkKIH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQg
V2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzUmVzdW1lZChDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5n
U2NvcGUgZXhpdFNjb3BlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLQotICAgIGlmICht
X3Rocm90dGxlci5zaG91bGRCZVJ1bm5hYmxlKCkpIHsKLSAgICAgICAgLy8gVGhlIHByb2Nlc3Mg
YmVjb21pbmcgdW5zdXNwZW5kZWQgd2FzIG5vdCB1bmV4cGVjdGVkLgotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgLy8gVGhlIFdlYlByb2Nlc3Mgd2FzIGF3YWtlbmVkIGJ5IHNvbWV0aGlu
ZyBvdGhlciB0aGFuIHRoZSBVSVByb2Nlc3MuIFRha2Ugb3V0IGFuIGFzc2VydGlvbiBmb3IgYQot
ICAgIC8vIGxpbWl0ZWQgZHVyYXRpb24gdG8gYWxsb3cgd2hhdGV2ZXIgdGFzayBuZWVkcyB0byBi
ZSBhY2NvbXBsaXNoZWQgdGltZSB0byBjb21wbGV0ZS4KLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNz
U3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzUmVzdW1lZCgpIFBy
b2Nlc3Mgd2FzIHVuZXhwZWN0ZWRseSByZXN1bWVkLCBzdGFydGluZyBiYWNrZ3JvdW5kIGFjdGl2
aXR5IiwgdGhpcyk7Ci0gICAgYXV0byBiYWNrZ3JvdW5kQWN0aXZpdHlUaW1lb3V0SGFuZGxlciA9
IFthY3Rpdml0eSA9IG1fdGhyb3R0bGVyLmJhY2tncm91bmRBY3Rpdml0eSgiV2ViUHJvY2VzcyB3
YXMgdW5leHBlY3RlZGx5IHJlc3VtZWQiX3MpLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMp
XSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9j
ZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1bWVkKCkgLSBsYW1iZGEsIGJhY2tncm91bmQgYWN0aXZp
dHkgdGltZWQgb3V0Iiwgd2Vha1RoaXMuZ2V0KCkpOwotICAgIH07Ci0gICAgbV91bmV4cGVjdGVk
QWN0aXZpdHlUaW1lciA9IG1ha2VVbmlxdWU8V2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cj4oV1RGTW92ZShiYWNrZ3JvdW5kQWN0aXZpdHlUaW1lb3V0SGFuZGxlciksIHVuZXhwZWN0ZWRB
Y3Rpdml0eUR1cmF0aW9uKTsKLX0KLSNlbmRpZgotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDc4NDZmNTQyYzk0ZGYzZWQwOWIwOWUyNWM4YjY4ODNj
MjA4YTExMzUuLjk2NWZiMWNlMDE3YjE5ZWM0OGVlOGY0ZGI0MDE2ZDZiOTE5YjQyM2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC0zMjUsMTAgKzMyNSw2
IEBAIHB1YmxpYzoKICAgICB2b2lkIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQo
KTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB2b2lkIHByb2Nlc3NX
YXNSZXN1bWVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7Ci0jZW5kaWYKLQogICAgIHZv
aWQgd2ViUGFnZU1lZGlhU3RhdGVEaWRDaGFuZ2UoV2ViUGFnZVByb3h5Jik7CiAKICAgICB2b2lk
IHJlZigpIGZpbmFsIHsgVGhyZWFkU2FmZVJlZkNvdW50ZWQ6OnJlZigpOyB9CkBAIC01MDEsNyAr
NDk3LDYgQEAgcHJpdmF0ZToKICAgICBCYWNrZ3JvdW5kV2ViUHJvY2Vzc1Rva2VuIG1fYmFja2dy
b3VuZFRva2VuOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYm9vbCBtX2hhc1NlbnRN
ZXNzYWdlVG9VbmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlciB7IGZhbHNlIH07Ci0gICAgc3RkOjp1
bmlxdWVfcHRyPFdlYkNvcmU6OkRlZmVycmFibGVPbmVTaG90VGltZXI+IG1fdW5leHBlY3RlZEFj
dGl2aXR5VGltZXI7CiAjZW5kaWYKIAogICAgIEhhc2hNYXA8U3RyaW5nLCB1aW50NjRfdD4gbV9w
YWdlVVJMUmV0YWluQ291bnRNYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMzk4MWNiYjA1NTU4NTVlYTU5YTg2MTBm
Yjg4NjhjODE3YjE2YWM3My4uNmUxYTRjNGYyODQ4YzY3ZGE1ZGZmMDI5ZDVmYWNjZWRlZjhhZGZh
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5t
ZXNzYWdlcy5pbgpAQCAtNzIsMTAgKzcyLDYgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5
IExlZ2FjeVJlY2VpdmVyIHsKICAgICBTdG9wRGlzcGxheUxpbmsodW5zaWduZWQgb2JzZXJ2ZXJJ
RCwgdWludDMyX3QgZGlzcGxheUlEKQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQotICAgIFByb2Nlc3NXYXNSZXN1bWVkKCkgLT4gKCkgQXN5bmMKLSNlbmRpZgotCiAgICAgIyBQ
bHVnLWluIG1lc3NhZ2VzLgogICAgIHZvaWQgQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChT
dHJpbmcgcGFnZU9yaWdpbiwgdWludDMyX3QgaGFzaCkKICAgICB2b2lkIFBsdWdJbkRpZFJlY2Vp
dmVVc2VySW50ZXJhY3Rpb24odWludDMyX3QgaGFzaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFhNzhkZDg4NzUyNGE0OTExYWFlMzY4
ZjE0MGU5NjRlMTE5MTQyOWUuLmE1YzZlN2Q2NWFmNzIyN2VmNzNhZmQ4MjY4ZmY3MWRiMGQ4YTIx
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtOTU2LDcgKzk1Niw5IEBACiAJCTQ2QkVCNkUzMjJGQkIyMUEwMDI2OTg2NyAvKiBUcmFu
c2llbnRMb2NhbFN0b3JhZ2VOYW1lc3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QkVCNkUxMjJGQkIyMUEwMDI2OTg2NyAvKiBUcmFuc2llbnRM
b2NhbFN0b3JhZ2VOYW1lc3BhY2UuaCAqLzsgfTsKIAkJNDZDMzkyMjkyMzE2RUM0RDAwOEVFRDlC
IC8qIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzM5MjI4MjMxNkVDNEQwMDhFRUQ5QiAvKiBXZWJQYWdlUHJv
eHlJZGVudGlmaWVyLmggKi87IH07CiAJCTQ2REYwNjNDMUYzOTA1RjgwMDE5ODBCQiAvKiBOZXR3
b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2REYwNjNBMUYzOTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1By
ZWZsaWdodENoZWNrZXIuaCAqLzsgfTsKKwkJNDZGNzdEODAyM0JFNjNCRTAwOTBCNUE3IC8qIERl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NkY3N0Q3RTIzQkU2M0IxMDA5MEI1QTcgLyogRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb24uaCAqLzsgfTsKIAkJNDZGOUIyNjMyMzUyNkVGMzAwNkZFNUZBIC8qIFdl
YkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDZGOUIyNjIyMzUyNkVEMDAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJk
Q2FjaGVFbnRyeS5oICovOyB9OworCQk0NkZEQThGNzIzQkU1ODY5MDBCMTk4RkEgLyogUnVubmlu
Z0JvYXJkU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ2RkRBOEY2MjNCRTU4NTkwMEIxOThGQSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNl
c1NQSS5oICovOyB9OwogCQk0OUJDQTE5MjIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTkxMjNBMTc3NjYwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oICovOyB9OwogCQk0OUJDQTE5NTIzQTE4Q0ZEMDAyOEE4
MzYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlCQ0ExOTAyM0ExNzU0
OTAwMjhBODM2IC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwu
aCAqLzsgfTsKIAkJNDlCQ0ExOTcyM0ExOTMwRDAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0
YXRpc3RpY3NUaGlyZFBhcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0OUJDQTE5NjIzQTE4RjYyMDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1RoaXJkUGFydHkuaCAqLzsgfTsKQEAgLTM0MjIsNyArMzQyNCwxMSBAQAogCQk0NkMz
OTIyODIzMTZFQzREMDA4RUVEOUIgLyogV2ViUGFnZVByb3h5SWRlbnRpZmllci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJQYWdlUHJveHlJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ2REYwNjM5MUYzOTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENo
ZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya0NP
UlNQcmVmbGlnaHRDaGVja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZE
RjA2M0ExRjM5MDVFNTAwMTk4MEJCIC8qIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNr
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZGNzdEN0UyM0JFNjNCMTAwOTBC
NUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ2Rjc3RDdGMjNCRTYzQjIwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
ZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQ2Rjc3RDgxMjNCRTYzREMwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlv
bklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IERlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOyBwYXRoID0gaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNz
ZXJ0aW9uSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkY5QjI2MjIzNTI2
RUQwMDA2RkU1RkEgLyogV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0NkZEQThGNjIzQkU1ODU5MDBCMTk4RkEgLyogUnVubmluZ0Jv
YXJkU2VydmljZXNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUnVubmlu
Z0JvYXJkU2VydmljZXNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlCQ0Ex
OTAyM0ExNzU0OTAwMjhBODM2IC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5
SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0
UGFydHlJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUJDQTE5MTIz
QTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlCQ0ExOTYyM0ExOEY2MjAwMjhBODM2IC8qIEFQ
SVJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSVJl
c291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC01NTcwLDYgKzU1NzYsOCBAQAogCQkJCTk5RjY0MkQyMUZBQkUzNzgwMDk2MjFFOSAv
KiBDb29yZGluYXRlU3lzdGVtLmggKi8sCiAJCQkJOTkwMzZBRTgyM0E5NzA4NzAwMDBCMDZBIC8q
IERlYnVnZ2FibGVJbmZvRGF0YS5jcHAgKi8sCiAJCQkJOTkwMzZBRTcyM0E5NzA4NzAwMDBCMDZB
IC8qIERlYnVnZ2FibGVJbmZvRGF0YS5oICovLAorCQkJCTQ2Rjc3RDdGMjNCRTYzQjIwMDkwQjVB
NyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAgKi8sCisJCQkJNDZGNzdEN0UyM0JF
NjNCMTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggKi8sCiAJCQkJMkQ3
RkQxOTAyMjNDNzMwRjAwNzg4N0YxIC8qIERvY3VtZW50RWRpdGluZ0NvbnRleHQuaCAqLywKIAkJ
CQkyRDdGRDE5MTIyM0M3MzEwMDA3ODg3RjEgLyogRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbSAq
LywKIAkJCQlDNTE3Mzg4MDEyREY4RjRGMDBFRTNGNDcgLyogRHJhZ0NvbnRyb2xsZXJBY3Rpb24u
aCAqLywKQEAgLTY0NTUsNiArNjQ2Myw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAogCQkJCUE3RTkzQ0VCMTkyNTMxQUEwMEExREM0OCAvKiBBdXhpbGlhcnlQcm9jZXNz
SU9TLm1tICovLAorCQkJCTQ2Rjc3RDgxMjNCRTYzREMwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbklPUy5tbSAqLywKIAkJCQkyREE2NzMxOTIwQzc1NEIxMDAzQ0I0MDEgLyog
RHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZS5oICovLAogCQkJCTJEQTk0NDlEMTg4NEU0RjAwMEVE
ODZEQiAvKiBHZXN0dXJlVHlwZXMuaCAqLywKIAkJCQlDNUJDRTVEQTFDNTA3NjFEMDBDREUzRkEg
LyogSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCAqLywKQEAgLTk2MDYsNiArOTYx
NSw3IEBACiAJCQkJQTEzQjNEQTEyMDdGMzlERTAwOTBDNThEIC8qIE1vYmlsZVdpRmlTUEkuaCAq
LywKIAkJCQkzMTc4QUY5NzIwRTJBN0Y4MDA3NERFOTQgLyogUERGS2l0U1BJLmggKi8sCiAJCQkJ
MkRDMThGQUYyMTg5MTI2NDAwMjVBODhEIC8qIFBlbmNpbEtpdFNQSS5oICovLAorCQkJCTQ2RkRB
OEY2MjNCRTU4NTkwMEIxOThGQSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oICovLAogCQkJ
CUNFMUEwQkQwMUE0OEU2QzYwMDU0RUY3NCAvKiBUQ0NTUEkuaCAqLywKIAkJCQlDRTFBMEJEMTFB
NDhFNkM2MDA1NEVGNzQgLyogVGV4dElucHV0U1BJLmggKi8sCiAJCQkJQ0VFNEFFMkExQTVEQ0Y0
MzAwMDJGNDlCIC8qIFVJS2l0U1BJLmggKi8sCkBAIC05OTc0LDYgKzk5ODQsNyBAQAogCQkJCTFB
Qzc1MzgwMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRhUmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5OTAzNkFFOTIzQTk3MDg3MDAwMEIwNkEgLyogRGVidWdnYWJsZUluZm9EYXRhLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzAzMkRBNjEwRjQzN0QxMDA1OEMxNUEgLyogRGVjb2Rlci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNDZGNzdEODAyM0JFNjNCRTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRURBQjIxNEM2MDA5MDAx
NkI4NDcgLyogRGV2aWNlSWRlbnRpdHlTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3Mjk3RjlG
MUMxN0JCRUEwMTVGMDczNSAvKiBEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMkQwQzU2RkQyMjlGMURFQTAwQkQzM0U3IC8qIERldmljZU1hbmFnZW1lbnRTb2Z0
TGluay5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDI3MCw2ICsxMDI4MSw3IEBACiAJCQkJN0FGQkQz
NkEyMUU1NDJGMTAwNURCQUNCIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3Rv
cmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEzMDA2NkUxMTEwRjRGNzAwMzE5MzdDIC8qIFJl
c3BvbnNpdmVuZXNzVGltZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMDQ4MkNFMURERDMyNEYw
MEYwMDZEMCAvKiBSVENOZXR3b3JrLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NkZEQThGNzIzQkU1
ODY5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBFOTdENzREMjAwRTkwMDQwMEJGNjY0MyAvKiBTYWZlQnJvd3NpbmdTUEkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTVDQTk4NTRBMjEwQkVCNjQwMDU3RUI2QiAvKiBTYWZlQnJvd3NpbmdXYXJu
aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzJEMDIxNzEyQUM0MUNCMDBFNzMyQTMgLyogU2Ft
ZURvY3VtZW50TmF2aWdhdGlvblR5cGUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGM0YWQzOWY5MGM3NWMxY2QxMzc5YmUyNGE2MTQy
MjZlOTlkYTZjYWUuLmJiMGRkZDdjZmNmYzFlMjg1NDRiNDNiNDU2NmRjZGFlMmUzYjk5YzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAK
ICNpbmNsdWRlICJBUElQYWdlSGFuZGxlLmgiCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5h
Z2VyLmgiCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAi
RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYS5oIgog
I2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hlci5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgi
CkBAIC0yNzEsNyArMjcyLDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rp
b24oSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKQogICAgIG1fZXZlbnREaXNwYXRjaGVyLT5p
bml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIG1fdmlld1VwZGF0ZURpc3BhdGNoZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5l
Y3Rpb24pOworCisgICAgQVNTRVJUKCFtX3VpUHJvY2Vzc0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0
aW9uKTsKKyAgICBtX3VpUHJvY2Vzc0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uID0gbWFrZVVu
aXF1ZTxEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbj4oY29ubmVjdGlvbi0+cmVtb3RlUHJvY2Vz
c0lEKCksICJXZWJDb250ZW50IHByb2Nlc3MgZGVwZW5kZW5jeSBvbiBVSVByb2Nlc3MiX3MpOwog
I2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCisKICAgICBtX3dlYkluc3BlY3RvckludGVy
cnVwdERpc3BhdGNoZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOwogCiAjaWYg
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCkBAIC0yODIsMTIgKzI4Nyw2IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9u
KQogICAgICAgICBzdXBwbGVtZW50LT5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsK
IAogICAgIG1fd2ViQ29ubmVjdGlvbiA9IFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6Y3JlYXRl
KHRoaXMpOwotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICAvLyBNYWtlIHN1cmUgd2Ug
aGF2ZSBhbiBJUEM6OkNvbm5lY3Rpb24gYmVmb3JlIGNyZWF0aW5nIHRoZSBQcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXIgc2luY2UgaXQgbWF5IGNhbGwKLSAgICAvLyBXZWJQcm9jZXNzOjpwcm9jZXNz
VGFza1N0YXRlRGlkQ2hhbmdlKCkgb24gYSBiYWNrZ3JvdW5kIHRocmVhZCBhbmQgZGVmZXJlbmNl
IHRoZSBJUEMgY29ubmVjdGlvbi4KLSAgICBtX3Rhc2tTdGF0ZU9ic2VydmVyID0gUHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyOjpjcmVhdGUoKnRoaXMpOwotI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJv
Y2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYm
IHBhcmFtZXRlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA4Zjli
ZmU1NzE1ZDQyMjU5YTNhM2IzMTcwNWFjMzRmNmYxM2IxZDM4Li41MTQ3MjI0OTdjMjQxZDMwZWUy
Y2RjYmY1OGNkOWNlZGZiZjUwODk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKQEAgLTY1LDExICs2NSw2IEBACiAjaW5jbHVkZSA8d3RmL01hY2hTZW5kUmlnaHQuaD4KICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNpbmNsdWRlICJQcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXIuaCIKLU9CSkNfQ0xBU1MgQktTUHJvY2Vzc0Fzc2VydGlvbjsKLSNlbmRpZgot
CiAjaWYgUExBVEZPUk0oV0FZTEFORCkgJiYgVVNFKFdQRV9SRU5ERVJFUikKICNpbmNsdWRlIDxX
ZWJDb3JlL1BsYXRmb3JtRGlzcGxheUxpYldQRS5oPgogI2VuZGlmCkBAIC0xMDUsNiArMTAwLDcg
QEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTsKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKK2NsYXNzIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOwogY2xhc3MgRXZlbnREaXNwYXRj
aGVyOwogY2xhc3MgR2FtZXBhZERhdGE7CiBjbGFzcyBHUFVQcm9jZXNzQ29ubmVjdGlvbjsKQEAg
LTE0MCwxMSArMTM2LDcgQEAgc3RydWN0IFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOwogY2xh
c3MgTGF5ZXJIb3N0aW5nQ29udGV4dDsKICNlbmRpZgogCi1jbGFzcyBXZWJQcm9jZXNzCi0gICAg
OiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2VzcwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAg
LCBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OkNsaWVudAotI2VuZGlmCitjbGFzcyBXZWJQcm9j
ZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MKIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKQEAgLTQ3NCwxMSArNDY2LDggQEAgcHJpdmF0ZToKICNlbmRpZgogCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB2b2lkIHByb2Nlc3NUYXNrU3RhdGVEaWRDaGFu
Z2UoUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUpIGZpbmFsOwogICAgIGJvb2wg
c2hvdWxkRnJlZXplT25TdXNwZW5zaW9uKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVGcmVlemVy
U3RhdHVzKCk7Ci0KLSAgICB2b2lkIHJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMo
KTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVPKQpAQCAtNTYzLDEwICs1NTIsNyBAQCBwcml2
YXRlOgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBXZWJTUUxpdGVEYXRhYmFzZVRy
YWNrZXIgbV93ZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI7Ci0gICAgUmVmUHRyPFByb2Nlc3NUYXNr
U3RhdGVPYnNlcnZlcj4gbV90YXNrU3RhdGVPYnNlcnZlcjsKLSAgICBMb2NrIG1fcHJvY2Vzc1dh
c1Jlc3VtZWRBc3NlcnRpb25zTG9jazsKLSAgICBSZXRhaW5QdHI8QktTUHJvY2Vzc0Fzc2VydGlv
bj4gbV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uOwotICAgIFJldGFpblB0cjxCS1NQcm9j
ZXNzQXNzZXJ0aW9uPiBtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uOworICAgIHN0ZDo6
dW5pcXVlX3B0cjxEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbjsKICNlbmRpZgogCiAgICAgZW51bSBQYWdlTWFya2luZ0xheWVy
c0FzVm9sYXRpbGVDb3VudGVyVHlwZSB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCBmMDdlNGU3ZTkwNDY4YzE5YmExNjIy
NjI4YjQ4Y2VhYjQ0MTc5NzM3Li45NzNmNWM0ODZiMTJiMDdjYmJiYWZkNDNiMWJjMDlkYTg5NTk5
NzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW0KQEAgLTkxLDYgKzkxLDcgQEAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2lt
cG9ydCAiQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEkuaCIKICNpbXBvcnQgIkFzc2VydGlvblNlcnZp
Y2VzU1BJLmgiCisjaW1wb3J0ICJSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAi
VXNlckludGVyZmFjZUlkaW9tLmgiCiAjaW1wb3J0ICJXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2Jq
ZWN0SU9TLmgiCiAjaW1wb3J0IDxVSUtpdC9VSUFjY2Vzc2liaWxpdHkuaD4KQEAgLTMyMiw2MSAr
MzIzLDYgQEAgdm9pZCBXZWJQcm9jZXNzOjp1cGRhdGVQcm9jZXNzTmFtZSgpCiAjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQogfQogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgV2ViUHJv
Y2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6
OlRhc2tTdGF0ZSB0YXNrU3RhdGUpCi17Ci0gICAgLy8gTk9URTogVGhpcyB3aWxsIGJlIGNhbGxl
ZCBmcm9tIGEgYmFja2dyb3VuZCB0aHJlYWQuCi0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3Bl
bnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSAtIHRh
c2tTdGF0ZSglZCkiLCB0aGlzLCB0YXNrU3RhdGUpOwotICAgIGlmICh0YXNrU3RhdGUgIT0gUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpSdW5uaW5nKQotICAgICAgICByZXR1cm47Ci0KLSAgICBM
b2NrSG9sZGVyIGhvbGRlcihtX3Byb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uc0xvY2spOwotICAg
IGlmIChtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24gJiYgbV9wcm9jZXNzV2FzUmVzdW1l
ZE93bkFzc2VydGlvbikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gV2Ugd2VyZSBhd2FrZW5l
ZCBmcm9tIHN1c3BlbnNpb24gdW5leHBlY3RlZGx5LiBOb3RpZnkgdGhlIFdlYlByb2Nlc3NQcm94
eSwgYnV0IHRha2UgYSBwcm9jZXNzIGFzc2VydGlvbiBvbiBvdXIgcGFyZW50IFBJRAotICAgIC8v
IHRvIGVuc3VyZSB0aGF0IGl0IHRvbyBpcyBhd2FrZW5lZC4KLSAgICBSRUxFQVNFX0xPRyhQcm9j
ZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZUNoYW5nZWQo
KSBUYWtpbmcgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYgb24g
VUlQcm9jZXNzIiwgdGhpcyk7Ci0gICAgbV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0g
YWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRpb24gYWxsb2NdIGluaXRXaXRoUElEOnBhcmVudFBy
b2Nlc3NDb25uZWN0aW9uKCktPnJlbW90ZVByb2Nlc3NJRCgpIGZsYWdzOkJLU1Byb2Nlc3NBc3Nl
cnRpb25QcmV2ZW50VGFza1N1c3BlbmQgcmVhc29uOkJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25G
aW5pc2hUYXNrIG5hbWU6QCJXZWJQcm9jZXNzIHdhcyByZXN1bWVkIiB3aXRoSGFuZGxlcjpeKEJP
T0wgYWNxdWlyZWQpIHsKLSAgICAgICAgaWYgKCFhY3F1aXJlZCkKLSAgICAgICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNz
VGFza1N0YXRlRGlkQ2hhbmdlKCkgZmFpbGVkIHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3Vt
ZWQnIGFzc2VydGlvbiBmb3IgcGFyZW50IHByb2Nlc3MiLCB0aGlzKTsKLSAgICB9XSk7Ci0gICAg
bV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uLmdldCgpLmludmFsaWRhdGlvbkhhbmRsZXIg
PSBbdGhpc10gewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwg
IiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZUNoYW5nZWQoKSBSZWxlYXNpbmcgJ1dl
YlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYgb24gVUlQcm9jZXNzIGR1
ZSB0byBpbnZhbGlkYXRpb24iLCB0aGlzKTsKLSAgICAgICAgcmVsZWFzZVByb2Nlc3NXYXNSZXN1
bWVkQXNzZXJ0aW9ucygpOwotICAgIH07Ci0gICAgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2Vy
dGlvbiA9IGFkb3B0TlMoW1tCS1NQcm9jZXNzQXNzZXJ0aW9uIGFsbG9jXSBpbml0V2l0aFBJRDpn
ZXRwaWQoKSBmbGFnczpCS1NQcm9jZXNzQXNzZXJ0aW9uUHJldmVudFRhc2tTdXNwZW5kIHJlYXNv
bjpCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uRmluaXNoVGFzayBuYW1lOkAiV2ViUHJvY2VzcyB3
YXMgcmVzdW1lZCIgd2l0aEhhbmRsZXI6XihCT09MIGFjcXVpcmVkKSB7Ci0gICAgICAgIGlmICgh
YWNxdWlyZWQpCi0gICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lv
biwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSgpIGZhaWxlZCB0
byB0YWtlICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24gZm9yIFdlYkNvbnRlbnQg
cHJvY2VzcyIsIHRoaXMpOwotICAgIH1dKTsKLSAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNz
ZXJ0aW9uLmdldCgpLmludmFsaWRhdGlvbkhhbmRsZXIgPSBbdGhpc10gewotICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vz
c1Rhc2tTdGF0ZUNoYW5nZWQoKSBSZWxlYXNpbmcgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFz
c2VydGlvbiBvbiBiZWhhbGYgb24gV2ViQ29udGVudCBwcm9jZXNzIGR1ZSB0byBpbnZhbGlkYXRp
b24iLCB0aGlzKTsKLSAgICAgICAgcmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygp
OwotICAgIH07Ci0KLSAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6UHJvY2Vzc1dhc1Jlc3VtZWQoKSwgW3Ro
aXNdIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlBy
b2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSBQYXJlbnQgcHJvY2VzcyBoYW5kbGVk
IFByb2Nlc3NXYXNSZXN1bWVkIElQQywgcmVsZWFzaW5nIG91ciBhc3NlcnRpb25zIiwgdGhpcyk7
Ci0gICAgICAgIHJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKTsKLSAgICB9KTsK
LX0KLQotdm9pZCBXZWJQcm9jZXNzOjpyZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25z
KCkKLXsKLSAgICBMb2NrSG9sZGVyIGhvbGRlcihtX3Byb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9u
c0xvY2spOwotICAgIGlmIChtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24pIHsKLSAgICAg
ICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVh
c2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKSBSZWxlYXNpbmcgcGFyZW50IHByb2Nlc3Mg
J1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiIsIHRoaXMpOwotICAgICAgICBbbV9w
cm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uIGludmFsaWRhdGVdOwotICAgICAgICBtX3Byb2Nl
c3NXYXNSZXN1bWVkVUlBc3NlcnRpb24gPSBudWxscHRyOwotICAgIH0KLSAgICBpZiAobV9wcm9j
ZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbikgewotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNz
U3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNz
ZXJ0aW9ucygpIFJlbGVhc2luZyBXZWJDb250ZW50IHByb2Nlc3MgJ1dlYlByb2Nlc3Mgd2FzIHJl
c3VtZWQnIGFzc2VydGlvbiIsIHRoaXMpOwotICAgICAgICBbbV9wcm9jZXNzV2FzUmVzdW1lZE93
bkFzc2VydGlvbiBpbnZhbGlkYXRlXTsKLSAgICAgICAgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFz
c2VydGlvbiA9IG51bGxwdHI7Ci0gICAgfQotfQotCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiBzdGF0aWMgTlNTdHJpbmcgKndlYlByb2Nlc3NMb2FkZXJBY2Nlc3NpYmlsaXR5
QnVuZGxlUGF0aCgpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386620</attachid>
            <date>2020-01-02 12:32:41 -0800</date>
            <delta_ts>2020-01-02 12:44:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205687-20200102123240.patch</filename>
            <type>text/plain</type>
            <size>36776</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4M2UxNmMzYjAzYjY2ZjU2
MmE0Nzg5MTAzM2I2YTg1MjQ3Y2VjMjYuLjFlZGVkYzQ3YjQwN2E0OGJiMDkzMzE1ZDRlODc1MTgz
OWQxMDcyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDEtMDIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1Njg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Nzg5MDI0Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBuZXcgUnVubmluZ0JvYXJk
IHByb2Nlc3MgYXNzZXJ0aW9uIHRvIGluZGljYXRlIHRoYXQgV2ViQ29udGVudCBwcm9jZXNzZXMg
ZGVwZW5kIG9uIHRoZWlyCisgICAgICAgIFVJUHJvY2VzcyAoYW5kIHRoZXJlZm9yZSwgdGhlIFVJ
UHJvY2VzcyBtdXN0IGJlIHJ1bm5pbmcgaWYgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcykuIFRo
aXMKKyAgICAgICAgcmVwbGFjZXMgb3VyICJVbmV4cGVjdGVkbHkgcmVzdW1lZCIgYXNzZXJ0aW9u
IHdoaWNoIHdhcyBjYXVzaW5nIHVuZXhwZWN0ZWQgdGVybWluYXRpb25zIGluIHNvbWUKKyAgICAg
ICAgY2FzZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6Cisg
ICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBTY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoOgorICAgICAgICAq
IFNoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24pOgorICAgICAgICAoV2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKiBTaGFyZWQvRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb24uaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL2lvcy9EZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkRlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAg
IChXZWJLaXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24pOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2Nv
YS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKwogMjAyMC0wMS0wMiAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTWFrZSBvbmRlbWFu
ZCBoYXJkd2FyZSBhY2NlbGVyYXRpb24gcG9saWN5IG5ldmVyIGxlYXZlIEFDIG1vZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXggNzQ4OTY3ZTI1
MWVhOWViM2FkNGI5Yzg2Y2MzOGNhOTA4MGZlOWRhOS4uMTRhYWM3NDg1OTdmN2ZjNmZjMjkyOTc5
Mzc0MTE0M2E2MzQ2OGVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKQEAgLTUxLDYgKzUxLDkgQEAgV0tfQVBQS0lUX0xERkxBR1NfbWFjY2F0YWx5
c3QgPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0g
JChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19B
U1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBBc3NlcnRp
b25TZXJ2aWNlczsKIAorV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MgPSAkKFdLX1JV
Tk5JTkdCT0FSRF9TRVJWSUNFU19MREZMQUdTXyQoV0tfQ09DT0FfVE9VQ0gpKTsKK1dLX1JVTk5J
TkdCT0FSRF9TRVJWSUNFU19MREZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3b3JrIFJ1bm5pbmdC
b2FyZFNlcnZpY2VzOworCiBXS19DQVJCT05fTERGTEFHUyA9ICQoV0tfQ0FSQk9OX0xERkxBR1Nf
JChXS19QTEFURk9STV9OQU1FKSk7CiBXS19DQVJCT05fTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3
b3JrIENhcmJvbjsKIApAQCAtMTI3LDcgKzEzMCw3IEBAIFdLX0FVVEhLSVRfTERGTEFHU19JT1Nf
U0lOQ0VfMTMgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiBXS19BVVRIS0lUX0xERkxBR1NfbWFjb3N4
ID0gJChXS19BVVRIS0lUX0xERkxBR1MkKFdLX01BQ09TXzEwMTUpKTsKIFdLX0FVVEhLSVRfTERG
TEFHU19NQUNPU19TSU5DRV8xMDE1ID0gLWZyYW1ld29yayBBdXRoS2l0OwogCi1GUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3
b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdy
YXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdv
cmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdv
cmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChX
S19BUFBLSVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19B
VVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFH
UykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxB
R1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNf
TERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1Mp
ICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9M
REZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NB
RkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChX
S19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5T
UEVDVE9SVUlfTERGTEFHUyk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2Jq
YyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENv
cmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQg
LWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0
IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAk
KFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19BU1NF
UlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19SVU5OSU5HQk9BUkRfU0VSVklDRVNfTERGTEFH
UykgJChXS19BVVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9Q
REZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1Nf
U0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRD
X0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVf
R0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdT
KSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERG
TEFHUykgJChXS19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQo
V0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHUyk7CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxp
YnJhcnkgYmFzaWNfc3RyaW5nc3RyZWFtLCBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIg
cmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJv
bHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDll
eGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVP
UzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUx
MlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVh
U0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5j
dGlvbl9jYWxsRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2lj
X3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9O
U18xM2Jhc2ljX2lzdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRD
TlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv
Y2F0b3JJY0VFRUUwX05TXzE0YmFzaWNfaW9zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJh
aXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUxNl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFp
dHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pU
Vk5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxs
b2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFz
aWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4
X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNk
Yzk2NmRmMTBlYzJkYmJjMDJmYWMyZmQwOTQ4MzQ5MDVmNDY2YWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEku
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxSdW5uaW5nQm9hcmRTZXJ2aWNlcy9SdW5uaW5n
Qm9hcmRTZXJ2aWNlcy5oPgorCisjZWxzZQorCitAaW50ZXJmYWNlIFJCU0F0dHJpYnV0ZSA6IE5T
T2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgUkJTRG9tYWluQXR0cmlidXRlIDogUkJTQXR0cmli
dXRlCisrIChpbnN0YW5jZXR5cGUpYXR0cmlidXRlV2l0aERvbWFpbjooTlNTdHJpbmcgKilkb21h
aW4gbmFtZTooTlNTdHJpbmcgKiluYW1lOworQGVuZAorCitAaW50ZXJmYWNlIFJCU1RhcmdldCA6
IE5TT2JqZWN0CisrIChSQlNUYXJnZXQgKil0YXJnZXRXaXRoUGlkOihwaWRfdClwaWQ7CitAZW5k
CisKK0BpbnRlcmZhY2UgUkJTQXNzZXJ0aW9uIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlp
bml0V2l0aEV4cGxhbmF0aW9uOihOU1N0cmluZyAqKWV4cGxhbmF0aW9uIHRhcmdldDooUkJTVGFy
Z2V0ICopdGFyZ2V0IGF0dHJpYnV0ZXM6KE5TQXJyYXkgPFJCU0F0dHJpYnV0ZSAqPiAqKWF0dHJp
YnV0ZXM7CistIChCT09MKWFjcXVpcmVXaXRoRXJyb3I6KG91dCBOU0Vycm9yICogX051bGxhYmxl
ICogX051bGxhYmxlKWVycm9yOworLSAodm9pZClpbnZhbGlkYXRlOworQGVuZAorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5z
aCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaAppbmRleCBk
MWYwMjk2YjNkZGIyYmE0MzkxM2EyZDY1MzFiYTg0OWIxZGExZTk0Li41ZmY0YTFlZjQ2NDg0MGE4
ZDI2MTlhZGI0ZGU4NmE1N2NjYWFjNzVkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3By
b2Nlc3MtZW50aXRsZW1lbnRzLnNoCkBAIC0xMTAsNiArMTEwLDcgQEAgZnVuY3Rpb24gaW9zX2Zh
bWlseV9wcm9jZXNzX3dlYmNvbnRlbnRfZW50aXRsZW1lbnRzKCkKICAgICBwbGlzdGJ1ZGR5IEFk
ZCA6Y29tLmFwcGxlLnByaXZhdGUubmV0d29yay5zb2NrZXQtZGVsZWdhdGUgYm9vbCBZRVMKICAg
ICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUud2ViaW5zcGVjdG9yLmFsbG93LXJl
bW90ZS1pbnNwZWN0aW9uIGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5w
cml2YXRlLndlYmluc3BlY3Rvci5wcm94eS1hcHBsaWNhdGlvbiBib29sIFlFUworICAgIHBsaXN0
YnVkZHkgQWRkIDpjb20uYXBwbGUucnVubmluZ2JvYXJkLmFzc2VydGlvbnMud2Via2l0IGJvb2wg
WUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmR5bmFtaWMtY29kZXNpZ25pbmcgYm9vbCBZRVMKIAog
ICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUudGNjLmRlbGVnYXRlZC1zZXJ2aWNlcyBhcnJh
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRp
b24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU1ZDUyNTFjYzhiNmNkZDk2N2JlODU3NjUwMjdmMDljYjQxNTA5
ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbi5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIgorCisj
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lE
LCBBU0NJSUxpdGVyYWwgZGVzY3JpcHRpb24pCit7CisgICAgVU5VU0VEX1BBUkFNKGRlc2NyaXB0
aW9uKTsKK30KKworRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246On5EZXBlbmRlbmN5UHJvY2Vz
c0Fzc2VydGlvbigpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFhMDFhYTUyN2MwMDYyNDk3ODE2NTI5MTg3ZDU2ZTQ1YmIxMTcxODUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbi5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgPHd0Zi9Qcm9jZXNzSUQuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5j
bHVkZSA8d3RmL3RleHQvQVNDSUlMaXRlcmFsLmg+CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQorT0JKQ19DTEFTUyBSQlNBc3NlcnRpb247CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbihQcm9j
ZXNzSUQgdGFyZ2V0UElELCBBU0NJSUxpdGVyYWwgZGVzY3JpcHRpb24pOworICAgIH5EZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbigpOworCitwcml2YXRlOgorI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisgICAgUmV0YWluUHRyPFJCU0Fzc2VydGlvbj4gbV9hc3NlcnRpb247CisjZW5kaWYKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvTmF0aXZlV2ViVG91Y2hFdmVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2Vi
VG91Y2hFdmVudC5oCmluZGV4IDM5MTBhNDhjNzU3YzU3ODc2MDM3MWNiNWI4NzVhNGJjMDY4NjA3
OGIuLmY1ZDcyZjg3YjViMTI0ZGJlMTQwZGY3YWQzODdlNmI4YTNjYTFkYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYlRvdWNoRXZlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2ZW50LmgKQEAgLTI3LDExICsyNywxNCBAQAog
CiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIGRl
ZmluZWQoX19PQkpDX18pCisjaW5jbHVkZSA8VUlLaXQvVUlLaXQuaD4KKyNlbmRpZgorCiAjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaWYgZGVm
aW5lZChfX09CSkNfXykKLSNpbmNsdWRlIDxVSUtpdC9VSUtpdC5oPgogc3RydWN0IF9VSVdlYlRv
dWNoRXZlbnQ7CiAjZW5kaWYKICNlbGlmIFBMQVRGT1JNKEdUSykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL2lvcy9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbSBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kMjk2YzkzZjkzZjY4NDdiMDM4N2M4MzM5OWFmZDU4NDk3NDM0YTU5Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9jZXNz
QXNzZXJ0aW9uSU9TLm1tCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJj
b25maWcuaCIKKyNpbXBvcnQgIkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgiCisKKyNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQorCisjaW1wb3J0ICJSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5o
IgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246OkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKFByb2Nlc3NJRCB0YXJnZXRQSUQsIEFTQ0lJTGl0ZXJh
bCBkZXNjcmlwdGlvbikKK3sKKyAgICBSQlNUYXJnZXQgKnRhcmdldCA9IFtSQlNUYXJnZXQgdGFy
Z2V0V2l0aFBpZDp0YXJnZXRQSURdOworICAgIFJCU0RvbWFpbkF0dHJpYnV0ZSAqZG9tYWluQXR0
cmlidXRlID0gW1JCU0RvbWFpbkF0dHJpYnV0ZSBhdHRyaWJ1dGVXaXRoRG9tYWluOiBAImNvbS5h
cHBsZS53ZWJraXQiIG5hbWU6QCJEZXBlbmRlbnRQcm9jZXNzTGluayJdOworICAgIG1fYXNzZXJ0
aW9uID0gYWRvcHROUyhbW1JCU0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhFeHBsYW5hdGlvbjpT
dHJpbmcgeyBkZXNjcmlwdGlvbiB9IHRhcmdldDp0YXJnZXQgYXR0cmlidXRlczpAW2RvbWFpbkF0
dHJpYnV0ZV1dKTsKKyAgICBOU0Vycm9yICphY3F1aXNpdGlvbkVycm9yID0gbmlsOworICAgIGlm
ICghW21fYXNzZXJ0aW9uIGFjcXVpcmVXaXRoRXJyb3I6JmFjcXVpc2l0aW9uRXJyb3JdKSB7Cisg
ICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJEZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246IEZhaWxlZCB0byBhY3F1aXJlIGRlcGVu
ZGVuY3kgcHJvY2VzcyBhc3NlcnRpb24gJyV7cHVibGljfXMnLCBlcnJvcjogJXtwdWJsaWN9QCIs
IGRlc2NyaXB0aW9uLmNoYXJhY3RlcnMoKSwgYWNxdWlzaXRpb25FcnJvcik7CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0gZWxzZQorICAgICAgICBSRUxFQVNFX0xPRyhQcm9j
ZXNzLCAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0
aW9uOiBTdWNjZXNzZnVsbHkgdG9vayBhIGRlcGVuZGVuY3kgcHJvY2VzcyBhc3NlcnRpb24gJyV7
cHVibGljfXMnIGZvciB0YXJnZXQgcHJvY2VzcyB3aXRoIFBJRCAlZCIsIGRlc2NyaXB0aW9uLmNo
YXJhY3RlcnMoKSwgdGFyZ2V0UElEKTsKK30KKworRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246
On5EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbigpCit7CisgICAgW21fYXNzZXJ0aW9uIGludmFs
aWRhdGVdOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFBMQVRGT1JN
KElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291
cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCBiMmVmZDFhMzE2YjY2ZTQyMTQ2MzEyNjNmMWEw
ZWM2NjQxNDhlYjhmLi42MDJmYjc5NWE3MmFkZGM1Nzg1ODc2YmUwOTViM2VlYjg5ZDVlNTM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQKQEAgLTEzNCw2ICsxMzQsNyBAQCBTaGFyZWQvQmxvYkRhdGFGaWxlUmVmZXJl
bmNlV2l0aFNhbmRib3hFeHRlbnNpb24uY3BwIEBuby11bmlmeQogU2hhcmVkL0NhY2hlTW9kZWwu
Y3BwCiBTaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0YS5jcHAKIFNoYXJlZC9EZWJ1Z2dhYmxl
SW5mb0RhdGEuY3BwCitTaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwCiBTaGFy
ZWQvRWRpdGluZ1JhbmdlLmNwcAogU2hhcmVkL0VkaXRvclN0YXRlLmNwcAogU2hhcmVkL0ZvbnRJ
bmZvLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291
cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDJlZGU0ZGUzOGQ4NDA4MDBiZGU3NjEz
MWFjZjYwMjZmM2Y1YzhhM2UuLjYwYjM5ZjM3YzU3ODU1NjIxZjI5ZjY2Yjk2MTdkOWE3YjNkYTcw
M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTE3Myw2ICsxNzMsNyBAQCBTaGFyZWQvRW50
cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50Lm1t
CiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VN
YWluLm1tCiAKIFNoYXJlZC9pb3MvQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbQorU2hhcmVkL2lvcy9E
ZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbQogU2hhcmVkL2lvcy9JbnRlcmFjdGlvbklu
Zm9ybWF0aW9uQXRQb3NpdGlvbi5tbQogU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9u
UmVxdWVzdC5jcHAKIFNoYXJlZC9pb3MvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudElPUy5tbQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2Nv
YS5tbQppbmRleCBmNjBkNjMwOTU1M2NjOWJlMzY2OTE2MTMxZjJlYjMxNjlmNDFmYmExLi42MDk5
MzZkODc1MWRkNmQyNzY5MjBiOWM0YTE3ODYxMzUwZmRkZGJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMTkw
LDI0ICsxOTAsNCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cmVsZWFzZUhpZ2hQZXJmb3JtYW5j
ZUdQVSgpCiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi12b2lkIFdlYlBy
b2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1Jlc3VtZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIENvbXBsZXRpb25IYW5kbGVyQ2FsbGluZ1Njb3Bl
IGV4aXRTY29wZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0KLSAgICBpZiAobV90aHJv
dHRsZXIuc2hvdWxkQmVSdW5uYWJsZSgpKSB7Ci0gICAgICAgIC8vIFRoZSBwcm9jZXNzIGJlY29t
aW5nIHVuc3VzcGVuZGVkIHdhcyBub3QgdW5leHBlY3RlZC4KLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIC8vIFRoZSBXZWJQcm9jZXNzIHdhcyBhd2FrZW5lZCBieSBzb21ldGhpbmcgb3Ro
ZXIgdGhhbiB0aGUgVUlQcm9jZXNzLiBUYWtlIG91dCBhbiBhc3NlcnRpb24gZm9yIGEKLSAgICAv
LyBsaW1pdGVkIGR1cmF0aW9uIHRvIGFsbG93IHdoYXRldmVyIHRhc2sgbmVlZHMgdG8gYmUgYWNj
b21wbGlzaGVkIHRpbWUgdG8gY29tcGxldGUuCi0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3Bl
bnNpb24sICIlcCAtIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1Jlc3VtZWQoKSBQcm9jZXNz
IHdhcyB1bmV4cGVjdGVkbHkgcmVzdW1lZCwgc3RhcnRpbmcgYmFja2dyb3VuZCBhY3Rpdml0eSIs
IHRoaXMpOwotICAgIGF1dG8gYmFja2dyb3VuZEFjdGl2aXR5VGltZW91dEhhbmRsZXIgPSBbYWN0
aXZpdHkgPSBtX3Rocm90dGxlci5iYWNrZ3JvdW5kQWN0aXZpdHkoIldlYlByb2Nlc3Mgd2FzIHVu
ZXhwZWN0ZWRseSByZXN1bWVkIl9zKSwgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0gewot
ICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1By
b3h5Ojpwcm9jZXNzV2FzUmVzdW1lZCgpIC0gbGFtYmRhLCBiYWNrZ3JvdW5kIGFjdGl2aXR5IHRp
bWVkIG91dCIsIHdlYWtUaGlzLmdldCgpKTsKLSAgICB9OwotICAgIG1fdW5leHBlY3RlZEFjdGl2
aXR5VGltZXIgPSBtYWtlVW5pcXVlPFdlYkNvcmU6OkRlZmVycmFibGVPbmVTaG90VGltZXI+KFdU
Rk1vdmUoYmFja2dyb3VuZEFjdGl2aXR5VGltZW91dEhhbmRsZXIpLCB1bmV4cGVjdGVkQWN0aXZp
dHlEdXJhdGlvbik7Ci19Ci0jZW5kaWYKLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuaAppbmRleCA3ODQ2ZjU0MmM5NGRmM2VkMDliMDllMjVjOGI2ODgzYzIwOGEx
MTM1Li45NjVmYjFjZTAxN2IxOWVjNDhlZThmNGRiNDAxNmQ2YjkxOWI0MjNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMzI1LDEwICszMjUsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCB1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCk7CiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgdm9pZCBwcm9jZXNzV2FzUmVz
dW1lZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotI2VuZGlmCi0KICAgICB2b2lkIHdl
YlBhZ2VNZWRpYVN0YXRlRGlkQ2hhbmdlKFdlYlBhZ2VQcm94eSYpOwogCiAgICAgdm9pZCByZWYo
KSBmaW5hbCB7IFRocmVhZFNhZmVSZWZDb3VudGVkOjpyZWYoKTsgfQpAQCAtNTAxLDcgKzQ5Nyw2
IEBAIHByaXZhdGU6CiAgICAgQmFja2dyb3VuZFdlYlByb2Nlc3NUb2tlbiBtX2JhY2tncm91bmRU
b2tlbjsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGJvb2wgbV9oYXNTZW50TWVzc2Fn
ZVRvVW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXIgeyBmYWxzZSB9OwotICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJDb3JlOjpEZWZlcnJhYmxlT25lU2hvdFRpbWVyPiBtX3VuZXhwZWN0ZWRBY3Rpdml0
eVRpbWVyOwogI2VuZGlmCiAKICAgICBIYXNoTWFwPFN0cmluZywgdWludDY0X3Q+IG1fcGFnZVVS
TFJldGFpbkNvdW50TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDM5ODFjYmIwNTU1ODU1ZWE1OWE4NjEwZmI4ODY4
YzgxN2IxNmFjNzMuLjZlMWE0YzRmMjg0OGM2N2RhNWRmZjAyOWQ1ZmFjY2VkZWY4YWRmYTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTcyLDEwICs3Miw2IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSBMZWdh
Y3lSZWNlaXZlciB7CiAgICAgU3RvcERpc3BsYXlMaW5rKHVuc2lnbmVkIG9ic2VydmVySUQsIHVp
bnQzMl90IGRpc3BsYXlJRCkKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAg
ICBQcm9jZXNzV2FzUmVzdW1lZCgpIC0+ICgpIEFzeW5jCi0jZW5kaWYKLQogICAgICMgUGx1Zy1p
biBtZXNzYWdlcy4KICAgICB2b2lkIEFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2goU3RyaW5n
IHBhZ2VPcmlnaW4sIHVpbnQzMl90IGhhc2gpCiAgICAgdm9pZCBQbHVnSW5EaWRSZWNlaXZlVXNl
ckludGVyYWN0aW9uKHVpbnQzMl90IGhhc2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxYTc4ZGQ4ODc1MjRhNDkxMWFhZTM2OGYxNDBl
OTY0ZTExOTE0MjllLi5hNWM2ZTdkNjVhZjcyMjdlZjczYWZkODI2OGZmNzFkYjBkOGEyMTUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTk1Niw3ICs5NTYsOSBAQAogCQk0NkJFQjZFMzIyRkJCMjFBMDAyNjk4NjcgLyogVHJhbnNpZW50
TG9jYWxTdG9yYWdlTmFtZXNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NkJFQjZFMTIyRkJCMjFBMDAyNjk4NjcgLyogVHJhbnNpZW50TG9jYWxT
dG9yYWdlTmFtZXNwYWNlLmggKi87IH07CiAJCTQ2QzM5MjI5MjMxNkVDNEQwMDhFRUQ5QiAvKiBX
ZWJQYWdlUHJveHlJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NkMzOTIyODIzMTZFQzREMDA4RUVEOUIgLyogV2ViUGFnZVByb3h5SWRl
bnRpZmllci5oICovOyB9OwogCQk0NkRGMDYzQzFGMzkwNUY4MDAxOTgwQkIgLyogTmV0d29ya0NP
UlNQcmVmbGlnaHRDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NkRGMDYzQTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29ya0NPUlNQcmVmbGln
aHRDaGVja2VyLmggKi87IH07CisJCTQ2Rjc3RDgwMjNCRTYzQkUwMDkwQjVBNyAvKiBEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDZGNzdEN0UyM0JFNjNCMTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNz
QXNzZXJ0aW9uLmggKi87IH07CiAJCTQ2RjlCMjYzMjM1MjZFRjMwMDZGRTVGQSAvKiBXZWJCYWNr
Rm9yd2FyZENhY2hlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ2RjlCMjYyMjM1MjZFRDAwMDZGRTVGQSAvKiBXZWJCYWNrRm9yd2FyZENhY2hl
RW50cnkuaCAqLzsgfTsKKwkJNDZGREE4RjcyM0JFNTg2OTAwQjE5OEZBIC8qIFJ1bm5pbmdCb2Fy
ZFNlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NkZEQThGNjIzQkU1ODU5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEku
aCAqLzsgfTsKIAkJNDlCQ0ExOTIyM0ExNzc2NjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0
YXRpc3RpY3NGaXJzdFBhcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0OUJDQTE5MTIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0ZpcnN0UGFydHkuaCAqLzsgfTsKIAkJNDlCQ0ExOTUyM0ExOENGRDAwMjhBODM2IC8q
IF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTkwMjNBMTc1NDkwMDI4
QTgzNiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eUludGVybmFsLmggKi87
IH07CiAJCTQ5QkNBMTk3MjNBMTkzMEQwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzVGhpcmRQYXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDlCQ0ExOTYyM0ExOEY2MjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NUaGlyZFBhcnR5LmggKi87IH07CkBAIC0zNDIyLDcgKzM0MjQsMTEgQEAKIAkJNDZDMzkyMjgy
MzE2RUM0RDAwOEVFRDlCIC8qIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViUGFnZVByb3h5SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NkRGMDYzOTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2Vy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtDT1JTUHJl
ZmxpZ2h0Q2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REYwNjNB
MUYzOTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Rjc3RDdFMjNCRTYzQjEwMDkwQjVBNyAv
KiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NkY3N0Q3RjIzQkU2M0IyMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
NkY3N0Q4MTIzQkU2M0RDMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1Mu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBEZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbklPUy5tbTsgcGF0aCA9IGlvcy9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlv
bklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZGOUIyNjIyMzUyNkVEMDAw
NkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDZGREE4RjYyM0JFNTg1OTAwQjE5OEZBIC8qIFJ1bm5pbmdCb2FyZFNl
cnZpY2VzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bm5pbmdCb2Fy
ZFNlcnZpY2VzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QkNBMTkwMjNB
MTc1NDkwMDI4QTgzNiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eUludGVy
bmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5
SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlCQ0ExOTEyM0ExNzc2
NjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QkNBMTk2MjNBMThGNjIwMDI4QTgzNiAvKiBBUElSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNTU3MCw2ICs1NTc2LDggQEAKIAkJCQk5OUY2NDJEMjFGQUJFMzc4MDA5NjIxRTkgLyogQ29v
cmRpbmF0ZVN5c3RlbS5oICovLAogCQkJCTk5MDM2QUU4MjNBOTcwODcwMDAwQjA2QSAvKiBEZWJ1
Z2dhYmxlSW5mb0RhdGEuY3BwICovLAogCQkJCTk5MDM2QUU3MjNBOTcwODcwMDAwQjA2QSAvKiBE
ZWJ1Z2dhYmxlSW5mb0RhdGEuaCAqLywKKwkJCQk0NkY3N0Q3RjIzQkU2M0IyMDA5MEI1QTcgLyog
RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwICovLAorCQkJCTQ2Rjc3RDdFMjNCRTYzQjEw
MDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oICovLAogCQkJCTJEN0ZEMTkw
MjIzQzczMEYwMDc4ODdGMSAvKiBEb2N1bWVudEVkaXRpbmdDb250ZXh0LmggKi8sCiAJCQkJMkQ3
RkQxOTEyMjNDNzMxMDAwNzg4N0YxIC8qIERvY3VtZW50RWRpdGluZ0NvbnRleHQubW0gKi8sCiAJ
CQkJQzUxNzM4ODAxMkRGOEY0RjAwRUUzRjQ3IC8qIERyYWdDb250cm9sbGVyQWN0aW9uLmggKi8s
CkBAIC02NDU1LDYgKzY0NjMsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKIAkJCQlBN0U5M0NFQjE5MjUzMUFBMDBBMURDNDggLyogQXV4aWxpYXJ5UHJvY2Vzc0lPUy5t
bSAqLywKKwkJCQk0NkY3N0Q4MTIzQkU2M0RDMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb25JT1MubW0gKi8sCiAJCQkJMkRBNjczMTkyMEM3NTRCMTAwM0NCNDAxIC8qIER5bmFt
aWNWaWV3cG9ydFNpemVVcGRhdGUuaCAqLywKIAkJCQkyREE5NDQ5RDE4ODRFNEYwMDBFRDg2REIg
LyogR2VzdHVyZVR5cGVzLmggKi8sCiAJCQkJQzVCQ0U1REExQzUwNzYxRDAwQ0RFM0ZBIC8qIElu
dGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmggKi8sCkBAIC05NjA2LDYgKzk2MTUsNyBA
QAogCQkJCUExM0IzREExMjA3RjM5REUwMDkwQzU4RCAvKiBNb2JpbGVXaUZpU1BJLmggKi8sCiAJ
CQkJMzE3OEFGOTcyMEUyQTdGODAwNzRERTk0IC8qIFBERktpdFNQSS5oICovLAogCQkJCTJEQzE4
RkFGMjE4OTEyNjQwMDI1QTg4RCAvKiBQZW5jaWxLaXRTUEkuaCAqLywKKwkJCQk0NkZEQThGNjIz
QkU1ODU5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCAqLywKIAkJCQlDRTFB
MEJEMDFBNDhFNkM2MDA1NEVGNzQgLyogVENDU1BJLmggKi8sCiAJCQkJQ0UxQTBCRDExQTQ4RTZD
NjAwNTRFRjc0IC8qIFRleHRJbnB1dFNQSS5oICovLAogCQkJCUNFRTRBRTJBMUE1RENGNDMwMDAy
RjQ5QiAvKiBVSUtpdFNQSS5oICovLApAQCAtOTk3NCw2ICs5OTg0LDcgQEAKIAkJCQkxQUM3NTM4
MDE4M0JFNTBGMDA3MkNCMTUgLyogRGF0YVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTkwMzZBRTkyM0E5NzA4NzAwMDBCMDZBIC8qIERlYnVnZ2FibGVJbmZvRGF0YS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMwMzJEQTYxMEY0MzdEMTAwNThDMTVBIC8qIERlY29kZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQ2Rjc3RDgwMjNCRTYzQkUwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vz
c0Fzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdEQ0VEQUIyMTRDNjAwOTAwMTZCODQ3
IC8qIERldmljZUlkZW50aXR5U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzI5N0Y5RjFDMTdC
QkVBMDE1RjA3MzUgLyogRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCTJEMEM1NkZEMjI5RjFERUEwMEJEMzNFNyAvKiBEZXZpY2VNYW5hZ2VtZW50U29mdExpbmsu
aCBpbiBIZWFkZXJzICovLApAQCAtMTAyNzAsNiArMTAyODEsNyBAQAogCQkJCTdBRkJEMzZBMjFF
NTQyRjEwMDVEQkFDQiAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBMzAwNjZFMTExMEY0RjcwMDMxOTM3QyAvKiBSZXNwb25z
aXZlbmVzc1RpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTA0ODJDRTFEREQzMjRGMDBGMDA2
RDAgLyogUlRDTmV0d29yay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZGREE4RjcyM0JFNTg2OTAw
QjE5OEZBIC8qIFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RTk3RDc0RDIwMEU5MDA0MDBCRjY2NDMgLyogU2FmZUJyb3dzaW5nU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1Q0E5ODU0QTIxMEJFQjY0MDA1N0VCNkIgLyogU2FmZUJyb3dzaW5nV2FybmluZy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyRDAyMTcxMkFDNDFDQjAwRTczMkEzIC8qIFNhbWVEb2N1
bWVudE5hdmlnYXRpb25UeXBlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAppbmRleCBjNGFkMzlmOTBjNzVjMWNkMTM3OWJlMjRhNjE0MjI2ZTk5
ZGE2Y2FlLi5iYjBkZGQ3Y2ZjZmMxZTI4NTQ0YjQzYjQ1NjZkY2RhZTJlM2I5OWMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5j
bHVkZSAiQVBJUGFnZUhhbmRsZS5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5o
IgogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIkRlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWEuaCIKICNpbmNs
dWRlICJFdmVudERpc3BhdGNoZXIuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgpAQCAt
MjcxLDcgKzI3MiwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKElQ
Qzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKICAgICBtX2V2ZW50RGlzcGF0Y2hlci0+aW5pdGlh
bGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAg
ICBtX3ZpZXdVcGRhdGVEaXNwYXRjaGVyLT5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9u
KTsKKworICAgIEFTU0VSVCghbV91aVByb2Nlc3NEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbik7
CisgICAgbV91aVByb2Nlc3NEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbiA9IG1ha2VVbmlxdWU8
RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24+KGNvbm5lY3Rpb24tPnJlbW90ZVByb2Nlc3NJRCgp
LCAiV2ViQ29udGVudCBwcm9jZXNzIGRlcGVuZGVuY3kgb24gVUlQcm9jZXNzIl9zKTsKICNlbmRp
ZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQorCiAgICAgbV93ZWJJbnNwZWN0b3JJbnRlcnJ1cHRE
aXNwYXRjaGVyLT5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKIAogI2lmIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQpAQCAtMjgyLDEyICsyODcsNiBAQCB2b2lkIFdlYlByb2Nl
c3M6OmluaXRpYWxpemVDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKICAg
ICAgICAgc3VwcGxlbWVudC0+aW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CiAKICAg
ICBtX3dlYkNvbm5lY3Rpb24gPSBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OmNyZWF0ZSh0aGlz
KTsKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUg
YW4gSVBDOjpDb25uZWN0aW9uIGJlZm9yZSBjcmVhdGluZyB0aGUgUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyIHNpbmNlIGl0IG1heSBjYWxsCi0gICAgLy8gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tT
dGF0ZURpZENoYW5nZSgpIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQgYW5kIGRlZmVyZW5jZSB0aGUg
SVBDIGNvbm5lY3Rpb24uCi0gICAgbV90YXNrU3RhdGVPYnNlcnZlciA9IFByb2Nlc3NUYXNrU3Rh
dGVPYnNlcnZlcjo6Y3JlYXRlKCp0aGlzKTsKLSNlbmRpZgogfQogCiB2b2lkIFdlYlByb2Nlc3M6
OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJh
bWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggOGY5YmZlNTcx
NWQ0MjI1OWEzYTNiMzE3MDVhYzM0ZjZmMTNiMWQzOC4uNTE0NzIyNDk3YzI0MWQzMGVlMmNkY2Jm
NThjZDljZWRmYmY1MDg5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBA
IC02NSwxMSArNjUsNiBAQAogI2luY2x1ZGUgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+CiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0jaW5jbHVkZSAiUHJvY2Vzc1Rhc2tTdGF0ZU9i
c2VydmVyLmgiCi1PQkpDX0NMQVNTIEJLU1Byb2Nlc3NBc3NlcnRpb247Ci0jZW5kaWYKLQogI2lm
IFBMQVRGT1JNKFdBWUxBTkQpICYmIFVTRShXUEVfUkVOREVSRVIpCiAjaW5jbHVkZSA8V2ViQ29y
ZS9QbGF0Zm9ybURpc3BsYXlMaWJXUEUuaD4KICNlbmRpZgpAQCAtMTA1LDYgKzEwMCw3IEBAIHN0
cnVjdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitj
bGFzcyBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjsKIGNsYXNzIEV2ZW50RGlzcGF0Y2hlcjsK
IGNsYXNzIEdhbWVwYWREYXRhOwogY2xhc3MgR1BVUHJvY2Vzc0Nvbm5lY3Rpb247CkBAIC0xNDAs
MTEgKzEzNiw3IEBAIHN0cnVjdCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVyczsKIGNsYXNzIExh
eWVySG9zdGluZ0NvbnRleHQ7CiAjZW5kaWYKIAotY2xhc3MgV2ViUHJvY2VzcwotICAgIDogcHVi
bGljIEF1eGlsaWFyeVByb2Nlc3MKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICwgUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpDbGllbnQKLSNlbmRpZgorY2xhc3MgV2ViUHJvY2VzcyA6
IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzCiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CkBAIC00NzQsMTEgKzQ2Niw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCi0gICAgdm9pZCBwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKFBy
b2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6VGFza1N0YXRlKSBmaW5hbDsKICAgICBib29sIHNob3Vs
ZEZyZWV6ZU9uU3VzcGVuc2lvbigpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRlRnJlZXplclN0YXR1
cygpOwotCi0gICAgdm9pZCByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKQEAgLTU2MywxMCArNTUyLDcgQEAgcHJpdmF0ZToK
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2Vy
IG1fd2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOwotICAgIFJlZlB0cjxQcm9jZXNzVGFza1N0YXRl
T2JzZXJ2ZXI+IG1fdGFza1N0YXRlT2JzZXJ2ZXI7Ci0gICAgTG9jayBtX3Byb2Nlc3NXYXNSZXN1
bWVkQXNzZXJ0aW9uc0xvY2s7Ci0gICAgUmV0YWluUHRyPEJLU1Byb2Nlc3NBc3NlcnRpb24+IG1f
cHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbjsKLSAgICBSZXRhaW5QdHI8QktTUHJvY2Vzc0Fz
c2VydGlvbj4gbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbjsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24+IG1fdWlQcm9jZXNzRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb247CiAjZW5kaWYKIAogICAgIGVudW0gUGFnZU1hcmtpbmdMYXllcnNBc1Zv
bGF0aWxlQ291bnRlclR5cGUgeyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggZjA3ZTRlN2U5MDQ2OGMxOWJhMTYyMjYyOGI0
OGNlYWI0NDE3OTczNy4uOTczZjVjNDg2YjEyYjA3Y2JiYmFmZDQzYjFiYzA5ZGE4OTU5OTc1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCkBAIC05MSw2ICs5MSw3IEBACiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbXBvcnQg
IkFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmgiCiAjaW1wb3J0ICJBc3NlcnRpb25TZXJ2aWNlc1NQ
SS5oIgorI2ltcG9ydCAiUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCIKICNpbXBvcnQgIlVzZXJJ
bnRlcmZhY2VJZGlvbS5oIgogI2ltcG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdElP
Uy5oIgogI2ltcG9ydCA8VUlLaXQvVUlBY2Nlc3NpYmlsaXR5Lmg+CkBAIC0zMjIsNjEgKzMyMyw2
IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlUHJvY2Vzc05hbWUoKQogI2VuZGlmIC8vIFBMQVRG
T1JNKE1BQykKIH0KIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi12b2lkIFdlYlByb2Nlc3M6
OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNr
U3RhdGUgdGFza1N0YXRlKQotewotICAgIC8vIE5PVEU6IFRoaXMgd2lsbCBiZSBjYWxsZWQgZnJv
bSBhIGJhY2tncm91bmQgdGhyZWFkLgotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9u
LCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgLSB0YXNrU3Rh
dGUoJWQpIiwgdGhpcywgdGFza1N0YXRlKTsKLSAgICBpZiAodGFza1N0YXRlICE9IFByb2Nlc3NU
YXNrU3RhdGVPYnNlcnZlcjo6UnVubmluZykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgTG9ja0hv
bGRlciBob2xkZXIobV9wcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnNMb2NrKTsKLSAgICBpZiAo
bV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uICYmIG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25B
c3NlcnRpb24pCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFdlIHdlcmUgYXdha2VuZWQgZnJv
bSBzdXNwZW5zaW9uIHVuZXhwZWN0ZWRseS4gTm90aWZ5IHRoZSBXZWJQcm9jZXNzUHJveHksIGJ1
dCB0YWtlIGEgcHJvY2VzcyBhc3NlcnRpb24gb24gb3VyIHBhcmVudCBQSUQKLSAgICAvLyB0byBl
bnN1cmUgdGhhdCBpdCB0b28gaXMgYXdha2VuZWQuCi0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1
c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVDaGFuZ2VkKCkgVGFr
aW5nICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24gb24gYmVoYWxmIG9uIFVJUHJv
Y2VzcyIsIHRoaXMpOwotICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiA9IGFkb3B0
TlMoW1tCS1NQcm9jZXNzQXNzZXJ0aW9uIGFsbG9jXSBpbml0V2l0aFBJRDpwYXJlbnRQcm9jZXNz
Q29ubmVjdGlvbigpLT5yZW1vdGVQcm9jZXNzSUQoKSBmbGFnczpCS1NQcm9jZXNzQXNzZXJ0aW9u
UHJldmVudFRhc2tTdXNwZW5kIHJlYXNvbjpCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uRmluaXNo
VGFzayBuYW1lOkAiV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCIgd2l0aEhhbmRsZXI6XihCT09MIGFj
cXVpcmVkKSB7Ci0gICAgICAgIGlmICghYWNxdWlyZWQpCi0gICAgICAgICAgICBSRUxFQVNFX0xP
R19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tT
dGF0ZURpZENoYW5nZSgpIGZhaWxlZCB0byB0YWtlICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBh
c3NlcnRpb24gZm9yIHBhcmVudCBwcm9jZXNzIiwgdGhpcyk7Ci0gICAgfV0pOwotICAgIG1fcHJv
Y2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbi5nZXQoKS5pbnZhbGlkYXRpb25IYW5kbGVyID0gW3Ro
aXNdIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAt
IFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVDaGFuZ2VkKCkgUmVsZWFzaW5nICdXZWJQcm9j
ZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24gb24gYmVoYWxmIG9uIFVJUHJvY2VzcyBkdWUgdG8g
aW52YWxpZGF0aW9uIiwgdGhpcyk7Ci0gICAgICAgIHJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFz
c2VydGlvbnMoKTsKLSAgICB9OwotICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24g
PSBhZG9wdE5TKFtbQktTUHJvY2Vzc0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhQSUQ6Z2V0cGlk
KCkgZmxhZ3M6QktTUHJvY2Vzc0Fzc2VydGlvblByZXZlbnRUYXNrU3VzcGVuZCByZWFzb246QktT
UHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZpbmlzaFRhc2sgbmFtZTpAIldlYlByb2Nlc3Mgd2FzIHJl
c3VtZWQiIHdpdGhIYW5kbGVyOl4oQk9PTCBhY3F1aXJlZCkgewotICAgICAgICBpZiAoIWFjcXVp
cmVkKQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIl
cCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSBmYWlsZWQgdG8gdGFr
ZSAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIGZvciBXZWJDb250ZW50IHByb2Nl
c3MiLCB0aGlzKTsKLSAgICB9XSk7Ci0gICAgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlv
bi5nZXQoKS5pbnZhbGlkYXRpb25IYW5kbGVyID0gW3RoaXNdIHsKLSAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNr
U3RhdGVDaGFuZ2VkKCkgUmVsZWFzaW5nICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRp
b24gb24gYmVoYWxmIG9uIFdlYkNvbnRlbnQgcHJvY2VzcyBkdWUgdG8gaW52YWxpZGF0aW9uIiwg
dGhpcyk7Ci0gICAgICAgIHJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKTsKLSAg
ICB9OwotCi0gICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFdpdGhBc3luY1JlcGx5
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlByb2Nlc3NXYXNSZXN1bWVkKCksIFt0aGlzXSB7
Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNz
Ojpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgUGFyZW50IHByb2Nlc3MgaGFuZGxlZCBQcm9j
ZXNzV2FzUmVzdW1lZCBJUEMsIHJlbGVhc2luZyBvdXIgYXNzZXJ0aW9ucyIsIHRoaXMpOwotICAg
ICAgICByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7Ci0gICAgfSk7Ci19Ci0K
LXZvaWQgV2ViUHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpCi17
Ci0gICAgTG9ja0hvbGRlciBob2xkZXIobV9wcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnNMb2Nr
KTsKLSAgICBpZiAobV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uKSB7Ci0gICAgICAgIFJF
TEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpyZWxlYXNlUHJv
Y2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCkgUmVsZWFzaW5nIHBhcmVudCBwcm9jZXNzICdXZWJQ
cm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24iLCB0aGlzKTsKLSAgICAgICAgW21fcHJvY2Vz
c1dhc1Jlc3VtZWRVSUFzc2VydGlvbiBpbnZhbGlkYXRlXTsKLSAgICAgICAgbV9wcm9jZXNzV2Fz
UmVzdW1lZFVJQXNzZXJ0aW9uID0gbnVsbHB0cjsKLSAgICB9Ci0gICAgaWYgKG1fcHJvY2Vzc1dh
c1Jlc3VtZWRPd25Bc3NlcnRpb24pIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3Bl
bnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlv
bnMoKSBSZWxlYXNpbmcgV2ViQ29udGVudCBwcm9jZXNzICdXZWJQcm9jZXNzIHdhcyByZXN1bWVk
JyBhc3NlcnRpb24iLCB0aGlzKTsKLSAgICAgICAgW21fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3Nl
cnRpb24gaW52YWxpZGF0ZV07Ci0gICAgICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRp
b24gPSBudWxscHRyOwotICAgIH0KLX0KLQotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogc3RhdGljIE5TU3RyaW5nICp3ZWJQcm9jZXNzTG9hZGVyQWNjZXNzaWJpbGl0eUJ1bmRs
ZVBhdGgoKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386623</attachid>
            <date>2020-01-02 12:44:29 -0800</date>
            <delta_ts>2020-01-02 13:17:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205687-20200102124428.patch</filename>
            <type>text/plain</type>
            <size>36751</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4M2UxNmMzYjAzYjY2ZjU2
MmE0Nzg5MTAzM2I2YTg1MjQ3Y2VjMjYuLjFlZGVkYzQ3YjQwN2E0OGJiMDkzMzE1ZDRlODc1MTgz
OWQxMDcyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDEtMDIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1Njg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Nzg5MDI0Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBuZXcgUnVubmluZ0JvYXJk
IHByb2Nlc3MgYXNzZXJ0aW9uIHRvIGluZGljYXRlIHRoYXQgV2ViQ29udGVudCBwcm9jZXNzZXMg
ZGVwZW5kIG9uIHRoZWlyCisgICAgICAgIFVJUHJvY2VzcyAoYW5kIHRoZXJlZm9yZSwgdGhlIFVJ
UHJvY2VzcyBtdXN0IGJlIHJ1bm5pbmcgaWYgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcykuIFRo
aXMKKyAgICAgICAgcmVwbGFjZXMgb3VyICJVbmV4cGVjdGVkbHkgcmVzdW1lZCIgYXNzZXJ0aW9u
IHdoaWNoIHdhcyBjYXVzaW5nIHVuZXhwZWN0ZWQgdGVybWluYXRpb25zIGluIHNvbWUKKyAgICAg
ICAgY2FzZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6Cisg
ICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBTY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoOgorICAgICAgICAq
IFNoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24pOgorICAgICAgICAoV2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKiBTaGFyZWQvRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb24uaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL2lvcy9EZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkRlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAg
IChXZWJLaXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24pOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2Nv
YS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKwogMjAyMC0wMS0wMiAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTWFrZSBvbmRlbWFu
ZCBoYXJkd2FyZSBhY2NlbGVyYXRpb24gcG9saWN5IG5ldmVyIGxlYXZlIEFDIG1vZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXggNzQ4OTY3ZTI1
MWVhOWViM2FkNGI5Yzg2Y2MzOGNhOTA4MGZlOWRhOS4uMTRhYWM3NDg1OTdmN2ZjNmZjMjkyOTc5
Mzc0MTE0M2E2MzQ2OGVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKQEAgLTUxLDYgKzUxLDkgQEAgV0tfQVBQS0lUX0xERkxBR1NfbWFjY2F0YWx5
c3QgPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0g
JChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19B
U1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBBc3NlcnRp
b25TZXJ2aWNlczsKIAorV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MgPSAkKFdLX1JV
Tk5JTkdCT0FSRF9TRVJWSUNFU19MREZMQUdTXyQoV0tfQ09DT0FfVE9VQ0gpKTsKK1dLX1JVTk5J
TkdCT0FSRF9TRVJWSUNFU19MREZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3b3JrIFJ1bm5pbmdC
b2FyZFNlcnZpY2VzOworCiBXS19DQVJCT05fTERGTEFHUyA9ICQoV0tfQ0FSQk9OX0xERkxBR1Nf
JChXS19QTEFURk9STV9OQU1FKSk7CiBXS19DQVJCT05fTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3
b3JrIENhcmJvbjsKIApAQCAtMTI3LDcgKzEzMCw3IEBAIFdLX0FVVEhLSVRfTERGTEFHU19JT1Nf
U0lOQ0VfMTMgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiBXS19BVVRIS0lUX0xERkxBR1NfbWFjb3N4
ID0gJChXS19BVVRIS0lUX0xERkxBR1MkKFdLX01BQ09TXzEwMTUpKTsKIFdLX0FVVEhLSVRfTERG
TEFHU19NQUNPU19TSU5DRV8xMDE1ID0gLWZyYW1ld29yayBBdXRoS2l0OwogCi1GUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3
b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdy
YXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdv
cmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdv
cmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChX
S19BUFBLSVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19B
VVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFH
UykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxB
R1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNf
TERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1Mp
ICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9M
REZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NB
RkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChX
S19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5T
UEVDVE9SVUlfTERGTEFHUyk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2Jq
YyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENv
cmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQg
LWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0
IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAk
KFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19BU1NF
UlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19SVU5OSU5HQk9BUkRfU0VSVklDRVNfTERGTEFH
UykgJChXS19BVVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9Q
REZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1Nf
U0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRD
X0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVf
R0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdT
KSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERG
TEFHUykgJChXS19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQo
V0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHUyk7CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxp
YnJhcnkgYmFzaWNfc3RyaW5nc3RyZWFtLCBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIg
cmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJv
bHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDll
eGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVP
UzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUx
MlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVh
U0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5j
dGlvbl9jYWxsRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2lj
X3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9O
U18xM2Jhc2ljX2lzdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRD
TlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv
Y2F0b3JJY0VFRUUwX05TXzE0YmFzaWNfaW9zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJh
aXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUxNl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFp
dHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pU
Vk5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxs
b2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFz
aWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4
X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3
ZTBjYjFjZDc5M2MwMjUwN2M5NjhiZjRkZTE0MmFmNjdmNmYxNjcKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEku
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxSdW5uaW5nQm9hcmRTZXJ2aWNlcy9SdW5uaW5n
Qm9hcmRTZXJ2aWNlcy5oPgorCisjZWxzZQorCitAaW50ZXJmYWNlIFJCU0F0dHJpYnV0ZSA6IE5T
T2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgUkJTRG9tYWluQXR0cmlidXRlIDogUkJTQXR0cmli
dXRlCisrIChpbnN0YW5jZXR5cGUpYXR0cmlidXRlV2l0aERvbWFpbjooTlNTdHJpbmcgKilkb21h
aW4gbmFtZTooTlNTdHJpbmcgKiluYW1lOworQGVuZAorCitAaW50ZXJmYWNlIFJCU1RhcmdldCA6
IE5TT2JqZWN0CisrIChSQlNUYXJnZXQgKil0YXJnZXRXaXRoUGlkOihwaWRfdClwaWQ7CitAZW5k
CisKK0BpbnRlcmZhY2UgUkJTQXNzZXJ0aW9uIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlp
bml0V2l0aEV4cGxhbmF0aW9uOihOU1N0cmluZyAqKWV4cGxhbmF0aW9uIHRhcmdldDooUkJTVGFy
Z2V0ICopdGFyZ2V0IGF0dHJpYnV0ZXM6KE5TQXJyYXkgPFJCU0F0dHJpYnV0ZSAqPiAqKWF0dHJp
YnV0ZXM7CistIChCT09MKWFjcXVpcmVXaXRoRXJyb3I6KE5TRXJyb3IgKiopZXJyb3I7CistICh2
b2lkKWludmFsaWRhdGU7CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoIGIvU291cmNlL1dlYktpdC9TY3JpcHRz
L3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCmluZGV4IGQxZjAyOTZiM2RkYjJiYTQzOTEzYTJkNjUz
MWJhODQ5YjFkYTFlOTQuLjVmZjRhMWVmNDY0ODQwYThkMjYxOWFkYjRkZTg2YTU3Y2NhYWM3NWQg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5z
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKQEAg
LTExMCw2ICsxMTAsNyBAQCBmdW5jdGlvbiBpb3NfZmFtaWx5X3Byb2Nlc3Nfd2ViY29udGVudF9l
bnRpdGxlbWVudHMoKQogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5uZXR3
b3JrLnNvY2tldC1kZWxlZ2F0ZSBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBw
bGUucHJpdmF0ZS53ZWJpbnNwZWN0b3IuYWxsb3ctcmVtb3RlLWluc3BlY3Rpb24gYm9vbCBZRVMK
ICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUud2ViaW5zcGVjdG9yLnByb3h5
LWFwcGxpY2F0aW9uIGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5ydW5u
aW5nYm9hcmQuYXNzZXJ0aW9ucy53ZWJraXQgYm9vbCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6
ZHluYW1pYy1jb2Rlc2lnbmluZyBib29sIFlFUwogCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5h
cHBsZS50Y2MuZGVsZWdhdGVkLXNlcnZpY2VzIGFycmF5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTVkNTI1
MWNjOGI2Y2RkOTY3YmU4NTc2NTAyN2YwOWNiNDE1MDlmYQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcApAQCAtMCww
ICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgiCisKKyNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBl
bmRlbmN5UHJvY2Vzc0Fzc2VydGlvbihQcm9jZXNzSUQsIEFTQ0lJTGl0ZXJhbCBkZXNjcmlwdGlv
bikKK3sKKyAgICBVTlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOworfQorCitEZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbjo6fkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKCkKK3sKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWEwMWFhNTI3YzAwNjI0
OTc4MTY1MjkxODdkNTZlNDViYjExNzE4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgKQEAgLTAsMCArMSw1MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1Byb2Nlc3NJRC5oPgor
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BU0NJSUxpdGVy
YWwuaD4KKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCitPQkpDX0NMQVNTIFJCU0Fzc2VydGlv
bjsKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgRGVwZW5kZW5jeVByb2Nl
c3NBc3NlcnRpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAg
IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKFByb2Nlc3NJRCB0YXJnZXRQSUQsIEFTQ0lJTGl0
ZXJhbCBkZXNjcmlwdGlvbik7CisgICAgfkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKCk7CisK
K3ByaXZhdGU6CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBSZXRhaW5QdHI8UkJTQXNz
ZXJ0aW9uPiBtX2Fzc2VydGlvbjsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2ZW50LmgKaW5kZXggMzkxMGE0
OGM3NTdjNTc4NzYwMzcxY2I1Yjg3NWE0YmMwNjg2MDc4Yi4uZjVkNzJmODdiNWIxMjRkYmUxNDBk
ZjdhZDM4N2U2YjhhM2NhMWRhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0
aXZlV2ViVG91Y2hFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYlRv
dWNoRXZlbnQuaApAQCAtMjcsMTEgKzI3LDE0IEBACiAKICNpbmNsdWRlICJXZWJFdmVudC5oIgog
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgZGVmaW5lZChfX09CSkNfXykKKyNpbmNsdWRl
IDxVSUtpdC9VSUtpdC5oPgorI2VuZGlmCisKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpZiBkZWZpbmVkKF9fT0JKQ19fKQotI2luY2x1ZGUg
PFVJS2l0L1VJS2l0Lmg+CiBzdHJ1Y3QgX1VJV2ViVG91Y2hFdmVudDsKICNlbmRpZgogI2VsaWYg
UExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0RlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0Rl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyOTZjOTNmOTNmNjg0
N2IwMzg3YzgzMzk5YWZkNTg0OTc0MzRhNTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9pb3MvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW0KQEAgLTAsMCAr
MSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24uaCIKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNp
bXBvcnQgIlJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24o
UHJvY2Vzc0lEIHRhcmdldFBJRCwgQVNDSUlMaXRlcmFsIGRlc2NyaXB0aW9uKQoreworICAgIFJC
U1RhcmdldCAqdGFyZ2V0ID0gW1JCU1RhcmdldCB0YXJnZXRXaXRoUGlkOnRhcmdldFBJRF07Cisg
ICAgUkJTRG9tYWluQXR0cmlidXRlICpkb21haW5BdHRyaWJ1dGUgPSBbUkJTRG9tYWluQXR0cmli
dXRlIGF0dHJpYnV0ZVdpdGhEb21haW46IEAiY29tLmFwcGxlLndlYmtpdCIgbmFtZTpAIkRlcGVu
ZGVudFByb2Nlc3NMaW5rIl07CisgICAgbV9hc3NlcnRpb24gPSBhZG9wdE5TKFtbUkJTQXNzZXJ0
aW9uIGFsbG9jXSBpbml0V2l0aEV4cGxhbmF0aW9uOlN0cmluZyB7IGRlc2NyaXB0aW9uIH0gdGFy
Z2V0OnRhcmdldCBhdHRyaWJ1dGVzOkBbZG9tYWluQXR0cmlidXRlXV0pOworICAgIE5TRXJyb3Ig
KmFjcXVpc2l0aW9uRXJyb3IgPSBuaWw7CisgICAgaWYgKCFbbV9hc3NlcnRpb24gYWNxdWlyZVdp
dGhFcnJvcjomYWNxdWlzaXRpb25FcnJvcl0pIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1Io
UHJvY2VzcywgIkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbjogRmFpbGVkIHRvIGFjcXVpcmUgZGVwZW5kZW5jeSBwcm9jZXNzIGFzc2VydGlvbiAn
JXtwdWJsaWN9cycsIGVycm9yOiAle3B1YmxpY31AIiwgZGVzY3JpcHRpb24uY2hhcmFjdGVycygp
LCBhY3F1aXNpdGlvbkVycm9yKTsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
fSBlbHNlCisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246IFN1Y2Nlc3NmdWxseSB0b29rIGEg
ZGVwZW5kZW5jeSBwcm9jZXNzIGFzc2VydGlvbiAnJXtwdWJsaWN9cycgZm9yIHRhcmdldCBwcm9j
ZXNzIHdpdGggUElEICVkIiwgZGVzY3JpcHRpb24uY2hhcmFjdGVycygpLCB0YXJnZXRQSUQpOwor
fQorCitEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0
aW9uKCkKK3sKKyAgICBbbV9hc3NlcnRpb24gaW52YWxpZGF0ZV07Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0Cmlu
ZGV4IGIyZWZkMWEzMTZiNjZlNDIxNDYzMTI2M2YxYTBlYzY2NDE0OGViOGYuLjYwMmZiNzk1YTcy
YWRkYzU3ODU4NzZiZTA5NWIzZWViODlkNWU1MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtMTM0LDYgKzEz
NCw3IEBAIFNoYXJlZC9CbG9iRGF0YUZpbGVSZWZlcmVuY2VXaXRoU2FuZGJveEV4dGVuc2lvbi5j
cHAgQG5vLXVuaWZ5CiBTaGFyZWQvQ2FjaGVNb2RlbC5jcHAKIFNoYXJlZC9Db250ZXh0TWVudUNv
bnRleHREYXRhLmNwcAogU2hhcmVkL0RlYnVnZ2FibGVJbmZvRGF0YS5jcHAKK1NoYXJlZC9EZXBl
bmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAKIFNoYXJlZC9FZGl0aW5nUmFuZ2UuY3BwCiBTaGFy
ZWQvRWRpdG9yU3RhdGUuY3BwCiBTaGFyZWQvRm9udEluZm8uY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKaW5kZXggMmVkZTRkZTM4ZDg0MDgwMGJkZTc2MTMxYWNmNjAyNmYzZjVjOGEzZS4uNjBiMzlm
MzdjNTc4NTU2MjFmMjlmNjZiOTYxN2Q5YTdiM2RhNzAzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dApAQCAtMTczLDYgKzE3Myw3IEBAIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQ
Q1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9pbnQubW0KIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KIAogU2hhcmVkL2lvcy9BdXhp
bGlhcnlQcm9jZXNzSU9TLm1tCitTaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
SU9TLm1tCiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLm1tCiBT
aGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0LmNwcAogU2hhcmVkL2lvcy9O
YXRpdmVXZWJLZXlib2FyZEV2ZW50SU9TLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IGY2MGQ2MzA5NTUzY2M5
YmUzNjY5MTYxMzFmMmViMzE2OWY0MWZiYTEuLjYwOTkzNmQ4NzUxZGQ2ZDI3NjkyMGI5YzRhMTc4
NjEzNTBmZGRkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0xOTAsMjQgKzE5MCw0IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjpyZWxlYXNlSGlnaFBlcmZvcm1hbmNlR1BVKCkKIH0KICNlbmRpZgogCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzUmVz
dW1lZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0g
ICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5nU2NvcGUgZXhpdFNjb3BlKFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKLQotICAgIGlmIChtX3Rocm90dGxlci5zaG91bGRCZVJ1bm5hYmxlKCkp
IHsKLSAgICAgICAgLy8gVGhlIHByb2Nlc3MgYmVjb21pbmcgdW5zdXNwZW5kZWQgd2FzIG5vdCB1
bmV4cGVjdGVkLgotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gVGhlIFdlYlByb2Nl
c3Mgd2FzIGF3YWtlbmVkIGJ5IHNvbWV0aGluZyBvdGhlciB0aGFuIHRoZSBVSVByb2Nlc3MuIFRh
a2Ugb3V0IGFuIGFzc2VydGlvbiBmb3IgYQotICAgIC8vIGxpbWl0ZWQgZHVyYXRpb24gdG8gYWxs
b3cgd2hhdGV2ZXIgdGFzayBuZWVkcyB0byBiZSBhY2NvbXBsaXNoZWQgdGltZSB0byBjb21wbGV0
ZS4KLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1By
b3h5Ojpwcm9jZXNzV2FzUmVzdW1lZCgpIFByb2Nlc3Mgd2FzIHVuZXhwZWN0ZWRseSByZXN1bWVk
LCBzdGFydGluZyBiYWNrZ3JvdW5kIGFjdGl2aXR5IiwgdGhpcyk7Ci0gICAgYXV0byBiYWNrZ3Jv
dW5kQWN0aXZpdHlUaW1lb3V0SGFuZGxlciA9IFthY3Rpdml0eSA9IG1fdGhyb3R0bGVyLmJhY2tn
cm91bmRBY3Rpdml0eSgiV2ViUHJvY2VzcyB3YXMgdW5leHBlY3RlZGx5IHJlc3VtZWQiX3MpLCB3
ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1bWVkKCkg
LSBsYW1iZGEsIGJhY2tncm91bmQgYWN0aXZpdHkgdGltZWQgb3V0Iiwgd2Vha1RoaXMuZ2V0KCkp
OwotICAgIH07Ci0gICAgbV91bmV4cGVjdGVkQWN0aXZpdHlUaW1lciA9IG1ha2VVbmlxdWU8V2Vi
Q29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcj4oV1RGTW92ZShiYWNrZ3JvdW5kQWN0aXZpdHlU
aW1lb3V0SGFuZGxlciksIHVuZXhwZWN0ZWRBY3Rpdml0eUR1cmF0aW9uKTsKLX0KLSNlbmRpZgot
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDc4NDZm
NTQyYzk0ZGYzZWQwOWIwOWUyNWM4YjY4ODNjMjA4YTExMzUuLjk2NWZiMWNlMDE3YjE5ZWM0OGVl
OGY0ZGI0MDE2ZDZiOTE5YjQyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oCkBAIC0zMjUsMTAgKzMyNSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHVuYmxvY2tB
Y2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICB2b2lkIHByb2Nlc3NXYXNSZXN1bWVkKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7Ci0jZW5kaWYKLQogICAgIHZvaWQgd2ViUGFnZU1lZGlhU3RhdGVEaWRDaGFuZ2Uo
V2ViUGFnZVByb3h5Jik7CiAKICAgICB2b2lkIHJlZigpIGZpbmFsIHsgVGhyZWFkU2FmZVJlZkNv
dW50ZWQ6OnJlZigpOyB9CkBAIC01MDEsNyArNDk3LDYgQEAgcHJpdmF0ZToKICAgICBCYWNrZ3Jv
dW5kV2ViUHJvY2Vzc1Rva2VuIG1fYmFja2dyb3VuZFRva2VuOwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgYm9vbCBtX2hhc1NlbnRNZXNzYWdlVG9VbmJsb2NrQWNjZXNzaWJpbGl0eVNl
cnZlciB7IGZhbHNlIH07Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkRlZmVycmFibGVP
bmVTaG90VGltZXI+IG1fdW5leHBlY3RlZEFjdGl2aXR5VGltZXI7CiAjZW5kaWYKIAogICAgIEhh
c2hNYXA8U3RyaW5nLCB1aW50NjRfdD4gbV9wYWdlVVJMUmV0YWluQ291bnRNYXA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5k
ZXggMzk4MWNiYjA1NTU4NTVlYTU5YTg2MTBmYjg4NjhjODE3YjE2YWM3My4uNmUxYTRjNGYyODQ4
YzY3ZGE1ZGZmMDI5ZDVmYWNjZWRlZjhhZGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzIsMTAgKzcyLDYgQEAg
bWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBTdG9wRGlz
cGxheUxpbmsodW5zaWduZWQgb2JzZXJ2ZXJJRCwgdWludDMyX3QgZGlzcGxheUlEKQogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFByb2Nlc3NXYXNSZXN1bWVkKCkgLT4g
KCkgQXN5bmMKLSNlbmRpZgotCiAgICAgIyBQbHVnLWluIG1lc3NhZ2VzLgogICAgIHZvaWQgQWRk
UGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChTdHJpbmcgcGFnZU9yaWdpbiwgdWludDMyX3QgaGFz
aCkKICAgICB2b2lkIFBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24odWludDMyX3QgaGFz
aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDFhNzhkZDg4NzUyNGE0OTExYWFlMzY4ZjE0MGU5NjRlMTE5MTQyOWUuLmE1YzZlN2Q2NWFm
NzIyN2VmNzNhZmQ4MjY4ZmY3MWRiMGQ4YTIxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTU2LDcgKzk1Niw5IEBACiAJCTQ2QkVC
NkUzMjJGQkIyMUEwMDI2OTg2NyAvKiBUcmFuc2llbnRMb2NhbFN0b3JhZ2VOYW1lc3BhY2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QkVCNkUxMjJG
QkIyMUEwMDI2OTg2NyAvKiBUcmFuc2llbnRMb2NhbFN0b3JhZ2VOYW1lc3BhY2UuaCAqLzsgfTsK
IAkJNDZDMzkyMjkyMzE2RUM0RDAwOEVFRDlCIC8qIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzM5MjI4MjMx
NkVDNEQwMDhFRUQ5QiAvKiBXZWJQYWdlUHJveHlJZGVudGlmaWVyLmggKi87IH07CiAJCTQ2REYw
NjNDMUYzOTA1RjgwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REYwNjNBMUYzOTA1
RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCAqLzsgfTsKKwkJNDZG
NzdEODAyM0JFNjNCRTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkY3N0Q3RTIzQkU2
M0IxMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCAqLzsgfTsKIAkJNDZG
OUIyNjMyMzUyNkVGMzAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZGOUIyNjIyMzUyNkVE
MDAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oICovOyB9OworCQk0NkZEQThG
NzIzQkU1ODY5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RkRBOEY2MjNCRTU4NTkwMEIx
OThGQSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oICovOyB9OwogCQk0OUJDQTE5MjIzQTE3
NzY2MDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTkxMjNBMTc3
NjYwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oICovOyB9
OwogCQk0OUJDQTE5NTIzQTE4Q0ZEMDAyOEE4MzYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0ZpcnN0UGFydHlJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDlCQ0ExOTAyM0ExNzU0OTAwMjhBODM2IC8qIF9XS1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwuaCAqLzsgfTsKIAkJNDlCQ0ExOTcyM0ExOTMwRDAw
MjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUJDQTE5NjIzQTE4RjYyMDAy
OEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHkuaCAqLzsgfTsKQEAg
LTM0MjIsNyArMzQyNCwxMSBAQAogCQk0NkMzOTIyODIzMTZFQzREMDA4RUVEOUIgLyogV2ViUGFn
ZVByb3h5SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQYWdlUHJveHlJZGVudGlmaWVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REYwNjM5MUYzOTA1RTUwMDE5ODBC
QiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZERjA2M0ExRjM5MDVFNTAwMTk4MEJCIC8qIE5ldHdv
cmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDZGNzdEN0UyM0JFNjNCMTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlcGVuZGVuY3lQcm9jZXNz
QXNzZXJ0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Rjc3RDdGMjNCRTYz
QjIwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Rjc3RDgxMjNCRTYzREMwMDkwQjVBNyAv
KiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgbmFtZSA9IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOyBwYXRo
ID0gaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NkY5QjI2MjIzNTI2RUQwMDA2RkU1RkEgLyogV2ViQmFja0ZvcndhcmRD
YWNoZUVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkJhY2tGb3J3
YXJkQ2FjaGVFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkZEQThGNjIz
QkU1ODU5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlCQ0ExOTAyM0ExNzU0OTAwMjhBODM2IC8qIF9XS1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dL
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0OUJDQTE5MTIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0ZpcnN0UGFydHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlC
Q0ExOTYyM0ExOEY2MjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBh
cnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NTcwLDYgKzU1NzYsOCBAQAogCQkJ
CTk5RjY0MkQyMUZBQkUzNzgwMDk2MjFFOSAvKiBDb29yZGluYXRlU3lzdGVtLmggKi8sCiAJCQkJ
OTkwMzZBRTgyM0E5NzA4NzAwMDBCMDZBIC8qIERlYnVnZ2FibGVJbmZvRGF0YS5jcHAgKi8sCiAJ
CQkJOTkwMzZBRTcyM0E5NzA4NzAwMDBCMDZBIC8qIERlYnVnZ2FibGVJbmZvRGF0YS5oICovLAor
CQkJCTQ2Rjc3RDdGMjNCRTYzQjIwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlv
bi5jcHAgKi8sCisJCQkJNDZGNzdEN0UyM0JFNjNCMTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9j
ZXNzQXNzZXJ0aW9uLmggKi8sCiAJCQkJMkQ3RkQxOTAyMjNDNzMwRjAwNzg4N0YxIC8qIERvY3Vt
ZW50RWRpdGluZ0NvbnRleHQuaCAqLywKIAkJCQkyRDdGRDE5MTIyM0M3MzEwMDA3ODg3RjEgLyog
RG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbSAqLywKIAkJCQlDNTE3Mzg4MDEyREY4RjRGMDBFRTNG
NDcgLyogRHJhZ0NvbnRyb2xsZXJBY3Rpb24uaCAqLywKQEAgLTY0NTUsNiArNjQ2Myw3IEBACiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCUE3RTkzQ0VCMTkyNTMxQUEw
MEExREM0OCAvKiBBdXhpbGlhcnlQcm9jZXNzSU9TLm1tICovLAorCQkJCTQ2Rjc3RDgxMjNCRTYz
REMwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbSAqLywKIAkJCQky
REE2NzMxOTIwQzc1NEIxMDAzQ0I0MDEgLyogRHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZS5oICov
LAogCQkJCTJEQTk0NDlEMTg4NEU0RjAwMEVEODZEQiAvKiBHZXN0dXJlVHlwZXMuaCAqLywKIAkJ
CQlDNUJDRTVEQTFDNTA3NjFEMDBDREUzRkEgLyogSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9z
aXRpb24uaCAqLywKQEAgLTk2MDYsNiArOTYxNSw3IEBACiAJCQkJQTEzQjNEQTEyMDdGMzlERTAw
OTBDNThEIC8qIE1vYmlsZVdpRmlTUEkuaCAqLywKIAkJCQkzMTc4QUY5NzIwRTJBN0Y4MDA3NERF
OTQgLyogUERGS2l0U1BJLmggKi8sCiAJCQkJMkRDMThGQUYyMTg5MTI2NDAwMjVBODhEIC8qIFBl
bmNpbEtpdFNQSS5oICovLAorCQkJCTQ2RkRBOEY2MjNCRTU4NTkwMEIxOThGQSAvKiBSdW5uaW5n
Qm9hcmRTZXJ2aWNlc1NQSS5oICovLAogCQkJCUNFMUEwQkQwMUE0OEU2QzYwMDU0RUY3NCAvKiBU
Q0NTUEkuaCAqLywKIAkJCQlDRTFBMEJEMTFBNDhFNkM2MDA1NEVGNzQgLyogVGV4dElucHV0U1BJ
LmggKi8sCiAJCQkJQ0VFNEFFMkExQTVEQ0Y0MzAwMDJGNDlCIC8qIFVJS2l0U1BJLmggKi8sCkBA
IC05OTc0LDYgKzk5ODQsNyBAQAogCQkJCTFBQzc1MzgwMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRh
UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTAzNkFFOTIzQTk3MDg3MDAwMEIwNkEg
LyogRGVidWdnYWJsZUluZm9EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAzMkRBNjEwRjQz
N0QxMDA1OEMxNUEgLyogRGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZGNzdEODAyM0JF
NjNCRTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1N0RDRURBQjIxNEM2MDA5MDAxNkI4NDcgLyogRGV2aWNlSWRlbnRpdHlTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3Mjk3RjlGMUMxN0JCRUEwMTVGMDczNSAvKiBEZXZpY2VJZEhh
c2hTYWx0U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQwQzU2RkQyMjlGMURFQTAwQkQz
M0U3IC8qIERldmljZU1hbmFnZW1lbnRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDI3
MCw2ICsxMDI4MSw3IEBACiAJCQkJN0FGQkQzNkEyMUU1NDJGMTAwNURCQUNCIC8qIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEz
MDA2NkUxMTEwRjRGNzAwMzE5MzdDIC8qIFJlc3BvbnNpdmVuZXNzVGltZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxMDQ4MkNFMURERDMyNEYwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0NkZEQThGNzIzQkU1ODY5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2Vy
dmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBFOTdENzREMjAwRTkwMDQwMEJGNjY0MyAv
KiBTYWZlQnJvd3NpbmdTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDQTk4NTRBMjEwQkVCNjQw
MDU3RUI2QiAvKiBTYWZlQnJvd3NpbmdXYXJuaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzJE
MDIxNzEyQUM0MUNCMDBFNzMyQTMgLyogU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUuaCBpbiBI
ZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGM0
YWQzOWY5MGM3NWMxY2QxMzc5YmUyNGE2MTQyMjZlOTlkYTZjYWUuLmJiMGRkZDdjZmNmYzFlMjg1
NDRiNDNiNDU2NmRjZGFlMmUzYjk5YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJBUElQYWdlSGFuZGxlLmgiCiAj
aW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJv
Y2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCIK
ICNpbmNsdWRlICJEcmF3aW5nQXJlYS5oIgogI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hlci5oIgog
I2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCkBAIC0yNzEsNyArMjcyLDExIEBAIHZvaWQgV2Vi
UHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9u
KQogICAgIG1fZXZlbnREaXNwYXRjaGVyLT5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9u
KTsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIG1fdmlld1VwZGF0ZURpc3BhdGNoZXIt
PmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOworCisgICAgQVNTRVJUKCFtX3VpUHJv
Y2Vzc0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKTsKKyAgICBtX3VpUHJvY2Vzc0RlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uID0gbWFrZVVuaXF1ZTxEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlv
bj4oY29ubmVjdGlvbi0+cmVtb3RlUHJvY2Vzc0lEKCksICJXZWJDb250ZW50IHByb2Nlc3MgZGVw
ZW5kZW5jeSBvbiBVSVByb2Nlc3MiX3MpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkp
CisKICAgICBtX3dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXItPmluaXRpYWxpemVDb25u
ZWN0aW9uKGNvbm5lY3Rpb24pOwogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCkBA
IC0yODIsMTIgKzI4Nyw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24o
SVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKQogICAgICAgICBzdXBwbGVtZW50LT5pbml0aWFs
aXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKIAogICAgIG1fd2ViQ29ubmVjdGlvbiA9IFdlYkNv
bm5lY3Rpb25Ub1VJUHJvY2Vzczo6Y3JlYXRlKHRoaXMpOwotCi0jaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLSAgICAvLyBNYWtlIHN1cmUgd2UgaGF2ZSBhbiBJUEM6OkNvbm5lY3Rpb24gYmVmb3Jl
IGNyZWF0aW5nIHRoZSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIgc2luY2UgaXQgbWF5IGNhbGwK
LSAgICAvLyBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgb24gYSBiYWNr
Z3JvdW5kIHRocmVhZCBhbmQgZGVmZXJlbmNlIHRoZSBJUEMgY29ubmVjdGlvbi4KLSAgICBtX3Rh
c2tTdGF0ZU9ic2VydmVyID0gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpjcmVhdGUoKnRoaXMp
OwotI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaAppbmRleCA4ZjliZmU1NzE1ZDQyMjU5YTNhM2IzMTcwNWFjMzRmNmYx
M2IxZDM4Li41MTQ3MjI0OTdjMjQxZDMwZWUyY2RjYmY1OGNkOWNlZGZiZjUwODk3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTY1LDExICs2NSw2IEBACiAjaW5jbHVk
ZSA8d3RmL01hY2hTZW5kUmlnaHQuaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLSNpbmNsdWRlICJQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCIKLU9CSkNfQ0xBU1MgQktT
UHJvY2Vzc0Fzc2VydGlvbjsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oV0FZTEFORCkgJiYgVVNF
KFdQRV9SRU5ERVJFUikKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRGlzcGxheUxpYldQRS5o
PgogI2VuZGlmCkBAIC0xMDUsNiArMTAwLDcgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0
RGF0YTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIERlcGVuZGVuY3lQcm9jZXNzQXNz
ZXJ0aW9uOwogY2xhc3MgRXZlbnREaXNwYXRjaGVyOwogY2xhc3MgR2FtZXBhZERhdGE7CiBjbGFz
cyBHUFVQcm9jZXNzQ29ubmVjdGlvbjsKQEAgLTE0MCwxMSArMTM2LDcgQEAgc3RydWN0IFdlYnNp
dGVEYXRhU3RvcmVQYXJhbWV0ZXJzOwogY2xhc3MgTGF5ZXJIb3N0aW5nQ29udGV4dDsKICNlbmRp
ZgogCi1jbGFzcyBXZWJQcm9jZXNzCi0gICAgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2VzcwotI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgLCBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OkNs
aWVudAotI2VuZGlmCitjbGFzcyBXZWJQcm9jZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MK
IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTQ3NCwxMSArNDY2
LDggQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB2
b2lkIHByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpU
YXNrU3RhdGUpIGZpbmFsOwogICAgIGJvb2wgc2hvdWxkRnJlZXplT25TdXNwZW5zaW9uKCkgY29u
c3Q7CiAgICAgdm9pZCB1cGRhdGVGcmVlemVyU3RhdHVzKCk7Ci0KLSAgICB2b2lkIHJlbGVhc2VQ
cm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVP
KQpAQCAtNTYzLDEwICs1NTIsNyBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIgbV93ZWJTUUxpdGVEYXRhYmFzZVRyYWNr
ZXI7Ci0gICAgUmVmUHRyPFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcj4gbV90YXNrU3RhdGVPYnNl
cnZlcjsKLSAgICBMb2NrIG1fcHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zTG9jazsKLSAgICBS
ZXRhaW5QdHI8QktTUHJvY2Vzc0Fzc2VydGlvbj4gbV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0
aW9uOwotICAgIFJldGFpblB0cjxCS1NQcm9jZXNzQXNzZXJ0aW9uPiBtX3Byb2Nlc3NXYXNSZXN1
bWVkT3duQXNzZXJ0aW9uOworICAgIHN0ZDo6dW5pcXVlX3B0cjxEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbj4gbV91aVByb2Nlc3NEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjsKICNlbmRpZgog
CiAgICAgZW51bSBQYWdlTWFya2luZ0xheWVyc0FzVm9sYXRpbGVDb3VudGVyVHlwZSB7IH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpp
bmRleCBmMDdlNGU3ZTkwNDY4YzE5YmExNjIyNjI4YjQ4Y2VhYjQ0MTc5NzM3Li45NzNmNWM0ODZi
MTJiMDdjYmJiYWZkNDNiMWJjMDlkYTg5NTk5NzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTkxLDYgKzkxLDcgQEAKICNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eVN1cHBvcnRTUEku
aCIKICNpbXBvcnQgIkFzc2VydGlvblNlcnZpY2VzU1BJLmgiCisjaW1wb3J0ICJSdW5uaW5nQm9h
cmRTZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiVXNlckludGVyZmFjZUlkaW9tLmgiCiAjaW1wb3J0
ICJXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0SU9TLmgiCiAjaW1wb3J0IDxVSUtpdC9VSUFj
Y2Vzc2liaWxpdHkuaD4KQEAgLTMyMiw2MSArMzIzLDYgQEAgdm9pZCBXZWJQcm9jZXNzOjp1cGRh
dGVQcm9jZXNzTmFtZSgpCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogfQogCi0jaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKLXZvaWQgV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5n
ZShQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSB0YXNrU3RhdGUpCi17Ci0gICAg
Ly8gTk9URTogVGhpcyB3aWxsIGJlIGNhbGxlZCBmcm9tIGEgYmFja2dyb3VuZCB0aHJlYWQuCi0g
ICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nl
c3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSAtIHRhc2tTdGF0ZSglZCkiLCB0aGlzLCB0YXNrU3RhdGUp
OwotICAgIGlmICh0YXNrU3RhdGUgIT0gUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpSdW5uaW5n
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBMb2NrSG9sZGVyIGhvbGRlcihtX3Byb2Nlc3NXYXNS
ZXN1bWVkQXNzZXJ0aW9uc0xvY2spOwotICAgIGlmIChtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3Nl
cnRpb24gJiYgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbikKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgLy8gV2Ugd2VyZSBhd2FrZW5lZCBmcm9tIHN1c3BlbnNpb24gdW5leHBlY3RlZGx5
LiBOb3RpZnkgdGhlIFdlYlByb2Nlc3NQcm94eSwgYnV0IHRha2UgYSBwcm9jZXNzIGFzc2VydGlv
biBvbiBvdXIgcGFyZW50IFBJRAotICAgIC8vIHRvIGVuc3VyZSB0aGF0IGl0IHRvbyBpcyBhd2Fr
ZW5lZC4KLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vz
czo6cHJvY2Vzc1Rhc2tTdGF0ZUNoYW5nZWQoKSBUYWtpbmcgJ1dlYlByb2Nlc3Mgd2FzIHJlc3Vt
ZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYgb24gVUlQcm9jZXNzIiwgdGhpcyk7Ci0gICAgbV9wcm9j
ZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRpb24g
YWxsb2NdIGluaXRXaXRoUElEOnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnJlbW90ZVByb2Nl
c3NJRCgpIGZsYWdzOkJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgcmVhc29u
OkJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrIG5hbWU6QCJXZWJQcm9jZXNzIHdh
cyByZXN1bWVkIiB3aXRoSGFuZGxlcjpeKEJPT0wgYWNxdWlyZWQpIHsKLSAgICAgICAgaWYgKCFh
Y3F1aXJlZCkKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9u
LCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgZmFpbGVkIHRv
IHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBmb3IgcGFyZW50IHByb2Nl
c3MiLCB0aGlzKTsKLSAgICB9XSk7Ci0gICAgbV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9u
LmdldCgpLmludmFsaWRhdGlvbkhhbmRsZXIgPSBbdGhpc10gewotICAgICAgICBSRUxFQVNFX0xP
R19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tT
dGF0ZUNoYW5nZWQoKSBSZWxlYXNpbmcgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlv
biBvbiBiZWhhbGYgb24gVUlQcm9jZXNzIGR1ZSB0byBpbnZhbGlkYXRpb24iLCB0aGlzKTsKLSAg
ICAgICAgcmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpOwotICAgIH07Ci0gICAg
bV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbiA9IGFkb3B0TlMoW1tCS1NQcm9jZXNzQXNz
ZXJ0aW9uIGFsbG9jXSBpbml0V2l0aFBJRDpnZXRwaWQoKSBmbGFnczpCS1NQcm9jZXNzQXNzZXJ0
aW9uUHJldmVudFRhc2tTdXNwZW5kIHJlYXNvbjpCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uRmlu
aXNoVGFzayBuYW1lOkAiV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCIgd2l0aEhhbmRsZXI6XihCT09M
IGFjcXVpcmVkKSB7Ci0gICAgICAgIGlmICghYWNxdWlyZWQpCi0gICAgICAgICAgICBSRUxFQVNF
X0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rh
c2tTdGF0ZURpZENoYW5nZSgpIGZhaWxlZCB0byB0YWtlICdXZWJQcm9jZXNzIHdhcyByZXN1bWVk
JyBhc3NlcnRpb24gZm9yIFdlYkNvbnRlbnQgcHJvY2VzcyIsIHRoaXMpOwotICAgIH1dKTsKLSAg
ICBtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uLmdldCgpLmludmFsaWRhdGlvbkhhbmRs
ZXIgPSBbdGhpc10gewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lv
biwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZUNoYW5nZWQoKSBSZWxlYXNpbmcg
J1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYgb24gV2ViQ29udGVu
dCBwcm9jZXNzIGR1ZSB0byBpbnZhbGlkYXRpb24iLCB0aGlzKTsKLSAgICAgICAgcmVsZWFzZVBy
b2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpOwotICAgIH07Ci0KLSAgICBwYXJlbnRQcm9jZXNz
Q29ubmVjdGlvbigpLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94
eTo6UHJvY2Vzc1dhc1Jlc3VtZWQoKSwgW3RoaXNdIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJv
Y2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFu
Z2UoKSBQYXJlbnQgcHJvY2VzcyBoYW5kbGVkIFByb2Nlc3NXYXNSZXN1bWVkIElQQywgcmVsZWFz
aW5nIG91ciBhc3NlcnRpb25zIiwgdGhpcyk7Ci0gICAgICAgIHJlbGVhc2VQcm9jZXNzV2FzUmVz
dW1lZEFzc2VydGlvbnMoKTsKLSAgICB9KTsKLX0KLQotdm9pZCBXZWJQcm9jZXNzOjpyZWxlYXNl
UHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCkKLXsKLSAgICBMb2NrSG9sZGVyIGhvbGRlciht
X3Byb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uc0xvY2spOwotICAgIGlmIChtX3Byb2Nlc3NXYXNS
ZXN1bWVkVUlBc3NlcnRpb24pIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNp
b24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMo
KSBSZWxlYXNpbmcgcGFyZW50IHByb2Nlc3MgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2Vy
dGlvbiIsIHRoaXMpOwotICAgICAgICBbbV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uIGlu
dmFsaWRhdGVdOwotICAgICAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24gPSBudWxs
cHRyOwotICAgIH0KLSAgICBpZiAobV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbikgewot
ICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6
cmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpIFJlbGVhc2luZyBXZWJDb250ZW50
IHByb2Nlc3MgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiIsIHRoaXMpOwotICAg
ICAgICBbbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbiBpbnZhbGlkYXRlXTsKLSAgICAg
ICAgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbiA9IG51bGxwdHI7Ci0gICAgfQotfQot
Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBzdGF0aWMgTlNTdHJpbmcgKndl
YlByb2Nlc3NMb2FkZXJBY2Nlc3NpYmlsaXR5QnVuZGxlUGF0aCgpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386624</attachid>
            <date>2020-01-02 13:17:36 -0800</date>
            <delta_ts>2020-03-09 14:27:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205687-20200102131736.patch</filename>
            <type>text/plain</type>
            <size>37585</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4M2UxNmMzYjAzYjY2ZjU2
MmE0Nzg5MTAzM2I2YTg1MjQ3Y2VjMjYuLjFlZGVkYzQ3YjQwN2E0OGJiMDkzMzE1ZDRlODc1MTgz
OWQxMDcyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDEtMDIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1Njg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Nzg5MDI0Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZG9wdCBuZXcgUnVubmluZ0JvYXJk
IHByb2Nlc3MgYXNzZXJ0aW9uIHRvIGluZGljYXRlIHRoYXQgV2ViQ29udGVudCBwcm9jZXNzZXMg
ZGVwZW5kIG9uIHRoZWlyCisgICAgICAgIFVJUHJvY2VzcyAoYW5kIHRoZXJlZm9yZSwgdGhlIFVJ
UHJvY2VzcyBtdXN0IGJlIHJ1bm5pbmcgaWYgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcykuIFRo
aXMKKyAgICAgICAgcmVwbGFjZXMgb3VyICJVbmV4cGVjdGVkbHkgcmVzdW1lZCIgYXNzZXJ0aW9u
IHdoaWNoIHdhcyBjYXVzaW5nIHVuZXhwZWN0ZWQgdGVybWluYXRpb25zIGluIHNvbWUKKyAgICAg
ICAgY2FzZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6Cisg
ICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBTY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoOgorICAgICAgICAq
IFNoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24pOgorICAgICAgICAoV2ViS2l0OjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKiBTaGFyZWQvRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb24uaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL2lvcy9EZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkRlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAg
IChXZWJLaXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24pOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2Nv
YS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1t
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKwogMjAyMC0wMS0wMiAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTWFrZSBvbmRlbWFu
ZCBoYXJkd2FyZSBhY2NlbGVyYXRpb24gcG9saWN5IG5ldmVyIGxlYXZlIEFDIG1vZGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXggNzQ4OTY3ZTI1
MWVhOWViM2FkNGI5Yzg2Y2MzOGNhOTA4MGZlOWRhOS4uMTRhYWM3NDg1OTdmN2ZjNmZjMjkyOTc5
Mzc0MTE0M2E2MzQ2OGVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKQEAgLTUxLDYgKzUxLDkgQEAgV0tfQVBQS0lUX0xERkxBR1NfbWFjY2F0YWx5
c3QgPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0g
JChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19B
U1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBBc3NlcnRp
b25TZXJ2aWNlczsKIAorV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MgPSAkKFdLX1JV
Tk5JTkdCT0FSRF9TRVJWSUNFU19MREZMQUdTXyQoV0tfQ09DT0FfVE9VQ0gpKTsKK1dLX1JVTk5J
TkdCT0FSRF9TRVJWSUNFU19MREZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3b3JrIFJ1bm5pbmdC
b2FyZFNlcnZpY2VzOworCiBXS19DQVJCT05fTERGTEFHUyA9ICQoV0tfQ0FSQk9OX0xERkxBR1Nf
JChXS19QTEFURk9STV9OQU1FKSk7CiBXS19DQVJCT05fTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3
b3JrIENhcmJvbjsKIApAQCAtMTI3LDcgKzEzMCw3IEBAIFdLX0FVVEhLSVRfTERGTEFHU19JT1Nf
U0lOQ0VfMTMgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiBXS19BVVRIS0lUX0xERkxBR1NfbWFjb3N4
ID0gJChXS19BVVRIS0lUX0xERkxBR1MkKFdLX01BQ09TXzEwMTUpKTsKIFdLX0FVVEhLSVRfTERG
TEFHU19NQUNPU19TSU5DRV8xMDE1ID0gLWZyYW1ld29yayBBdXRoS2l0OwogCi1GUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3
b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdy
YXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdv
cmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdv
cmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChX
S19BUFBLSVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19B
VVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFH
UykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxB
R1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNf
TERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1Mp
ICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9M
REZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NB
RkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChX
S19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5T
UEVDVE9SVUlfTERGTEFHUyk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2Jq
YyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENv
cmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQg
LWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0
IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAk
KFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19BU1NF
UlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19SVU5OSU5HQk9BUkRfU0VSVklDRVNfTERGTEFH
UykgJChXS19BVVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9Q
REZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfREVWSUNFX0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1Nf
U0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRD
X0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVf
R0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdT
KSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERG
TEFHUykgJChXS19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQo
V0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHUyk7CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxp
YnJhcnkgYmFzaWNfc3RyaW5nc3RyZWFtLCBvcGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIg
cmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJv
bHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDll
eGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVP
UzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUx
MlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVh
U0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5j
dGlvbl9jYWxsRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2lj
X3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9O
U18xM2Jhc2ljX2lzdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRD
TlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxv
Y2F0b3JJY0VFRUUwX05TXzE0YmFzaWNfaW9zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJh
aXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUxNl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTViYXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFp
dHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pU
Vk5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxs
b2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFz
aWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4
X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3
ZTBjYjFjZDc5M2MwMjUwN2M5NjhiZjRkZTE0MmFmNjdmNmYxNjcKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNTUEku
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxSdW5uaW5nQm9hcmRTZXJ2aWNlcy9SdW5uaW5n
Qm9hcmRTZXJ2aWNlcy5oPgorCisjZWxzZQorCitAaW50ZXJmYWNlIFJCU0F0dHJpYnV0ZSA6IE5T
T2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgUkJTRG9tYWluQXR0cmlidXRlIDogUkJTQXR0cmli
dXRlCisrIChpbnN0YW5jZXR5cGUpYXR0cmlidXRlV2l0aERvbWFpbjooTlNTdHJpbmcgKilkb21h
aW4gbmFtZTooTlNTdHJpbmcgKiluYW1lOworQGVuZAorCitAaW50ZXJmYWNlIFJCU1RhcmdldCA6
IE5TT2JqZWN0CisrIChSQlNUYXJnZXQgKil0YXJnZXRXaXRoUGlkOihwaWRfdClwaWQ7CitAZW5k
CisKK0BpbnRlcmZhY2UgUkJTQXNzZXJ0aW9uIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlp
bml0V2l0aEV4cGxhbmF0aW9uOihOU1N0cmluZyAqKWV4cGxhbmF0aW9uIHRhcmdldDooUkJTVGFy
Z2V0ICopdGFyZ2V0IGF0dHJpYnV0ZXM6KE5TQXJyYXkgPFJCU0F0dHJpYnV0ZSAqPiAqKWF0dHJp
YnV0ZXM7CistIChCT09MKWFjcXVpcmVXaXRoRXJyb3I6KE5TRXJyb3IgKiopZXJyb3I7CistICh2
b2lkKWludmFsaWRhdGU7CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoIGIvU291cmNlL1dlYktpdC9TY3JpcHRz
L3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCmluZGV4IGQxZjAyOTZiM2RkYjJiYTQzOTEzYTJkNjUz
MWJhODQ5YjFkYTFlOTQuLjVmZjRhMWVmNDY0ODQwYThkMjYxOWFkYjRkZTg2YTU3Y2NhYWM3NWQg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5z
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKQEAg
LTExMCw2ICsxMTAsNyBAQCBmdW5jdGlvbiBpb3NfZmFtaWx5X3Byb2Nlc3Nfd2ViY29udGVudF9l
bnRpdGxlbWVudHMoKQogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5uZXR3
b3JrLnNvY2tldC1kZWxlZ2F0ZSBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBw
bGUucHJpdmF0ZS53ZWJpbnNwZWN0b3IuYWxsb3ctcmVtb3RlLWluc3BlY3Rpb24gYm9vbCBZRVMK
ICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUud2ViaW5zcGVjdG9yLnByb3h5
LWFwcGxpY2F0aW9uIGJvb2wgWUVTCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5ydW5u
aW5nYm9hcmQuYXNzZXJ0aW9ucy53ZWJraXQgYm9vbCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6
ZHluYW1pYy1jb2Rlc2lnbmluZyBib29sIFlFUwogCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5h
cHBsZS50Y2MuZGVsZWdhdGVkLXNlcnZpY2VzIGFycmF5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTVkNTI1
MWNjOGI2Y2RkOTY3YmU4NTc2NTAyN2YwOWNiNDE1MDlmYQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcApAQCAtMCww
ICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgiCisKKyNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBl
bmRlbmN5UHJvY2Vzc0Fzc2VydGlvbihQcm9jZXNzSUQsIEFTQ0lJTGl0ZXJhbCBkZXNjcmlwdGlv
bikKK3sKKyAgICBVTlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOworfQorCitEZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbjo6fkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKCkKK3sKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWEwMWFhNTI3YzAwNjI0
OTc4MTY1MjkxODdkNTZlNDViYjExNzE4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgKQEAgLTAsMCArMSw1MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1Byb2Nlc3NJRC5oPgor
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BU0NJSUxpdGVy
YWwuaD4KKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCitPQkpDX0NMQVNTIFJCU0Fzc2VydGlv
bjsKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgRGVwZW5kZW5jeVByb2Nl
c3NBc3NlcnRpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAg
IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKFByb2Nlc3NJRCB0YXJnZXRQSUQsIEFTQ0lJTGl0
ZXJhbCBkZXNjcmlwdGlvbik7CisgICAgfkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKCk7CisK
K3ByaXZhdGU6CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBSZXRhaW5QdHI8UkJTQXNz
ZXJ0aW9uPiBtX2Fzc2VydGlvbjsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2ZW50LmgKaW5kZXggMzkxMGE0
OGM3NTdjNTc4NzYwMzcxY2I1Yjg3NWE0YmMwNjg2MDc4Yi4uZjVkNzJmODdiNWIxMjRkYmUxNDBk
ZjdhZDM4N2U2YjhhM2NhMWRhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0
aXZlV2ViVG91Y2hFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYlRv
dWNoRXZlbnQuaApAQCAtMjcsMTEgKzI3LDE0IEBACiAKICNpbmNsdWRlICJXZWJFdmVudC5oIgog
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgZGVmaW5lZChfX09CSkNfXykKKyNpbmNsdWRl
IDxVSUtpdC9VSUtpdC5oPgorI2VuZGlmCisKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpZiBkZWZpbmVkKF9fT0JKQ19fKQotI2luY2x1ZGUg
PFVJS2l0L1VJS2l0Lmg+CiBzdHJ1Y3QgX1VJV2ViVG91Y2hFdmVudDsKICNlbmRpZgogI2VsaWYg
UExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0RlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0Rl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2NTk4YjRkYjUxMTUx
YzkzNzVkM2FkMjMwNDBmMWJjNzljODBjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9pb3MvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW0KQEAgLTAsMCAr
MSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24uaCIKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNp
bXBvcnQgIlJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24o
UHJvY2Vzc0lEIHRhcmdldFBJRCwgQVNDSUlMaXRlcmFsIGRlc2NyaXB0aW9uKQoreworICAgIFJC
U1RhcmdldCAqdGFyZ2V0ID0gW1JCU1RhcmdldCB0YXJnZXRXaXRoUGlkOnRhcmdldFBJRF07Cisg
ICAgUkJTRG9tYWluQXR0cmlidXRlICpkb21haW5BdHRyaWJ1dGUgPSBbUkJTRG9tYWluQXR0cmli
dXRlIGF0dHJpYnV0ZVdpdGhEb21haW46QCJjb20uYXBwbGUud2Via2l0IiBuYW1lOkAiRGVwZW5k
ZW50UHJvY2Vzc0xpbmsiXTsKKyAgICBtX2Fzc2VydGlvbiA9IGFkb3B0TlMoW1tSQlNBc3NlcnRp
b24gYWxsb2NdIGluaXRXaXRoRXhwbGFuYXRpb246U3RyaW5nIHsgZGVzY3JpcHRpb24gfSB0YXJn
ZXQ6dGFyZ2V0IGF0dHJpYnV0ZXM6QFtkb21haW5BdHRyaWJ1dGVdXSk7CisgICAgTlNFcnJvciAq
YWNxdWlzaXRpb25FcnJvciA9IG5pbDsKKyAgICBpZiAoIVttX2Fzc2VydGlvbiBhY3F1aXJlV2l0
aEVycm9yOiZhY3F1aXNpdGlvbkVycm9yXSkgeworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQ
cm9jZXNzLCAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246OkRlcGVuZGVuY3lQcm9jZXNzQXNz
ZXJ0aW9uOiBGYWlsZWQgdG8gYWNxdWlyZSBkZXBlbmRlbmN5IHByb2Nlc3MgYXNzZXJ0aW9uICcl
e3B1YmxpY31zJywgZXJyb3I6ICV7cHVibGljfUAiLCBkZXNjcmlwdGlvbi5jaGFyYWN0ZXJzKCks
IGFjcXVpc2l0aW9uRXJyb3IpOworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIkRlcGVuZGVuY3lQcm9jZXNzQXNz
ZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjogU3VjY2Vzc2Z1bGx5IHRvb2sgYSBk
ZXBlbmRlbmN5IHByb2Nlc3MgYXNzZXJ0aW9uICcle3B1YmxpY31zJyBmb3IgdGFyZ2V0IHByb2Nl
c3Mgd2l0aCBQSUQgJWQiLCBkZXNjcmlwdGlvbi5jaGFyYWN0ZXJzKCksIHRhcmdldFBJRCk7Cit9
CisKK0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRp
b24oKQoreworICAgIFttX2Fzc2VydGlvbiBpbnZhbGlkYXRlXTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CisKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5k
ZXggYjJlZmQxYTMxNmI2NmU0MjE0NjMxMjYzZjFhMGVjNjY0MTQ4ZWI4Zi4uNjAyZmI3OTVhNzJh
ZGRjNTc4NTg3NmJlMDk1YjNlZWI4OWQ1ZTUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0xMzQsNiArMTM0
LDcgQEAgU2hhcmVkL0Jsb2JEYXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmNw
cCBAbm8tdW5pZnkKIFNoYXJlZC9DYWNoZU1vZGVsLmNwcAogU2hhcmVkL0NvbnRleHRNZW51Q29u
dGV4dERhdGEuY3BwCiBTaGFyZWQvRGVidWdnYWJsZUluZm9EYXRhLmNwcAorU2hhcmVkL0RlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcAogU2hhcmVkL0VkaXRpbmdSYW5nZS5jcHAKIFNoYXJl
ZC9FZGl0b3JTdGF0ZS5jcHAKIFNoYXJlZC9Gb250SW5mby5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dAppbmRleCAyZWRlNGRlMzhkODQwODAwYmRlNzYxMzFhY2Y2MDI2ZjNmNWM4YTNlLi42MGIzOWYz
N2M1Nzg1NTYyMWYyOWY2NmI5NjE3ZDlhN2IzZGE3MDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0
CkBAIC0xNzMsNiArMTczLDcgQEAgU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBD
U2VydmljZS9YUENTZXJ2aWNlRW50cnlQb2ludC5tbQogU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRp
ZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbQogCiBTaGFyZWQvaW9zL0F1eGls
aWFyeVByb2Nlc3NJT1MubW0KK1NoYXJlZC9pb3MvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25J
T1MubW0KIFNoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24ubW0KIFNo
YXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QuY3BwCiBTaGFyZWQvaW9zL05h
dGl2ZVdlYktleWJvYXJkRXZlbnRJT1MubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KaW5kZXggZjYwZDYzMDk1NTNjYzli
ZTM2NjkxNjEzMWYyZWIzMTY5ZjQxZmJhMS4uNjA5OTM2ZDg3NTFkZDZkMjc2OTIwYjljNGExNzg2
MTM1MGZkZGRiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Byb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KQEAgLTE5MCwyNCArMTkwLDQgQEAgdm9pZCBXZWJQcm9j
ZXNzUHJveHk6OnJlbGVhc2VIaWdoUGVyZm9ybWFuY2VHUFUoKQogfQogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQotdm9pZCBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1
bWVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAg
ICBDb21wbGV0aW9uSGFuZGxlckNhbGxpbmdTY29wZSBleGl0U2NvcGUoV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwotCi0gICAgaWYgKG1fdGhyb3R0bGVyLnNob3VsZEJlUnVubmFibGUoKSkg
ewotICAgICAgICAvLyBUaGUgcHJvY2VzcyBiZWNvbWluZyB1bnN1c3BlbmRlZCB3YXMgbm90IHVu
ZXhwZWN0ZWQuCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBUaGUgV2ViUHJvY2Vz
cyB3YXMgYXdha2VuZWQgYnkgc29tZXRoaW5nIG90aGVyIHRoYW4gdGhlIFVJUHJvY2Vzcy4gVGFr
ZSBvdXQgYW4gYXNzZXJ0aW9uIGZvciBhCi0gICAgLy8gbGltaXRlZCBkdXJhdGlvbiB0byBhbGxv
dyB3aGF0ZXZlciB0YXNrIG5lZWRzIHRvIGJlIGFjY29tcGxpc2hlZCB0aW1lIHRvIGNvbXBsZXRl
LgotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJv
eHk6OnByb2Nlc3NXYXNSZXN1bWVkKCkgUHJvY2VzcyB3YXMgdW5leHBlY3RlZGx5IHJlc3VtZWQs
IHN0YXJ0aW5nIGJhY2tncm91bmQgYWN0aXZpdHkiLCB0aGlzKTsKLSAgICBhdXRvIGJhY2tncm91
bmRBY3Rpdml0eVRpbWVvdXRIYW5kbGVyID0gW2FjdGl2aXR5ID0gbV90aHJvdHRsZXIuYmFja2dy
b3VuZEFjdGl2aXR5KCJXZWJQcm9jZXNzIHdhcyB1bmV4cGVjdGVkbHkgcmVzdW1lZCJfcyksIHdl
YWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyldIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vz
c1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1Jlc3VtZWQoKSAt
IGxhbWJkYSwgYmFja2dyb3VuZCBhY3Rpdml0eSB0aW1lZCBvdXQiLCB3ZWFrVGhpcy5nZXQoKSk7
Ci0gICAgfTsKLSAgICBtX3VuZXhwZWN0ZWRBY3Rpdml0eVRpbWVyID0gbWFrZVVuaXF1ZTxXZWJD
b3JlOjpEZWZlcnJhYmxlT25lU2hvdFRpbWVyPihXVEZNb3ZlKGJhY2tncm91bmRBY3Rpdml0eVRp
bWVvdXRIYW5kbGVyKSwgdW5leHBlY3RlZEFjdGl2aXR5RHVyYXRpb24pOwotfQotI2VuZGlmCi0K
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggNzg0NmY1
NDJjOTRkZjNlZDA5YjA5ZTI1YzhiNjg4M2MyMDhhMTEzNS4uOTY1ZmIxY2UwMTdiMTllYzQ4ZWU4
ZjRkYjQwMTZkNmI5MTliNDIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmgKQEAgLTMyNSwxMCArMzI1LDYgQEAgcHVibGljOgogICAgIHZvaWQgdW5ibG9ja0Fj
Y2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQotICAgIHZvaWQgcHJvY2Vzc1dhc1Jlc3VtZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKLSNlbmRpZgotCiAgICAgdm9pZCB3ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZShX
ZWJQYWdlUHJveHkmKTsKIAogICAgIHZvaWQgcmVmKCkgZmluYWwgeyBUaHJlYWRTYWZlUmVmQ291
bnRlZDo6cmVmKCk7IH0KQEAgLTUwMSw3ICs0OTcsNiBAQCBwcml2YXRlOgogICAgIEJhY2tncm91
bmRXZWJQcm9jZXNzVG9rZW4gbV9iYWNrZ3JvdW5kVG9rZW47CiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBib29sIG1faGFzU2VudE1lc3NhZ2VUb1VuYmxvY2tBY2Nlc3NpYmlsaXR5U2Vy
dmVyIHsgZmFsc2UgfTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6RGVmZXJyYWJsZU9u
ZVNob3RUaW1lcj4gbV91bmV4cGVjdGVkQWN0aXZpdHlUaW1lcjsKICNlbmRpZgogCiAgICAgSGFz
aE1hcDxTdHJpbmcsIHVpbnQ2NF90PiBtX3BhZ2VVUkxSZXRhaW5Db3VudE1hcDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCAzOTgxY2JiMDU1NTg1NWVhNTlhODYxMGZiODg2OGM4MTdiMTZhYzczLi42ZTFhNGM0ZjI4NDhj
NjdkYTVkZmYwMjlkNWZhY2NlZGVmOGFkZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC03MiwxMCArNzIsNiBAQCBt
ZXNzYWdlcyAtPiBXZWJQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIFN0b3BEaXNw
bGF5TGluayh1bnNpZ25lZCBvYnNlcnZlcklELCB1aW50MzJfdCBkaXNwbGF5SUQpCiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgUHJvY2Vzc1dhc1Jlc3VtZWQoKSAtPiAo
KSBBc3luYwotI2VuZGlmCi0KICAgICAjIFBsdWctaW4gbWVzc2FnZXMuCiAgICAgdm9pZCBBZGRQ
bHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKFN0cmluZyBwYWdlT3JpZ2luLCB1aW50MzJfdCBoYXNo
KQogICAgIHZvaWQgUGx1Z0luRGlkUmVjZWl2ZVVzZXJJbnRlcmFjdGlvbih1aW50MzJfdCBoYXNo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMWE3OGRkODg3NTI0YTQ5MTFhYWUzNjhmMTQwZTk2NGUxMTkxNDI5ZS4uYTVjNmU3ZDY1YWY3
MjI3ZWY3M2FmZDgyNjhmZjcxZGIwZDhhMjE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NTYsNyArOTU2LDkgQEAKIAkJNDZCRUI2
RTMyMkZCQjIxQTAwMjY5ODY3IC8qIFRyYW5zaWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCRUI2RTEyMkZC
QjIxQTAwMjY5ODY3IC8qIFRyYW5zaWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZS5oICovOyB9Owog
CQk0NkMzOTIyOTIzMTZFQzREMDA4RUVEOUIgLyogV2ViUGFnZVByb3h5SWRlbnRpZmllci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDMzkyMjgyMzE2
RUM0RDAwOEVFRDlCIC8qIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCAqLzsgfTsKIAkJNDZERjA2
M0MxRjM5MDVGODAwMTk4MEJCIC8qIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZERjA2M0ExRjM5MDVF
NTAwMTk4MEJCIC8qIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oICovOyB9OworCQk0NkY3
N0Q4MDIzQkU2M0JFMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Rjc3RDdFMjNCRTYz
QjEwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oICovOyB9OwogCQk0NkY5
QjI2MzIzNTI2RUYzMDA2RkU1RkEgLyogV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkY5QjI2MjIzNTI2RUQw
MDA2RkU1RkEgLyogV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmggKi87IH07CisJCTQ2RkRBOEY3
MjNCRTU4NjkwMEIxOThGQSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZGREE4RjYyM0JFNTg1OTAwQjE5
OEZBIC8qIFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggKi87IH07CiAJCTQ5QkNBMTkyMjNBMTc3
NjYwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlCQ0ExOTEyM0ExNzc2
NjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5LmggKi87IH07
CiAJCTQ5QkNBMTk1MjNBMThDRkQwMDI4QTgzNiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Rmlyc3RQYXJ0eUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0OUJDQTE5MDIzQTE3NTQ5MDAyOEE4MzYgLyogX1dLUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oICovOyB9OwogCQk0OUJDQTE5NzIzQTE5MzBEMDAy
OEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTk2MjNBMThGNjIwMDI4
QTgzNiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eS5oICovOyB9OwpAQCAt
MzQyMiw3ICszNDI0LDExIEBACiAJCTQ2QzM5MjI4MjMxNkVDNEQwMDhFRUQ5QiAvKiBXZWJQYWdl
UHJveHlJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBhZ2VQcm94eUlkZW50aWZpZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZERjA2MzkxRjM5MDVFNTAwMTk4MEJC
IC8qIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0NkRGMDYzQTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29y
a0NPUlNQcmVmbGlnaHRDaGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0NkY3N0Q3RTIzQkU2M0IxMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZGNzdEN0YyM0JFNjNC
MjAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZGNzdEODEyM0JFNjNEQzAwOTBCNUE3IC8q
IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBuYW1lID0gRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW07IHBhdGgg
PSBpb3MvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ2RjlCMjYyMjM1MjZFRDAwMDZGRTVGQSAvKiBXZWJCYWNrRm9yd2FyZENh
Y2hlRW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQmFja0Zvcndh
cmRDYWNoZUVudHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2RkRBOEY2MjNC
RTU4NTkwMEIxOThGQSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0OUJDQTE5MDIzQTE3NTQ5MDAyOEE4MzYgLyogX1dLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ5QkNBMTkxMjNBMTc3NjYwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRmlyc3RQYXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUJD
QTE5NjIzQTE4RjYyMDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFy
dHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU1NzAsNiArNTU3Niw4IEBACiAJCQkJ
OTlGNjQyRDIxRkFCRTM3ODAwOTYyMUU5IC8qIENvb3JkaW5hdGVTeXN0ZW0uaCAqLywKIAkJCQk5
OTAzNkFFODIzQTk3MDg3MDAwMEIwNkEgLyogRGVidWdnYWJsZUluZm9EYXRhLmNwcCAqLywKIAkJ
CQk5OTAzNkFFNzIzQTk3MDg3MDAwMEIwNkEgLyogRGVidWdnYWJsZUluZm9EYXRhLmggKi8sCisJ
CQkJNDZGNzdEN0YyM0JFNjNCMjAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
LmNwcCAqLywKKwkJCQk0NkY3N0Q3RTIzQkU2M0IxMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nl
c3NBc3NlcnRpb24uaCAqLywKIAkJCQkyRDdGRDE5MDIyM0M3MzBGMDA3ODg3RjEgLyogRG9jdW1l
bnRFZGl0aW5nQ29udGV4dC5oICovLAogCQkJCTJEN0ZEMTkxMjIzQzczMTAwMDc4ODdGMSAvKiBE
b2N1bWVudEVkaXRpbmdDb250ZXh0Lm1tICovLAogCQkJCUM1MTczODgwMTJERjhGNEYwMEVFM0Y0
NyAvKiBEcmFnQ29udHJvbGxlckFjdGlvbi5oICovLApAQCAtNjQ1NSw2ICs2NDYzLDcgQEAKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQTdFOTNDRUIxOTI1MzFBQTAw
QTFEQzQ4IC8qIEF1eGlsaWFyeVByb2Nlc3NJT1MubW0gKi8sCisJCQkJNDZGNzdEODEyM0JFNjNE
QzAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tICovLAogCQkJCTJE
QTY3MzE5MjBDNzU0QjEwMDNDQjQwMSAvKiBEeW5hbWljVmlld3BvcnRTaXplVXBkYXRlLmggKi8s
CiAJCQkJMkRBOTQ0OUQxODg0RTRGMDAwRUQ4NkRCIC8qIEdlc3R1cmVUeXBlcy5oICovLAogCQkJ
CUM1QkNFNURBMUM1MDc2MUQwMENERTNGQSAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3Np
dGlvbi5oICovLApAQCAtOTYwNiw2ICs5NjE1LDcgQEAKIAkJCQlBMTNCM0RBMTIwN0YzOURFMDA5
MEM1OEQgLyogTW9iaWxlV2lGaVNQSS5oICovLAogCQkJCTMxNzhBRjk3MjBFMkE3RjgwMDc0REU5
NCAvKiBQREZLaXRTUEkuaCAqLywKIAkJCQkyREMxOEZBRjIxODkxMjY0MDAyNUE4OEQgLyogUGVu
Y2lsS2l0U1BJLmggKi8sCisJCQkJNDZGREE4RjYyM0JFNTg1OTAwQjE5OEZBIC8qIFJ1bm5pbmdC
b2FyZFNlcnZpY2VzU1BJLmggKi8sCiAJCQkJQ0UxQTBCRDAxQTQ4RTZDNjAwNTRFRjc0IC8qIFRD
Q1NQSS5oICovLAogCQkJCUNFMUEwQkQxMUE0OEU2QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRTUEku
aCAqLywKIAkJCQlDRUU0QUUyQTFBNURDRjQzMDAwMkY0OUIgLyogVUlLaXRTUEkuaCAqLywKQEAg
LTk5NzQsNiArOTk4NCw3IEBACiAJCQkJMUFDNzUzODAxODNCRTUwRjAwNzJDQjE1IC8qIERhdGFS
ZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5MDM2QUU5MjNBOTcwODcwMDAwQjA2QSAv
KiBEZWJ1Z2dhYmxlSW5mb0RhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyREE2MTBGNDM3
RDEwMDU4QzE1QSAvKiBEZWNvZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NkY3N0Q4MDIzQkU2
M0JFMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTU3RENFREFCMjE0QzYwMDkwMDE2Qjg0NyAvKiBEZXZpY2VJZGVudGl0eVNQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMDcyOTdGOUYxQzE3QkJFQTAxNUYwNzM1IC8qIERldmljZUlkSGFz
aFNhbHRTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDBDNTZGRDIyOUYxREVBMDBCRDMz
RTcgLyogRGV2aWNlTWFuYWdlbWVudFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKQEAgLTEwMjcw
LDYgKzEwMjgxLDcgQEAKIAkJCQk3QUZCRDM2QTIxRTU0MkYxMDA1REJBQ0IgLyogUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTMw
MDY2RTExMTBGNEY3MDAzMTkzN0MgLyogUmVzcG9uc2l2ZW5lc3NUaW1lci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDEwNDgyQ0UxREREMzI0RjAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQ2RkRBOEY3MjNCRTU4NjkwMEIxOThGQSAvKiBSdW5uaW5nQm9hcmRTZXJ2
aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEU5N0Q3NEQyMDBFOTAwNDAwQkY2NjQzIC8q
IFNhZmVCcm93c2luZ1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNBOTg1NEEyMTBCRUI2NDAw
NTdFQjZCIC8qIFNhZmVCcm93c2luZ1dhcm5pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkQw
MjE3MTJBQzQxQ0IwMEU3MzJBMyAvKiBTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZS5oIGluIEhl
YWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYzRh
ZDM5ZjkwYzc1YzFjZDEzNzliZTI0YTYxNDIyNmU5OWRhNmNhZS4uYmIwZGRkN2NmY2ZjMWUyODU0
NGI0M2I0NTY2ZGNkYWUyZTNiOTljMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkFQSVBhZ2VIYW5kbGUuaCIKICNp
bmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJBdXhpbGlhcnlQcm9j
ZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIgog
I2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCiAj
aW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKQEAgLTI3MSw3ICsyNzIsMTEgQEAgdm9pZCBXZWJQ
cm9jZXNzOjppbml0aWFsaXplQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24p
CiAgICAgbV9ldmVudERpc3BhdGNoZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24p
OwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgbV92aWV3VXBkYXRlRGlzcGF0Y2hlci0+
aW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CisKKyAgICBBU1NFUlQoIW1fdWlQcm9j
ZXNzRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24pOworICAgIG1fdWlQcm9jZXNzRGVwZW5kZW5j
eVByb2Nlc3NBc3NlcnRpb24gPSBtYWtlVW5pcXVlPERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
Pihjb25uZWN0aW9uLT5yZW1vdGVQcm9jZXNzSUQoKSwgIldlYkNvbnRlbnQgcHJvY2VzcyBkZXBl
bmRlbmN5IG9uIFVJUHJvY2VzcyJfcyk7CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KwogICAgIG1fd2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci0+aW5pdGlhbGl6ZUNvbm5l
Y3Rpb24oY29ubmVjdGlvbik7CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKQEAg
LTI4MiwxMiArMjg3LDYgQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplQ29ubmVjdGlvbihJ
UEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24pCiAgICAgICAgIHN1cHBsZW1lbnQtPmluaXRpYWxp
emVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOwogCiAgICAgbV93ZWJDb25uZWN0aW9uID0gV2ViQ29u
bmVjdGlvblRvVUlQcm9jZXNzOjpjcmVhdGUodGhpcyk7Ci0KLSNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQotICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGFuIElQQzo6Q29ubmVjdGlvbiBiZWZvcmUg
Y3JlYXRpbmcgdGhlIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBzaW5jZSBpdCBtYXkgY2FsbAot
ICAgIC8vIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSBvbiBhIGJhY2tn
cm91bmQgdGhyZWFkIGFuZCBkZWZlcmVuY2UgdGhlIElQQyBjb25uZWN0aW9uLgotICAgIG1fdGFz
a1N0YXRlT2JzZXJ2ZXIgPSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNyZWF0ZSgqdGhpcyk7
Ci0jZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCmluZGV4IDhmOWJmZTU3MTVkNDIyNTlhM2EzYjMxNzA1YWMzNGY2ZjEz
YjFkMzguLjUxNDcyMjQ5N2MyNDFkMzBlZTJjZGNiZjU4Y2Q5Y2VkZmJmNTA4OTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNjUsMTEgKzY1LDYgQEAKICNpbmNsdWRl
IDx3dGYvTWFjaFNlbmRSaWdodC5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQotI2luY2x1ZGUgIlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oIgotT0JKQ19DTEFTUyBCS1NQ
cm9jZXNzQXNzZXJ0aW9uOwotI2VuZGlmCi0KICNpZiBQTEFURk9STShXQVlMQU5EKSAmJiBVU0Uo
V1BFX1JFTkRFUkVSKQogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1EaXNwbGF5TGliV1BFLmg+
CiAjZW5kaWYKQEAgLTEwNSw2ICsxMDAsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNvbnRleHRE
YXRhOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorY2xhc3MgRGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb247CiBjbGFzcyBFdmVudERpc3BhdGNoZXI7CiBjbGFzcyBHYW1lcGFkRGF0YTsKIGNsYXNz
IEdQVVByb2Nlc3NDb25uZWN0aW9uOwpAQCAtMTQwLDExICsxMzYsNyBAQCBzdHJ1Y3QgV2Vic2l0
ZURhdGFTdG9yZVBhcmFtZXRlcnM7CiBjbGFzcyBMYXllckhvc3RpbmdDb250ZXh0OwogI2VuZGlm
CiAKLWNsYXNzIFdlYlByb2Nlc3MKLSAgICA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICAsIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Q2xp
ZW50Ci0jZW5kaWYKK2NsYXNzIFdlYlByb2Nlc3MgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzcwog
ewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtNDc0LDExICs0NjYs
OCBAQCBwcml2YXRlOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIHZv
aWQgcHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRh
c2tTdGF0ZSkgZmluYWw7CiAgICAgYm9vbCBzaG91bGRGcmVlemVPblN1c3BlbnNpb24oKSBjb25z
dDsKICAgICB2b2lkIHVwZGF0ZUZyZWV6ZXJTdGF0dXMoKTsKLQotICAgIHZvaWQgcmVsZWFzZVBy
b2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVklERU8p
CkBAIC01NjMsMTAgKzU1Miw3IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlciBtX3dlYlNRTGl0ZURhdGFiYXNlVHJhY2tl
cjsKLSAgICBSZWZQdHI8UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyPiBtX3Rhc2tTdGF0ZU9ic2Vy
dmVyOwotICAgIExvY2sgbV9wcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnNMb2NrOwotICAgIFJl
dGFpblB0cjxCS1NQcm9jZXNzQXNzZXJ0aW9uPiBtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRp
b247Ci0gICAgUmV0YWluUHRyPEJLU1Byb2Nlc3NBc3NlcnRpb24+IG1fcHJvY2Vzc1dhc1Jlc3Vt
ZWRPd25Bc3NlcnRpb247CisgICAgc3RkOjp1bmlxdWVfcHRyPERlcGVuZGVuY3lQcm9jZXNzQXNz
ZXJ0aW9uPiBtX3VpUHJvY2Vzc0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOwogI2VuZGlmCiAK
ICAgICBlbnVtIFBhZ2VNYXJraW5nTGF5ZXJzQXNWb2xhdGlsZUNvdW50ZXJUeXBlIHsgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmlu
ZGV4IGYwN2U0ZTdlOTA0NjhjMTliYTE2MjI2MjhiNDhjZWFiNDQxNzk3MzcuLjk3M2Y1YzQ4NmIx
MmIwN2NiYmJhZmQ0M2IxYmMwOWRhODk1OTk3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtOTEsNiArOTEsNyBAQAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5o
IgogI2ltcG9ydCAiQXNzZXJ0aW9uU2VydmljZXNTUEkuaCIKKyNpbXBvcnQgIlJ1bm5pbmdCb2Fy
ZFNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJVc2VySW50ZXJmYWNlSWRpb20uaCIKICNpbXBvcnQg
IldLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RJT1MuaCIKICNpbXBvcnQgPFVJS2l0L1VJQWNj
ZXNzaWJpbGl0eS5oPgpAQCAtMzIyLDYxICszMjMsNiBAQCB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0
ZVByb2Nlc3NOYW1lKCkKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiB9CiAKLSNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotdm9pZCBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdl
KFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6VGFza1N0YXRlIHRhc2tTdGF0ZSkKLXsKLSAgICAv
LyBOT1RFOiBUaGlzIHdpbGwgYmUgY2FsbGVkIGZyb20gYSBiYWNrZ3JvdW5kIHRocmVhZC4KLSAg
ICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vz
c1Rhc2tTdGF0ZURpZENoYW5nZSgpIC0gdGFza1N0YXRlKCVkKSIsIHRoaXMsIHRhc2tTdGF0ZSk7
Ci0gICAgaWYgKHRhc2tTdGF0ZSAhPSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlJ1bm5pbmcp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIExvY2tIb2xkZXIgaG9sZGVyKG1fcHJvY2Vzc1dhc1Jl
c3VtZWRBc3NlcnRpb25zTG9jayk7Ci0gICAgaWYgKG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2Vy
dGlvbiAmJiBtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uKQotICAgICAgICByZXR1cm47
Ci0KLSAgICAvLyBXZSB3ZXJlIGF3YWtlbmVkIGZyb20gc3VzcGVuc2lvbiB1bmV4cGVjdGVkbHku
IE5vdGlmeSB0aGUgV2ViUHJvY2Vzc1Byb3h5LCBidXQgdGFrZSBhIHByb2Nlc3MgYXNzZXJ0aW9u
IG9uIG91ciBwYXJlbnQgUElECi0gICAgLy8gdG8gZW5zdXJlIHRoYXQgaXQgdG9vIGlzIGF3YWtl
bmVkLgotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNz
Ojpwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZCgpIFRha2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1l
ZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBvbiBVSVByb2Nlc3MiLCB0aGlzKTsKLSAgICBtX3Byb2Nl
c3NXYXNSZXN1bWVkVUlBc3NlcnRpb24gPSBhZG9wdE5TKFtbQktTUHJvY2Vzc0Fzc2VydGlvbiBh
bGxvY10gaW5pdFdpdGhQSUQ6cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+cmVtb3RlUHJvY2Vz
c0lEKCkgZmxhZ3M6QktTUHJvY2Vzc0Fzc2VydGlvblByZXZlbnRUYXNrU3VzcGVuZCByZWFzb246
QktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZpbmlzaFRhc2sgbmFtZTpAIldlYlByb2Nlc3Mgd2Fz
IHJlc3VtZWQiIHdpdGhIYW5kbGVyOl4oQk9PTCBhY3F1aXJlZCkgewotICAgICAgICBpZiAoIWFj
cXVpcmVkKQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24s
ICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSBmYWlsZWQgdG8g
dGFrZSAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIGZvciBwYXJlbnQgcHJvY2Vz
cyIsIHRoaXMpOwotICAgIH1dKTsKLSAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24u
Z2V0KCkuaW52YWxpZGF0aW9uSGFuZGxlciA9IFt0aGlzXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9H
X0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0
YXRlQ2hhbmdlZCgpIFJlbGVhc2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9u
IG9uIGJlaGFsZiBvbiBVSVByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIsIHRoaXMpOwotICAg
ICAgICByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7Ci0gICAgfTsKLSAgICBt
X3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3Nl
cnRpb24gYWxsb2NdIGluaXRXaXRoUElEOmdldHBpZCgpIGZsYWdzOkJLU1Byb2Nlc3NBc3NlcnRp
b25QcmV2ZW50VGFza1N1c3BlbmQgcmVhc29uOkJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5p
c2hUYXNrIG5hbWU6QCJXZWJQcm9jZXNzIHdhcyByZXN1bWVkIiB3aXRoSGFuZGxlcjpeKEJPT0wg
YWNxdWlyZWQpIHsKLSAgICAgICAgaWYgKCFhY3F1aXJlZCkKLSAgICAgICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFz
a1N0YXRlRGlkQ2hhbmdlKCkgZmFpbGVkIHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQn
IGFzc2VydGlvbiBmb3IgV2ViQ29udGVudCBwcm9jZXNzIiwgdGhpcyk7Ci0gICAgfV0pOwotICAg
IG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24uZ2V0KCkuaW52YWxpZGF0aW9uSGFuZGxl
ciA9IFt0aGlzXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9u
LCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZCgpIFJlbGVhc2luZyAn
V2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBvbiBXZWJDb250ZW50
IHByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIsIHRoaXMpOwotICAgICAgICByZWxlYXNlUHJv
Y2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7Ci0gICAgfTsKLQotICAgIHBhcmVudFByb2Nlc3ND
b25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5
OjpQcm9jZXNzV2FzUmVzdW1lZCgpLCBbdGhpc10gewotICAgICAgICBSRUxFQVNFX0xPRyhQcm9j
ZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5n
ZSgpIFBhcmVudCBwcm9jZXNzIGhhbmRsZWQgUHJvY2Vzc1dhc1Jlc3VtZWQgSVBDLCByZWxlYXNp
bmcgb3VyIGFzc2VydGlvbnMiLCB0aGlzKTsKLSAgICAgICAgcmVsZWFzZVByb2Nlc3NXYXNSZXN1
bWVkQXNzZXJ0aW9ucygpOwotICAgIH0pOwotfQotCi12b2lkIFdlYlByb2Nlc3M6OnJlbGVhc2VQ
cm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKQotewotICAgIExvY2tIb2xkZXIgaG9sZGVyKG1f
cHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zTG9jayk7Ci0gICAgaWYgKG1fcHJvY2Vzc1dhc1Jl
c3VtZWRVSUFzc2VydGlvbikgewotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lv
biwgIiVwIC0gV2ViUHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygp
IFJlbGVhc2luZyBwYXJlbnQgcHJvY2VzcyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0
aW9uIiwgdGhpcyk7Ci0gICAgICAgIFttX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24gaW52
YWxpZGF0ZV07Ci0gICAgICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiA9IG51bGxw
dHI7Ci0gICAgfQotICAgIGlmIChtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uKSB7Ci0g
ICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpy
ZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCkgUmVsZWFzaW5nIFdlYkNvbnRlbnQg
cHJvY2VzcyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIiwgdGhpcyk7Ci0gICAg
ICAgIFttX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uIGludmFsaWRhdGVdOwotICAgICAg
ICBtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uID0gbnVsbHB0cjsKLSAgICB9Ci19Ci0K
LSNlbmRpZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHN0YXRpYyBOU1N0cmluZyAqd2Vi
UHJvY2Vzc0xvYWRlckFjY2Vzc2liaWxpdHlCdW5kbGVQYXRoKCkKIHsKZGlmZiAtLWdpdCBhL1dl
YktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEzL1J1bm5pbmdC
b2FyZFNlcnZpY2VzLmZyYW1ld29yay9SdW5uaW5nQm9hcmRTZXJ2aWNlcy50YmQgYi9XZWJLaXRM
aWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMy9SdW5uaW5nQm9hcmRT
ZXJ2aWNlcy5mcmFtZXdvcmsvUnVubmluZ0JvYXJkU2VydmljZXMudGJkCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJj
YjdmZmM0MThlMzc3ZTViNzhmZGVjYTgxMGZjNTJmMzM5MzAyNzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMy9SdW5u
aW5nQm9hcmRTZXJ2aWNlcy5mcmFtZXdvcmsvUnVubmluZ0JvYXJkU2VydmljZXMudGJkCkBAIC0w
LDAgKzEsOSBAQAorLS0tICF0YXBpLXRiZC12MworYXJjaHM6ICAgICAgICAgICBbIHg4Nl82NCwg
YXJtNjQsIGFybTY0ZSBdCitpbnN0YWxsLW5hbWU6ICAgICcvU3lzdGVtL0xpYnJhcnkvUHJpdmF0
ZUZyYW1ld29ya3MvUnVubmluZ0JvYXJkU2VydmljZXMuZnJhbWV3b3JrL1J1bm5pbmdCb2FyZFNl
cnZpY2VzJworb2JqYy1jb25zdHJhaW50OiBub25lCitwbGF0Zm9ybTogaW9zCitleHBvcnRzOgor
ICAtIGFyY2hzOiAgICAgICAgICAgWyB4ODZfNjQsIGFybTY0LCBhcm02NGUgXQorICAgIG9iamMt
Y2xhc3NlczogICAgWyBSQlNBdHRyaWJ1dGUsIFJCU0RvbWFpbkF0dHJpYnV0ZSwgUkJTVGFyZ2V0
LCBSQlNBc3NlcnRpb24gXQorLi4uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388920</attachid>
            <date>2020-01-27 14:58:02 -0800</date>
            <delta_ts>2020-03-09 13:01:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205687-20200127145801.patch</filename>
            <type>text/plain</type>
            <size>37621</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE4ZDIxOTc0MzA2NDZhNWYy
Y2JlMDc4YjlkOTc4MjA4YWIwNGEwMTkuLjBiYWQ2NTYyMzI5NDkwOWM5NjFlMTRjOGM1OTBhN2Ew
ZjdlMDRjYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDEtMjcgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByZXZlcnQgcjI1
Mzk4NCBhcyBpdCBhcHBlYXJzIHRvIGJlIGNhdXNpbmcgYXNzZXJ0aW9uIGxlYWtzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1Njg3CisKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAgICAgICogUGxhdGZvcm0v
c3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oOiBSZW1vdmVkLgorICAgICAgICAqIFNj
cmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2g6CisgICAgICAgICogU2hhcmVkL0RlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvTmF0aXZl
V2ViVG91Y2hFdmVudC5oOgorICAgICAgICAqIFNoYXJlZC9pb3MvRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb25JT1MubW06IFJlbW92ZWQuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAg
ICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vz
c1Byb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cHJvY2Vz
c1dhc1Jlc3VtZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVD
b25uZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMpOgorCiAyMDIw
LTAxLTI3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcmV2ZXJ0IHIyNTQyMTAgYXMgaXQgc2VlbXMgdG8gYmUgY2F1c2luZyBwcm9jZXNzIGFz
c2VydGlvbiBsZWFrcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMv
V2ViS2l0LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNj
b25maWcKaW5kZXggMGVkOTJlMzJjZGI0NzM0N2IwYTNhYzg4NjczMTc1NGQ2NmQyNWVkMy4uNWNm
ZTJlODI4YmQyYjQzMzE2MGY4NjU0MGFlN2U0ODgyNzQ5ZTMwOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktp
dC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTUxLDkgKzUxLDYgQEAgV0tfQVBQ
S0lUX0xERkxBR1NfbWFjY2F0YWx5c3QgPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FTU0VSVElP
Tl9TRVJWSUNFU19MREZMQUdTID0gJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdL
X0NPQ09BX1RPVUNIKSk7CiBXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19jb2NvYXRvdWNo
ID0gLWZyYW1ld29yayBBc3NlcnRpb25TZXJ2aWNlczsKIAotV0tfUlVOTklOR0JPQVJEX1NFUlZJ
Q0VTX0xERkxBR1MgPSAkKFdLX1JVTk5JTkdCT0FSRF9TRVJWSUNFU19MREZMQUdTXyQoV0tfQ09D
T0FfVE9VQ0gpKTsKLVdLX1JVTk5JTkdCT0FSRF9TRVJWSUNFU19MREZMQUdTX2NvY29hdG91Y2gg
PSAtZnJhbWV3b3JrIFJ1bm5pbmdCb2FyZFNlcnZpY2VzOwotCiBXS19DQVJCT05fTERGTEFHUyA9
ICQoV0tfQ0FSQk9OX0xERkxBR1NfJChXS19QTEFURk9STV9OQU1FKSk7CiBXS19DQVJCT05fTERG
TEFHU19tYWNvc3ggPSAtZnJhbWV3b3JrIENhcmJvbjsKIApAQCAtMTI2LDcgKzEyMyw3IEBAIFdL
X0FVVEhLSVRfTERGTEFHU19JT1NfU0lOQ0VfMTMgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiBXS19B
VVRIS0lUX0xERkxBR1NfbWFjb3N4ID0gJChXS19BVVRIS0lUX0xERkxBR1MkKFdLX01BQ09TXzEw
MTUpKTsKIFdLX0FVVEhLSVRfTERGTEFHU19NQUNPU19TSU5DRV8xMDE1ID0gLWZyYW1ld29yayBB
dXRoS2l0OwogCi1GUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3
b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0
aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29y
ayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdv
cmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VT
U0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VS
VklDRVNfTERGTEFHUykgJChXS19SVU5OSU5HQk9BUkRfU0VSVklDRVNfTERGTEFHUykgJChXS19B
VVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QUkVESUNUSU9O
X0xERkxBR1MpICQoV0tfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0RFVklDRV9JREVOVElU
WV9MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfTElCU0FOREJP
WF9MREZMQUdTKSAkKFdLX0xJQldFQlJUQ19MREZMQUdTKSAkKFdLX01PQklMRV9DT1JFX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfTU9CSUxFX0dFU1RBTFRfTERGTEFHUykgJChXS19PUEVOR0xfTERG
TEFHUykgJChXS19QREZLSVRfTERGTEFHUykgJChXS19TQUZFX0JST1dTSU5HX0xERkxBR1MpICQo
V0tfU0VDVVJJVFlfSU5URVJGQUNFX0xERkxBR1MpICQoV0tfVUlLSVRfTERGTEFHUykgJChXS19V
UkxfRk9STUFUVElOR19MREZMQUdTKSAkKFdLX1dFQklOU1BFQ1RPUlVJX0xERkxBR1MpOworRlJB
TUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MgPSAtbG9iamMgLWZyYW1ld29yayBDRk5ldHdvcmsg
LWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3Jr
IENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAt
ZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3JrIElPU3VyZmFjZSAt
ZnJhbWV3b3JrIFdlYktpdExlZ2FjeSAtbG5ldHdvcmsgJChXS19BQ0NFU1NJQklMSVRZX0xERkxB
R1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1Mp
ICQoV0tfQVVUSEtJVF9MREZMQUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0NPUkVfUFJF
RElDVElPTl9MREZMQUdTKSAkKFdLX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19ERVZJQ0Vf
SURFTlRJVFlfTERGTEFHUykgJChXS19HUkFQSElDU19TRVJWSUNFU19MREZMQUdTKSAkKFdLX0xJ
QlNBTkRCT1hfTERGTEFHUykgJChXS19MSUJXRUJSVENfTERGTEFHUykgJChXS19NT0JJTEVfQ09S
RV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX01PQklMRV9HRVNUQUxUX0xERkxBR1MpICQoV0tfT1BF
TkdMX0xERkxBR1MpICQoV0tfUERGS0lUX0xERkxBR1MpICQoV0tfU0FGRV9CUk9XU0lOR19MREZM
QUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKSAkKFdLX1VJS0lUX0xERkxBR1Mp
ICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUykgJChXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdT
KTsKIAogLy8gUHJldmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBiYXNpY19zdHJpbmdzdHJlYW0s
IG9wZXJhdG9yIG5ldywgZGVsZXRlIGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBlcyBm
cm9tIGJlaW5nIGV4cG9ydGVkIGFzIHdlYWsgc3ltYm9scy4KIFVORVhQT1JURURfU1lNQk9MX0xE
RkxBR1MgPSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sIC1XbCxfX1pUU1N0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxf
X1pUU1N0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndtUHYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19abndtIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25J
RnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFF
T1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdX
ZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VEbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxf
X1pOS1N0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFY2xFUzJfIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUx
MlBvbGljeUFjdGlvbkVFRTRzd2FwRVJTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
TlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFFUktTNF8gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEy
UG9saWN5QWN0aW9uRUVFQzJFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0
M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDFFdiAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lB
Y3Rpb25FRUVEMkV2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rp
b25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRWTlN0M19fMTE3YmFkX2Z1bmN0aW9uX2NhbGxFIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJf
dHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUwX05TXzEzYmFzaWNfaXN0cmVhbUljUzJfRUUg
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVENOU3QzX18xMThiYXNpY19zdHJpbmdzdHJl
YW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRTBfTlNfMTRiYXNpY19p
b3N0cmVhbUljUzJfRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVENOU3QzX18xMThi
YXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVF
RTE2X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aVFROU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNf
OWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzEx
NWJhc2ljX3N0cmluZ2J1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVF
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRWTlN0M19fMTE4YmFzaWNfc3RyaW5nc3Ry
ZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19aVENOU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hh
cl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRThfTlNfMTNiYXNpY19vc3RyZWFtSWNTMl9F
RTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9h
cmRTZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1J1bm5pbmdC
b2FyZFNlcnZpY2VzU1BJLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3ZTBjYjFj
ZDc5M2MwMjUwN2M5NjhiZjRkZTE0MmFmNjdmNmYxNjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1J1
bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCA8Rm91
bmRhdGlvbi9Gb3VuZGF0aW9uLmg+Ci0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotCi0j
aW1wb3J0IDxSdW5uaW5nQm9hcmRTZXJ2aWNlcy9SdW5uaW5nQm9hcmRTZXJ2aWNlcy5oPgotCi0j
ZWxzZQotCi1AaW50ZXJmYWNlIFJCU0F0dHJpYnV0ZSA6IE5TT2JqZWN0Ci1AZW5kCi0KLUBpbnRl
cmZhY2UgUkJTRG9tYWluQXR0cmlidXRlIDogUkJTQXR0cmlidXRlCi0rIChpbnN0YW5jZXR5cGUp
YXR0cmlidXRlV2l0aERvbWFpbjooTlNTdHJpbmcgKilkb21haW4gbmFtZTooTlNTdHJpbmcgKilu
YW1lOwotQGVuZAotCi1AaW50ZXJmYWNlIFJCU1RhcmdldCA6IE5TT2JqZWN0Ci0rIChSQlNUYXJn
ZXQgKil0YXJnZXRXaXRoUGlkOihwaWRfdClwaWQ7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgUkJTQXNz
ZXJ0aW9uIDogTlNPYmplY3QKLS0gKGluc3RhbmNldHlwZSlpbml0V2l0aEV4cGxhbmF0aW9uOihO
U1N0cmluZyAqKWV4cGxhbmF0aW9uIHRhcmdldDooUkJTVGFyZ2V0ICopdGFyZ2V0IGF0dHJpYnV0
ZXM6KE5TQXJyYXkgPFJCU0F0dHJpYnV0ZSAqPiAqKWF0dHJpYnV0ZXM7Ci0tIChCT09MKWFjcXVp
cmVXaXRoRXJyb3I6KE5TRXJyb3IgKiopZXJyb3I7Ci0tICh2b2lkKWludmFsaWRhdGU7Ci1AZW5k
Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50
aXRsZW1lbnRzLnNoIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRz
LnNoCmluZGV4IDk4ZmI1YTVlZWJkYTM3YWE2ODU4YjU3YmRkNGU2ZTYzMWRkZjAxZDIuLjYxYTQ2
MjU3NjdjMjEwN2M0NTU4YWY4OGZmMTY3NTBiNjEzODM3OWYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKQEAgLTEwOSw3ICsxMDksNiBAQCBmdW5j
dGlvbiBpb3NfZmFtaWx5X3Byb2Nlc3Nfd2ViY29udGVudF9lbnRpdGxlbWVudHMoKQogICAgIHBs
aXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5uZXR3b3JrLnNvY2tldC1kZWxlZ2F0ZSBi
b29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS53ZWJpbnNwZWN0
b3IuYWxsb3ctcmVtb3RlLWluc3BlY3Rpb24gYm9vbCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6
Y29tLmFwcGxlLnByaXZhdGUud2ViaW5zcGVjdG9yLnByb3h5LWFwcGxpY2F0aW9uIGJvb2wgWUVT
Ci0gICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5ydW5uaW5nYm9hcmQuYXNzZXJ0aW9ucy53
ZWJraXQgYm9vbCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6ZHluYW1pYy1jb2Rlc2lnbmluZyBi
b29sIFlFUwogCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS50Y2MuZGVsZWdhdGVkLXNl
cnZpY2VzIGFycmF5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5
UHJvY2Vzc0Fzc2VydGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1ZDUyNTFj
YzhiNmNkZDk2N2JlODU3NjUwMjdmMDljYjQxNTA5ZmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb24uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbi5oIgotCi0jaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0KLW5hbWVzcGFjZSBXZWJL
aXQgewotCi1EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3Nl
cnRpb24oUHJvY2Vzc0lELCBBU0NJSUxpdGVyYWwgZGVzY3JpcHRpb24pCi17Ci0gICAgVU5VU0VE
X1BBUkFNKGRlc2NyaXB0aW9uKTsKLX0KLQotRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246On5E
ZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbigpCi17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktp
dAotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0RlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vz
c0Fzc2VydGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTAxYWE1MjdjMDA2
MjQ5NzgxNjUyOTE4N2Q1NmU0NWJiMTE3MTg1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNz
QXNzZXJ0aW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlIDx3dGYvUHJvY2Vzc0lELmg+Ci0jaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L0FTQ0lJTGl0ZXJhbC5oPgotCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLU9CSkNfQ0xBU1MgUkJTQXNzZXJ0aW9uOwotI2VuZGlmCi0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbiB7
Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgRGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lEIHRhcmdldFBJRCwgQVNDSUlMaXRlcmFsIGRlc2NyaXB0
aW9uKTsKLSAgICB+RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oKTsKLQotcHJpdmF0ZToKLSNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFJldGFpblB0cjxSQlNBc3NlcnRpb24+IG1fYXNz
ZXJ0aW9uOwotI2VuZGlmCi19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYlRvdWNoRXZlbnQuaCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL05hdGl2ZVdlYlRvdWNoRXZlbnQuaAppbmRleCBmNWQ3MmY4N2I1YjEyNGRiZTE0
MGRmN2FkMzg3ZTZiOGEzY2ExZGFhLi4zOTEwYTQ4Yzc1N2M1Nzg3NjAzNzFjYjViODc1YTRiYzA2
ODYwNzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViVG91Y2hFdmVudC5oCkBA
IC0yNywxNCArMjcsMTEgQEAKIAogI2luY2x1ZGUgIldlYkV2ZW50LmgiCiAKLSNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKSAmJiBkZWZpbmVkKF9fT0JKQ19fKQotI2luY2x1ZGUgPFVJS2l0L1VJS2l0
Lmg+Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogI2lmIGRlZmluZWQoX19PQkpDX18pCisjaW5jbHVkZSA8VUlLaXQvVUlLaXQu
aD4KIHN0cnVjdCBfVUlXZWJUb3VjaEV2ZW50OwogI2VuZGlmCiAjZWxpZiBQTEFURk9STShHVEsp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvRGVwZW5kZW5jeVByb2Nl
c3NBc3NlcnRpb25JT1MubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmNWRiOGYx
NDVjNjRiMjc2YjJmNjQ0Nzc5NDg2NjJmOWMyMDZjODMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0RlcGVuZGVu
Y3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiRGVwZW5kZW5jeVByb2Nl
c3NBc3NlcnRpb24uaCIKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0KLSNpbXBvcnQgIlJ1
bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1EZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lE
IHRhcmdldFBJRCwgQVNDSUlMaXRlcmFsIGRlc2NyaXB0aW9uKQotewotICAgIFJCU1RhcmdldCAq
dGFyZ2V0ID0gW1JCU1RhcmdldCB0YXJnZXRXaXRoUGlkOnRhcmdldFBJRF07Ci0gICAgUkJTRG9t
YWluQXR0cmlidXRlICpkb21haW5BdHRyaWJ1dGUgPSBbUkJTRG9tYWluQXR0cmlidXRlIGF0dHJp
YnV0ZVdpdGhEb21haW46QCJjb20uYXBwbGUud2Via2l0IiBuYW1lOkAiRGVwZW5kZW50UHJvY2Vz
c0xpbmsiXTsKLSAgICBtX2Fzc2VydGlvbiA9IGFkb3B0TlMoW1tSQlNBc3NlcnRpb24gYWxsb2Nd
IGluaXRXaXRoRXhwbGFuYXRpb246U3RyaW5nIHsgZGVzY3JpcHRpb24gfSB0YXJnZXQ6dGFyZ2V0
IGF0dHJpYnV0ZXM6QFtkb21haW5BdHRyaWJ1dGVdXSk7Ci0gICAgTlNFcnJvciAqYWNxdWlzaXRp
b25FcnJvciA9IG5pbDsKLSAgICBpZiAoIVttX2Fzc2VydGlvbiBhY3F1aXJlV2l0aEVycm9yOiZh
Y3F1aXNpdGlvbkVycm9yXSkKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkRl
cGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjogRmFp
bGVkIHRvIGFjcXVpcmUgZGVwZW5kZW5jeSBwcm9jZXNzIGFzc2VydGlvbiAnJXtwdWJsaWN9cycs
IGVycm9yOiAle3B1YmxpY31AIiwgZGVzY3JpcHRpb24uY2hhcmFjdGVycygpLCBhY3F1aXNpdGlv
bkVycm9yKTsKLSAgICBlbHNlCi0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246IFN1Y2Nlc3Nm
dWxseSB0b29rIGEgZGVwZW5kZW5jeSBwcm9jZXNzIGFzc2VydGlvbiAnJXtwdWJsaWN9cycgZm9y
IHRhcmdldCBwcm9jZXNzIHdpdGggUElEICVkIiwgZGVzY3JpcHRpb24uY2hhcmFjdGVycygpLCB0
YXJnZXRQSUQpOwotfQotCi1EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uKCkKLXsKLSAgICBbbV9hc3NlcnRpb24gaW52YWxpZGF0ZV07Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0CmluZGV4IDNkYTI4MDBjOWM1ZjdlYWU5ZmFlMmYzNmRhZDAxMzEyMzdmODllMjku
LjFhMTZiMWY1NDQxMDgyM2UyOWJhYzY2NDY3MDJhMzA4ODc2MjNlMTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApA
QCAtMTQyLDcgKzE0Miw2IEBAIFNoYXJlZC9CbG9iRGF0YUZpbGVSZWZlcmVuY2VXaXRoU2FuZGJv
eEV4dGVuc2lvbi5jcHAgQG5vLXVuaWZ5CiBTaGFyZWQvQ2FjaGVNb2RlbC5jcHAKIFNoYXJlZC9D
b250ZXh0TWVudUNvbnRleHREYXRhLmNwcAogU2hhcmVkL0RlYnVnZ2FibGVJbmZvRGF0YS5jcHAK
LVNoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAKIFNoYXJlZC9FZGl0aW5nUmFu
Z2UuY3BwCiBTaGFyZWQvRWRpdG9yU3RhdGUuY3BwCiBTaGFyZWQvRm9udEluZm8uY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXNDb2NvYS50eHQKaW5kZXggNmE4ZTJlNjkwNWMzNWJjMWJjNDhjNDY5YTZlYzZjODVkNWY4
MjRiOC4uNDk0ZGFhNGEzZGE0Nzk3NDNmNGI1MTE0YTg0YTE4MDllNzY3OWE2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291
cmNlc0NvY29hLnR4dApAQCAtMTczLDcgKzE3Myw2IEBAIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9pbnQubW0KIFNoYXJlZC9FbnRy
eVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KIAogU2hh
cmVkL2lvcy9BdXhpbGlhcnlQcm9jZXNzSU9TLm1tCi1TaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9j
ZXNzQXNzZXJ0aW9uSU9TLm1tCiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBv
c2l0aW9uLm1tCiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0LmNwcAog
U2hhcmVkL2lvcy9OYXRpdmVXZWJLZXlib2FyZEV2ZW50SU9TLm1tCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IDYw
OTkzNmQ4NzUxZGQ2ZDI3NjkyMGI5YzRhMTc4NjEzNTBmZGRkYmUuLmY2MGQ2MzA5NTUzY2M5YmUz
NjY5MTYxMzFmMmViMzE2OWY0MWZiYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0xOTAsNCArMTkwLDI0IEBA
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpyZWxlYXNlSGlnaFBlcmZvcm1hbmNlR1BVKCkKIH0KICNl
bmRpZgogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpw
cm9jZXNzV2FzUmVzdW1lZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCit7CisgICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5nU2NvcGUgZXhpdFNjb3BlKFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKworICAgIGlmIChtX3Rocm90dGxlci5zaG91bGRC
ZVJ1bm5hYmxlKCkpIHsKKyAgICAgICAgLy8gVGhlIHByb2Nlc3MgYmVjb21pbmcgdW5zdXNwZW5k
ZWQgd2FzIG5vdCB1bmV4cGVjdGVkLgorICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8g
VGhlIFdlYlByb2Nlc3Mgd2FzIGF3YWtlbmVkIGJ5IHNvbWV0aGluZyBvdGhlciB0aGFuIHRoZSBV
SVByb2Nlc3MuIFRha2Ugb3V0IGFuIGFzc2VydGlvbiBmb3IgYQorICAgIC8vIGxpbWl0ZWQgZHVy
YXRpb24gdG8gYWxsb3cgd2hhdGV2ZXIgdGFzayBuZWVkcyB0byBiZSBhY2NvbXBsaXNoZWQgdGlt
ZSB0byBjb21wbGV0ZS4KKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0g
V2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzUmVzdW1lZCgpIFByb2Nlc3Mgd2FzIHVuZXhwZWN0
ZWRseSByZXN1bWVkLCBzdGFydGluZyBiYWNrZ3JvdW5kIGFjdGl2aXR5IiwgdGhpcyk7CisgICAg
YXV0byBiYWNrZ3JvdW5kQWN0aXZpdHlUaW1lb3V0SGFuZGxlciA9IFthY3Rpdml0eSA9IG1fdGhy
b3R0bGVyLmJhY2tncm91bmRBY3Rpdml0eSgiV2ViUHJvY2VzcyB3YXMgdW5leHBlY3RlZGx5IHJl
c3VtZWQiX3MpLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSB7CisgICAgICAgIFJFTEVB
U0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NX
YXNSZXN1bWVkKCkgLSBsYW1iZGEsIGJhY2tncm91bmQgYWN0aXZpdHkgdGltZWQgb3V0Iiwgd2Vh
a1RoaXMuZ2V0KCkpOworICAgIH07CisgICAgbV91bmV4cGVjdGVkQWN0aXZpdHlUaW1lciA9IG1h
a2VVbmlxdWU8V2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcj4oV1RGTW92ZShiYWNrZ3Jv
dW5kQWN0aXZpdHlUaW1lb3V0SGFuZGxlciksIHVuZXhwZWN0ZWRBY3Rpdml0eUR1cmF0aW9uKTsK
K30KKyNlbmRpZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5o
CmluZGV4IDYyOWY0ODA5OWI4OWYzNjRjNGFlM2RhMjhjOTZkYWRhNDUzNjg5NDcuLjEzMmRmYjM4
Y2Y3NjU2MzFlMDcxZjM1YzI1MzJjYjlmYTI4M2M4YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC0zMjgsNiArMzI4LDEwIEBAIHB1YmxpYzoKICAgICB2
b2lkIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgogCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICB2b2lkIHByb2Nlc3NXYXNSZXN1bWVkKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7CisjZW5kaWYKKwogICAgIHZvaWQgd2ViUGFnZU1lZGlhU3Rh
dGVEaWRDaGFuZ2UoV2ViUGFnZVByb3h5Jik7CiAKICAgICB2b2lkIHJlZigpIGZpbmFsIHsgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ6OnJlZigpOyB9CkBAIC01MDIsNiArNTA2LDcgQEAgcHJpdmF0ZToK
ICAgICBCYWNrZ3JvdW5kV2ViUHJvY2Vzc1Rva2VuIG1fYmFja2dyb3VuZFRva2VuOwogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgYm9vbCBtX2hhc1NlbnRNZXNzYWdlVG9VbmJsb2NrQWNj
ZXNzaWJpbGl0eVNlcnZlciB7IGZhbHNlIH07CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OkRlZmVycmFibGVPbmVTaG90VGltZXI+IG1fdW5leHBlY3RlZEFjdGl2aXR5VGltZXI7CiAjZW5k
aWYKIAogICAgIEhhc2hNYXA8U3RyaW5nLCB1aW50NjRfdD4gbV9wYWdlVVJMUmV0YWluQ291bnRN
YXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggNmUxYTRjNGYyODQ4YzY3ZGE1ZGZmMDI5ZDVmYWNjZWRlZjhhZGZhNi4u
Mzk4MWNiYjA1NTU4NTVlYTU5YTg2MTBmYjg4NjhjODE3YjE2YWM3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzIs
NiArNzIsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBTdG9wRGlzcGxheUxpbmsodW5zaWduZWQgb2JzZXJ2ZXJJRCwgdWludDMyX3QgZGlzcGxh
eUlEKQogI2VuZGlmCiAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIFByb2Nlc3NXYXNS
ZXN1bWVkKCkgLT4gKCkgQXN5bmMKKyNlbmRpZgorCiAgICAgIyBQbHVnLWluIG1lc3NhZ2VzLgog
ICAgIHZvaWQgQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChTdHJpbmcgcGFnZU9yaWdpbiwg
dWludDMyX3QgaGFzaCkKICAgICB2b2lkIFBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24o
dWludDMyX3QgaGFzaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDRlNjVmYTNkYWFmMmRmYjIwYzk0ZTcxZjk0YzhjMmZjNmQ0MjEzOTcu
LjlmY2I4NmRjMjRhMTVhOWFkM2VmMGI3ODE0YWY2MDBiNjgwNGZkYWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTUyLDkgKzk1Miw3
IEBACiAJCTQ2QzM5MjI5MjMxNkVDNEQwMDhFRUQ5QiAvKiBXZWJQYWdlUHJveHlJZGVudGlmaWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMzOTIy
ODIzMTZFQzREMDA4RUVEOUIgLyogV2ViUGFnZVByb3h5SWRlbnRpZmllci5oICovOyB9OwogCQk0
NkNFM0IxMTIzRDhDODQ5MDAxNkE5NkEgLyogV2ViQmFja0ZvcndhcmRMaXN0Q291bnRzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkNFM0IxMDIzRDhD
ODNEMDAxNkE5NkEgLyogV2ViQmFja0ZvcndhcmRMaXN0Q291bnRzLmggKi87IH07CiAJCTQ2REYw
NjNDMUYzOTA1RjgwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REYwNjNBMUYzOTA1
RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCAqLzsgfTsKLQkJNDZG
NzdEODAyM0JFNjNCRTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkY3N0Q3RTIzQkU2
M0IxMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCAqLzsgfTsKIAkJNDZG
OUIyNjMyMzUyNkVGMzAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZGOUIyNjIyMzUyNkVE
MDAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oICovOyB9OwotCQk0NkZEQThG
NzIzQkU1ODY5MDBCMTk4RkEgLyogUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RkRBOEY2MjNCRTU4NTkwMEIx
OThGQSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oICovOyB9OwogCQk0OTYwQTNCRDIzQzUy
QUZEMDA5NjE4NDIgLyogV2ViVmlld0NhdGVnb3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTYwQTNCQzIzQzUyODY0MDA5NjE4NDIgLyogV2ViVmll
d0NhdGVnb3J5LmggKi87IH07CiAJCTQ5QkNBMTkyMjNBMTc3NjYwMDI4QTgzNiAvKiBBUElSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDlCQ0ExOTEyM0ExNzc2NjAwMjhBODM2IC8qIEFQSVJlc291
cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5LmggKi87IH07CiAJCTQ5QkNBMTk1MjNBMThDRkQw
MDI4QTgzNiAvKiBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eUludGVybmFsLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUJDQTE5MDIz
QTE3NTQ5MDAyOEE4MzYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHlJbnRl
cm5hbC5oICovOyB9OwpAQCAtMzQ5MywxMSArMzQ5MSw3IEBACiAJCTQ2Q0UzQjEwMjNEOEM4M0Qw
MDE2QTk2QSAvKiBXZWJCYWNrRm9yd2FyZExpc3RDb3VudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViQmFja0ZvcndhcmRMaXN0Q291bnRzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ2REYwNjM5MUYzOTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1By
ZWZsaWdodENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDZERjA2M0ExRjM5MDVFNTAwMTk4MEJCIC8qIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hl
Y2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrQ09SU1ByZWZs
aWdodENoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDZGNzdEN0UyM0JF
NjNCMTAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2Rjc3RDdGMjNCRTYzQjIwMDkwQjVBNyAvKiBEZXBl
bmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTQ2Rjc3RDgxMjNCRTYzREMwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vz
c0Fzc2VydGlvbklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9
IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOyBwYXRoID0gaW9zL0RlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkY5
QjI2MjIzNTI2RUQwMDA2RkU1RkEgLyogV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NkZEQThGNjIzQkU1ODU5MDBCMTk4RkEgLyog
UnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDk2MEEzQkMyM0M1Mjg2NDAwOTYxODQyIC8qIFdlYlZpZXdDYXRlZ29yeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJWaWV3Q2F0ZWdvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDlCQ0ExOTAyM0ExNzU0OTAwMjhBODM2IC8qIF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJz
dFBhcnR5SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0ZpcnN0UGFydHlJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUJD
QTE5MTIzQTE3NzY2MDAyOEE4MzYgLyogQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFy
dHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU2ODAsOCArNTY3NCw2IEBACiAJCQkJ
OTlGNjQyRDIxRkFCRTM3ODAwOTYyMUU5IC8qIENvb3JkaW5hdGVTeXN0ZW0uaCAqLywKIAkJCQk5
OTAzNkFFODIzQTk3MDg3MDAwMEIwNkEgLyogRGVidWdnYWJsZUluZm9EYXRhLmNwcCAqLywKIAkJ
CQk5OTAzNkFFNzIzQTk3MDg3MDAwMEIwNkEgLyogRGVidWdnYWJsZUluZm9EYXRhLmggKi8sCi0J
CQkJNDZGNzdEN0YyM0JFNjNCMjAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
LmNwcCAqLywKLQkJCQk0NkY3N0Q3RTIzQkU2M0IxMDA5MEI1QTcgLyogRGVwZW5kZW5jeVByb2Nl
c3NBc3NlcnRpb24uaCAqLywKIAkJCQkyRDdGRDE5MDIyM0M3MzBGMDA3ODg3RjEgLyogRG9jdW1l
bnRFZGl0aW5nQ29udGV4dC5oICovLAogCQkJCTJEN0ZEMTkxMjIzQzczMTAwMDc4ODdGMSAvKiBE
b2N1bWVudEVkaXRpbmdDb250ZXh0Lm1tICovLAogCQkJCUM1MTczODgwMTJERjhGNEYwMEVFM0Y0
NyAvKiBEcmFnQ29udHJvbGxlckFjdGlvbi5oICovLApAQCAtNjU3Myw3ICs2NTY1LDYgQEAKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQTdFOTNDRUIxOTI1MzFBQTAw
QTFEQzQ4IC8qIEF1eGlsaWFyeVByb2Nlc3NJT1MubW0gKi8sCi0JCQkJNDZGNzdEODEyM0JFNjNE
QzAwOTBCNUE3IC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tICovLAogCQkJCTJE
QTY3MzE5MjBDNzU0QjEwMDNDQjQwMSAvKiBEeW5hbWljVmlld3BvcnRTaXplVXBkYXRlLmggKi8s
CiAJCQkJMkRBOTQ0OUQxODg0RTRGMDAwRUQ4NkRCIC8qIEdlc3R1cmVUeXBlcy5oICovLAogCQkJ
CUM1QkNFNURBMUM1MDc2MUQwMENERTNGQSAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3Np
dGlvbi5oICovLApAQCAtOTc4Niw3ICs5Nzc3LDYgQEAKIAkJCQlBMTNCM0RBMTIwN0YzOURFMDA5
MEM1OEQgLyogTW9iaWxlV2lGaVNQSS5oICovLAogCQkJCTMxNzhBRjk3MjBFMkE3RjgwMDc0REU5
NCAvKiBQREZLaXRTUEkuaCAqLywKIAkJCQkyREMxOEZBRjIxODkxMjY0MDAyNUE4OEQgLyogUGVu
Y2lsS2l0U1BJLmggKi8sCi0JCQkJNDZGREE4RjYyM0JFNTg1OTAwQjE5OEZBIC8qIFJ1bm5pbmdC
b2FyZFNlcnZpY2VzU1BJLmggKi8sCiAJCQkJQ0UxQTBCRDAxQTQ4RTZDNjAwNTRFRjc0IC8qIFRD
Q1NQSS5oICovLAogCQkJCUNFMUEwQkQxMUE0OEU2QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRTUEku
aCAqLywKIAkJCQlDRUU0QUUyQTFBNURDRjQzMDAwMkY0OUIgLyogVUlLaXRTUEkuaCAqLywKQEAg
LTEwMTY0LDcgKzEwMTU0LDYgQEAKIAkJCQkxQUM3NTM4MDE4M0JFNTBGMDA3MkNCMTUgLyogRGF0
YVJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTkwMzZBRTkyM0E5NzA4NzAwMDBCMDZB
IC8qIERlYnVnZ2FibGVJbmZvRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEQTYxMEY0
MzdEMTAwNThDMTVBIC8qIERlY29kZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTQ2Rjc3RDgwMjNC
RTYzQkUwMDkwQjVBNyAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTdEQ0VEQUIyMTRDNjAwOTAwMTZCODQ3IC8qIERldmljZUlkZW50aXR5U1BJLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwNzI5N0Y5RjFDMTdCQkVBMDE1RjA3MzUgLyogRGV2aWNlSWRI
YXNoU2FsdFN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEMEM1NkZEMjI5RjFERUEwMEJE
MzNFNyAvKiBEZXZpY2VNYW5hZ2VtZW50U29mdExpbmsuaCBpbiBIZWFkZXJzICovLApAQCAtMTA0
NjAsNyArMTA0NDksNiBAQAogCQkJCTdBRkJEMzZBMjFFNTQyRjEwMDVEQkFDQiAvKiBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
MzAwNjZFMTExMEY0RjcwMDMxOTM3QyAvKiBSZXNwb25zaXZlbmVzc1RpbWVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MTA0ODJDRTFEREQzMjRGMDBGMDA2RDAgLyogUlRDTmV0d29yay5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNDZGREE4RjcyM0JFNTg2OTAwQjE5OEZBIC8qIFJ1bm5pbmdCb2FyZFNl
cnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRTk3RDc0RDIwMEU5MDA0MDBCRjY2NDMg
LyogU2FmZUJyb3dzaW5nU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0E5ODU0QTIxMEJFQjY0
MDA1N0VCNkIgLyogU2FmZUJyb3dzaW5nV2FybmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMy
RDAyMTcxMkFDNDFDQjAwRTczMkEzIC8qIFNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlLmggaW4g
SGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBm
ZWU5NTQ4NzliYmY2M2MzMWMwMTc4ZGIzYTQ0ZmJjZTBmNzU3OWE2Li42N2E3OTBhN2E4MzI2NDI5
NDg2MzhkZDU3NDc5MWQwODAyMzEwMTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiQVBJUGFnZUhhbmRsZS5oIgog
I2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIkF1eGlsaWFyeVBy
b2Nlc3NNZXNzYWdlcy5oIgotI2luY2x1ZGUgIkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmgi
CiAjaW5jbHVkZSAiRHJhd2luZ0FyZWEuaCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNoZXIuaCIK
ICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgpAQCAtMjc1LDExICsyNzQsNyBAQCB2b2lkIFdl
YlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlv
bikKICAgICBtX2V2ZW50RGlzcGF0Y2hlci0+aW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlv
bik7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBtX3ZpZXdVcGRhdGVEaXNwYXRjaGVy
LT5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKLQotICAgIEFTU0VSVCghbV91aVBy
b2Nlc3NEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbik7Ci0gICAgbV91aVByb2Nlc3NEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbiA9IG1ha2VVbmlxdWU8RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRp
b24+KGNvbm5lY3Rpb24tPnJlbW90ZVByb2Nlc3NJRCgpLCAiV2ViQ29udGVudCBwcm9jZXNzIGRl
cGVuZGVuY3kgb24gVUlQcm9jZXNzIl9zKTsKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZ
KQotCiAgICAgbV93ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLT5pbml0aWFsaXplQ29u
bmVjdGlvbihjb25uZWN0aW9uKTsKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpA
QCAtMjkwLDYgKzI4NSwxMiBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9u
KElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKICAgICAgICAgc3VwcGxlbWVudC0+aW5pdGlh
bGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CiAKICAgICBtX3dlYkNvbm5lY3Rpb24gPSBXZWJD
b25uZWN0aW9uVG9VSVByb2Nlc3M6OmNyZWF0ZSh0aGlzKTsKKworI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCisgICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgYW4gSVBDOjpDb25uZWN0aW9uIGJlZm9y
ZSBjcmVhdGluZyB0aGUgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyIHNpbmNlIGl0IG1heSBjYWxs
CisgICAgLy8gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSgpIG9uIGEgYmFj
a2dyb3VuZCB0aHJlYWQgYW5kIGRlZmVyZW5jZSB0aGUgSVBDIGNvbm5lY3Rpb24uCisgICAgbV90
YXNrU3RhdGVPYnNlcnZlciA9IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Y3JlYXRlKCp0aGlz
KTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggNmJiMDk0MGQ3YjI0Y2M0OGY1Nzk3MGI1MzI1OTBlMWYx
ODAzYTc5Mi4uNDkzYjJiN2EwNTlhYWFmZjc5ZDNlZWFmYmU3NWUzYThkYWMzZjdjZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC02Niw2ICs2NiwxMSBAQAogI2luY2x1
ZGUgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisjaW5jbHVkZSAiUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyLmgiCitPQkpDX0NMQVNTIEJL
U1Byb2Nlc3NBc3NlcnRpb247CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFdBWUxBTkQpICYmIFVT
RShXUEVfUkVOREVSRVIpCiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybURpc3BsYXlMaWJXUEUu
aD4KICNlbmRpZgpAQCAtMTAxLDcgKzEwNiw2IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGE7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbjsKIGNsYXNzIEV2ZW50RGlzcGF0Y2hlcjsKIGNsYXNzIEdhbWVwYWREYXRhOwogY2xh
c3MgR1BVUHJvY2Vzc0Nvbm5lY3Rpb247CkBAIC0xMzcsNyArMTQxLDExIEBAIHN0cnVjdCBXZWJz
aXRlRGF0YVN0b3JlUGFyYW1ldGVyczsKIGNsYXNzIExheWVySG9zdGluZ0NvbnRleHQ7CiAjZW5k
aWYKIAotY2xhc3MgV2ViUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzCitjbGFzcyBX
ZWJQcm9jZXNzCisgICAgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2VzcworI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCisgICAgLCBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OkNsaWVudAorI2VuZGlm
CiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC00ODAsOCArNDg4
LDExIEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAg
dm9pZCBwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6
VGFza1N0YXRlKSBmaW5hbDsKICAgICBib29sIHNob3VsZEZyZWV6ZU9uU3VzcGVuc2lvbigpIGNv
bnN0OwogICAgIHZvaWQgdXBkYXRlRnJlZXplclN0YXR1cygpOworCisgICAgdm9pZCByZWxlYXNl
UHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSURF
TykKQEAgLTU2OCw3ICs1NzksMTAgQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAgICAgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyIG1fd2ViU1FMaXRlRGF0YWJhc2VUcmFj
a2VyOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbj4gbV91
aVByb2Nlc3NEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjsKKyAgICBSZWZQdHI8UHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyPiBtX3Rhc2tTdGF0ZU9ic2VydmVyOworICAgIExvY2sgbV9wcm9jZXNz
V2FzUmVzdW1lZEFzc2VydGlvbnNMb2NrOworICAgIFJldGFpblB0cjxCS1NQcm9jZXNzQXNzZXJ0
aW9uPiBtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb247CisgICAgUmV0YWluUHRyPEJLU1By
b2Nlc3NBc3NlcnRpb24+IG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb247CiAjZW5kaWYK
IAogICAgIGVudW0gUGFnZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxlQ291bnRlclR5cGUgeyB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
aW5kZXggOWQ0OWZhMjRkZWJlZmQ2NDhkOWVjNGY3MjJjM2ExNmEwODZlN2NiOS4uOThkYmQ0ZWZk
Mjg2NzEyYTI1OWIzMDBiMmY3ZmNhYWU4ZWI5YzM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC05Miw3ICs5Miw2IEBACiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJ
LmgiCiAjaW1wb3J0ICJBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIgotI2ltcG9ydCAiUnVubmluZ0Jv
YXJkU2VydmljZXNTUEkuaCIKICNpbXBvcnQgIlVzZXJJbnRlcmZhY2VJZGlvbS5oIgogI2ltcG9y
dCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdElPUy5oIgogI2ltcG9ydCA8VUlLaXQvVUlB
Y2Nlc3NpYmlsaXR5Lmg+CkBAIC0zNDAsNiArMzM5LDYxIEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBk
YXRlUHJvY2Vzc05hbWUoKQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIH0KIAorI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCit2b2lkIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFu
Z2UoUHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUgdGFza1N0YXRlKQoreworICAg
IC8vIE5PVEU6IFRoaXMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIGJhY2tncm91bmQgdGhyZWFkLgor
ICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9j
ZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgLSB0YXNrU3RhdGUoJWQpIiwgdGhpcywgdGFza1N0YXRl
KTsKKyAgICBpZiAodGFza1N0YXRlICE9IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6UnVubmlu
ZykKKyAgICAgICAgcmV0dXJuOworCisgICAgTG9ja0hvbGRlciBob2xkZXIobV9wcm9jZXNzV2Fz
UmVzdW1lZEFzc2VydGlvbnNMb2NrKTsKKyAgICBpZiAobV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNz
ZXJ0aW9uICYmIG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24pCisgICAgICAgIHJldHVy
bjsKKworICAgIC8vIFdlIHdlcmUgYXdha2VuZWQgZnJvbSBzdXNwZW5zaW9uIHVuZXhwZWN0ZWRs
eS4gTm90aWZ5IHRoZSBXZWJQcm9jZXNzUHJveHksIGJ1dCB0YWtlIGEgcHJvY2VzcyBhc3NlcnRp
b24gb24gb3VyIHBhcmVudCBQSUQKKyAgICAvLyB0byBlbnN1cmUgdGhhdCBpdCB0b28gaXMgYXdh
a2VuZWQuCisgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nl
c3M6OnByb2Nlc3NUYXNrU3RhdGVDaGFuZ2VkKCkgVGFraW5nICdXZWJQcm9jZXNzIHdhcyByZXN1
bWVkJyBhc3NlcnRpb24gb24gYmVoYWxmIG9uIFVJUHJvY2VzcyIsIHRoaXMpOworICAgIG1fcHJv
Y2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiA9IGFkb3B0TlMoW1tCS1NQcm9jZXNzQXNzZXJ0aW9u
IGFsbG9jXSBpbml0V2l0aFBJRDpwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5yZW1vdGVQcm9j
ZXNzSUQoKSBmbGFnczpCS1NQcm9jZXNzQXNzZXJ0aW9uUHJldmVudFRhc2tTdXNwZW5kIHJlYXNv
bjpCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uRmluaXNoVGFzayBuYW1lOkAiV2ViUHJvY2VzcyB3
YXMgcmVzdW1lZCIgd2l0aEhhbmRsZXI6XihCT09MIGFjcXVpcmVkKSB7CisgICAgICAgIGlmICgh
YWNxdWlyZWQpCisgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lv
biwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSgpIGZhaWxlZCB0
byB0YWtlICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24gZm9yIHBhcmVudCBwcm9j
ZXNzIiwgdGhpcyk7CisgICAgfV0pOworICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlv
bi5nZXQoKS5pbnZhbGlkYXRpb25IYW5kbGVyID0gW3RoaXNdIHsKKyAgICAgICAgUkVMRUFTRV9M
T0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNr
U3RhdGVDaGFuZ2VkKCkgUmVsZWFzaW5nICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRp
b24gb24gYmVoYWxmIG9uIFVJUHJvY2VzcyBkdWUgdG8gaW52YWxpZGF0aW9uIiwgdGhpcyk7Cisg
ICAgICAgIHJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKTsKKyAgICB9OworICAg
IG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24gPSBhZG9wdE5TKFtbQktTUHJvY2Vzc0Fz
c2VydGlvbiBhbGxvY10gaW5pdFdpdGhQSUQ6Z2V0cGlkKCkgZmxhZ3M6QktTUHJvY2Vzc0Fzc2Vy
dGlvblByZXZlbnRUYXNrU3VzcGVuZCByZWFzb246QktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZp
bmlzaFRhc2sgbmFtZTpAIldlYlByb2Nlc3Mgd2FzIHJlc3VtZWQiIHdpdGhIYW5kbGVyOl4oQk9P
TCBhY3F1aXJlZCkgeworICAgICAgICBpZiAoIWFjcXVpcmVkKQorICAgICAgICAgICAgUkVMRUFT
RV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NU
YXNrU3RhdGVEaWRDaGFuZ2UoKSBmYWlsZWQgdG8gdGFrZSAnV2ViUHJvY2VzcyB3YXMgcmVzdW1l
ZCcgYXNzZXJ0aW9uIGZvciBXZWJDb250ZW50IHByb2Nlc3MiLCB0aGlzKTsKKyAgICB9XSk7Cisg
ICAgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlvbi5nZXQoKS5pbnZhbGlkYXRpb25IYW5k
bGVyID0gW3RoaXNdIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNp
b24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVDaGFuZ2VkKCkgUmVsZWFzaW5n
ICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24gb24gYmVoYWxmIG9uIFdlYkNvbnRl
bnQgcHJvY2VzcyBkdWUgdG8gaW52YWxpZGF0aW9uIiwgdGhpcyk7CisgICAgICAgIHJlbGVhc2VQ
cm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKTsKKyAgICB9OworCisgICAgcGFyZW50UHJvY2Vz
c0Nvbm5lY3Rpb24oKS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OlByb2Nlc3NXYXNSZXN1bWVkKCksIFt0aGlzXSB7CisgICAgICAgIFJFTEVBU0VfTE9HKFBy
b2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hh
bmdlKCkgUGFyZW50IHByb2Nlc3MgaGFuZGxlZCBQcm9jZXNzV2FzUmVzdW1lZCBJUEMsIHJlbGVh
c2luZyBvdXIgYXNzZXJ0aW9ucyIsIHRoaXMpOworICAgICAgICByZWxlYXNlUHJvY2Vzc1dhc1Jl
c3VtZWRBc3NlcnRpb25zKCk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzczo6cmVsZWFz
ZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpCit7CisgICAgTG9ja0hvbGRlciBob2xkZXIo
bV9wcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnNMb2NrKTsKKyAgICBpZiAobV9wcm9jZXNzV2Fz
UmVzdW1lZFVJQXNzZXJ0aW9uKSB7CisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5z
aW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpyZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25z
KCkgUmVsZWFzaW5nIHBhcmVudCBwcm9jZXNzICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3Nl
cnRpb24iLCB0aGlzKTsKKyAgICAgICAgW21fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiBp
bnZhbGlkYXRlXTsKKyAgICAgICAgbV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0gbnVs
bHB0cjsKKyAgICB9CisgICAgaWYgKG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24pIHsK
KyAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6
OnJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKSBSZWxlYXNpbmcgV2ViQ29udGVu
dCBwcm9jZXNzICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24iLCB0aGlzKTsKKyAg
ICAgICAgW21fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24gaW52YWxpZGF0ZV07CisgICAg
ICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24gPSBudWxscHRyOworICAgIH0KK30K
KworI2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIE5TU3RyaW5nICp3
ZWJQcm9jZXNzTG9hZGVyQWNjZXNzaWJpbGl0eUJ1bmRsZVBhdGgoKQogewpkaWZmIC0tZ2l0IGEv
V2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZyBiL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cKaW5k
ZXggYTFkNWE5NWUwNjZjZDRlYWY0MmIxZGZkZmEwYmI1NTEyY2MwM2JjMy4uYjFjZTlhYThkZjQy
NTI5YTdhNmRlYTg2MzI5Yzc3M2I5ZDlkNWFmZCAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVz
L0NoYW5nZUxvZworKysgYi9XZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAg
QEAKKzIwMjAtMDEtMjcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBVbnJldmlld2VkLCByZXZlcnQgcjI1Mzk4NCBhcyBpdCBhcHBlYXJzIHRvIGJlIGNhdXNpbmcg
YXNzZXJ0aW9uIGxlYWtzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA1Njg3CisKKyAgICAgICAgKiBXZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMv
aU9TLzEzL1J1bm5pbmdCb2FyZFNlcnZpY2VzLmZyYW1ld29yay9SdW5uaW5nQm9hcmRTZXJ2aWNl
cy50YmQ6IFJlbW92ZWQuCisKIDIwMjAtMDEtMTAgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRA
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYktpdExpYnJhcmllczogUmVtb3ZlIG9sZCBwcml2YXRl
IGZyYW1ld29yayBzdHVicwpkaWZmIC0tZ2l0IGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZh
dGVGcmFtZXdvcmtTdHVicy9pT1MvMTMvUnVubmluZ0JvYXJkU2VydmljZXMuZnJhbWV3b3JrL1J1
bm5pbmdCb2FyZFNlcnZpY2VzLnRiZCBiL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJh
bWV3b3JrU3R1YnMvaU9TLzEzL1J1bm5pbmdCb2FyZFNlcnZpY2VzLmZyYW1ld29yay9SdW5uaW5n
Qm9hcmRTZXJ2aWNlcy50YmQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjYjdmZmM0
MThlMzc3ZTViNzhmZGVjYTgxMGZjNTJmMzM5MzAyNzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFt
ZXdvcmtTdHVicy9pT1MvMTMvUnVubmluZ0JvYXJkU2VydmljZXMuZnJhbWV3b3JrL1J1bm5pbmdC
b2FyZFNlcnZpY2VzLnRiZAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotLS0tICF0YXBp
LXRiZC12MwotYXJjaHM6ICAgICAgICAgICBbIHg4Nl82NCwgYXJtNjQsIGFybTY0ZSBdCi1pbnN0
YWxsLW5hbWU6ICAgICcvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvUnVubmluZ0Jv
YXJkU2VydmljZXMuZnJhbWV3b3JrL1J1bm5pbmdCb2FyZFNlcnZpY2VzJwotb2JqYy1jb25zdHJh
aW50OiBub25lCi1wbGF0Zm9ybTogaW9zCi1leHBvcnRzOgotICAtIGFyY2hzOiAgICAgICAgICAg
WyB4ODZfNjQsIGFybTY0LCBhcm02NGUgXQotICAgIG9iamMtY2xhc3NlczogICAgWyBSQlNBdHRy
aWJ1dGUsIFJCU0RvbWFpbkF0dHJpYnV0ZSwgUkJTVGFyZ2V0LCBSQlNBc3NlcnRpb24gXQotLi4u
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393074</attachid>
            <date>2020-03-09 14:27:24 -0700</date>
            <delta_ts>2020-03-09 14:58:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205687-20200309142723.patch</filename>
            <type>text/plain</type>
            <size>38287</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYyNmMyMWJkNDgzYjY3MDkw
ZDIzZjkyOWNlMmEwYjUzOTcyYzBjYmIuLjQwYjM1ODE2NGQwZDU3MTM4ODljOTFhMzVhNzZjMWFm
ZTIxNDdhZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDMtMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1Njg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Nzg5MDI0Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIEFkb3B0IG5ldyBSdW5uaW5nQm9hcmQgcHJv
Y2VzcyBhc3NlcnRpb24gdG8gaW5kaWNhdGUgdGhhdCBXZWJDb250ZW50IHByb2Nlc3NlcyBkZXBl
bmQgb24gdGhlaXIKKyAgICAgICAgVUlQcm9jZXNzIChhbmQgdGhlcmVmb3JlLCB0aGUgVUlQcm9j
ZXNzIG11c3QgYmUgcnVubmluZyBpZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzKS4gVGhpcwor
ICAgICAgICByZXBsYWNlcyBvdXIgIlVuZXhwZWN0ZWRseSByZXN1bWVkIiBhc3NlcnRpb24gd2hp
Y2ggd2FzIGNhdXNpbmcgdW5leHBlY3RlZCB0ZXJtaW5hdGlvbnMgaW4gc29tZQorICAgICAgICBj
YXNlcy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAg
ICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1J1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmg6IEFkZGVkLgor
ICAgICAgICAqIFNjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2g6CisgICAgICAgICogU2hh
cmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlv
bik6CisgICAgICAgIChXZWJLaXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24pOgorICAgICAgICAqIFNoYXJlZC9EZXBlbmRlbmN5UHJvY2Vz
c0Fzc2VydGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9j
ZXNzQXNzZXJ0aW9uSU9TLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6RGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb246OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246On5EZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbik6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogU291cmNlc0NvY29hLnR4
dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorCiAyMDIwLTAzLTA5ICBEYXZpZCBLaWx6ZXIgIDxkZGtp
bHplckBhcHBsZS5jb20+CiAKICAgICAgICAgW0lQQ10gV2ViUGFnZVByb3h5OjpkYXRhU2VsZWN0
aW9uRm9yUGFzdGVib2FyZCBzaG91bGQgY2hlY2sgdGhlIHJlc3VsdCBvZiBTaGFyZWRNZW1vcnk6
Om1hcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNj
b25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRl
eCBkYjAwZDU2OGJjMTc1MDI4ZTcwMzU0ZTg1YzA4MzdkMjBiZTJjMjMyLi40ZmI0ZjliYTNjM2Jm
OTMwOGYyODExMjk2OGY4MzhhMWJjYTkzODdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Nv
bmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3Vy
YXRpb25zL1dlYktpdC54Y2NvbmZpZwpAQCAtNTEsNiArNTEsOSBAQCBXS19BUFBLSVRfTERGTEFH
U19tYWNjYXRhbHlzdCA9IC1mcmFtZXdvcmsgQXBwS2l0OwogV0tfQVNTRVJUSU9OX1NFUlZJQ0VT
X0xERkxBR1MgPSAkKFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTXyQoV0tfQ09DT0FfVE9V
Q0gpKTsKIFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3
b3JrIEFzc2VydGlvblNlcnZpY2VzOwogCitXS19SVU5OSU5HQk9BUkRfU0VSVklDRVNfTERGTEFH
UyA9ICQoV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xERkxBR1NfJChXS19DT0NPQV9UT1VDSCkp
OworV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xERkxBR1NfY29jb2F0b3VjaCA9IC1mcmFtZXdv
cmsgUnVubmluZ0JvYXJkU2VydmljZXM7CisKIFdLX0NBUkJPTl9MREZMQUdTID0gJChXS19DQVJC
T05fTERGTEFHU18kKFdLX1BMQVRGT1JNX05BTUUpKTsKIFdLX0NBUkJPTl9MREZMQUdTX21hY29z
eCA9IC1mcmFtZXdvcmsgQ2FyYm9uOwogCkBAIC0xMjAsNyArMTIzLDcgQEAgV0tfQVVUSEtJVF9M
REZMQUdTX0lPU19TSU5DRV8xMyA9IC1mcmFtZXdvcmsgQXV0aEtpdDsKIFdLX0FVVEhLSVRfTERG
TEFHU19tYWNvc3ggPSAkKFdLX0FVVEhLSVRfTERGTEFHUyQoV0tfTUFDT1NfMTAxNSkpOwogV0tf
QVVUSEtJVF9MREZMQUdTX01BQ09TX1NJTkNFXzEwMTUgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiAK
LUZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTID0gLWxvYmpjIC1mcmFtZXdvcmsgQ0ZOZXR3
b3JrIC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1l
d29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRp
b24gLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBJT1N1cmZh
Y2UgLWZyYW1ld29yayBXZWJLaXRMZWdhY3kgLWxuZXR3b3JrICQoV0tfQUNDRVNTSUJJTElUWV9M
REZMQUdTKSAkKFdLX0FQUEtJVF9MREZMQUdTKSAkKFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZM
QUdTKSAkKFdLX0FVVEhLSVRfTERGTEFHUykgJChXS19DQVJCT05fTERGTEFHUykgJChXS19DT1JF
X1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfR1JB
UEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElC
V0VCUlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19N
T0JJTEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9M
REZMQUdTKSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZB
Q0VfTERGTEFHUykgJChXS19VSUtJVF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxB
R1MpICQoV0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHUyk7CitGUkFNRVdPUktfQU5EX0xJQlJBUllf
TERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRp
byAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFt
ZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAt
ZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgV2ViS2l0TGVn
YWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBLSVRfTERG
TEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19SVU5OSU5HQk9BUkRf
U0VSVklDRVNfTERGTEFHUykgJChXS19BVVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxB
R1MpICQoV0tfQ09SRV9QUkVESUNUSU9OX0xERkxBR1MpICQoV0tfQ09SRV9TRVJWSUNFU19MREZM
QUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfTElCU0FOREJPWF9MREZM
QUdTKSAkKFdLX0xJQldFQlJUQ19MREZMQUdTKSAkKFdLX01PQklMRV9DT1JFX1NFUlZJQ0VTX0xE
RkxBR1MpICQoV0tfTU9CSUxFX0dFU1RBTFRfTERGTEFHUykgJChXS19PUEVOR0xfTERGTEFHUykg
JChXS19QREZLSVRfTERGTEFHUykgJChXS19TQUZFX0JST1dTSU5HX0xERkxBR1MpICQoV0tfU0VD
VVJJVFlfSU5URVJGQUNFX0xERkxBR1MpICQoV0tfVUlLSVRfTERGTEFHUykgJChXS19VUkxfRk9S
TUFUVElOR19MREZMQUdTKSAkKFdLX1dFQklOU1BFQ1RPUlVJX0xERkxBR1MpOwogCiAvLyBQcmV2
ZW50IEMrKyBzdGFuZGFyZCBsaWJyYXJ5IGJhc2ljX3N0cmluZ3N0cmVhbSwgb3BlcmF0b3IgbmV3
LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcgZXhw
b3J0ZWQgYXMgd2VhayBzeW1ib2xzLgogVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
WlRTU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhjZXB0
aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sIC1XbCxfX1pud21QdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud20gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEy
UG9saWN5QWN0aW9uRUVFQzJFT1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVPUzRfIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRWFTRURuIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5LU3QzX18xOGZ1
bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVjbEVTMl8gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9u
RUVFNHN3YXBFUlM0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0
aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25F
RUVDMkVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9u
SUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVEMUV2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQyRXYg
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29y
ZTEyUG9saWN5QWN0aW9uRUVFYVNFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
VFZOU3QzX18xMTdiYWRfZnVuY3Rpb25fY2FsbEUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aVENOU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNf
OWFsbG9jYXRvckljRUVFRTBfTlNfMTNiYXNpY19pc3RyZWFtSWNTMl9FRSAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFy
X3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9OU18xNGJhc2ljX2lvc3RyZWFtSWNTMl9F
RSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0
cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMTZfTlNfMTNiYXNp
Y19vc3RyZWFtSWNTMl9FRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVE5TdDNfXzEx
OGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNF
RUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRWTlN0M19fMTE1YmFzaWNfc3RyaW5n
YnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hh
cl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1X
bCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVO
U185YWxsb2NhdG9ySWNFRUVFOF9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1J1bm5pbmdCb2FyZFNlcnZpY2VzU1BJ
LmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvUnVubmluZ0JvYXJkU2VydmljZXNT
UEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45N2UwY2IxY2Q3OTNjMDI1MDdjOTY4YmY0ZGUxNDJhZjY3ZjZmMTY3
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1J1bm5p
bmdCb2FyZFNlcnZpY2VzU1BJLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlv
bi5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8UnVubmluZ0Jv
YXJkU2VydmljZXMvUnVubmluZ0JvYXJkU2VydmljZXMuaD4KKworI2Vsc2UKKworQGludGVyZmFj
ZSBSQlNBdHRyaWJ1dGUgOiBOU09iamVjdAorQGVuZAorCitAaW50ZXJmYWNlIFJCU0RvbWFpbkF0
dHJpYnV0ZSA6IFJCU0F0dHJpYnV0ZQorKyAoaW5zdGFuY2V0eXBlKWF0dHJpYnV0ZVdpdGhEb21h
aW46KE5TU3RyaW5nICopZG9tYWluIG5hbWU6KE5TU3RyaW5nICopbmFtZTsKK0BlbmQKKworQGlu
dGVyZmFjZSBSQlNUYXJnZXQgOiBOU09iamVjdAorKyAoUkJTVGFyZ2V0ICopdGFyZ2V0V2l0aFBp
ZDoocGlkX3QpcGlkOworQGVuZAorCitAaW50ZXJmYWNlIFJCU0Fzc2VydGlvbiA6IE5TT2JqZWN0
CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhFeHBsYW5hdGlvbjooTlNTdHJpbmcgKilleHBsYW5h
dGlvbiB0YXJnZXQ6KFJCU1RhcmdldCAqKXRhcmdldCBhdHRyaWJ1dGVzOihOU0FycmF5IDxSQlNB
dHRyaWJ1dGUgKj4gKilhdHRyaWJ1dGVzOworLSAoQk9PTClhY3F1aXJlV2l0aEVycm9yOihOU0Vy
cm9yICoqKWVycm9yOworLSAodm9pZClpbnZhbGlkYXRlOworQGVuZAorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaCBiL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaAppbmRleCAxYWE3NGRk
YWRiNjhiMDY3ZjkxZTA3NmI5ZTEzZTQzYmQ4MTczODUzLi4zNjYxY2M5MjQ5NWM1Nzg5M2Y3NDY4
OTc2MWYxN2M2OWQ1OTRhNmY1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJv
Y2Vzcy1lbnRpdGxlbWVudHMuc2gKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3Mt
ZW50aXRsZW1lbnRzLnNoCkBAIC0xNDAsNiArMTQwLDcgQEAgZnVuY3Rpb24gaW9zX2ZhbWlseV9w
cm9jZXNzX3dlYmNvbnRlbnRfZW50aXRsZW1lbnRzKCkKICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29t
LmFwcGxlLnByaXZhdGUuc2VjdXJpdHkubWVzc2FnZS1maWx0ZXIgYm9vbCBZRVMKICAgICBwbGlz
dGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUud2ViaW5zcGVjdG9yLmFsbG93LXJlbW90ZS1p
bnNwZWN0aW9uIGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRl
LndlYmluc3BlY3Rvci5wcm94eS1hcHBsaWNhdGlvbiBib29sIFlFUworICAgIHBsaXN0YnVkZHkg
QWRkIDpjb20uYXBwbGUucnVubmluZ2JvYXJkLmFzc2VydGlvbnMud2Via2l0IGJvb2wgWUVTCiAg
ICAgcGxpc3RidWRkeSBBZGQgOmR5bmFtaWMtY29kZXNpZ25pbmcgYm9vbCBZRVMKIAogICAgIHBs
aXN0YnVkZHkgQWRkIDpjb20uYXBwbGUudGNjLmRlbGVnYXRlZC1zZXJ2aWNlcyBhcnJheQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24u
Y3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU1ZDUyNTFjYzhiNmNkZDk2N2JlODU3NjUwMjdmMDljYjQxNTA5ZmEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbi5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIgorCisjaWYgIVBM
QVRGT1JNKElPU19GQU1JTFkpCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitEZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lELCBBU0NJ
SUxpdGVyYWwgZGVzY3JpcHRpb24pCit7CisgICAgVU5VU0VEX1BBUkFNKGRlc2NyaXB0aW9uKTsK
K30KKworRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246On5EZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbigpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFhMDFhYTUyN2MwMDYyNDk3ODE2NTI5MTg3ZDU2ZTQ1YmIxMTcxODUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5o
CkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi9Qcm9jZXNzSUQuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvQVNDSUlMaXRlcmFsLmg+CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorT0JK
Q19DTEFTUyBSQlNBc3NlcnRpb247CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Ns
YXNzIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbihQcm9jZXNzSUQg
dGFyZ2V0UElELCBBU0NJSUxpdGVyYWwgZGVzY3JpcHRpb24pOworICAgIH5EZXBlbmRlbmN5UHJv
Y2Vzc0Fzc2VydGlvbigpOworCitwcml2YXRlOgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisg
ICAgUmV0YWluUHRyPFJCU0Fzc2VydGlvbj4gbV9hc3NlcnRpb247CisjZW5kaWYKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0
aXZlV2ViVG91Y2hFdmVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViVG91Y2hF
dmVudC5oCmluZGV4IDM5MTBhNDhjNzU3YzU3ODc2MDM3MWNiNWI4NzVhNGJjMDY4NjA3OGIuLmY1
ZDcyZjg3YjViMTI0ZGJlMTQwZGY3YWQzODdlNmI4YTNjYTFkYWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYlRvdWNoRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2ZW50LmgKQEAgLTI3LDExICsyNywxNCBAQAogCiAjaW5j
bHVkZSAiV2ViRXZlbnQuaCIKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIGRlZmluZWQo
X19PQkpDX18pCisjaW5jbHVkZSA8VUlLaXQvVUlLaXQuaD4KKyNlbmRpZgorCiAjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaWYgZGVmaW5lZChf
X09CSkNfXykKLSNpbmNsdWRlIDxVSUtpdC9VSUtpdC5oPgogc3RydWN0IF9VSVdlYlRvdWNoRXZl
bnQ7CiAjZW5kaWYKICNlbGlmIFBMQVRGT1JNKEdUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggMDRkM2Y4YjUw
MzY0MGM0NGJiYWFiNGE5NDcyMzE3MjU4ZGVmODk5MS4uMzkzMTM1YzY5Y2MxYzI2ZTZiNGIwODc3
MzI5MzQ4NzAyOWMzOTU2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTQ5OCw3ICs0OTgsNyBAQCBib29sIFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIs
IFdlYlByb2Nlc3NDcmVhdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAjaWYgVVNFKFVU
VFlQRV9TV0laWkxFUikKLSAgICBPcHRpb25hbDxWZWN0b3I8VVRUeXBlSXRlbT4+IHZlY3Rvck9m
VVRUeXBlSXRlbTsKKyAgICBPcHRpb25hbDxWZWN0b3I8V2ViQ29yZTo6VVRUeXBlSXRlbT4+IHZl
Y3Rvck9mVVRUeXBlSXRlbTsKICAgICBkZWNvZGVyID4+IHZlY3Rvck9mVVRUeXBlSXRlbTsKICAg
ICBpZiAoIXZlY3Rvck9mVVRUeXBlSXRlbSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
SU9TLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0
aW9uSU9TLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmNWRiOGYxNDVjNjRiMjc2YjJmNjQ0Nzc5NDg2NjJmOWMy
MDZjODMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvRGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW0KQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24u
aCIKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNpbXBvcnQgIlJ1bm5pbmdCb2FyZFNl
cnZpY2VzU1BJLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lEIHRhcmdldFBJRCwg
QVNDSUlMaXRlcmFsIGRlc2NyaXB0aW9uKQoreworICAgIFJCU1RhcmdldCAqdGFyZ2V0ID0gW1JC
U1RhcmdldCB0YXJnZXRXaXRoUGlkOnRhcmdldFBJRF07CisgICAgUkJTRG9tYWluQXR0cmlidXRl
ICpkb21haW5BdHRyaWJ1dGUgPSBbUkJTRG9tYWluQXR0cmlidXRlIGF0dHJpYnV0ZVdpdGhEb21h
aW46QCJjb20uYXBwbGUud2Via2l0IiBuYW1lOkAiRGVwZW5kZW50UHJvY2Vzc0xpbmsiXTsKKyAg
ICBtX2Fzc2VydGlvbiA9IGFkb3B0TlMoW1tSQlNBc3NlcnRpb24gYWxsb2NdIGluaXRXaXRoRXhw
bGFuYXRpb246U3RyaW5nIHsgZGVzY3JpcHRpb24gfSB0YXJnZXQ6dGFyZ2V0IGF0dHJpYnV0ZXM6
QFtkb21haW5BdHRyaWJ1dGVdXSk7CisgICAgTlNFcnJvciAqYWNxdWlzaXRpb25FcnJvciA9IG5p
bDsKKyAgICBpZiAoIVttX2Fzc2VydGlvbiBhY3F1aXJlV2l0aEVycm9yOiZhY3F1aXNpdGlvbkVy
cm9yXSkKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkRlcGVuZGVuY3lQcm9j
ZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjogRmFpbGVkIHRvIGFjcXVp
cmUgZGVwZW5kZW5jeSBwcm9jZXNzIGFzc2VydGlvbiAnJXtwdWJsaWN9cycsIGVycm9yOiAle3B1
YmxpY31AIiwgZGVzY3JpcHRpb24uY2hhcmFjdGVycygpLCBhY3F1aXNpdGlvbkVycm9yKTsKKyAg
ICBlbHNlCisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbjo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246IFN1Y2Nlc3NmdWxseSB0b29rIGEg
ZGVwZW5kZW5jeSBwcm9jZXNzIGFzc2VydGlvbiAnJXtwdWJsaWN9cycgZm9yIHRhcmdldCBwcm9j
ZXNzIHdpdGggUElEICVkIiwgZGVzY3JpcHRpb24uY2hhcmFjdGVycygpLCB0YXJnZXRQSUQpOwor
fQorCitEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbjo6fkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0
aW9uKCkKK3sKKyAgICBbbV9hc3NlcnRpb24gaW52YWxpZGF0ZV07Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0Cmlu
ZGV4IDZkZGRkZjUyM2ZkMjc0MWY2Y2Y2MzMwOWE3YTgyOWRhMjEzMjdhOGMuLmMzZTM4NzRkMTQ4
MDIyOGEwOWI1M2FkM2VkZGE2NmZiMzNlZGMyZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtMTU2LDYgKzE1
Niw3IEBAIFNoYXJlZC9CbG9iRGF0YUZpbGVSZWZlcmVuY2VXaXRoU2FuZGJveEV4dGVuc2lvbi5j
cHAgQG5vLXVuaWZ5CiBTaGFyZWQvQ2FjaGVNb2RlbC5jcHAKIFNoYXJlZC9Db250ZXh0TWVudUNv
bnRleHREYXRhLmNwcAogU2hhcmVkL0RlYnVnZ2FibGVJbmZvRGF0YS5jcHAKK1NoYXJlZC9EZXBl
bmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAKIFNoYXJlZC9FZGl0aW5nUmFuZ2UuY3BwCiBTaGFy
ZWQvRWRpdG9yU3RhdGUuY3BwCiBTaGFyZWQvRm9udEluZm8uY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50
eHQKaW5kZXggZjkzMjNmYjkzOTYwOThhOThkZjk2ZjZiZDYyZDAxNjJkNmRmOGNjOC4uYTEyNGNk
Y2E3ODQ5MjQ4YTUwMzlmYjc0ZGE0NTQxYzE4ODU3Zjk3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dApAQCAtMTc0LDYgKzE3NCw3IEBAIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQ
Q1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9pbnQubW0KIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KIAogU2hhcmVkL2lvcy9BdXhp
bGlhcnlQcm9jZXNzSU9TLm1tCitTaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
SU9TLm1tCiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLm1tCiBT
aGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0LmNwcAogU2hhcmVkL2lvcy9O
YXRpdmVXZWJLZXlib2FyZEV2ZW50SU9TLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IDQ0MjFiZjBhYzcwODIw
MDk0MDM5Zjg0NDY0NDdjYTk1NGMwMzg5MWIuLmNmZDg0MjZlNGIzOTBjZGM3Yjc2OGE1NmVkY2Fi
Mzc1ZWUxNzBmZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0xOTQsMjYgKzE5NCw2IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjpyZWxlYXNlSGlnaFBlcmZvcm1hbmNlR1BVKCkKIH0KICNlbmRpZgogCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzUmVz
dW1lZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0g
ICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsaW5nU2NvcGUgZXhpdFNjb3BlKFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKLQotICAgIGlmIChtX3Rocm90dGxlci5zaG91bGRCZVJ1bm5hYmxlKCkp
IHsKLSAgICAgICAgLy8gVGhlIHByb2Nlc3MgYmVjb21pbmcgdW5zdXNwZW5kZWQgd2FzIG5vdCB1
bmV4cGVjdGVkLgotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gVGhlIFdlYlByb2Nl
c3Mgd2FzIGF3YWtlbmVkIGJ5IHNvbWV0aGluZyBvdGhlciB0aGFuIHRoZSBVSVByb2Nlc3MuIFRh
a2Ugb3V0IGFuIGFzc2VydGlvbiBmb3IgYQotICAgIC8vIGxpbWl0ZWQgZHVyYXRpb24gdG8gYWxs
b3cgd2hhdGV2ZXIgdGFzayBuZWVkcyB0byBiZSBhY2NvbXBsaXNoZWQgdGltZSB0byBjb21wbGV0
ZS4KLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1By
b3h5Ojpwcm9jZXNzV2FzUmVzdW1lZCgpIFByb2Nlc3Mgd2FzIHVuZXhwZWN0ZWRseSByZXN1bWVk
LCBzdGFydGluZyBiYWNrZ3JvdW5kIGFjdGl2aXR5IiwgdGhpcyk7Ci0gICAgYXV0byBiYWNrZ3Jv
dW5kQWN0aXZpdHlUaW1lb3V0SGFuZGxlciA9IFthY3Rpdml0eSA9IG1fdGhyb3R0bGVyLmJhY2tn
cm91bmRBY3Rpdml0eSgiV2ViUHJvY2VzcyB3YXMgdW5leHBlY3RlZGx5IHJlc3VtZWQiX3MpLCB3
ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1bWVkKCkg
LSBsYW1iZGEsIGJhY2tncm91bmQgYWN0aXZpdHkgdGltZWQgb3V0Iiwgd2Vha1RoaXMuZ2V0KCkp
OwotICAgIH07Ci0gICAgbV91bmV4cGVjdGVkQWN0aXZpdHlUaW1lciA9IG1ha2VVbmlxdWU8V2Vi
Q29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcj4oV1RGTW92ZShiYWNrZ3JvdW5kQWN0aXZpdHlU
aW1lb3V0SGFuZGxlciksIHVuZXhwZWN0ZWRBY3Rpdml0eUR1cmF0aW9uKTsKLX0KLSNlbmRpZgot
CiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZW5h
YmxlUmVtb3RlSW5zcGVjdG9ySWZOZWVkZWQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuaAppbmRleCAzNmZiMjI0NWJlZjA0OTBjMzg4YTA1ZWI0OWEyMWUwOTMy
OTY4NGQzLi4zN2Y4MjNmMzI3NmI5MWVlZTBmYzk0NzhmNDE0MjgzZGY1MmIyNzhjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMzQxLDEwICszNDEsNiBA
QCBwdWJsaWM6CiAgICAgdm9pZCB1bmJsb2NrUHJlZmVyZW5jZVNlcnZpY2VJZk5lZWRlZCgpOwog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIHZvaWQgcHJvY2Vzc1dhc1Jl
c3VtZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSNlbmRpZgotCiAgICAgdm9pZCB3
ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZShXZWJQYWdlUHJveHkmKTsKIAogICAgIHZvaWQgcmVm
KCkgZmluYWwgeyBUaHJlYWRTYWZlUmVmQ291bnRlZDo6cmVmKCk7IH0KQEAgLTUzMSw5ICs1Mjcs
NiBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzVGhyb3R0bGVyOjpCYWNr
Z3JvdW5kQWN0aXZpdHk+IG1fYWN0aXZpdHlGb3JIb2xkaW5nTG9ja2VkRmlsZXM7CiAgICAgRm9y
ZWdyb3VuZFdlYlByb2Nlc3NUb2tlbiBtX2ZvcmVncm91bmRUb2tlbjsKICAgICBCYWNrZ3JvdW5k
V2ViUHJvY2Vzc1Rva2VuIG1fYmFja2dyb3VuZFRva2VuOwotI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkRlZmVycmFibGVPbmVTaG90VGltZXI+
IG1fdW5leHBlY3RlZEFjdGl2aXR5VGltZXI7Ci0jZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgIGJvb2wgbV9oYXNTZW50TWVzc2FnZVRvVW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXIg
eyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCmluZGV4IDM5ODFjYmIwNTU1ODU1ZWE1OWE4NjEwZmI4ODY4YzgxN2Ix
NmFjNzMuLjZlMWE0YzRmMjg0OGM2N2RhNWRmZjAyOWQ1ZmFjY2VkZWY4YWRmYTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4K
QEAgLTcyLDEwICs3Miw2IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSBMZWdhY3lSZWNl
aXZlciB7CiAgICAgU3RvcERpc3BsYXlMaW5rKHVuc2lnbmVkIG9ic2VydmVySUQsIHVpbnQzMl90
IGRpc3BsYXlJRCkKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBQcm9j
ZXNzV2FzUmVzdW1lZCgpIC0+ICgpIEFzeW5jCi0jZW5kaWYKLQogICAgICMgUGx1Zy1pbiBtZXNz
YWdlcy4KICAgICB2b2lkIEFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2goU3RyaW5nIHBhZ2VP
cmlnaW4sIHVpbnQzMl90IGhhc2gpCiAgICAgdm9pZCBQbHVnSW5EaWRSZWNlaXZlVXNlckludGVy
YWN0aW9uKHVpbnQzMl90IGhhc2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBhZjQ4MzdlMWU0NjhjZGI1YWU1MDBiZTQ1ZWE5MThkNmVi
YTMxOGU3Li44NjRmOWZhMzk5Yjg5OWExOTIyM2EwYjMxYjliNWVhYWRiZmU5NDdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk1Miw2
ICs5NTIsNyBAQAogCQk0NkMzOTIyOTIzMTZFQzREMDA4RUVEOUIgLyogV2ViUGFnZVByb3h5SWRl
bnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDZDMzkyMjgyMzE2RUM0RDAwOEVFRDlCIC8qIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCAqLzsg
fTsKIAkJNDZDRTNCMTEyM0Q4Qzg0OTAwMTZBOTZBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdENvdW50
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDRTNC
MTAyM0Q4QzgzRDAwMTZBOTZBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdENvdW50cy5oICovOyB9Owog
CQk0NkRGMDYzQzFGMzkwNUY4MDAxOTgwQkIgLyogTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2Vy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRGMDYz
QTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2VyLmggKi87IH07
CisJCTQ2RjM4RThDMjQxNkU2NzMwMDU5Mzc1QSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZGMzhFOEIy
NDE2RTY2RDAwNTkzNzVBIC8qIFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggKi87IH07CiAJCTQ2
RjlCMjYzMjM1MjZFRjMwMDZGRTVGQSAvKiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RjlCMjYyMjM1MjZF
RDAwMDZGRTVGQSAvKiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaCAqLzsgfTsKIAkJNDk2MEEz
QkQyM0M1MkFGRDAwOTYxODQyIC8qIFdlYlZpZXdDYXRlZ29yeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk2MEEzQkMyM0M1Mjg2NDAwOTYxODQyIC8q
IFdlYlZpZXdDYXRlZ29yeS5oICovOyB9OwogCQk0OUJDQTE5MjIzQTE3NzY2MDAyOEE4MzYgLyog
QVBJUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkNBMTkxMjNBMTc3NjYwMDI4QTgzNiAvKiBB
UElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eS5oICovOyB9OwpAQCAtMzU1Miw2ICsz
NTUzLDEwIEBACiAJCTQ2Q0UzQjEwMjNEOEM4M0QwMDE2QTk2QSAvKiBXZWJCYWNrRm9yd2FyZExp
c3RDb3VudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQmFja0Zvcndh
cmRMaXN0Q291bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2REYwNjM5MUYz
OTA1RTUwMDE5ODBCQiAvKiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya0NPUlNQcmVmbGlnaHRDaGVja2Vy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZERjA2M0ExRjM5MDVFNTAwMTk4
MEJCIC8qIE5ldHdvcmtDT1JTUHJlZmxpZ2h0Q2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDZGMzhFODgyNDE2RDk2MzAwNTkzNzVBIC8qIERlcGVuZGVuY3lQ
cm9jZXNzQXNzZXJ0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDZGMzhFODkyNDE2RDk2MzAwNTkzNzVBIC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlcGVuZGVuY3lQcm9jZXNz
QXNzZXJ0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2RjM4RThBMjQxNkQ5
QTcwMDU5Mzc1QSAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9u
SU9TLm1tOyBwYXRoID0gaW9zL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkYzOEU4QjI0MTZFNjZEMDA1OTM3NUEgLyogUnVu
bmluZ0JvYXJkU2VydmljZXNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UnVubmluZ0JvYXJkU2VydmljZXNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDZGOUIyNjIyMzUyNkVEMDAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk2MEEzQkMyM0M1Mjg2NDAwOTYxODQy
IC8qIFdlYlZpZXdDYXRlZ29yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWaWV3Q2F0ZWdvcnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlCQ0ExOTAyM0ExNzU0OTAwMjhBODM2IC8q
IF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5SW50ZXJuYWwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0ZpcnN0UGFydHlJbnRlcm5hbC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTk2NSw2ICs1OTcwLDggQEAKIAkJCQk5OUY2NDJE
MjFGQUJFMzc4MDA5NjIxRTkgLyogQ29vcmRpbmF0ZVN5c3RlbS5oICovLAogCQkJCTk5MDM2QUU4
MjNBOTcwODcwMDAwQjA2QSAvKiBEZWJ1Z2dhYmxlSW5mb0RhdGEuY3BwICovLAogCQkJCTk5MDM2
QUU3MjNBOTcwODcwMDAwQjA2QSAvKiBEZWJ1Z2dhYmxlSW5mb0RhdGEuaCAqLywKKwkJCQk0NkYz
OEU4ODI0MTZEOTYzMDA1OTM3NUEgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwICov
LAorCQkJCTQ2RjM4RTg5MjQxNkQ5NjMwMDU5Mzc1QSAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbi5oICovLAogCQkJCTJEN0ZEMTkwMjIzQzczMEYwMDc4ODdGMSAvKiBEb2N1bWVudEVkaXRp
bmdDb250ZXh0LmggKi8sCiAJCQkJMkQ3RkQxOTEyMjNDNzMxMDAwNzg4N0YxIC8qIERvY3VtZW50
RWRpdGluZ0NvbnRleHQubW0gKi8sCiAJCQkJQzUxNzM4ODAxMkRGOEY0RjAwRUUzRjQ3IC8qIERy
YWdDb250cm9sbGVyQWN0aW9uLmggKi8sCkBAIC02ODkxLDYgKzY4OTgsNyBAQAogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQlBN0U5M0NFQjE5MjUzMUFBMDBBMURDNDgg
LyogQXV4aWxpYXJ5UHJvY2Vzc0lPUy5tbSAqLywKKwkJCQk0NkYzOEU4QTI0MTZEOUE3MDA1OTM3
NUEgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW0gKi8sCiAJCQkJMkRBNjczMTky
MEM3NTRCMTAwM0NCNDAxIC8qIER5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUuaCAqLywKIAkJCQky
REE5NDQ5RDE4ODRFNEYwMDBFRDg2REIgLyogR2VzdHVyZVR5cGVzLmggKi8sCiAJCQkJQzVCQ0U1
REExQzUwNzYxRDAwQ0RFM0ZBIC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmgg
Ki8sCkBAIC0xMDI4Miw2ICsxMDI5MCw3IEBACiAJCQkJQTEzQjNEQTEyMDdGMzlERTAwOTBDNThE
IC8qIE1vYmlsZVdpRmlTUEkuaCAqLywKIAkJCQkzMTc4QUY5NzIwRTJBN0Y4MDA3NERFOTQgLyog
UERGS2l0U1BJLmggKi8sCiAJCQkJMkRDMThGQUYyMTg5MTI2NDAwMjVBODhEIC8qIFBlbmNpbEtp
dFNQSS5oICovLAorCQkJCTQ2RjM4RThCMjQxNkU2NkQwMDU5Mzc1QSAvKiBSdW5uaW5nQm9hcmRT
ZXJ2aWNlc1NQSS5oICovLAogCQkJCUNFMUEwQkQwMUE0OEU2QzYwMDU0RUY3NCAvKiBUQ0NTUEku
aCAqLywKIAkJCQlDRTFBMEJEMTFBNDhFNkM2MDA1NEVGNzQgLyogVGV4dElucHV0U1BJLmggKi8s
CiAJCQkJQ0VFNEFFMkExQTVEQ0Y0MzAwMDJGNDlCIC8qIFVJS2l0U1BJLmggKi8sCkBAIC0xMDk3
NSw2ICsxMDk4NCw3IEBACiAJCQkJN0FGQkQzNkEyMUU1NDJGMTAwNURCQUNCIC8qIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEz
MDA2NkUxMTEwRjRGNzAwMzE5MzdDIC8qIFJlc3BvbnNpdmVuZXNzVGltZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxMDQ4MkNFMURERDMyNEYwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0NkYzOEU4QzI0MTZFNjczMDA1OTM3NUEgLyogUnVubmluZ0JvYXJkU2Vy
dmljZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBFOTdENzREMjAwRTkwMDQwMEJGNjY0MyAv
KiBTYWZlQnJvd3NpbmdTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDQTk4NTRBMjEwQkVCNjQw
MDU3RUI2QiAvKiBTYWZlQnJvd3NpbmdXYXJuaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzJE
MDIxNzEyQUM0MUNCMDBFNzMyQTMgLyogU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUuaCBpbiBI
ZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDMw
M2I2NmY4YTViODQ2YTM0ZTc5ODdiZjJhODMwM2Q1MjRmODg1NzAuLjExMjdmMzBjMzY5MWUzOGRj
MmQxOWFlOTAyZDgxMzRkNTIxMjQzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJBUElQYWdlSGFuZGxlLmgiCiAj
aW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJv
Y2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCIK
ICNpbmNsdWRlICJEcmF3aW5nQXJlYS5oIgogI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hlci5oIgog
I2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCkBAIC0xODYsNiArMTg3LDcgQEAKIAogI2RlZmlu
ZSBSRUxFQVNFX0xPR19TRVNTSU9OX0lEIChtX3Nlc3Npb25JRCA/IG1fc2Vzc2lvbklELT50b1VJ
bnQ2NCgpIDogMCkKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChjaGFubmVsLCBmbXQs
IC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWws
ICIlcCAtIFtzZXNzaW9uSUQ9JSIgUFJJdTY0ICJdIFdlYlByb2Nlc3M6OiIgZm10LCB0aGlzLCBS
RUxFQVNFX0xPR19TRVNTSU9OX0lELCAjI19fVkFfQVJHU19fKQorI2RlZmluZSBSRUxFQVNFX0xP
R19FUlJPUl9JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9J
Rihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3Nlc3Npb25JRD0l
IiBQUkl1NjQgIl0gV2ViUHJvY2Vzczo6IiBmbXQsIHRoaXMsIFJFTEVBU0VfTE9HX1NFU1NJT05f
SUQsICMjX19WQV9BUkdTX18pCiAKIC8vIFRoaXMgc2hvdWxkIGJlIGxlc3MgdGhhbiBwbHVnSW5B
dXRvU3RhcnRFeHBpcmF0aW9uVGltZVRocmVzaG9sZCBpbiBQbHVnSW5BdXRvU3RhcnRQcm92aWRl
ci4KIHN0YXRpYyBjb25zdCBTZWNvbmRzIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVXBk
YXRlVGhyZXNob2xkIHsgMjkgKiAyNCAqIDYwICogNjAgfTsKQEAgLTI5MSw3ICsyOTMsMTQgQEAg
dm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24qIGNv
bm5lY3Rpb24pCiAgICAgbV9ldmVudERpc3BhdGNoZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNv
bm5lY3Rpb24pOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgbV92aWV3VXBkYXRlRGlz
cGF0Y2hlci0+aW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CisKKyAgICBBU1NFUlQo
IW1fdWlQcm9jZXNzRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24pOworICAgIGlmIChhdXRvIHJl
bW90ZVByb2Nlc3NJRCA9IGNvbm5lY3Rpb24tPnJlbW90ZVByb2Nlc3NJRCgpKQorICAgICAgICBt
X3VpUHJvY2Vzc0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uID0gbWFrZVVuaXF1ZTxEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbj4ocmVtb3RlUHJvY2Vzc0lELCAiV2ViQ29udGVudCBwcm9jZXNz
IGRlcGVuZGVuY3kgb24gVUlQcm9jZXNzIl9zKTsKKyAgICBlbHNlCisgICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJVbmFibGUgdG8gY3JlYXRl
IGEgcHJvY2VzcyBkZXBlbmRpbmcgYXNzZXJ0aW9uIG9uIFVJUHJvY2VzcyBiZWNhdXNlIHJlbW90
ZVByb2Nlc3NJRCBpcyAwIik7CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKKwogICAg
IG1fd2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci0+aW5pdGlhbGl6ZUNvbm5lY3Rpb24o
Y29ubmVjdGlvbik7CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKQEAgLTMwMiwx
MiArMzExLDYgQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplQ29ubmVjdGlvbihJUEM6OkNv
bm5lY3Rpb24qIGNvbm5lY3Rpb24pCiAgICAgICAgIHN1cHBsZW1lbnQtPmluaXRpYWxpemVDb25u
ZWN0aW9uKGNvbm5lY3Rpb24pOwogCiAgICAgbV93ZWJDb25uZWN0aW9uID0gV2ViQ29ubmVjdGlv
blRvVUlQcm9jZXNzOjpjcmVhdGUodGhpcyk7Ci0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQot
ICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGFuIElQQzo6Q29ubmVjdGlvbiBiZWZvcmUgY3JlYXRp
bmcgdGhlIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlciBzaW5jZSBpdCBtYXkgY2FsbAotICAgIC8v
IFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSBvbiBhIGJhY2tncm91bmQg
dGhyZWFkIGFuZCBkZWZlcmVuY2UgdGhlIElQQyBjb25uZWN0aW9uLgotICAgIG1fdGFza1N0YXRl
T2JzZXJ2ZXIgPSBQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OmNyZWF0ZSgqdGhpcyk7Ci0jZW5k
aWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKQEAgLTIwNDAsMyArMjA0Myw0IEBAIHZv
aWQgV2ViUHJvY2Vzczo6c2V0VXNlR1BVUHJvY2Vzc0Zvck1lZGlhKGJvb2wgdXNlR1BVUHJvY2Vz
c0Zvck1lZGlhKQogCiAjdW5kZWYgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRAogI3VuZGVmIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQKKyN1bmRlZiBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VECmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBmZjc2MDU2ZTc2ZWMzNjZlODgx
MzUxM2VlMzExZGJmNzFmZDY5ZDUyLi5jZDA4N2FkOTI4YzU0Y2IyMjJmZmE1Mzc0N2NmZTE1M2Rj
NTc4N2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTY2LDExICs2
Niw2IEBACiAjaW5jbHVkZSA8d3RmL01hY2hTZW5kUmlnaHQuaD4KICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKLSNpbmNsdWRlICJQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXIuaCIK
LU9CSkNfQ0xBU1MgQktTUHJvY2Vzc0Fzc2VydGlvbjsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0o
V0FZTEFORCkgJiYgVVNFKFdQRV9SRU5ERVJFUikKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
RGlzcGxheUxpYldQRS5oPgogI2VuZGlmCkBAIC0xMDYsNiArMTAxLDcgQEAgc3RydWN0IFNlcnZp
Y2VXb3JrZXJDb250ZXh0RGF0YTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIERlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOwogY2xhc3MgRXZlbnREaXNwYXRjaGVyOwogY2xhc3MgR2Ft
ZXBhZERhdGE7CiBjbGFzcyBHUFVQcm9jZXNzQ29ubmVjdGlvbjsKQEAgLTE0MiwxMSArMTM4LDcg
QEAgc3RydWN0IFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOwogY2xhc3MgTGF5ZXJIb3N0aW5n
Q29udGV4dDsKICNlbmRpZgogCi1jbGFzcyBXZWJQcm9jZXNzCi0gICAgOiBwdWJsaWMgQXV4aWxp
YXJ5UHJvY2VzcwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgLCBQcm9jZXNzVGFza1N0
YXRlT2JzZXJ2ZXI6OkNsaWVudAotI2VuZGlmCitjbGFzcyBXZWJQcm9jZXNzIDogcHVibGljIEF1
eGlsaWFyeVByb2Nlc3MKIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
QEAgLTUwMSwxMSArNDkzLDggQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICB2b2lkIHByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUpIGZpbmFsOwogICAgIGJvb2wgc2hvdWxkRnJlZXplT25T
dXNwZW5zaW9uKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVGcmVlemVyU3RhdHVzKCk7Ci0KLSAg
ICB2b2lkIHJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKTsKICNlbmRpZgogCiAj
aWYgRU5BQkxFKFZJREVPKQpAQCAtNTkzLDEwICs1ODIsNyBAQCBwcml2YXRlOgogCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKICAgICBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIgbV93ZWJTUUxp
dGVEYXRhYmFzZVRyYWNrZXI7Ci0gICAgUmVmUHRyPFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcj4g
bV90YXNrU3RhdGVPYnNlcnZlcjsKLSAgICBMb2NrIG1fcHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRp
b25zTG9jazsKLSAgICBSZXRhaW5QdHI8QktTUHJvY2Vzc0Fzc2VydGlvbj4gbV9wcm9jZXNzV2Fz
UmVzdW1lZFVJQXNzZXJ0aW9uOwotICAgIFJldGFpblB0cjxCS1NQcm9jZXNzQXNzZXJ0aW9uPiBt
X3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uOworICAgIHN0ZDo6dW5pcXVlX3B0cjxEZXBl
bmRlbmN5UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NEZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbjsKICNlbmRpZgogCiAgICAgZW51bSBQYWdlTWFya2luZ0xheWVyc0FzVm9sYXRpbGVDb3Vu
dGVyVHlwZSB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQppbmRleCAzZjNkZjJlMDdmZWE2YTUzMDNmNThhM2YxYjJjZTNlMGNhNzYy
NWJlLi4xNzM1MGE4MGRjYTdlZDg2M2JhYWU5MmI2YWY1YWQ1Yzg1ZTFkN2YzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTEw
MCw2ICsxMDAsNyBAQAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW1wb3J0ICJBY2Nlc3Np
YmlsaXR5U3VwcG9ydFNQSS5oIgogI2ltcG9ydCAiQXNzZXJ0aW9uU2VydmljZXNTUEkuaCIKKyNp
bXBvcnQgIlJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJVc2VySW50ZXJmYWNl
SWRpb20uaCIKICNpbXBvcnQgIldLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RJT1MuaCIKICNp
bXBvcnQgPFVJS2l0L1VJQWNjZXNzaWJpbGl0eS5oPgpAQCAtMzczLDYxICszNzQsNiBAQCB2b2lk
IFdlYlByb2Nlc3M6OnVwZGF0ZVByb2Nlc3NOYW1lKCkKICNlbmRpZiAvLyBQTEFURk9STShNQUMp
CiB9CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotdm9pZCBXZWJQcm9jZXNzOjpwcm9jZXNz
VGFza1N0YXRlRGlkQ2hhbmdlKFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6VGFza1N0YXRlIHRh
c2tTdGF0ZSkKLXsKLSAgICAvLyBOT1RFOiBUaGlzIHdpbGwgYmUgY2FsbGVkIGZyb20gYSBiYWNr
Z3JvdW5kIHRocmVhZC4KLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0g
V2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSgpIC0gdGFza1N0YXRlKCVkKSIs
IHRoaXMsIHRhc2tTdGF0ZSk7Ci0gICAgaWYgKHRhc2tTdGF0ZSAhPSBQcm9jZXNzVGFza1N0YXRl
T2JzZXJ2ZXI6OlJ1bm5pbmcpCi0gICAgICAgIHJldHVybjsKLQotICAgIExvY2tIb2xkZXIgaG9s
ZGVyKG1fcHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zTG9jayk7Ci0gICAgaWYgKG1fcHJvY2Vz
c1dhc1Jlc3VtZWRVSUFzc2VydGlvbiAmJiBtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9u
KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBXZSB3ZXJlIGF3YWtlbmVkIGZyb20gc3VzcGVu
c2lvbiB1bmV4cGVjdGVkbHkuIE5vdGlmeSB0aGUgV2ViUHJvY2Vzc1Byb3h5LCBidXQgdGFrZSBh
IHByb2Nlc3MgYXNzZXJ0aW9uIG9uIG91ciBwYXJlbnQgUElECi0gICAgLy8gdG8gZW5zdXJlIHRo
YXQgaXQgdG9vIGlzIGF3YWtlbmVkLgotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9u
LCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZCgpIFRha2luZyAnV2Vi
UHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBvbiBVSVByb2Nlc3MiLCB0
aGlzKTsKLSAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24gPSBhZG9wdE5TKFtbQktT
UHJvY2Vzc0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhQSUQ6cGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+cmVtb3RlUHJvY2Vzc0lEKCkgZmxhZ3M6QktTUHJvY2Vzc0Fzc2VydGlvblByZXZlbnRU
YXNrU3VzcGVuZCByZWFzb246QktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZpbmlzaFRhc2sgbmFt
ZTpAIldlYlByb2Nlc3Mgd2FzIHJlc3VtZWQiIHdpdGhIYW5kbGVyOl4oQk9PTCBhY3F1aXJlZCkg
ewotICAgICAgICBpZiAoIWFjcXVpcmVkKQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1Io
UHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRD
aGFuZ2UoKSBmYWlsZWQgdG8gdGFrZSAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9u
IGZvciBwYXJlbnQgcHJvY2VzcyIsIHRoaXMpOwotICAgIH1dKTsKLSAgICBtX3Byb2Nlc3NXYXNS
ZXN1bWVkVUlBc3NlcnRpb24uZ2V0KCkuaW52YWxpZGF0aW9uSGFuZGxlciA9IFt0aGlzXSB7Ci0g
ICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9j
ZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZCgpIFJlbGVhc2luZyAnV2ViUHJvY2VzcyB3YXMg
cmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBvbiBVSVByb2Nlc3MgZHVlIHRvIGludmFsaWRh
dGlvbiIsIHRoaXMpOwotICAgICAgICByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25z
KCk7Ci0gICAgfTsKLSAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uID0gYWRvcHRO
UyhbW0JLU1Byb2Nlc3NBc3NlcnRpb24gYWxsb2NdIGluaXRXaXRoUElEOmdldHBpZCgpIGZsYWdz
OkJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgcmVhc29uOkJLU1Byb2Nlc3NB
c3NlcnRpb25SZWFzb25GaW5pc2hUYXNrIG5hbWU6QCJXZWJQcm9jZXNzIHdhcyByZXN1bWVkIiB3
aXRoSGFuZGxlcjpeKEJPT0wgYWNxdWlyZWQpIHsKLSAgICAgICAgaWYgKCFhY3F1aXJlZCkKLSAg
ICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQ
cm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgZmFpbGVkIHRvIHRha2UgJ1dlYlBy
b2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBmb3IgV2ViQ29udGVudCBwcm9jZXNzIiwgdGhp
cyk7Ci0gICAgfV0pOwotICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24uZ2V0KCku
aW52YWxpZGF0aW9uSGFuZGxlciA9IFt0aGlzXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9S
KFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hh
bmdlZCgpIFJlbGVhc2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJl
aGFsZiBvbiBXZWJDb250ZW50IHByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIsIHRoaXMpOwot
ICAgICAgICByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7Ci0gICAgfTsKLQot
ICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdl
czo6V2ViUHJvY2Vzc1Byb3h5OjpQcm9jZXNzV2FzUmVzdW1lZCgpLCBbdGhpc10gewotICAgICAg
ICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vz
c1Rhc2tTdGF0ZURpZENoYW5nZSgpIFBhcmVudCBwcm9jZXNzIGhhbmRsZWQgUHJvY2Vzc1dhc1Jl
c3VtZWQgSVBDLCByZWxlYXNpbmcgb3VyIGFzc2VydGlvbnMiLCB0aGlzKTsKLSAgICAgICAgcmVs
ZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpOwotICAgIH0pOwotfQotCi12b2lkIFdl
YlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKQotewotICAgIExv
Y2tIb2xkZXIgaG9sZGVyKG1fcHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zTG9jayk7Ci0gICAg
aWYgKG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbikgewotICAgICAgICBSRUxFQVNFX0xP
RyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNS
ZXN1bWVkQXNzZXJ0aW9ucygpIFJlbGVhc2luZyBwYXJlbnQgcHJvY2VzcyAnV2ViUHJvY2VzcyB3
YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIiwgdGhpcyk7Ci0gICAgICAgIFttX3Byb2Nlc3NXYXNSZXN1
bWVkVUlBc3NlcnRpb24gaW52YWxpZGF0ZV07Ci0gICAgICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRV
SUFzc2VydGlvbiA9IG51bGxwdHI7Ci0gICAgfQotICAgIGlmIChtX3Byb2Nlc3NXYXNSZXN1bWVk
T3duQXNzZXJ0aW9uKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAi
JXAgLSBXZWJQcm9jZXNzOjpyZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCkgUmVs
ZWFzaW5nIFdlYkNvbnRlbnQgcHJvY2VzcyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0
aW9uIiwgdGhpcyk7Ci0gICAgICAgIFttX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uIGlu
dmFsaWRhdGVdOwotICAgICAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uID0gbnVs
bHB0cjsKLSAgICB9Ci19Ci0KLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIHN0
YXRpYyBOU1N0cmluZyAqd2ViUHJvY2Vzc0xvYWRlckFjY2Vzc2liaWxpdHlCdW5kbGVQYXRoKCkK
IHsKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1
YnMvaU9TLzEzL1J1bm5pbmdCb2FyZFNlcnZpY2VzLmZyYW1ld29yay9SdW5uaW5nQm9hcmRTZXJ2
aWNlcy50YmQgYi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lP
Uy8xMy9SdW5uaW5nQm9hcmRTZXJ2aWNlcy5mcmFtZXdvcmsvUnVubmluZ0JvYXJkU2VydmljZXMu
dGJkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJjYjdmZmM0MThlMzc3ZTViNzhmZGVjYTgxMGZjNTJmMzM5MzAyNzAK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRMaWJyYXJpZXMvV2ViS2l0UHJpdmF0ZUZyYW1ld29y
a1N0dWJzL2lPUy8xMy9SdW5uaW5nQm9hcmRTZXJ2aWNlcy5mcmFtZXdvcmsvUnVubmluZ0JvYXJk
U2VydmljZXMudGJkCkBAIC0wLDAgKzEsOSBAQAorLS0tICF0YXBpLXRiZC12MworYXJjaHM6ICAg
ICAgICAgICBbIHg4Nl82NCwgYXJtNjQsIGFybTY0ZSBdCitpbnN0YWxsLW5hbWU6ICAgICcvU3lz
dGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvUnVubmluZ0JvYXJkU2VydmljZXMuZnJhbWV3
b3JrL1J1bm5pbmdCb2FyZFNlcnZpY2VzJworb2JqYy1jb25zdHJhaW50OiBub25lCitwbGF0Zm9y
bTogaW9zCitleHBvcnRzOgorICAtIGFyY2hzOiAgICAgICAgICAgWyB4ODZfNjQsIGFybTY0LCBh
cm02NGUgXQorICAgIG9iamMtY2xhc3NlczogICAgWyBSQlNBdHRyaWJ1dGUsIFJCU0RvbWFpbkF0
dHJpYnV0ZSwgUkJTVGFyZ2V0LCBSQlNBc3NlcnRpb24gXQorLi4uCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393077</attachid>
            <date>2020-03-09 14:58:01 -0700</date>
            <delta_ts>2020-03-09 18:17:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205687-20200309145801.patch</filename>
            <type>text/plain</type>
            <size>37518</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwNDAyNThhNWQyMTE5ODQ4
YWUxODc1MjY2MmE1ZWM4M2RiYmQyNjguLmFjMjU4NjBiODgxMzI0ZWM2ZDU3MTYxNTFjMmNlNDlk
MGEwMjg2M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDMtMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1Njg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81Nzg5MDI0Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIEFkb3B0IG5ldyBSdW5uaW5nQm9hcmQgcHJv
Y2VzcyBhc3NlcnRpb24gdG8gaW5kaWNhdGUgdGhhdCBXZWJDb250ZW50IHByb2Nlc3NlcyBkZXBl
bmQgb24gdGhlaXIKKyAgICAgICAgVUlQcm9jZXNzIChhbmQgdGhlcmVmb3JlLCB0aGUgVUlQcm9j
ZXNzIG11c3QgYmUgcnVubmluZyBpZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzKS4gVGhpcwor
ICAgICAgICByZXBsYWNlcyBvdXIgIlVuZXhwZWN0ZWRseSByZXN1bWVkIiBhc3NlcnRpb24gd2hp
Y2ggd2FzIGNhdXNpbmcgdW5leHBlY3RlZCB0ZXJtaW5hdGlvbnMgaW4gc29tZQorICAgICAgICBj
YXNlcy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAg
ICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1J1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmg6IEFkZGVkLgor
ICAgICAgICAqIFNjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2g6CisgICAgICAgICogU2hh
cmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlv
bik6CisgICAgICAgIChXZWJLaXQ6OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5k
ZW5jeVByb2Nlc3NBc3NlcnRpb24pOgorICAgICAgICAqIFNoYXJlZC9EZXBlbmRlbmN5UHJvY2Vz
c0Fzc2VydGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvaW9zL0RlcGVuZGVuY3lQcm9j
ZXNzQXNzZXJ0aW9uSU9TLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6RGVwZW5kZW5jeVBy
b2Nlc3NBc3NlcnRpb246OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246On5EZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbik6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogU291cmNlc0NvY29hLnR4
dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorCiAyMDIwLTAzLTA5ICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXggZGIwMGQ1Njhi
YzE3NTAyOGU3MDM1NGU4NWMwODM3ZDIwYmUyYzIzMi4uNGZiNGY5YmEzYzNiZjkzMDhmMjgxMTI5
NjhmODM4YTFiY2E5Mzg3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9u
cy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJL
aXQueGNjb25maWcKQEAgLTUxLDYgKzUxLDkgQEAgV0tfQVBQS0lUX0xERkxBR1NfbWFjY2F0YWx5
c3QgPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTID0g
JChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19B
U1NFUlRJT05fU0VSVklDRVNfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBBc3NlcnRp
b25TZXJ2aWNlczsKIAorV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xERkxBR1MgPSAkKFdLX1JV
Tk5JTkdCT0FSRF9TRVJWSUNFU19MREZMQUdTXyQoV0tfQ09DT0FfVE9VQ0gpKTsKK1dLX1JVTk5J
TkdCT0FSRF9TRVJWSUNFU19MREZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3b3JrIFJ1bm5pbmdC
b2FyZFNlcnZpY2VzOworCiBXS19DQVJCT05fTERGTEFHUyA9ICQoV0tfQ0FSQk9OX0xERkxBR1Nf
JChXS19QTEFURk9STV9OQU1FKSk7CiBXS19DQVJCT05fTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3
b3JrIENhcmJvbjsKIApAQCAtMTIwLDcgKzEyMyw3IEBAIFdLX0FVVEhLSVRfTERGTEFHU19JT1Nf
U0lOQ0VfMTMgPSAtZnJhbWV3b3JrIEF1dGhLaXQ7CiBXS19BVVRIS0lUX0xERkxBR1NfbWFjb3N4
ID0gJChXS19BVVRIS0lUX0xERkxBR1MkKFdLX01BQ09TXzEwMTUpKTsKIFdLX0FVVEhLSVRfTERG
TEFHU19NQUNPU19TSU5DRV8xMDE1ID0gLWZyYW1ld29yayBBdXRoS2l0OwogCi1GUkFNRVdPUktf
QU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3
b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdy
YXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdv
cmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdv
cmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChX
S19BUFBLSVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19B
VVRIS0lUX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QUkVESUNUSU9O
X0xERkxBR1MpICQoV0tfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfTElCU0FOREJPWF9MREZMQUdTKSAkKFdLX0xJQldFQlJUQ19MREZM
QUdTKSAkKFdLX01PQklMRV9DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfTU9CSUxFX0dFU1RB
TFRfTERGTEFHUykgJChXS19PUEVOR0xfTERGTEFHUykgJChXS19QREZLSVRfTERGTEFHUykgJChX
S19TQUZFX0JST1dTSU5HX0xERkxBR1MpICQoV0tfU0VDVVJJVFlfSU5URVJGQUNFX0xERkxBR1Mp
ICQoV0tfVUlLSVRfTERGTEFHUykgJChXS19VUkxfRk9STUFUVElOR19MREZMQUdTKSAkKFdLX1dF
QklOU1BFQ1RPUlVJX0xERkxBR1MpOworRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MgPSAt
bG9iamMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29y
ayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVU
ZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJ
T0tpdCAtZnJhbWV3b3JrIElPU3VyZmFjZSAtZnJhbWV3b3JrIFdlYktpdExlZ2FjeSAtbG5ldHdv
cmsgJChXS19BQ0NFU1NJQklMSVRZX0xERkxBR1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tf
QVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfUlVOTklOR0JPQVJEX1NFUlZJQ0VTX0xE
RkxBR1MpICQoV0tfQVVUSEtJVF9MREZMQUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0NP
UkVfUFJFRElDVElPTl9MREZMQUdTKSAkKFdLX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19H
UkFQSElDU19TRVJWSUNFU19MREZMQUdTKSAkKFdLX0xJQlNBTkRCT1hfTERGTEFHUykgJChXS19M
SUJXRUJSVENfTERGTEFHUykgJChXS19NT0JJTEVfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdL
X01PQklMRV9HRVNUQUxUX0xERkxBR1MpICQoV0tfT1BFTkdMX0xERkxBR1MpICQoV0tfUERGS0lU
X0xERkxBR1MpICQoV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVS
RkFDRV9MREZMQUdTKSAkKFdLX1VJS0lUX0xERkxBR1MpICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERG
TEFHUykgJChXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdTKTsKIAogLy8gUHJldmVudCBDKysgc3Rh
bmRhcmQgbGlicmFyeSBiYXNpY19zdHJpbmdzdHJlYW0sIG9wZXJhdG9yIG5ldywgZGVsZXRlIGFu
ZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBlcyBmcm9tIGJlaW5nIGV4cG9ydGVkIGFzIHdl
YWsgc3ltYm9scy4KIFVORVhQT1JURURfU1lNQk9MX0xERkxBR1MgPSAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sIC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxf
X1pUSVN0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWJhZF9h
bGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWV4Y2VwdGlvbiAtV2wsLXVu
ZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19abndtUHYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndtIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlv
bkVFRUMyRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlv
bklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFFT1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVh
U0VEbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOS1N0M19fMThmdW5jdGlvbklGdk43
V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFY2xFUzJfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVds
LF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRTRzd2FwRVJT
NF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2Vi
Q29yZTEyUG9saWN5QWN0aW9uRUVFQzFFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzJFUktTNF8g
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29y
ZTEyUG9saWN5QWN0aW9uRUVFRDFFdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3Qz
X18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVEMkV2IC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFj
dGlvbkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRWTlN0M19fMTE3
YmFkX2Z1bmN0aW9uX2NhbGxFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19f
MTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJ
Y0VFRUUwX05TXzEzYmFzaWNfaXN0cmVhbUljUzJfRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVENOU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VF
TlNfOWFsbG9jYXRvckljRUVFRTBfTlNfMTRiYXNpY19pb3N0cmVhbUljUzJfRUUgLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCAtV2wsX19aVENOU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzEx
Y2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRTE2X05TXzEzYmFzaWNfb3N0cmVhbUlj
UzJfRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFROU3QzX18xMThiYXNpY19zdHJp
bmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVu
ZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExNWJhc2ljX3N0cmluZ2J1ZkljTlNfMTFj
aGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWlRWTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNF
RU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVENOU3Qz
X18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRv
ckljRUVFRThfTlNfMTNiYXNpY19vc3RyZWFtSWNTMl9FRTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1J1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTdlMGNiMWNkNzkzYzAyNTA3Yzk2OGJmNGRlMTQyYWY2N2Y2ZjE2NwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9SdW5uaW5nQm9hcmRTZXJ2
aWNlc1NQSS5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFJ1bm5pbmdCb2FyZFNlcnZpY2Vz
L1J1bm5pbmdCb2FyZFNlcnZpY2VzLmg+CisKKyNlbHNlCisKK0BpbnRlcmZhY2UgUkJTQXR0cmli
dXRlIDogTlNPYmplY3QKK0BlbmQKKworQGludGVyZmFjZSBSQlNEb21haW5BdHRyaWJ1dGUgOiBS
QlNBdHRyaWJ1dGUKKysgKGluc3RhbmNldHlwZSlhdHRyaWJ1dGVXaXRoRG9tYWluOihOU1N0cmlu
ZyAqKWRvbWFpbiBuYW1lOihOU1N0cmluZyAqKW5hbWU7CitAZW5kCisKK0BpbnRlcmZhY2UgUkJT
VGFyZ2V0IDogTlNPYmplY3QKKysgKFJCU1RhcmdldCAqKXRhcmdldFdpdGhQaWQ6KHBpZF90KXBp
ZDsKK0BlbmQKKworQGludGVyZmFjZSBSQlNBc3NlcnRpb24gOiBOU09iamVjdAorLSAoaW5zdGFu
Y2V0eXBlKWluaXRXaXRoRXhwbGFuYXRpb246KE5TU3RyaW5nICopZXhwbGFuYXRpb24gdGFyZ2V0
OihSQlNUYXJnZXQgKil0YXJnZXQgYXR0cmlidXRlczooTlNBcnJheSA8UkJTQXR0cmlidXRlICo+
ICopYXR0cmlidXRlczsKKy0gKEJPT0wpYWNxdWlyZVdpdGhFcnJvcjooTlNFcnJvciAqKillcnJv
cjsKKy0gKHZvaWQpaW52YWxpZGF0ZTsKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKaW5kZXggMWFhNzRkZGFkYjY4YjA2N2Y5
MWUwNzZiOWUxM2U0M2JkODE3Mzg1My4uMzY2MWNjOTI0OTVjNTc4OTNmNzQ2ODk3NjFmMTdjNjlk
NTk0YTZmNSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRs
ZW1lbnRzLnNoCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50
cy5zaApAQCAtMTQwLDYgKzE0MCw3IEBAIGZ1bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc193ZWJj
b250ZW50X2VudGl0bGVtZW50cygpCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2
YXRlLnNlY3VyaXR5Lm1lc3NhZ2UtZmlsdGVyIGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQg
OmNvbS5hcHBsZS5wcml2YXRlLndlYmluc3BlY3Rvci5hbGxvdy1yZW1vdGUtaW5zcGVjdGlvbiBi
b29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS53ZWJpbnNwZWN0
b3IucHJveHktYXBwbGljYXRpb24gYm9vbCBZRVMKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFw
cGxlLnJ1bm5pbmdib2FyZC5hc3NlcnRpb25zLndlYmtpdCBib29sIFlFUwogICAgIHBsaXN0YnVk
ZHkgQWRkIDpkeW5hbWljLWNvZGVzaWduaW5nIGJvb2wgWUVTCiAKICAgICBwbGlzdGJ1ZGR5IEFk
ZCA6Y29tLmFwcGxlLnRjYy5kZWxlZ2F0ZWQtc2VydmljZXMgYXJyYXkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNWQ1MjUxY2M4YjZjZGQ5NjdiZTg1NzY1MDI3ZjA5Y2I0MTUwOWZhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3Bw
CkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCIKKworI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRp
b246OkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uKFByb2Nlc3NJRCwgQVNDSUlMaXRlcmFsIGRl
c2NyaXB0aW9uKQoreworICAgIFVOVVNFRF9QQVJBTShkZXNjcmlwdGlvbik7Cit9CisKK0RlcGVu
ZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oKQorewor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTAxYWE1
MjdjMDA2MjQ5NzgxNjUyOTE4N2Q1NmU0NWJiMTE3MTg1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaApAQCAtMCwwICsx
LDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvUHJvY2Vz
c0lELmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0FT
Q0lJTGl0ZXJhbC5oPgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKK09CSkNfQ0xBU1MgUkJT
QXNzZXJ0aW9uOworI2VuZGlmCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBEZXBlbmRl
bmN5UHJvY2Vzc0Fzc2VydGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJs
aWM6CisgICAgRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oUHJvY2Vzc0lEIHRhcmdldFBJRCwg
QVNDSUlMaXRlcmFsIGRlc2NyaXB0aW9uKTsKKyAgICB+RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRp
b24oKTsKKworcHJpdmF0ZToKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIFJldGFpblB0
cjxSQlNBc3NlcnRpb24+IG1fYXNzZXJ0aW9uOworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYlRvdWNo
RXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYlRvdWNoRXZlbnQuaAppbmRl
eCAzOTEwYTQ4Yzc1N2M1Nzg3NjAzNzFjYjViODc1YTRiYzA2ODYwNzhiLi5mNWQ3MmY4N2I1YjEy
NGRiZTE0MGRmN2FkMzg3ZTZiOGEzY2ExZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9OYXRpdmVXZWJUb3VjaEV2ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0
aXZlV2ViVG91Y2hFdmVudC5oCkBAIC0yNywxMSArMjcsMTQgQEAKIAogI2luY2x1ZGUgIldlYkV2
ZW50LmgiCiAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBkZWZpbmVkKF9fT0JKQ19fKQor
I2luY2x1ZGUgPFVJS2l0L1VJS2l0Lmg+CisjZW5kaWYKKwogI2lmIEVOQUJMRShUT1VDSF9FVkVO
VFMpCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2lmIGRlZmluZWQoX19PQkpDX18pCi0j
aW5jbHVkZSA8VUlLaXQvVUlLaXQuaD4KIHN0cnVjdCBfVUlXZWJUb3VjaEV2ZW50OwogI2VuZGlm
CiAjZWxpZiBQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9p
b3MvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9pb3MvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW0KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y1ZGI4
ZjE0NWM2NGIyNzZiMmY2NDQ3Nzk0ODY2MmY5YzIwNmM4MwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9EZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbklPUy5tbQpA
QCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0
ICJEZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKKworI2ltcG9ydCAiUnVubmluZ0JvYXJkU2VydmljZXNTUEkuaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbihQcm9jZXNzSUQgdGFyZ2V0UElELCBBU0NJSUxpdGVyYWwgZGVzY3JpcHRpb24pCit7
CisgICAgUkJTVGFyZ2V0ICp0YXJnZXQgPSBbUkJTVGFyZ2V0IHRhcmdldFdpdGhQaWQ6dGFyZ2V0
UElEXTsKKyAgICBSQlNEb21haW5BdHRyaWJ1dGUgKmRvbWFpbkF0dHJpYnV0ZSA9IFtSQlNEb21h
aW5BdHRyaWJ1dGUgYXR0cmlidXRlV2l0aERvbWFpbjpAImNvbS5hcHBsZS53ZWJraXQiIG5hbWU6
QCJEZXBlbmRlbnRQcm9jZXNzTGluayJdOworICAgIG1fYXNzZXJ0aW9uID0gYWRvcHROUyhbW1JC
U0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhFeHBsYW5hdGlvbjpTdHJpbmcgeyBkZXNjcmlwdGlv
biB9IHRhcmdldDp0YXJnZXQgYXR0cmlidXRlczpAW2RvbWFpbkF0dHJpYnV0ZV1dKTsKKyAgICBO
U0Vycm9yICphY3F1aXNpdGlvbkVycm9yID0gbmlsOworICAgIGlmICghW21fYXNzZXJ0aW9uIGFj
cXVpcmVXaXRoRXJyb3I6JmFjcXVpc2l0aW9uRXJyb3JdKQorICAgICAgICBSRUxFQVNFX0xPR19F
UlJPUihQcm9jZXNzLCAiRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb246OkRlcGVuZGVuY3lQcm9j
ZXNzQXNzZXJ0aW9uOiBGYWlsZWQgdG8gYWNxdWlyZSBkZXBlbmRlbmN5IHByb2Nlc3MgYXNzZXJ0
aW9uICcle3B1YmxpY31zJywgZXJyb3I6ICV7cHVibGljfUAiLCBkZXNjcmlwdGlvbi5jaGFyYWN0
ZXJzKCksIGFjcXVpc2l0aW9uRXJyb3IpOworICAgIGVsc2UKKyAgICAgICAgUkVMRUFTRV9MT0co
UHJvY2VzcywgIkRlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOjpEZXBlbmRlbmN5UHJvY2Vzc0Fz
c2VydGlvbjogU3VjY2Vzc2Z1bGx5IHRvb2sgYSBkZXBlbmRlbmN5IHByb2Nlc3MgYXNzZXJ0aW9u
ICcle3B1YmxpY31zJyBmb3IgdGFyZ2V0IHByb2Nlc3Mgd2l0aCBQSUQgJWQiLCBkZXNjcmlwdGlv
bi5jaGFyYWN0ZXJzKCksIHRhcmdldFBJRCk7Cit9CisKK0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0
aW9uOjp+RGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24oKQoreworICAgIFttX2Fzc2VydGlvbiBp
bnZhbGlkYXRlXTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBQTEFU
Rk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNmRkZGRmNTIzZmQyNzQxZjZjZjYzMzA5
YTdhODI5ZGEyMTMyN2E4Yy4uYzNlMzg3NGQxNDgwMjI4YTA5YjUzYWQzZWRkYTY2ZmIzM2VkYzJm
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXMudHh0CkBAIC0xNTYsNiArMTU2LDcgQEAgU2hhcmVkL0Jsb2JEYXRhRmlsZVJl
ZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmNwcCBAbm8tdW5pZnkKIFNoYXJlZC9DYWNoZU1v
ZGVsLmNwcAogU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEuY3BwCiBTaGFyZWQvRGVidWdn
YWJsZUluZm9EYXRhLmNwcAorU2hhcmVkL0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmNwcAog
U2hhcmVkL0VkaXRpbmdSYW5nZS5jcHAKIFNoYXJlZC9FZGl0b3JTdGF0ZS5jcHAKIFNoYXJlZC9G
b250SW5mby5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBi
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBmOTMyM2ZiOTM5NjA5OGE5OGRm
OTZmNmJkNjJkMDE2MmQ2ZGY4Y2M4Li5hMTI0Y2RjYTc4NDkyNDhhNTAzOWZiNzRkYTQ1NDFjMTg4
NTdmOTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0xNzQsNiArMTc0LDcgQEAgU2hhcmVk
L0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQb2lu
dC5tbQogU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2
aWNlTWFpbi5tbQogCiBTaGFyZWQvaW9zL0F1eGlsaWFyeVByb2Nlc3NJT1MubW0KK1NoYXJlZC9p
b3MvRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW0KIFNoYXJlZC9pb3MvSW50ZXJhY3Rp
b25JbmZvcm1hdGlvbkF0UG9zaXRpb24ubW0KIFNoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1h
dGlvblJlcXVlc3QuY3BwCiBTaGFyZWQvaW9zL05hdGl2ZVdlYktleWJvYXJkRXZlbnRJT1MubW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5
Q29jb2EubW0KaW5kZXggNDQyMWJmMGFjNzA4MjAwOTQwMzlmODQ0NjQ0N2NhOTU0YzAzODkxYi4u
Y2ZkODQyNmU0YjM5MGNkYzdiNzY4YTU2ZWRjYWIzNzVlZTE3MGZkNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KQEAg
LTE5NCwyNiArMTk0LDYgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnJlbGVhc2VIaWdoUGVyZm9y
bWFuY2VHUFUoKQogfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotdm9pZCBX
ZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1bWVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBDb21wbGV0aW9uSGFuZGxlckNhbGxpbmdT
Y29wZSBleGl0U2NvcGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotCi0gICAgaWYgKG1f
dGhyb3R0bGVyLnNob3VsZEJlUnVubmFibGUoKSkgewotICAgICAgICAvLyBUaGUgcHJvY2VzcyBi
ZWNvbWluZyB1bnN1c3BlbmRlZCB3YXMgbm90IHVuZXhwZWN0ZWQuCi0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICAvLyBUaGUgV2ViUHJvY2VzcyB3YXMgYXdha2VuZWQgYnkgc29tZXRoaW5n
IG90aGVyIHRoYW4gdGhlIFVJUHJvY2Vzcy4gVGFrZSBvdXQgYW4gYXNzZXJ0aW9uIGZvciBhCi0g
ICAgLy8gbGltaXRlZCBkdXJhdGlvbiB0byBhbGxvdyB3aGF0ZXZlciB0YXNrIG5lZWRzIHRvIGJl
IGFjY29tcGxpc2hlZCB0aW1lIHRvIGNvbXBsZXRlLgotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NT
dXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1bWVkKCkgUHJv
Y2VzcyB3YXMgdW5leHBlY3RlZGx5IHJlc3VtZWQsIHN0YXJ0aW5nIGJhY2tncm91bmQgYWN0aXZp
dHkiLCB0aGlzKTsKLSAgICBhdXRvIGJhY2tncm91bmRBY3Rpdml0eVRpbWVvdXRIYW5kbGVyID0g
W2FjdGl2aXR5ID0gbV90aHJvdHRsZXIuYmFja2dyb3VuZEFjdGl2aXR5KCJXZWJQcm9jZXNzIHdh
cyB1bmV4cGVjdGVkbHkgcmVzdW1lZCJfcyksIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyld
IHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nl
c3NQcm94eTo6cHJvY2Vzc1dhc1Jlc3VtZWQoKSAtIGxhbWJkYSwgYmFja2dyb3VuZCBhY3Rpdml0
eSB0aW1lZCBvdXQiLCB3ZWFrVGhpcy5nZXQoKSk7Ci0gICAgfTsKLSAgICBtX3VuZXhwZWN0ZWRB
Y3Rpdml0eVRpbWVyID0gbWFrZVVuaXF1ZTxXZWJDb3JlOjpEZWZlcnJhYmxlT25lU2hvdFRpbWVy
PihXVEZNb3ZlKGJhY2tncm91bmRBY3Rpdml0eVRpbWVvdXRIYW5kbGVyKSwgdW5leHBlY3RlZEFj
dGl2aXR5RHVyYXRpb24pOwotfQotI2VuZGlmCi0KICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjplbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IDM2ZmIy
MjQ1YmVmMDQ5MGMzODhhMDVlYjQ5YTIxZTA5MzI5Njg0ZDMuLjM3ZjgyM2YzMjc2YjkxZWVlMGZj
OTQ3OGY0MTQyODNkZjUyYjI3OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oCkBAIC0zNDEsMTAgKzM0MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHVuYmxvY2tQ
cmVmZXJlbmNlU2VydmljZUlmTmVlZGVkKCk7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCi0gICAgdm9pZCBwcm9jZXNzV2FzUmVzdW1lZChDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwotI2VuZGlmCi0KICAgICB2b2lkIHdlYlBhZ2VNZWRpYVN0YXRlRGlkQ2hhbmdlKFdl
YlBhZ2VQcm94eSYpOwogCiAgICAgdm9pZCByZWYoKSBmaW5hbCB7IFRocmVhZFNhZmVSZWZDb3Vu
dGVkOjpyZWYoKTsgfQpAQCAtNTMxLDkgKzUyNyw2IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91bmRBY3Rpdml0eT4gbV9hY3Rpdml0eUZv
ckhvbGRpbmdMb2NrZWRGaWxlczsKICAgICBGb3JlZ3JvdW5kV2ViUHJvY2Vzc1Rva2VuIG1fZm9y
ZWdyb3VuZFRva2VuOwogICAgIEJhY2tncm91bmRXZWJQcm9jZXNzVG9rZW4gbV9iYWNrZ3JvdW5k
VG9rZW47Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
Q29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcj4gbV91bmV4cGVjdGVkQWN0aXZpdHlUaW1lcjsK
LSNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBtX2hhc1NlbnRNZXNzYWdl
VG9VbmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlciB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMzk4MWNi
YjA1NTU4NTVlYTU5YTg2MTBmYjg4NjhjODE3YjE2YWM3My4uNmUxYTRjNGYyODQ4YzY3ZGE1ZGZm
MDI5ZDVmYWNjZWRlZjhhZGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzIsMTAgKzcyLDYgQEAgbWVzc2FnZXMg
LT4gV2ViUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBTdG9wRGlzcGxheUxpbmso
dW5zaWduZWQgb2JzZXJ2ZXJJRCwgdWludDMyX3QgZGlzcGxheUlEKQogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQotICAgIFByb2Nlc3NXYXNSZXN1bWVkKCkgLT4gKCkgQXN5bmMK
LSNlbmRpZgotCiAgICAgIyBQbHVnLWluIG1lc3NhZ2VzLgogICAgIHZvaWQgQWRkUGx1Z0luQXV0
b1N0YXJ0T3JpZ2luSGFzaChTdHJpbmcgcGFnZU9yaWdpbiwgdWludDMyX3QgaGFzaCkKICAgICB2
b2lkIFBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24odWludDMyX3QgaGFzaCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFmNDgz
N2UxZTQ2OGNkYjVhZTUwMGJlNDVlYTkxOGQ2ZWJhMzE4ZTcuLjg2NGY5ZmEzOTliODk5YTE5MjIz
YTBiMzFiOWI1ZWFhZGJmZTk0N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTUyLDYgKzk1Miw3IEBACiAJCTQ2QzM5MjI5MjMxNkVD
NEQwMDhFRUQ5QiAvKiBXZWJQYWdlUHJveHlJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMzOTIyODIzMTZFQzREMDA4RUVEOUIgLyog
V2ViUGFnZVByb3h5SWRlbnRpZmllci5oICovOyB9OwogCQk0NkNFM0IxMTIzRDhDODQ5MDAxNkE5
NkEgLyogV2ViQmFja0ZvcndhcmRMaXN0Q291bnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkNFM0IxMDIzRDhDODNEMDAxNkE5NkEgLyogV2ViQmFj
a0ZvcndhcmRMaXN0Q291bnRzLmggKi87IH07CiAJCTQ2REYwNjNDMUYzOTA1RjgwMDE5ODBCQiAv
KiBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REYwNjNBMUYzOTA1RTUwMDE5ODBCQiAvKiBOZXR3b3Jr
Q09SU1ByZWZsaWdodENoZWNrZXIuaCAqLzsgfTsKKwkJNDZGMzhFOEMyNDE2RTY3MzAwNTkzNzVB
IC8qIFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NkYzOEU4QjI0MTZFNjZEMDA1OTM3NUEgLyogUnVubmluZ0Jv
YXJkU2VydmljZXNTUEkuaCAqLzsgfTsKIAkJNDZGOUIyNjMyMzUyNkVGMzAwNkZFNUZBIC8qIFdl
YkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDZGOUIyNjIyMzUyNkVEMDAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJk
Q2FjaGVFbnRyeS5oICovOyB9OwogCQk0OTYwQTNCRDIzQzUyQUZEMDA5NjE4NDIgLyogV2ViVmll
d0NhdGVnb3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OTYwQTNCQzIzQzUyODY0MDA5NjE4NDIgLyogV2ViVmlld0NhdGVnb3J5LmggKi87IH07CiAJ
CTQ5QkNBMTkyMjNBMTc3NjYwMDI4QTgzNiAvKiBBUElSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmly
c3RQYXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDlCQ0ExOTEyM0ExNzc2NjAwMjhBODM2IC8qIEFQSVJlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJz
dFBhcnR5LmggKi87IH07CkBAIC0zNTUyLDYgKzM1NTMsMTAgQEAKIAkJNDZDRTNCMTAyM0Q4Qzgz
RDAwMTZBOTZBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdENvdW50cy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJCYWNrRm9yd2FyZExpc3RDb3VudHMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDZERjA2MzkxRjM5MDVFNTAwMTk4MEJCIC8qIE5ldHdvcmtDT1JT
UHJlZmxpZ2h0Q2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBOZXR3b3JrQ09SU1ByZWZsaWdodENoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0NkRGMDYzQTFGMzkwNUU1MDAxOTgwQkIgLyogTmV0d29ya0NPUlNQcmVmbGlnaHRD
aGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtDT1JTUHJl
ZmxpZ2h0Q2hlY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkYzOEU4ODI0
MTZEOTYzMDA1OTM3NUEgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkYzOEU4OTI0MTZEOTYzMDA1OTM3
NUEgLyogRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDZGMzhFOEEyNDE2RDlBNzAwNTkzNzVBIC8qIERlcGVuZGVuY3lQcm9j
ZXNzQXNzZXJ0aW9uSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1l
ID0gRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb25JT1MubW07IHBhdGggPSBpb3MvRGVwZW5kZW5j
eVByb2Nlc3NBc3NlcnRpb25JT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2
RjM4RThCMjQxNkU2NkQwMDU5Mzc1QSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkY5QjI2MjIzNTI2RUQwMDA2RkU1RkEgLyog
V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0OTYwQTNCQzIzQzUyODY0MDA5NjE4NDIgLyogV2ViVmlld0NhdGVnb3J5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYlZpZXdDYXRlZ29yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0OUJDQTE5MDIzQTE3NTQ5MDAyOEE4MzYgLyogX1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc0Zp
cnN0UGFydHlJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRmlyc3RQYXJ0eUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01
OTY1LDYgKzU5NzAsOCBAQAogCQkJCTk5RjY0MkQyMUZBQkUzNzgwMDk2MjFFOSAvKiBDb29yZGlu
YXRlU3lzdGVtLmggKi8sCiAJCQkJOTkwMzZBRTgyM0E5NzA4NzAwMDBCMDZBIC8qIERlYnVnZ2Fi
bGVJbmZvRGF0YS5jcHAgKi8sCiAJCQkJOTkwMzZBRTcyM0E5NzA4NzAwMDBCMDZBIC8qIERlYnVn
Z2FibGVJbmZvRGF0YS5oICovLAorCQkJCTQ2RjM4RTg4MjQxNkQ5NjMwMDU5Mzc1QSAvKiBEZXBl
bmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5jcHAgKi8sCisJCQkJNDZGMzhFODkyNDE2RDk2MzAwNTkz
NzVBIC8qIERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uLmggKi8sCiAJCQkJMkQ3RkQxOTAyMjND
NzMwRjAwNzg4N0YxIC8qIERvY3VtZW50RWRpdGluZ0NvbnRleHQuaCAqLywKIAkJCQkyRDdGRDE5
MTIyM0M3MzEwMDA3ODg3RjEgLyogRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5tbSAqLywKIAkJCQlD
NTE3Mzg4MDEyREY4RjRGMDBFRTNGNDcgLyogRHJhZ0NvbnRyb2xsZXJBY3Rpb24uaCAqLywKQEAg
LTY4OTEsNiArNjg5OCw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAog
CQkJCUE3RTkzQ0VCMTkyNTMxQUEwMEExREM0OCAvKiBBdXhpbGlhcnlQcm9jZXNzSU9TLm1tICov
LAorCQkJCTQ2RjM4RThBMjQxNkQ5QTcwMDU5Mzc1QSAvKiBEZXBlbmRlbmN5UHJvY2Vzc0Fzc2Vy
dGlvbklPUy5tbSAqLywKIAkJCQkyREE2NzMxOTIwQzc1NEIxMDAzQ0I0MDEgLyogRHluYW1pY1Zp
ZXdwb3J0U2l6ZVVwZGF0ZS5oICovLAogCQkJCTJEQTk0NDlEMTg4NEU0RjAwMEVEODZEQiAvKiBH
ZXN0dXJlVHlwZXMuaCAqLywKIAkJCQlDNUJDRTVEQTFDNTA3NjFEMDBDREUzRkEgLyogSW50ZXJh
Y3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCAqLywKQEAgLTEwMjgyLDYgKzEwMjkwLDcgQEAK
IAkJCQlBMTNCM0RBMTIwN0YzOURFMDA5MEM1OEQgLyogTW9iaWxlV2lGaVNQSS5oICovLAogCQkJ
CTMxNzhBRjk3MjBFMkE3RjgwMDc0REU5NCAvKiBQREZLaXRTUEkuaCAqLywKIAkJCQkyREMxOEZB
RjIxODkxMjY0MDAyNUE4OEQgLyogUGVuY2lsS2l0U1BJLmggKi8sCisJCQkJNDZGMzhFOEIyNDE2
RTY2RDAwNTkzNzVBIC8qIFJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmggKi8sCiAJCQkJQ0UxQTBC
RDAxQTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQSS5oICovLAogCQkJCUNFMUEwQkQxMUE0OEU2QzYw
MDU0RUY3NCAvKiBUZXh0SW5wdXRTUEkuaCAqLywKIAkJCQlDRUU0QUUyQTFBNURDRjQzMDAwMkY0
OUIgLyogVUlLaXRTUEkuaCAqLywKQEAgLTEwOTc1LDYgKzEwOTg0LDcgQEAKIAkJCQk3QUZCRDM2
QTIxRTU0MkYxMDA1REJBQ0IgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9y
YWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTMwMDY2RTExMTBGNEY3MDAzMTkzN0MgLyogUmVz
cG9uc2l2ZW5lc3NUaW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEwNDgyQ0UxREREMzI0RjAw
RjAwNkQwIC8qIFJUQ05ldHdvcmsuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2RjM4RThDMjQxNkU2
NzMwMDU5Mzc1QSAvKiBSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEU5N0Q3NEQyMDBFOTAwNDAwQkY2NjQzIC8qIFNhZmVCcm93c2luZ1NQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNUNBOTg1NEEyMTBCRUI2NDAwNTdFQjZCIC8qIFNhZmVCcm93c2luZ1dhcm5p
bmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkQwMjE3MTJBQzQxQ0IwMEU3MzJBMyAvKiBTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uVHlwZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggM2YwOWQ1YmExZTllYjEyZGMyYTMwYTg2ZmFjOGZi
MGEwZWExMDZmZS4uZmE2ZDUyMGE1NWExMWU4MTEwOTI1ODdmMmFkYjJhZjFiOTM4ZGJlZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMzEsNiArMzEsNyBAQAog
I2luY2x1ZGUgIkFQSVBhZ2VIYW5kbGUuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFn
ZXIuaCIKICNpbmNsdWRlICJBdXhpbGlhcnlQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJE
ZXBlbmRlbmN5UHJvY2Vzc0Fzc2VydGlvbi5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAj
aW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIK
QEAgLTE4Niw2ICsxODcsNyBAQAogCiAjZGVmaW5lIFJFTEVBU0VfTE9HX1NFU1NJT05fSUQgKG1f
c2Vzc2lvbklEID8gbV9zZXNzaW9uSUQtPnRvVUludDY0KCkgOiAwKQogI2RlZmluZSBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihpc0Fsd2F5
c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3Nlc3Npb25JRD0lIiBQUkl1NjQg
Il0gV2ViUHJvY2Vzczo6IiBmbXQsIHRoaXMsIFJFTEVBU0VfTE9HX1NFU1NJT05fSUQsICMjX19W
QV9BUkdTX18pCisjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoY2hhbm5lbCwg
Zm10LCAuLi4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgp
LCBjaGFubmVsLCAiJXAgLSBbc2Vzc2lvbklEPSUiIFBSSXU2NCAiXSBXZWJQcm9jZXNzOjoiIGZt
dCwgdGhpcywgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRCwgIyNfX1ZBX0FSR1NfXykKIAogLy8gVGhp
cyBzaG91bGQgYmUgbGVzcyB0aGFuIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVGhyZXNo
b2xkIGluIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLgogc3RhdGljIGNvbnN0IFNlY29uZHMgcGx1
Z0luQXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJlc2hvbGQgeyAyOSAqIDI0ICogNjAg
KiA2MCB9OwpAQCAtMjk1LDcgKzI5NywxNCBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVD
b25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKICAgICBtX2V2ZW50RGlzcGF0
Y2hlci0+aW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBtX3ZpZXdVcGRhdGVEaXNwYXRjaGVyLT5pbml0aWFsaXplQ29ubmVjdGlv
bihjb25uZWN0aW9uKTsKKworICAgIEFTU0VSVCghbV91aVByb2Nlc3NEZXBlbmRlbmN5UHJvY2Vz
c0Fzc2VydGlvbik7CisgICAgaWYgKGF1dG8gcmVtb3RlUHJvY2Vzc0lEID0gY29ubmVjdGlvbi0+
cmVtb3RlUHJvY2Vzc0lEKCkpCisgICAgICAgIG1fdWlQcm9jZXNzRGVwZW5kZW5jeVByb2Nlc3NB
c3NlcnRpb24gPSBtYWtlVW5pcXVlPERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uPihyZW1vdGVQ
cm9jZXNzSUQsICJXZWJDb250ZW50IHByb2Nlc3MgZGVwZW5kZW5jeSBvbiBVSVByb2Nlc3MiX3Mp
OworICAgIGVsc2UKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChQcm9jZXNz
U3VzcGVuc2lvbiwgIlVuYWJsZSB0byBjcmVhdGUgYSBwcm9jZXNzIGRlcGVuZGluZyBhc3NlcnRp
b24gb24gVUlQcm9jZXNzIGJlY2F1c2UgcmVtb3RlUHJvY2Vzc0lEIGlzIDAiKTsKICNlbmRpZiAv
LyBQTEFURk9STShJT1NfRkFNSUxZKQorCiAgICAgbV93ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNw
YXRjaGVyLT5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKIAogI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQpAQCAtMzA2LDEyICszMTUsNiBAQCB2b2lkIFdlYlByb2Nlc3M6
OmluaXRpYWxpemVDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKICAgICAg
ICAgc3VwcGxlbWVudC0+aW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CiAKICAgICBt
X3dlYkNvbm5lY3Rpb24gPSBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OmNyZWF0ZSh0aGlzKTsK
LQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgYW4g
SVBDOjpDb25uZWN0aW9uIGJlZm9yZSBjcmVhdGluZyB0aGUgUHJvY2Vzc1Rhc2tTdGF0ZU9ic2Vy
dmVyIHNpbmNlIGl0IG1heSBjYWxsCi0gICAgLy8gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0
ZURpZENoYW5nZSgpIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQgYW5kIGRlZmVyZW5jZSB0aGUgSVBD
IGNvbm5lY3Rpb24uCi0gICAgbV90YXNrU3RhdGVPYnNlcnZlciA9IFByb2Nlc3NUYXNrU3RhdGVP
YnNlcnZlcjo6Y3JlYXRlKCp0aGlzKTsKLSNlbmRpZgogfQogCiB2b2lkIFdlYlByb2Nlc3M6Omlu
aXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0
ZXJzKQpAQCAtMjA0NCwzICsyMDQ3LDQgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRVc2VHUFVQcm9j
ZXNzRm9yTWVkaWEoYm9vbCB1c2VHUFVQcm9jZXNzRm9yTWVkaWEpCiAKICN1bmRlZiBSRUxFQVNF
X0xPR19TRVNTSU9OX0lECiAjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAorI3VuZGVmIFJF
TEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCmluZGV4IGZmNzYwNTZlNzZlYzM2NmU4ODEzNTEzZWUzMTFkYmY3MWZkNjlkNTIuLmNkMDg3
YWQ5MjhjNTRjYjIyMmZmYTUzNzQ3Y2ZlMTUzZGM1Nzg3YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaApAQCAtNjYsMTEgKzY2LDYgQEAKICNpbmNsdWRlIDx3dGYvTWFjaFNl
bmRSaWdodC5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotI2luY2x1ZGUg
IlByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlci5oIgotT0JKQ19DTEFTUyBCS1NQcm9jZXNzQXNzZXJ0
aW9uOwotI2VuZGlmCi0KICNpZiBQTEFURk9STShXQVlMQU5EKSAmJiBVU0UoV1BFX1JFTkRFUkVS
KQogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1EaXNwbGF5TGliV1BFLmg+CiAjZW5kaWYKQEAg
LTEwNiw2ICsxMDEsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhOwogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAorY2xhc3MgRGVwZW5kZW5jeVByb2Nlc3NBc3NlcnRpb247CiBjbGFz
cyBFdmVudERpc3BhdGNoZXI7CiBjbGFzcyBHYW1lcGFkRGF0YTsKIGNsYXNzIEdQVVByb2Nlc3ND
b25uZWN0aW9uOwpAQCAtMTQyLDExICsxMzgsNyBAQCBzdHJ1Y3QgV2Vic2l0ZURhdGFTdG9yZVBh
cmFtZXRlcnM7CiBjbGFzcyBMYXllckhvc3RpbmdDb250ZXh0OwogI2VuZGlmCiAKLWNsYXNzIFdl
YlByb2Nlc3MKLSAgICA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzCi0jaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICAsIFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6Q2xpZW50Ci0jZW5kaWYK
K2NsYXNzIFdlYlByb2Nlc3MgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2VzcwogewogICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtNTAxLDExICs0OTMsOCBAQCBwcml2YXRl
OgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIHZvaWQgcHJvY2Vzc1Rh
c2tTdGF0ZURpZENoYW5nZShQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSkgZmlu
YWw7CiAgICAgYm9vbCBzaG91bGRGcmVlemVPblN1c3BlbnNpb24oKSBjb25zdDsKICAgICB2b2lk
IHVwZGF0ZUZyZWV6ZXJTdGF0dXMoKTsKLQotICAgIHZvaWQgcmVsZWFzZVByb2Nlc3NXYXNSZXN1
bWVkQXNzZXJ0aW9ucygpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVklERU8pCkBAIC01OTMsMTAg
KzU4Miw3IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIFdlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlciBtX3dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjsKLSAgICBSZWZQ
dHI8UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyPiBtX3Rhc2tTdGF0ZU9ic2VydmVyOwotICAgIExv
Y2sgbV9wcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnNMb2NrOwotICAgIFJldGFpblB0cjxCS1NQ
cm9jZXNzQXNzZXJ0aW9uPiBtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb247Ci0gICAgUmV0
YWluUHRyPEJLU1Byb2Nlc3NBc3NlcnRpb24+IG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRp
b247CisgICAgc3RkOjp1bmlxdWVfcHRyPERlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uPiBtX3Vp
UHJvY2Vzc0RlcGVuZGVuY3lQcm9jZXNzQXNzZXJ0aW9uOwogI2VuZGlmCiAKICAgICBlbnVtIFBh
Z2VNYXJraW5nTGF5ZXJzQXNWb2xhdGlsZUNvdW50ZXJUeXBlIHsgfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IDNmM2RmMmUw
N2ZlYTZhNTMwM2Y1OGEzZjFiMmNlM2UwY2E3NjI1YmUuLjE3MzUwYTgwZGNhN2VkODYzYmFhZTky
YjZhZjVhZDVjODVlMWQ3ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMTAwLDYgKzEwMCw3IEBACiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmgiCiAjaW1wb3J0
ICJBc3NlcnRpb25TZXJ2aWNlc1NQSS5oIgorI2ltcG9ydCAiUnVubmluZ0JvYXJkU2VydmljZXNT
UEkuaCIKICNpbXBvcnQgIlVzZXJJbnRlcmZhY2VJZGlvbS5oIgogI2ltcG9ydCAiV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdElPUy5oIgogI2ltcG9ydCA8VUlLaXQvVUlBY2Nlc3NpYmlsaXR5
Lmg+CkBAIC0zNzMsNjEgKzM3NCw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlUHJvY2Vzc05h
bWUoKQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIH0KIAotI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi12b2lkIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rh
c2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUgdGFza1N0YXRlKQotewotICAgIC8vIE5PVEU6IFRo
aXMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIGJhY2tncm91bmQgdGhyZWFkLgotICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRl
RGlkQ2hhbmdlKCkgLSB0YXNrU3RhdGUoJWQpIiwgdGhpcywgdGFza1N0YXRlKTsKLSAgICBpZiAo
dGFza1N0YXRlICE9IFByb2Nlc3NUYXNrU3RhdGVPYnNlcnZlcjo6UnVubmluZykKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgTG9ja0hvbGRlciBob2xkZXIobV9wcm9jZXNzV2FzUmVzdW1lZEFzc2Vy
dGlvbnNMb2NrKTsKLSAgICBpZiAobV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uICYmIG1f
cHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24pCi0gICAgICAgIHJldHVybjsKLQotICAgIC8v
IFdlIHdlcmUgYXdha2VuZWQgZnJvbSBzdXNwZW5zaW9uIHVuZXhwZWN0ZWRseS4gTm90aWZ5IHRo
ZSBXZWJQcm9jZXNzUHJveHksIGJ1dCB0YWtlIGEgcHJvY2VzcyBhc3NlcnRpb24gb24gb3VyIHBh
cmVudCBQSUQKLSAgICAvLyB0byBlbnN1cmUgdGhhdCBpdCB0b28gaXMgYXdha2VuZWQuCi0gICAg
UkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NU
YXNrU3RhdGVDaGFuZ2VkKCkgVGFraW5nICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRp
b24gb24gYmVoYWxmIG9uIFVJUHJvY2VzcyIsIHRoaXMpOwotICAgIG1fcHJvY2Vzc1dhc1Jlc3Vt
ZWRVSUFzc2VydGlvbiA9IGFkb3B0TlMoW1tCS1NQcm9jZXNzQXNzZXJ0aW9uIGFsbG9jXSBpbml0
V2l0aFBJRDpwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5yZW1vdGVQcm9jZXNzSUQoKSBmbGFn
czpCS1NQcm9jZXNzQXNzZXJ0aW9uUHJldmVudFRhc2tTdXNwZW5kIHJlYXNvbjpCS1NQcm9jZXNz
QXNzZXJ0aW9uUmVhc29uRmluaXNoVGFzayBuYW1lOkAiV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCIg
d2l0aEhhbmRsZXI6XihCT09MIGFjcXVpcmVkKSB7Ci0gICAgICAgIGlmICghYWNxdWlyZWQpCi0g
ICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2Vi
UHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSgpIGZhaWxlZCB0byB0YWtlICdXZWJQ
cm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24gZm9yIHBhcmVudCBwcm9jZXNzIiwgdGhpcyk7
Ci0gICAgfV0pOwotICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbi5nZXQoKS5pbnZh
bGlkYXRpb25IYW5kbGVyID0gW3RoaXNdIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJv
Y2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVDaGFuZ2Vk
KCkgUmVsZWFzaW5nICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24gb24gYmVoYWxm
IG9uIFVJUHJvY2VzcyBkdWUgdG8gaW52YWxpZGF0aW9uIiwgdGhpcyk7Ci0gICAgICAgIHJlbGVh
c2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKTsKLSAgICB9OwotICAgIG1fcHJvY2Vzc1dh
c1Jlc3VtZWRPd25Bc3NlcnRpb24gPSBhZG9wdE5TKFtbQktTUHJvY2Vzc0Fzc2VydGlvbiBhbGxv
Y10gaW5pdFdpdGhQSUQ6Z2V0cGlkKCkgZmxhZ3M6QktTUHJvY2Vzc0Fzc2VydGlvblByZXZlbnRU
YXNrU3VzcGVuZCByZWFzb246QktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZpbmlzaFRhc2sgbmFt
ZTpAIldlYlByb2Nlc3Mgd2FzIHJlc3VtZWQiIHdpdGhIYW5kbGVyOl4oQk9PTCBhY3F1aXJlZCkg
ewotICAgICAgICBpZiAoIWFjcXVpcmVkKQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1Io
UHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRD
aGFuZ2UoKSBmYWlsZWQgdG8gdGFrZSAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9u
IGZvciBXZWJDb250ZW50IHByb2Nlc3MiLCB0aGlzKTsKLSAgICB9XSk7Ci0gICAgbV9wcm9jZXNz
V2FzUmVzdW1lZE93bkFzc2VydGlvbi5nZXQoKS5pbnZhbGlkYXRpb25IYW5kbGVyID0gW3RoaXNd
IHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdl
YlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVDaGFuZ2VkKCkgUmVsZWFzaW5nICdXZWJQcm9jZXNz
IHdhcyByZXN1bWVkJyBhc3NlcnRpb24gb24gYmVoYWxmIG9uIFdlYkNvbnRlbnQgcHJvY2VzcyBk
dWUgdG8gaW52YWxpZGF0aW9uIiwgdGhpcyk7Ci0gICAgICAgIHJlbGVhc2VQcm9jZXNzV2FzUmVz
dW1lZEFzc2VydGlvbnMoKTsKLSAgICB9OwotCi0gICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24o
KS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlByb2Nlc3NX
YXNSZXN1bWVkKCksIFt0aGlzXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5z
aW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgUGFyZW50
IHByb2Nlc3MgaGFuZGxlZCBQcm9jZXNzV2FzUmVzdW1lZCBJUEMsIHJlbGVhc2luZyBvdXIgYXNz
ZXJ0aW9ucyIsIHRoaXMpOwotICAgICAgICByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRp
b25zKCk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgV2ViUHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNS
ZXN1bWVkQXNzZXJ0aW9ucygpCi17Ci0gICAgTG9ja0hvbGRlciBob2xkZXIobV9wcm9jZXNzV2Fz
UmVzdW1lZEFzc2VydGlvbnNMb2NrKTsKLSAgICBpZiAobV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNz
ZXJ0aW9uKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBX
ZWJQcm9jZXNzOjpyZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCkgUmVsZWFzaW5n
IHBhcmVudCBwcm9jZXNzICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24iLCB0aGlz
KTsKLSAgICAgICAgW21fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiBpbnZhbGlkYXRlXTsK
LSAgICAgICAgbV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0gbnVsbHB0cjsKLSAgICB9
Ci0gICAgaWYgKG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24pIHsKLSAgICAgICAgUkVM
RUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9j
ZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKSBSZWxlYXNpbmcgV2ViQ29udGVudCBwcm9jZXNzICdX
ZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24iLCB0aGlzKTsKLSAgICAgICAgW21fcHJv
Y2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24gaW52YWxpZGF0ZV07Ci0gICAgICAgIG1fcHJvY2Vz
c1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24gPSBudWxscHRyOwotICAgIH0KLX0KLQotI2VuZGlmCi0K
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIE5TU3RyaW5nICp3ZWJQcm9jZXNzTG9h
ZGVyQWNjZXNzaWJpbGl0eUJ1bmRsZVBhdGgoKQogewpkaWZmIC0tZ2l0IGEvV2ViS2l0TGlicmFy
aWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTMvUnVubmluZ0JvYXJkU2Vydmlj
ZXMuZnJhbWV3b3JrL1J1bm5pbmdCb2FyZFNlcnZpY2VzLnRiZCBiL1dlYktpdExpYnJhcmllcy9X
ZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEzL1J1bm5pbmdCb2FyZFNlcnZpY2VzLmZy
YW1ld29yay9SdW5uaW5nQm9hcmRTZXJ2aWNlcy50YmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNiN2ZmYzQxOGUz
NzdlNWI3OGZkZWNhODEwZmM1MmYzMzkzMDI3MAotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdExp
YnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEzL1J1bm5pbmdCb2FyZFNl
cnZpY2VzLmZyYW1ld29yay9SdW5uaW5nQm9hcmRTZXJ2aWNlcy50YmQKQEAgLTAsMCArMSw5IEBA
CistLS0gIXRhcGktdGJkLXYzCithcmNoczogICAgICAgICAgIFsgeDg2XzY0LCBhcm02NCwgYXJt
NjRlIF0KK2luc3RhbGwtbmFtZTogICAgJy9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jr
cy9SdW5uaW5nQm9hcmRTZXJ2aWNlcy5mcmFtZXdvcmsvUnVubmluZ0JvYXJkU2VydmljZXMnCitv
YmpjLWNvbnN0cmFpbnQ6IG5vbmUKK3BsYXRmb3JtOiBpb3MKK2V4cG9ydHM6CisgIC0gYXJjaHM6
ICAgICAgICAgICBbIHg4Nl82NCwgYXJtNjQsIGFybTY0ZSBdCisgICAgb2JqYy1jbGFzc2VzOiAg
ICBbIFJCU0F0dHJpYnV0ZSwgUkJTRG9tYWluQXR0cmlidXRlLCBSQlNUYXJnZXQsIFJCU0Fzc2Vy
dGlvbiBdCisuLi4K
</data>

          </attachment>
      

    </bug>

</bugzilla>