<?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>72456</bug_id>
          
          <creation_ts>2011-11-15 19:55:37 -0800</creation_ts>
          <short_desc>[Inspector][FileSystem] Capture DOMFileSystem object</short_desc>
          <delta_ts>2011-11-28 05:59:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>73204</dependson>
          <blocked>68203</blocked>
    
    <blocked>72691</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Taiju Tsuiki">tzik</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>gustavo</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>kinuko</cc>
    
    <cc>loislo</cc>
    
    <cc>ossy</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>503533</commentid>
    <comment_count>0</comment_count>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-15 19:55:37 -0800</bug_when>
    <thetext>This is a splitted patch of https://bugs.webkit.org/show_bug.cgi?id=68203, part1.
- Adding files for FileSystem support,
- Capturing DOMFileSystem object creation and invalidation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503549</commentid>
    <comment_count>1</comment_count>
      <attachid>115309</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-15 20:29:59 -0800</bug_when>
    <thetext>Created attachment 115309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503554</commentid>
    <comment_count>2</comment_count>
      <attachid>115312</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-15 20:43:07 -0800</bug_when>
    <thetext>Created attachment 115312
Patch (rebase)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503564</commentid>
    <comment_count>3</comment_count>
      <attachid>115312</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-11-15 21:04:50 -0800</bug_when>
    <thetext>Comment on attachment 115312
Patch (rebase)

Attachment 115312 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10487586</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503575</commentid>
    <comment_count>4</comment_count>
      <attachid>115317</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-15 21:23:02 -0800</bug_when>
    <thetext>Created attachment 115317
Patch (add CodeGenerator entry)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503579</commentid>
    <comment_count>5</comment_count>
      <attachid>115317</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-11-15 21:28:23 -0800</bug_when>
    <thetext>Comment on attachment 115317
Patch (add CodeGenerator entry)

Attachment 115317 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10372844</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503595</commentid>
    <comment_count>6</comment_count>
      <attachid>115322</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-15 22:26:00 -0800</bug_when>
    <thetext>Created attachment 115322
Patch (#if out for non-chrome)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503723</commentid>
    <comment_count>7</comment_count>
      <attachid>115351</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-16 02:15:33 -0800</bug_when>
    <thetext>Created attachment 115351
Patch (omit FileSystem invalidation)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503726</commentid>
    <comment_count>8</comment_count>
      <attachid>115352</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-16 02:26:42 -0800</bug_when>
    <thetext>Created attachment 115352
Patch (rebase)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503739</commentid>
    <comment_count>9</comment_count>
      <attachid>115352</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-16 02:53:59 -0800</bug_when>
    <thetext>Comment on attachment 115352
Patch (rebase)

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

Looks good except for blank JavaScript files.

&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:73
&gt; +    m_instrumentingAgents-&gt;setInspectorFileSystemAgent(this);

We don&apos;t like auxiliary agents getting into the instrumenting mode in the constructor. A much better pattern is to introduce ::enable and ::disable commands that would be called by the front-end lazily. No events should be sent to the front-end unless it is subscribed to them via the ::enable call. Your FS support on the front-end will then query FS state lazily upon Resources panel open via calling ::enable, ::getFileSystems and receive incremental updates from the instrumentation.

In case there is no place you could get active filesystems at a random time, you can start instrumenting in here, but please do not send notifications unless ::enable has been called.

&gt; Source/WebCore/inspector/InspectorFileSystemInstrumentation.h:40
&gt; +inline void InspectorInstrumentation::didOpenFileSystem(PassRefPtr&lt;DOMFileSystem&gt; fileSystem)

Given that you don&apos;t actually include any headers from this file, it can be a part of the InspectorInstrumentation. All we really care about is for InspectorInstrumentation not to get too many imports.

&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:778
&gt; +    if (!inspectorAgent || !inspectorAgent-&gt;enabled())

You need this check since you enter instrumenting mode prior to the inspector opening. You would not have needed it otherwise.

&gt; Source/WebCore/inspector/front-end/FileSystem.js:1
&gt; +/*

There is no need to add blank JavaScript files. Please add them with the content in a subsequent change. You will need to add them into the Source/WebCore/WebCore.vcproj/WebCore.vcproj as well.

&gt; Source/WebCore/inspector/front-end/FileSystemView.js:1
&gt; +/*

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504640</commentid>
    <comment_count>10</comment_count>
      <attachid>115540</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-17 01:04:19 -0800</bug_when>
    <thetext>Created attachment 115540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504641</commentid>
    <comment_count>11</comment_count>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-17 01:09:15 -0800</bug_when>
    <thetext>(In reply to comment #9)
Thank you for reviewing.

&gt; (From update of attachment 115352 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=115352&amp;action=review
&gt; 
&gt; Looks good except for blank JavaScript files.
&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:73
&gt; &gt; +    m_instrumentingAgents-&gt;setInspectorFileSystemAgent(this);
&gt; 
&gt; We don&apos;t like auxiliary agents getting into the instrumenting mode in the constructor. A much better pattern is to introduce ::enable and ::disable commands that would be called by the front-end lazily. No events should be sent to the front-end unless it is subscribed to them via the ::enable call. Your FS support on the front-end will then query FS state lazily upon Resources panel open via calling ::enable, ::getFileSystems and receive incremental updates from the instrumentation.
&gt; 

Done. I had splitted out it, and now merged some of it back.

&gt; In case there is no place you could get active filesystems at a random time, you can start instrumenting in here, but please do not send notifications unless ::enable has been called.
&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorFileSystemInstrumentation.h:40
&gt; &gt; +inline void InspectorInstrumentation::didOpenFileSystem(PassRefPtr&lt;DOMFileSystem&gt; fileSystem)
&gt; 
&gt; Given that you don&apos;t actually include any headers from this file, it can be a part of the InspectorInstrumentation. All we really care about is for InspectorInstrumentation not to get too many imports.
&gt; 

I see. In my previous CL, I added #include &quot;DOMFileSystem.h&quot; to InspectorInstrumentation.h.
Now, I moved it to InspectorFileSystemInstrumentation.h.

&gt; &gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:778
&gt; &gt; +    if (!inspectorAgent || !inspectorAgent-&gt;enabled())
&gt; 
&gt; You need this check since you enter instrumenting mode prior to the inspector opening. You would not have needed it otherwise.
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/FileSystem.js:1
&gt; &gt; +/*
&gt; 
&gt; There is no need to add blank JavaScript files. Please add them with the content in a subsequent change. You will need to add them into the Source/WebCore/WebCore.vcproj/WebCore.vcproj as well.
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/FileSystemView.js:1
&gt; &gt; +/*
&gt; 
&gt; ditto

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505532</commentid>
    <comment_count>12</comment_count>
      <attachid>115540</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-11-17 23:18:25 -0800</bug_when>
    <thetext>Comment on attachment 115540
Patch

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

Made a few cosmetic comments.  (Feel free to ignore my comments if any of them conflict with pavel&apos;s or inspector people&apos;s comment)

&gt; Source/WebCore/ChangeLog:10
&gt; +        No new tests.

Could you add some comments if you&apos;re going to add tests later or why this needs no tests?

&gt; Source/WebCore/ChangeLog:27
&gt; +        (WebCore::InspectorFileSystemAgent::create):

nit: in general we don&apos;t need to put the functions list for newly added files.

&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:63
&gt; +    m_enabled = true;

Maybe worth adding some TODO comment or for now you can just get rid of line 61-62?  It&apos;s not very clear why we need to early-exit in line 62.

&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:72
&gt; +{

ASSERT(frontend) ?

&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:85
&gt; +{

ASSERT(m_instrumentingAgents) ?

&gt; Source/WebCore/inspector/InspectorFileSystemAgent.h:33
&gt; +#if ENABLE(INSPECTOR) &amp;&amp; ENABLE(FILE_SYSTEM)

nit: might be good to put one extra line between line 32-33?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505907</commentid>
    <comment_count>13</comment_count>
      <attachid>115836</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-18 10:55:15 -0800</bug_when>
    <thetext>Created attachment 115836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505916</commentid>
    <comment_count>14</comment_count>
      <attachid>115540</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-18 11:00:32 -0800</bug_when>
    <thetext>Comment on attachment 115540
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        No new tests.
&gt; 
&gt; Could you add some comments if you&apos;re going to add tests later or why this needs no tests?

Done.

&gt;&gt; Source/WebCore/ChangeLog:27
&gt;&gt; +        (WebCore::InspectorFileSystemAgent::create):
&gt; 
&gt; nit: in general we don&apos;t need to put the functions list for newly added files.

Done.

&gt;&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:63
&gt;&gt; +    m_enabled = true;
&gt; 
&gt; Maybe worth adding some TODO comment or for now you can just get rid of line 61-62?  It&apos;s not very clear why we need to early-exit in line 62.

Done. I added a TODO comment.

&gt;&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:72
&gt;&gt; +{
&gt; 
&gt; ASSERT(frontend) ?

Done.

&gt;&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:85
&gt;&gt; +{
&gt; 
&gt; ASSERT(m_instrumentingAgents) ?

Done.

&gt;&gt; Source/WebCore/inspector/InspectorFileSystemAgent.h:33
&gt;&gt; +#if ENABLE(INSPECTOR) &amp;&amp; ENABLE(FILE_SYSTEM)
&gt; 
&gt; nit: might be good to put one extra line between line 32-33?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505921</commentid>
    <comment_count>15</comment_count>
      <attachid>115836</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-11-18 11:04:44 -0800</bug_when>
    <thetext>Comment on attachment 115836
Patch

Attachment 115836 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10518166</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505928</commentid>
    <comment_count>16</comment_count>
      <attachid>115836</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-11-18 11:19:00 -0800</bug_when>
    <thetext>Comment on attachment 115836
Patch

Attachment 115836 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10502017</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505982</commentid>
    <comment_count>17</comment_count>
      <attachid>115836</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-11-18 12:58:16 -0800</bug_when>
    <thetext>Comment on attachment 115836
Patch

Attachment 115836 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10515176</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506630</commentid>
    <comment_count>18</comment_count>
      <attachid>116015</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-20 17:41:52 -0800</bug_when>
    <thetext>Created attachment 116015
Patch (add a entry to CodeGeneratorInspector.py)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506636</commentid>
    <comment_count>19</comment_count>
      <attachid>116015</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-20 17:59:11 -0800</bug_when>
    <thetext>Comment on attachment 116015
Patch (add a entry to CodeGeneratorInspector.py)

Fixed build error caused by conflict with recent upstream change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506799</commentid>
    <comment_count>20</comment_count>
      <attachid>116015</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-21 01:32:54 -0800</bug_when>
    <thetext>Comment on attachment 116015
Patch (add a entry to CodeGeneratorInspector.py)

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

&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:59
&gt; +    // Store |fileSystem| and notify the frontend using |fileSystemAdded| event.

We are not using | | notation in WebKit.

&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:98
&gt; +    m_frontend = 0;

You should clear the enabled state here:
m_enabled = false;
m_state-&gt;setBoolean(FileSystemAgentState::fileSystemAgentEnabled, m_enabled);

disconnecting front-end should end up in disabling instrumentation.

&gt; Source/WebCore/inspector/InspectorFileSystemAgent.h:53
&gt; +    void invalidateFileSystem(PassRefPtr&lt;DOMFileSystem&gt;);

fileSystemInvalidated? If this is a signal from WebCore, it should be named as event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507381</commentid>
    <comment_count>21</comment_count>
      <attachid>116171</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-21 19:46:25 -0800</bug_when>
    <thetext>Created attachment 116171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507384</commentid>
    <comment_count>22</comment_count>
      <attachid>116015</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-21 19:49:13 -0800</bug_when>
    <thetext>Comment on attachment 116015
Patch (add a entry to CodeGeneratorInspector.py)

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

&gt;&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:59
&gt;&gt; +    // Store |fileSystem| and notify the frontend using |fileSystemAdded| event.
&gt; 
&gt; We are not using | | notation in WebKit.

Done.

&gt;&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:98
&gt;&gt; +    m_frontend = 0;
&gt; 
&gt; You should clear the enabled state here:
&gt; m_enabled = false;
&gt; m_state-&gt;setBoolean(FileSystemAgentState::fileSystemAgentEnabled, m_enabled);
&gt; 
&gt; disconnecting front-end should end up in disabling instrumentation.

Done.

&gt;&gt; Source/WebCore/inspector/InspectorFileSystemAgent.h:53
&gt;&gt; +    void invalidateFileSystem(PassRefPtr&lt;DOMFileSystem&gt;);
&gt; 
&gt; fileSystemInvalidated? If this is a signal from WebCore, it should be named as event.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508483</commentid>
    <comment_count>23</comment_count>
      <attachid>116449</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-23 16:25:02 -0800</bug_when>
    <thetext>Created attachment 116449
Patch (rebase)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508653</commentid>
    <comment_count>24</comment_count>
      <attachid>116449</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-24 00:01:55 -0800</bug_when>
    <thetext>Comment on attachment 116449
Patch (rebase)

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

Please do not make incremental changes to this patch - it is getting hard to track what has changed. I think it is fine to land it as is.

&gt; Source/WebCore/inspector/Inspector.json:1006
&gt; +                &quot;description&quot;: &quot;Disables events from backend..&quot;

Extra . in the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509547</commentid>
    <comment_count>25</comment_count>
      <attachid>116449</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2011-11-27 20:17:50 -0800</bug_when>
    <thetext>Comment on attachment 116449
Patch (rebase)

Thank you, pavel.
I&apos;ll fix it in next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509664</commentid>
    <comment_count>26</comment_count>
      <attachid>116449</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-28 02:00:57 -0800</bug_when>
    <thetext>Comment on attachment 116449
Patch (rebase)

Clearing flags on attachment: 116449

Committed r101236: &lt;http://trac.webkit.org/changeset/101236&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509665</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-28 02:01:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509723</commentid>
    <comment_count>28</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-28 04:13:42 -0800</bug_when>
    <thetext>Reopen, because it broke all inspector tests on the Qt bot:
http://build.webkit.org/builders/Qt%20Linux%20Release/builds/40267</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509771</commentid>
    <comment_count>29</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-28 05:59:56 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; Reopen, because it broke all inspector tests on the Qt bot:
&gt; http://build.webkit.org/builders/Qt%20Linux%20Release/builds/40267

Fixed by http://trac.webkit.org/changeset/101252</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115309</attachid>
            <date>2011-11-15 20:29:59 -0800</date>
            <delta_ts>2011-11-15 20:42:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72456-20111116132957.patch</filename>
            <type>text/plain</type>
            <size>38362</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2FhYzA2NDE3ZWQwNmZi
NDhjZWM1NGU1ODQ4NDdmYjE1NzFkZDVjNC4uZThmNzU1Njc0ODEyOTdkMDEyNzg0Y2Q4ZWZjMTU2
MjQwMjg3NzYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDExLTExLTE1ICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnNwZWN0b3ItRmlsZVN5
c3RlbTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZpbGVz
IGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcgaG9v
a3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09Q
UyEpCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01GaWxlU3lz
dGVtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5c3RlbTo6Y29udGV4dERl
c3Ryb3llZCk6CisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtLmg6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Oklu
c3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxl
cjo6Y29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xs
ZXI6OmRpc2Nvbm5lY3RGcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6On5J
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50OjpkaWRPcGVuRmlsZVN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmludmFsaWRhdGVGaWxlU3lzdGVtKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6c2V0RnJvbnRlbmQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6SW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Lmg6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVu
dGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRPcGVuRmlsZVN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmludmFsaWRhdGVGaWxlU3lzdGVtKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZpbGVTeXN0ZW1JbXBsKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW52YWxpZGF0ZUZpbGVTeXN0ZW1JbXBsKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZy
b250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW0uanM6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanM6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorCiAyMDExLTExLTE0ICBEbWl0
cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5jb20+CiAgICAgICAgIAogICAgICAgICBbVjhdW0No
cm9taXVtXVNlcmlhbGl6ZSBkZW5zZSBhcnJheXMgZGVuc2x5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGIyYjRiMTM1MDg3NTQwMTZjOTgzNjFhM2VmNGE4OGI5Nzg1YzZlZWUuLmRjMmMwMDg3MjJh
ODJmM2IyYjVjNWE2MTEzMDA2MjkwYjNhZDdiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04
ODYsNiArODg2LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JEYXRhYmFzZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAorICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IGU4MzA2MWQyYjU5NmY0MTU5ZmE4NzYxNzc5NmUyOTJkM2RmZjcy
MjIuLmFiY2VmNDQzNTUwNjlhYzc2NWI5OGU2OWRkNWYwMGE2ZThmMjAzZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTI3MzMsNiArMjczMyw5IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3RvckRhdGFiYXNlUmVzb3VyY2UuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50LmNwcCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUluc3Ry
dW1lbnRhdGlvbi5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRD
aGFubmVsLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHAnLApAQCAtNjM0MSw2ICs2MzQ0LDggQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0V4dGVuc2lvblBhbmVsLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL0V4dGVuc2lvblJlZ2lzdHJ5U3R1Yi5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvRmlsZVN5c3RlbS5qcycsCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9G
aWxlU3lzdGVtVmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Gb250
Vmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Hb1RvTGluZURpYWxv
Zy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9IQVJFbnRyeS5qcycsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMzk4NGE5MmNkMmRhNjhlZDIxNGM4OGE3YjE0MTRmNTJmN2VkNDQxNC4uZGM2YTUyN2U1NWYz
YTZhZmIyMWVjYzVmMjBkMDFiNWYyM2RkMTJhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzE3LDYgKzMxNyw5IEBACiAJCTE1
Qzc3MDk0MTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwOTIxMDBEM0NBODAwNUJB
MjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5jcHAgKi87IH07CiAJCTE1Qzc3MEE1MTAwRDQxQ0QwMDVC
QTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwQTMxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5
U3RhdGUubW0gKi87IH07CiAJCTE1Qzc3MEE2MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0
eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NUM3NzBBNDEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5oICovOyB9OworCQkx
NUQxN0QyMTE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1RDE3RDFFMTQ3
MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovOyB9OworCQkx
NUQxN0QyMjE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QxRjE0NzIz
MUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggKi87IH07CisJCTE1RDE3
RDIzMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0Qy
MDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5o
ICovOyB9OwogCQkxNjNFODhGNzExOEEzOUQyMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3Jl
VGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NjNFODhGNTExOEEzOUQyMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgKi87
IH07CiAJCTE2M0U4QjEzMTE4QjNBREQwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUFUU1VJLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTYzRThCMTIx
MThCM0FERDAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQVRTVUkubW0gKi87IH07CiAJCTE4NUJD
RjI4MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJlYWRUaW1lcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTg1QkNGMjYwRjMyNzlDRTAwMEVBMjYyIC8q
IFRocmVhZFRpbWVycy5jcHAgKi87IH07CkBAIC0xMzY1LDYgKzEzNjgsNyBAQAogCQk1MDFCQUFB
OTEzOTUwRTJDMDBGN0FDRUIgLyogV2luZFJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwMUJBQUE4MTM5NTBFMkMwMEY3QUNFQiAvKiBXaW5kUnVs
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUw
OENDQTRGMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDhDQ0E0RDEzQ0YxMDZCMDAzMTUx
RjMgLyogUmVuZGVyRmxvd1RocmVhZC5oICovOyB9OwogCQk1MDhDQ0E1MDEzQ0YxMDZCMDAzMTUx
RjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MDhDQ0E0RTEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1Ro
cmVhZC5jcHAgKi87IH07CisJCTUwQjQyMTU4MTQ2OTc2OTYwMDg3RTYwNCAvKiBXZWJLaXRDU1NT
aGFkZXJWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTBCNDIxNTcxNDY5NzY5NjAwODdFNjA0IC8qIFdlYktpdENTU1NoYWRlclZhbHVlLmggKi87
IH07CiAJCTUwRTU2NkQ2MTM5RTM4QzUwMDIxNDQzMyAvKiBDU1NXcmFwU2hhcGVzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwMUJBQUIxMTM5NTEx
NEIwMEY3QUNFQiAvKiBDU1NXcmFwU2hhcGVzLmNwcCAqLzsgfTsKIAkJNTEwMTg0NjkwQjA4NjAy
QTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxMDE4NDY3MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEwMTg0
NkEwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMTg0NjgwQjA4NjAyQTAwNEE4MjVGIC8qIENh
Y2hlZFBhZ2UuY3BwICovOyB9OwpAQCAtNzM4MSw2ICs3Mzg1LDkgQEAKIAkJMTVDNzcwOTIxMDBE
M0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1ZhbGlkaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxNUM3NzBBMzEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVZhbGlkaXR5U3Rh
dGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MEE0MTAwRDQxQ0QwMDVC
QTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTVZhbGlkaXR5U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVE
MTdEMUUxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNUQxN0QxRjE0NzIzMUVCMDA1
RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5
c3RlbUluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJ
bnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTE2M0U4OEY1MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVU
ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXBsZUZvbnRE
YXRhQ29yZVRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNjNFOEIxMjEx
OEIzQUREMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFBVFNVSS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNpbXBsZUZvbnREYXRhQVRTVUkubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE4NUJDRjI2MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJlYWRU
aW1lcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGhyZWFkVGlt
ZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NDU0LDYgKzE0NDYxLDkg
QEAKIAkJMUM4MUI5NEQwRTk3MzJEOTAwMjY2RTA3IC8qIGluc3BlY3RvciAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMTVEMTdEMUUxNDcyMzFFQjAwNUVC
Q0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgKi8sCisJCQkJMTVEMTdEMUYxNDcy
MzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oICovLAorCQkJCTE1RDE3
RDIwMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9u
LmggKi8sCiAJCQkJMUM4MUI5NTkwRTk3MzMwODAwMjY2RTA3IC8qIGZyb250LWVuZCAqLywKIAkJ
CQk0MUYwNjE4RDBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuY3BwICovLAogCQkJ
CTQxRjA2MThDMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5oICovLApAQCAtMjQ2
OTEsNiArMjQ3MDEsOCBAQAogCQkJCTI5Q0Q2MURFMTQ2RDAyODkwMDY4RTgyQSAvKiBXZWJLaXRD
U1NTaGFkZXJWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGNjVDQzgxNDVCMUU3NTAwQzRD
N0FBIC8qIE1lZGlhQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGNjVDQ0ExNDVC
NDQ4ODAwQzRDN0FBIC8qIE1lZGlhQ29udHJvbGxlckludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMTVEMTdEMjIxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTVEMTdEMjMxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3Bl
Y3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjc1NjAs
NiArMjc1NzIsNyBAQAogCQkJCTcxMzQ0OTZEMTQ2OTQxQjMwMDcyMDMxMiAvKiBTVkdMZW5ndGhD
b250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NEQyREE0MTQ2QTUzNUQwMEQ1MUY4QiAv
KiBTZWN1cml0eVBvbGljeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTMxM0Y2NTE0NDNCMzVG
MDA2RTJBOTAgLyogRmlsdGVyRWZmZWN0UmVuZGVyZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MTVEMTdEMjExNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmls
ZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCmlu
ZGV4IDUxMjY1MzAyMmNmNjExZjcwOWU3YmZjOWRhZDkxODFjYjQ2NDBjZWYuLjA0NGZhOTZjNDFl
NTAyMWI1NzJjNmMzZmViZGQ4MzlhMWI2YWU5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9E
T01GaWxlU3lzdGVtLmNwcApAQCAtNDUsMTIgKzQ1LDIxIEBACiAjaW5jbHVkZSAiRmlsZVdyaXRl
ci5oIgogI2luY2x1ZGUgIkZpbGVXcml0ZXJCYXNlQ2FsbGJhY2suaCIKICNpbmNsdWRlICJGaWxl
V3JpdGVyQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiTWV0YWRhdGFDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorLy8gc3RhdGljCitQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IERPTUZp
bGVTeXN0ZW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBT
dHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0p
Cit7CisgICAgUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0oYWRvcHRSZWYobmV3IERP
TUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSkpOworICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZpbGVTeXN0ZW0oZmlsZVN5c3RlbS5nZXQoKSk7
CisgICAgcmV0dXJuIGZpbGVTeXN0ZW07Cit9CisKIERPTUZpbGVTeXN0ZW06OkRPTUZpbGVTeXN0
ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQ
YXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQogICAgIDogRE9NRmls
ZVN5c3RlbUJhc2UoY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKQogICAgICwgQWN0aXZl
RE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCkBAIC03NCw2ICs4Myw3IEBAIGJvb2wgRE9NRmlsZVN5
c3RlbTo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKIAogdm9pZCBET01GaWxlU3lzdGVtOjpj
b250ZXh0RGVzdHJveWVkKCkKIHsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmludmFs
aWRhdGVGaWxlU3lzdGVtKHRoaXMpOwogICAgIG1fYXN5bmNGaWxlU3lzdGVtLT5zdG9wKCk7CiAg
ICAgQWN0aXZlRE9NT2JqZWN0Ojpjb250ZXh0RGVzdHJveWVkKCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbS5oCmluZGV4IDhlMzU1NjcwZmM0NWRjMzlmMjg1YTIwYzlmNGVj
NDZhZTUxNmFiYzYuLjc0ZmE5YWMxODE1ZmQ1ZWNmMTVlMWM1MGI1ZTAyOTBjYWViNjhhODcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCkBAIC00NywxMCArNDcsNyBAQCBj
bGFzcyBGaWxlV3JpdGVyQ2FsbGJhY2s7CiAKIGNsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMg
RE9NRmlsZVN5c3RlbUJhc2UsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxl
U3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7Ci0gICAg
fQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5
c3RlbT4pOwogCiAgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeT4gcm9vdCgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggZTBkMWZhNjkwYTM1NzBlNzEz
ZTM0YmQ1OTNiZDA4YWZjY2NhYzhlMS4uODE0NDIzOGZlNDkyZDFiZGNhYmRkOWQ2N2E4M2NiZjJh
ZjlmYThhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMTAw
OSw2ICsxMDA5LDE0IEBACiAgICAgICAgIF0KICAgICB9LAogICAgIHsKKyAgICAgICAgImRvbWFp
biI6ICJGaWxlU3lzdGVtIiwKKyAgICAgICAgImhpZGRlbiI6IHRydWUsCisgICAgICAgICJjb21t
YW5kcyI6IFsKKyAgICAgICAgXSwKKyAgICAgICAgImV2ZW50cyI6IFsKKyAgICAgICAgXQorICAg
IH0sCisgICAgewogICAgICAgICAiZG9tYWluIjogIkRPTSIsCiAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJUaGlzIGRvbWFpbiBleHBvc2VzIERPTSByZWFkL3dyaXRlIG9wZXJhdGlvbnMuIEVhY2gg
RE9NIE5vZGUgaXMgcmVwcmVzZW50ZWQgd2l0aCBpdHMgbWlycm9yIG9iamVjdCB0aGF0IGhhcyBh
biA8Y29kZT5pZDwvY29kZT4uIFRoaXMgPGNvZGU+aWQ8L2NvZGU+IGNhbiBiZSB1c2VkIHRvIGdl
dCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIHRoZSBOb2RlLCByZXNvbHZlIGl0IGludG8gdGhl
IEphdmFTY3JpcHQgb2JqZWN0IHdyYXBwZXIsIGV0Yy4gSXQgaXMgaW1wb3J0YW50IHRoYXQgY2xp
ZW50IHJlY2VpdmVzIERPTSBldmVudHMgb25seSBmb3IgdGhlIG5vZGVzIHRoYXQgYXJlIGtub3du
IHRvIHRoZSBjbGllbnQuIEJhY2tlbmQga2VlcHMgdHJhY2sgb2YgdGhlIG5vZGVzIHRoYXQgd2Vy
ZSBzZW50IHRvIHRoZSBjbGllbnQgYW5kIG5ldmVyIHNlbmRzIHRoZSBzYW1lIG5vZGUgdHdpY2Uu
IEl0IGlzIGNsaWVudCdzIHJlc3BvbnNpYmlsaXR5IHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJv
dXQgdGhlIG5vZGVzIHRoYXQgd2VyZSBzZW50IHRvIHRoZSBjbGllbnQuPHA+Tm90ZSB0aGF0IDxj
b2RlPmlmcmFtZTwvY29kZT4gb3duZXIgZWxlbWVudHMgd2lsbCByZXR1cm4gY29ycmVzcG9uZGlu
ZyBkb2N1bWVudCBlbGVtZW50cyBhcyB0aGVpciBjaGlsZCBub2Rlcy48L3A+IiwKICAgICAgICAg
InR5cGVzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCmluZGV4IDE0YTJhZjkyMDA1YmMyOWE0ZTg1MGRmNGE1ZTMwOWEwYmI5YjhkZTYu
LjU3OGE5ZDNkNTllNDhkOGI3NWQyNWRlYWEyMjljZmJkZmE0MTE4ZDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTQ5LDYgKzQ5
LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JEYXRhYmFzZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTEwNCw2ICsxMDUsOSBA
QCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIElu
c3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAg
LCBtX2RhdGFiYXNlQWdlbnQoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1
bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpCiAjZW5kaWYKKyNpZiBFTkFCTEUo
RklMRV9TWVNURU0pCisgICAgLCBtX2ZpbGVzeXN0ZW1BZ2VudChJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCkpKQorI2VuZGlmCiAgICAg
LCBtX2RvbVN0b3JhZ2VBZ2VudChJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNyZWF0ZShtX2lu
c3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKQogICAgICwgbV90aW1lbGlu
ZUFnZW50KEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2Vu
dHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKQogICAgICwgbV9hcHBsaWNhdGlvbkNhY2hlQWdlbnQo
YWRvcHRQdHIobmV3IEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChtX2luc3RydW1lbnRp
bmdBZ2VudHMuZ2V0KCksIG1fcGFnZUFnZW50LmdldCgpLCBtX3N0YXRlLmdldCgpKSkpCkBAIC0y
MDksNiArMjEzLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQo
KQogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5zZXRGcm9u
dGVuZChtX2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKICNlbmRpZgorI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKKyAgICBtX2ZpbGVzeXN0ZW1BZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JG
cm9udGVuZC5nZXQoKSk7CisjZW5kaWYKICAgICBtX2RvbVN0b3JhZ2VBZ2VudC0+c2V0RnJvbnRl
bmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAg
bV93b3JrZXJBZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CkBA
IC0yMzYsNiArMjQzLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRl
bmQoKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICAgICBtX2RlYnVnZ2Vy
QWdlbnQuZ2V0KCksCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAgIG1f
ZmlsZXN5c3RlbUFnZW50LmdldCgpLAorI2VuZGlmCiAgICAgICAgIG1fcmVzb3VyY2VBZ2VudC5n
ZXQoKSwKICAgICAgICAgbV9wYWdlQWdlbnQuZ2V0KCksCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRf
REVCVUdHRVIpCkBAIC0yODAsNiArMjkwLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpk
aXNjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRh
YmFzZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNU
RU0pCisgICAgbV9maWxlc3lzdGVtQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsKKyNlbmRpZgogICAg
IG1fZG9tU3RvcmFnZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAgICAgbV9wYWdlQWdlbnQtPmNs
ZWFyRnJvbnRlbmQoKTsKICNpZiBFTkFCTEUoV09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDc2NWNhZGZjMmY3NGQ1ZDYwOTky
ZTZjMjcyZmNlYzRmOTVhZmVlYTYuLjJiYTkyYzkyM2YyYjJjODgyOWQ3NGQwOWZlMGZjNDE1MjUx
MzRhZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuaApAQCAtNTMsNiArNTMsNyBAQCBjbGFzcyBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Owog
Y2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VB
Z2VudDsKIGNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZDsKIGNsYXNzIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50OwogY2xhc3MgSW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTM3LDYgKzEzOCw5
IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBPd25QdHI8SW5zcGVj
dG9yRGF0YWJhc2VBZ2VudD4gbV9kYXRhYmFzZUFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKEZJ
TEVfU1lTVEVNKQorICAgIE93blB0cjxJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ+IG1fZmlsZXN5
c3RlbUFnZW50OworI2VuZGlmCiAgICAgT3duUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudD4g
bV9kb21TdG9yYWdlQWdlbnQ7CiAgICAgT3duUHRyPEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+IG1f
dGltZWxpbmVBZ2VudDsKICAgICBPd25QdHI8SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
PiBtX2FwcGxpY2F0aW9uQ2FjaGVBZ2VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ0ODdhYzJl
YzY1NWI2ZGMzZWE4NTM5ODQwY2IxZDUxMWM5ZjZlMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwCkBAIC0wLDAg
KzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50LmgiCisKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisKKyNpZiBFTkFC
TEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoRklMRV9TWVNURU0pCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworLy8gc3RhdGljCitQYXNzT3duUHRyPEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50OjpjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cykKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzKSk7Cit9CisKK0luc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudDo6fkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgpCit7CisgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoMCk7Cit9CisKK3ZvaWQgSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50OjpkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZp
bGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50OjppbnZhbGlkYXRlRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVT
eXN0ZW0pCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpzZXRGcm9udGVu
ZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCit7CisgICAgbV9mcm9udGVuZCA9IGZyb250
ZW5kLT5maWxlc3lzdGVtKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojpj
bGVhckZyb250ZW5kKCkKK3sKKyAgICBtX2Zyb250ZW5kID0gMDsKK30KKworSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50OjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cykKKyAgICA6IG1faW5zdHJ1bWVudGluZ0FnZW50cyhpbnN0
cnVtZW50aW5nQWdlbnRzKSwKKyAgICAgIG1fZnJvbnRlbmQoMCkKK3sKKyAgICBtX2luc3RydW1l
bnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCh0aGlzKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5B
QkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjOTIzZDNlOGU5NWQwMjkwMTEzMGE1
ODE2OGVhZDlhYWJjOGMyYjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50X2gKKworI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisKKyNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKK2NsYXNzIERPTUZpbGVTeXN0ZW07CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZDsK
K2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CisKK2NsYXNzIEluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyopOworICAgIHZpcnR1YWwgfkluc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudCgpOworCisgICAgdm9pZCBkaWRPcGVuRmlsZVN5c3RlbShQYXNz
UmVmUHRyPERPTUZpbGVTeXN0ZW0+KTsKKyAgICB2b2lkIGludmFsaWRhdGVGaWxlU3lzdGVtKFBh
c3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4pOworCisgICAgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0
b3JGcm9udGVuZCopOworICAgIHZvaWQgY2xlYXJGcm9udGVuZCgpOworCitwcml2YXRlOgorICAg
IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKik7CisKKyAgICBJ
bnN0cnVtZW50aW5nQWdlbnRzKiBtX2luc3RydW1lbnRpbmdBZ2VudHM7CisgICAgSW5zcGVjdG9y
RnJvbnRlbmQ6OkZpbGVTeXN0ZW0qIG1fZnJvbnRlbmQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnRfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5z
dHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTY3ZWQ2ZjhiMGFlM2E4YmJjN2EwYzU5N2ZiZmI1
YWM3ZjVjZTFlZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1OSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbl9oCisjZGVmaW5lIEluc3BlY3Rv
ckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQoraW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0
ZW0+IGZpbGVTeXN0ZW0pCit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNG
b3JDb250ZXh0KGZpbGVTeXN0ZW0tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAg
IGRpZE9wZW5GaWxlU3lzdGVtSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBmaWxlU3lzdGVtKTsK
KyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQorfQorCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmludmFsaWRhdGVGaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5
c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvckNvbnRleHQoZmlsZVN5c3RlbS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAg
ICAgaW52YWxpZGF0ZUZpbGVTeXN0ZW1JbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGZpbGVTeXN0
ZW0pOworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCit9CisjZW5kaWYgLy8gRU5BQkxFKEZJ
TEVfU1lTVEVNKQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBJbnNwZWN0
b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggYmQyYjllNTBlNDlk
NDg1MDJhMDk3NmVkZjJhZjg5MjEwMTJmY2I3Yy4uYmE1ZjY4MTUyZDkxODc1MmZjMjYwNzNhMzZh
ZjJmOTFlMDM4ZTJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJJ
bnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQYWdlQWdlbnQuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JQcm9maWxlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVz
b3VyY2VBZ2VudC5oIgpAQCAtNzcwLDYgKzc3MSwyNiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCit2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZpbGVTeXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMsIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3Rl
bSkKK3sKKyAgICBJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQgPSBpbnN0cnVtZW50aW5n
QWdlbnRzLT5pbnNwZWN0b3JBZ2VudCgpOworICAgIGlmICghaW5zcGVjdG9yQWdlbnQgfHwgIWlu
c3BlY3RvckFnZW50LT5lbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50KiBmaWxlU3lzdGVtQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
LT5pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoKSkKKyAgICAgICAgZmlsZVN5c3RlbUFnZW50LT5k
aWRPcGVuRmlsZVN5c3RlbShmaWxlU3lzdGVtKTsKK30KKwordm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmludmFsaWRhdGVGaWxlU3lzdGVtSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzLCBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0p
Cit7CisgICAgSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy0+aW5zcGVjdG9yQWdlbnQoKTsKKyAgICBpZiAoIWluc3BlY3RvckFnZW50IHx8ICFpbnNw
ZWN0b3JBZ2VudC0+ZW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKEluc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudCogZmlsZVN5c3RlbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
aW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KCkpCisgICAgICAgIGZpbGVTeXN0ZW1BZ2VudC0+aW52
YWxpZGF0ZUZpbGVTeXN0ZW0oZmlsZVN5c3RlbSk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVf
U1lTVEVNKQorCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFn
ZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgU3RvcmFnZUFy
ZWEqIHN0b3JhZ2VBcmVhLCBib29sIGlzTG9jYWxTdG9yYWdlLCBGcmFtZSogZnJhbWUpCiB7CiAg
ICAgSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
aW5zcGVjdG9yQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBhNjIwMjdkYzYzODM4ODBlMGM4ZDc4YjlmMzRh
MGUzMWRiNjJiZDIxLi45OGE3NDZkZGRiOGQzNTAxNTE2YzUwZTdkMmY2YjEwMDM5MmQxOTg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2lu
Y2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgorI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5o
IgpAQCAtNDIsNiArNDMsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDaGFyYWN0
ZXJEYXRhOworY2xhc3MgRE9NRmlsZVN5c3RlbTsKIGNsYXNzIERPTVdpbmRvdzsKIGNsYXNzIERP
TVdyYXBwZXJXb3JsZDsKIGNsYXNzIERhdGFiYXNlOwpAQCAtMTcyLDYgKzE3NCwxMSBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPERhdGFiYXNlPiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uKTsKICNlbmRpZgogCisjaWYgRU5BQkxF
KEZJTEVfU1lTVEVNKQorICAgIHN0YXRpYyB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQ
dHI8RE9NRmlsZVN5c3RlbT4pOworICAgIHN0YXRpYyB2b2lkIGludmFsaWRhdGVGaWxlU3lzdGVt
KFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4pOworI2VuZGlmCisKICAgICBzdGF0aWMgdm9pZCBk
aWRVc2VET01TdG9yYWdlKFBhZ2UqLCBTdG9yYWdlQXJlYSosIGJvb2wgaXNMb2NhbFN0b3JhZ2Us
IEZyYW1lKik7CiAKICNpZiBFTkFCTEUoV09SS0VSUykKQEAgLTMwNCw2ICszMTEsMTEgQEAgcHJp
dmF0ZToKICAgICBzdGF0aWMgdm9pZCBkaWRPcGVuRGF0YWJhc2VJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqLCBQYXNzUmVmUHRyPERhdGFiYXNlPiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uKTsKICNlbmRpZgogCisjaWYgRU5B
QkxFKEZJTEVfU1lTVEVNKQorICAgIHN0YXRpYyB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtSW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzKiwgUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPik7CisgICAgc3Rh
dGljIHZvaWQgaW52YWxpZGF0ZUZpbGVTeXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQ
YXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgZGlk
VXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFN0b3JhZ2VBcmVhKiwgYm9v
bCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUqKTsKIAogI2lmIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggN2NkN2Y3
YTJhZWNhY2Y2MGI4ZGFmMTYwMTQyYTlhODEzMGE2ZmFjNS4uNzFkYmU0NGU4M2VjNzZlY2MzYmVh
ZDMyZTUyY2JiZWRhNzBhNThkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
dHJ1bWVudGluZ0FnZW50cy5oCkBAIC00Niw2ICs0Niw3IEBAIGNsYXNzIEluc3BlY3RvckRPTUFn
ZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0
YWJhc2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKQEAg
LTcxLDYgKzcyLDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAg
ICwgbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9T
WVNURU0pCisgICAgICAgICwgbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoMCkKKyNlbmRpZgog
ICAgICAgICAsIG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KDApCiAjaWYgRU5BQkxF
KEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgICAgICwgbV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50
KDApCkBAIC0xMTQsNyArMTE4LDEwIEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JEYXRhYmFzZUFn
ZW50KiBpbnNwZWN0b3JEYXRhYmFzZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JE
YXRhYmFzZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JEYXRhYmFzZUFnZW50KEluc3Bl
Y3RvckRhdGFiYXNlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCA9IGFn
ZW50OyB9CiAjZW5kaWYKLQorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQqIGluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgpIGNvbnN0IHsgcmV0dXJu
IG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQoSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKICAgICBJbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQqIGluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIGNvbnN0IHsg
cmV0dXJuIG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJ
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCA9IGFnZW50OyB9
CiAKQEAgLTE0Niw2ICsxNTMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50Owog
I2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIEluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudCogbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7CisjZW5kaWYKICAgICBJbnNwZWN0b3JB
cHBsaWNhdGlvbkNhY2hlQWdlbnQqIG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50Owog
I2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQqIG1faW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBlMWY0NTk3MTBj
ZTAxYTM2ODkwYWQ3NmM0Mzc1MDBhZjcwZmM3ODM0Li5iYzJlZjdkZjJjNGVjMjQ4NjM0ZGM0YmMx
MmFmMTI2M2JlYzEzYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xNTUsNiArMTU1LDkgQEAgdm9pZCBX
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShK
QVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICAgICBtX2RlYnVnZ2VyQWdlbnQuZ2V0KCksCiAjZW5k
aWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAgIDAsIC8vIEluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudAorI2VuZGlmCiAgICAgICAgIDAsIC8vIEluc3BlY3RvclJlc291cmNlQWdlbnQK
ICAgICAgICAgMCwgLy8gSW5zcGVjdG9yUGFnZUFnZW50CiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRf
REVCVUdHRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0ZpbGVTeXN0ZW0uanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVT
eXN0ZW0uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTAwNmI1ODljNTVmNjE0YWIxOTBjNGM4YWJlZjRkYmY0N2Zk
ZDk2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRmlsZVN5c3RlbS5qcwpAQCAtMCwwICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1WaWV3LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwMDZiNTg5
YzU1ZjYxNGFiMTkwYzRjOGFiZWY0ZGJmNDdmZGQ5NjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1WaWV3LmpzCkBAIC0wLDAg
KzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJL
aXQucXJjIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmlu
ZGV4IDc2ZmE0MzI4YjUwMWUxZWFmN2QwNThiMDgyYmJlMTU1NzM5Y2NjMjAuLmFiYmVjOTNlOTQw
MGI5N2YyZjg4MjY0YjE0NTg5NDgzNTc2YWZiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKQEAgLTU0LDYgKzU0LDggQEAKICAgICA8ZmlsZT5F
eHRlbnNpb25QYW5lbC5qczwvZmlsZT4KICAgICA8ZmlsZT5FeHRlbnNpb25SZWdpc3RyeVN0dWIu
anM8L2ZpbGU+CiAgICAgPGZpbGU+RXh0ZW5zaW9uU2VydmVyLmpzPC9maWxlPgorICAgIDxmaWxl
PkZpbGVTeXN0ZW0uanM8L2ZpbGU+CisgICAgPGZpbGU+RmlsZVN5c3RlbVZpZXcuanM8L2ZpbGU+
CiAgICAgPGZpbGU+Rm9udFZpZXcuanM8L2ZpbGU+CiAgICAgPGZpbGU+R29Ub0xpbmVEaWFsb2cu
anM8L2ZpbGU+CiAgICAgPGZpbGU+SEFSRW50cnkuanM8L2ZpbGU+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRleCA3NmEyMWI5YTY4
MDg5M2FhM2ZiNzFlZThiMzY4ZTlkMzRlMjA4YTdkLi5mMTc4ZTk1OGRhZTU3NGMxZDkyMTM4N2E3
ZDMyZjRhODE0MTYwNGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTc0LDYgKzc0LDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJET01TdG9yYWdlLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJET01TdG9yYWdlSXRlbXNW
aWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJEYXRhR3JpZC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iRmlsZVN5c3RlbS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iU2hvd01vcmVEYXRhR3JpZE5vZGUuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvb2tpZXNUYWJsZS5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29va2llSXRl
bXNWaWV3LmpzIj48L3NjcmlwdD4KQEAgLTE0Nyw2ICsxNDgsNyBAQCBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkltYWdlVmlldy5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRGF0YWJhc2VUYWJsZVZp
ZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IkRhdGFiYXNlUXVlcnlWaWV3LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJGaWxlU3lzdGVtVmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iUHJvZmlsZURhdGFHcmlkVHJlZS5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQm90dG9tVXBQ
cm9maWxlRGF0YUdyaWRUcmVlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJUb3BEb3duUHJvZmlsZURhdGFHcmlkVHJlZS5qcyI+PC9zY3JpcHQ+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115312</attachid>
            <date>2011-11-15 20:43:07 -0800</date>
            <delta_ts>2011-11-15 21:22:55 -0800</delta_ts>
            <desc>Patch (rebase)</desc>
            <filename>bug-72456-20111116134304.patch</filename>
            <type>text/plain</type>
            <size>38395</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFjNmIxZGIyODJiOTM0
MDdkYTdkNTI0MmZmYmExZmNjMzJhMTE5Mi4uMTI1YjUwNjk2YjNlYzM4OTljMWIwMzY3NmVhM2Q5
NGM3ZTE0ODgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDExLTExLTE1ICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnNwZWN0b3ItRmlsZVN5
c3RlbTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZpbGVz
IGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcgaG9v
a3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09Q
UyEpCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01GaWxlU3lz
dGVtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5c3RlbTo6Y29udGV4dERl
c3Ryb3llZCk6CisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtLmg6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Oklu
c3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxl
cjo6Y29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xs
ZXI6OmRpc2Nvbm5lY3RGcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6On5J
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50OjpkaWRPcGVuRmlsZVN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmludmFsaWRhdGVGaWxlU3lzdGVtKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6c2V0RnJvbnRlbmQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6SW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Lmg6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVu
dGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRPcGVuRmlsZVN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmludmFsaWRhdGVGaWxlU3lzdGVtKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZpbGVTeXN0ZW1JbXBsKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW52YWxpZGF0ZUZpbGVTeXN0ZW1JbXBsKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZy
b250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW0uanM6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanM6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorCiAyMDExLTExLTE1ICBNYXJr
IEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgSlMgRE9NIHdy
YXBwZXJzIGRlcGVuZCBvbiBkZXN0cnVjdG9yIHRvIGRlcmVmIGltcGwgUmVmUHRycwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAppbmRleCBlM2YwYmRiNTRiMTdmMmVlNDA3MDQ2MjUwZTUzYmM5ZGExMmY3ZTBj
Li4xYjk2YWZmNmFlNmYyOWZlZDNkNTU2ZDkxMDIyNWI3NzU2MTczNGZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dApAQCAtODg3LDYgKzg4Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBpbnNw
ZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
RGF0YWJhc2VSZXNvdXJjZS5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5jcHAKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAxY2ZiZGI2YjU2MzI3MTg0M2E4M2E1YTJi
Mjc2NTEwYzE5Y2IyYzI4Li4yZDY3NDk0NzJjNDllMGFlZWRhMmI3YzBhMTVhMGI5Y2VlMDlkY2M5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yNzMxLDYgKzI3MzEsOSBAQAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgnLAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9y
L0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZp
bGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2hhbm5lbC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwJywKQEAgLTYzMjgsNiArNjMzMSw4IEBACiAgICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25QYW5lbC5qcycsCiAgICAgICAgICAgICAnaW5z
cGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25SZWdpc3RyeVN0dWIuanMnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzJywKKyAgICAgICAgICAgICdp
bnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW0uanMnLAorICAgICAgICAgICAgJ2luc3BlY3Rv
ci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9m
cm9udC1lbmQvRm9udFZpZXcuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
R29Ub0xpbmVEaWFsb2cuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSEFS
RW50cnkuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDBiNjUwODI1YzdiYjg1YzkzNDg1NmU2MzYwODYwYzIxNTU2ZjMwOTEu
LjQ5YTUxNTI3ZDcwNWFiYjMzMjM1ZTYxZjYwYTFmODExOTE0YjZlZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMxNyw2ICsz
MTcsOSBAQAogCQkxNUM3NzA5NDEwMEQzQ0E4MDA1QkEyNjcgLyogSlNWYWxpZGl0eVN0YXRlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDky
MTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3BwICovOyB9OwogCQkxNUM3NzBB
NTEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MEEzMTAwRDQxQ0QwMDVCQTI2NyAv
KiBET01WYWxpZGl0eVN0YXRlLm1tICovOyB9OwogCQkxNUM3NzBBNjEwMEQ0MUNEMDA1QkEyNjcg
LyogRE9NVmFsaWRpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTVDNzcwQTQxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUu
aCAqLzsgfTsKKwkJMTVEMTdEMjExNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxNUQxN0QxRTE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNw
cCAqLzsgfTsKKwkJMTVEMTdEMjIxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTVEMTdEMUYxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oICov
OyB9OworCQkxNUQxN0QyMzE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUlu
c3RydW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMTVEMTdEMjAxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0
cnVtZW50YXRpb24uaCAqLzsgfTsKIAkJMTYzRTg4RjcxMThBMzlEMjAwRUQ5MjMxIC8qIFNpbXBs
ZUZvbnREYXRhQ29yZVRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTYzRTg4RjUxMThBMzlEMjAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQ29y
ZVRleHQuY3BwICovOyB9OwogCQkxNjNFOEIxMzExOEIzQUREMDBFRDkyMzEgLyogU2ltcGxlRm9u
dERhdGFBVFNVSS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE2M0U4QjEyMTE4QjNBREQwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUFUU1VJLm1tICov
OyB9OwogCQkxODVCQ0YyODBGMzI3OUNFMDAwRUEyNjIgLyogVGhyZWFkVGltZXJzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE4NUJDRjI2MEYzMjc5
Q0UwMDBFQTI2MiAvKiBUaHJlYWRUaW1lcnMuY3BwICovOyB9OwpAQCAtMTM2OCw2ICsxMzcxLDcg
QEAKIAkJNTAxQkFBQTkxMzk1MEUyQzAwRjdBQ0VCIC8qIFdpbmRSdWxlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDFCQUFBODEzOTUwRTJDMDBGN0FD
RUIgLyogV2luZFJ1bGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk1MDhDQ0E0RjEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTA4Q0NBNEQx
M0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQuaCAqLzsgfTsKIAkJNTA4Q0NBNTAx
M0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTA4Q0NBNEUxM0NGMTA2QjAwMzE1MUYzIC8q
IFJlbmRlckZsb3dUaHJlYWQuY3BwICovOyB9OworCQk1MEI0MjE1ODE0Njk3Njk2MDA4N0U2MDQg
LyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUwQjQyMTU3MTQ2OTc2OTYwMDg3RTYwNCAvKiBXZWJLaXRDU1NTaGFk
ZXJWYWx1ZS5oICovOyB9OwogCQk1MEU1NjZENjEzOUUzOEM1MDAyMTQ0MzMgLyogQ1NTV3JhcFNo
YXBlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MDFCQUFCMTEzOTUxMTRCMDBGN0FDRUIgLyogQ1NTV3JhcFNoYXBlcy5jcHAgKi87IH07CiAJCTUx
MDE4NDY5MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAxODQ2NzBCMDg2MDJBMDA0QTgyNUYgLyog
Q2FjaGVkUGFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTUxMDE4NDZBMEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDE4NDY4MEIwODYwMkEw
MDRBODI1RiAvKiBDYWNoZWRQYWdlLmNwcCAqLzsgfTsKQEAgLTczODIsNiArNzM4Niw5IEBACiAJ
CTE1Qzc3MDkyMTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNWYWxpZGl0eVN0YXRlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTVDNzcwQTMxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZh
bGlkaXR5U3RhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBE
T01WYWxpZGl0eVN0YXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzBB
NDEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01WYWxpZGl0eVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTE1RDE3RDFFMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVEMTdE
MUYxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVEMTdEMjAxNDcyMzFFQjAwNUVCQ0E2IC8qIElu
c3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxNjNFODhGNTExOEEzOUQyMDBFRDkyMzEgLyogU2ltcGxl
Rm9udERhdGFDb3JlVGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMTYzRThCMTIxMThCM0FERDAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQVRTVUkubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTaW1wbGVGb250RGF0YUFUU1VJ
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxODVCQ0YyNjBGMzI3OUNFMDAwRUEy
NjIgLyogVGhyZWFkVGltZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFRocmVhZFRpbWVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDQ1
Niw2ICsxNDQ2Myw5IEBACiAJCTFDODFCOTREMEU5NzMyRDkwMDI2NkUwNyAvKiBpbnNwZWN0b3Ig
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTE1RDE3RDFF
MTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovLAorCQkJ
CTE1RDE3RDFGMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCAq
LywKKwkJCQkxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUlu
c3RydW1lbnRhdGlvbi5oICovLAogCQkJCTFDODFCOTU5MEU5NzMzMDgwMDI2NkUwNyAvKiBmcm9u
dC1lbmQgKi8sCiAJCQkJNDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdl
LmNwcCAqLywKIAkJCQk0MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2Uu
aCAqLywKQEAgLTI0Njk0LDYgKzI0NzA0LDggQEAKIAkJCQlDREY2NUNDQTE0NUI0NDg4MDBDNEM3
QUEgLyogTWVkaWFDb250cm9sbGVySW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTE3
QjU2MjE0NzM0OTZDMDA1MkM5RDAgLyogTGF5ZXJGbHVzaFNjaGVkdWxlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjkxN0I1NjMxNDczNDk2QzAwNTJDOUQwIC8qIExheWVyRmx1c2hTY2hlZHVsZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE1RDE3RDIyMTQ3MjMxRUIwMDVFQkNBNiAvKiBJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE1RDE3RDIzMTQ3
MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKQEAgLTI3NTY0LDYgKzI3NTc2LDcgQEAKIAkJCQkzMTMxM0Y2NTE0NDNCMzVG
MDA2RTJBOTAgLyogRmlsdGVyRWZmZWN0UmVuZGVyZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MjkxN0I1NjExNDczNDk2QzAwNTJDOUQwIC8qIExheWVyRmx1c2hTY2hlZHVsZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMjkxN0I1NjYxNDczNDk5NTAwNTJDOUQwIC8qIExheWVyRmx1c2hTY2hl
ZHVsZXJNYWMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTVEMTdEMjExNDcyMzFFQjAwNUVCQ0E2
IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCmluZGV4IDUxMjY1MzAyMmNmNjExZjcwOWU3
YmZjOWRhZDkxODFjYjQ2NDBjZWYuLjA0NGZhOTZjNDFlNTAyMWI1NzJjNmMzZmViZGQ4MzlhMWI2
YWU5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcApAQCAtNDUs
MTIgKzQ1LDIxIEBACiAjaW5jbHVkZSAiRmlsZVdyaXRlci5oIgogI2luY2x1ZGUgIkZpbGVXcml0
ZXJCYXNlQ2FsbGJhY2suaCIKICNpbmNsdWRlICJGaWxlV3JpdGVyQ2FsbGJhY2suaCIKKyNpbmNs
dWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTWV0
YWRhdGFDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gc3RhdGlj
CitQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IERPTUZpbGVTeXN0ZW06OmNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8
QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCit7CisgICAgUmVmUHRyPERPTUZpbGVT
eXN0ZW0+IGZpbGVTeXN0ZW0oYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFt
ZSwgYXN5bmNGaWxlU3lzdGVtKSkpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
T3BlbkZpbGVTeXN0ZW0oZmlsZVN5c3RlbS5nZXQoKSk7CisgICAgcmV0dXJuIGZpbGVTeXN0ZW07
Cit9CisKIERPTUZpbGVTeXN0ZW06OkRPTUZpbGVTeXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3Rl
bT4gYXN5bmNGaWxlU3lzdGVtKQogICAgIDogRE9NRmlsZVN5c3RlbUJhc2UoY29udGV4dCwgbmFt
ZSwgYXN5bmNGaWxlU3lzdGVtKQogICAgICwgQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMp
CkBAIC03NCw2ICs4Myw3IEBAIGJvb2wgRE9NRmlsZVN5c3RlbTo6aGFzUGVuZGluZ0FjdGl2aXR5
KCkgY29uc3QKIAogdm9pZCBET01GaWxlU3lzdGVtOjpjb250ZXh0RGVzdHJveWVkKCkKIHsKKyAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmludmFsaWRhdGVGaWxlU3lzdGVtKHRoaXMpOwog
ICAgIG1fYXN5bmNGaWxlU3lzdGVtLT5zdG9wKCk7CiAgICAgQWN0aXZlRE9NT2JqZWN0Ojpjb250
ZXh0RGVzdHJveWVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RP
TUZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCmlu
ZGV4IDhlMzU1NjcwZmM0NWRjMzlmMjg1YTIwYzlmNGVjNDZhZTUxNmFiYzYuLjc0ZmE5YWMxODE1
ZmQ1ZWNmMTVlMWM1MGI1ZTAyOTBjYWViNjhhODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbS5oCkBAIC00NywxMCArNDcsNyBAQCBjbGFzcyBGaWxlV3JpdGVyQ2FsbGJhY2s7
CiAKIGNsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMgRE9NRmlsZVN5c3RlbUJhc2UsIHB1Ymxp
YyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZp
bGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBT
dHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0p
Ci0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0oY29udGV4
dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7Ci0gICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4pOwogCiAgICAgUGFzc1JlZlB0
cjxEaXJlY3RvcnlFbnRyeT4gcm9vdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb24KaW5kZXggZTBkMWZhNjkwYTM1NzBlNzEzZTM0YmQ1OTNiZDA4YWZjY2NhYzhlMS4u
ODE0NDIzOGZlNDkyZDFiZGNhYmRkOWQ2N2E4M2NiZjJhZjlmYThhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMTAwOSw2ICsxMDA5LDE0IEBACiAgICAgICAg
IF0KICAgICB9LAogICAgIHsKKyAgICAgICAgImRvbWFpbiI6ICJGaWxlU3lzdGVtIiwKKyAgICAg
ICAgImhpZGRlbiI6IHRydWUsCisgICAgICAgICJjb21tYW5kcyI6IFsKKyAgICAgICAgXSwKKyAg
ICAgICAgImV2ZW50cyI6IFsKKyAgICAgICAgXQorICAgIH0sCisgICAgewogICAgICAgICAiZG9t
YWluIjogIkRPTSIsCiAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUaGlzIGRvbWFpbiBleHBvc2Vz
IERPTSByZWFkL3dyaXRlIG9wZXJhdGlvbnMuIEVhY2ggRE9NIE5vZGUgaXMgcmVwcmVzZW50ZWQg
d2l0aCBpdHMgbWlycm9yIG9iamVjdCB0aGF0IGhhcyBhbiA8Y29kZT5pZDwvY29kZT4uIFRoaXMg
PGNvZGU+aWQ8L2NvZGU+IGNhbiBiZSB1c2VkIHRvIGdldCBhZGRpdGlvbmFsIGluZm9ybWF0aW9u
IG9uIHRoZSBOb2RlLCByZXNvbHZlIGl0IGludG8gdGhlIEphdmFTY3JpcHQgb2JqZWN0IHdyYXBw
ZXIsIGV0Yy4gSXQgaXMgaW1wb3J0YW50IHRoYXQgY2xpZW50IHJlY2VpdmVzIERPTSBldmVudHMg
b25seSBmb3IgdGhlIG5vZGVzIHRoYXQgYXJlIGtub3duIHRvIHRoZSBjbGllbnQuIEJhY2tlbmQg
a2VlcHMgdHJhY2sgb2YgdGhlIG5vZGVzIHRoYXQgd2VyZSBzZW50IHRvIHRoZSBjbGllbnQgYW5k
IG5ldmVyIHNlbmRzIHRoZSBzYW1lIG5vZGUgdHdpY2UuIEl0IGlzIGNsaWVudCdzIHJlc3BvbnNp
YmlsaXR5IHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG5vZGVzIHRoYXQgd2VyZSBz
ZW50IHRvIHRoZSBjbGllbnQuPHA+Tm90ZSB0aGF0IDxjb2RlPmlmcmFtZTwvY29kZT4gb3duZXIg
ZWxlbWVudHMgd2lsbCByZXR1cm4gY29ycmVzcG9uZGluZyBkb2N1bWVudCBlbGVtZW50cyBhcyB0
aGVpciBjaGlsZCBub2Rlcy48L3A+IiwKICAgICAgICAgInR5cGVzIjogWwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDE0YTJhZjky
MDA1YmMyOWE0ZTg1MGRmNGE1ZTMwOWEwYmI5YjhkZTYuLjU3OGE5ZDNkNTllNDhkOGI3NWQyNWRl
YWEyMjljZmJkZmE0MTE4ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFzZUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaCIKQEAgLTEwNCw2ICsxMDUsOSBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJ
bnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9y
QwogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgLCBtX2RhdGFiYXNlQWdlbnQoSW5zcGVj
dG9yRGF0YWJhc2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9z
dGF0ZS5nZXQoKSkpCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgLCBtX2Zp
bGVzeXN0ZW1BZ2VudChJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1l
bnRpbmdBZ2VudHMuZ2V0KCkpKQorI2VuZGlmCiAgICAgLCBtX2RvbVN0b3JhZ2VBZ2VudChJbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCks
IG1fc3RhdGUuZ2V0KCkpKQogICAgICwgbV90aW1lbGluZUFnZW50KEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkp
KQogICAgICwgbV9hcHBsaWNhdGlvbkNhY2hlQWdlbnQoYWRvcHRQdHIobmV3IEluc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudChtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fcGFnZUFn
ZW50LmdldCgpLCBtX3N0YXRlLmdldCgpKSkpCkBAIC0yMDksNiArMjEzLDkgQEAgdm9pZCBJbnNw
ZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5zZXRGcm9udGVuZChtX2luc3BlY3RvckZyb250ZW5k
LmdldCgpKTsKICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBtX2ZpbGVzeXN0
ZW1BZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CisjZW5kaWYK
ICAgICBtX2RvbVN0b3JhZ2VBZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5n
ZXQoKSk7CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgbV93b3JrZXJBZ2VudC0+c2V0RnJvbnRl
bmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CkBAIC0yMzYsNiArMjQzLDkgQEAgdm9pZCBJ
bnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShKQVZBU0NS
SVBUX0RFQlVHR0VSKQogICAgICAgICBtX2RlYnVnZ2VyQWdlbnQuZ2V0KCksCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAgIG1fZmlsZXN5c3RlbUFnZW50LmdldCgpLAor
I2VuZGlmCiAgICAgICAgIG1fcmVzb3VyY2VBZ2VudC5nZXQoKSwKICAgICAgICAgbV9wYWdlQWdl
bnQuZ2V0KCksCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCkBAIC0yODAsNiArMjkw
LDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQoKQogI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5jbGVhckZyb250ZW5k
KCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgbV9maWxlc3lzdGVtQWdl
bnQtPmNsZWFyRnJvbnRlbmQoKTsKKyNlbmRpZgogICAgIG1fZG9tU3RvcmFnZUFnZW50LT5jbGVh
ckZyb250ZW5kKCk7CiAgICAgbV9wYWdlQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsKICNpZiBFTkFC
TEUoV09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oCmluZGV4IDc2NWNhZGZjMmY3NGQ1ZDYwOTkyZTZjMjcyZmNlYzRmOTVhZmVlYTYuLjJi
YTkyYzkyM2YyYjJjODgyOWQ3NGQwOWZlMGZjNDE1MjUxMzRhZjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtNTMsNiArNTMsNyBAQCBj
bGFzcyBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRl
YnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7CiBjbGFzcyBJbnNw
ZWN0b3JGcm9udGVuZDsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50OwogY2xhc3MgSW5z
cGVjdG9yUGFnZUFnZW50OwpAQCAtMTM3LDYgKzEzOCw5IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKICAgICBPd25QdHI8SW5zcGVjdG9yRGF0YWJhc2VBZ2VudD4gbV9kYXRh
YmFzZUFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIE93blB0cjxJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ+IG1fZmlsZXN5c3RlbUFnZW50OworI2VuZGlmCiAgICAg
T3duUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudD4gbV9kb21TdG9yYWdlQWdlbnQ7CiAgICAg
T3duUHRyPEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+IG1fdGltZWxpbmVBZ2VudDsKICAgICBPd25Q
dHI8SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50PiBtX2FwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ0ODdhYzJlYzY1NWI2ZGMzZWE4NTM5ODQwY2IxZDUx
MWM5ZjZlMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgiCisKKyNpbmNsdWRlICJJ
bnN0cnVtZW50aW5nQWdlbnRzLmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUo
RklMRV9TWVNURU0pCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gc3RhdGljCitQYXNzT3du
UHRyPEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojpj
cmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cykKK3sKKyAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudChpbnN0cnVtZW50aW5n
QWdlbnRzKSk7Cit9CisKK0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6fkluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudCgpCit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojpk
aWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7
Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjppbnZhbGlkYXRlRmlsZVN5c3Rl
bShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7Cit9CisKK3ZvaWQgSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCogZnJv
bnRlbmQpCit7CisgICAgbV9mcm9udGVuZCA9IGZyb250ZW5kLT5maWxlc3lzdGVtKCk7Cit9CisK
K3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpjbGVhckZyb250ZW5kKCkKK3sKKyAgICBt
X2Zyb250ZW5kID0gMDsKK30KKworSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cykK
KyAgICA6IG1faW5zdHJ1bWVudGluZ0FnZW50cyhpbnN0cnVtZW50aW5nQWdlbnRzKSwKKyAgICAg
IG1fZnJvbnRlbmQoMCkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudCh0aGlzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRjOTIzZDNlOGU5NWQwMjkwMTEzMGE1ODE2OGVhZDlhYWJjOGMyYjYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50LmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
X2gKKyNkZWZpbmUgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50X2gKKworI2luY2x1ZGUgIkluc3Bl
Y3RvckZyb250ZW5kLmgiCisKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIERPTUZpbGVT
eXN0ZW07CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZDsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2Vu
dHM7CisKK2NsYXNzIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NPd25QdHI8SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50PiBjcmVhdGUoSW5zdHJ1bWVu
dGluZ0FnZW50cyopOworICAgIHZpcnR1YWwgfkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgpOwor
CisgICAgdm9pZCBkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+KTsK
KyAgICB2b2lkIGludmFsaWRhdGVGaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4p
OworCisgICAgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCopOworICAgIHZvaWQg
Y2xlYXJGcm9udGVuZCgpOworCitwcml2YXRlOgorICAgIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKik7CisKKyAgICBJbnN0cnVtZW50aW5nQWdlbnRzKiBtX2lu
c3RydW1lbnRpbmdBZ2VudHM7CisgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OkZpbGVTeXN0ZW0qIG1f
ZnJvbnRlbmQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTY3ZWQ2ZjhiMGFlM2E4YmJjN2EwYzU5N2ZiZmI1YWM3ZjVjZTFlZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1
bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yRmlsZVN5c3RlbUlu
c3RydW1lbnRhdGlvbl9oCisjZGVmaW5lIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRp
b25faAorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisjaWYgRU5BQkxFKEZJ
TEVfU1lTVEVNKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVu
RmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7CisjaWYg
RU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGZpbGVTeXN0ZW0tPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgIGRpZE9wZW5GaWxlU3lzdGVtSW1wbChp
bnN0cnVtZW50aW5nQWdlbnRzLCBmaWxlU3lzdGVtKTsKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKQorfQorCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmludmFsaWRh
dGVGaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoZmlsZVN5c3RlbS0+
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgaW52YWxpZGF0ZUZpbGVTeXN0ZW1J
bXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGZpbGVTeXN0ZW0pOworI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0
aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAKaW5kZXggYmQyYjllNTBlNDlkNDg1MDJhMDk3NmVkZjJhZjg5MjEwMTJm
Y2I3Yy4uYmE1ZjY4MTUyZDkxODc1MmZjMjYwNzNhMzZhZjJmOTFlMDM4ZTJhZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRl
YnVnZ2VyQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JQYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQcm9maWxl
ckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgpAQCAtNzcwLDYg
Kzc3MSwyNiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNl
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZQogfQogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoRklMRV9TWVNURU0pCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZp
bGVTeXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFBh
c3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyAgICBJbnNwZWN0b3JBZ2Vu
dCogaW5zcGVjdG9yQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JBZ2VudCgp
OworICAgIGlmICghaW5zcGVjdG9yQWdlbnQgfHwgIWluc3BlY3RvckFnZW50LT5lbmFibGVkKCkp
CisgICAgICAgIHJldHVybjsKKyAgICBpZiAoSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KiBmaWxl
U3lzdGVtQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQoKSkKKyAgICAgICAgZmlsZVN5c3RlbUFnZW50LT5kaWRPcGVuRmlsZVN5c3RlbShmaWxlU3lz
dGVtKTsKK30KKwordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmludmFsaWRhdGVGaWxl
U3lzdGVtSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQYXNz
UmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7CisgICAgSW5zcGVjdG9yQWdlbnQq
IGluc3BlY3RvckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQWdlbnQoKTsK
KyAgICBpZiAoIWluc3BlY3RvckFnZW50IHx8ICFpbnNwZWN0b3JBZ2VudC0+ZW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisgICAgaWYgKEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogZmlsZVN5
c3RlbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
KCkpCisgICAgICAgIGZpbGVTeXN0ZW1BZ2VudC0+aW52YWxpZGF0ZUZpbGVTeXN0ZW0oZmlsZVN5
c3RlbSk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCiB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cywgU3RvcmFnZUFyZWEqIHN0b3JhZ2VBcmVhLCBib29sIGlz
TG9jYWxTdG9yYWdlLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgSW5zcGVjdG9yQWdlbnQqIGluc3Bl
Y3RvckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQWdlbnQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApp
bmRleCBhNjIwMjdkYzYzODM4ODBlMGM4ZDc4YjlmMzRhMGUzMWRiNjJiZDIxLi45OGE3NDZkZGRi
OGQzNTAxNTE2YzUwZTdkMmY2YjEwMDM5MmQxOTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zMyw2ICszMyw3IEBA
CiAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgor
I2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNDIsNiArNDMsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDaGFyYWN0ZXJEYXRhOworY2xhc3MgRE9NRmlsZVN5
c3RlbTsKIGNsYXNzIERPTVdpbmRvdzsKIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIGNsYXNzIERh
dGFiYXNlOwpAQCAtMTcyLDYgKzE3NCwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlk
T3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPERhdGFiYXNl
PiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB2ZXJzaW9uKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIHN0YXRp
YyB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4pOworICAg
IHN0YXRpYyB2b2lkIGludmFsaWRhdGVGaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3Rl
bT4pOworI2VuZGlmCisKICAgICBzdGF0aWMgdm9pZCBkaWRVc2VET01TdG9yYWdlKFBhZ2UqLCBT
dG9yYWdlQXJlYSosIGJvb2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKik7CiAKICNpZiBFTkFCTEUo
V09SS0VSUykKQEAgLTMwNCw2ICszMTEsMTEgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBk
aWRPcGVuRGF0YWJhc2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVmUHRyPERhdGFi
YXNlPiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB2ZXJzaW9uKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIHN0
YXRpYyB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUGFz
c1JlZlB0cjxET01GaWxlU3lzdGVtPik7CisgICAgc3RhdGljIHZvaWQgaW52YWxpZGF0ZUZpbGVT
eXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+
KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyosIFN0b3JhZ2VBcmVhKiwgYm9vbCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUq
KTsKIAogI2lmIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggN2NkN2Y3YTJhZWNhY2Y2MGI4ZGFmMTYwMTQyYTlh
ODEzMGE2ZmFjNS4uNzFkYmU0NGU4M2VjNzZlY2MzYmVhZDMyZTUyY2JiZWRhNzBhNThkOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC00
Niw2ICs0Niw3IEBAIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9N
U3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKIGNsYXNzIEluc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7CiBjbGFz
cyBJbnNwZWN0b3JQcm9maWxlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsK
IGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKQEAgLTcxLDYgKzcyLDkgQEAgcHVibGljOgog
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgICwgbV9pbnNwZWN0b3JEYXRhYmFzZUFn
ZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAgICwgbV9pbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQoMCkKKyNlbmRpZgogICAgICAgICAsIG1faW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50KDApCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAg
ICAgICAgICwgbV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50KDApCkBAIC0xMTQsNyArMTE4LDEwIEBA
IHB1YmxpYzoKICAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBpbnNwZWN0b3JEYXRhYmFzZUFn
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50OyB9CiAgICAgdm9p
ZCBzZXRJbnNwZWN0b3JEYXRhYmFzZUFnZW50KEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGFnZW50
KSB7IG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKLQorI2lmIEVO
QUJMRShGSUxFX1NZU1RFTSkKKyAgICBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQqIGluc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCA9IGFnZW50
OyB9CisjZW5kaWYKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQqIGluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQXBwbGlj
YXRpb25DYWNoZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQoSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCA9IGFnZW50OyB9CiAKQEAgLTE0Niw2ICsxNTMsOSBAQCBw
cml2YXRlOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgSW5zcGVjdG9yRGF0YWJhc2VB
Z2VudCogbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVf
U1lTVEVNKQorICAgIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogbV9pbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQ7CisjZW5kaWYKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQqIG1f
aW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OwogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RF
QlVHR0VSKQogICAgIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIG1faW5zcGVjdG9yRGVidWdnZXJB
Z2VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0
b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0
b3JDb250cm9sbGVyLmNwcAppbmRleCBlMWY0NTk3MTBjZTAxYTM2ODkwYWQ3NmM0Mzc1MDBhZjcw
ZmM3ODM0Li5iYzJlZjdkZjJjNGVjMjQ4NjM0ZGM0YmMxMmFmMTI2M2JlYzEzYmJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCkBAIC0xNTUsNiArMTU1LDkgQEAgdm9pZCBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVy
Ojpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAg
ICAgICBtX2RlYnVnZ2VyQWdlbnQuZ2V0KCksCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNU
RU0pCisgICAgICAgIDAsIC8vIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudAorI2VuZGlmCiAgICAg
ICAgIDAsIC8vIEluc3BlY3RvclJlc291cmNlQWdlbnQKICAgICAgICAgMCwgLy8gSW5zcGVjdG9y
UGFnZUFnZW50CiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW0uanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW0uanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTAw
NmI1ODljNTVmNjE0YWIxOTBjNGM4YWJlZjRkYmY0N2ZkZDk2MwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qcwpAQCAtMCww
ICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmls
ZVN5c3RlbVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVT
eXN0ZW1WaWV3LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwMDZiNTg5YzU1ZjYxNGFiMTkwYzRjOGFiZWY0ZGJm
NDdmZGQ5NjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0ZpbGVTeXN0ZW1WaWV3LmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IDc2ZmE0MzI4YjUwMWUxZWFmN2Qw
NThiMDgyYmJlMTU1NzM5Y2NjMjAuLmFiYmVjOTNlOTQwMGI5N2YyZjg4MjY0YjE0NTg5NDgzNTc2
YWZiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2Vi
S2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5x
cmMKQEAgLTU0LDYgKzU0LDggQEAKICAgICA8ZmlsZT5FeHRlbnNpb25QYW5lbC5qczwvZmlsZT4K
ICAgICA8ZmlsZT5FeHRlbnNpb25SZWdpc3RyeVN0dWIuanM8L2ZpbGU+CiAgICAgPGZpbGU+RXh0
ZW5zaW9uU2VydmVyLmpzPC9maWxlPgorICAgIDxmaWxlPkZpbGVTeXN0ZW0uanM8L2ZpbGU+Cisg
ICAgPGZpbGU+RmlsZVN5c3RlbVZpZXcuanM8L2ZpbGU+CiAgICAgPGZpbGU+Rm9udFZpZXcuanM8
L2ZpbGU+CiAgICAgPGZpbGU+R29Ub0xpbmVEaWFsb2cuanM8L2ZpbGU+CiAgICAgPGZpbGU+SEFS
RW50cnkuanM8L2ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuaHRtbAppbmRleCA3NmEyMWI5YTY4MDg5M2FhM2ZiNzFlZThiMzY4ZTlkMzRl
MjA4YTdkLi5mMTc4ZTk1OGRhZTU3NGMxZDkyMTM4N2E3ZDMyZjRhODE0MTYwNGY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAg
LTc0LDYgKzc0LDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJET01TdG9yYWdlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJET01TdG9yYWdlSXRlbXNWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJEYXRhR3JpZC5qcyI+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRmlsZVN5c3RlbS5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU2hvd01v
cmVEYXRhR3JpZE5vZGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9IkNvb2tpZXNUYWJsZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29va2llSXRlbXNWaWV3LmpzIj48L3NjcmlwdD4KQEAg
LTE0Nyw2ICsxNDgsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9IkltYWdlVmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iRGF0YWJhc2VUYWJsZVZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRhdGFiYXNlUXVlcnlWaWV3LmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJGaWxlU3lz
dGVtVmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iUHJvZmlsZURhdGFHcmlkVHJlZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQm90dG9tVXBQcm9maWxlRGF0YUdyaWRUcmVlLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJUb3BEb3du
UHJvZmlsZURhdGFHcmlkVHJlZS5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115317</attachid>
            <date>2011-11-15 21:23:02 -0800</date>
            <delta_ts>2011-11-15 22:25:52 -0800</delta_ts>
            <desc>Patch (add CodeGenerator entry)</desc>
            <filename>bug-72456-20111116142301.patch</filename>
            <type>text/plain</type>
            <size>40776</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFjNmIxZGIyODJiOTM0
MDdkYTdkNTI0MmZmYmExZmNjMzJhMTE5Mi4uZmQ1MDM5YmI3NjA1MjZmMDU2OWUyM2ZmNTQ1ZmVk
ZTUyMjc2YzhlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDExLTExLTE1ICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW5zcGVjdG9yXVtGaWxl
U3lzdGVtXTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZp
bGVzIGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcg
aG9va3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBmaWxl
YXBpL0RPTUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5c3RlbTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUZpbGVTeXN0ZW06OmNvbnRleHREZXN0cm95
ZWQpOgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9u
dGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0
RnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojp+SW5zcGVjdG9yRmlsZVN5
c3RlbUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6
ZGlkT3BlbkZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50OjppbnZhbGlkYXRlRmlsZVN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQ6OnNldEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oOiBBZGRlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZp
bGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpp
bnZhbGlkYXRlRmlsZVN5c3RlbSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZE9wZW5GaWxlU3lzdGVtSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmludmFsaWRhdGVGaWxlU3lzdGVtSW1wbCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdl
bnRzOjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRp
bmdBZ2VudHM6Omluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgorICAgICAg
ICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6CisgICAg
ICAgICogaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnNoOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qczogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9GaWxlU3lzdGVtVmlldy5qczogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9XZWJLaXQucXJjOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmh0bWw6CisKIDIwMTEtMTEtMTUgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFw
cGxlLmNvbT4KIAogICAgICAgICBKUyBET00gd3JhcHBlcnMgZGVwZW5kIG9uIGRlc3RydWN0b3Ig
dG8gZGVyZWYgaW1wbCBSZWZQdHJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGUzZjBiZGI1NGIx
N2YyZWU0MDcwNDYyNTBlNTNiYzlkYTEyZjdlMGMuLjFiOTZhZmY2YWU2ZjI5ZmVkM2Q1NTZkOTEw
MjI1Yjc3NTYxNzM0ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04ODcsNiArODg3LDcgQEAg
U0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50
LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAorICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKICAg
ICBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmlu
ZGV4IDFjZmJkYjZiNTYzMjcxODQzYTgzYTVhMmIyNzY1MTBjMTljYjJjMjguLjJkNjc0OTQ3MmM0
OWUwYWVlZGEyYjdjMGExNWEwYjljZWUwOWRjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTI3MzEs
NiArMjczMSw5IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVz
b3VyY2UuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
Y3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oJywK
KyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCcsCisg
ICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oJywKKyAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oJywK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCcsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAnLApAQCAtNjMy
OCw2ICs2MzMxLDggQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lv
blBhbmVsLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblJl
Z2lzdHJ5U3R1Yi5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNp
b25TZXJ2ZXIuanMnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3Rl
bS5qcycsCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtVmlldy5q
cycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Gb250Vmlldy5qcycsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Hb1RvTGluZURpYWxvZy5qcycsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9IQVJFbnRyeS5qcycsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGI2NTA4MjVjN2Ji
ODVjOTM0ODU2ZTYzNjA4NjBjMjE1NTZmMzA5MS4uNDlhNTE1MjdkNzA1YWJiMzMyMzVlNjFmNjBh
MWY4MTE5MTRiNmVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMzE3LDYgKzMxNyw5IEBACiAJCTE1Qzc3MDk0MTAwRDNDQTgw
MDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwOTIxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRp
dHlTdGF0ZS5jcHAgKi87IH07CiAJCTE1Qzc3MEE1MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxp
ZGl0eVN0YXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTVDNzcwQTMxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUubW0gKi87IH07
CiAJCTE1Qzc3MEE2MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzBBNDEwMEQ0MUNE
MDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5oICovOyB9OworCQkxNUQxN0QyMTE0NzIzMUVC
MDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1RDE3RDFFMTQ3MjMxRUIwMDVFQkNBNiAv
KiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovOyB9OworCQkxNUQxN0QyMjE0NzIzMUVC
MDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QxRjE0NzIzMUVCMDA1RUJDQTYgLyog
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggKi87IH07CisJCTE1RDE3RDIzMTQ3MjMxRUIwMDVF
QkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QyMDE0NzIzMUVCMDA1RUJD
QTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oICovOyB9OwogCQkxNjNF
ODhGNzExOEEzOUQyMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNjNFODhGNTExOEEzOUQy
MDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgKi87IH07CiAJCTE2M0U4QjEz
MTE4QjNBREQwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUFUU1VJLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTYzRThCMTIxMThCM0FERDAwRUQ5MjMx
IC8qIFNpbXBsZUZvbnREYXRhQVRTVUkubW0gKi87IH07CiAJCTE4NUJDRjI4MEYzMjc5Q0UwMDBF
QTI2MiAvKiBUaHJlYWRUaW1lcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTg1QkNGMjYwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5j
cHAgKi87IH07CkBAIC0xMzY4LDYgKzEzNzEsNyBAQAogCQk1MDFCQUFBOTEzOTUwRTJDMDBGN0FD
RUIgLyogV2luZFJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUwMUJBQUE4MTM5NTBFMkMwMEY3QUNFQiAvKiBXaW5kUnVsZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUwOENDQTRGMTNDRjEwNkIw
MDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MDhDQ0E0RDEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxv
d1RocmVhZC5oICovOyB9OwogCQk1MDhDQ0E1MDEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxv
d1RocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MDhDQ0E0RTEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgKi87IH07
CisJCTUwQjQyMTU4MTQ2OTc2OTYwMDg3RTYwNCAvKiBXZWJLaXRDU1NTaGFkZXJWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTBCNDIxNTcxNDY5
NzY5NjAwODdFNjA0IC8qIFdlYktpdENTU1NoYWRlclZhbHVlLmggKi87IH07CiAJCTUwRTU2NkQ2
MTM5RTM4QzUwMDIxNDQzMyAvKiBDU1NXcmFwU2hhcGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwMUJBQUIxMTM5NTExNEIwMEY3QUNFQiAvKiBD
U1NXcmFwU2hhcGVzLmNwcCAqLzsgfTsKIAkJNTEwMTg0NjkwQjA4NjAyQTAwNEE4MjVGIC8qIENh
Y2hlZFBhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMDE4NDY3MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEwMTg0NkEwQjA4NjAyQTAwNEE4
MjVGIC8qIENhY2hlZFBhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTEwMTg0NjgwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuY3BwICov
OyB9OwpAQCAtNzM4Miw2ICs3Mzg2LDkgQEAKIAkJMTVDNzcwOTIxMDBEM0NBODAwNUJBMjY3IC8q
IEpTVmFsaWRpdHlTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1ZhbGlkaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3
NzBBMzEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVZhbGlkaXR5U3RhdGUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MEE0MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxp
ZGl0eVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVZhbGlkaXR5
U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVEMTdEMUUxNDcyMzFFQjAw
NUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxNUQxN0QxRjE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRh
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JGaWxlU3lz
dGVtSW5zdHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE2M0U4
OEY1MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXBsZUZvbnREYXRhQ29yZVRleHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNjNFOEIxMjExOEIzQUREMDBFRDkyMzEg
LyogU2ltcGxlRm9udERhdGFBVFNVSS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFNpbXBsZUZvbnREYXRhQVRTVUkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTE4NUJDRjI2MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJlYWRUaW1lcnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGhyZWFkVGltZXJzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NDU2LDYgKzE0NDYzLDkgQEAKIAkJMUM4MUI5NEQw
RTk3MzJEOTAwMjY2RTA3IC8qIGluc3BlY3RvciAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJMTVEMTdEMUUxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudC5jcHAgKi8sCisJCQkJMTVEMTdEMUYxNDcyMzFFQjAwNUVCQ0E2IC8q
IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oICovLAorCQkJCTE1RDE3RDIwMTQ3MjMxRUIwMDVF
QkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJMUM4
MUI5NTkwRTk3MzMwODAwMjY2RTA3IC8qIGZyb250LWVuZCAqLywKIAkJCQk0MUYwNjE4RDBGNUYw
Njk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuY3BwICovLAogCQkJCTQxRjA2MThDMEY1RjA2
OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVzc2FnZS5oICovLApAQCAtMjQ2OTQsNiArMjQ3MDQsOCBA
QAogCQkJCUNERjY1Q0NBMTQ1QjQ0ODgwMEM0QzdBQSAvKiBNZWRpYUNvbnRyb2xsZXJJbnRlcmZh
Y2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5MTdCNTYyMTQ3MzQ5NkMwMDUyQzlEMCAvKiBMYXll
ckZsdXNoU2NoZWR1bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTE3QjU2MzE0NzM0OTZDMDA1
MkM5RDAgLyogTGF5ZXJGbHVzaFNjaGVkdWxlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MTVEMTdEMjIxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMTVEMTdEMjMxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZp
bGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjc1NjQsNiArMjc1
NzYsNyBAQAogCQkJCTMxMzEzRjY1MTQ0M0IzNUYwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5k
ZXJlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOTE3QjU2MTE0NzM0OTZDMDA1MkM5RDAgLyog
TGF5ZXJGbHVzaFNjaGVkdWxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOTE3QjU2NjE0NzM0
OTk1MDA1MkM5RDAgLyogTGF5ZXJGbHVzaFNjaGVkdWxlck1hYy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQkxNUQxN0QyMTE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9E
T01GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5j
cHAKaW5kZXggNTEyNjUzMDIyY2Y2MTFmNzA5ZTdiZmM5ZGFkOTE4MWNiNDY0MGNlZi4uMDQ0ZmE5
NmM0MWU1MDIxYjU3MmM2YzNmZWJkZDgzOWExYjZhZTk4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0RPTUZpbGVTeXN0ZW0uY3BwCkBAIC00NSwxMiArNDUsMjEgQEAKICNpbmNsdWRlICJGaWxl
V3JpdGVyLmgiCiAjaW5jbHVkZSAiRmlsZVdyaXRlckJhc2VDYWxsYmFjay5oIgogI2luY2x1ZGUg
IkZpbGVXcml0ZXJDYWxsYmFjay5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZpbGVTeXN0ZW1JbnN0
cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJNZXRhZGF0YUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCisvLyBzdGF0aWMKK1Bhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4g
RE9NRmlsZVN5c3RlbTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5
c3RlbSkKK3sKKyAgICBSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbShhZG9wdFJlZihu
ZXcgRE9NRmlsZVN5c3RlbShjb250ZXh0LCBuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pKSk7CisgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVuRmlsZVN5c3RlbShmaWxlU3lzdGVtLmdl
dCgpKTsKKyAgICByZXR1cm4gZmlsZVN5c3RlbTsKK30KKwogRE9NRmlsZVN5c3RlbTo6RE9NRmls
ZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5h
bWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCiAgICAgOiBE
T01GaWxlU3lzdGVtQmFzZShjb250ZXh0LCBuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pCiAgICAgLCBB
Y3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKQEAgLTc0LDYgKzgzLDcgQEAgYm9vbCBET01G
aWxlU3lzdGVtOjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAogCiB2b2lkIERPTUZpbGVTeXN0
ZW06OmNvbnRleHREZXN0cm95ZWQoKQogeworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
aW52YWxpZGF0ZUZpbGVTeXN0ZW0odGhpcyk7CiAgICAgbV9hc3luY0ZpbGVTeXN0ZW0tPnN0b3Ao
KTsKICAgICBBY3RpdmVET01PYmplY3Q6OmNvbnRleHREZXN0cm95ZWQoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oIGIvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKaW5kZXggOGUzNTU2NzBmYzQ1ZGMzOWYyODVhMjBj
OWY0ZWM0NmFlNTE2YWJjNi4uNzRmYTlhYzE4MTVmZDVlY2YxNWUxYzUwYjVlMDI5MGNhZWI2OGE4
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKQEAgLTQ3LDEwICs0Nyw3
IEBAIGNsYXNzIEZpbGVXcml0ZXJDYWxsYmFjazsKIAogY2xhc3MgRE9NRmlsZVN5c3RlbSA6IHB1
YmxpYyBET01GaWxlU3lzdGVtQmFzZSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gY3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3lu
Y0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgRE9NRmlsZVN5c3RlbShjb250ZXh0LCBuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pKTsK
LSAgICB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNG
aWxlU3lzdGVtPik7CiAKICAgICBQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5PiByb290KCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVj
dG9yLnB5IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCBhNGI4NjQxNDc0NWMxYWM5
ODEzNDAzOWUwODEwYjgzNTgxZjU3YmU2Li5jNGY5NWMzMjRjNDhmMThmOGYyMmY1ZmE2MGY4Mjg0
MDE5MTI4YjhjCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5z
cGVjdG9yLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5z
cGVjdG9yLnB5CkBAIC0xNDMsNiArMTQzLDcgQEAgY2xhc3MgRG9tYWluTmFtZUZpeGVzOgogICAg
ICAgICAiRE9NRGVidWdnZXIiOiAiZG9tRGVidWdnZXJBZ2VudCIsCiAgICAgICAgICJQcm9maWxl
ciI6ICJwcm9maWxlckFnZW50IiwKICAgICAgICAgIldvcmtlciI6ICJ3b3JrZXJBZ2VudCIsCisg
ICAgICAgICJGaWxlU3lzdGVtIjogImZpbGVTeXN0ZW1BZ2VudCIsCiAgICAgfQogCiAgICAgZG9t
YWluX2RlZmluZV9uYW1lX21hcCA9IHsKQEAgLTE1MSw2ICsxNTIsNyBAQCBjbGFzcyBEb21haW5O
YW1lRml4ZXM6CiAgICAgICAgICJET01EZWJ1Z2dlciI6ICJFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUiIsCiAgICAgICAgICJQcm9maWxlciI6ICJFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiIs
CiAgICAgICAgICJXb3JrZXIiOiAiRU5BQkxFX1dPUktFUlMiLAorICAgICAgICAiRmlsZVN5c3Rl
bSI6ICJFTkFCTEVfRklMRV9TWVNURU0iLAogICAgIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggZTBkMWZhNjkwYTM1NzBlNzEzZTM0YmQ1OTNiZDA4YWZj
Y2NhYzhlMS4uODE0NDIzOGZlNDkyZDFiZGNhYmRkOWQ2N2E4M2NiZjJhZjlmYThhOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMTAwOSw2ICsxMDA5LDE0IEBA
CiAgICAgICAgIF0KICAgICB9LAogICAgIHsKKyAgICAgICAgImRvbWFpbiI6ICJGaWxlU3lzdGVt
IiwKKyAgICAgICAgImhpZGRlbiI6IHRydWUsCisgICAgICAgICJjb21tYW5kcyI6IFsKKyAgICAg
ICAgXSwKKyAgICAgICAgImV2ZW50cyI6IFsKKyAgICAgICAgXQorICAgIH0sCisgICAgewogICAg
ICAgICAiZG9tYWluIjogIkRPTSIsCiAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUaGlzIGRvbWFp
biBleHBvc2VzIERPTSByZWFkL3dyaXRlIG9wZXJhdGlvbnMuIEVhY2ggRE9NIE5vZGUgaXMgcmVw
cmVzZW50ZWQgd2l0aCBpdHMgbWlycm9yIG9iamVjdCB0aGF0IGhhcyBhbiA8Y29kZT5pZDwvY29k
ZT4uIFRoaXMgPGNvZGU+aWQ8L2NvZGU+IGNhbiBiZSB1c2VkIHRvIGdldCBhZGRpdGlvbmFsIGlu
Zm9ybWF0aW9uIG9uIHRoZSBOb2RlLCByZXNvbHZlIGl0IGludG8gdGhlIEphdmFTY3JpcHQgb2Jq
ZWN0IHdyYXBwZXIsIGV0Yy4gSXQgaXMgaW1wb3J0YW50IHRoYXQgY2xpZW50IHJlY2VpdmVzIERP
TSBldmVudHMgb25seSBmb3IgdGhlIG5vZGVzIHRoYXQgYXJlIGtub3duIHRvIHRoZSBjbGllbnQu
IEJhY2tlbmQga2VlcHMgdHJhY2sgb2YgdGhlIG5vZGVzIHRoYXQgd2VyZSBzZW50IHRvIHRoZSBj
bGllbnQgYW5kIG5ldmVyIHNlbmRzIHRoZSBzYW1lIG5vZGUgdHdpY2UuIEl0IGlzIGNsaWVudCdz
IHJlc3BvbnNpYmlsaXR5IHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG5vZGVzIHRo
YXQgd2VyZSBzZW50IHRvIHRoZSBjbGllbnQuPHA+Tm90ZSB0aGF0IDxjb2RlPmlmcmFtZTwvY29k
ZT4gb3duZXIgZWxlbWVudHMgd2lsbCByZXR1cm4gY29ycmVzcG9uZGluZyBkb2N1bWVudCBlbGVt
ZW50cyBhcyB0aGVpciBjaGlsZCBub2Rlcy48L3A+IiwKICAgICAgICAgInR5cGVzIjogWwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4
IDE0YTJhZjkyMDA1YmMyOWE0ZTg1MGRmNGE1ZTMwOWEwYmI5YjhkZTYuLjU3OGE5ZDNkNTllNDhk
OGI3NWQyNWRlYWEyMjljZmJkZmE0MTE4ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRl
ICJJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIgorI2luY2x1ZGUg
Ikluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5k
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTEwNCw2ICsxMDUsOSBAQCBJbnNwZWN0b3JDb250
cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNsaWVudCog
aW5zcGVjdG9yQwogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgLCBtX2RhdGFiYXNlQWdl
bnQoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5n
ZXQoKSwgbV9zdGF0ZS5nZXQoKSkpCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisg
ICAgLCBtX2ZpbGVzeXN0ZW1BZ2VudChJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmNyZWF0ZSht
X2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCkpKQorI2VuZGlmCiAgICAgLCBtX2RvbVN0b3JhZ2VB
Z2VudChJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2Vu
dHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKQogICAgICwgbV90aW1lbGluZUFnZW50KEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3Rh
dGUuZ2V0KCkpKQogICAgICwgbV9hcHBsaWNhdGlvbkNhY2hlQWdlbnQoYWRvcHRQdHIobmV3IElu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCks
IG1fcGFnZUFnZW50LmdldCgpLCBtX3N0YXRlLmdldCgpKSkpCkBAIC0yMDksNiArMjEzLDkgQEAg
dm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5zZXRGcm9udGVuZChtX2luc3BlY3Rv
ckZyb250ZW5kLmdldCgpKTsKICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBt
X2ZpbGVzeXN0ZW1BZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7
CisjZW5kaWYKICAgICBtX2RvbVN0b3JhZ2VBZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JG
cm9udGVuZC5nZXQoKSk7CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgbV93b3JrZXJBZ2VudC0+
c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CkBAIC0yMzYsNiArMjQzLDkg
QEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJM
RShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICAgICBtX2RlYnVnZ2VyQWdlbnQuZ2V0KCksCiAj
ZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAgIG1fZmlsZXN5c3RlbUFnZW50
LmdldCgpLAorI2VuZGlmCiAgICAgICAgIG1fcmVzb3VyY2VBZ2VudC5nZXQoKSwKICAgICAgICAg
bV9wYWdlQWdlbnQuZ2V0KCksCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCkBAIC0y
ODAsNiArMjkwLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRl
bmQoKQogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5jbGVh
ckZyb250ZW5kKCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgbV9maWxl
c3lzdGVtQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsKKyNlbmRpZgogICAgIG1fZG9tU3RvcmFnZUFn
ZW50LT5jbGVhckZyb250ZW5kKCk7CiAgICAgbV9wYWdlQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsK
ICNpZiBFTkFCTEUoV09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5oCmluZGV4IDc2NWNhZGZjMmY3NGQ1ZDYwOTkyZTZjMjcyZmNlYzRmOTVh
ZmVlYTYuLjJiYTkyYzkyM2YyYjJjODgyOWQ3NGQwOWZlMGZjNDE1MjUxMzRhZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtNTMsNiAr
NTMsNyBAQCBjbGFzcyBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVjdG9y
RE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKIGNsYXNzIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7CiBj
bGFzcyBJbnNwZWN0b3JGcm9udGVuZDsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50Owog
Y2xhc3MgSW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTM3LDYgKzEzOCw5IEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBPd25QdHI8SW5zcGVjdG9yRGF0YWJhc2VBZ2Vu
dD4gbV9kYXRhYmFzZUFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAg
IE93blB0cjxJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ+IG1fZmlsZXN5c3RlbUFnZW50OworI2Vu
ZGlmCiAgICAgT3duUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudD4gbV9kb21TdG9yYWdlQWdl
bnQ7CiAgICAgT3duUHRyPEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+IG1fdGltZWxpbmVBZ2VudDsK
ICAgICBPd25QdHI8SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50PiBtX2FwcGxpY2F0aW9u
Q2FjaGVBZ2VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ0ODdhYzJlYzY1NWI2ZGMzZWE4NTM5
ODQwY2IxZDUxMWM5ZjZlMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwCkBAIC0wLDAgKzEsNzggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgiCisKKyNp
bmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAm
JiBFTkFCTEUoRklMRV9TWVNURU0pCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gc3RhdGlj
CitQYXNzT3duUHRyPEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50OjpjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cykK
K3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudChpbnN0
cnVtZW50aW5nQWdlbnRzKSk7Cit9CisKK0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6fkluc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudCgpCit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50OjpkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVT
eXN0ZW0pCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjppbnZhbGlkYXRl
RmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7Cit9CisK
K3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9u
dGVuZCogZnJvbnRlbmQpCit7CisgICAgbV9mcm9udGVuZCA9IGZyb250ZW5kLT5maWxlc3lzdGVt
KCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpjbGVhckZyb250ZW5kKCkK
K3sKKyAgICBtX2Zyb250ZW5kID0gMDsKK30KKworSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cykKKyAgICA6IG1faW5zdHJ1bWVudGluZ0FnZW50cyhpbnN0cnVtZW50aW5nQWdlbnRz
KSwKKyAgICAgIG1fZnJvbnRlbmQoMCkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNl
dEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCh0aGlzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKEZJTEVfU1lTVEVN
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjRjOTIzZDNlOGU5NWQwMjkwMTEzMGE1ODE2OGVhZDlhYWJjOGMy
YjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50LmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yRmlsZVN5
c3RlbUFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50X2gKKworI2luY2x1
ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNz
IERPTUZpbGVTeXN0ZW07CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZDsKK2NsYXNzIEluc3RydW1l
bnRpbmdBZ2VudHM7CisKK2NsYXNzIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50PiBjcmVhdGUo
SW5zdHJ1bWVudGluZ0FnZW50cyopOworICAgIHZpcnR1YWwgfkluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudCgpOworCisgICAgdm9pZCBkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVT
eXN0ZW0+KTsKKyAgICB2b2lkIGludmFsaWRhdGVGaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmls
ZVN5c3RlbT4pOworCisgICAgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCopOwor
ICAgIHZvaWQgY2xlYXJGcm9udGVuZCgpOworCitwcml2YXRlOgorICAgIEluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKik7CisKKyAgICBJbnN0cnVtZW50aW5nQWdl
bnRzKiBtX2luc3RydW1lbnRpbmdBZ2VudHM7CisgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OkZpbGVT
eXN0ZW0qIG1fZnJvbnRlbmQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTY3ZWQ2ZjhiMGFlM2E4YmJjN2EwYzU5N2ZiZmI1YWM3ZjVjZTFlZAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lz
dGVtSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yRmls
ZVN5c3RlbUluc3RydW1lbnRhdGlvbl9oCisjZGVmaW5lIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0
cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisjaWYg
RU5BQkxFKEZJTEVfU1lTVEVNKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0p
Cit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGZpbGVT
eXN0ZW0tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgIGRpZE9wZW5GaWxlU3lz
dGVtSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBmaWxlU3lzdGVtKTsKKyNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQorfQorCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmludmFsaWRhdGVGaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3Rl
bSkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoZmls
ZVN5c3RlbS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgaW52YWxpZGF0ZUZp
bGVTeXN0ZW1JbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGZpbGVTeXN0ZW0pOworI2VuZGlmIC8v
IEVOQUJMRShJTlNQRUNUT1IpCit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtSW5z
dHJ1bWVudGF0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggYmQyYjllNTBlNDlkNDg1MDJhMDk3NmVkZjJh
Zjg5MjEwMTJmY2I3Yy4uYmE1ZjY4MTUyZDkxODc1MmZjMjYwNzNhMzZhZjJmOTFlMDM4ZTJhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2Vu
dC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JQcm9maWxlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgpA
QCAtNzcwLDYgKzc3MSwyNiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3Bl
bkRhdGFiYXNlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZQogfQogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkT3BlbkZpbGVTeXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMsIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyAgICBJbnNw
ZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0
b3JBZ2VudCgpOworICAgIGlmICghaW5zcGVjdG9yQWdlbnQgfHwgIWluc3BlY3RvckFnZW50LT5l
bmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50KiBmaWxlU3lzdGVtQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQoKSkKKyAgICAgICAgZmlsZVN5c3RlbUFnZW50LT5kaWRPcGVuRmlsZVN5c3Rl
bShmaWxlU3lzdGVtKTsKK30KKwordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmludmFs
aWRhdGVGaWxlU3lzdGVtSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzLCBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7CisgICAgSW5zcGVj
dG9yQWdlbnQqIGluc3BlY3RvckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9y
QWdlbnQoKTsKKyAgICBpZiAoIWluc3BlY3RvckFnZW50IHx8ICFpbnNwZWN0b3JBZ2VudC0+ZW5h
YmxlZCgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKEluc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dCogZmlsZVN5c3RlbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRmlsZVN5
c3RlbUFnZW50KCkpCisgICAgICAgIGZpbGVTeXN0ZW1BZ2VudC0+aW52YWxpZGF0ZUZpbGVTeXN0
ZW0oZmlsZVN5c3RlbSk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCiB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgU3RvcmFnZUFyZWEqIHN0b3JhZ2VBcmVh
LCBib29sIGlzTG9jYWxTdG9yYWdlLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgSW5zcGVjdG9yQWdl
bnQqIGluc3BlY3RvckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQWdlbnQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaAppbmRleCBhNjIwMjdkYzYzODM4ODBlMGM4ZDc4YjlmMzRhMGUzMWRiNjJiZDIxLi45
OGE3NDZkZGRiOGQzNTAxNTE2YzUwZTdkMmY2YjEwMDM5MmQxOTg5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zMyw2
ICszMyw3IEBACiAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNvbnNvbGVU
eXBlcy5oIgorI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJEb2N1bWVudC5o
IgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNDIsNiArNDMs
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDaGFyYWN0ZXJEYXRhOworY2xhc3Mg
RE9NRmlsZVN5c3RlbTsKIGNsYXNzIERPTVdpbmRvdzsKIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsK
IGNsYXNzIERhdGFiYXNlOwpAQCAtMTcyLDYgKzE3NCwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRy
PERhdGFiYXNlPiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB2ZXJzaW9uKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQor
ICAgIHN0YXRpYyB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3Rl
bT4pOworICAgIHN0YXRpYyB2b2lkIGludmFsaWRhdGVGaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9N
RmlsZVN5c3RlbT4pOworI2VuZGlmCisKICAgICBzdGF0aWMgdm9pZCBkaWRVc2VET01TdG9yYWdl
KFBhZ2UqLCBTdG9yYWdlQXJlYSosIGJvb2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKik7CiAKICNp
ZiBFTkFCTEUoV09SS0VSUykKQEAgLTMwNCw2ICszMTEsMTEgQEAgcHJpdmF0ZToKICAgICBzdGF0
aWMgdm9pZCBkaWRPcGVuRGF0YWJhc2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVm
UHRyPERhdGFiYXNlPiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiB2ZXJzaW9uKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVN
KQorICAgIHN0YXRpYyB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtSW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKiwgUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPik7CisgICAgc3RhdGljIHZvaWQgaW52YWxp
ZGF0ZUZpbGVTeXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVmUHRyPERPTUZp
bGVTeXN0ZW0+KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgZGlkVXNlRE9NU3RvcmFnZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFN0b3JhZ2VBcmVhKiwgYm9vbCBpc0xvY2FsU3RvcmFn
ZSwgRnJhbWUqKTsKIAogI2lmIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggN2NkN2Y3YTJhZWNhY2Y2MGI4ZGFm
MTYwMTQyYTlhODEzMGE2ZmFjNS4uNzFkYmU0NGU4M2VjNzZlY2MzYmVhZDMyZTUyY2JiZWRhNzBh
NThkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50
cy5oCkBAIC00Niw2ICs0Niw3IEBAIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKIGNs
YXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQ7CiBjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKQEAgLTcxLDYgKzcyLDkgQEAg
cHVibGljOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgICwgbV9pbnNwZWN0b3JE
YXRhYmFzZUFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAg
ICwgbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoMCkKKyNlbmRpZgogICAgICAgICAsIG1faW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KDApCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVC
VUdHRVIpCiAgICAgICAgICwgbV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50KDApCkBAIC0xMTQsNyAr
MTE4LDEwIEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBpbnNwZWN0b3JE
YXRhYmFzZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50OyB9
CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JEYXRhYmFzZUFnZW50KEluc3BlY3RvckRhdGFiYXNlQWdl
bnQqIGFnZW50KSB7IG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYK
LQorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQq
IGluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dCA9IGFnZW50OyB9CisjZW5kaWYKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQq
IGluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBhZ2VudCkgeyBt
X2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCA9IGFnZW50OyB9CiAKQEAgLTE0Niw2ICsx
NTMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgSW5zcGVjdG9y
RGF0YWJhc2VBZ2VudCogbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50OwogI2VuZGlmCisjaWYgRU5B
QkxFKEZJTEVfU1lTVEVNKQorICAgIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogbV9pbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQ7CisjZW5kaWYKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQqIG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OwogI2lmIEVOQUJMRShKQVZB
U0NSSVBUX0RFQlVHR0VSKQogICAgIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIG1faW5zcGVjdG9y
RGVidWdnZXJBZ2VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBlMWY0NTk3MTBjZTAxYTM2ODkwYWQ3NmM0
Mzc1MDBhZjcwZmM3ODM0Li5iYzJlZjdkZjJjNGVjMjQ4NjM0ZGM0YmMxMmFmMTI2M2JlYzEzYmJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwCkBAIC0xNTUsNiArMTU1LDkgQEAgdm9pZCBXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVH
R0VSKQogICAgICAgICBtX2RlYnVnZ2VyQWdlbnQuZ2V0KCksCiAjZW5kaWYKKyNpZiBFTkFCTEUo
RklMRV9TWVNURU0pCisgICAgICAgIDAsIC8vIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudAorI2Vu
ZGlmCiAgICAgICAgIDAsIC8vIEluc3BlY3RvclJlc291cmNlQWdlbnQKICAgICAgICAgMCwgLy8g
SW5zcGVjdG9yUGFnZUFnZW50CiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2ggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2gKaW5kZXggMzcwNWNm
MTMxODE3NzM5MmQwMDEzMmRhNWUxYzk4Zjk1MTFiOTllMi4uNzFlYTljNjMxY2FlNTFmOTA0YTJi
OGI3ZDVkODAxZTJhY2JlNjQxYiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2NvbXBpbGUtZnJvbnQtZW5kLnNoCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21w
aWxlLWZyb250LWVuZC5zaApAQCAtNjAsNiArNjAsNyBAQCBqYXZhIC1qYXIgfi9jbG9zdXJlL2Nv
bXBpbGVyLmphciAtLXN1bW1hcnlfZGV0YWlsX2xldmVsIDMgLS1jb21waWxhdGlvbl9sZXZlbCBT
SQogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3Rv
cmFnZS5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9EZWJ1Z2dlck1vZGVsLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMgXAorICAgICAgICAtLWpz
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qcyBcCiAgICAg
ICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IQVJFbnRyeS5qcyBc
CiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3Jr
TG9nLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NjcmlwdC5qcyBcCkBAIC0xNDcsNiArMTQ4LDcgQEAgamF2YSAtamFyIH4vY2xvc3VyZS9jb21w
aWxlci5qYXIgLS1zdW1tYXJ5X2RldGFpbF9sZXZlbCAzIC0tY29tcGlsYXRpb25fbGV2ZWwgU0kK
ICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNl
UXVlcnlWaWV3LmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RhdGFiYXNlVGFibGVWaWV3LmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanMgXAorICAgICAgICAt
LWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMg
XAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3Vy
Y2VzUGFuZWwuanMgXAogICAgIC0tbW9kdWxlIGpzbW9kdWxlX3NjcmlwdHM6ODpqc21vZHVsZV9j
b21wb25lbnRzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDA2YjU4OWM1NWY2MTRh
YjE5MGM0YzhhYmVmNGRiZjQ3ZmRkOTYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtVmlldy5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTAwNmI1ODljNTVmNjE0YWIxOTBjNGM4YWJlZjRkYmY0N2ZkZDk2MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5
c3RlbVZpZXcuanMKQEAgLTAsMCArMSwyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1dlYktpdC5xcmMKaW5kZXggNzZmYTQzMjhiNTAxZTFlYWY3ZDA1OGIwODJiYmUxNTU3
MzljY2MyMC4uYWJiZWM5M2U5NDAwYjk3ZjJmODgyNjRiMTQ1ODk0ODM1NzZhZmI4ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpAQCAtNTQsNiAr
NTQsOCBAQAogICAgIDxmaWxlPkV4dGVuc2lvblBhbmVsLmpzPC9maWxlPgogICAgIDxmaWxlPkV4
dGVuc2lvblJlZ2lzdHJ5U3R1Yi5qczwvZmlsZT4KICAgICA8ZmlsZT5FeHRlbnNpb25TZXJ2ZXIu
anM8L2ZpbGU+CisgICAgPGZpbGU+RmlsZVN5c3RlbS5qczwvZmlsZT4KKyAgICA8ZmlsZT5GaWxl
U3lzdGVtVmlldy5qczwvZmlsZT4KICAgICA8ZmlsZT5Gb250Vmlldy5qczwvZmlsZT4KICAgICA8
ZmlsZT5Hb1RvTGluZURpYWxvZy5qczwvZmlsZT4KICAgICA8ZmlsZT5IQVJFbnRyeS5qczwvZmls
ZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5o
dG1sCmluZGV4IDc2YTIxYjlhNjgwODkzYWEzZmI3MWVlOGIzNjhlOWQzNGUyMDhhN2QuLmYxNzhl
OTU4ZGFlNTc0YzFkOTIxMzg3YTdkMzJmNGE4MTQxNjA0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtNzQsNiArNzQsNyBA
QCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRPTVN0
b3JhZ2UuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9IkRPTVN0b3JhZ2VJdGVtc1ZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRhdGFHcmlkLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJGaWxlU3lzdGVtLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTaG93TW9yZURhdGFHcmlkTm9k
ZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Q29va2llc1RhYmxlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJDb29raWVJdGVtc1ZpZXcuanMiPjwvc2NyaXB0PgpAQCAtMTQ3LDYgKzE0OCw3
IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iSW1h
Z2VWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJEYXRhYmFzZVRhYmxlVmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iRGF0YWJhc2VRdWVyeVZpZXcuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkZpbGVTeXN0ZW1WaWV3LmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQcm9maWxl
RGF0YUdyaWRUcmVlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJCb3R0b21VcFByb2ZpbGVEYXRhR3JpZFRyZWUuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRvcERvd25Qcm9maWxlRGF0YUdy
aWRUcmVlLmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115322</attachid>
            <date>2011-11-15 22:26:00 -0800</date>
            <delta_ts>2011-11-16 02:15:24 -0800</delta_ts>
            <desc>Patch (#if out for non-chrome)</desc>
            <filename>bug-72456-20111116152558.patch</filename>
            <type>text/plain</type>
            <size>40929</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmRhMWY2YmVkZWY4MThh
NGVkNDkyYTFlMjA2ZmE4M2FhOWIzMjFmNC4uMDQ2MGY4NTVlM2E0NDYxM2I2MjNkOTY2MzRkYTQ4
Y2I0YjkyYTFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDExLTExLTE1ICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW5zcGVjdG9yXVtGaWxl
U3lzdGVtXTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZp
bGVzIGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcg
aG9va3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBmaWxl
YXBpL0RPTUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5c3RlbTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUZpbGVTeXN0ZW06OmNvbnRleHREZXN0cm95
ZWQpOgorICAgICAgICAqIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9u
dGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0
RnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojp+SW5zcGVjdG9yRmlsZVN5
c3RlbUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6
ZGlkT3BlbkZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50OjppbnZhbGlkYXRlRmlsZVN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQ6OnNldEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oOiBBZGRlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZp
bGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpp
bnZhbGlkYXRlRmlsZVN5c3RlbSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZE9wZW5GaWxlU3lzdGVtSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmludmFsaWRhdGVGaWxlU3lzdGVtSW1wbCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdl
bnRzOjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRp
bmdBZ2VudHM6Omluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgorICAgICAg
ICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6CisgICAg
ICAgICogaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnNoOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qczogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9GaWxlU3lzdGVtVmlldy5qczogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9XZWJLaXQucXJjOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmh0bWw6CisKIDIwMTEtMTEtMTUgIEplZmYgVGltYW51cyAgPHR3aXpAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtjaHJvbWl1bV0gRHVyaW5nIHRlYXIgZG93biwgcHJldmVudCB0aGUgV2Vi
R0xMYXllckNocm9taXVtIGluc3RhbmNlIGZyb20gYXR0ZW1wdGluZyB0byBzdG9wIGEgdGltZXIg
Zm9yIGEgTlVMTCBjb250ZXh0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlM2YwYmRiNTRiMTdm
MmVlNDA3MDQ2MjUwZTUzYmM5ZGExMmY3ZTBjLi4xYjk2YWZmNmFlNmYyOWZlZDNkNTU2ZDkxMDIy
NWI3NzU2MTczNGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODg3LDYgKzg4Nyw3IEBAIFNF
VChXZWJDb3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5j
cHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAKICAgICBpbnNw
ZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCiAgICAg
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCAxY2ZiZGI2YjU2MzI3MTg0M2E4M2E1YTJiMjc2NTEwYzE5Y2IyYzI4Li4yZDY3NDk0NzJjNDll
MGFlZWRhMmI3YzBhMTVhMGI5Y2VlMDlkY2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yNzMxLDYg
KzI3MzEsOSBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNw
cCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCcsCisg
ICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAnLAorICAg
ICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCcsCisgICAgICAg
ICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCcsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwJywKQEAgLTYzMjgs
NiArNjMzMSw4IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25Q
YW5lbC5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25SZWdp
c3RyeVN0dWIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9u
U2VydmVyLmpzJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW0u
anMnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMn
LAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRm9udFZpZXcuanMnLAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvR29Ub0xpbmVEaWFsb2cuanMnLAogICAgICAgICAg
ICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSEFSRW50cnkuanMnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDBiNjUwODI1YzdiYjg1
YzkzNDg1NmU2MzYwODYwYzIxNTU2ZjMwOTEuLjQ5YTUxNTI3ZDcwNWFiYjMzMjM1ZTYxZjYwYTFm
ODExOTE0YjZlZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTMxNyw2ICszMTcsOSBAQAogCQkxNUM3NzA5NDEwMEQzQ0E4MDA1
QkEyNjcgLyogSlNWYWxpZGl0eVN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDkyMTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5
U3RhdGUuY3BwICovOyB9OwogCQkxNUM3NzBBNTEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRp
dHlTdGF0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE1Qzc3MEEzMTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLm1tICovOyB9Owog
CQkxNUM3NzBBNjEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwQTQxMDBENDFDRDAw
NUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUuaCAqLzsgfTsKKwkJMTVEMTdEMjExNDcyMzFFQjAw
NUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QxRTE0NzIzMUVCMDA1RUJDQTYgLyog
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCAqLzsgfTsKKwkJMTVEMTdEMjIxNDcyMzFFQjAw
NUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVEMTdEMUYxNDcyMzFFQjAwNUVCQ0E2IC8qIElu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oICovOyB9OworCQkxNUQxN0QyMzE0NzIzMUVCMDA1RUJD
QTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVEMTdEMjAxNDcyMzFFQjAwNUVCQ0E2
IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCAqLzsgfTsKIAkJMTYzRTg4
RjcxMThBMzlEMjAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTYzRTg4RjUxMThBMzlEMjAw
RUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwICovOyB9OwogCQkxNjNFOEIxMzEx
OEIzQUREMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFBVFNVSS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE2M0U4QjEyMTE4QjNBREQwMEVEOTIzMSAv
KiBTaW1wbGVGb250RGF0YUFUU1VJLm1tICovOyB9OwogCQkxODVCQ0YyODBGMzI3OUNFMDAwRUEy
NjIgLyogVGhyZWFkVGltZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE4NUJDRjI2MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJlYWRUaW1lcnMuY3Bw
ICovOyB9OwpAQCAtMTM2OCw2ICsxMzcxLDcgQEAKIAkJNTAxQkFBQTkxMzk1MEUyQzAwRjdBQ0VC
IC8qIFdpbmRSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MDFCQUFBODEzOTUwRTJDMDBGN0FDRUIgLyogV2luZFJ1bGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MDhDQ0E0RjEzQ0YxMDZCMDAz
MTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTA4Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dU
aHJlYWQuaCAqLzsgfTsKIAkJNTA4Q0NBNTAxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dU
aHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTA4Q0NBNEUxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQuY3BwICovOyB9Owor
CQk1MEI0MjE1ODE0Njk3Njk2MDA4N0U2MDQgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwQjQyMTU3MTQ2OTc2
OTYwMDg3RTYwNCAvKiBXZWJLaXRDU1NTaGFkZXJWYWx1ZS5oICovOyB9OwogCQk1MEU1NjZENjEz
OUUzOEM1MDAyMTQ0MzMgLyogQ1NTV3JhcFNoYXBlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDFCQUFCMTEzOTUxMTRCMDBGN0FDRUIgLyogQ1NT
V3JhcFNoYXBlcy5jcHAgKi87IH07CiAJCTUxMDE4NDY5MEIwODYwMkEwMDRBODI1RiAvKiBDYWNo
ZWRQYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTAxODQ2NzBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMDE4NDZBMEIwODYwMkEwMDRBODI1
RiAvKiBDYWNoZWRQYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxMDE4NDY4MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmNwcCAqLzsg
fTsKQEAgLTczODIsNiArNzM4Niw5IEBACiAJCTE1Qzc3MDkyMTAwRDNDQTgwMDVCQTI2NyAvKiBK
U1ZhbGlkaXR5U3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNWYWxpZGl0eVN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTVDNzcw
QTMxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01WYWxpZGl0eVN0YXRlLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzBBNDEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRp
dHlTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01WYWxpZGl0eVN0
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE1RDE3RDFFMTQ3MjMxRUIwMDVF
QkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVEMTdEMUYxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVE
MTdEMjAxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRmlsZVN5c3Rl
bUluc3RydW1lbnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNjNFODhG
NTExOEEzOUQyMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTYzRThCMTIxMThCM0FERDAwRUQ5MjMxIC8q
IFNpbXBsZUZvbnREYXRhQVRTVUkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBTaW1wbGVGb250RGF0YUFUU1VJLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxODVCQ0YyNjBGMzI3OUNFMDAwRUEyNjIgLyogVGhyZWFkVGltZXJzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRocmVhZFRpbWVycy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDQ1Niw2ICsxNDQ2Myw5IEBACiAJCTFDODFCOTREMEU5
NzMyRDkwMDI2NkUwNyAvKiBpbnNwZWN0b3IgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTE1RDE3RDFFMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuY3BwICovLAorCQkJCTE1RDE3RDFGMTQ3MjMxRUIwMDVFQkNBNiAvKiBJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCAqLywKKwkJCQkxNUQxN0QyMDE0NzIzMUVCMDA1RUJD
QTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oICovLAogCQkJCTFDODFC
OTU5MEU5NzMzMDgwMDI2NkUwNyAvKiBmcm9udC1lbmQgKi8sCiAJCQkJNDFGMDYxOEQwRjVGMDY5
ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLywKIAkJCQk0MUYwNjE4QzBGNUYwNjk4
MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuaCAqLywKQEAgLTI0Njk0LDYgKzI0NzA0LDggQEAK
IAkJCQlDREY2NUNDQTE0NUI0NDg4MDBDNEM3QUEgLyogTWVkaWFDb250cm9sbGVySW50ZXJmYWNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTE3QjU2MjE0NzM0OTZDMDA1MkM5RDAgLyogTGF5ZXJG
bHVzaFNjaGVkdWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjkxN0I1NjMxNDczNDk2QzAwNTJD
OUQwIC8qIExheWVyRmx1c2hTY2hlZHVsZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE1
RDE3RDIyMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTE1RDE3RDIzMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxl
U3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI3NTY0LDYgKzI3NTc2
LDcgQEAKIAkJCQkzMTMxM0Y2NTE0NDNCMzVGMDA2RTJBOTAgLyogRmlsdGVyRWZmZWN0UmVuZGVy
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjkxN0I1NjExNDczNDk2QzAwNTJDOUQwIC8qIExh
eWVyRmx1c2hTY2hlZHVsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjkxN0I1NjYxNDczNDk5
NTAwNTJDOUQwIC8qIExheWVyRmx1c2hTY2hlZHVsZXJNYWMuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMTVEMTdEMjExNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3Bw
CmluZGV4IDUxMjY1MzAyMmNmNjExZjcwOWU3YmZjOWRhZDkxODFjYjQ2NDBjZWYuLjA0NGZhOTZj
NDFlNTAyMWI1NzJjNmMzZmViZGQ4MzlhMWI2YWU5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9ET01GaWxlU3lzdGVtLmNwcApAQCAtNDUsMTIgKzQ1LDIxIEBACiAjaW5jbHVkZSAiRmlsZVdy
aXRlci5oIgogI2luY2x1ZGUgIkZpbGVXcml0ZXJCYXNlQ2FsbGJhY2suaCIKICNpbmNsdWRlICJG
aWxlV3JpdGVyQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1
bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTWV0YWRhdGFDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorLy8gc3RhdGljCitQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IERP
TUZpbGVTeXN0ZW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25z
dCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0
ZW0pCit7CisgICAgUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0oYWRvcHRSZWYobmV3
IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSkpOworICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZpbGVTeXN0ZW0oZmlsZVN5c3RlbS5nZXQo
KSk7CisgICAgcmV0dXJuIGZpbGVTeXN0ZW07Cit9CisKIERPTUZpbGVTeXN0ZW06OkRPTUZpbGVT
eXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1l
LCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQogICAgIDogRE9N
RmlsZVN5c3RlbUJhc2UoY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKQogICAgICwgQWN0
aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCkBAIC03NCw2ICs4Myw3IEBAIGJvb2wgRE9NRmls
ZVN5c3RlbTo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKIAogdm9pZCBET01GaWxlU3lzdGVt
Ojpjb250ZXh0RGVzdHJveWVkKCkKIHsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omlu
dmFsaWRhdGVGaWxlU3lzdGVtKHRoaXMpOwogICAgIG1fYXN5bmNGaWxlU3lzdGVtLT5zdG9wKCk7
CiAgICAgQWN0aXZlRE9NT2JqZWN0Ojpjb250ZXh0RGVzdHJveWVkKCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCmluZGV4IDhlMzU1NjcwZmM0NWRjMzlmMjg1YTIwYzlm
NGVjNDZhZTUxNmFiYzYuLjc0ZmE5YWMxODE1ZmQ1ZWNmMTVlMWM1MGI1ZTAyOTBjYWViNjhhODcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCkBAIC00NywxMCArNDcsNyBA
QCBjbGFzcyBGaWxlV3JpdGVyQ2FsbGJhY2s7CiAKIGNsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJs
aWMgRE9NRmlsZVN5c3RlbUJhc2UsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNG
aWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7Ci0g
ICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmls
ZVN5c3RlbT4pOwogCiAgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeT4gcm9vdCgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rv
ci5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5
Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggYTRiODY0MTQ3NDVjMWFjOTgx
MzQwMzllMDgxMGI4MzU4MWY1N2JlNi4uYzRmOTVjMzI0YzQ4ZjE4ZjhmMjJmNWZhNjBmODI4NDAx
OTEyOGI4YwotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5weQpAQCAtMTQzLDYgKzE0Myw3IEBAIGNsYXNzIERvbWFpbk5hbWVGaXhlczoKICAgICAg
ICAgIkRPTURlYnVnZ2VyIjogImRvbURlYnVnZ2VyQWdlbnQiLAogICAgICAgICAiUHJvZmlsZXIi
OiAicHJvZmlsZXJBZ2VudCIsCiAgICAgICAgICJXb3JrZXIiOiAid29ya2VyQWdlbnQiLAorICAg
ICAgICAiRmlsZVN5c3RlbSI6ICJmaWxlU3lzdGVtQWdlbnQiLAogICAgIH0KIAogICAgIGRvbWFp
bl9kZWZpbmVfbmFtZV9tYXAgPSB7CkBAIC0xNTEsNiArMTUyLDcgQEAgY2xhc3MgRG9tYWluTmFt
ZUZpeGVzOgogICAgICAgICAiRE9NRGVidWdnZXIiOiAiRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdH
RVIiLAogICAgICAgICAiUHJvZmlsZXIiOiAiRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIiLAog
ICAgICAgICAiV29ya2VyIjogIkVOQUJMRV9XT1JLRVJTIiwKKyAgICAgICAgIkZpbGVTeXN0ZW0i
OiAiRU5BQkxFX0ZJTEVfU1lTVEVNIiwKICAgICB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCmluZGV4IGUwZDFmYTY5MGEzNTcwZTcxM2UzNGJkNTkzYmQwOGFmY2Nj
YWM4ZTEuLjgxNDQyMzhmZTQ5MmQxYmRjYWJkZDlkNjdhODNjYmYyYWY5ZmE4YTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTEwMDksNiArMTAwOSwxNCBAQAog
ICAgICAgICBdCiAgICAgfSwKICAgICB7CisgICAgICAgICJkb21haW4iOiAiRmlsZVN5c3RlbSIs
CisgICAgICAgICJoaWRkZW4iOiB0cnVlLAorICAgICAgICAiY29tbWFuZHMiOiBbCisgICAgICAg
IF0sCisgICAgICAgICJldmVudHMiOiBbCisgICAgICAgIF0KKyAgICB9LAorICAgIHsKICAgICAg
ICAgImRvbWFpbiI6ICJET00iLAogICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGhpcyBkb21haW4g
ZXhwb3NlcyBET00gcmVhZC93cml0ZSBvcGVyYXRpb25zLiBFYWNoIERPTSBOb2RlIGlzIHJlcHJl
c2VudGVkIHdpdGggaXRzIG1pcnJvciBvYmplY3QgdGhhdCBoYXMgYW4gPGNvZGU+aWQ8L2NvZGU+
LiBUaGlzIDxjb2RlPmlkPC9jb2RlPiBjYW4gYmUgdXNlZCB0byBnZXQgYWRkaXRpb25hbCBpbmZv
cm1hdGlvbiBvbiB0aGUgTm9kZSwgcmVzb2x2ZSBpdCBpbnRvIHRoZSBKYXZhU2NyaXB0IG9iamVj
dCB3cmFwcGVyLCBldGMuIEl0IGlzIGltcG9ydGFudCB0aGF0IGNsaWVudCByZWNlaXZlcyBET00g
ZXZlbnRzIG9ubHkgZm9yIHRoZSBub2RlcyB0aGF0IGFyZSBrbm93biB0byB0aGUgY2xpZW50LiBC
YWNrZW5kIGtlZXBzIHRyYWNrIG9mIHRoZSBub2RlcyB0aGF0IHdlcmUgc2VudCB0byB0aGUgY2xp
ZW50IGFuZCBuZXZlciBzZW5kcyB0aGUgc2FtZSBub2RlIHR3aWNlLiBJdCBpcyBjbGllbnQncyBy
ZXNwb25zaWJpbGl0eSB0byBjb2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBub2RlcyB0aGF0
IHdlcmUgc2VudCB0byB0aGUgY2xpZW50LjxwPk5vdGUgdGhhdCA8Y29kZT5pZnJhbWU8L2NvZGU+
IG93bmVyIGVsZW1lbnRzIHdpbGwgcmV0dXJuIGNvcnJlc3BvbmRpbmcgZG9jdW1lbnQgZWxlbWVu
dHMgYXMgdGhlaXIgY2hpbGQgbm9kZXMuPC9wPiIsCiAgICAgICAgICJ0eXBlcyI6IFsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCAx
NGEyYWY5MjAwNWJjMjlhNGU4NTBkZjRhNWUzMDlhMGJiOWI4ZGU2Li41NzhhOWQzZDU5ZTQ4ZDhi
NzVkMjVkZWFhMjI5Y2ZiZGZhNDExOGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAi
SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGF0YWJhc2VB
Z2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIKKyNpbmNsdWRlICJJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC0xMDQsNiArMTA1LDkgQEAgSW5zcGVjdG9yQ29udHJv
bGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGlu
c3BlY3RvckMKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICwgbV9kYXRhYmFzZUFnZW50
KEluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0
KCksIG1fc3RhdGUuZ2V0KCkpKQogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAg
ICwgbV9maWxlc3lzdGVtQWdlbnQoSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpjcmVhdGUobV9p
bnN0cnVtZW50aW5nQWdlbnRzLmdldCgpKSkKKyNlbmRpZgogICAgICwgbV9kb21TdG9yYWdlQWdl
bnQoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRz
LmdldCgpLCBtX3N0YXRlLmdldCgpKSkKICAgICAsIG1fdGltZWxpbmVBZ2VudChJbnNwZWN0b3JU
aW1lbGluZUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRl
LmdldCgpKSkKICAgICAsIG1fYXBwbGljYXRpb25DYWNoZUFnZW50KGFkb3B0UHRyKG5ldyBJbnNw
ZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBt
X3BhZ2VBZ2VudC5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpKQpAQCAtMjA5LDYgKzIxMyw5IEBAIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKICNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JG
cm9udGVuZC5nZXQoKSk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgbV9m
aWxlc3lzdGVtQWdlbnQtPnNldEZyb250ZW5kKG1faW5zcGVjdG9yRnJvbnRlbmQuZ2V0KCkpOwor
I2VuZGlmCiAgICAgbV9kb21TdG9yYWdlQWdlbnQtPnNldEZyb250ZW5kKG1faW5zcGVjdG9yRnJv
bnRlbmQuZ2V0KCkpOwogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIG1fd29ya2VyQWdlbnQtPnNl
dEZyb250ZW5kKG1faW5zcGVjdG9yRnJvbnRlbmQuZ2V0KCkpOwpAQCAtMjM2LDYgKzI0Myw5IEBA
IHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKICNpZiBFTkFCTEUo
SkFWQVNDUklQVF9ERUJVR0dFUikKICAgICAgICAgbV9kZWJ1Z2dlckFnZW50LmdldCgpLAogI2Vu
ZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgICAgICBtX2ZpbGVzeXN0ZW1BZ2VudC5n
ZXQoKSwKKyNlbmRpZgogICAgICAgICBtX3Jlc291cmNlQWdlbnQuZ2V0KCksCiAgICAgICAgIG1f
cGFnZUFnZW50LmdldCgpLAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQpAQCAtMjgw
LDYgKzI5MCw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5k
KCkKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+Y2xlYXJG
cm9udGVuZCgpOwogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIG1fZmlsZXN5
c3RlbUFnZW50LT5jbGVhckZyb250ZW5kKCk7CisjZW5kaWYKICAgICBtX2RvbVN0b3JhZ2VBZ2Vu
dC0+Y2xlYXJGcm9udGVuZCgpOwogICAgIG1fcGFnZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAj
aWYgRU5BQkxFKFdPUktFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaAppbmRleCA3NjVjYWRmYzJmNzRkNWQ2MDk5MmU2YzI3MmZjZWM0Zjk1YWZl
ZWE2Li4yYmE5MmM5MjNmMmIyYzg4MjlkNzRkMDlmZTBmYzQxNTI1MTM0YWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTUzLDYgKzUz
LDcgQEAgY2xhc3MgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRhdGFiYXNlQWdlbnQ7CiBjbGFzcyBJbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50OworY2xhc3MgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OwogY2xh
c3MgSW5zcGVjdG9yRnJvbnRlbmQ7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudDsKIGNs
YXNzIEluc3BlY3RvclBhZ2VBZ2VudDsKQEAgLTEzNyw2ICsxMzgsOSBAQCBwcml2YXRlOgogI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgT3duUHRyPEluc3BlY3RvckRhdGFiYXNlQWdlbnQ+
IG1fZGF0YWJhc2VBZ2VudDsKICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBP
d25QdHI8SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50PiBtX2ZpbGVzeXN0ZW1BZ2VudDsKKyNlbmRp
ZgogICAgIE93blB0cjxJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ+IG1fZG9tU3RvcmFnZUFnZW50
OwogICAgIE93blB0cjxJbnNwZWN0b3JUaW1lbGluZUFnZW50PiBtX3RpbWVsaW5lQWdlbnQ7CiAg
ICAgT3duUHRyPEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudD4gbV9hcHBsaWNhdGlvbkNh
Y2hlQWdlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0NDg3YWMyZWM2NTViNmRjM2VhODUzOTg0
MGNiMWQ1MTFjOWY2ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcApAQCAtMCwwICsxLDc4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIgorCisjaW5j
bHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYg
RU5BQkxFKEZJTEVfU1lTVEVNKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIHN0YXRpYwor
UGFzc093blB0cjxJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ+IEluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudDo6Y3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMpCit7
CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoaW5zdHJ1
bWVudGluZ0FnZW50cykpOworfQorCitJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6On5JbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQoKQoreworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50KDApOworfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudDo6ZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lz
dGVtKQoreworfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6aW52YWxpZGF0ZUZp
bGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtKQoreworfQorCit2
b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRl
bmQqIGZyb250ZW5kKQoreworICAgIG1fZnJvbnRlbmQgPSBmcm9udGVuZC0+ZmlsZXN5c3RlbSgp
OworfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6Y2xlYXJGcm9udGVuZCgpCit7
CisgICAgbV9mcm9udGVuZCA9IDA7Cit9CisKK0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6SW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMpCisgICAgOiBtX2luc3RydW1lbnRpbmdBZ2VudHMoaW5zdHJ1bWVudGluZ0FnZW50cyks
CisgICAgICBtX2Zyb250ZW5kKDApCit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQodGhpcyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShGSUxFX1NZU1RFTSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43NTk0YTQ4ZTkzZWM5NTk0NGI2MWEyNjk0ODgwYWYzYjVjOTNiMTU4
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudC5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudF9oCisjZGVmaW5lIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudF9oCisjaWYgRU5BQkxF
KElOU1BFQ1RPUikgJiYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiSW5zcGVjdG9y
RnJvbnRlbmQuaCIKKworI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRE9NRmlsZVN5c3Rl
bTsKK2NsYXNzIEluc3BlY3RvckZyb250ZW5kOworY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsK
KworY2xhc3MgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc093blB0cjxJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5n
QWdlbnRzKik7CisgICAgdmlydHVhbCB+SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KCk7CisKKyAg
ICB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4pOworICAg
IHZvaWQgaW52YWxpZGF0ZUZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPik7CisK
KyAgICB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKik7CisgICAgdm9pZCBjbGVh
ckZyb250ZW5kKCk7CisKK3ByaXZhdGU6CisgICAgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KElu
c3RydW1lbnRpbmdBZ2VudHMqKTsKKworICAgIEluc3RydW1lbnRpbmdBZ2VudHMqIG1faW5zdHJ1
bWVudGluZ0FnZW50czsKKyAgICBJbnNwZWN0b3JGcm9udGVuZDo6RmlsZVN5c3RlbSogbV9mcm9u
dGVuZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpICYmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTY3ZWQ2
ZjhiMGFlM2E4YmJjN2EwYzU5N2ZiZmI1YWM3ZjVjZTFlZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9u
LmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRh
dGlvbl9oCisjZGVmaW5lIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb25faAorCisj
aW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVN
KQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVuRmlsZVN5c3Rl
bShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7CisjaWYgRU5BQkxFKElO
U1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGZpbGVTeXN0ZW0tPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSkpCisgICAgICAgIGRpZE9wZW5GaWxlU3lzdGVtSW1wbChpbnN0cnVtZW50
aW5nQWdlbnRzLCBmaWxlU3lzdGVtKTsKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQorfQor
CitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmludmFsaWRhdGVGaWxlU3lz
dGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyNpZiBFTkFCTEUo
SU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoZmlsZVN5c3RlbS0+c2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgaW52YWxpZGF0ZUZpbGVTeXN0ZW1JbXBsKGluc3Ry
dW1lbnRpbmdBZ2VudHMsIGZpbGVTeXN0ZW0pOworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
Cit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHAKaW5kZXggYmQyYjllNTBlNDlkNDg1MDJhMDk3NmVkZjJhZjg5MjEwMTJmY2I3Yy4uYmE1
ZjY4MTUyZDkxODc1MmZjMjYwNzNhMzZhZjJmOTFlMDM4ZTJhZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTQ3
LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRlYnVnZ2VyQWdl
bnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JQYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQcm9maWxlckFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgpAQCAtNzcwLDYgKzc3MSwyNiBA
QCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNlSW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9T
WVNURU0pCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZpbGVTeXN0ZW1J
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFBhc3NSZWZQdHI8
RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyAgICBJbnNwZWN0b3JBZ2VudCogaW5zcGVj
dG9yQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JBZ2VudCgpOworICAgIGlm
ICghaW5zcGVjdG9yQWdlbnQgfHwgIWluc3BlY3RvckFnZW50LT5lbmFibGVkKCkpCisgICAgICAg
IHJldHVybjsKKyAgICBpZiAoSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KiBmaWxlU3lzdGVtQWdl
bnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoKSkKKyAg
ICAgICAgZmlsZVN5c3RlbUFnZW50LT5kaWRPcGVuRmlsZVN5c3RlbShmaWxlU3lzdGVtKTsKK30K
Kwordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmludmFsaWRhdGVGaWxlU3lzdGVtSW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQYXNzUmVmUHRyPERP
TUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7CisgICAgSW5zcGVjdG9yQWdlbnQqIGluc3BlY3Rv
ckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQWdlbnQoKTsKKyAgICBpZiAo
IWluc3BlY3RvckFnZW50IHx8ICFpbnNwZWN0b3JBZ2VudC0+ZW5hYmxlZCgpKQorICAgICAgICBy
ZXR1cm47CisgICAgaWYgKEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogZmlsZVN5c3RlbUFnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KCkpCisgICAg
ICAgIGZpbGVTeXN0ZW1BZ2VudC0+aW52YWxpZGF0ZUZpbGVTeXN0ZW0oZmlsZVN5c3RlbSk7Cit9
CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCiB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgU3RvcmFnZUFyZWEqIHN0b3JhZ2VBcmVhLCBib29sIGlzTG9jYWxTdG9y
YWdlLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBhNjIw
MjdkYzYzODM4ODBlMGM4ZDc4YjlmMzRhMGUzMWRiNjJiZDIxLi45OGE3NDZkZGRiOGQzNTAxNTE2
YzUwZTdkMmY2YjEwMDM5MmQxOTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNs
dWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgorI2luY2x1ZGUg
IkRPTUZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVsZW1l
bnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNDIsNiArNDMsNyBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBDaGFyYWN0ZXJEYXRhOworY2xhc3MgRE9NRmlsZVN5c3RlbTsKIGNs
YXNzIERPTVdpbmRvdzsKIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIGNsYXNzIERhdGFiYXNlOwpA
QCAtMTcyLDYgKzE3NCwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkT3BlbkRhdGFi
YXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPERhdGFiYXNlPiwgY29uc3Qg
U3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9u
KTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIHN0YXRpYyB2b2lkIGRp
ZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4pOworICAgIHN0YXRpYyB2
b2lkIGludmFsaWRhdGVGaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4pOworI2Vu
ZGlmCisKICAgICBzdGF0aWMgdm9pZCBkaWRVc2VET01TdG9yYWdlKFBhZ2UqLCBTdG9yYWdlQXJl
YSosIGJvb2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKik7CiAKICNpZiBFTkFCTEUoV09SS0VSUykK
QEAgLTMwNCw2ICszMTEsMTEgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkaWRPcGVuRGF0
YWJhc2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVmUHRyPERhdGFiYXNlPiwgY29u
c3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJz
aW9uKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIHN0YXRpYyB2b2lk
IGRpZE9wZW5GaWxlU3lzdGVtSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUGFzc1JlZlB0cjxE
T01GaWxlU3lzdGVtPik7CisgICAgc3RhdGljIHZvaWQgaW52YWxpZGF0ZUZpbGVTeXN0ZW1JbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+KTsKKyNlbmRp
ZgorCiAgICAgc3RhdGljIHZvaWQgZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyosIFN0b3JhZ2VBcmVhKiwgYm9vbCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUqKTsKIAogI2lm
IEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50
aW5nQWdlbnRzLmgKaW5kZXggN2NkN2Y3YTJhZWNhY2Y2MGI4ZGFmMTYwMTQyYTlhODEzMGE2ZmFj
NS4uNzFkYmU0NGU4M2VjNzZlY2MzYmVhZDMyZTUyY2JiZWRhNzBhNThkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC00Niw2ICs0Niw3
IEBAIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRlYnVn
Z2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7CiBjbGFzcyBJbnNwZWN0
b3JQcm9maWxlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIElu
c3BlY3RvclJ1bnRpbWVBZ2VudDsKQEAgLTcxLDYgKzcyLDkgQEAgcHVibGljOgogI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAgICAgICAgICwgbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50KDApCiAj
ZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAgICwgbV9pbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQoMCkKKyNlbmRpZgogICAgICAgICAsIG1faW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50KDApCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgICAgICwg
bV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50KDApCkBAIC0xMTQsNyArMTE4LDEwIEBAIHB1YmxpYzoK
ICAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBpbnNwZWN0b3JEYXRhYmFzZUFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNw
ZWN0b3JEYXRhYmFzZUFnZW50KEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGFnZW50KSB7IG1faW5z
cGVjdG9yRGF0YWJhc2VBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKLQorI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKKyAgICBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQqIGluc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OyB9Cisg
ICAgdm9pZCBzZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCA9IGFnZW50OyB9CisjZW5k
aWYKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQqIGluc3BlY3RvckFwcGxpY2F0
aW9uQ2FjaGVBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNo
ZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckFwcGxpY2F0
aW9uQ2FjaGVBZ2VudCA9IGFnZW50OyB9CiAKQEAgLTE0Niw2ICsxNTMsOSBAQCBwcml2YXRlOgog
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogbV9p
bnNwZWN0b3JEYXRhYmFzZUFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQor
ICAgIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7
CisjZW5kaWYKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQqIG1faW5zcGVjdG9y
QXBwbGljYXRpb25DYWNoZUFnZW50OwogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQog
ICAgIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIG1faW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyLmNwcAppbmRleCBlMWY0NTk3MTBjZTAxYTM2ODkwYWQ3NmM0Mzc1MDBhZjcwZmM3ODM0Li5i
YzJlZjdkZjJjNGVjMjQ4NjM0ZGM0YmMxMmFmMTI2M2JlYzEzYmJkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBA
IC0xNTUsNiArMTU1LDkgQEAgdm9pZCBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0
RnJvbnRlbmQoKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICAgICBtX2Rl
YnVnZ2VyQWdlbnQuZ2V0KCksCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAg
ICAgIDAsIC8vIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudAorI2VuZGlmCiAgICAgICAgIDAsIC8v
IEluc3BlY3RvclJlc291cmNlQWdlbnQKICAgICAgICAgMCwgLy8gSW5zcGVjdG9yUGFnZUFnZW50
CiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2ggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2gKaW5kZXggMzcwNWNmMTMxODE3NzM5MmQwMDEzMmRh
NWUxYzk4Zjk1MTFiOTllMi4uNzFlYTljNjMxY2FlNTFmOTA0YTJiOGI3ZDVkODAxZTJhY2JlNjQx
YiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5k
LnNoCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5zaApA
QCAtNjAsNiArNjAsNyBAQCBqYXZhIC1qYXIgfi9jbG9zdXJlL2NvbXBpbGVyLmphciAtLXN1bW1h
cnlfZGV0YWlsX2xldmVsIDMgLS1jb21waWxhdGlvbl9sZXZlbCBTSQogICAgICAgICAtLWpzIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZS5qcyBcCiAgICAgICAg
IC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpz
IFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVn
Z2VyUHJlc2VudGF0aW9uTW9kZWwuanMgXAorICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IQVJFbnRyeS5qcyBcCiAgICAgICAgIC0tanMgU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTG9nLmpzIFwKICAgICAgICAg
LS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdC5qcyBcCkBAIC0x
NDcsNiArMTQ4LDcgQEAgamF2YSAtamFyIH4vY2xvc3VyZS9jb21waWxlci5qYXIgLS1zdW1tYXJ5
X2RldGFpbF9sZXZlbCAzIC0tY29tcGlsYXRpb25fbGV2ZWwgU0kKICAgICAgICAgLS1qcyBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3LmpzIFwKICAg
ICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlVGFi
bGVWaWV3LmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanMgXAorICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMgXAogICAgICAgICAtLWpzIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMgXAogICAg
IC0tbW9kdWxlIGpzbW9kdWxlX3NjcmlwdHM6ODpqc21vZHVsZV9jb21wb25lbnRzIFwKICAgICAg
ICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxTdGFja1NpZGVi
YXJQYW5lLmpzIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRmlsZVN5c3RlbS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmls
ZVN5c3RlbS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDA2YjU4OWM1NWY2MTRhYjE5MGM0YzhhYmVmNGRiZjQ3
ZmRkOTYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9GaWxlU3lzdGVtLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtVmlldy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTAwNmI1
ODljNTVmNjE0YWIxOTBjNGM4YWJlZjRkYmY0N2ZkZDk2MwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMKQEAgLTAs
MCArMSwyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dl
YktpdC5xcmMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMK
aW5kZXggNzZmYTQzMjhiNTAxZTFlYWY3ZDA1OGIwODJiYmUxNTU3MzljY2MyMC4uYWJiZWM5M2U5
NDAwYjk3ZjJmODgyNjRiMTQ1ODk0ODM1NzZhZmI4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpAQCAtNTQsNiArNTQsOCBAQAogICAgIDxmaWxl
PkV4dGVuc2lvblBhbmVsLmpzPC9maWxlPgogICAgIDxmaWxlPkV4dGVuc2lvblJlZ2lzdHJ5U3R1
Yi5qczwvZmlsZT4KICAgICA8ZmlsZT5FeHRlbnNpb25TZXJ2ZXIuanM8L2ZpbGU+CisgICAgPGZp
bGU+RmlsZVN5c3RlbS5qczwvZmlsZT4KKyAgICA8ZmlsZT5GaWxlU3lzdGVtVmlldy5qczwvZmls
ZT4KICAgICA8ZmlsZT5Gb250Vmlldy5qczwvZmlsZT4KICAgICA8ZmlsZT5Hb1RvTGluZURpYWxv
Zy5qczwvZmlsZT4KICAgICA8ZmlsZT5IQVJFbnRyeS5qczwvZmlsZT4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IDc2YTIxYjlh
NjgwODkzYWEzZmI3MWVlOGIzNjhlOWQzNGUyMDhhN2QuLmYxNzhlOTU4ZGFlNTc0YzFkOTIxMzg3
YTdkMzJmNGE4MTQxNjA0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtNzQsNiArNzQsNyBAQCBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRPTVN0b3JhZ2UuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRPTVN0b3JhZ2VJdGVt
c1ZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9IkRhdGFHcmlkLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJGaWxlU3lzdGVtLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJTaG93TW9yZURhdGFHcmlkTm9kZS5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29va2llc1RhYmxlLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb29raWVJ
dGVtc1ZpZXcuanMiPjwvc2NyaXB0PgpAQCAtMTQ3LDYgKzE0OCw3IEBAIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iSW1hZ2VWaWV3LmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJEYXRhYmFzZVRhYmxl
Vmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iRGF0YWJhc2VRdWVyeVZpZXcuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9IkZpbGVTeXN0ZW1WaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQcm9maWxlRGF0YUdyaWRUcmVlLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJCb3R0b21V
cFByb2ZpbGVEYXRhR3JpZFRyZWUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9IlRvcERvd25Qcm9maWxlRGF0YUdyaWRUcmVlLmpzIj48L3Njcmlw
dD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115351</attachid>
            <date>2011-11-16 02:15:33 -0800</date>
            <delta_ts>2011-11-16 02:26:34 -0800</delta_ts>
            <desc>Patch (omit FileSystem invalidation)</desc>
            <filename>bug-72456-20111116191531.patch</filename>
            <type>text/plain</type>
            <size>39528</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmRhMWY2YmVkZWY4MThh
NGVkNDkyYTFlMjA2ZmE4M2FhOWIzMjFmNC4uOGFmYTNhNTNiMGQxMjUwYTA0MDJlYmUyZjkyMzE3
Mjk0MGUyZDFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDExLTExLTE2ICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW5zcGVjdG9yXVtGaWxl
U3lzdGVtXTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZp
bGVzIGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcg
aG9va3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBmaWxl
YXBpL0RPTUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5c3RlbTo6
Y3JlYXRlKToKKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29u
dHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0
RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29u
bmVjdEZyb250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5o
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6fkluc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQ6OmRpZE9wZW5GaWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudDo6aW52YWxpZGF0ZUZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaDogQWRkZWQuCisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9w
ZW5GaWxlU3lzdGVtKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
T3BlbkZpbGVTeXN0ZW1JbXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2Vu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNl
dEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9y
Q29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tcGls
ZS1mcm9udC1lbmQuc2g6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVt
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1WaWV3
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKwogMjAxMS0xMS0x
NSAgSmVmZiBUaW1hbnVzICA8dHdpekBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVt
XSBEdXJpbmcgdGVhciBkb3duLCBwcmV2ZW50IHRoZSBXZWJHTExheWVyQ2hyb21pdW0gaW5zdGFu
Y2UgZnJvbSBhdHRlbXB0aW5nIHRvIHN0b3AgYSB0aW1lciBmb3IgYSBOVUxMIGNvbnRleHQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGUzZjBiZGI1NGIxN2YyZWU0MDcwNDYyNTBlNTNiYzlkYTEy
ZjdlMGMuLjFiOTZhZmY2YWU2ZjI5ZmVkM2Q1NTZkOTEwMjI1Yjc3NTYxNzM0ZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC04ODcsNiArODg3LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmNwcAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCiAgICAgaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDFjZmJkYjZiNTYzMjcxODQzYTgz
YTVhMmIyNzY1MTBjMTljYjJjMjguLjJkNjc0OTQ3MmM0OWUwYWVlZGEyYjdjMGExNWEwYjljZWUw
OWRjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTI3MzEsNiArMjczMSw5IEBACiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaCcsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3Iv
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVj
dG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAnLApAQCAtNjMyOCw2ICs2MzMxLDggQEAKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblBhbmVsLmpzJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblJlZ2lzdHJ5U3R1Yi5qcycsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMnLAorICAgICAgICAg
ICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qcycsCisgICAgICAgICAgICAnaW5z
cGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtVmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9Gb250Vmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9Hb1RvTGluZURpYWxvZy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9IQVJFbnRyeS5qcycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMGI2NTA4MjVjN2JiODVjOTM0ODU2ZTYzNjA4NjBjMjE1NTZm
MzA5MS4uNDlhNTE1MjdkNzA1YWJiMzMyMzVlNjFmNjBhMWY4MTE5MTRiNmVmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzE3
LDYgKzMxNyw5IEBACiAJCTE1Qzc3MDk0MTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3Rh
dGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVD
NzcwOTIxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5jcHAgKi87IH07CiAJCTE1
Qzc3MEE1MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwQTMxMDBENDFDRDAwNUJB
MjY3IC8qIERPTVZhbGlkaXR5U3RhdGUubW0gKi87IH07CiAJCTE1Qzc3MEE2MTAwRDQxQ0QwMDVC
QTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzBBNDEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlT
dGF0ZS5oICovOyB9OworCQkxNUQxN0QyMTE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE1RDE3RDFFMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuY3BwICovOyB9OworCQkxNUQxN0QyMjE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNUQxN0QxRjE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
LmggKi87IH07CisJCTE1RDE3RDIzMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lz
dGVtSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3Rl
bUluc3RydW1lbnRhdGlvbi5oICovOyB9OwogCQkxNjNFODhGNzExOEEzOUQyMDBFRDkyMzEgLyog
U2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNjNFODhGNTExOEEzOUQyMDBFRDkyMzEgLyogU2ltcGxlRm9udERh
dGFDb3JlVGV4dC5jcHAgKi87IH07CiAJCTE2M0U4QjEzMTE4QjNBREQwMEVEOTIzMSAvKiBTaW1w
bGVGb250RGF0YUFUU1VJLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTYzRThCMTIxMThCM0FERDAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQVRTVUku
bW0gKi87IH07CiAJCTE4NUJDRjI4MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJlYWRUaW1lcnMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTg1QkNGMjYw
RjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5jcHAgKi87IH07CkBAIC0xMzY4LDYgKzEz
NzEsNyBAQAogCQk1MDFCQUFBOTEzOTUwRTJDMDBGN0FDRUIgLyogV2luZFJ1bGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwMUJBQUE4MTM5NTBFMkMw
MEY3QUNFQiAvKiBXaW5kUnVsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTUwOENDQTRGMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhy
ZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDhD
Q0E0RDEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5oICovOyB9OwogCQk1MDhD
Q0E1MDEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDhDQ0E0RTEzQ0YxMDZCMDAzMTUx
RjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgKi87IH07CisJCTUwQjQyMTU4MTQ2OTc2OTYwMDg3
RTYwNCAvKiBXZWJLaXRDU1NTaGFkZXJWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTBCNDIxNTcxNDY5NzY5NjAwODdFNjA0IC8qIFdlYktpdENT
U1NoYWRlclZhbHVlLmggKi87IH07CiAJCTUwRTU2NkQ2MTM5RTM4QzUwMDIxNDQzMyAvKiBDU1NX
cmFwU2hhcGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUwMUJBQUIxMTM5NTExNEIwMEY3QUNFQiAvKiBDU1NXcmFwU2hhcGVzLmNwcCAqLzsgfTsK
IAkJNTEwMTg0NjkwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDE4NDY3MEIwODYwMkEwMDRBODI1
RiAvKiBDYWNoZWRQYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNTEwMTg0NkEwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMTg0NjgwQjA4
NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuY3BwICovOyB9OwpAQCAtNzM4Miw2ICs3Mzg2LDkg
QEAKIAkJMTVDNzcwOTIxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1ZhbGlkaXR5U3RhdGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzBBMzEwMEQ0MUNEMDA1QkEyNjcgLyog
RE9NVmFsaWRpdHlTdGF0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IERPTVZhbGlkaXR5U3RhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1
Qzc3MEE0MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVZhbGlkaXR5U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMTVEMTdEMUUxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NUQxN0QxRjE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYg
LyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE2M0U4OEY1MTE4QTM5RDIwMEVEOTIzMSAvKiBT
aW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxNjNFOEIxMjExOEIzQUREMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFBVFNVSS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNpbXBsZUZvbnREYXRh
QVRTVUkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE4NUJDRjI2MEYzMjc5Q0Uw
MDBFQTI2MiAvKiBUaHJlYWRUaW1lcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gVGhyZWFkVGltZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE0NDU2LDYgKzE0NDYzLDkgQEAKIAkJMUM4MUI5NEQwRTk3MzJEOTAwMjY2RTA3IC8qIGluc3Bl
Y3RvciAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMTVE
MTdEMUUxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgKi8s
CisJCQkJMTVEMTdEMUYxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dC5oICovLAorCQkJCTE1RDE3RDIwMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lz
dGVtSW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJMUM4MUI5NTkwRTk3MzMwODAwMjY2RTA3IC8q
IGZyb250LWVuZCAqLywKIAkJCQk0MUYwNjE4RDBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1l
c3NhZ2UuY3BwICovLAogCQkJCTQxRjA2MThDMEY1RjA2OTgwMEEwN0VBQyAvKiBDb25zb2xlTWVz
c2FnZS5oICovLApAQCAtMjQ2OTQsNiArMjQ3MDQsOCBAQAogCQkJCUNERjY1Q0NBMTQ1QjQ0ODgw
MEM0QzdBQSAvKiBNZWRpYUNvbnRyb2xsZXJJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTI5MTdCNTYyMTQ3MzQ5NkMwMDUyQzlEMCAvKiBMYXllckZsdXNoU2NoZWR1bGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyOTE3QjU2MzE0NzM0OTZDMDA1MkM5RDAgLyogTGF5ZXJGbHVzaFNjaGVk
dWxlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTVEMTdEMjIxNDcyMzFFQjAwNUVCQ0E2
IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTVEMTdE
MjMxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpAQCAtMjc1NjQsNiArMjc1NzYsNyBAQAogCQkJCTMxMzEzRjY1MTQ0
M0IzNUYwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkyOTE3QjU2MTE0NzM0OTZDMDA1MkM5RDAgLyogTGF5ZXJGbHVzaFNjaGVkdWxlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyOTE3QjU2NjE0NzM0OTk1MDA1MkM5RDAgLyogTGF5ZXJGbHVz
aFNjaGVkdWxlck1hYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNUQxN0QyMTE0NzIzMUVCMDA1
RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKaW5kZXggNTEyNjUzMDIyY2Y2MTFm
NzA5ZTdiZmM5ZGFkOTE4MWNiNDY0MGNlZi4uYWMzODY5MDNiMThmYmJjYjFjNTBlYTQ3ODIyMjAx
OTExZTc2NzIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCkBA
IC00NSwxMiArNDUsMjEgQEAKICNpbmNsdWRlICJGaWxlV3JpdGVyLmgiCiAjaW5jbHVkZSAiRmls
ZVdyaXRlckJhc2VDYWxsYmFjay5oIgogI2luY2x1ZGUgIkZpbGVXcml0ZXJDYWxsYmFjay5oIgor
I2luY2x1ZGUgIkluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRl
ICJNZXRhZGF0YUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBz
dGF0aWMKK1Bhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gRE9NRmlsZVN5c3RlbTo6Y3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093
blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkKK3sKKyAgICBSZWZQdHI8RE9N
RmlsZVN5c3RlbT4gZmlsZVN5c3RlbShhZG9wdFJlZihuZXcgRE9NRmlsZVN5c3RlbShjb250ZXh0
LCBuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pKSk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRPcGVuRmlsZVN5c3RlbShmaWxlU3lzdGVtLmdldCgpKTsKKyAgICByZXR1cm4gZmlsZVN5
c3RlbTsKK30KKwogRE9NRmlsZVN5c3RlbTo6RE9NRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxl
U3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCiAgICAgOiBET01GaWxlU3lzdGVtQmFzZShjb250ZXh0
LCBuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pCiAgICAgLCBBY3RpdmVET01PYmplY3QoY29udGV4dCwg
dGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5o
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKaW5kZXggOGUzNTU2NzBm
YzQ1ZGMzOWYyODVhMjBjOWY0ZWM0NmFlNTE2YWJjNi4uNzRmYTlhYzE4MTVmZDVlY2YxNWUxYzUw
YjVlMDI5MGNhZWI2OGE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01G
aWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgK
QEAgLTQ3LDEwICs0Nyw3IEBAIGNsYXNzIEZpbGVXcml0ZXJDYWxsYmFjazsKIAogY2xhc3MgRE9N
RmlsZVN5c3RlbSA6IHB1YmxpYyBET01GaWxlU3lzdGVtQmFzZSwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwg
UGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgRE9NRmlsZVN5c3RlbShjb250ZXh0LCBuYW1lLCBhc3lu
Y0ZpbGVTeXN0ZW0pKTsKLSAgICB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3Rl
bT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIG5hbWUsIFBh
c3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPik7CiAKICAgICBQYXNzUmVmUHRyPERpcmVjdG9yeUVu
dHJ5PiByb290KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2Rl
R2VuZXJhdG9ySW5zcGVjdG9yLnB5IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCBh
NGI4NjQxNDc0NWMxYWM5ODEzNDAzOWUwODEwYjgzNTgxZjU3YmU2Li5jNGY5NWMzMjRjNDhmMThm
OGYyMmY1ZmE2MGY4Mjg0MDE5MTI4YjhjCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CkBAIC0xNDMsNiArMTQzLDcgQEAgY2xhc3MgRG9tYWlu
TmFtZUZpeGVzOgogICAgICAgICAiRE9NRGVidWdnZXIiOiAiZG9tRGVidWdnZXJBZ2VudCIsCiAg
ICAgICAgICJQcm9maWxlciI6ICJwcm9maWxlckFnZW50IiwKICAgICAgICAgIldvcmtlciI6ICJ3
b3JrZXJBZ2VudCIsCisgICAgICAgICJGaWxlU3lzdGVtIjogImZpbGVTeXN0ZW1BZ2VudCIsCiAg
ICAgfQogCiAgICAgZG9tYWluX2RlZmluZV9uYW1lX21hcCA9IHsKQEAgLTE1MSw2ICsxNTIsNyBA
QCBjbGFzcyBEb21haW5OYW1lRml4ZXM6CiAgICAgICAgICJET01EZWJ1Z2dlciI6ICJFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUiIsCiAgICAgICAgICJQcm9maWxlciI6ICJFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUiIsCiAgICAgICAgICJXb3JrZXIiOiAiRU5BQkxFX1dPUktFUlMiLAorICAg
ICAgICAiRmlsZVN5c3RlbSI6ICJFTkFCTEVfRklMRV9TWVNURU0iLAogICAgIH0KIAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggZTBkMWZhNjkwYTM1NzBlNzEz
ZTM0YmQ1OTNiZDA4YWZjY2NhYzhlMS4uODE0NDIzOGZlNDkyZDFiZGNhYmRkOWQ2N2E4M2NiZjJh
ZjlmYThhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMTAw
OSw2ICsxMDA5LDE0IEBACiAgICAgICAgIF0KICAgICB9LAogICAgIHsKKyAgICAgICAgImRvbWFp
biI6ICJGaWxlU3lzdGVtIiwKKyAgICAgICAgImhpZGRlbiI6IHRydWUsCisgICAgICAgICJjb21t
YW5kcyI6IFsKKyAgICAgICAgXSwKKyAgICAgICAgImV2ZW50cyI6IFsKKyAgICAgICAgXQorICAg
IH0sCisgICAgewogICAgICAgICAiZG9tYWluIjogIkRPTSIsCiAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJUaGlzIGRvbWFpbiBleHBvc2VzIERPTSByZWFkL3dyaXRlIG9wZXJhdGlvbnMuIEVhY2gg
RE9NIE5vZGUgaXMgcmVwcmVzZW50ZWQgd2l0aCBpdHMgbWlycm9yIG9iamVjdCB0aGF0IGhhcyBh
biA8Y29kZT5pZDwvY29kZT4uIFRoaXMgPGNvZGU+aWQ8L2NvZGU+IGNhbiBiZSB1c2VkIHRvIGdl
dCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIHRoZSBOb2RlLCByZXNvbHZlIGl0IGludG8gdGhl
IEphdmFTY3JpcHQgb2JqZWN0IHdyYXBwZXIsIGV0Yy4gSXQgaXMgaW1wb3J0YW50IHRoYXQgY2xp
ZW50IHJlY2VpdmVzIERPTSBldmVudHMgb25seSBmb3IgdGhlIG5vZGVzIHRoYXQgYXJlIGtub3du
IHRvIHRoZSBjbGllbnQuIEJhY2tlbmQga2VlcHMgdHJhY2sgb2YgdGhlIG5vZGVzIHRoYXQgd2Vy
ZSBzZW50IHRvIHRoZSBjbGllbnQgYW5kIG5ldmVyIHNlbmRzIHRoZSBzYW1lIG5vZGUgdHdpY2Uu
IEl0IGlzIGNsaWVudCdzIHJlc3BvbnNpYmlsaXR5IHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJv
dXQgdGhlIG5vZGVzIHRoYXQgd2VyZSBzZW50IHRvIHRoZSBjbGllbnQuPHA+Tm90ZSB0aGF0IDxj
b2RlPmlmcmFtZTwvY29kZT4gb3duZXIgZWxlbWVudHMgd2lsbCByZXR1cm4gY29ycmVzcG9uZGlu
ZyBkb2N1bWVudCBlbGVtZW50cyBhcyB0aGVpciBjaGlsZCBub2Rlcy48L3A+IiwKICAgICAgICAg
InR5cGVzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCmluZGV4IDE0YTJhZjkyMDA1YmMyOWE0ZTg1MGRmNGE1ZTMwOWEwYmI5YjhkZTYu
LjU3OGE5ZDNkNTllNDhkOGI3NWQyNWRlYWEyMjljZmJkZmE0MTE4ZDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTQ5LDYgKzQ5
LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JEYXRhYmFzZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTEwNCw2ICsxMDUsOSBA
QCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIElu
c3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAg
LCBtX2RhdGFiYXNlQWdlbnQoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1
bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpCiAjZW5kaWYKKyNpZiBFTkFCTEUo
RklMRV9TWVNURU0pCisgICAgLCBtX2ZpbGVzeXN0ZW1BZ2VudChJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCkpKQorI2VuZGlmCiAgICAg
LCBtX2RvbVN0b3JhZ2VBZ2VudChJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNyZWF0ZShtX2lu
c3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKQogICAgICwgbV90aW1lbGlu
ZUFnZW50KEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2Vu
dHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKQogICAgICwgbV9hcHBsaWNhdGlvbkNhY2hlQWdlbnQo
YWRvcHRQdHIobmV3IEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChtX2luc3RydW1lbnRp
bmdBZ2VudHMuZ2V0KCksIG1fcGFnZUFnZW50LmdldCgpLCBtX3N0YXRlLmdldCgpKSkpCkBAIC0y
MDksNiArMjEzLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQo
KQogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5zZXRGcm9u
dGVuZChtX2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKICNlbmRpZgorI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKKyAgICBtX2ZpbGVzeXN0ZW1BZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JG
cm9udGVuZC5nZXQoKSk7CisjZW5kaWYKICAgICBtX2RvbVN0b3JhZ2VBZ2VudC0+c2V0RnJvbnRl
bmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAg
bV93b3JrZXJBZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CkBA
IC0yMzYsNiArMjQzLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRl
bmQoKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICAgICBtX2RlYnVnZ2Vy
QWdlbnQuZ2V0KCksCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAgIG1f
ZmlsZXN5c3RlbUFnZW50LmdldCgpLAorI2VuZGlmCiAgICAgICAgIG1fcmVzb3VyY2VBZ2VudC5n
ZXQoKSwKICAgICAgICAgbV9wYWdlQWdlbnQuZ2V0KCksCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRf
REVCVUdHRVIpCkBAIC0yODAsNiArMjkwLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpk
aXNjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRh
YmFzZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNU
RU0pCisgICAgbV9maWxlc3lzdGVtQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsKKyNlbmRpZgogICAg
IG1fZG9tU3RvcmFnZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAgICAgbV9wYWdlQWdlbnQtPmNs
ZWFyRnJvbnRlbmQoKTsKICNpZiBFTkFCTEUoV09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDc2NWNhZGZjMmY3NGQ1ZDYwOTky
ZTZjMjcyZmNlYzRmOTVhZmVlYTYuLjJiYTkyYzkyM2YyYjJjODgyOWQ3NGQwOWZlMGZjNDE1MjUx
MzRhZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuaApAQCAtNTMsNiArNTMsNyBAQCBjbGFzcyBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Owog
Y2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VB
Z2VudDsKIGNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZDsKIGNsYXNzIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50OwogY2xhc3MgSW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTM3LDYgKzEzOCw5
IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBPd25QdHI8SW5zcGVj
dG9yRGF0YWJhc2VBZ2VudD4gbV9kYXRhYmFzZUFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKEZJ
TEVfU1lTVEVNKQorICAgIE93blB0cjxJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ+IG1fZmlsZXN5
c3RlbUFnZW50OworI2VuZGlmCiAgICAgT3duUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudD4g
bV9kb21TdG9yYWdlQWdlbnQ7CiAgICAgT3duUHRyPEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+IG1f
dGltZWxpbmVBZ2VudDsKICAgICBPd25QdHI8SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
PiBtX2FwcGxpY2F0aW9uQ2FjaGVBZ2VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ0ODdhYzJl
YzY1NWI2ZGMzZWE4NTM5ODQwY2IxZDUxMWM5ZjZlMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwCkBAIC0wLDAg
KzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50LmgiCisKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisKKyNpZiBFTkFC
TEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoRklMRV9TWVNURU0pCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworLy8gc3RhdGljCitQYXNzT3duUHRyPEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50OjpjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cykKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzKSk7Cit9CisKK0luc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudDo6fkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgpCit7CisgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoMCk7Cit9CisKK3ZvaWQgSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50OjpkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZp
bGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50OjppbnZhbGlkYXRlRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVT
eXN0ZW0pCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpzZXRGcm9udGVu
ZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCit7CisgICAgbV9mcm9udGVuZCA9IGZyb250
ZW5kLT5maWxlc3lzdGVtKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojpj
bGVhckZyb250ZW5kKCkKK3sKKyAgICBtX2Zyb250ZW5kID0gMDsKK30KKworSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50OjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cykKKyAgICA6IG1faW5zdHJ1bWVudGluZ0FnZW50cyhpbnN0
cnVtZW50aW5nQWdlbnRzKSwKKyAgICAgIG1fZnJvbnRlbmQoMCkKK3sKKyAgICBtX2luc3RydW1l
bnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCh0aGlzKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5B
QkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1OTRhNDhlOTNlYzk1OTQ0YjYxYTI2
OTQ4ODBhZjNiNWM5M2IxNTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50X2gKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNp
bmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7Citj
bGFzcyBET01GaWxlU3lzdGVtOworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CitjbGFzcyBJbnN0
cnVtZW50aW5nQWdlbnRzOworCitjbGFzcyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQgeworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gY3Jl
YXRlKEluc3RydW1lbnRpbmdBZ2VudHMqKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQoKTsKKworICAgIHZvaWQgZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01G
aWxlU3lzdGVtPik7CisgICAgdm9pZCBpbnZhbGlkYXRlRmlsZVN5c3RlbShQYXNzUmVmUHRyPERP
TUZpbGVTeXN0ZW0+KTsKKworICAgIHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQq
KTsKKyAgICB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKKworcHJpdmF0ZToKKyAgICBJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyopOworCisgICAgSW5zdHJ1bWVudGlu
Z0FnZW50cyogbV9pbnN0cnVtZW50aW5nQWdlbnRzOworICAgIEluc3BlY3RvckZyb250ZW5kOjpG
aWxlU3lzdGVtKiBtX2Zyb250ZW5kOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKEZJTEVfU1lTVEVNKQorI2VuZGlm
IC8vIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45NDk5Y2E1Zjc2MDA2ZmU0NDZmOTBlN2E3NjM4MjEyMWYzNDAyNGEzCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0
ZW1JbnN0cnVtZW50YXRpb24uaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JGaWxl
U3lzdGVtSW5zdHJ1bWVudGF0aW9uX2gKKyNkZWZpbmUgSW5zcGVjdG9yRmlsZVN5c3RlbUluc3Ry
dW1lbnRhdGlvbl9oCisKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBF
TkFCTEUoRklMRV9TWVNURU0pCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkK
K3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoZmlsZVN5
c3RlbS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgZGlkT3BlbkZpbGVTeXN0
ZW1JbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGZpbGVTeXN0ZW0pOworI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVu
dGF0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5jcHAKaW5kZXggYmQyYjllNTBlNDlkNDg1MDJhMDk3NmVkZjJhZjg5MjEw
MTJmY2I3Yy4uYTYyOWE2MjZhNTZjOTQzOTY1ZjZiNWRlNTZiYmU4MTEyNzIxZWQwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JQYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQcm9m
aWxlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgpAQCAtNzcw
LDYgKzc3MSwxNyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFi
YXNlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZQogfQogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoRklMRV9TWVNURU0pCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3Bl
bkZpbGVTeXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMs
IFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyAgICBJbnNwZWN0b3JB
Z2VudCogaW5zcGVjdG9yQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JBZ2Vu
dCgpOworICAgIGlmICghaW5zcGVjdG9yQWdlbnQgfHwgIWluc3BlY3RvckFnZW50LT5lbmFibGVk
KCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KiBm
aWxlU3lzdGVtQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQoKSkKKyAgICAgICAgZmlsZVN5c3RlbUFnZW50LT5kaWRPcGVuRmlsZVN5c3RlbShmaWxl
U3lzdGVtKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRVc2VET01TdG9yYWdlSW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBTdG9yYWdlQXJlYSogc3RvcmFnZUFyZWEsIGJvb2wg
aXNMb2NhbFN0b3JhZ2UsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBJbnNwZWN0b3JBZ2VudCogaW5z
cGVjdG9yQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JBZ2VudCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
CmluZGV4IGE2MjAyN2RjNjM4Mzg4MGUwYzhkNzhiOWYzNGEwZTMxZGI2MmJkMjEuLjExODZjNzVj
YmQyNDkyOGNiYjg5ZTJhODZjZmJhM2YwYzRkYjM0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTMzLDYgKzMzLDcg
QEAKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ29uc29sZVR5cGVzLmgi
CisjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5j
bHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC00Miw2ICs0Myw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENoYXJhY3RlckRhdGE7CitjbGFzcyBET01GaWxl
U3lzdGVtOwogY2xhc3MgRE9NV2luZG93OwogY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogY2xhc3Mg
RGF0YWJhc2U7CkBAIC0xNzIsNiArMTc0LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBk
aWRPcGVuRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8RGF0YWJh
c2U+LCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIHZlcnNpb24pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgc3Rh
dGljIHZvaWQgZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPik7Cisj
ZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIGRpZFVzZURPTVN0b3JhZ2UoUGFnZSosIFN0b3JhZ2VB
cmVhKiwgYm9vbCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUqKTsKIAogI2lmIEVOQUJMRShXT1JLRVJT
KQpAQCAtMzA0LDYgKzMxMCwxMCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZE9wZW5E
YXRhYmFzZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhc3NSZWZQdHI8RGF0YWJhc2U+LCBj
b25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZl
cnNpb24pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgc3RhdGljIHZv
aWQgZGlkT3BlbkZpbGVTeXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVmUHRy
PERPTUZpbGVTeXN0ZW0+KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgZGlkVXNlRE9NU3Rv
cmFnZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFN0b3JhZ2VBcmVhKiwgYm9vbCBpc0xvY2Fs
U3RvcmFnZSwgRnJhbWUqKTsKIAogI2lmIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggN2NkN2Y3YTJhZWNhY2Y2
MGI4ZGFmMTYwMTQyYTlhODEzMGE2ZmFjNS4uNzFkYmU0NGU4M2VjNzZlY2MzYmVhZDMyZTUyY2Ji
ZWRhNzBhNThkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1l
bnRpbmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGlu
Z0FnZW50cy5oCkBAIC00Niw2ICs0Niw3IEBAIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xh
c3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2Vu
dDsKIGNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50OwogY2xhc3MgSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKQEAgLTcxLDYgKzcy
LDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgICwgbV9pbnNw
ZWN0b3JEYXRhYmFzZUFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisg
ICAgICAgICwgbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoMCkKKyNlbmRpZgogICAgICAgICAs
IG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KDApCiAjaWYgRU5BQkxFKEpBVkFTQ1JJ
UFRfREVCVUdHRVIpCiAgICAgICAgICwgbV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50KDApCkBAIC0x
MTQsNyArMTE4LDEwIEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBpbnNw
ZWN0b3JEYXRhYmFzZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JEYXRhYmFzZUFn
ZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JEYXRhYmFzZUFnZW50KEluc3BlY3RvckRhdGFi
YXNlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCA9IGFnZW50OyB9CiAj
ZW5kaWYKLQorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQqIGluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQoSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQqIGluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1f
aW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JB
cHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBhZ2Vu
dCkgeyBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCA9IGFnZW50OyB9CiAKQEAgLTE0
Niw2ICsxNTMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgSW5z
cGVjdG9yRGF0YWJhc2VBZ2VudCogbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50OwogI2VuZGlmCisj
aWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogbV9p
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7CisjZW5kaWYKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlv
bkNhY2hlQWdlbnQqIG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OwogI2lmIEVOQUJM
RShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIG1faW5z
cGVjdG9yRGVidWdnZXJBZ2VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBlMWY0NTk3MTBjZTAxYTM2ODkw
YWQ3NmM0Mzc1MDBhZjcwZmM3ODM0Li5iYzJlZjdkZjJjNGVjMjQ4NjM0ZGM0YmMxMmFmMTI2M2Jl
YzEzYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVj
dG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xNTUsNiArMTU1LDkgQEAgdm9pZCBXb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShKQVZBU0NSSVBU
X0RFQlVHR0VSKQogICAgICAgICBtX2RlYnVnZ2VyQWdlbnQuZ2V0KCksCiAjZW5kaWYKKyNpZiBF
TkFCTEUoRklMRV9TWVNURU0pCisgICAgICAgIDAsIC8vIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dAorI2VuZGlmCiAgICAgICAgIDAsIC8vIEluc3BlY3RvclJlc291cmNlQWdlbnQKICAgICAgICAg
MCwgLy8gSW5zcGVjdG9yUGFnZUFnZW50CiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQu
c2ggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2gKaW5kZXgg
MzcwNWNmMTMxODE3NzM5MmQwMDEzMmRhNWUxYzk4Zjk1MTFiOTllMi4uNzFlYTljNjMxY2FlNTFm
OTA0YTJiOGI3ZDVkODAxZTJhY2JlNjQxYiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnNoCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9jb21waWxlLWZyb250LWVuZC5zaApAQCAtNjAsNiArNjAsNyBAQCBqYXZhIC1qYXIgfi9jbG9z
dXJlL2NvbXBpbGVyLmphciAtLXN1bW1hcnlfZGV0YWlsX2xldmVsIDMgLS1jb21waWxhdGlvbl9s
ZXZlbCBTSQogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RE9NU3RvcmFnZS5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMgXAorICAgICAg
ICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qcyBc
CiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IQVJFbnRy
eS5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrTG9nLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NjcmlwdC5qcyBcCkBAIC0xNDcsNiArMTQ4LDcgQEAgamF2YSAtamFyIH4vY2xvc3Vy
ZS9jb21waWxlci5qYXIgLS1zdW1tYXJ5X2RldGFpbF9sZXZlbCAzIC0tY29tcGlsYXRpb25fbGV2
ZWwgU0kKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Rh
dGFiYXNlUXVlcnlWaWV3LmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RhdGFiYXNlVGFibGVWaWV3LmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanMgXAorICAg
ICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZp
ZXcuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVzb3VyY2VzUGFuZWwuanMgXAogICAgIC0tbW9kdWxlIGpzbW9kdWxlX3NjcmlwdHM6ODpqc21v
ZHVsZV9jb21wb25lbnRzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDA2YjU4OWM1
NWY2MTRhYjE5MGM0YzhhYmVmNGRiZjQ3ZmRkOTYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtLmpzCkBAIC0wLDAgKzEsMjkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVt
Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZp
ZXcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTAwNmI1ODljNTVmNjE0YWIxOTBjNGM4YWJlZjRkYmY0N2ZkZDk2
MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RmlsZVN5c3RlbVZpZXcuanMKQEAgLTAsMCArMSwyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKaW5kZXggNzZmYTQzMjhiNTAxZTFlYWY3ZDA1OGIwODJi
YmUxNTU3MzljY2MyMC4uYWJiZWM5M2U5NDAwYjk3ZjJmODgyNjRiMTQ1ODk0ODM1NzZhZmI4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJj
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpAQCAt
NTQsNiArNTQsOCBAQAogICAgIDxmaWxlPkV4dGVuc2lvblBhbmVsLmpzPC9maWxlPgogICAgIDxm
aWxlPkV4dGVuc2lvblJlZ2lzdHJ5U3R1Yi5qczwvZmlsZT4KICAgICA8ZmlsZT5FeHRlbnNpb25T
ZXJ2ZXIuanM8L2ZpbGU+CisgICAgPGZpbGU+RmlsZVN5c3RlbS5qczwvZmlsZT4KKyAgICA8Zmls
ZT5GaWxlU3lzdGVtVmlldy5qczwvZmlsZT4KICAgICA8ZmlsZT5Gb250Vmlldy5qczwvZmlsZT4K
ICAgICA8ZmlsZT5Hb1RvTGluZURpYWxvZy5qczwvZmlsZT4KICAgICA8ZmlsZT5IQVJFbnRyeS5q
czwvZmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5odG1sCmluZGV4IDc2YTIxYjlhNjgwODkzYWEzZmI3MWVlOGIzNjhlOWQzNGUyMDhhN2Qu
LmYxNzhlOTU4ZGFlNTc0YzFkOTIxMzg3YTdkMzJmNGE4MTQxNjA0ZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtNzQsNiAr
NzQsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IkRPTVN0b3JhZ2UuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9IkRPTVN0b3JhZ2VJdGVtc1ZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRhdGFHcmlkLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJGaWxlU3lzdGVtLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTaG93TW9yZURhdGFH
cmlkTm9kZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iQ29va2llc1RhYmxlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJDb29raWVJdGVtc1ZpZXcuanMiPjwvc2NyaXB0PgpAQCAtMTQ3LDYg
KzE0OCw3IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iSW1hZ2VWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJEYXRhYmFzZVRhYmxlVmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRGF0YWJhc2VRdWVyeVZpZXcuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkZpbGVTeXN0ZW1WaWV3
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQ
cm9maWxlRGF0YUdyaWRUcmVlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJCb3R0b21VcFByb2ZpbGVEYXRhR3JpZFRyZWUuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRvcERvd25Qcm9maWxl
RGF0YUdyaWRUcmVlLmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115352</attachid>
            <date>2011-11-16 02:26:42 -0800</date>
            <delta_ts>2011-11-17 01:04:10 -0800</delta_ts>
            <desc>Patch (rebase)</desc>
            <filename>bug-72456-20111116192641.patch</filename>
            <type>text/plain</type>
            <size>39421</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QzMWQ5YWM3YjYzYzZl
NjA5YzNlMmJlY2FlM2M2M2QzN2MxMzQ3OC4uYWJjYjJkZjYyNmU1Mjg4ZDBmZDYyMDUyZjVjN2I5
YTY2OGRhMmRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDExLTExLTE2ICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW5zcGVjdG9yXVtGaWxl
U3lzdGVtXTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZp
bGVzIGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcg
aG9va3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBmaWxl
YXBpL0RPTUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5c3RlbTo6
Y3JlYXRlKToKKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29u
dHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0
RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29u
bmVjdEZyb250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5o
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6fkluc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQ6OmRpZE9wZW5GaWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudDo6aW52YWxpZGF0ZUZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaDogQWRkZWQuCisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9w
ZW5GaWxlU3lzdGVtKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
T3BlbkZpbGVTeXN0ZW1JbXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2Vu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNl
dEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9y
Q29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tcGls
ZS1mcm9udC1lbmQuc2g6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVt
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1WaWV3
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKwogMjAxMS0xMS0x
NiAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gVXNlIEdRdWFyaydzIGluIHRoZSBBVEsgd3JhcHBlciB0byBnZXQgYW5kIHNldCBhcmJp
dHJhcnkgZGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlM2YwYmRiNTRiMTdmMmVlNDA3MDQ2
MjUwZTUzYmM5ZGExMmY3ZTBjLi4xYjk2YWZmNmFlNmYyOWZlZDNkNTU2ZDkxMDIyNWI3NzU2MTcz
NGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODg3LDYgKzg4Nyw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAKICAgICBp
bnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAKICAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNw
cAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCiAgICAgaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBiNWNjYWQw
MDM4YzMyMmYwOWU5ZDIxMGVkMjBhZWZlYWM1ZDcyM2RiLi4xOGMwM2I5NzY4M2QxYjM1NjgyMjUy
Nzk5OTNlZmY2ZjZiZWQwNzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yNzM0LDYgKzI3MzQsOSBA
QAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCcsCisgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAnLAorICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5z
cGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCcsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwJywKQEAgLTYzMzgsNiArNjM0MSw4
IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25QYW5lbC5qcycs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25SZWdpc3RyeVN0dWIu
anMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpz
JywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW0uanMnLAorICAg
ICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMnLAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRm9udFZpZXcuanMnLAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvR29Ub0xpbmVEaWFsb2cuanMnLAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9mcm9udC1lbmQvSEFSRW50cnkuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDU2YzA1NjMxZDgyMDVkODIxM2E2ODMz
Yzc5N2ZkMmEzODM2YmU1M2QuLjRhMzc4ODNiYTA3NTZjNmYzNDg5NjAzZjgxNTUzZGIwYjQxZjVm
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTMxNyw2ICszMTcsOSBAQAogCQkxNUM3NzA5NDEwMEQzQ0E4MDA1QkEyNjcgLyog
SlNWYWxpZGl0eVN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDE1Qzc3MDkyMTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3Bw
ICovOyB9OwogCQkxNUM3NzBBNTEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MEEz
MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLm1tICovOyB9OwogCQkxNUM3NzBB
NjEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwQTQxMDBENDFDRDAwNUJBMjY3IC8q
IERPTVZhbGlkaXR5U3RhdGUuaCAqLzsgfTsKKwkJMTVEMTdEMjExNDcyMzFFQjAwNUVCQ0E2IC8q
IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QxRTE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50LmNwcCAqLzsgfTsKKwkJMTVEMTdEMjIxNDcyMzFFQjAwNUVCQ0E2IC8q
IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTVEMTdEMUYxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudC5oICovOyB9OworCQkxNUQxN0QyMzE0NzIzMUVCMDA1RUJDQTYgLyogSW5z
cGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVEMTdEMjAxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3Bl
Y3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCAqLzsgfTsKIAkJMTYzRTg4RjcxMThBMzlE
MjAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTYzRTg4RjUxMThBMzlEMjAwRUQ5MjMxIC8q
IFNpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwICovOyB9OwogCQkxNjNFOEIxMzExOEIzQUREMDBF
RDkyMzEgLyogU2ltcGxlRm9udERhdGFBVFNVSS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE2M0U4QjEyMTE4QjNBREQwMEVEOTIzMSAvKiBTaW1wbGVG
b250RGF0YUFUU1VJLm1tICovOyB9OwogCQkxODVCQ0YyODBGMzI3OUNFMDAwRUEyNjIgLyogVGhy
ZWFkVGltZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE4NUJDRjI2MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJlYWRUaW1lcnMuY3BwICovOyB9OwpA
QCAtMTM3NCw2ICsxMzc3LDcgQEAKIAkJNTAzOEJFNDExNDcyQUQ5ODAwOTVFMEQxIC8qIENhY2hl
ZFNoYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTAzOEJFM0YxNDcyQUQ5ODAwOTVFMEQxIC8qIENhY2hlZFNoYWRlci5oICovOyB9OwogCQk1MDhD
Q0E0RjEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTA4Q0NBNEQxM0NGMTA2QjAwMzE1MUYz
IC8qIFJlbmRlckZsb3dUaHJlYWQuaCAqLzsgfTsKIAkJNTA4Q0NBNTAxM0NGMTA2QjAwMzE1MUYz
IC8qIFJlbmRlckZsb3dUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTA4Q0NBNEUxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJl
YWQuY3BwICovOyB9OworCQk1MEI0MjE1ODE0Njk3Njk2MDA4N0U2MDQgLyogV2ViS2l0Q1NTU2hh
ZGVyVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUwQjQyMTU3MTQ2OTc2OTYwMDg3RTYwNCAvKiBXZWJLaXRDU1NTaGFkZXJWYWx1ZS5oICovOyB9
OwogCQk1MEU1NjZENjEzOUUzOEM1MDAyMTQ0MzMgLyogQ1NTV3JhcFNoYXBlcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDFCQUFCMTEzOTUxMTRC
MDBGN0FDRUIgLyogQ1NTV3JhcFNoYXBlcy5jcHAgKi87IH07CiAJCTUxMDE4NDY5MEIwODYwMkEw
MDRBODI1RiAvKiBDYWNoZWRQYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTAxODQ2NzBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMDE4NDZB
MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDE4NDY4MEIwODYwMkEwMDRBODI1RiAvKiBDYWNo
ZWRQYWdlLmNwcCAqLzsgfTsKQEAgLTczODgsNiArNzM5Miw5IEBACiAJCTE1Qzc3MDkyMTAwRDND
QTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNWYWxpZGl0eVN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMTVDNzcwQTMxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01WYWxpZGl0eVN0YXRl
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzBBNDEwMEQ0MUNEMDA1QkEy
NjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBET01WYWxpZGl0eVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE1RDE3
RDFFMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVEMTdEMUYxNDcyMzFFQjAwNUVC
Q0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMTVEMTdEMjAxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0
ZW1JbnN0cnVtZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5z
cGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxNjNFODhGNTExOEEzOUQyMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW1wbGVGb250RGF0
YUNvcmVUZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTYzRThCMTIxMThC
M0FERDAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQVRTVUkubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTaW1wbGVGb250RGF0YUFUU1VJLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxODVCQ0YyNjBGMzI3OUNFMDAwRUEyNjIgLyogVGhyZWFkVGlt
ZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRocmVhZFRpbWVy
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDQ2OCw2ICsxNDQ3NSw5IEBA
CiAJCTFDODFCOTREMEU5NzMyRDkwMDI2NkUwNyAvKiBpbnNwZWN0b3IgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTE1RDE3RDFFMTQ3MjMxRUIwMDVFQkNB
NiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovLAorCQkJCTE1RDE3RDFGMTQ3MjMx
RUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCAqLywKKwkJCQkxNUQxN0Qy
MDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5o
ICovLAogCQkJCTFDODFCOTU5MEU5NzMzMDgwMDI2NkUwNyAvKiBmcm9udC1lbmQgKi8sCiAJCQkJ
NDFGMDYxOEQwRjVGMDY5ODAwQTA3RUFDIC8qIENvbnNvbGVNZXNzYWdlLmNwcCAqLywKIAkJCQk0
MUYwNjE4QzBGNUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuaCAqLywKQEAgLTI0NzE2
LDYgKzI0NzI2LDggQEAKIAkJCQk1MDM4QkMwQjE0NzExRDM0MDA5NUUwRDEgLyogQ3VzdG9tRmls
dGVyT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MDM4QkUzMDE0NzJBRDIzMDA5NUUw
RDEgLyogU3R5bGVDYWNoZWRTaGFkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwMzhCRTQxMTQ3
MkFEOTgwMDk1RTBEMSAvKiBDYWNoZWRTaGFkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTE1RDE3
RDIyMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTE1RDE3RDIzMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lz
dGVtSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI3NTg5LDYgKzI3NjAxLDcg
QEAKIAkJCQk1MDM4QkMwNzE0NzExQ0RCMDA5NUUwRDEgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTAzOEJFMkYxNDcyQUQyMzAwOTVFMEQxIC8qIFN0eWxl
Q2FjaGVkU2hhZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUwMzhCRTQwMTQ3MkFEOTgwMDk1
RTBEMSAvKiBDYWNoZWRTaGFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTVEMTdEMjExNDcy
MzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCmluZGV4IDUxMjY1MzAy
MmNmNjExZjcwOWU3YmZjOWRhZDkxODFjYjQ2NDBjZWYuLmFjMzg2OTAzYjE4ZmJiY2IxYzUwZWE0
NzgyMjIwMTkxMWU3NjcyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9N
RmlsZVN5c3RlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVt
LmNwcApAQCAtNDUsMTIgKzQ1LDIxIEBACiAjaW5jbHVkZSAiRmlsZVdyaXRlci5oIgogI2luY2x1
ZGUgIkZpbGVXcml0ZXJCYXNlQ2FsbGJhY2suaCIKICNpbmNsdWRlICJGaWxlV3JpdGVyQ2FsbGJh
Y2suaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgiCiAj
aW5jbHVkZSAiTWV0YWRhdGFDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorLy8gc3RhdGljCitQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IERPTUZpbGVTeXN0ZW06OmNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUs
IFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCit7CisgICAgUmVm
UHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0oYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0o
Y29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSkpOworICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkT3BlbkZpbGVTeXN0ZW0oZmlsZVN5c3RlbS5nZXQoKSk7CisgICAgcmV0dXJu
IGZpbGVTeXN0ZW07Cit9CisKIERPTUZpbGVTeXN0ZW06OkRPTUZpbGVTeXN0ZW0oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFz
eW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQogICAgIDogRE9NRmlsZVN5c3RlbUJhc2Uo
Y29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKQogICAgICwgQWN0aXZlRE9NT2JqZWN0KGNv
bnRleHQsIHRoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVT
eXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCmluZGV4IDhl
MzU1NjcwZmM0NWRjMzlmMjg1YTIwYzlmNGVjNDZhZTUxNmFiYzYuLjc0ZmE5YWMxODE1ZmQ1ZWNm
MTVlMWM1MGI1ZTAyOTBjYWViNjhhODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvRE9NRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5
c3RlbS5oCkBAIC00NywxMCArNDcsNyBAQCBjbGFzcyBGaWxlV3JpdGVyQ2FsbGJhY2s7CiAKIGNs
YXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMgRE9NRmlsZVN5c3RlbUJhc2UsIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0
ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcm
IG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCi0gICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFt
ZSwgYXN5bmNGaWxlU3lzdGVtKSk7Ci0gICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZp
bGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBu
YW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4pOwogCiAgICAgUGFzc1JlZlB0cjxEaXJl
Y3RvcnlFbnRyeT4gcm9vdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUK
aW5kZXggYTRiODY0MTQ3NDVjMWFjOTgxMzQwMzllMDgxMGI4MzU4MWY1N2JlNi4uYzRmOTVjMzI0
YzQ4ZjE4ZjhmMjJmNWZhNjBmODI4NDAxOTEyOGI4YwotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpAQCAtMTQzLDYgKzE0Myw3IEBAIGNsYXNz
IERvbWFpbk5hbWVGaXhlczoKICAgICAgICAgIkRPTURlYnVnZ2VyIjogImRvbURlYnVnZ2VyQWdl
bnQiLAogICAgICAgICAiUHJvZmlsZXIiOiAicHJvZmlsZXJBZ2VudCIsCiAgICAgICAgICJXb3Jr
ZXIiOiAid29ya2VyQWdlbnQiLAorICAgICAgICAiRmlsZVN5c3RlbSI6ICJmaWxlU3lzdGVtQWdl
bnQiLAogICAgIH0KIAogICAgIGRvbWFpbl9kZWZpbmVfbmFtZV9tYXAgPSB7CkBAIC0xNTEsNiAr
MTUyLDcgQEAgY2xhc3MgRG9tYWluTmFtZUZpeGVzOgogICAgICAgICAiRE9NRGVidWdnZXIiOiAi
RU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICAgICAiUHJvZmlsZXIiOiAiRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICAgICAiV29ya2VyIjogIkVOQUJMRV9XT1JLRVJT
IiwKKyAgICAgICAgIkZpbGVTeXN0ZW0iOiAiRU5BQkxFX0ZJTEVfU1lTVEVNIiwKICAgICB9CiAK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IGUwZDFmYTY5MGEz
NTcwZTcxM2UzNGJkNTkzYmQwOGFmY2NjYWM4ZTEuLjgxNDQyMzhmZTQ5MmQxYmRjYWJkZDlkNjdh
ODNjYmYyYWY5ZmE4YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24K
QEAgLTEwMDksNiArMTAwOSwxNCBAQAogICAgICAgICBdCiAgICAgfSwKICAgICB7CisgICAgICAg
ICJkb21haW4iOiAiRmlsZVN5c3RlbSIsCisgICAgICAgICJoaWRkZW4iOiB0cnVlLAorICAgICAg
ICAiY29tbWFuZHMiOiBbCisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbCisgICAgICAg
IF0KKyAgICB9LAorICAgIHsKICAgICAgICAgImRvbWFpbiI6ICJET00iLAogICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiVGhpcyBkb21haW4gZXhwb3NlcyBET00gcmVhZC93cml0ZSBvcGVyYXRpb25z
LiBFYWNoIERPTSBOb2RlIGlzIHJlcHJlc2VudGVkIHdpdGggaXRzIG1pcnJvciBvYmplY3QgdGhh
dCBoYXMgYW4gPGNvZGU+aWQ8L2NvZGU+LiBUaGlzIDxjb2RlPmlkPC9jb2RlPiBjYW4gYmUgdXNl
ZCB0byBnZXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiB0aGUgTm9kZSwgcmVzb2x2ZSBpdCBp
bnRvIHRoZSBKYXZhU2NyaXB0IG9iamVjdCB3cmFwcGVyLCBldGMuIEl0IGlzIGltcG9ydGFudCB0
aGF0IGNsaWVudCByZWNlaXZlcyBET00gZXZlbnRzIG9ubHkgZm9yIHRoZSBub2RlcyB0aGF0IGFy
ZSBrbm93biB0byB0aGUgY2xpZW50LiBCYWNrZW5kIGtlZXBzIHRyYWNrIG9mIHRoZSBub2RlcyB0
aGF0IHdlcmUgc2VudCB0byB0aGUgY2xpZW50IGFuZCBuZXZlciBzZW5kcyB0aGUgc2FtZSBub2Rl
IHR3aWNlLiBJdCBpcyBjbGllbnQncyByZXNwb25zaWJpbGl0eSB0byBjb2xsZWN0IGluZm9ybWF0
aW9uIGFib3V0IHRoZSBub2RlcyB0aGF0IHdlcmUgc2VudCB0byB0aGUgY2xpZW50LjxwPk5vdGUg
dGhhdCA8Y29kZT5pZnJhbWU8L2NvZGU+IG93bmVyIGVsZW1lbnRzIHdpbGwgcmV0dXJuIGNvcnJl
c3BvbmRpbmcgZG9jdW1lbnQgZWxlbWVudHMgYXMgdGhlaXIgY2hpbGQgbm9kZXMuPC9wPiIsCiAg
ICAgICAgICJ0eXBlcyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmNwcAppbmRleCAxNGEyYWY5MjAwNWJjMjlhNGU4NTBkZjRhNWUzMDlhMGJi
OWI4ZGU2Li41NzhhOWQzZDU5ZTQ4ZDhiNzVkMjVkZWFhMjI5Y2ZiZGZhNDExOGQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC00
OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRlYnVn
Z2VyQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC0xMDQsNiAr
MTA1LDkgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlKiBw
YWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogICAgICwgbV9kYXRhYmFzZUFnZW50KEluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OmNyZWF0ZSht
X2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKQogI2VuZGlmCisjaWYg
RU5BQkxFKEZJTEVfU1lTVEVNKQorICAgICwgbV9maWxlc3lzdGVtQWdlbnQoSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpKSkKKyNlbmRp
ZgogICAgICwgbV9kb21TdG9yYWdlQWdlbnQoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpjcmVh
dGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSkKICAgICAsIG1f
dGltZWxpbmVBZ2VudChJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50
aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSkKICAgICAsIG1fYXBwbGljYXRpb25DYWNo
ZUFnZW50KGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQobV9pbnN0
cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3BhZ2VBZ2VudC5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkp
KQpAQCAtMjA5LDYgKzIxMyw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZy
b250ZW5kKCkKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+
c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CiAjZW5kaWYKKyNpZiBFTkFC
TEUoRklMRV9TWVNURU0pCisgICAgbV9maWxlc3lzdGVtQWdlbnQtPnNldEZyb250ZW5kKG1faW5z
cGVjdG9yRnJvbnRlbmQuZ2V0KCkpOworI2VuZGlmCiAgICAgbV9kb21TdG9yYWdlQWdlbnQtPnNl
dEZyb250ZW5kKG1faW5zcGVjdG9yRnJvbnRlbmQuZ2V0KCkpOwogI2lmIEVOQUJMRShXT1JLRVJT
KQogICAgIG1fd29ya2VyQWdlbnQtPnNldEZyb250ZW5kKG1faW5zcGVjdG9yRnJvbnRlbmQuZ2V0
KCkpOwpAQCAtMjM2LDYgKzI0Myw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVj
dEZyb250ZW5kKCkKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICAgICAgbV9k
ZWJ1Z2dlckFnZW50LmdldCgpLAogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAg
ICAgICBtX2ZpbGVzeXN0ZW1BZ2VudC5nZXQoKSwKKyNlbmRpZgogICAgICAgICBtX3Jlc291cmNl
QWdlbnQuZ2V0KCksCiAgICAgICAgIG1fcGFnZUFnZW50LmdldCgpLAogI2lmIEVOQUJMRShKQVZB
U0NSSVBUX0RFQlVHR0VSKQpAQCAtMjgwLDYgKzI5MCw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJv
bGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKCkKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAg
IG1fZGF0YWJhc2VBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwogI2VuZGlmCisjaWYgRU5BQkxFKEZJ
TEVfU1lTVEVNKQorICAgIG1fZmlsZXN5c3RlbUFnZW50LT5jbGVhckZyb250ZW5kKCk7CisjZW5k
aWYKICAgICBtX2RvbVN0b3JhZ2VBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwogICAgIG1fcGFnZUFn
ZW50LT5jbGVhckZyb250ZW5kKCk7CiAjaWYgRU5BQkxFKFdPUktFUlMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA3NjVjYWRmYzJmNzRk
NWQ2MDk5MmU2YzI3MmZjZWM0Zjk1YWZlZWE2Li4yYmE5MmM5MjNmMmIyYzg4MjlkNzRkMDlmZTBm
YzQxNTI1MTM0YWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmgKQEAgLTUzLDYgKzUzLDcgQEAgY2xhc3MgSW5zcGVjdG9yRE9NRGVidWdnZXJB
Z2VudDsKIGNsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRh
dGFiYXNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OworY2xhc3MgSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CiBjbGFzcyBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudDsKIGNsYXNzIEluc3BlY3RvclBhZ2VBZ2VudDsKQEAgLTEzNyw2
ICsxMzgsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgT3duUHRy
PEluc3BlY3RvckRhdGFiYXNlQWdlbnQ+IG1fZGF0YWJhc2VBZ2VudDsKICNlbmRpZgorI2lmIEVO
QUJMRShGSUxFX1NZU1RFTSkKKyAgICBPd25QdHI8SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50PiBt
X2ZpbGVzeXN0ZW1BZ2VudDsKKyNlbmRpZgogICAgIE93blB0cjxJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQ+IG1fZG9tU3RvcmFnZUFnZW50OwogICAgIE93blB0cjxJbnNwZWN0b3JUaW1lbGluZUFn
ZW50PiBtX3RpbWVsaW5lQWdlbnQ7CiAgICAgT3duUHRyPEluc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudD4gbV9hcHBsaWNhdGlvbkNhY2hlQWdlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0
NDg3YWMyZWM2NTViNmRjM2VhODUzOTg0MGNiMWQ1MTFjOWY2ZTIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcApA
QCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudC5oIgorCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorCisj
aWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKKy8vIHN0YXRpYworUGFzc093blB0cjxJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQ+IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6Y3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMpCit7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cykpOworfQorCitJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQ6On5JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoKQoreworICAgIG1faW5z
dHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KDApOworfQorCit2
b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6ZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0
cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtKQoreworfQorCit2b2lkIEluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudDo6aW52YWxpZGF0ZUZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVt
PiBmaWxlU3lzdGVtKQoreworfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6c2V0
RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQoreworICAgIG1fZnJvbnRlbmQg
PSBmcm9udGVuZC0+ZmlsZXN5c3RlbSgpOworfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudDo6Y2xlYXJGcm9udGVuZCgpCit7CisgICAgbV9mcm9udGVuZCA9IDA7Cit9CisKK0luc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudDo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMpCisgICAgOiBtX2luc3RydW1lbnRpbmdBZ2Vu
dHMoaW5zdHJ1bWVudGluZ0FnZW50cyksCisgICAgICBtX2Zyb250ZW5kKDApCit7CisgICAgbV9p
bnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQodGhpcyk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
ICYmIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTk0YTQ4ZTkzZWM5NTk0
NGI2MWEyNjk0ODgwYWYzYjVjOTNiMTU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oCkBAIC0wLDAgKzEsNjYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudF9oCisjZGVmaW5lIEluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudF9oCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKEZJTEVfU1lTVEVN
KQorCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKworI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgRE9NRmlsZVN5c3RlbTsKK2NsYXNzIEluc3BlY3RvckZyb250ZW5kOworY2xh
c3MgSW5zdHJ1bWVudGluZ0FnZW50czsKKworY2xhc3MgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKik7CisgICAgdmlydHVhbCB+SW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50KCk7CisKKyAgICB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQ
dHI8RE9NRmlsZVN5c3RlbT4pOworICAgIHZvaWQgaW52YWxpZGF0ZUZpbGVTeXN0ZW0oUGFzc1Jl
ZlB0cjxET01GaWxlU3lzdGVtPik7CisKKyAgICB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZy
b250ZW5kKik7CisgICAgdm9pZCBjbGVhckZyb250ZW5kKCk7CisKK3ByaXZhdGU6CisgICAgSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqKTsKKworICAgIEluc3Ry
dW1lbnRpbmdBZ2VudHMqIG1faW5zdHJ1bWVudGluZ0FnZW50czsKKyAgICBJbnNwZWN0b3JGcm9u
dGVuZDo6RmlsZVN5c3RlbSogbV9mcm9udGVuZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShGSUxFX1NZU1RFTSkK
KyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0
aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTQ5OWNhNWY3NjAwNmZlNDQ2ZjkwZTdhNzYzODIxMjFmMzQwMjRh
MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
aWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVj
dG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbl9oCisjZGVmaW5lIEluc3BlY3RvckZpbGVTeXN0
ZW1JbnN0cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVT
eXN0ZW0pCit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0
KGZpbGVTeXN0ZW0tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgIGRpZE9wZW5G
aWxlU3lzdGVtSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBmaWxlU3lzdGVtKTsKKyNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQorfQorI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gSW5zcGVjdG9yRmlsZVN5c3RlbUlu
c3RydW1lbnRhdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IGJkMmI5ZTUwZTQ5ZDQ4NTAyYTA5NzZlZGYy
YWY4OTIxMDEyZmNiN2MuLmE2MjlhNjI2YTU2Yzk0Mzk2NWY2YjVkZTU2YmJlODExMjcyMWVkMDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdl
bnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclJlc291cmNlQWdlbnQuaCIK
QEAgLTc3MCw2ICs3NzEsMTcgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9w
ZW5EYXRhYmFzZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWUKIH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZE9wZW5GaWxlU3lzdGVtSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzLCBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7CisgICAgSW5z
cGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVj
dG9yQWdlbnQoKTsKKyAgICBpZiAoIWluc3BlY3RvckFnZW50IHx8ICFpbnNwZWN0b3JBZ2VudC0+
ZW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKEluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudCogZmlsZVN5c3RlbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50KCkpCisgICAgICAgIGZpbGVTeXN0ZW1BZ2VudC0+ZGlkT3BlbkZpbGVTeXN0
ZW0oZmlsZVN5c3RlbSk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCiB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgU3RvcmFnZUFyZWEqIHN0b3JhZ2VBcmVh
LCBib29sIGlzTG9jYWxTdG9yYWdlLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgSW5zcGVjdG9yQWdl
bnQqIGluc3BlY3RvckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQWdlbnQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaAppbmRleCBhNjIwMjdkYzYzODM4ODBlMGM4ZDc4YjlmMzRhMGUzMWRiNjJiZDIxLi4x
MTg2Yzc1Y2JkMjQ5MjhjYmI4OWUyYTg2Y2ZiYTNmMGM0ZGIzNGY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zMyw2
ICszMyw3IEBACiAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNvbnNvbGVU
eXBlcy5oIgorI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJEb2N1bWVudC5o
IgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNDIsNiArNDMs
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDaGFyYWN0ZXJEYXRhOworY2xhc3Mg
RE9NRmlsZVN5c3RlbTsKIGNsYXNzIERPTVdpbmRvdzsKIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsK
IGNsYXNzIERhdGFiYXNlOwpAQCAtMTcyLDYgKzE3NCwxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRy
PERhdGFiYXNlPiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB2ZXJzaW9uKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQor
ICAgIHN0YXRpYyB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3Rl
bT4pOworI2VuZGlmCisKICAgICBzdGF0aWMgdm9pZCBkaWRVc2VET01TdG9yYWdlKFBhZ2UqLCBT
dG9yYWdlQXJlYSosIGJvb2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKik7CiAKICNpZiBFTkFCTEUo
V09SS0VSUykKQEAgLTMwNCw2ICszMTAsMTAgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBk
aWRPcGVuRGF0YWJhc2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVmUHRyPERhdGFi
YXNlPiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB2ZXJzaW9uKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIHN0
YXRpYyB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUGFz
c1JlZlB0cjxET01GaWxlU3lzdGVtPik7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIGRpZFVz
ZURPTVN0b3JhZ2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBTdG9yYWdlQXJlYSosIGJvb2wg
aXNMb2NhbFN0b3JhZ2UsIEZyYW1lKik7CiAKICNpZiBFTkFCTEUoV09SS0VSUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCmluZGV4IDdjZDdmN2Ey
YWVjYWNmNjBiOGRhZjE2MDE0MmE5YTgxMzBhNmZhYzUuLjcxZGJlNDRlODNlYzc2ZWNjM2JlYWQz
MmU1MmNiYmVkYTcwYTU4ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuaApAQCAtNDYsNiArNDYsNyBAQCBjbGFzcyBJbnNwZWN0b3JET01BZ2Vu
dDsKIGNsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRhdGFi
YXNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OworY2xhc3MgSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50OwogY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsKIGNsYXNzIElu
c3BlY3RvclJlc291cmNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JSdW50aW1lQWdlbnQ7CkBAIC03
MSw2ICs3Miw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICAs
IG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgwKQogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lT
VEVNKQorICAgICAgICAsIG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KDApCisjZW5kaWYKICAg
ICAgICAgLCBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgwKQogI2lmIEVOQUJMRShK
QVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICAgICAsIG1faW5zcGVjdG9yRGVidWdnZXJBZ2VudCgw
KQpAQCAtMTE0LDcgKzExOCwxMCBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2Vu
dCogaW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRGF0
YWJhc2VBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yRGF0YWJhc2VBZ2VudChJbnNwZWN0
b3JEYXRhYmFzZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckRhdGFiYXNlQWdlbnQgPSBhZ2Vu
dDsgfQogI2VuZGlmCi0KKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50KiBpbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoKSBjb25zdCB7IHJldHVybiBt
X2luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yRmlsZVN5
c3RlbUFnZW50KEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQgPSBhZ2VudDsgfQorI2VuZGlmCiAgICAgSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50KiBpbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoKSBjb25zdCB7IHJl
dHVybiBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dCogYWdlbnQpIHsgbV9pbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQgPSBhZ2VudDsgfQog
CkBAIC0xNDYsNiArMTUzLDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQog
ICAgIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKICNl
bmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQqIG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OworI2VuZGlmCiAgICAgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50KiBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDsKICNp
ZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50
KiBtX2luc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggZTFmNDU5NzEwY2Uw
MWEzNjg5MGFkNzZjNDM3NTAwYWY3MGZjNzgzNC4uYmMyZWY3ZGYyYzRlYzI0ODYzNGRjNGJjMTJh
ZjEyNjNiZWMxM2JiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtl
ckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMTU1LDYgKzE1NSw5IEBAIHZvaWQgV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKICNpZiBFTkFCTEUoSkFW
QVNDUklQVF9ERUJVR0dFUikKICAgICAgICAgbV9kZWJ1Z2dlckFnZW50LmdldCgpLAogI2VuZGlm
CisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgICAgICAwLCAvLyBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQKKyNlbmRpZgogICAgICAgICAwLCAvLyBJbnNwZWN0b3JSZXNvdXJjZUFnZW50CiAg
ICAgICAgIDAsIC8vIEluc3BlY3RvclBhZ2VBZ2VudAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RF
QlVHR0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJv
bnQtZW5kLnNoIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnNo
CmluZGV4IDM3MDVjZjEzMTgxNzczOTJkMDAxMzJkYTVlMWM5OGY5NTExYjk5ZTIuLjcxZWE5YzYz
MWNhZTUxZjkwNGEyYjhiN2Q1ZDgwMWUyYWNiZTY0MWIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5zaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2gKQEAgLTYwLDYgKzYwLDcgQEAgamF2YSAtamFy
IH4vY2xvc3VyZS9jb21waWxlci5qYXIgLS1zdW1tYXJ5X2RldGFpbF9sZXZlbCAzIC0tY29tcGls
YXRpb25fbGV2ZWwgU0kKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RPTVN0b3JhZ2UuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzIFwK
KyAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0
ZW0uanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SEFSRW50cnkuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvTmV0d29ya0xvZy5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TY3JpcHQuanMgXApAQCAtMTQ3LDYgKzE0OCw3IEBAIGphdmEgLWphciB+
L2Nsb3N1cmUvY29tcGlsZXIuamFyIC0tc3VtbWFyeV9kZXRhaWxfbGV2ZWwgMyAtLWNvbXBpbGF0
aW9uX2xldmVsIFNJCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EYXRhYmFzZVF1ZXJ5Vmlldy5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZVRhYmxlVmlldy5qcyBcCiAgICAgICAgIC0tanMg
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdlSXRlbXNWaWV3Lmpz
IFwKKyAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVT
eXN0ZW1WaWV3LmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzIFwKICAgICAtLW1vZHVsZSBqc21vZHVsZV9zY3JpcHRz
Ojg6anNtb2R1bGVfY29tcG9uZW50cyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcyBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW0uanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW0uanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTAw
NmI1ODljNTVmNjE0YWIxOTBjNGM4YWJlZjRkYmY0N2ZkZDk2MwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbS5qcwpAQCAtMCww
ICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmls
ZVN5c3RlbVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVT
eXN0ZW1WaWV3LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwMDZiNTg5YzU1ZjYxNGFiMTkwYzRjOGFiZWY0ZGJm
NDdmZGQ5NjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0ZpbGVTeXN0ZW1WaWV3LmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IDc2ZmE0MzI4YjUwMWUxZWFmN2Qw
NThiMDgyYmJlMTU1NzM5Y2NjMjAuLmFiYmVjOTNlOTQwMGI5N2YyZjg4MjY0YjE0NTg5NDgzNTc2
YWZiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2Vi
S2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5x
cmMKQEAgLTU0LDYgKzU0LDggQEAKICAgICA8ZmlsZT5FeHRlbnNpb25QYW5lbC5qczwvZmlsZT4K
ICAgICA8ZmlsZT5FeHRlbnNpb25SZWdpc3RyeVN0dWIuanM8L2ZpbGU+CiAgICAgPGZpbGU+RXh0
ZW5zaW9uU2VydmVyLmpzPC9maWxlPgorICAgIDxmaWxlPkZpbGVTeXN0ZW0uanM8L2ZpbGU+Cisg
ICAgPGZpbGU+RmlsZVN5c3RlbVZpZXcuanM8L2ZpbGU+CiAgICAgPGZpbGU+Rm9udFZpZXcuanM8
L2ZpbGU+CiAgICAgPGZpbGU+R29Ub0xpbmVEaWFsb2cuanM8L2ZpbGU+CiAgICAgPGZpbGU+SEFS
RW50cnkuanM8L2ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuaHRtbAppbmRleCA3NmEyMWI5YTY4MDg5M2FhM2ZiNzFlZThiMzY4ZTlkMzRl
MjA4YTdkLi5mMTc4ZTk1OGRhZTU3NGMxZDkyMTM4N2E3ZDMyZjRhODE0MTYwNGY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAg
LTc0LDYgKzc0LDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJET01TdG9yYWdlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJET01TdG9yYWdlSXRlbXNWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJEYXRhR3JpZC5qcyI+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRmlsZVN5c3RlbS5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU2hvd01v
cmVEYXRhR3JpZE5vZGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9IkNvb2tpZXNUYWJsZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29va2llSXRlbXNWaWV3LmpzIj48L3NjcmlwdD4KQEAg
LTE0Nyw2ICsxNDgsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9IkltYWdlVmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iRGF0YWJhc2VUYWJsZVZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRhdGFiYXNlUXVlcnlWaWV3LmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJGaWxlU3lz
dGVtVmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iUHJvZmlsZURhdGFHcmlkVHJlZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQm90dG9tVXBQcm9maWxlRGF0YUdyaWRUcmVlLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJUb3BEb3du
UHJvZmlsZURhdGFHcmlkVHJlZS5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115540</attachid>
            <date>2011-11-17 01:04:19 -0800</date>
            <delta_ts>2011-11-18 11:00:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72456-20111117180417.patch</filename>
            <type>text/plain</type>
            <size>33711</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmUwM2RjZDUzNWM0NGRk
ZDY3NWRlNTE5MzA4Njg4MTZiZmUxZjViMC4uZmEyNjNkMDlhYzA1OGIyMDJlM2RmMzQzMjhkN2Yz
MmNhYzY3ZDY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDExLTExLTE3ICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW5zcGVjdG9yXVtGaWxl
U3lzdGVtXTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZp
bGVzIGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcg
aG9va3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0
ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5c3RlbTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29kZUdl
bmVyYXRvckluc3BlY3Rvci5weToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6fkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmRpZE9wZW5GaWxl
U3lzdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6aW52
YWxpZGF0ZUZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50OjpkaXNhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dDo6c2V0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudDo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVuRmlsZVN5c3RlbSk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5GaWxlU3lzdGVtSW1wbCk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJ
bnN0cnVtZW50aW5nQWdlbnRzOjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Omluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RG
cm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisK
IDIwMTEtMTEtMTYgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIElt
cGxlbWVudCBmaWx0ZXIgZnVuY3Rpb24gc2hvcnRoYW5kcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBlODYxNjJiMDE5MWFjMzQwOWFkMmJhNDI4MmUyNjRiNDY2ZTIwYzQwLi45NjVkZWUzMGU3OTYy
NDY3YjMyNTZmNzgwMDg4OTMyYjgxNTg1ODFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODg3
LDYgKzg4Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
RGF0YWJhc2VBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJj
ZS5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKyAgICBpbnNw
ZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZEhvc3QuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCBmYTQzM2E5Mjc3MjlkMzM3OWEyNGE0NDViMTM2NTY0MjI5MmQ1YWRl
Li43YmEyNWE5YjZiYTYxYjE3MTI5MjljZjE2MmM3MThjODM0MmY3ZjdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCkBAIC0yNzMyLDYgKzI3MzIsOSBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JEYXRhYmFzZVJlc291cmNlLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckRlYnVn
Z2VyQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudC5jcHAnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVt
ZW50YXRpb24uaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hh
bm5lbC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbC5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggNjQ5NzAxZjBiZDUwNWE4MzE4NTE1ZDFhNWU4YWVhMzc0YTM2OWQxZS4uYmZmYzU1ZTAyMDk4
Y2QyZTMxZjE3YWNmOGE4NzA3MWJlZjQ1ODFjYiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTY4NDMwLDYgKzY4NDMwLDE4IEBACiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Lmgi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3Bl
Y3RvclxJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgiCisJCQkJPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzczY2UwMGQxNjk5NTQz
YzhhMTU1MzhiNzNiYzE1ZjllMTQ5ZGYwOS4uMGM2ZDFhYTUyMGE2MTQyNDIxMzg3YWM0NjgxNWI2
NmIxNmJkYjU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMzE3LDYgKzMxNyw5IEBACiAJCTE1Qzc3MDk0MTAwRDNDQTgwMDVC
QTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwOTIxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlT
dGF0ZS5jcHAgKi87IH07CiAJCTE1Qzc3MEE1MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0
eVN0YXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTVDNzcwQTMxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUubW0gKi87IH07CiAJ
CTE1Qzc3MEE2MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzBBNDEwMEQ0MUNEMDA1
QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5oICovOyB9OworCQkxNUQxN0QyMTE0NzIzMUVCMDA1
RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1RDE3RDFFMTQ3MjMxRUIwMDVFQkNBNiAvKiBJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovOyB9OworCQkxNUQxN0QyMjE0NzIzMUVCMDA1
RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QxRjE0NzIzMUVCMDA1RUJDQTYgLyogSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50LmggKi87IH07CisJCTE1RDE3RDIzMTQ3MjMxRUIwMDVFQkNB
NiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYg
LyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oICovOyB9OwogCQkxNjNFODhG
NzExOEEzOUQyMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNjNFODhGNTExOEEzOUQyMDBF
RDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgKi87IH07CiAJCTE2M0U4QjEzMTE4
QjNBREQwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUFUU1VJLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTYzRThCMTIxMThCM0FERDAwRUQ5MjMxIC8q
IFNpbXBsZUZvbnREYXRhQVRTVUkubW0gKi87IH07CiAJCTE4NUJDRjI4MEYzMjc5Q0UwMDBFQTI2
MiAvKiBUaHJlYWRUaW1lcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTg1QkNGMjYwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5jcHAg
Ki87IH07CkBAIC0xMzc5LDYgKzEzODIsNyBAQAogCQk1MDM4QkU0MTE0NzJBRDk4MDA5NUUwRDEg
LyogQ2FjaGVkU2hhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MDM4QkUzRjE0NzJBRDk4MDA5NUUwRDEgLyogQ2FjaGVkU2hhZGVyLmggKi87IH07
CiAJCTUwOENDQTRGMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDhDQ0E0RDEzQ0YxMDZC
MDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5oICovOyB9OwogCQk1MDhDQ0E1MDEzQ0YxMDZC
MDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDhDQ0E0RTEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVy
Rmxvd1RocmVhZC5jcHAgKi87IH07CisJCTUwQjQyMTU4MTQ2OTc2OTYwMDg3RTYwNCAvKiBXZWJL
aXRDU1NTaGFkZXJWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTBCNDIxNTcxNDY5NzY5NjAwODdFNjA0IC8qIFdlYktpdENTU1NoYWRlclZhbHVl
LmggKi87IH07CiAJCTUwRTU2NkQ2MTM5RTM4QzUwMDIxNDQzMyAvKiBDU1NXcmFwU2hhcGVzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwMUJBQUIx
MTM5NTExNEIwMEY3QUNFQiAvKiBDU1NXcmFwU2hhcGVzLmNwcCAqLzsgfTsKIAkJNTEwMTg0Njkw
QjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDE4NDY3MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQ
YWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NTEwMTg0NkEwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMTg0NjgwQjA4NjAyQTAwNEE4MjVG
IC8qIENhY2hlZFBhZ2UuY3BwICovOyB9OwpAQCAtNzM5Miw2ICs3Mzk2LDkgQEAKIAkJMTVDNzcw
OTIxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1ZhbGlkaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxNUM3NzBBMzEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlT
dGF0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVZhbGlk
aXR5U3RhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MEE0MTAwRDQx
Q0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTVZhbGlkaXR5U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMTVEMTdEMUUxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNUQxN0QxRjE0NzIz
MUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9y
RmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTE2M0U4OEY1MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0
YUNvcmVUZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXBs
ZUZvbnREYXRhQ29yZVRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNjNF
OEIxMjExOEIzQUREMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFBVFNVSS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNpbXBsZUZvbnREYXRhQVRTVUkubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE4NUJDRjI2MEYzMjc5Q0UwMDBFQTI2MiAvKiBU
aHJlYWRUaW1lcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGhy
ZWFkVGltZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTE5LDYgKzE0
NTI2LDkgQEAKIAkJCQk3QTc0RUNCOTEwMTgzOUE2MDBCRjkzOUUgLyogSW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50LmggKi8sCiAJCQkJNDFGMDYxNzMwRjVGMDBBQzAwQTA3RUFDIC8qIEluc3BlY3Rv
ckRPTVN0b3JhZ2VSZXNvdXJjZS5jcHAgKi8sCiAJCQkJNDFGMDYxNzIwRjVGMDBBQzAwQTA3RUFD
IC8qIEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oICovLAorCQkJCTE1RDE3RDFFMTQ3MjMx
RUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovLAorCQkJCTE1RDE3
RDFGMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCAqLywKKwkJ
CQkxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1l
bnRhdGlvbi5oICovLAogCQkJCTIyNzc3NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwuaCAqLywKIAkJCQlGMzQ0QzcxMjExMjVCODJDMDBGMjZFRUUgLyogSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQuaCAqLywKIAkJCQlGMzQ0Qzc1NzExMjk0RkY2MDBGMjZFRUUg
LyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgKi8sCkBAIC0yMzA1MCw2ICsyMzA2
MCw4IEBACiAJCQkJRjNENEM0NzkxMkUwNzY2MzAwM0RBMTUwIC8qIEluc3BlY3RvckRPTURlYnVn
Z2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNzRFQ0JCMTAxODM5QTYwMEJGOTM5RSAv
KiBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjA2MTc0
MEY1RjAwQUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTE1RDE3RDIyMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE1RDE3RDIzMTQ3MjMxRUIwMDVFQkNBNiAv
KiBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyMjc3Nzc2MDEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGMzQ0QzcxNDExMjVCODJDMDBGMjZFRUUgLyogSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNDRDNzUzMTEyOTREOUQwMEYy
NkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggaW4gSGVhZGVycyAqLywKQEAg
LTI2MDI1LDYgKzI2MDM3LDcgQEAKIAkJCQlGM0Q0QzQ3ODEyRTA3NjYzMDAzREExNTAgLyogSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTc0RUNCQTEw
MTgzOUE2MDBCRjkzOUUgLyogSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTQxRjA2MTc1MEY1RjAwQUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdl
UmVzb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTVEMTdEMjExNDcyMzFFQjAwNUVCQ0E2
IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RjRG
NUZGQjExQ0JEMkUxMDBBMTg2QkYgLyogSW5zcGVjdG9yRnJvbnRlbmQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRjM0NEM3NTgxMTI5NEZGNjAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0EwRTc3MEUxMEMwMEE4ODAwQTAyNzZF
IC8qIEluc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCmluZGV4IDUxMjY1MzAyMmNmNjExZjcwOWU3YmZj
OWRhZDkxODFjYjQ2NDBjZWYuLmFjMzg2OTAzYjE4ZmJiY2IxYzUwZWE0NzgyMjIwMTkxMWU3Njcy
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcApAQCAtNDUsMTIg
KzQ1LDIxIEBACiAjaW5jbHVkZSAiRmlsZVdyaXRlci5oIgogI2luY2x1ZGUgIkZpbGVXcml0ZXJC
YXNlQ2FsbGJhY2suaCIKICNpbmNsdWRlICJGaWxlV3JpdGVyQ2FsbGJhY2suaCIKKyNpbmNsdWRl
ICJJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTWV0YWRh
dGFDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gc3RhdGljCitQ
YXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IERPTUZpbGVTeXN0ZW06OmNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5
bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCit7CisgICAgUmVmUHRyPERPTUZpbGVTeXN0
ZW0+IGZpbGVTeXN0ZW0oYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwg
YXN5bmNGaWxlU3lzdGVtKSkpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3Bl
bkZpbGVTeXN0ZW0oZmlsZVN5c3RlbS5nZXQoKSk7CisgICAgcmV0dXJuIGZpbGVTeXN0ZW07Cit9
CisKIERPTUZpbGVTeXN0ZW06OkRPTUZpbGVTeXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4g
YXN5bmNGaWxlU3lzdGVtKQogICAgIDogRE9NRmlsZVN5c3RlbUJhc2UoY29udGV4dCwgbmFtZSwg
YXN5bmNGaWxlU3lzdGVtKQogICAgICwgQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBiL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCmluZGV4IDhlMzU1NjcwZmM0NWRjMzlm
Mjg1YTIwYzlmNGVjNDZhZTUxNmFiYzYuLjc0ZmE5YWMxODE1ZmQ1ZWNmMTVlMWM1MGI1ZTAyOTBj
YWViNjhhODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3Rl
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCkBAIC00Nywx
MCArNDcsNyBAQCBjbGFzcyBGaWxlV3JpdGVyQ2FsbGJhY2s7CiAKIGNsYXNzIERPTUZpbGVTeXN0
ZW0gOiBwdWJsaWMgRE9NRmlsZVN5c3RlbUJhc2UsIHB1YmxpYyBBY3RpdmVET01PYmplY3Qgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25Q
dHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCi0gICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lz
dGVtKSk7Ci0gICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRy
PEFzeW5jRmlsZVN5c3RlbT4pOwogCiAgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeT4gcm9v
dCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRv
ckluc3BlY3Rvci5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5z
cGVjdG9yLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggYTRiODY0MTQ3
NDVjMWFjOTgxMzQwMzllMDgxMGI4MzU4MWY1N2JlNi4uYzRmOTVjMzI0YzQ4ZjE4ZjhmMjJmNWZh
NjBmODI4NDAxOTEyOGI4YwotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVy
YXRvckluc3BlY3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVy
YXRvckluc3BlY3Rvci5weQpAQCAtMTQzLDYgKzE0Myw3IEBAIGNsYXNzIERvbWFpbk5hbWVGaXhl
czoKICAgICAgICAgIkRPTURlYnVnZ2VyIjogImRvbURlYnVnZ2VyQWdlbnQiLAogICAgICAgICAi
UHJvZmlsZXIiOiAicHJvZmlsZXJBZ2VudCIsCiAgICAgICAgICJXb3JrZXIiOiAid29ya2VyQWdl
bnQiLAorICAgICAgICAiRmlsZVN5c3RlbSI6ICJmaWxlU3lzdGVtQWdlbnQiLAogICAgIH0KIAog
ICAgIGRvbWFpbl9kZWZpbmVfbmFtZV9tYXAgPSB7CkBAIC0xNTEsNiArMTUyLDcgQEAgY2xhc3Mg
RG9tYWluTmFtZUZpeGVzOgogICAgICAgICAiRE9NRGVidWdnZXIiOiAiRU5BQkxFX0pBVkFTQ1JJ
UFRfREVCVUdHRVIiLAogICAgICAgICAiUHJvZmlsZXIiOiAiRU5BQkxFX0pBVkFTQ1JJUFRfREVC
VUdHRVIiLAogICAgICAgICAiV29ya2VyIjogIkVOQUJMRV9XT1JLRVJTIiwKKyAgICAgICAgIkZp
bGVTeXN0ZW0iOiAiRU5BQkxFX0ZJTEVfU1lTVEVNIiwKICAgICB9CiAKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IGUwZDFmYTY5MGEzNTcwZTcxM2UzNGJkNTkz
YmQwOGFmY2NjYWM4ZTEuLjM0NzMzMTlkZDE1OWNiM2NhY2IyOWFjNDEyZGEwMmNkNGVjYWVhZWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTEwMDksNiArMTAw
OSwyMiBAQAogICAgICAgICBdCiAgICAgfSwKICAgICB7CisgICAgICAgICJkb21haW4iOiAiRmls
ZVN5c3RlbSIsCisgICAgICAgICJoaWRkZW4iOiB0cnVlLAorICAgICAgICAiY29tbWFuZHMiOiBb
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZW5hYmxlIiwKKyAgICAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBmaWxlU3lzdGVtQWRkZWQgbm90aWZp
Y2F0aW9uLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Im5hbWUiOiAiZGlzYWJsZSIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2Fi
bGVzIGZpbGVTeXN0ZW1BZGRlZCBub3RpZmljYXRpb24uIgorICAgICAgICAgICAgfQorICAgICAg
ICBdLAorICAgICAgICAiZXZlbnRzIjogWworICAgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAg
ICAgICJkb21haW4iOiAiRE9NIiwKICAgICAgICAgImRlc2NyaXB0aW9uIjogIlRoaXMgZG9tYWlu
IGV4cG9zZXMgRE9NIHJlYWQvd3JpdGUgb3BlcmF0aW9ucy4gRWFjaCBET00gTm9kZSBpcyByZXBy
ZXNlbnRlZCB3aXRoIGl0cyBtaXJyb3Igb2JqZWN0IHRoYXQgaGFzIGFuIDxjb2RlPmlkPC9jb2Rl
Pi4gVGhpcyA8Y29kZT5pZDwvY29kZT4gY2FuIGJlIHVzZWQgdG8gZ2V0IGFkZGl0aW9uYWwgaW5m
b3JtYXRpb24gb24gdGhlIE5vZGUsIHJlc29sdmUgaXQgaW50byB0aGUgSmF2YVNjcmlwdCBvYmpl
Y3Qgd3JhcHBlciwgZXRjLiBJdCBpcyBpbXBvcnRhbnQgdGhhdCBjbGllbnQgcmVjZWl2ZXMgRE9N
IGV2ZW50cyBvbmx5IGZvciB0aGUgbm9kZXMgdGhhdCBhcmUga25vd24gdG8gdGhlIGNsaWVudC4g
QmFja2VuZCBrZWVwcyB0cmFjayBvZiB0aGUgbm9kZXMgdGhhdCB3ZXJlIHNlbnQgdG8gdGhlIGNs
aWVudCBhbmQgbmV2ZXIgc2VuZHMgdGhlIHNhbWUgbm9kZSB0d2ljZS4gSXQgaXMgY2xpZW50J3Mg
cmVzcG9uc2liaWxpdHkgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbm9kZXMgdGhh
dCB3ZXJlIHNlbnQgdG8gdGhlIGNsaWVudC48cD5Ob3RlIHRoYXQgPGNvZGU+aWZyYW1lPC9jb2Rl
PiBvd25lciBlbGVtZW50cyB3aWxsIHJldHVybiBjb3JyZXNwb25kaW5nIGRvY3VtZW50IGVsZW1l
bnRzIGFzIHRoZWlyIGNoaWxkIG5vZGVzLjwvcD4iLAogICAgICAgICAidHlwZXMiOiBbCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXgg
MTRhMmFmOTIwMDViYzI5YTRlODUwZGY0YTVlMzA5YTBiYjliOGRlNi4uNTc4YTlkM2Q1OWU0OGQ4
Yjc1ZDI1ZGVhYTIyOWNmYmRmYTQxMThkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUg
Ikluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRhdGFiYXNl
QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgiCisjaW5jbHVkZSAi
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oIgpAQCAtMTA0LDYgKzEwNSw5IEBAIEluc3BlY3RvckNvbnRy
b2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBp
bnNwZWN0b3JDCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAsIG1fZGF0YWJhc2VBZ2Vu
dChJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdl
dCgpLCBtX3N0YXRlLmdldCgpKSkKICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAg
ICAsIG1fZmlsZXN5c3RlbUFnZW50KEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6Y3JlYXRlKG1f
aW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSkpCisjZW5kaWYKICAgICAsIG1fZG9tU3RvcmFnZUFn
ZW50KEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50
cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpCiAgICAgLCBtX3RpbWVsaW5lQWdlbnQoSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0
ZS5nZXQoKSkpCiAgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVBZ2VudChhZG9wdFB0cihuZXcgSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwg
bV9wYWdlQWdlbnQuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKSkKQEAgLTIwOSw2ICsyMTMsOSBAQCB2
b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKICAgICBtX2RhdGFiYXNlQWdlbnQtPnNldEZyb250ZW5kKG1faW5zcGVjdG9y
RnJvbnRlbmQuZ2V0KCkpOwogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIG1f
ZmlsZXN5c3RlbUFnZW50LT5zZXRGcm9udGVuZChtX2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsK
KyNlbmRpZgogICAgIG1fZG9tU3RvcmFnZUFnZW50LT5zZXRGcm9udGVuZChtX2luc3BlY3RvckZy
b250ZW5kLmdldCgpKTsKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBtX3dvcmtlckFnZW50LT5z
ZXRGcm9udGVuZChtX2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKQEAgLTIzNiw2ICsyNDMsOSBA
QCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAjaWYgRU5BQkxF
KEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgICAgIG1fZGVidWdnZXJBZ2VudC5nZXQoKSwKICNl
bmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICAgICAgbV9maWxlc3lzdGVtQWdlbnQu
Z2V0KCksCisjZW5kaWYKICAgICAgICAgbV9yZXNvdXJjZUFnZW50LmdldCgpLAogICAgICAgICBt
X3BhZ2VBZ2VudC5nZXQoKSwKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKQEAgLTI4
MCw2ICsyOTAsOSBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVu
ZCgpCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBtX2RhdGFiYXNlQWdlbnQtPmNsZWFy
RnJvbnRlbmQoKTsKICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBtX2ZpbGVz
eXN0ZW1BZ2VudC0+Y2xlYXJGcm9udGVuZCgpOworI2VuZGlmCiAgICAgbV9kb21TdG9yYWdlQWdl
bnQtPmNsZWFyRnJvbnRlbmQoKTsKICAgICBtX3BhZ2VBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwog
I2lmIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmgKaW5kZXggNzY1Y2FkZmMyZjc0ZDVkNjA5OTJlNmMyNzJmY2VjNGY5NWFm
ZWVhNi4uMmJhOTJjOTIzZjJiMmM4ODI5ZDc0ZDA5ZmUwZmM0MTUyNTEzNGFmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC01Myw2ICs1
Myw3IEBAIGNsYXNzIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OwogY2xhc3MgSW5z
cGVjdG9yRGVidWdnZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDsKIGNs
YXNzIEluc3BlY3RvckZyb250ZW5kOwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ7CiBj
bGFzcyBJbnNwZWN0b3JQYWdlQWdlbnQ7CkBAIC0xMzcsNiArMTM4LDkgQEAgcHJpdmF0ZToKICNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIE93blB0cjxJbnNwZWN0b3JEYXRhYmFzZUFnZW50
PiBtX2RhdGFiYXNlQWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAg
T3duUHRyPEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gbV9maWxlc3lzdGVtQWdlbnQ7CisjZW5k
aWYKICAgICBPd25QdHI8SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50PiBtX2RvbVN0b3JhZ2VBZ2Vu
dDsKICAgICBPd25QdHI8SW5zcGVjdG9yVGltZWxpbmVBZ2VudD4gbV90aW1lbGluZUFnZW50Owog
ICAgIE93blB0cjxJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ+IG1fYXBwbGljYXRpb25D
YWNoZUFnZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTA1MWUxOWUzYmVlMmM1NjA5YTMwZDY0
ZmY3N2ZmMWEwYjZiM2VhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCIKKworI2lu
Y2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYm
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBzdGF0aWMK
K1Bhc3NPd25QdHI8SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50PiBJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQ6OmNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQor
eworICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KGluc3Ry
dW1lbnRpbmdBZ2VudHMpKTsKK30KKworSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojp+SW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50KCkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldElu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgwKTsKK30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQ6OmRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5
c3RlbSkKK3sKK30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmludmFsaWRhdGVG
aWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKK30KKwor
dm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmVuYWJsZShFcnJvclN0cmluZyopCit7Cisg
ICAgaWYgKG1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZW5hYmxlZCA9IHRydWU7
Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5n
KikKK3sKKyAgICBtX2VuYWJsZWQgPSBmYWxzZTsKK30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCkKK3sKKyAg
ICBtX2Zyb250ZW5kID0gZnJvbnRlbmQtPmZpbGVzeXN0ZW0oKTsKK30KKwordm9pZCBJbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAgIG1fZnJvbnRlbmQgPSAw
OworfQorCitJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQorICAgIDogbV9pbnN0
cnVtZW50aW5nQWdlbnRzKGluc3RydW1lbnRpbmdBZ2VudHMpLAorICAgICAgbV9mcm9udGVuZCgw
KSwKKyAgICAgIG1fZW5hYmxlZChmYWxzZSkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMt
PnNldEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCh0aGlzKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKEZJTEVfU1lT
VEVNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkNDZmODZmMzhhMGU0NGVhMTZkZDBjMTdkNDEwZmUyNmU4
NTg0Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50LmgKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50X2gKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJJbnNw
ZWN0b3JGcm9udGVuZC5oIgorCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBET01GaWxl
U3lzdGVtOworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdl
bnRzOworCitjbGFzcyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gY3JlYXRlKEluc3RydW1l
bnRpbmdBZ2VudHMqKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoKTsK
KworICAgIHZvaWQgZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPik7
CisgICAgdm9pZCBpbnZhbGlkYXRlRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+
KTsKKworICAgIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKik7CisgICAgdm9pZCBkaXNhYmxlKEVy
cm9yU3RyaW5nKik7CisKKyAgICB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKik7
CisgICAgdm9pZCBjbGVhckZyb250ZW5kKCk7CisKK3ByaXZhdGU6CisgICAgSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqKTsKKworICAgIEluc3RydW1lbnRpbmdB
Z2VudHMqIG1faW5zdHJ1bWVudGluZ0FnZW50czsKKyAgICBJbnNwZWN0b3JGcm9udGVuZDo6Rmls
ZVN5c3RlbSogbV9mcm9udGVuZDsKKyAgICBib29sIG1fZW5hYmxlZDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShG
SUxFX1NZU1RFTSkKKyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnRfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVt
ZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVt
SW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM4N2FjYmFjYTE1NTUzMThiODg5NDNmZDE5
YjhmNjM5MmExMDFhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbl9oCisjZGVmaW5lIEluc3Bl
Y3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAiRE9NRmlsZVN5c3Rl
bS5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZp
bGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtKQoreworI2lmIEVO
QUJMRShJTlNQRUNUT1IpCisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChmaWxlU3lzdGVtLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICBkaWRPcGVuRmlsZVN5c3RlbUltcGwoaW5z
dHJ1bWVudGluZ0FnZW50cywgZmlsZVN5c3RlbSk7CisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKK30KKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb25faApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcAppbmRleCBiZDJiOWU1MGU0OWQ0ODUwMmEwOTc2ZWRmMmFmODkyMTAxMmZjYjdjLi40
ZWM2NzMxNzNhYzk0NjUzMGIzZTJjYTY0YTJkYmU0MGU4YjVhNTU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAt
MzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAorI2luY2x1ZGUgIkRPTUZp
bGVTeXN0ZW0uaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEYXRhYmFzZS5o
IgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCkBAIC00Nyw2ICs0OCw3IEBACiAjaW5jbHVk
ZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgiCisjaW5jbHVkZSAiSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
clJlc291cmNlQWdlbnQuaCIKQEAgLTc3MCw2ICs3NzIsMTQgQEAgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZE9wZW5EYXRhYmFzZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWUKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQordm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5GaWxlU3lzdGVtSW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVT
eXN0ZW0pCit7CisgICAgaWYgKEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogZmlsZVN5c3RlbUFn
ZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KCkpCisg
ICAgICAgIGZpbGVTeXN0ZW1BZ2VudC0+ZGlkT3BlbkZpbGVTeXN0ZW0oZmlsZVN5c3RlbSk7Cit9
CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCiB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgU3RvcmFnZUFyZWEqIHN0b3JhZ2VBcmVhLCBib29sIGlzTG9jYWxTdG9y
YWdlLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBhNjIw
MjdkYzYzODM4ODBlMGM4ZDc4YjlmMzRhMGUzMWRiNjJiZDIxLi41NjkzNDM0ZmQzZDE1NDYxYmJk
YmQyMzJmZDA4OGEyMzVmNGEzZWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC00Miw2ICs0Miw3IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIENoYXJhY3RlckRhdGE7CitjbGFzcyBET01GaWxlU3lzdGVt
OwogY2xhc3MgRE9NV2luZG93OwogY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogY2xhc3MgRGF0YWJh
c2U7CkBAIC0xNzIsNiArMTczLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRPcGVu
RGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8RGF0YWJhc2U+LCBj
b25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZl
cnNpb24pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgc3RhdGljIHZv
aWQgZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPik7CisjZW5kaWYK
KwogICAgIHN0YXRpYyB2b2lkIGRpZFVzZURPTVN0b3JhZ2UoUGFnZSosIFN0b3JhZ2VBcmVhKiwg
Ym9vbCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUqKTsKIAogI2lmIEVOQUJMRShXT1JLRVJTKQpAQCAt
MzA0LDYgKzMwOSwxMCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZE9wZW5EYXRhYmFz
ZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhc3NSZWZQdHI8RGF0YWJhc2U+LCBjb25zdCBT
dHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24p
OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgc3RhdGljIHZvaWQgZGlk
T3BlbkZpbGVTeXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVmUHRyPERPTUZp
bGVTeXN0ZW0+KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgZGlkVXNlRE9NU3RvcmFnZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFN0b3JhZ2VBcmVhKiwgYm9vbCBpc0xvY2FsU3RvcmFn
ZSwgRnJhbWUqKTsKIAogI2lmIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggN2NkN2Y3YTJhZWNhY2Y2MGI4ZGFm
MTYwMTQyYTlhODEzMGE2ZmFjNS4uZjc3ZThjZjYwMzNlYTMxMmIyMWYxMDkxNmZkMTcxYTA2NmM1
N2ZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50
cy5oCkBAIC00Niw2ICs0Niw3IEBAIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKIGNs
YXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQ7CiBjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKQEAgLTcxLDYgKzcyLDkgQEAg
cHVibGljOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgICwgbV9pbnNwZWN0b3JE
YXRhYmFzZUFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAg
ICwgbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoMCkKKyNlbmRpZgogICAgICAgICAsIG1faW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KDApCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVC
VUdHRVIpCiAgICAgICAgICwgbV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50KDApCkBAIC0xMTUsNiAr
MTE5LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEluc3BlY3RvckRhdGFiYXNlQWdlbnQoSW5z
cGVjdG9yRGF0YWJhc2VBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50ID0g
YWdlbnQ7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIEluc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudCogaW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KCkgY29uc3QgeyByZXR1
cm4gbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7IH0KKyAgICB2b2lkIHNldEluc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudChJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQqIGFnZW50KSB7IG1faW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50ID0gYWdlbnQ7IH0KKyNlbmRpZgorCiAgICAgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50KiBpbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoKSBjb25z
dCB7IHJldHVybiBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDsgfQogICAgIHZvaWQg
c2V0SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQgPSBhZ2Vu
dDsgfQogCkBAIC0xNDYsNiArMTU1LDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogICAgIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIG1faW5zcGVjdG9yRGF0YWJhc2VBZ2Vu
dDsKICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQqIG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OworI2VuZGlmCiAgICAgSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dDsKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICBJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50KiBtX2luc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggZTFmNDU5
NzEwY2UwMWEzNjg5MGFkNzZjNDM3NTAwYWY3MGZjNzgzNC4uYmMyZWY3ZGYyYzRlYzI0ODYzNGRj
NGJjMTJhZjEyNjNiZWMxM2JiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMTU1LDYgKzE1NSw5IEBAIHZv
aWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKICNpZiBFTkFC
TEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICAgICAgbV9kZWJ1Z2dlckFnZW50LmdldCgpLAog
I2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgICAgICAwLCAvLyBJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQKKyNlbmRpZgogICAgICAgICAwLCAvLyBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50CiAgICAgICAgIDAsIC8vIEluc3BlY3RvclBhZ2VBZ2VudAogI2lmIEVOQUJMRShKQVZBU0NS
SVBUX0RFQlVHR0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5qcwppbmRleCAzMmU0ZGNmZWRlZDMwNmYxZWVhYjNmMzM1YjUzYTcyNGIyNjhjYzk4
Li45M2ExMDBlMzUyZWYyZmM1ZTc5ODljODIyMzU3ZWJhNTgxZTgzMjQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtMzg1LDYgKzM4
NSw3IEBAIFdlYkluc3BlY3Rvci5kb0xvYWRlZERvbmUgPSBmdW5jdGlvbigpCiAgICAgICAgIHRo
aXMuY29uc29sZS5lbmFibGVBZ2VudCgpOwogICAgIERhdGFiYXNlQWdlbnQuZW5hYmxlKCk7CiAg
ICAgRE9NU3RvcmFnZUFnZW50LmVuYWJsZSgpOworICAgIEZpbGVTeXN0ZW1BZ2VudC5lbmFibGUo
KTsKIAogICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoV2ViSW5zcGVjdG9yLnNldHRpbmdzLmxh
c3RBY3RpdmVQYW5lbC5nZXQoKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115836</attachid>
            <date>2011-11-18 10:55:15 -0800</date>
            <delta_ts>2011-11-20 17:41:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72456-20111119035513.patch</filename>
            <type>text/plain</type>
            <size>34071</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWMzOTgxMGRhYTVhMjli
OTJjMzM5Mzc0YmEwMWNjN2FlMDg2MDgyYi4uM2U0Y2QyMTU4NjkxMzQzZDBiNjViZTEyNjA1MzZk
YzE5OWUzNWVmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDExLTExLTE4ICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW5zcGVjdG9yXVtGaWxl
U3lzdGVtXTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZp
bGVzIGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcg
aG9va3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgc2hvdWxkIGJl
IGFkZGVkIGluIGxhdGVyIENMLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5
c3RlbTo6Y3JlYXRlKToKKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVj
dG9yQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpj
b25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6
ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xs
ZXI6OnJlc3RvcmVJbnNwZWN0b3JTdGF0ZUZyb21Db29raWUpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuaDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZp
bGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZE9wZW5GaWxlU3lzdGVtSW1wbCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRz
OjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Omluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0
cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisKIDIwMTEtMTEtMTggIFJhcGhh
ZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBidWlsZCBmaXg7IHIxMDA2ODYgYnJva2UgdGhlIEVGTCBidWlsZCB3aGVuIEdlb2xvY2F0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGU4NjE2MmIwMTkxYWMzNDA5YWQyYmE0MjgyZTI2
NGI0NjZlMjBjNDAuLjk2NWRlZTMwZTc5NjI0NjdiMzI1NmY3ODAwODg5MzJiODE1ODU4MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC04ODcsNiArODg3LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNF
UwogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmNwcAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQu
Y3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDg4ZDQ1NmM0MzMwNmY1
ZWFkMTkyMDAzMGQxNDAzN2Q1N2IxODg4MzIuLmNjYzdmODE5MjMxYWEyM2FkZThmZjUwM2UwMDYy
MTVkYjQzNjViYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTI3MzIsNiArMjczMiw5IEBACiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaCcsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oJywKKyAgICAgICAgICAgICdpbnNw
ZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCcsCisgICAgICAgICAgICAnaW5zcGVj
dG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3Iv
SW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBjNGM4MThlYjJiMzMwMTA5MWExMWU2ODgwNTgy
ZGVjNzIyMDc0YjU1Li44ZDc0YmE2YzdlZmM5NTMwMDNkYTI1OTVkYWY2Y2Y4NTE4MDExMzliIDEw
MDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNjg0
MzgsNiArNjg0MzgsMTggQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVt
ZW50YXRpb24uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIgogCQkJCT4KIAkJCTwv
RmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBlZGFkNTFmYjU1MTZjNjBiMDA2YzRmOTEzNTUxNDcyMWViOGI5MjZjLi41YjRi
Mzk2NzIxYjFiOWI2NGFkZWVmMmY2OWQ5NGMzOTA3YmI5YjI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMTcsNiArMzE3LDkg
QEAKIAkJMTVDNzcwOTQxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzA5MjEwMEQz
Q0E4MDA1QkEyNjcgLyogSlNWYWxpZGl0eVN0YXRlLmNwcCAqLzsgfTsKIAkJMTVDNzcwQTUxMDBE
NDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzBBMzEwMEQ0MUNEMDA1QkEyNjcgLyogRE9N
VmFsaWRpdHlTdGF0ZS5tbSAqLzsgfTsKIAkJMTVDNzcwQTYxMDBENDFDRDAwNUJBMjY3IC8qIERP
TVZhbGlkaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE1Qzc3MEE0MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLmggKi87
IH07CisJCTE1RDE3RDIxMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVE
MTdEMUUxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgKi87
IH07CisJCTE1RDE3RDIyMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1RDE3
RDFGMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCAqLzsgfTsK
KwkJMTVEMTdEMjMxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVt
ZW50YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE1RDE3RDIwMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVu
dGF0aW9uLmggKi87IH07CiAJCTE2M0U4OEY3MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250
RGF0YUNvcmVUZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE2M0U4OEY1MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0
LmNwcCAqLzsgfTsKIAkJMTYzRThCMTMxMThCM0FERDAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRh
QVRTVUkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NjNFOEIxMjExOEIzQUREMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFBVFNVSS5tbSAqLzsgfTsK
IAkJMTg1QkNGMjgwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxODVCQ0YyNjBGMzI3OUNFMDAw
RUEyNjIgLyogVGhyZWFkVGltZXJzLmNwcCAqLzsgfTsKQEAgLTEzNzksNiArMTM4Miw3IEBACiAJ
CTUwMzhCRTQxMTQ3MkFEOTgwMDk1RTBEMSAvKiBDYWNoZWRTaGFkZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwMzhCRTNGMTQ3MkFEOTgwMDk1RTBE
MSAvKiBDYWNoZWRTaGFkZXIuaCAqLzsgfTsKIAkJNTA4Q0NBNEYxM0NGMTA2QjAwMzE1MUYzIC8q
IFJlbmRlckZsb3dUaHJlYWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUwOENDQTREMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmgg
Ki87IH07CiAJCTUwOENDQTUwMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwOENDQTRF
MTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmNwcCAqLzsgfTsKKwkJNTBCNDIx
NTgxNDY5NzY5NjAwODdFNjA0IC8qIFdlYktpdENTU1NoYWRlclZhbHVlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MEI0MjE1NzE0Njk3Njk2MDA4N0U2
MDQgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCAqLzsgfTsKIAkJNTBFNTY2RDYxMzlFMzhDNTAw
MjE0NDMzIC8qIENTU1dyYXBTaGFwZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTAxQkFBQjExMzk1MTE0QjAwRjdBQ0VCIC8qIENTU1dyYXBTaGFw
ZXMuY3BwICovOyB9OwogCQk1MTAxODQ2OTBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMTg0Njcw
QjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTAxODQ2QTBCMDg2MDJBMDA0QTgyNUYgLyogQ2Fj
aGVkUGFnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTAxODQ2ODBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5jcHAgKi87IH07CkBAIC03
MzkyLDYgKzczOTYsOSBAQAogCQkxNUM3NzA5MjEwMEQzQ0E4MDA1QkEyNjcgLyogSlNWYWxpZGl0
eVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVmFsaWRp
dHlTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MEEzMTAwRDQx
Q0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gRE9NVmFsaWRpdHlTdGF0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMTVDNzcwQTQxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NVmFsaWRpdHlTdGF0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNUQxN0QxRTE0NzIzMUVCMDA1RUJDQTYgLyog
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTE1RDE3RDFGMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE1RDE3RDIwMTQ3
MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVt
ZW50YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTYzRTg4RjUxMThBMzlE
MjAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE2M0U4QjEyMTE4QjNBREQwMEVEOTIzMSAvKiBTaW1wbGVG
b250RGF0YUFUU1VJLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
U2ltcGxlRm9udERhdGFBVFNVSS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTg1
QkNGMjYwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaHJlYWRUaW1lcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTQ1MTksNiArMTQ1MjYsOSBAQAogCQkJCTdBNzRFQ0I5MTAxODM5QTYw
MEJGOTM5RSAvKiBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCAqLywKIAkJCQk0MUYwNjE3MzBG
NUYwMEFDMDBBMDdFQUMgLyogSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcCAqLywKIAkJ
CQk0MUYwNjE3MjBGNUYwMEFDMDBBMDdFQUMgLyogSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNl
LmggKi8sCisJCQkJMTVEMTdEMUUxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudC5jcHAgKi8sCisJCQkJMTVEMTdEMUYxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudC5oICovLAorCQkJCTE1RDE3RDIwMTQ3MjMxRUIwMDVFQkNBNiAvKiBJ
bnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJMjI3Nzc3NUYxMzQ1
REVBOTAwOEVBNDU1IC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oICovLAogCQkJCUYzNDRD
NzEyMTEyNUI4MkMwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oICovLAogCQkJ
CUYzNDRDNzU3MTEyOTRGRjYwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
LmNwcCAqLywKQEAgLTIzMDUwLDYgKzIzMDYwLDggQEAKIAkJCQlGM0Q0QzQ3OTEyRTA3NjYzMDAz
REExNTAgLyogSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0E3NEVDQkIxMDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDFGMDYxNzQwRjVGMDBBQzAwQTA3RUFDIC8qIEluc3BlY3RvckRP
TVN0b3JhZ2VSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTVEMTdEMjIxNDcyMzFFQjAw
NUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MTVEMTdEMjMxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50
YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJ
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNDRDNzE0MTEy
NUI4MkMwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRjM0NEM3NTMxMTI5NEQ5RDAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWwuaCBpbiBIZWFkZXJzICovLApAQCAtMjYwMjUsNiArMjYwMzcsNyBAQAogCQkJCUYzRDRD
NDc4MTJFMDc2NjMwMDNEQTE1MCAvKiBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTdBNzRFQ0JBMTAxODM5QTYwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFGMDYxNzUwRjVGMDBBQzAwQTA3
RUFDIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkxNUQxN0QyMTE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTRGNEY1RkZCMTFDQkQyRTEwMEExODZCRiAvKiBJbnNwZWN0
b3JGcm9udGVuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGMzQ0Qzc1ODExMjk0RkY2MDBGMjZF
RUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3QTBFNzcwRTEwQzAwQTg4MDBBMDI3NkUgLyogSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxl
U3lzdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKaW5k
ZXggNTEyNjUzMDIyY2Y2MTFmNzA5ZTdiZmM5ZGFkOTE4MWNiNDY0MGNlZi4uYWMzODY5MDNiMThm
YmJjYjFjNTBlYTQ3ODIyMjAxOTExZTc2NzIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RP
TUZpbGVTeXN0ZW0uY3BwCkBAIC00NSwxMiArNDUsMjEgQEAKICNpbmNsdWRlICJGaWxlV3JpdGVy
LmgiCiAjaW5jbHVkZSAiRmlsZVdyaXRlckJhc2VDYWxsYmFjay5oIgogI2luY2x1ZGUgIkZpbGVX
cml0ZXJDYWxsYmFjay5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50
YXRpb24uaCIKICNpbmNsdWRlICJNZXRhZGF0YUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCisvLyBzdGF0aWMKK1Bhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gRE9NRmls
ZVN5c3RlbTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0
cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkK
K3sKKyAgICBSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbShhZG9wdFJlZihuZXcgRE9N
RmlsZVN5c3RlbShjb250ZXh0LCBuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pKSk7CisgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVuRmlsZVN5c3RlbShmaWxlU3lzdGVtLmdldCgpKTsK
KyAgICByZXR1cm4gZmlsZVN5c3RlbTsKK30KKwogRE9NRmlsZVN5c3RlbTo6RE9NRmlsZVN5c3Rl
bShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBh
c3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCiAgICAgOiBET01GaWxl
U3lzdGVtQmFzZShjb250ZXh0LCBuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pCiAgICAgLCBBY3RpdmVE
T01PYmplY3QoY29udGV4dCwgdGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvRE9NRmlsZVN5c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVt
LmgKaW5kZXggOGUzNTU2NzBmYzQ1ZGMzOWYyODVhMjBjOWY0ZWM0NmFlNTE2YWJjNi4uNzRmYTlh
YzE4MTVmZDVlY2YxNWUxYzUwYjVlMDI5MGNhZWI2OGE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9ET01GaWxlU3lzdGVtLmgKQEAgLTQ3LDEwICs0Nyw3IEBAIGNsYXNzIEZpbGVXcml0ZXJDYWxs
YmFjazsKIAogY2xhc3MgRE9NRmlsZVN5c3RlbSA6IHB1YmxpYyBET01GaWxlU3lzdGVtQmFzZSwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
RE9NRmlsZVN5c3RlbT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5
c3RlbSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRE9NRmlsZVN5c3RlbShj
b250ZXh0LCBuYW1lLCBhc3luY0ZpbGVTeXN0ZW0pKTsKLSAgICB9CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8RE9NRmlsZVN5c3RlbT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPik7CiAKICAgICBQYXNz
UmVmUHRyPERpcmVjdG9yeUVudHJ5PiByb290KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5IGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBt
b2RlIDEwMDc1NQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDky
NTQ0ZTMwYjNkNmQ4NmZjMzJiMWJiMzljNjQ3NTc1NjBkZmU1MDguLjNmOGU4NzJlZjZlMjFhMGRk
ODZhZTcxMzU4ZDViMDNhNGYxZjJhMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb24KQEAgLTEwMDksNiArMTAwOSwyMiBAQAogICAgICAgICBdCiAgICAgfSwKICAgICB7
CisgICAgICAgICJkb21haW4iOiAiRmlsZVN5c3RlbSIsCisgICAgICAgICJoaWRkZW4iOiB0cnVl
LAorICAgICAgICAiY29tbWFuZHMiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Im5hbWUiOiAiZW5hYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxl
cyBldmVudHMgZnJvbSBiYWNrZW5kLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzYWJsZSIsCisgICAgICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIkRpc2FibGVzIGV2ZW50cyBmcm9tIGJhY2tlbmQuLiIKKyAgICAgICAgICAgIH0K
KyAgICAgICAgXSwKKyAgICAgICAgImV2ZW50cyI6IFsKKyAgICAgICAgXQorICAgIH0sCisgICAg
ewogICAgICAgICAiZG9tYWluIjogIkRPTSIsCiAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJUaGlz
IGRvbWFpbiBleHBvc2VzIERPTSByZWFkL3dyaXRlIG9wZXJhdGlvbnMuIEVhY2ggRE9NIE5vZGUg
aXMgcmVwcmVzZW50ZWQgd2l0aCBpdHMgbWlycm9yIG9iamVjdCB0aGF0IGhhcyBhbiA8Y29kZT5p
ZDwvY29kZT4uIFRoaXMgPGNvZGU+aWQ8L2NvZGU+IGNhbiBiZSB1c2VkIHRvIGdldCBhZGRpdGlv
bmFsIGluZm9ybWF0aW9uIG9uIHRoZSBOb2RlLCByZXNvbHZlIGl0IGludG8gdGhlIEphdmFTY3Jp
cHQgb2JqZWN0IHdyYXBwZXIsIGV0Yy4gSXQgaXMgaW1wb3J0YW50IHRoYXQgY2xpZW50IHJlY2Vp
dmVzIERPTSBldmVudHMgb25seSBmb3IgdGhlIG5vZGVzIHRoYXQgYXJlIGtub3duIHRvIHRoZSBj
bGllbnQuIEJhY2tlbmQga2VlcHMgdHJhY2sgb2YgdGhlIG5vZGVzIHRoYXQgd2VyZSBzZW50IHRv
IHRoZSBjbGllbnQgYW5kIG5ldmVyIHNlbmRzIHRoZSBzYW1lIG5vZGUgdHdpY2UuIEl0IGlzIGNs
aWVudCdzIHJlc3BvbnNpYmlsaXR5IHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG5v
ZGVzIHRoYXQgd2VyZSBzZW50IHRvIHRoZSBjbGllbnQuPHA+Tm90ZSB0aGF0IDxjb2RlPmlmcmFt
ZTwvY29kZT4gb3duZXIgZWxlbWVudHMgd2lsbCByZXR1cm4gY29ycmVzcG9uZGluZyBkb2N1bWVu
dCBlbGVtZW50cyBhcyB0aGVpciBjaGlsZCBub2Rlcy48L3A+IiwKICAgICAgICAgInR5cGVzIjog
WwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CmluZGV4IDE0YTJhZjkyMDA1YmMyOWE0ZTg1MGRmNGE1ZTMwOWEwYmI5YjhkZTYuLjI0ZGZjNTE2
M2Q0ZTFjMjBlMTQ5MmY5ZTNiMzMxYmI5OTJiZjhmNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNp
bmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JE
YXRhYmFzZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIgorI2lu
Y2x1ZGUgIkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTEwNCw2ICsxMDUsOSBAQCBJbnNwZWN0
b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNs
aWVudCogaW5zcGVjdG9yQwogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgLCBtX2RhdGFi
YXNlQWdlbnQoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0Fn
ZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNU
RU0pCisgICAgLCBtX2ZpbGVTeXN0ZW1BZ2VudChJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmNy
ZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKQorI2VuZGlm
CiAgICAgLCBtX2RvbVN0b3JhZ2VBZ2VudChJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmNyZWF0
ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKQogICAgICwgbV90
aW1lbGluZUFnZW50KEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRp
bmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKQogICAgICwgbV9hcHBsaWNhdGlvbkNhY2hl
QWdlbnQoYWRvcHRQdHIobmV3IEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChtX2luc3Ry
dW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fcGFnZUFnZW50LmdldCgpLCBtX3N0YXRlLmdldCgpKSkp
CkBAIC0yMDksNiArMjEzLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJv
bnRlbmQoKQogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5z
ZXRGcm9udGVuZChtX2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKICNlbmRpZgorI2lmIEVOQUJM
RShGSUxFX1NZU1RFTSkKKyAgICBtX2ZpbGVTeXN0ZW1BZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNw
ZWN0b3JGcm9udGVuZC5nZXQoKSk7CisjZW5kaWYKICAgICBtX2RvbVN0b3JhZ2VBZ2VudC0+c2V0
RnJvbnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CiAjaWYgRU5BQkxFKFdPUktFUlMp
CiAgICAgbV93b3JrZXJBZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQo
KSk7CkBAIC0yMzYsNiArMjQzLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0
RnJvbnRlbmQoKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICAgICBtX2Rl
YnVnZ2VyQWdlbnQuZ2V0KCksCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAg
ICAgIG1fZmlsZVN5c3RlbUFnZW50LmdldCgpLAorI2VuZGlmCiAgICAgICAgIG1fcmVzb3VyY2VB
Z2VudC5nZXQoKSwKICAgICAgICAgbV9wYWdlQWdlbnQuZ2V0KCksCiAjaWYgRU5BQkxFKEpBVkFT
Q1JJUFRfREVCVUdHRVIpCkBAIC0yODAsNiArMjkwLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9s
bGVyOjpkaXNjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAg
bV9kYXRhYmFzZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklM
RV9TWVNURU0pCisgICAgbV9maWxlU3lzdGVtQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsKKyNlbmRp
ZgogICAgIG1fZG9tU3RvcmFnZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAgICAgbV9wYWdlQWdl
bnQtPmNsZWFyRnJvbnRlbmQoKTsKICNpZiBFTkFCTEUoV09SS0VSUykKQEAgLTMzMyw2ICszNDYs
OSBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnJlc3RvcmVJbnNwZWN0b3JTdGF0ZUZyb21D
b29raWUoY29uc3QgU3RyaW5nJiBpbnNwZWN0bwogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAg
ICAgbV9kYXRhYmFzZUFnZW50LT5yZXN0b3JlKCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9T
WVNURU0pCisgICAgbV9maWxlU3lzdGVtQWdlbnQtPnJlc3RvcmUoKTsKKyNlbmRpZgogICAgIG1f
ZG9tU3RvcmFnZUFnZW50LT5yZXN0b3JlKCk7CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgbV93
b3JrZXJBZ2VudC0+cmVzdG9yZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNzY1Y2FkZmMyZjc0ZDVkNjA5OTJlNmMyNzJmY2VjNGY5
NWFmZWVhNi4uZjE1OTM5OTc2ZTNkNWE3MmVmZjQ4NGIwMTcyYzEzOWM0Njk2ODY1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC01Myw2
ICs1Myw3IEBAIGNsYXNzIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ7CiBjbGFzcyBJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDsK
IGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ7
CiBjbGFzcyBJbnNwZWN0b3JQYWdlQWdlbnQ7CkBAIC0xMzcsNiArMTM4LDkgQEAgcHJpdmF0ZToK
ICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIE93blB0cjxJbnNwZWN0b3JEYXRhYmFzZUFn
ZW50PiBtX2RhdGFiYXNlQWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisg
ICAgT3duUHRyPEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gbV9maWxlU3lzdGVtQWdlbnQ7Cisj
ZW5kaWYKICAgICBPd25QdHI8SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50PiBtX2RvbVN0b3JhZ2VB
Z2VudDsKICAgICBPd25QdHI8SW5zcGVjdG9yVGltZWxpbmVBZ2VudD4gbV90aW1lbGluZUFnZW50
OwogICAgIE93blB0cjxJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ+IG1fYXBwbGljYXRp
b25DYWNoZUFnZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMDIwNWNhZWQ1YzcyMmJkMDEwZWQ2
N2I4NDIzYzk4OWZhY2M3MDUyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAKQEAgLTAsMCArMSwxMTkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgiCisK
KyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRl
ICJJbnNwZWN0b3JTdGF0ZS5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgRmlsZVN5c3RlbUFnZW50U3RhdGUgewor
c3RhdGljIGNvbnN0IGNoYXIgZmlsZVN5c3RlbUFnZW50RW5hYmxlZFtdID0gImZpbGVTeXN0ZW1B
Z2VudEVuYWJsZWQiOworfQorCisvLyBzdGF0aWMKK1Bhc3NPd25QdHI8SW5zcGVjdG9yRmlsZVN5
c3RlbUFnZW50PiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmNyZWF0ZShJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoaW5zdHJ1bWVu
dGluZ0FnZW50cywgc3RhdGUpKTsKK30KKworSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojp+SW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50KCkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNl
dEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgwKTsKK30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQ6OmRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmls
ZVN5c3RlbSkKK3sKKyAgICAvLyBUT0RPKHR6aWspOgorICAgIC8vIFN0b3JlIHxmaWxlU3lzdGVt
fCBhbmQgbm90aWZ5IHRoZSBmcm9udGVuZCB1c2luZyB8ZmlsZVN5c3RlbUFkZGVkfCBldmVudC4K
KyAgICAvLyB8ZmlsZVN5c3RlbXwgc2hvdWxkIGJlIGFzc29jaWF0ZWQgd2l0aCBpdHMgbmFtZS4K
K30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmludmFsaWRhdGVGaWxlU3lzdGVt
KFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyAgICAvLyBUT0RPKHR6
aWspOgorICAgIC8vIERpc2NhcmQgfGZpbGVTeXN0ZW18IGlmIHdlIGhhdmUuCisgICAgLy8gSWYg
dGhlcmUgaXMgbm8gb3RoZXIgfGZpbGVTeXN0ZW18IHdobyBoYXMgc2FtZSBuYW1lIHdpdGggfGZp
bGVTeXN0ZW18LAorICAgIC8vIG5vdGlmeSB0aGUgZnJvbnRlbmQgdXNpbmcgfGZpbGVTeXN0ZW1J
bnZhbGlkYXRlZHwgZXZlbnQuCit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojpl
bmFibGUoRXJyb3JTdHJpbmcqKQoreworICAgIGlmIChtX2VuYWJsZWQpCisgICAgICAgIHJldHVy
bjsKKyAgICBtX2VuYWJsZWQgPSB0cnVlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oRmlsZVN5
c3RlbUFnZW50U3RhdGU6OmZpbGVTeXN0ZW1BZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7CisKKyAg
ICAvLyBUT0RPKHR6aWspOgorICAgIC8vIFBhc3MgYWxsIGF2YWlsYWJsZSBGaWxlU3lzdGVtIHRv
IHRoZSBmcm9udGVuZCwgdXNpbmcgfGZpbGVTeXN0ZW1BZGRlZHwgZXZlbnQuCit9CisKK3ZvaWQg
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBp
ZiAoIW1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZW5hYmxlZCA9IGZhbHNlOwor
ICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oRmlsZVN5c3RlbUFnZW50U3RhdGU6OmZpbGVTeXN0ZW1B
Z2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCit7CisgICAgQVNT
RVJUKGZyb250ZW5kKTsKKyAgICBtX2Zyb250ZW5kID0gZnJvbnRlbmQtPmZpbGVzeXN0ZW0oKTsK
K30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQorewor
ICAgIG1fZnJvbnRlbmQgPSAwOworfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6
cmVzdG9yZSgpCit7CisgICAgbV9lbmFibGVkID0gbV9zdGF0ZS0+Z2V0Qm9vbGVhbihGaWxlU3lz
dGVtQWdlbnRTdGF0ZTo6ZmlsZVN5c3RlbUFnZW50RW5hYmxlZCk7Cit9CisKK0luc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudDo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSkKKyAgICA6IG1f
aW5zdHJ1bWVudGluZ0FnZW50cyhpbnN0cnVtZW50aW5nQWdlbnRzKSwKKyAgICAgIG1fc3RhdGUo
c3RhdGUpLAorICAgICAgbV9mcm9udGVuZCgwKSwKKyAgICAgIG1fZW5hYmxlZChmYWxzZSkKK3sK
KyAgICBBU1NFUlQoaW5zdHJ1bWVudGluZ0FnZW50cyk7CisgICAgQVNTRVJUKHN0YXRlKTsKKyAg
ICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCh0aGlz
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BF
Q1RPUikgJiYgRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzMDAzZGJmM2Zj
M2MzM2M4OGVkMDkzNDRhOTIyOTU5NjQ3YjQxNTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgKQEAgLTAsMCArMSw3
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShGSUxF
X1NZU1RFTSkKKworI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisKKyNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKK2NsYXNzIERPTUZpbGVTeXN0ZW07CitjbGFzcyBJbnNwZWN0b3JGcm9udGVu
ZDsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKKwor
Y2xhc3MgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c093blB0cjxJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdl
bnRzKiwgSW5zcGVjdG9yU3RhdGUqKTsKKyAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQoKTsKKworICAgIHZvaWQgZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxl
U3lzdGVtPik7CisgICAgdm9pZCBpbnZhbGlkYXRlRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZp
bGVTeXN0ZW0+KTsKKworICAgIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKik7CisgICAgdm9pZCBk
aXNhYmxlKEVycm9yU3RyaW5nKik7CisKKyAgICB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZy
b250ZW5kKik7CisgICAgdm9pZCBjbGVhckZyb250ZW5kKCk7CisgICAgdm9pZCByZXN0b3JlKCk7
Citwcml2YXRlOgorICAgIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudChJbnN0cnVtZW50aW5nQWdl
bnRzKiwgSW5zcGVjdG9yU3RhdGUqKTsKKworICAgIEluc3RydW1lbnRpbmdBZ2VudHMqIG1faW5z
dHJ1bWVudGluZ0FnZW50czsKKyAgICBJbnNwZWN0b3JTdGF0ZSogbV9zdGF0ZTsKKyAgICBJbnNw
ZWN0b3JGcm9udGVuZDo6RmlsZVN5c3RlbSogbV9mcm9udGVuZDsKKyAgICBib29sIG1fZW5hYmxl
ZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpICYmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM4N2FjYmFj
YTE1NTUzMThiODg5NDNmZDE5YjhmNjM5MmExMDFhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgK
QEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlv
bl9oCisjZGVmaW5lIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb25faAorCisjaW5j
bHVkZSAiRE9NRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxl
U3lzdGVtKQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4
dChmaWxlU3lzdGVtLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICBkaWRPcGVu
RmlsZVN5c3RlbUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZmlsZVN5c3RlbSk7CisjZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKK30KKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEluc3BlY3RvckZpbGVTeXN0ZW1J
bnN0cnVtZW50YXRpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCBiZDJiOWU1MGU0OWQ0ODUwMmEwOTc2ZWRm
MmFmODkyMTAxMmZjYjdjLi40ZWM2NzMxNzNhYzk0NjUzMGIzZTJjYTY0YTJkYmU0MGU4YjVhNTU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
IAorI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNp
bmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCkBAIC00Nyw2
ICs0OCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yUGFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvclJlc291cmNlQWdlbnQuaCIKQEAgLTc3MCw2ICs3NzIsMTQgQEAg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5EYXRhYmFzZUltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWUKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lT
VEVNKQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5GaWxlU3lzdGVtSW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQYXNzUmVmUHRyPERP
TUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7CisgICAgaWYgKEluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudCogZmlsZVN5c3RlbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50KCkpCisgICAgICAgIGZpbGVTeXN0ZW1BZ2VudC0+ZGlkT3BlbkZpbGVTeXN0
ZW0oZmlsZVN5c3RlbSk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCiB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgU3RvcmFnZUFyZWEqIHN0b3JhZ2VBcmVh
LCBib29sIGlzTG9jYWxTdG9yYWdlLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgSW5zcGVjdG9yQWdl
bnQqIGluc3BlY3RvckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQWdlbnQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaAppbmRleCBhNjIwMjdkYzYzODM4ODBlMGM4ZDc4YjlmMzRhMGUzMWRiNjJiZDIxLi41
NjkzNDM0ZmQzZDE1NDYxYmJkYmQyMzJmZDA4OGEyMzVmNGEzZWI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC00Miw2
ICs0Miw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENoYXJhY3RlckRhdGE7Citj
bGFzcyBET01GaWxlU3lzdGVtOwogY2xhc3MgRE9NV2luZG93OwogY2xhc3MgRE9NV3JhcHBlcldv
cmxkOwogY2xhc3MgRGF0YWJhc2U7CkBAIC0xNzIsNiArMTczLDEwIEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgdm9pZCBkaWRPcGVuRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NS
ZWZQdHI8RGF0YWJhc2U+LCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1l
LCBjb25zdCBTdHJpbmcmIHZlcnNpb24pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNU
RU0pCisgICAgc3RhdGljIHZvaWQgZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxl
U3lzdGVtPik7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIGRpZFVzZURPTVN0b3JhZ2UoUGFn
ZSosIFN0b3JhZ2VBcmVhKiwgYm9vbCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUqKTsKIAogI2lmIEVO
QUJMRShXT1JLRVJTKQpAQCAtMzA0LDYgKzMwOSwxMCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2
b2lkIGRpZE9wZW5EYXRhYmFzZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhc3NSZWZQdHI8
RGF0YWJhc2U+LCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIHZlcnNpb24pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisg
ICAgc3RhdGljIHZvaWQgZGlkT3BlbkZpbGVTeXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
LCBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQg
ZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFN0b3JhZ2VBcmVhKiwg
Ym9vbCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUqKTsKIAogI2lmIEVOQUJMRShXT1JLRVJTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggN2Nk
N2Y3YTJhZWNhY2Y2MGI4ZGFmMTYwMTQyYTlhODEzMGE2ZmFjNS4uZjc3ZThjZjYwMzNlYTMxMmIy
MWYxMDkxNmZkMTcxYTA2NmM1N2ZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC00Niw2ICs0Niw3IEBAIGNsYXNzIEluc3BlY3RvckRP
TUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9y
RGF0YWJhc2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50OwogY2xh
c3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsK
QEAgLTcxLDYgKzcyLDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAg
ICAgICwgbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklM
RV9TWVNURU0pCisgICAgICAgICwgbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoMCkKKyNlbmRp
ZgogICAgICAgICAsIG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KDApCiAjaWYgRU5B
QkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgICAgICwgbV9pbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50KDApCkBAIC0xMTUsNiArMTE5LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0
b3JEYXRhYmFzZUFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lT
VEVNKQorICAgIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogaW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7IH0KKyAgICB2
b2lkIHNldEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudChJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQq
IGFnZW50KSB7IG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50ID0gYWdlbnQ7IH0KKyNlbmRpZgor
CiAgICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBpbnNwZWN0b3JBcHBsaWNhdGlv
bkNhY2hlQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JBcHBsaWNhdGlv
bkNhY2hlQWdlbnQgPSBhZ2VudDsgfQogCkBAIC0xNDYsNiArMTU1LDkgQEAgcHJpdmF0ZToKICNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIG1faW5z
cGVjdG9yRGF0YWJhc2VBZ2VudDsKICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAg
ICBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQqIG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Owor
I2VuZGlmCiAgICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBtX2luc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudDsKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAg
ICBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBtX2luc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKaW5kZXggZTFmNDU5NzEwY2UwMWEzNjg5MGFkNzZjNDM3NTAwYWY3MGZjNzgzNC4uYmMy
ZWY3ZGYyYzRlYzI0ODYzNGRjNGJjMTJhZjEyNjNiZWMxM2JiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAt
MTU1LDYgKzE1NSw5IEBAIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZy
b250ZW5kKCkKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICAgICAgbV9kZWJ1
Z2dlckFnZW50LmdldCgpLAogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgICAg
ICAwLCAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQKKyNlbmRpZgogICAgICAgICAwLCAvLyBJ
bnNwZWN0b3JSZXNvdXJjZUFnZW50CiAgICAgICAgIDAsIC8vIEluc3BlY3RvclBhZ2VBZ2VudAog
I2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCAzMmU0ZGNmZWRlZDMwNmYxZWVhYjNm
MzM1YjUzYTcyNGIyNjhjYzk4Li45M2ExMDBlMzUyZWYyZmM1ZTc5ODljODIyMzU3ZWJhNTgxZTgz
MjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5qcwpAQCAtMzg1LDYgKzM4NSw3IEBAIFdlYkluc3BlY3Rvci5kb0xvYWRlZERvbmUgPSBmdW5j
dGlvbigpCiAgICAgICAgIHRoaXMuY29uc29sZS5lbmFibGVBZ2VudCgpOwogICAgIERhdGFiYXNl
QWdlbnQuZW5hYmxlKCk7CiAgICAgRE9NU3RvcmFnZUFnZW50LmVuYWJsZSgpOworICAgIEZpbGVT
eXN0ZW1BZ2VudC5lbmFibGUoKTsKIAogICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoV2ViSW5z
cGVjdG9yLnNldHRpbmdzLmxhc3RBY3RpdmVQYW5lbC5nZXQoKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116015</attachid>
            <date>2011-11-20 17:41:52 -0800</date>
            <delta_ts>2011-11-21 19:49:13 -0800</delta_ts>
            <desc>Patch (add a entry to CodeGeneratorInspector.py)</desc>
            <filename>bug-72456-20111121104150.patch</filename>
            <type>text/plain</type>
            <size>34567</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwODc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjMzNzc5MDQ4M2Q2NGIw
OTZmODBlMGQ3MDc0ZTAwYWIzMTc3YmQwNy4uYTMzNTJkM2E2NjViMjc0MzliNWYzYWE2MTg5NTc3
OTYwYWU2YzljOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDExLTExLTIwICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW5zcGVjdG9yXVtGaWxl
U3lzdGVtXTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZp
bGVzIGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcg
aG9va3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgc2hvdWxkIGJl
IGFkZGVkIGluIGxhdGVyIENMLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5
c3RlbTo6Y3JlYXRlKToKKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVj
dG9yQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpj
b25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6
ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xs
ZXI6OnJlc3RvcmVJbnNwZWN0b3JTdGF0ZUZyb21Db29raWUpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuaDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZp
bGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZE9wZW5GaWxlU3lzdGVtSW1wbCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRz
OjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Omluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0
cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisKIDIwMTEtMTAtMTcgIEFudG9u
aW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KIAogICAgICAgICBQYXNzIGEgRnJhbWUqIHBhcmFt
ZXRlciBpbiBFZGl0b3JDbGllbnQ6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggNjUyNzQyYzQwMWJkMDBiNDQ1NjdlNzY3ZDlhYzZmZWQ2ZmI1MTljYy4u
NzM3OWE3ZTNjMjM2ZmI3ZjAyOTZlYWQ4NzVjOGNjZmUyYTZhOWNkMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTg4Nyw2ICs4ODcsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaW5zcGVj
dG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckRh
dGFiYXNlUmVzb3VyY2UuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
Y3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAKICAgICBpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKICAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggY2Q1ZjI1NjUxNTM3ZWE4M2QxZmMzMDY1OWM4
ODVmMDcxYzg3OTFjOC4uMDc0Y2QxZTc4MDMzOGM1MjI5OTZlZTk4YmNlMGRjNjg3NzkwZjliNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjczOCw2ICsyNzM4LDkgQEAKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50LmgnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGaWxl
U3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENoYW5uZWwuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCmluZGV4IGM0YzgxOGViMmIzMzAxMDkxYTExZTY4ODA1ODJkZWM3MjIwNzRiNTUu
LjhkNzRiYTZjN2VmYzk1MzAwM2RhMjU5NWRhZjZjZjg1MTgwMTEzOWIgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02ODQzOCw2ICs2ODQzOCwx
OCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxp
bnNwZWN0b3JcSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0
b3JcSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVk
YWQ1MWZiNTUxNmM2MGIwMDZjNGY5MTM1NTE0NzIxZWI4YjkyNmMuLjViNGIzOTY3MjFiMWI5YjY0
YWRlZWYyZjY5ZDk0YzM5MDdiYjliMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMxNyw2ICszMTcsOSBAQAogCQkxNUM3NzA5
NDEwMEQzQ0E4MDA1QkEyNjcgLyogSlNWYWxpZGl0eVN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDkyMTAwRDNDQTgwMDVCQTI2NyAv
KiBKU1ZhbGlkaXR5U3RhdGUuY3BwICovOyB9OwogCQkxNUM3NzBBNTEwMEQ0MUNEMDA1QkEyNjcg
LyogRE9NVmFsaWRpdHlTdGF0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE1Qzc3MEEzMTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRl
Lm1tICovOyB9OwogCQkxNUM3NzBBNjEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcw
QTQxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUuaCAqLzsgfTsKKwkJMTVEMTdE
MjExNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QxRTE0NzIzMUVC
MDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCAqLzsgfTsKKwkJMTVEMTdE
MjIxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVEMTdEMUYxNDcyMzFFQjAw
NUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oICovOyB9OworCQkxNUQxN0QyMzE0
NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVEMTdEMjAxNDcy
MzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCAqLzsg
fTsKIAkJMTYzRTg4RjcxMThBMzlEMjAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQ29yZVRleHQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTYzRTg4
RjUxMThBMzlEMjAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwICovOyB9Owog
CQkxNjNFOEIxMzExOEIzQUREMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFBVFNVSS5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE2M0U4QjEyMTE4QjNB
REQwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUFUU1VJLm1tICovOyB9OwogCQkxODVCQ0YyODBG
MzI3OUNFMDAwRUEyNjIgLyogVGhyZWFkVGltZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE4NUJDRjI2MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJl
YWRUaW1lcnMuY3BwICovOyB9OwpAQCAtMTM3OSw2ICsxMzgyLDcgQEAKIAkJNTAzOEJFNDExNDcy
QUQ5ODAwOTVFMEQxIC8qIENhY2hlZFNoYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTAzOEJFM0YxNDcyQUQ5ODAwOTVFMEQxIC8qIENhY2hlZFNo
YWRlci5oICovOyB9OwogCQk1MDhDQ0E0RjEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1Ro
cmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTA4
Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQuaCAqLzsgfTsKIAkJNTA4
Q0NBNTAxM0NGMTA2QjAwMzE1MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTA4Q0NBNEUxM0NGMTA2QjAwMzE1
MUYzIC8qIFJlbmRlckZsb3dUaHJlYWQuY3BwICovOyB9OworCQk1MEI0MjE1ODE0Njk3Njk2MDA4
N0U2MDQgLyogV2ViS2l0Q1NTU2hhZGVyVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwQjQyMTU3MTQ2OTc2OTYwMDg3RTYwNCAvKiBXZWJLaXRD
U1NTaGFkZXJWYWx1ZS5oICovOyB9OwogCQk1MEU1NjZENjEzOUUzOEM1MDAyMTQ0MzMgLyogQ1NT
V3JhcFNoYXBlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MDFCQUFCMTEzOTUxMTRCMDBGN0FDRUIgLyogQ1NTV3JhcFNoYXBlcy5jcHAgKi87IH07
CiAJCTUxMDE4NDY5MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAxODQ2NzBCMDg2MDJBMDA0QTgy
NUYgLyogQ2FjaGVkUGFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTUxMDE4NDZBMEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDE4NDY4MEIw
ODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmNwcCAqLzsgfTsKQEAgLTczOTIsNiArNzM5Niw5
IEBACiAJCTE1Qzc3MDkyMTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNWYWxpZGl0eVN0YXRlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTVDNzcwQTMxMDBENDFDRDAwNUJBMjY3IC8q
IERPTVZhbGlkaXR5U3RhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBET01WYWxpZGl0eVN0YXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
NUM3NzBBNDEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBET01WYWxpZGl0eVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTE1RDE3RDFFMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MTVEMTdEMUYxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVEMTdEMjAxNDcyMzFFQjAwNUVCQ0E2
IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNjNFODhGNTExOEEzOUQyMDBFRDkyMzEgLyog
U2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMTYzRThCMTIxMThCM0FERDAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQVRTVUku
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTaW1wbGVGb250RGF0
YUFUU1VJLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxODVCQ0YyNjBGMzI3OUNF
MDAwRUEyNjIgLyogVGhyZWFkVGltZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFRocmVhZFRpbWVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNDUxOSw2ICsxNDUyNiw5IEBACiAJCQkJN0E3NEVDQjkxMDE4MzlBNjAwQkY5MzlFIC8qIElu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oICovLAogCQkJCTQxRjA2MTczMEY1RjAwQUMwMEEwN0VB
QyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuY3BwICovLAogCQkJCTQxRjA2MTcyMEY1
RjAwQUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCAqLywKKwkJCQkx
NUQxN0QxRTE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCAq
LywKKwkJCQkxNUQxN0QxRjE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50LmggKi8sCisJCQkJMTVEMTdEMjAxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVT
eXN0ZW1JbnN0cnVtZW50YXRpb24uaCAqLywKIAkJCQkyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUg
LyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggKi8sCiAJCQkJRjM0NEM3MTIxMTI1QjgyQzAw
RjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmggKi8sCiAJCQkJRjM0NEM3NTcxMTI5
NEZGNjAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwICovLApAQCAt
MjMwNTAsNiArMjMwNjAsOCBAQAogCQkJCUYzRDRDNDc5MTJFMDc2NjMwMDNEQTE1MCAvKiBJbnNw
ZWN0b3JET01EZWJ1Z2dlckFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QTc0RUNCQjEwMTgz
OUE2MDBCRjkzOUUgLyogSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk0MUYwNjE3NDBGNUYwMEFDMDBBMDdFQUMgLyogSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291
cmNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxNUQxN0QyMjE0NzIzMUVCMDA1RUJDQTYgLyogSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkxNUQxN0QyMzE0NzIz
MUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMjI3Nzc3NjAxMzQ1REVBOTAwOEVBNDU1IC8qIEluc3BlY3RvckZyb250
ZW5kQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjM0NEM3MTQxMTI1QjgyQzAwRjI2RUVF
IC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGMzQ0Qzc1
MzExMjk0RDlEMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNjAyNSw2ICsyNjAzNyw3IEBACiAJCQkJRjNENEM0NzgxMkUwNzY2MzAw
M0RBMTUwIC8qIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0E3NEVDQkExMDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjE3NTBGNUYwMEFDMDBBMDdFQUMgLyogSW5zcGVj
dG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE1RDE3RDIxMTQ3
MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNEY0RjVGRkIxMUNCRDJFMTAwQTE4NkJGIC8qIEluc3BlY3RvckZyb250ZW5kLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUYzNDRDNzU4MTEyOTRGRjYwMEYyNkVFRSAvKiBJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBMEU3NzBFMTBD
MDBBODgwMEEwMjc2RSAvKiBJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcAppbmRleCA1MTI2NTMwMjJj
ZjYxMWY3MDllN2JmYzlkYWQ5MTgxY2I0NjQwY2VmLi5hYzM4NjkwM2IxOGZiYmNiMWM1MGVhNDc4
MjIyMDE5MTFlNzY3MjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZp
bGVTeXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5j
cHAKQEAgLTQ1LDEyICs0NSwyMSBAQAogI2luY2x1ZGUgIkZpbGVXcml0ZXIuaCIKICNpbmNsdWRl
ICJGaWxlV3JpdGVyQmFzZUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRmlsZVdyaXRlckNhbGxiYWNr
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIk1ldGFkYXRhQ2FsbGJhY2suaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
Ky8vIHN0YXRpYworUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBET01GaWxlU3lzdGVtOjpjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQ
YXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQoreworICAgIFJlZlB0
cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtKGFkb3B0UmVmKG5ldyBET01GaWxlU3lzdGVtKGNv
bnRleHQsIG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkpKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZE9wZW5GaWxlU3lzdGVtKGZpbGVTeXN0ZW0uZ2V0KCkpOworICAgIHJldHVybiBm
aWxlU3lzdGVtOworfQorCiBET01GaWxlU3lzdGVtOjpET01GaWxlU3lzdGVtKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc093blB0cjxBc3lu
Y0ZpbGVTeXN0ZW0+IGFzeW5jRmlsZVN5c3RlbSkKICAgICA6IERPTUZpbGVTeXN0ZW1CYXNlKGNv
bnRleHQsIG5hbWUsIGFzeW5jRmlsZVN5c3RlbSkKICAgICAsIEFjdGl2ZURPTU9iamVjdChjb250
ZXh0LCB0aGlzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lz
dGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaAppbmRleCA4ZTM1
NTY3MGZjNDVkYzM5ZjI4NWEyMGM5ZjRlYzQ2YWU1MTZhYmM2Li43NGZhOWFjMTgxNWZkNWVjZjE1
ZTFjNTBiNWUwMjkwY2FlYjY4YTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0RPTUZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0
ZW0uaApAQCAtNDcsMTAgKzQ3LDcgQEAgY2xhc3MgRmlsZVdyaXRlckNhbGxiYWNrOwogCiBjbGFz
cyBET01GaWxlU3lzdGVtIDogcHVibGljIERPTUZpbGVTeXN0ZW1CYXNlLCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01GaWxlU3lzdGVt
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBu
YW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVtKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01GaWxlU3lzdGVtKGNvbnRleHQsIG5hbWUs
IGFzeW5jRmlsZVN5c3RlbSkpOwotICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01GaWxl
U3lzdGVtPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgbmFt
ZSwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW0+KTsKIAogICAgIFBhc3NSZWZQdHI8RGlyZWN0
b3J5RW50cnk+IHJvb3QoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29k
ZUdlbmVyYXRvckluc3BlY3Rvci5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1Cmlu
ZGV4IDhjYmFhZDcyNTFhMDExYzhiZjU2OGE4OGI2N2QwNjllM2NlYmE5YWEuLjg4MTk2YTE1N2Qx
NzFhYWI4ZjMxNzJmNTk1NmRlNTBkZGUwNjQwNmEKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKQEAgLTQyLDYgKzQyLDcgQEAgRE9NQUlOX0RF
RklORV9OQU1FX01BUCA9IHsKICAgICAiRGF0YWJhc2UiOiAiRU5BQkxFX1NRTF9EQVRBQkFTRSIs
CiAgICAgIkRlYnVnZ2VyIjogIkVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSIiwKICAgICAiRE9N
RGVidWdnZXIiOiAiRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIiLAorICAgICJGaWxlU3lzdGVt
IjogIkVOQUJMRV9GSUxFX1NZU1RFTSIsCiAgICAgIlByb2ZpbGVyIjogIkVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSIiwKICAgICAiV29ya2VyIjogIkVOQUJMRV9XT1JLRVJTIiwKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA2YzhmODZiZjU0ODdlMmYyMzNm
MDBmOTcwNDg1ODIyZmM5MjNlY2E1Li42Zjc5ZGUzODQwNGI1OTllMWU3ODdkNWJkOWIxZjAwODlm
ODU2MzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpz
b24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0xMDA5
LDYgKzEwMDksMjIgQEAKICAgICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgICAiZG9tYWlu
IjogIkZpbGVTeXN0ZW0iLAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgImNvbW1h
bmRzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImVuYWJsZSIs
CisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgZXZlbnRzIGZyb20gYmFj
a2VuZC4iCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJu
YW1lIjogImRpc2FibGUiLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxl
cyBldmVudHMgZnJvbSBiYWNrZW5kLi4iCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAg
ICAgICJldmVudHMiOiBbCisgICAgICAgIF0KKyAgICB9LAorICAgIHsKICAgICAgICAgImRvbWFp
biI6ICJET00iLAogICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGhpcyBkb21haW4gZXhwb3NlcyBE
T00gcmVhZC93cml0ZSBvcGVyYXRpb25zLiBFYWNoIERPTSBOb2RlIGlzIHJlcHJlc2VudGVkIHdp
dGggaXRzIG1pcnJvciBvYmplY3QgdGhhdCBoYXMgYW4gPGNvZGU+aWQ8L2NvZGU+LiBUaGlzIDxj
b2RlPmlkPC9jb2RlPiBjYW4gYmUgdXNlZCB0byBnZXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBv
biB0aGUgTm9kZSwgcmVzb2x2ZSBpdCBpbnRvIHRoZSBKYXZhU2NyaXB0IG9iamVjdCB3cmFwcGVy
LCBldGMuIEl0IGlzIGltcG9ydGFudCB0aGF0IGNsaWVudCByZWNlaXZlcyBET00gZXZlbnRzIG9u
bHkgZm9yIHRoZSBub2RlcyB0aGF0IGFyZSBrbm93biB0byB0aGUgY2xpZW50LiBCYWNrZW5kIGtl
ZXBzIHRyYWNrIG9mIHRoZSBub2RlcyB0aGF0IHdlcmUgc2VudCB0byB0aGUgY2xpZW50IGFuZCBu
ZXZlciBzZW5kcyB0aGUgc2FtZSBub2RlIHR3aWNlLiBJdCBpcyBjbGllbnQncyByZXNwb25zaWJp
bGl0eSB0byBjb2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBub2RlcyB0aGF0IHdlcmUgc2Vu
dCB0byB0aGUgY2xpZW50LjxwPk5vdGUgdGhhdCA8Y29kZT5pZnJhbWU8L2NvZGU+IG93bmVyIGVs
ZW1lbnRzIHdpbGwgcmV0dXJuIGNvcnJlc3BvbmRpbmcgZG9jdW1lbnQgZWxlbWVudHMgYXMgdGhl
aXIgY2hpbGQgbm9kZXMuPC9wPiIsCiAgICAgICAgICJ0eXBlcyI6IFsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCAxNGEyYWY5MjAw
NWJjMjlhNGU4NTBkZjRhNWUzMDlhMGJiOWI4ZGU2Li4yNGRmYzUxNjNkNGUxYzIwZTE0OTJmOWUz
YjMzMWJiOTkyYmY4ZjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9y
RE9NU3RvcmFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgiCkBAIC0xMDQsNiArMTA1LDkgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5z
cGVjdG9yQ29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMK
ICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICwgbV9kYXRhYmFzZUFnZW50KEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3Rh
dGUuZ2V0KCkpKQogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgICwgbV9maWxl
U3lzdGVtQWdlbnQoSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50
aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSkKKyNlbmRpZgogICAgICwgbV9kb21TdG9y
YWdlQWdlbnQoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5n
QWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSkKICAgICAsIG1fdGltZWxpbmVBZ2VudChJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBt
X3N0YXRlLmdldCgpKSkKICAgICAsIG1fYXBwbGljYXRpb25DYWNoZUFnZW50KGFkb3B0UHRyKG5l
dyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdl
dCgpLCBtX3BhZ2VBZ2VudC5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpKQpAQCAtMjA5LDYgKzIxMyw5
IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKICNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNw
ZWN0b3JGcm9udGVuZC5nZXQoKSk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisg
ICAgbV9maWxlU3lzdGVtQWdlbnQtPnNldEZyb250ZW5kKG1faW5zcGVjdG9yRnJvbnRlbmQuZ2V0
KCkpOworI2VuZGlmCiAgICAgbV9kb21TdG9yYWdlQWdlbnQtPnNldEZyb250ZW5kKG1faW5zcGVj
dG9yRnJvbnRlbmQuZ2V0KCkpOwogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIG1fd29ya2VyQWdl
bnQtPnNldEZyb250ZW5kKG1faW5zcGVjdG9yRnJvbnRlbmQuZ2V0KCkpOwpAQCAtMjM2LDYgKzI0
Myw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKICNpZiBF
TkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICAgICAgbV9kZWJ1Z2dlckFnZW50LmdldCgp
LAogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgICAgICBtX2ZpbGVTeXN0ZW1B
Z2VudC5nZXQoKSwKKyNlbmRpZgogICAgICAgICBtX3Jlc291cmNlQWdlbnQuZ2V0KCksCiAgICAg
ICAgIG1fcGFnZUFnZW50LmdldCgpLAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQpA
QCAtMjgwLDYgKzI5MCw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZy
b250ZW5kKCkKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+
Y2xlYXJGcm9udGVuZCgpOwogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIG1f
ZmlsZVN5c3RlbUFnZW50LT5jbGVhckZyb250ZW5kKCk7CisjZW5kaWYKICAgICBtX2RvbVN0b3Jh
Z2VBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwogICAgIG1fcGFnZUFnZW50LT5jbGVhckZyb250ZW5k
KCk7CiAjaWYgRU5BQkxFKFdPUktFUlMpCkBAIC0zMzMsNiArMzQ2LDkgQEAgdm9pZCBJbnNwZWN0
b3JDb250cm9sbGVyOjpyZXN0b3JlSW5zcGVjdG9yU3RhdGVGcm9tQ29va2llKGNvbnN0IFN0cmlu
ZyYgaW5zcGVjdG8KICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2Vu
dC0+cmVzdG9yZSgpOwogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIG1fZmls
ZVN5c3RlbUFnZW50LT5yZXN0b3JlKCk7CisjZW5kaWYKICAgICBtX2RvbVN0b3JhZ2VBZ2VudC0+
cmVzdG9yZSgpOwogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIG1fd29ya2VyQWdlbnQtPnJlc3Rv
cmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5o
CmluZGV4IDc2NWNhZGZjMmY3NGQ1ZDYwOTkyZTZjMjcyZmNlYzRmOTVhZmVlYTYuLmYxNTkzOTk3
NmUzZDVhNzJlZmY0ODRiMDE3MmMxMzljNDY5Njg2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtNTMsNiArNTMsNyBAQCBjbGFzcyBJ
bnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JG
cm9udGVuZDsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50OwogY2xhc3MgSW5zcGVjdG9y
UGFnZUFnZW50OwpAQCAtMTM3LDYgKzEzOCw5IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICAgICBPd25QdHI8SW5zcGVjdG9yRGF0YWJhc2VBZ2VudD4gbV9kYXRhYmFzZUFn
ZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIE93blB0cjxJbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQ+IG1fZmlsZVN5c3RlbUFnZW50OworI2VuZGlmCiAgICAgT3duUHRy
PEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudD4gbV9kb21TdG9yYWdlQWdlbnQ7CiAgICAgT3duUHRy
PEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+IG1fdGltZWxpbmVBZ2VudDsKICAgICBPd25QdHI8SW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50PiBtX2FwcGxpY2F0aW9uQ2FjaGVBZ2VudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDAyMDVjYWVkNWM3MjJiZDAxMGVkNjdiODQyM2M5ODlmYWNjNzA1
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuY3BwCkBAIC0wLDAgKzEsMTE5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIgorCisjaWYgRU5BQkxFKElOU1BF
Q1RPUikgJiYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUu
aCIKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworbmFtZXNwYWNlIEZpbGVTeXN0ZW1BZ2VudFN0YXRlIHsKK3N0YXRpYyBjb25zdCBjaGFy
IGZpbGVTeXN0ZW1BZ2VudEVuYWJsZWRbXSA9ICJmaWxlU3lzdGVtQWdlbnRFbmFibGVkIjsKK30K
KworLy8gc3RhdGljCitQYXNzT3duUHRyPEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50OjpjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlKQoreworICAgIHJldHVybiBhZG9wdFB0
cihuZXcgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRl
KSk7Cit9CisKK0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6fkluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudCgpCit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpkaWRPcGVu
RmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7CisgICAg
Ly8gVE9ETyh0emlrKToKKyAgICAvLyBTdG9yZSB8ZmlsZVN5c3RlbXwgYW5kIG5vdGlmeSB0aGUg
ZnJvbnRlbmQgdXNpbmcgfGZpbGVTeXN0ZW1BZGRlZHwgZXZlbnQuCisgICAgLy8gfGZpbGVTeXN0
ZW18IHNob3VsZCBiZSBhc3NvY2lhdGVkIHdpdGggaXRzIG5hbWUuCit9CisKK3ZvaWQgSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50OjppbnZhbGlkYXRlRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZp
bGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7CisgICAgLy8gVE9ETyh0emlrKToKKyAgICAvLyBEaXNj
YXJkIHxmaWxlU3lzdGVtfCBpZiB3ZSBoYXZlLgorICAgIC8vIElmIHRoZXJlIGlzIG5vIG90aGVy
IHxmaWxlU3lzdGVtfCB3aG8gaGFzIHNhbWUgbmFtZSB3aXRoIHxmaWxlU3lzdGVtfCwKKyAgICAv
LyBub3RpZnkgdGhlIGZyb250ZW5kIHVzaW5nIHxmaWxlU3lzdGVtSW52YWxpZGF0ZWR8IGV2ZW50
LgorfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6ZW5hYmxlKEVycm9yU3RyaW5n
KikKK3sKKyAgICBpZiAobV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9lbmFibGVk
ID0gdHJ1ZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKEZpbGVTeXN0ZW1BZ2VudFN0YXRlOjpm
aWxlU3lzdGVtQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworCisgICAgLy8gVE9ETyh0emlrKToK
KyAgICAvLyBQYXNzIGFsbCBhdmFpbGFibGUgRmlsZVN5c3RlbSB0byB0aGUgZnJvbnRlbmQsIHVz
aW5nIHxmaWxlU3lzdGVtQWRkZWR8IGV2ZW50LgorfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyopCit7CisgICAgaWYgKCFtX2VuYWJsZWQpCisg
ICAgICAgIHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSBmYWxzZTsKKyAgICBtX3N0YXRlLT5zZXRC
b29sZWFuKEZpbGVTeXN0ZW1BZ2VudFN0YXRlOjpmaWxlU3lzdGVtQWdlbnRFbmFibGVkLCBtX2Vu
YWJsZWQpOworfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6c2V0RnJvbnRlbmQo
SW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQoreworICAgIEFTU0VSVChmcm9udGVuZCk7Cisg
ICAgbV9mcm9udGVuZCA9IGZyb250ZW5kLT5maWxlc3lzdGVtKCk7Cit9CisKK3ZvaWQgSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50OjpjbGVhckZyb250ZW5kKCkKK3sKKyAgICBtX2Zyb250ZW5kID0g
MDsKK30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OnJlc3RvcmUoKQoreworICAg
IG1fZW5hYmxlZCA9IG1fc3RhdGUtPmdldEJvb2xlYW4oRmlsZVN5c3RlbUFnZW50U3RhdGU6OmZp
bGVTeXN0ZW1BZ2VudEVuYWJsZWQpOworfQorCitJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6Oklu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUpCisgICAgOiBtX2luc3RydW1lbnRpbmdBZ2Vu
dHMoaW5zdHJ1bWVudGluZ0FnZW50cyksCisgICAgICBtX3N0YXRlKHN0YXRlKSwKKyAgICAgIG1f
ZnJvbnRlbmQoMCksCisgICAgICBtX2VuYWJsZWQoZmFsc2UpCit7CisgICAgQVNTRVJUKGluc3Ry
dW1lbnRpbmdBZ2VudHMpOworICAgIEFTU0VSVChzdGF0ZSk7CisgICAgbV9pbnN0cnVtZW50aW5n
QWdlbnRzLT5zZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQodGhpcyk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShG
SUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzAwM2RiZjNmYzNjMzNjODhlZDA5MzQ0YTky
Mjk1OTY0N2I0MTU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudF9oCisjZGVmaW5lIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudF9o
CisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNs
dWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFz
cyBET01GaWxlU3lzdGVtOworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CitjbGFzcyBJbnNwZWN0
b3JTdGF0ZTsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CisKK2NsYXNzIEluc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0
YXRlKik7CisgICAgdmlydHVhbCB+SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KCk7CisKKyAgICB2
b2lkIGRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4pOworICAgIHZv
aWQgaW52YWxpZGF0ZUZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPik7CisKKyAg
ICB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopOworICAgIHZvaWQgZGlzYWJsZShFcnJvclN0cmlu
ZyopOworCisgICAgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCopOworICAgIHZv
aWQgY2xlYXJGcm9udGVuZCgpOworICAgIHZvaWQgcmVzdG9yZSgpOworcHJpdmF0ZToKKyAgICBJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0
YXRlKik7CisKKyAgICBJbnN0cnVtZW50aW5nQWdlbnRzKiBtX2luc3RydW1lbnRpbmdBZ2VudHM7
CisgICAgSW5zcGVjdG9yU3RhdGUqIG1fc3RhdGU7CisgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OkZp
bGVTeXN0ZW0qIG1fZnJvbnRlbmQ7CisgICAgYm9vbCBtX2VuYWJsZWQ7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUo
RklMRV9TWVNURU0pCisjZW5kaWYgLy8gSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50X2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1
bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3Rl
bUluc3RydW1lbnRhdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczODdhY2JhY2ExNTU1MzE4Yjg4OTQzZmQx
OWI4ZjYzOTJhMTAxYWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oCkBAIC0wLDAgKzEsNTIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb25faAorI2RlZmluZSBJbnNw
ZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uX2gKKworI2luY2x1ZGUgIkRPTUZpbGVTeXN0
ZW0uaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBFTkFCTEUoRklM
RV9TWVNURU0pCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5G
aWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoZmlsZVN5c3RlbS0+c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKKyAgICAgICAgZGlkT3BlbkZpbGVTeXN0ZW1JbXBsKGlu
c3RydW1lbnRpbmdBZ2VudHMsIGZpbGVTeXN0ZW0pOworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNU
T1IpCit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5jcHAKaW5kZXggYmQyYjllNTBlNDlkNDg1MDJhMDk3NmVkZjJhZjg5MjEwMTJmY2I3Yy4u
NGVjNjczMTczYWM5NDY1MzBiM2UyY2E2NGEyZGJlNDBlOGI1YTU1OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAg
LTMzLDYgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKKyNpbmNsdWRlICJET01G
aWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2Uu
aCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgpAQCAtNDcsNiArNDgsNyBAQAogI2luY2x1
ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIgorI2luY2x1ZGUgIklu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvclByb2ZpbGVyQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JSZXNvdXJjZUFnZW50LmgiCkBAIC03NzAsNiArNzcyLDE0IEBAIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRPcGVuRGF0YWJhc2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKK3ZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVuRmlsZVN5c3RlbUltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxl
U3lzdGVtKQoreworICAgIGlmIChJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQqIGZpbGVTeXN0ZW1B
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgpKQor
ICAgICAgICBmaWxlU3lzdGVtQWdlbnQtPmRpZE9wZW5GaWxlU3lzdGVtKGZpbGVTeXN0ZW0pOwor
fQorI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKwogdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFVzZURPTVN0b3JhZ2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIFN0b3JhZ2VBcmVhKiBzdG9yYWdlQXJlYSwgYm9vbCBpc0xvY2FsU3Rv
cmFnZSwgRnJhbWUqIGZyYW1lKQogewogICAgIEluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JBZ2Vu
dCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckFnZW50KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggYTYy
MDI3ZGM2MzgzODgwZTBjOGQ3OGI5ZjM0YTBlMzFkYjYyYmQyMS4uNTY5MzQzNGZkM2QxNTQ2MWJi
ZGJkMjMyZmQwODhhMjM1ZjRhM2ViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtNDIsNiArNDIsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBDaGFyYWN0ZXJEYXRhOworY2xhc3MgRE9NRmlsZVN5c3Rl
bTsKIGNsYXNzIERPTVdpbmRvdzsKIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIGNsYXNzIERhdGFi
YXNlOwpAQCAtMTcyLDYgKzE3MywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkT3Bl
bkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPERhdGFiYXNlPiwg
Y29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2
ZXJzaW9uKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIHN0YXRpYyB2
b2lkIGRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4pOworI2VuZGlm
CisKICAgICBzdGF0aWMgdm9pZCBkaWRVc2VET01TdG9yYWdlKFBhZ2UqLCBTdG9yYWdlQXJlYSos
IGJvb2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKik7CiAKICNpZiBFTkFCTEUoV09SS0VSUykKQEAg
LTMwNCw2ICszMDksMTAgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkaWRPcGVuRGF0YWJh
c2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVmUHRyPERhdGFiYXNlPiwgY29uc3Qg
U3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9u
KTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIHN0YXRpYyB2b2lkIGRp
ZE9wZW5GaWxlU3lzdGVtSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUGFzc1JlZlB0cjxET01G
aWxlU3lzdGVtPik7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIGRpZFVzZURPTVN0b3JhZ2VJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBTdG9yYWdlQXJlYSosIGJvb2wgaXNMb2NhbFN0b3Jh
Z2UsIEZyYW1lKik7CiAKICNpZiBFTkFCTEUoV09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCmluZGV4IDdjZDdmN2EyYWVjYWNmNjBiOGRh
ZjE2MDE0MmE5YTgxMzBhNmZhYzUuLmY3N2U4Y2Y2MDMzZWEzMTJiMjFmMTA5MTZmZDE3MWEwNjZj
NTdmY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5n
QWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2Vu
dHMuaApAQCAtNDYsNiArNDYsNyBAQCBjbGFzcyBJbnNwZWN0b3JET01BZ2VudDsKIGNsYXNzIElu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRhdGFiYXNlQWdlbnQ7CiBj
bGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OworY2xhc3MgSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50OwogY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJlc291
cmNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JSdW50aW1lQWdlbnQ7CkBAIC03MSw2ICs3Miw5IEBA
IHB1YmxpYzoKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICAsIG1faW5zcGVjdG9y
RGF0YWJhc2VBZ2VudCgwKQogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgICAg
ICAsIG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KDApCisjZW5kaWYKICAgICAgICAgLCBtX2lu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgwKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RF
QlVHR0VSKQogICAgICAgICAsIG1faW5zcGVjdG9yRGVidWdnZXJBZ2VudCgwKQpAQCAtMTE1LDYg
KzExOSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JEYXRhYmFzZUFnZW50KElu
c3BlY3RvckRhdGFiYXNlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCA9
IGFnZW50OyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBJbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQqIGluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgpIGNvbnN0IHsgcmV0
dXJuIG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQoSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KiBhZ2VudCkgeyBtX2luc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKKwogICAgIEluc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudCogaW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV9pbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ7IH0KICAgICB2b2lk
IHNldEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50ID0gYWdl
bnQ7IH0KIApAQCAtMTQ2LDYgKzE1NSw5IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFNRTF9EQVRB
QkFTRSkKICAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBtX2luc3BlY3RvckRhdGFiYXNlQWdl
bnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgSW5zcGVjdG9yRmlsZVN5
c3RlbUFnZW50KiBtX2luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDsKKyNlbmRpZgogICAgIEluc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCogbV9pbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdl
bnQ7CiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCogbV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGUxZjQ1
OTcxMGNlMDFhMzY4OTBhZDc2YzQzNzUwMGFmNzBmYzc4MzQuLmJjMmVmN2RmMmM0ZWMyNDg2MzRk
YzRiYzEyYWYxMjYzYmVjMTNiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTE1NSw2ICsxNTUsOSBAQCB2
b2lkIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAjaWYgRU5B
QkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgICAgIG1fZGVidWdnZXJBZ2VudC5nZXQoKSwK
ICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICAgICAgMCwgLy8gSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50CisjZW5kaWYKICAgICAgICAgMCwgLy8gSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudAogICAgICAgICAwLCAvLyBJbnNwZWN0b3JQYWdlQWdlbnQKICNpZiBFTkFCTEUoSkFWQVND
UklQVF9ERUJVR0dFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMKaW5kZXggMzJlNGRjZmVkZWQzMDZmMWVlYWIzZjMzNWI1M2E3MjRiMjY4Y2M5
OC4uOTNhMTAwZTM1MmVmMmZjNWU3OTg5YzgyMjM1N2ViYTU4MWU4MzI0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTM4NSw2ICsz
ODUsNyBAQCBXZWJJbnNwZWN0b3IuZG9Mb2FkZWREb25lID0gZnVuY3Rpb24oKQogICAgICAgICB0
aGlzLmNvbnNvbGUuZW5hYmxlQWdlbnQoKTsKICAgICBEYXRhYmFzZUFnZW50LmVuYWJsZSgpOwog
ICAgIERPTVN0b3JhZ2VBZ2VudC5lbmFibGUoKTsKKyAgICBGaWxlU3lzdGVtQWdlbnQuZW5hYmxl
KCk7CiAKICAgICBXZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKFdlYkluc3BlY3Rvci5zZXR0aW5ncy5s
YXN0QWN0aXZlUGFuZWwuZ2V0KCkpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116171</attachid>
            <date>2011-11-21 19:46:25 -0800</date>
            <delta_ts>2011-11-23 16:24:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72456-20111122124623.patch</filename>
            <type>text/plain</type>
            <size>34632</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwOTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNjNGRkZGUyYjcxYWU3
MjRhYWMyODllZDJlN2ExYmEzOTI1ZjgxOS4uMmRiMzA5NTkyMGJmZDFiNTE5MDU3NzUzMWUyMGNk
MmFlNWY5MjY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDExLTExLTIwICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW5zcGVjdG9yXVtGaWxl
U3lzdGVtXTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZp
bGVzIGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcg
aG9va3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgc2hvdWxkIGJl
IGFkZGVkIGluIGxhdGVyIENMLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5
c3RlbTo6Y3JlYXRlKToKKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVj
dG9yQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpj
b25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6
ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xs
ZXI6OnJlc3RvcmVJbnNwZWN0b3JTdGF0ZUZyb21Db29raWUpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuaDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZp
bGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZE9wZW5GaWxlU3lzdGVtSW1wbCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRz
OjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Omluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0
cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisKIDIwMTEtMTEtMjEgIFJha2Vz
aCBLTiAgPHJha2VzaC5rbkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgTmVlZCBzdXBwb3J0IGZv
ciBkaXJuYW1lIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA2NTI3NDJjNDAxYmQw
MGI0NDU2N2U3NjdkOWFjNmZlZDZmYjUxOWNjLi43Mzc5YTdlM2MyMzZmYjdmMDI5NmVhZDg3NWM4
Y2NmZTJhNmE5Y2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODg3LDYgKzg4Nyw3IEBAIFNF
VChXZWJDb3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5j
cHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAKICAgICBpbnNw
ZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCiAgICAg
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCAzZDQ1NmZkZTQ0ZWVmNThlNWNmMWJkM2ZjMmE4Njk0NmYyMWJiZTU2Li4yNmM1Zjg1ZmNjZjRj
ZjNhYTllNWZhMzhlMTM1YTE3NWZlMDI1ZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yNzM4LDYg
KzI3MzgsOSBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNw
cCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCcsCisg
ICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAnLAorICAg
ICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCcsCisgICAgICAg
ICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaCcsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwJywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMjIwMzVlMDA1Yzdm
NDgzY2Q5OTNkMDJjMjFjZTZmZTViY2RlNzQ2MS4uOTVkNmU5NTRkNDgyNWQwMzk4MWZmMGYzMmFj
MDhjNjBmMDljZmYwOCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKQEAgLTY4NDM4LDYgKzY4NDM4LDE4IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgiCisJCQkJPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JG
aWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwu
aCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWRhZDUxZmI1NTE2YzYwYjAwNmM0ZjkxMzU1MTQ3
MjFlYjhiOTI2Yy4uNWI0YjM5NjcyMWIxYjliNjRhZGVlZjJmNjlkOTRjMzkwN2JiOWIyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMzE3LDYgKzMxNyw5IEBACiAJCTE1Qzc3MDk0MTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlk
aXR5U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTVDNzcwOTIxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5jcHAgKi87IH07
CiAJCTE1Qzc3MEE1MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwQTMxMDBENDFD
RDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUubW0gKi87IH07CiAJCTE1Qzc3MEE2MTAwRDQx
Q0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzBBNDEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFs
aWRpdHlTdGF0ZS5oICovOyB9OworCQkxNUQxN0QyMTE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE1RDE3RDFFMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQuY3BwICovOyB9OworCQkxNUQxN0QyMjE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxNUQxN0QxRjE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50LmggKi87IH07CisJCTE1RDE3RDIzMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JG
aWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmls
ZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oICovOyB9OwogCQkxNjNFODhGNzExOEEzOUQyMDBFRDky
MzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNjNFODhGNTExOEEzOUQyMDBFRDkyMzEgLyogU2ltcGxl
Rm9udERhdGFDb3JlVGV4dC5jcHAgKi87IH07CiAJCTE2M0U4QjEzMTE4QjNBREQwMEVEOTIzMSAv
KiBTaW1wbGVGb250RGF0YUFUU1VJLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTYzRThCMTIxMThCM0FERDAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRh
QVRTVUkubW0gKi87IH07CiAJCTE4NUJDRjI4MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJlYWRUaW1l
cnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTg1
QkNGMjYwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5jcHAgKi87IH07CkBAIC0xMzc5
LDYgKzEzODIsNyBAQAogCQk1MDM4QkU0MTE0NzJBRDk4MDA5NUUwRDEgLyogQ2FjaGVkU2hhZGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDM4QkUz
RjE0NzJBRDk4MDA5NUUwRDEgLyogQ2FjaGVkU2hhZGVyLmggKi87IH07CiAJCTUwOENDQTRGMTND
RjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDhDQ0E0RDEzQ0YxMDZCMDAzMTUxRjMgLyogUmVu
ZGVyRmxvd1RocmVhZC5oICovOyB9OwogCQk1MDhDQ0E1MDEzQ0YxMDZCMDAzMTUxRjMgLyogUmVu
ZGVyRmxvd1RocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MDhDQ0E0RTEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAg
Ki87IH07CisJCTUwQjQyMTU4MTQ2OTc2OTYwMDg3RTYwNCAvKiBXZWJLaXRDU1NTaGFkZXJWYWx1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTBCNDIx
NTcxNDY5NzY5NjAwODdFNjA0IC8qIFdlYktpdENTU1NoYWRlclZhbHVlLmggKi87IH07CiAJCTUw
RTU2NkQ2MTM5RTM4QzUwMDIxNDQzMyAvKiBDU1NXcmFwU2hhcGVzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwMUJBQUIxMTM5NTExNEIwMEY3QUNF
QiAvKiBDU1NXcmFwU2hhcGVzLmNwcCAqLzsgfTsKIAkJNTEwMTg0NjkwQjA4NjAyQTAwNEE4MjVG
IC8qIENhY2hlZFBhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxMDE4NDY3MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEwMTg0NkEwQjA4NjAy
QTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTEwMTg0NjgwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2Uu
Y3BwICovOyB9OwpAQCAtNzM5Miw2ICs3Mzk2LDkgQEAKIAkJMTVDNzcwOTIxMDBEM0NBODAwNUJB
MjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1ZhbGlkaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxNUM3NzBBMzEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVZhbGlkaXR5U3RhdGUubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MEE0MTAwRDQxQ0QwMDVCQTI2NyAvKiBE
T01WYWxpZGl0eVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVZh
bGlkaXR5U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVEMTdEMUUxNDcy
MzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNUQxN0QxRjE0NzIzMUVCMDA1RUJDQTYgLyog
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3Ry
dW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JG
aWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTE2M0U4OEY1MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXBsZUZvbnREYXRhQ29yZVRl
eHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNjNFOEIxMjExOEIzQUREMDBF
RDkyMzEgLyogU2ltcGxlRm9udERhdGFBVFNVSS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFNpbXBsZUZvbnREYXRhQVRTVUkubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTE4NUJDRjI2MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJlYWRUaW1lcnMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGhyZWFkVGltZXJzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTE5LDYgKzE0NTI2LDkgQEAKIAkJCQk3
QTc0RUNCOTEwMTgzOUE2MDBCRjkzOUUgLyogSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmggKi8s
CiAJCQkJNDFGMDYxNzMwRjVGMDBBQzAwQTA3RUFDIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VSZXNv
dXJjZS5jcHAgKi8sCiAJCQkJNDFGMDYxNzIwRjVGMDBBQzAwQTA3RUFDIC8qIEluc3BlY3RvckRP
TVN0b3JhZ2VSZXNvdXJjZS5oICovLAorCQkJCTE1RDE3RDFFMTQ3MjMxRUIwMDVFQkNBNiAvKiBJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovLAorCQkJCTE1RDE3RDFGMTQ3MjMxRUIwMDVF
QkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCAqLywKKwkJCQkxNUQxN0QyMDE0NzIz
MUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oICovLAog
CQkJCTIyNzc3NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwu
aCAqLywKIAkJCQlGMzQ0QzcxMjExMjVCODJDMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQuaCAqLywKIAkJCQlGMzQ0Qzc1NzExMjk0RkY2MDBGMjZFRUUgLyogSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5jcHAgKi8sCkBAIC0yMzA1MCw2ICsyMzA2MCw4IEBACiAJCQkJRjNE
NEM0NzkxMkUwNzY2MzAwM0RBMTUwIC8qIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdBNzRFQ0JCMTAxODM5QTYwMEJGOTM5RSAvKiBJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjA2MTc0MEY1RjAwQUMwMEEwN0VB
QyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTE1
RDE3RDIyMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTE1RDE3RDIzMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxl
U3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkyMjc3Nzc2MDEzNDVE
RUE5MDA4RUE0NTUgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywK
IAkJCQlGMzQ0QzcxNDExMjVCODJDMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUYzNDRDNzUzMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmggaW4gSGVhZGVycyAqLywKQEAgLTI2MDI1LDYgKzI2MDM3
LDcgQEAKIAkJCQlGM0Q0QzQ3ODEyRTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9yRE9NRGVidWdn
ZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTc0RUNCQTEwMTgzOUE2MDBCRjkzOUUg
LyogSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRjA2
MTc1MEY1RjAwQUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMTVEMTdEMjExNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RjRGNUZGQjExQ0JEMkUxMDBB
MTg2QkYgLyogSW5zcGVjdG9yRnJvbnRlbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM0NEM3
NTgxMTI5NEZGNjAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0EwRTc3MEUxMEMwMEE4ODAwQTAyNzZFIC8qIEluc3BlY3RvckZy
b250ZW5kSG9zdC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZp
bGVTeXN0ZW0uY3BwCmluZGV4IDUxMjY1MzAyMmNmNjExZjcwOWU3YmZjOWRhZDkxODFjYjQ2NDBj
ZWYuLmFjMzg2OTAzYjE4ZmJiY2IxYzUwZWE0NzgyMjIwMTkxMWU3NjcyMjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcApAQCAtNDUsMTIgKzQ1LDIxIEBACiAjaW5j
bHVkZSAiRmlsZVdyaXRlci5oIgogI2luY2x1ZGUgIkZpbGVXcml0ZXJCYXNlQ2FsbGJhY2suaCIK
ICNpbmNsdWRlICJGaWxlV3JpdGVyQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxl
U3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTWV0YWRhdGFDYWxsYmFjay5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gc3RhdGljCitQYXNzUmVmUHRyPERPTUZp
bGVTeXN0ZW0+IERPTUZpbGVTeXN0ZW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtPiBh
c3luY0ZpbGVTeXN0ZW0pCit7CisgICAgUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0o
YWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVt
KSkpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZpbGVTeXN0ZW0oZmls
ZVN5c3RlbS5nZXQoKSk7CisgICAgcmV0dXJuIGZpbGVTeXN0ZW07Cit9CisKIERPTUZpbGVTeXN0
ZW06OkRPTUZpbGVTeXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNGaWxlU3lzdGVt
KQogICAgIDogRE9NRmlsZVN5c3RlbUJhc2UoY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVt
KQogICAgICwgQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvRE9NRmlsZVN5c3RlbS5oCmluZGV4IDhlMzU1NjcwZmM0NWRjMzlmMjg1YTIwYzlmNGVjNDZh
ZTUxNmFiYzYuLjc0ZmE5YWMxODE1ZmQ1ZWNmMTVlMWM1MGI1ZTAyOTBjYWViNjhhODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCkBAIC00NywxMCArNDcsNyBAQCBjbGFz
cyBGaWxlV3JpdGVyQ2FsbGJhY2s7CiAKIGNsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMgRE9N
RmlsZVN5c3RlbUJhc2UsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lz
dGVtPiBhc3luY0ZpbGVTeXN0ZW0pCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7Ci0gICAgfQor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3Rl
bT4pOwogCiAgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeT4gcm9vdCgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weSBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5Cm9sZCBt
b2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggOGNiYWFkNzI1MWEwMTFjOGJmNTY4YTg4
YjY3ZDA2OWUzY2ViYTlhYS4uODgxOTZhMTU3ZDE3MWFhYjhmMzE3MmY1OTU2ZGU1MGRkZTA2NDA2
YQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5w
eQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5w
eQpAQCAtNDIsNiArNDIsNyBAQCBET01BSU5fREVGSU5FX05BTUVfTUFQID0gewogICAgICJEYXRh
YmFzZSI6ICJFTkFCTEVfU1FMX0RBVEFCQVNFIiwKICAgICAiRGVidWdnZXIiOiAiRU5BQkxFX0pB
VkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICJET01EZWJ1Z2dlciI6ICJFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUiIsCisgICAgIkZpbGVTeXN0ZW0iOiAiRU5BQkxFX0ZJTEVfU1lTVEVNIiwKICAg
ICAiUHJvZmlsZXIiOiAiRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICJXb3JrZXIi
OiAiRU5BQkxFX1dPUktFUlMiLAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uCmluZGV4IDllOGE5NjQwNzE2OWRmMGI5M2M3ZmJlMjkzNjk2NmI2OTUxNDc2ODcuLjMzN2Zj
NDg4NGY4NmE3NWUwZTUzZDczYmRlMjAwMmY0YmZiMjFiZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTEwMDYsNiArMTAwNiwyMiBAQAogICAgICAgICBdCiAg
ICAgfSwKICAgICB7CisgICAgICAgICJkb21haW4iOiAiRmlsZVN5c3RlbSIsCisgICAgICAgICJo
aWRkZW4iOiB0cnVlLAorICAgICAgICAiY29tbWFuZHMiOiBbCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiZW5hYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRp
b24iOiAiRW5hYmxlcyBldmVudHMgZnJvbSBiYWNrZW5kLiIKKyAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzYWJsZSIsCisgICAgICAgICAg
ICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIGV2ZW50cyBmcm9tIGJhY2tlbmQuLiIKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgXSwKKyAgICAgICAgImV2ZW50cyI6IFsKKyAgICAgICAgXQor
ICAgIH0sCisgICAgewogICAgICAgICAiZG9tYWluIjogIkRPTSIsCiAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJUaGlzIGRvbWFpbiBleHBvc2VzIERPTSByZWFkL3dyaXRlIG9wZXJhdGlvbnMuIEVh
Y2ggRE9NIE5vZGUgaXMgcmVwcmVzZW50ZWQgd2l0aCBpdHMgbWlycm9yIG9iamVjdCB0aGF0IGhh
cyBhbiA8Y29kZT5pZDwvY29kZT4uIFRoaXMgPGNvZGU+aWQ8L2NvZGU+IGNhbiBiZSB1c2VkIHRv
IGdldCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIHRoZSBOb2RlLCByZXNvbHZlIGl0IGludG8g
dGhlIEphdmFTY3JpcHQgb2JqZWN0IHdyYXBwZXIsIGV0Yy4gSXQgaXMgaW1wb3J0YW50IHRoYXQg
Y2xpZW50IHJlY2VpdmVzIERPTSBldmVudHMgb25seSBmb3IgdGhlIG5vZGVzIHRoYXQgYXJlIGtu
b3duIHRvIHRoZSBjbGllbnQuIEJhY2tlbmQga2VlcHMgdHJhY2sgb2YgdGhlIG5vZGVzIHRoYXQg
d2VyZSBzZW50IHRvIHRoZSBjbGllbnQgYW5kIG5ldmVyIHNlbmRzIHRoZSBzYW1lIG5vZGUgdHdp
Y2UuIEl0IGlzIGNsaWVudCdzIHJlc3BvbnNpYmlsaXR5IHRvIGNvbGxlY3QgaW5mb3JtYXRpb24g
YWJvdXQgdGhlIG5vZGVzIHRoYXQgd2VyZSBzZW50IHRvIHRoZSBjbGllbnQuPHA+Tm90ZSB0aGF0
IDxjb2RlPmlmcmFtZTwvY29kZT4gb3duZXIgZWxlbWVudHMgd2lsbCByZXR1cm4gY29ycmVzcG9u
ZGluZyBkb2N1bWVudCBlbGVtZW50cyBhcyB0aGVpciBjaGlsZCBub2Rlcy48L3A+IiwKICAgICAg
ICAgInR5cGVzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCmluZGV4IDE0YTJhZjkyMDA1YmMyOWE0ZTg1MGRmNGE1ZTMwOWEwYmI5Yjhk
ZTYuLjI0ZGZjNTE2M2Q0ZTFjMjBlMTQ5MmY5ZTNiMzMxYmI5OTJiZjhmNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTQ5LDYg
KzQ5LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckZyb250ZW5kLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTEwNCw2ICsxMDUs
OSBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2Us
IEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAg
ICAgLCBtX2RhdGFiYXNlQWdlbnQoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6Y3JlYXRlKG1faW5z
dHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpCiAjZW5kaWYKKyNpZiBFTkFC
TEUoRklMRV9TWVNURU0pCisgICAgLCBtX2ZpbGVTeXN0ZW1BZ2VudChJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0
KCkpKQorI2VuZGlmCiAgICAgLCBtX2RvbVN0b3JhZ2VBZ2VudChJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkp
KQogICAgICwgbV90aW1lbGluZUFnZW50KEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmNyZWF0ZSht
X2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKQogICAgICwgbV9hcHBs
aWNhdGlvbkNhY2hlQWdlbnQoYWRvcHRQdHIobmV3IEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudChtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fcGFnZUFnZW50LmdldCgpLCBtX3N0
YXRlLmdldCgpKSkpCkBAIC0yMDksNiArMjEzLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVy
Ojpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRh
YmFzZUFnZW50LT5zZXRGcm9udGVuZChtX2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKICNlbmRp
ZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBtX2ZpbGVTeXN0ZW1BZ2VudC0+c2V0RnJv
bnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CisjZW5kaWYKICAgICBtX2RvbVN0b3Jh
Z2VBZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JGcm9udGVuZC5nZXQoKSk7CiAjaWYgRU5B
QkxFKFdPUktFUlMpCiAgICAgbV93b3JrZXJBZ2VudC0+c2V0RnJvbnRlbmQobV9pbnNwZWN0b3JG
cm9udGVuZC5nZXQoKSk7CkBAIC0yMzYsNiArMjQzLDkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9s
bGVyOjpjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQog
ICAgICAgICBtX2RlYnVnZ2VyQWdlbnQuZ2V0KCksCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9T
WVNURU0pCisgICAgICAgIG1fZmlsZVN5c3RlbUFnZW50LmdldCgpLAorI2VuZGlmCiAgICAgICAg
IG1fcmVzb3VyY2VBZ2VudC5nZXQoKSwKICAgICAgICAgbV9wYWdlQWdlbnQuZ2V0KCksCiAjaWYg
RU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCkBAIC0yODAsNiArMjkwLDkgQEAgdm9pZCBJbnNw
ZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQoKQogI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAjZW5kaWYKKyNp
ZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgbV9maWxlU3lzdGVtQWdlbnQtPmNsZWFyRnJvbnRl
bmQoKTsKKyNlbmRpZgogICAgIG1fZG9tU3RvcmFnZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CiAg
ICAgbV9wYWdlQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsKICNpZiBFTkFCTEUoV09SS0VSUykKQEAg
LTMzMyw2ICszNDYsOSBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnJlc3RvcmVJbnNwZWN0
b3JTdGF0ZUZyb21Db29raWUoY29uc3QgU3RyaW5nJiBpbnNwZWN0bwogI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5yZXN0b3JlKCk7CiAjZW5kaWYKKyNpZiBF
TkFCTEUoRklMRV9TWVNURU0pCisgICAgbV9maWxlU3lzdGVtQWdlbnQtPnJlc3RvcmUoKTsKKyNl
bmRpZgogICAgIG1fZG9tU3RvcmFnZUFnZW50LT5yZXN0b3JlKCk7CiAjaWYgRU5BQkxFKFdPUktF
UlMpCiAgICAgbV93b3JrZXJBZ2VudC0+cmVzdG9yZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNzY1Y2FkZmMyZjc0ZDVkNjA5OTJl
NmMyNzJmY2VjNGY5NWFmZWVhNi4uZjE1OTM5OTc2ZTNkNWE3MmVmZjQ4NGIwMTcyYzEzOWM0Njk2
ODY1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5oCkBAIC01Myw2ICs1Myw3IEBAIGNsYXNzIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ7CiBj
bGFzcyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JEYXRhYmFzZUFn
ZW50OwogY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudDsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwogY2xhc3MgSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQ7CiBjbGFzcyBJbnNwZWN0b3JQYWdlQWdlbnQ7CkBAIC0xMzcsNiArMTM4LDkg
QEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIE93blB0cjxJbnNwZWN0
b3JEYXRhYmFzZUFnZW50PiBtX2RhdGFiYXNlQWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoRklM
RV9TWVNURU0pCisgICAgT3duUHRyPEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gbV9maWxlU3lz
dGVtQWdlbnQ7CisjZW5kaWYKICAgICBPd25QdHI8SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50PiBt
X2RvbVN0b3JhZ2VBZ2VudDsKICAgICBPd25QdHI8SW5zcGVjdG9yVGltZWxpbmVBZ2VudD4gbV90
aW1lbGluZUFnZW50OwogICAgIE93blB0cjxJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ+
IG1fYXBwbGljYXRpb25DYWNoZUFnZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTUyZGMyNzY0
ZTFiZDI5NTUyYjM4MmZhMmU5MjQ1NWVkMjJjMmY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAKQEAgLTAsMCAr
MSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50LmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoRklMRV9TWVNURU0p
CisKKyNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdB
Z2VudHMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgRmlsZVN5c3RlbUFn
ZW50U3RhdGUgeworc3RhdGljIGNvbnN0IGNoYXIgZmlsZVN5c3RlbUFnZW50RW5hYmxlZFtdID0g
ImZpbGVTeXN0ZW1BZ2VudEVuYWJsZWQiOworfQorCisvLyBzdGF0aWMKK1Bhc3NPd25QdHI8SW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50PiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmNyZWF0ZShJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSog
c3RhdGUpCit7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQoaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpKTsKK30KKworSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50Ojp+SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KCkKK3sKKyAgICBtX2luc3RydW1lbnRp
bmdBZ2VudHMtPnNldEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgwKTsKK30KKwordm9pZCBJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmls
ZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyAgICAvLyBUT0RPKHR6aWspOgorICAgIC8vIFN0b3Jl
IGZpbGVTeXN0ZW0gYW5kIG5vdGlmeSB0aGUgZnJvbnRlbmQgdXNpbmcgZmlsZVN5c3RlbUFkZGVk
IGV2ZW50LgorICAgIC8vIGZpbGVTeXN0ZW0gc2hvdWxkIGJlIGFzc29jaWF0ZWQgd2l0aCBpdHMg
bmFtZS4KK30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmZpbGVTeXN0ZW1JbnZh
bGlkYXRlZChQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0pCit7CisgICAgLy8g
VE9ETyh0emlrKToKKyAgICAvLyBEaXNjYXJkIGZpbGVTeXN0ZW0gaWYgd2UgaGF2ZS4KKyAgICAv
LyBJZiB0aGVyZSBpcyBubyBvdGhlciBmaWxlU3lzdGVtIHdobyBoYXMgc2FtZSBuYW1lIHdpdGgg
ZmlsZVN5c3RlbSwKKyAgICAvLyBub3RpZnkgdGhlIGZyb250ZW5kIHVzaW5nIGZpbGVTeXN0ZW1J
bnZhbGlkYXRlZCBldmVudC4KK30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmVu
YWJsZShFcnJvclN0cmluZyopCit7CisgICAgaWYgKG1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJu
OworICAgIG1fZW5hYmxlZCA9IHRydWU7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihGaWxlU3lz
dGVtQWdlbnRTdGF0ZTo6ZmlsZVN5c3RlbUFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKKworICAg
IC8vIFRPRE8odHppayk6CisgICAgLy8gUGFzcyBhbGwgYXZhaWxhYmxlIEZpbGVTeXN0ZW0gdG8g
dGhlIGZyb250ZW5kLCB1c2luZyBmaWxlU3lzdGVtQWRkZWQgZXZlbnQuCit9CisKK3ZvaWQgSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAo
IW1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZW5hYmxlZCA9IGZhbHNlOworICAg
IG1fc3RhdGUtPnNldEJvb2xlYW4oRmlsZVN5c3RlbUFnZW50U3RhdGU6OmZpbGVTeXN0ZW1BZ2Vu
dEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCit7CisgICAgQVNTRVJU
KGZyb250ZW5kKTsKKyAgICBtX2Zyb250ZW5kID0gZnJvbnRlbmQtPmZpbGVzeXN0ZW0oKTsKK30K
Kwordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAg
IG1fZnJvbnRlbmQgPSAwOworICAgIG1fZW5hYmxlZCA9IGZhbHNlOworICAgIG1fc3RhdGUtPnNl
dEJvb2xlYW4oRmlsZVN5c3RlbUFnZW50U3RhdGU6OmZpbGVTeXN0ZW1BZ2VudEVuYWJsZWQsIG1f
ZW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpyZXN0b3JlKCkK
K3sKKyAgICBtX2VuYWJsZWQgPSBtX3N0YXRlLT5nZXRCb29sZWFuKEZpbGVTeXN0ZW1BZ2VudFN0
YXRlOjpmaWxlU3lzdGVtQWdlbnRFbmFibGVkKTsKK30KKworSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50OjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlKQorICAgIDogbV9pbnN0cnVtZW50
aW5nQWdlbnRzKGluc3RydW1lbnRpbmdBZ2VudHMpLAorICAgICAgbV9zdGF0ZShzdGF0ZSksCisg
ICAgICBtX2Zyb250ZW5kKDApLAorICAgICAgbV9lbmFibGVkKGZhbHNlKQoreworICAgIEFTU0VS
VChpbnN0cnVtZW50aW5nQWdlbnRzKTsKKyAgICBBU1NFUlQoc3RhdGUpOworICAgIG1faW5zdHJ1
bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KHRoaXMpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAmJiBF
TkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIyM2I4ZDZkNWFhYTI3MmM2NDk2
YzlhY2Q2ODJjNWIwMzBlZTMxMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaApAQCAtMCwwICsxLDczIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKEZJTEVfU1lTVEVNKQor
CisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKworI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgRE9NRmlsZVN5c3RlbTsKK2NsYXNzIEluc3BlY3RvckZyb250ZW5kOworY2xhc3Mg
SW5zcGVjdG9yU3RhdGU7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOworCitjbGFzcyBJbnNw
ZWN0b3JGaWxlU3lzdGVtQWdlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPElu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNw
ZWN0b3JTdGF0ZSopOworICAgIHZpcnR1YWwgfkluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgpOwor
CisgICAgdm9pZCBkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+KTsK
KyAgICB2b2lkIGZpbGVTeXN0ZW1JbnZhbGlkYXRlZChQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+
KTsKKworICAgIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKik7CisgICAgdm9pZCBkaXNhYmxlKEVy
cm9yU3RyaW5nKik7CisKKyAgICB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKik7
CisgICAgdm9pZCBjbGVhckZyb250ZW5kKCk7CisgICAgdm9pZCByZXN0b3JlKCk7Citwcml2YXRl
OgorICAgIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5z
cGVjdG9yU3RhdGUqKTsKKworICAgIEluc3RydW1lbnRpbmdBZ2VudHMqIG1faW5zdHJ1bWVudGlu
Z0FnZW50czsKKyAgICBJbnNwZWN0b3JTdGF0ZSogbV9zdGF0ZTsKKyAgICBJbnNwZWN0b3JGcm9u
dGVuZDo6RmlsZVN5c3RlbSogbV9mcm9udGVuZDsKKyAgICBib29sIG1fZW5hYmxlZDsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYm
IEVOQUJMRShGSUxFX1NZU1RFTSkKKyNlbmRpZiAvLyBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnRf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0
ZW1JbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
aWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM4N2FjYmFjYTE1NTUzMThi
ODg5NDNmZDE5YjhmNjM5MmExMDFhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAsMCAr
MSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbl9oCisjZGVm
aW5lIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAiRE9N
RmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2lmIEVO
QUJMRShGSUxFX1NZU1RFTSkKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtKQor
eworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChmaWxlU3lz
dGVtLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKQorICAgICAgICBkaWRPcGVuRmlsZVN5c3Rl
bUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZmlsZVN5c3RlbSk7CisjZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKK30KKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEluc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50
YXRpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmNwcAppbmRleCA0Y2I4ZGM3ZmIxMTIyNWU3MTJjMDdiYzM3MDYwNGU1Y2Ey
NmE5MTE2Li4yZTg0ZjViOTljMzc3MTdmZjQwMjhjNjdjMWI4OWZiYzA0ZjM5ZjIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAorI2luY2x1
ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJE
YXRhYmFzZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCkBAIC00Nyw2ICs0OCw3IEBA
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgiCisjaW5j
bHVkZSAiSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFn
ZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvclJlc291cmNlQWdlbnQuaCIKQEAgLTc3MCw2ICs3NzIsMTQgQEAgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5EYXRhYmFzZUltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWUKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQordm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5GaWxlU3lzdGVtSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBQYXNzUmVmUHRyPERPTUZpbGVTeXN0
ZW0+IGZpbGVTeXN0ZW0pCit7CisgICAgaWYgKEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogZmls
ZVN5c3RlbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50KCkpCisgICAgICAgIGZpbGVTeXN0ZW1BZ2VudC0+ZGlkT3BlbkZpbGVTeXN0ZW0oZmlsZVN5
c3RlbSk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCiB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cywgU3RvcmFnZUFyZWEqIHN0b3JhZ2VBcmVhLCBib29sIGlz
TG9jYWxTdG9yYWdlLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgSW5zcGVjdG9yQWdlbnQqIGluc3Bl
Y3RvckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQWdlbnQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApp
bmRleCBhNjIwMjdkYzYzODM4ODBlMGM4ZDc4YjlmMzRhMGUzMWRiNjJiZDIxLi41NjkzNDM0ZmQz
ZDE1NDYxYmJkYmQyMzJmZDA4OGEyMzVmNGEzZWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC00Miw2ICs0Miw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENoYXJhY3RlckRhdGE7CitjbGFzcyBET01G
aWxlU3lzdGVtOwogY2xhc3MgRE9NV2luZG93OwogY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogY2xh
c3MgRGF0YWJhc2U7CkBAIC0xNzIsNiArMTczLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9p
ZCBkaWRPcGVuRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8RGF0
YWJhc2U+LCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIHZlcnNpb24pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAg
c3RhdGljIHZvaWQgZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPik7
CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIGRpZFVzZURPTVN0b3JhZ2UoUGFnZSosIFN0b3Jh
Z2VBcmVhKiwgYm9vbCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUqKTsKIAogI2lmIEVOQUJMRShXT1JL
RVJTKQpAQCAtMzA0LDYgKzMwOSwxMCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZE9w
ZW5EYXRhYmFzZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhc3NSZWZQdHI8RGF0YWJhc2U+
LCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHZlcnNpb24pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgc3RhdGlj
IHZvaWQgZGlkT3BlbkZpbGVTeXN0ZW1JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYXNzUmVm
UHRyPERPTUZpbGVTeXN0ZW0+KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgZGlkVXNlRE9N
U3RvcmFnZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFN0b3JhZ2VBcmVhKiwgYm9vbCBpc0xv
Y2FsU3RvcmFnZSwgRnJhbWUqKTsKIAogI2lmIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggN2NkN2Y3YTJhZWNh
Y2Y2MGI4ZGFmMTYwMTQyYTlhODEzMGE2ZmFjNS4uZjc3ZThjZjYwMzNlYTMxMmIyMWYxMDkxNmZk
MTcxYTA2NmM1N2ZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVu
dGluZ0FnZW50cy5oCkBAIC00Niw2ICs0Niw3IEBAIGNsYXNzIEluc3BlY3RvckRPTUFnZW50Owog
Y2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VB
Z2VudDsKIGNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50OwogY2xhc3MgSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKQEAgLTcxLDYg
KzcyLDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgICwgbV9p
bnNwZWN0b3JEYXRhYmFzZUFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0p
CisgICAgICAgICwgbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoMCkKKyNlbmRpZgogICAgICAg
ICAsIG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KDApCiAjaWYgRU5BQkxFKEpBVkFT
Q1JJUFRfREVCVUdHRVIpCiAgICAgICAgICwgbV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50KDApCkBA
IC0xMTUsNiArMTE5LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEluc3BlY3RvckRhdGFiYXNl
QWdlbnQoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JEYXRhYmFz
ZUFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAg
IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogaW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7IH0KKyAgICB2b2lkIHNldElu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudChJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQqIGFnZW50KSB7
IG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50ID0gYWdlbnQ7IH0KKyNlbmRpZgorCiAgICAgSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBpbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdl
bnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDsgfQog
ICAgIHZvaWQgc2V0SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckFwcGxp
Y2F0aW9uQ2FjaGVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdl
bnQgPSBhZ2VudDsgfQogCkBAIC0xNDYsNiArMTU1LDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogICAgIEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIG1faW5zcGVjdG9yRGF0
YWJhc2VBZ2VudDsKICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBJbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQqIG1faW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OworI2VuZGlmCiAg
ICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBtX2luc3BlY3RvckFwcGxpY2F0aW9u
Q2FjaGVBZ2VudDsKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50KiBtX2luc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5k
ZXggZTFmNDU5NzEwY2UwMWEzNjg5MGFkNzZjNDM3NTAwYWY3MGZjNzgzNC4uYmMyZWY3ZGYyYzRl
YzI0ODYzNGRjNGJjMTJhZjEyNjNiZWMxM2JiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMTU1LDYgKzE1
NSw5IEBAIHZvaWQgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKCkK
ICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICAgICAgbV9kZWJ1Z2dlckFnZW50
LmdldCgpLAogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgICAgICAwLCAvLyBJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQKKyNlbmRpZgogICAgICAgICAwLCAvLyBJbnNwZWN0b3JS
ZXNvdXJjZUFnZW50CiAgICAgICAgIDAsIC8vIEluc3BlY3RvclBhZ2VBZ2VudAogI2lmIEVOQUJM
RShKQVZBU0NSSVBUX0RFQlVHR0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCA1NzhjNzk4MjMxZjEwZjRlNmMzN2FlNmI3ZTA0M2Iz
NzgzZGE0MGNjLi42MTU0MmVjNjNmYzliOWJjYTU1NjUzNTJiZGJmY2IxMThlOTZhY2MxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAt
Mzg1LDYgKzM4NSw3IEBAIFdlYkluc3BlY3Rvci5kb0xvYWRlZERvbmUgPSBmdW5jdGlvbigpCiAg
ICAgICAgIHRoaXMuY29uc29sZS5lbmFibGVBZ2VudCgpOwogICAgIERhdGFiYXNlQWdlbnQuZW5h
YmxlKCk7CiAgICAgRE9NU3RvcmFnZUFnZW50LmVuYWJsZSgpOworICAgIEZpbGVTeXN0ZW1BZ2Vu
dC5lbmFibGUoKTsKIAogICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoV2ViSW5zcGVjdG9yLnNl
dHRpbmdzLmxhc3RBY3RpdmVQYW5lbC5nZXQoKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116449</attachid>
            <date>2011-11-23 16:25:02 -0800</date>
            <delta_ts>2011-11-28 02:00:57 -0800</delta_ts>
            <desc>Patch (rebase)</desc>
            <filename>bug-72456-20111124092500.patch</filename>
            <type>text/plain</type>
            <size>34637</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdmYmY0NmQ0ZWE3MTVl
NGY0YzNkYjM3ZTY1ZDU1NGMxODU0MGNmZC4uMjJlYTQzYjBjY2ZmZjdhYWU2YzY3MTJhMTVkNjU1
M2ZjZTU0MDMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDExLTExLTIwICBUYWlq
dSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW5zcGVjdG9yXVtGaWxl
U3lzdGVtXTogQ2FwdHVyZSBET01GaWxlU3lzdGVtIG9iamVjdC4KKyAgICAgICAgQWRkaW5nIGZp
bGVzIGZvciBGaWxlU3lzdGVtIHN1cHBvcnQgdG8gSW5zcGVjdG9yLgorICAgICAgICBBZGRpbmcg
aG9va3MgaW50byBET01GaWxlU3lzdGVtIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgc2hvdWxkIGJl
IGFkZGVkIGluIGxhdGVyIENMLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5
c3RlbTo6Y3JlYXRlKToKKyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVj
dG9yQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpj
b25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6
ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xs
ZXI6OnJlc3RvcmVJbnNwZWN0b3JTdGF0ZUZyb21Db29raWUpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuaDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZp
bGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZE9wZW5GaWxlU3lzdGVtSW1wbCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRz
OjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Omluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0
cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisKIDIwMTEtMTEtMjMgIE5pY28g
V2ViZXIgIDx0aGFraXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBvbmUgc3RhdGlj
IGluaXRpYWxpemVyIChmb3Iga1RpY2tUaW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwZmU3
ZTZiYjJhN2RkNDA2NGRmZTBmMDljOGI4NGJiODZlNjM0YWQxLi5mMDcyZTQwNzE2YmQzYmY5ZDJk
ZDhhNzgxMWE2MjBjYjYxOGU4YmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODg3LDYgKzg4
Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJh
c2VBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAK
ICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQppbmRleCBiOWM3YWZmMGFlMmNiY2U1N2E3ZTdiYTMzOTJlMGMxM2VjOGMxY2IzLi40NjNh
NmEyMTg3Mjk3MjM3M2RlM2QyZTdlNjk2ZWYzYjUzMjJmNTEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBA
IC0yNzQwLDYgKzI3NDAsOSBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEYXRh
YmFzZVJlc291cmNlLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdl
bnQuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5j
cHAnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCcs
CisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRp
b24uaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5o
JywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5j
cHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYTFl
YjY2NmU1ZDM1ODk1YTI1ODkyNDMxYzgzNjMyM2M3MTkxN2E5Yi4uMTAxMzg0NzViNGFiNmZjNDYz
OGJmYzM0YzQ3ZTBmZTI0ZDE4YTNlZCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKQEAgLTY4NDM4LDYgKzY4NDM4LDE4IEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJ
bnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmU0NzQwNjdmNDAxMjQ3MDFjYTRi
NDM1Mjg4ZjAyY2I2MWU2YmQwMy4uYjMzOTdkZDJhY2U4NDM4ZTFhY2I3Y2JjMjA0YTUyNTYyYzgy
MDA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMzE3LDYgKzMxNyw5IEBACiAJCTE1Qzc3MDk0MTAwRDNDQTgwMDVCQTI2NyAv
KiBKU1ZhbGlkaXR5U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTVDNzcwOTIxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5j
cHAgKi87IH07CiAJCTE1Qzc3MEE1MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRl
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcw
QTMxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUubW0gKi87IH07CiAJCTE1Qzc3
MEE2MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzBBNDEwMEQ0MUNEMDA1QkEyNjcg
LyogRE9NVmFsaWRpdHlTdGF0ZS5oICovOyB9OworCQkxNUQxN0QyMTE0NzIzMUVCMDA1RUJDQTYg
LyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1RDE3RDFFMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovOyB9OworCQkxNUQxN0QyMjE0NzIzMUVCMDA1RUJDQTYg
LyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QxRjE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50LmggKi87IH07CisJCTE1RDE3RDIzMTQ3MjMxRUIwMDVFQkNBNiAvKiBJ
bnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5z
cGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oICovOyB9OwogCQkxNjNFODhGNzExOEEz
OUQyMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNjNFODhGNTExOEEzOUQyMDBFRDkyMzEg
LyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgKi87IH07CiAJCTE2M0U4QjEzMTE4QjNBREQw
MEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUFUU1VJLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTYzRThCMTIxMThCM0FERDAwRUQ5MjMxIC8qIFNpbXBs
ZUZvbnREYXRhQVRTVUkubW0gKi87IH07CiAJCTE4NUJDRjI4MEYzMjc5Q0UwMDBFQTI2MiAvKiBU
aHJlYWRUaW1lcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMTg1QkNGMjYwRjMyNzlDRTAwMEVBMjYyIC8qIFRocmVhZFRpbWVycy5jcHAgKi87IH07
CkBAIC0xMzc5LDYgKzEzODIsNyBAQAogCQk1MDM4QkU0MTE0NzJBRDk4MDA5NUUwRDEgLyogQ2Fj
aGVkU2hhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MDM4QkUzRjE0NzJBRDk4MDA5NUUwRDEgLyogQ2FjaGVkU2hhZGVyLmggKi87IH07CiAJCTUw
OENDQTRGMTNDRjEwNkIwMDMxNTFGMyAvKiBSZW5kZXJGbG93VGhyZWFkLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MDhDQ0E0RDEzQ0YxMDZCMDAzMTUx
RjMgLyogUmVuZGVyRmxvd1RocmVhZC5oICovOyB9OwogCQk1MDhDQ0E1MDEzQ0YxMDZCMDAzMTUx
RjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MDhDQ0E0RTEzQ0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1Ro
cmVhZC5jcHAgKi87IH07CisJCTUwQjQyMTU4MTQ2OTc2OTYwMDg3RTYwNCAvKiBXZWJLaXRDU1NT
aGFkZXJWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTBCNDIxNTcxNDY5NzY5NjAwODdFNjA0IC8qIFdlYktpdENTU1NoYWRlclZhbHVlLmggKi87
IH07CiAJCTUwRTU2NkQ2MTM5RTM4QzUwMDIxNDQzMyAvKiBDU1NXcmFwU2hhcGVzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUwMUJBQUIxMTM5NTEx
NEIwMEY3QUNFQiAvKiBDU1NXcmFwU2hhcGVzLmNwcCAqLzsgfTsKIAkJNTEwMTg0NjkwQjA4NjAy
QTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxMDE4NDY3MEIwODYwMkEwMDRBODI1RiAvKiBDYWNoZWRQYWdlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEwMTg0
NkEwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMTg0NjgwQjA4NjAyQTAwNEE4MjVGIC8qIENh
Y2hlZFBhZ2UuY3BwICovOyB9OwpAQCAtNzQwMCw2ICs3NDA0LDkgQEAKIAkJMTVDNzcwOTIxMDBE
M0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1ZhbGlkaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxNUM3NzBBMzEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVZhbGlkaXR5U3Rh
dGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MEE0MTAwRDQxQ0QwMDVC
QTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTVZhbGlkaXR5U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVE
MTdEMUUxNDcyMzFFQjAwNUVCQ0E2IC8qIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNUQxN0QxRjE0NzIzMUVCMDA1
RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxNUQxN0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5
c3RlbUluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJ
bnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTE2M0U4OEY1MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVU
ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXBsZUZvbnRE
YXRhQ29yZVRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNjNFOEIxMjEx
OEIzQUREMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFBVFNVSS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNpbXBsZUZvbnREYXRhQVRTVUkubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE4NUJDRjI2MEYzMjc5Q0UwMDBFQTI2MiAvKiBUaHJlYWRU
aW1lcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGhyZWFkVGlt
ZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTM1LDYgKzE0NTQyLDkg
QEAKIAkJCQk3QTc0RUNCOTEwMTgzOUE2MDBCRjkzOUUgLyogSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50LmggKi8sCiAJCQkJNDFGMDYxNzMwRjVGMDBBQzAwQTA3RUFDIC8qIEluc3BlY3RvckRPTVN0
b3JhZ2VSZXNvdXJjZS5jcHAgKi8sCiAJCQkJNDFGMDYxNzIwRjVGMDBBQzAwQTA3RUFDIC8qIElu
c3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oICovLAorCQkJCTE1RDE3RDFFMTQ3MjMxRUIwMDVF
QkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwICovLAorCQkJCTE1RDE3RDFGMTQ3
MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCAqLywKKwkJCQkxNUQx
N0QyMDE0NzIzMUVCMDA1RUJDQTYgLyogSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlv
bi5oICovLAogCQkJCTIyNzc3NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwuaCAqLywKIAkJCQlGMzQ0QzcxMjExMjVCODJDMDBGMjZFRUUgLyogSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuaCAqLywKIAkJCQlGMzQ0Qzc1NzExMjk0RkY2MDBGMjZFRUUgLyogSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgKi8sCkBAIC0yMzA3NCw2ICsyMzA4NCw4IEBA
CiAJCQkJRjNENEM0NzkxMkUwNzY2MzAwM0RBMTUwIC8qIEluc3BlY3RvckRPTURlYnVnZ2VyQWdl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNzRFQ0JCMTAxODM5QTYwMEJGOTM5RSAvKiBJbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjA2MTc0MEY1RjAw
QUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICov
LAorCQkJCTE1RDE3RDIyMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTE1RDE3RDIzMTQ3MjMxRUIwMDVFQkNBNiAvKiBJbnNw
ZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkyMjc3
Nzc2MDEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGMzQ0QzcxNDExMjVCODJDMDBGMjZFRUUgLyogSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNDRDNzUzMTEyOTREOUQwMEYyNkVFRSAv
KiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggaW4gSGVhZGVycyAqLywKQEAgLTI2MDUz
LDYgKzI2MDY1LDcgQEAKIAkJCQlGM0Q0QzQ3ODEyRTA3NjYzMDAzREExNTAgLyogSW5zcGVjdG9y
RE9NRGVidWdnZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTc0RUNCQTEwMTgzOUE2
MDBCRjkzOUUgLyogSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQxRjA2MTc1MEY1RjAwQUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3Vy
Y2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTVEMTdEMjExNDcyMzFFQjAwNUVCQ0E2IC8qIElu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RjRGNUZGQjEx
Q0JEMkUxMDBBMTg2QkYgLyogSW5zcGVjdG9yRnJvbnRlbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRjM0NEM3NTgxMTI5NEZGNjAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0EwRTc3MEUxMEMwMEE4ODAwQTAyNzZFIC8qIElu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0RPTUZpbGVTeXN0ZW0uY3BwCmluZGV4IDUxMjY1MzAyMmNmNjExZjcwOWU3YmZjOWRhZDkx
ODFjYjQ2NDBjZWYuLmFjMzg2OTAzYjE4ZmJiY2IxYzUwZWE0NzgyMjIwMTkxMWU3NjcyMjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcApAQCAtNDUsMTIgKzQ1LDIx
IEBACiAjaW5jbHVkZSAiRmlsZVdyaXRlci5oIgogI2luY2x1ZGUgIkZpbGVXcml0ZXJCYXNlQ2Fs
bGJhY2suaCIKICNpbmNsdWRlICJGaWxlV3JpdGVyQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJJbnNw
ZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTWV0YWRhdGFDYWxs
YmFjay5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gc3RhdGljCitQYXNzUmVm
UHRyPERPTUZpbGVTeXN0ZW0+IERPTUZpbGVTeXN0ZW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5bmNGaWxl
U3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCit7CisgICAgUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZp
bGVTeXN0ZW0oYWRvcHRSZWYobmV3IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwgYXN5bmNG
aWxlU3lzdGVtKSkpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZpbGVT
eXN0ZW0oZmlsZVN5c3RlbS5nZXQoKSk7CisgICAgcmV0dXJuIGZpbGVTeXN0ZW07Cit9CisKIERP
TUZpbGVTeXN0ZW06OkRPTUZpbGVTeXN0ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbT4gYXN5bmNG
aWxlU3lzdGVtKQogICAgIDogRE9NRmlsZVN5c3RlbUJhc2UoY29udGV4dCwgbmFtZSwgYXN5bmNG
aWxlU3lzdGVtKQogICAgICwgQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCmluZGV4IDhlMzU1NjcwZmM0NWRjMzlmMjg1YTIw
YzlmNGVjNDZhZTUxNmFiYzYuLjc0ZmE5YWMxODE1ZmQ1ZWNmMTVlMWM1MGI1ZTAyOTBjYWViNjhh
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5oCkBAIC00NywxMCArNDcs
NyBAQCBjbGFzcyBGaWxlV3JpdGVyQ2FsbGJhY2s7CiAKIGNsYXNzIERPTUZpbGVTeXN0ZW0gOiBw
dWJsaWMgRE9NRmlsZVN5c3RlbUJhc2UsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8QXN5
bmNGaWxlU3lzdGVtPiBhc3luY0ZpbGVTeXN0ZW0pCi0gICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IERPTUZpbGVTeXN0ZW0oY29udGV4dCwgbmFtZSwgYXN5bmNGaWxlU3lzdGVtKSk7
Ci0gICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPEFzeW5j
RmlsZVN5c3RlbT4pOwogCiAgICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeT4gcm9vdCgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9y
LnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggOGNiYWFkNzI1MWEwMTFj
OGJmNTY4YTg4YjY3ZDA2OWUzY2ViYTlhYS4uODgxOTZhMTU3ZDE3MWFhYjhmMzE3MmY1OTU2ZGU1
MGRkZTA2NDA2YQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvcklu
c3BlY3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvcklu
c3BlY3Rvci5weQpAQCAtNDIsNiArNDIsNyBAQCBET01BSU5fREVGSU5FX05BTUVfTUFQID0gewog
ICAgICJEYXRhYmFzZSI6ICJFTkFCTEVfU1FMX0RBVEFCQVNFIiwKICAgICAiRGVidWdnZXIiOiAi
RU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICJET01EZWJ1Z2dlciI6ICJFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUiIsCisgICAgIkZpbGVTeXN0ZW0iOiAiRU5BQkxFX0ZJTEVfU1lT
VEVNIiwKICAgICAiUHJvZmlsZXIiOiAiRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAg
ICJXb3JrZXIiOiAiRU5BQkxFX1dPUktFUlMiLAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5qc29uCmluZGV4IGI3MTZjYThiMDNjZmFlYTA3ZDdhMzBjNDllNzIyYTJmNTVkYzg1
Y2QuLjUzN2I1OWVhNDE4OTFkZWYzMTFkOWE4YjMxY2UxYzk3NmE0Mzc2MTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTk5NCw2ICs5OTQsMjIgQEAKICAgICAg
ICAgXQogICAgIH0sCiAgICAgeworICAgICAgICAiZG9tYWluIjogIkZpbGVTeXN0ZW0iLAorICAg
ICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgImNvbW1hbmRzIjogWworICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICJuYW1lIjogImVuYWJsZSIsCisgICAgICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIkVuYWJsZXMgZXZlbnRzIGZyb20gYmFja2VuZC4iCisgICAgICAgICAgICB9
LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImRpc2FibGUiLAorICAg
ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxlcyBldmVudHMgZnJvbSBiYWNrZW5k
Li4iCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbCisgICAg
ICAgIF0KKyAgICB9LAorICAgIHsKICAgICAgICAgImRvbWFpbiI6ICJET00iLAogICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiVGhpcyBkb21haW4gZXhwb3NlcyBET00gcmVhZC93cml0ZSBvcGVyYXRp
b25zLiBFYWNoIERPTSBOb2RlIGlzIHJlcHJlc2VudGVkIHdpdGggaXRzIG1pcnJvciBvYmplY3Qg
dGhhdCBoYXMgYW4gPGNvZGU+aWQ8L2NvZGU+LiBUaGlzIDxjb2RlPmlkPC9jb2RlPiBjYW4gYmUg
dXNlZCB0byBnZXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiB0aGUgTm9kZSwgcmVzb2x2ZSBp
dCBpbnRvIHRoZSBKYXZhU2NyaXB0IG9iamVjdCB3cmFwcGVyLCBldGMuIEl0IGlzIGltcG9ydGFu
dCB0aGF0IGNsaWVudCByZWNlaXZlcyBET00gZXZlbnRzIG9ubHkgZm9yIHRoZSBub2RlcyB0aGF0
IGFyZSBrbm93biB0byB0aGUgY2xpZW50LiBCYWNrZW5kIGtlZXBzIHRyYWNrIG9mIHRoZSBub2Rl
cyB0aGF0IHdlcmUgc2VudCB0byB0aGUgY2xpZW50IGFuZCBuZXZlciBzZW5kcyB0aGUgc2FtZSBu
b2RlIHR3aWNlLiBJdCBpcyBjbGllbnQncyByZXNwb25zaWJpbGl0eSB0byBjb2xsZWN0IGluZm9y
bWF0aW9uIGFib3V0IHRoZSBub2RlcyB0aGF0IHdlcmUgc2VudCB0byB0aGUgY2xpZW50LjxwPk5v
dGUgdGhhdCA8Y29kZT5pZnJhbWU8L2NvZGU+IG93bmVyIGVsZW1lbnRzIHdpbGwgcmV0dXJuIGNv
cnJlc3BvbmRpbmcgZG9jdW1lbnQgZWxlbWVudHMgYXMgdGhlaXIgY2hpbGQgbm9kZXMuPC9wPiIs
CiAgICAgICAgICJ0eXBlcyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBkMjExYjRlMmIxNmFhNzZiZjI5NGVhMzViODIwMjZm
ZjkzZWY2OGZiLi4xNDE5ODRmZjllOWE3YjE5YzA5MWYxMjk4NTE5MzlkOGViY2RmNTJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBA
IC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRl
YnVnZ2VyQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5k
Q2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC03OSw2
ICs4MCw5IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSog
cGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKICAgICAsIG1fZGF0YWJhc2VBZ2VudChJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpjcmVhdGUo
bV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSkKICNlbmRpZgorI2lm
IEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICAsIG1fZmlsZVN5c3RlbUFnZW50KEluc3BlY3RvckZp
bGVTeXN0ZW1BZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0
ZS5nZXQoKSkpCisjZW5kaWYKICAgICAsIG1fZG9tU3RvcmFnZUFnZW50KEluc3BlY3RvckRPTVN0
b3JhZ2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5n
ZXQoKSkpCiAgICAgLCBtX3RpbWVsaW5lQWdlbnQoSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6Y3Jl
YXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpCiAgICAgLCBt
X2FwcGxpY2F0aW9uQ2FjaGVBZ2VudChhZG9wdFB0cihuZXcgSW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9wYWdlQWdlbnQuZ2V0KCks
IG1fc3RhdGUuZ2V0KCkpKSkKQEAgLTE3MSw2ICsxNzUsOSBAQCB2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBt
X2RhdGFiYXNlQWdlbnQtPnNldEZyb250ZW5kKG1faW5zcGVjdG9yRnJvbnRlbmQuZ2V0KCkpOwog
I2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIG1fZmlsZVN5c3RlbUFnZW50LT5z
ZXRGcm9udGVuZChtX2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKKyNlbmRpZgogICAgIG1fZG9t
U3RvcmFnZUFnZW50LT5zZXRGcm9udGVuZChtX2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKICNp
ZiBFTkFCTEUoV09SS0VSUykKICAgICBtX3dvcmtlckFnZW50LT5zZXRGcm9udGVuZChtX2luc3Bl
Y3RvckZyb250ZW5kLmdldCgpKTsKQEAgLTE5OCw2ICsyMDUsOSBAQCB2b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpCiAgICAgICAgIG1fZGVidWdnZXJBZ2VudC5nZXQoKSwKICNlbmRpZgorI2lmIEVOQUJMRShG
SUxFX1NZU1RFTSkKKyAgICAgICAgbV9maWxlU3lzdGVtQWdlbnQuZ2V0KCksCisjZW5kaWYKICAg
ICAgICAgbV9yZXNvdXJjZUFnZW50LmdldCgpLAogICAgICAgICBtX3BhZ2VBZ2VudC5nZXQoKSwK
ICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKQEAgLTIzNyw2ICsyNDcsOSBAQCB2b2lk
IEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZCgpCiAjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKICAgICBtX2RhdGFiYXNlQWdlbnQtPmNsZWFyRnJvbnRlbmQoKTsKICNlbmRp
ZgorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBtX2ZpbGVTeXN0ZW1BZ2VudC0+Y2xlYXJG
cm9udGVuZCgpOworI2VuZGlmCiAgICAgbV9kb21TdG9yYWdlQWdlbnQtPmNsZWFyRnJvbnRlbmQo
KTsKICAgICBtX3BhZ2VBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwogI2lmIEVOQUJMRShXT1JLRVJT
KQpAQCAtMjkwLDYgKzMwMyw5IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUlu
c3BlY3RvclN0YXRlRnJvbUNvb2tpZShjb25zdCBTdHJpbmcmIGluc3BlY3RvCiAjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKICAgICBtX2RhdGFiYXNlQWdlbnQtPnJlc3RvcmUoKTsKICNlbmRpZgor
I2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBtX2ZpbGVTeXN0ZW1BZ2VudC0+cmVzdG9yZSgp
OworI2VuZGlmCiAgICAgbV9kb21TdG9yYWdlQWdlbnQtPnJlc3RvcmUoKTsKICNpZiBFTkFCTEUo
V09SS0VSUykKICAgICBtX3dvcmtlckFnZW50LT5yZXN0b3JlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBiMDU3OTNiNzgxYjg4ZGE3
ODZiY2NjMTk1NzAzMWIyOTA4MjQwZWY3Li5mODU1YzcxNzNkMzkwMTc4ZmExZDA3OTY2ZDgwYTll
YzNlN2M3OTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmgKQEAgLTUzLDYgKzUzLDcgQEAgY2xhc3MgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2Vu
dDsKIGNsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRhdGFi
YXNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OworY2xhc3MgSW5zcGVjdG9y
RmlsZVN5c3RlbUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CiBjbGFzcyBJbnNwZWN0
b3JGcm9udGVuZENsaWVudDsKIGNsYXNzIEluc3BlY3RvclBhZ2VBZ2VudDsKQEAgLTEyNyw2ICsx
MjgsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgT3duUHRyPElu
c3BlY3RvckRhdGFiYXNlQWdlbnQ+IG1fZGF0YWJhc2VBZ2VudDsKICNlbmRpZgorI2lmIEVOQUJM
RShGSUxFX1NZU1RFTSkKKyAgICBPd25QdHI8SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50PiBtX2Zp
bGVTeXN0ZW1BZ2VudDsKKyNlbmRpZgogICAgIE93blB0cjxJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQ+IG1fZG9tU3RvcmFnZUFnZW50OwogICAgIE93blB0cjxJbnNwZWN0b3JUaW1lbGluZUFnZW50
PiBtX3RpbWVsaW5lQWdlbnQ7CiAgICAgT3duUHRyPEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudD4gbV9hcHBsaWNhdGlvbkNhY2hlQWdlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1NTJk
YzI3NjRlMWJkMjk1NTJiMzgyZmEyZTkyNDU1ZWQyMmMyZjYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcApAQCAt
MCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQuaCIKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShGSUxFX1NZ
U1RFTSkKKworI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVu
dGluZ0FnZW50cy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBGaWxlU3lz
dGVtQWdlbnRTdGF0ZSB7CitzdGF0aWMgY29uc3QgY2hhciBmaWxlU3lzdGVtQWdlbnRFbmFibGVk
W10gPSAiZmlsZVN5c3RlbUFnZW50RW5hYmxlZCI7Cit9CisKKy8vIHN0YXRpYworUGFzc093blB0
cjxJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ+IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6Y3Jl
YXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0
YXRlKiBzdGF0ZSkKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkpOworfQorCitJbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQ6On5JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoKQoreworICAgIG1faW5zdHJ1
bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KDApOworfQorCit2b2lk
IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6ZGlkT3BlbkZpbGVTeXN0ZW0oUGFzc1JlZlB0cjxE
T01GaWxlU3lzdGVtPiBmaWxlU3lzdGVtKQoreworICAgIC8vIFRPRE8odHppayk6CisgICAgLy8g
U3RvcmUgZmlsZVN5c3RlbSBhbmQgbm90aWZ5IHRoZSBmcm9udGVuZCB1c2luZyBmaWxlU3lzdGVt
QWRkZWQgZXZlbnQuCisgICAgLy8gZmlsZVN5c3RlbSBzaG91bGQgYmUgYXNzb2NpYXRlZCB3aXRo
IGl0cyBuYW1lLgorfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6ZmlsZVN5c3Rl
bUludmFsaWRhdGVkKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyAg
ICAvLyBUT0RPKHR6aWspOgorICAgIC8vIERpc2NhcmQgZmlsZVN5c3RlbSBpZiB3ZSBoYXZlLgor
ICAgIC8vIElmIHRoZXJlIGlzIG5vIG90aGVyIGZpbGVTeXN0ZW0gd2hvIGhhcyBzYW1lIG5hbWUg
d2l0aCBmaWxlU3lzdGVtLAorICAgIC8vIG5vdGlmeSB0aGUgZnJvbnRlbmQgdXNpbmcgZmlsZVN5
c3RlbUludmFsaWRhdGVkIGV2ZW50LgorfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAobV9lbmFibGVkKQorICAgICAgICBy
ZXR1cm47CisgICAgbV9lbmFibGVkID0gdHJ1ZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKEZp
bGVTeXN0ZW1BZ2VudFN0YXRlOjpmaWxlU3lzdGVtQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOwor
CisgICAgLy8gVE9ETyh0emlrKToKKyAgICAvLyBQYXNzIGFsbCBhdmFpbGFibGUgRmlsZVN5c3Rl
bSB0byB0aGUgZnJvbnRlbmQsIHVzaW5nIGZpbGVTeXN0ZW1BZGRlZCBldmVudC4KK30KKwordm9p
ZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcqKQoreworICAg
IGlmICghbV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9lbmFibGVkID0gZmFsc2U7
CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihGaWxlU3lzdGVtQWdlbnRTdGF0ZTo6ZmlsZVN5c3Rl
bUFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCkKK3sKKyAgICBB
U1NFUlQoZnJvbnRlbmQpOworICAgIG1fZnJvbnRlbmQgPSBmcm9udGVuZC0+ZmlsZXN5c3RlbSgp
OworfQorCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6Y2xlYXJGcm9udGVuZCgpCit7
CisgICAgbV9mcm9udGVuZCA9IDA7CisgICAgbV9lbmFibGVkID0gZmFsc2U7CisgICAgbV9zdGF0
ZS0+c2V0Qm9vbGVhbihGaWxlU3lzdGVtQWdlbnRTdGF0ZTo6ZmlsZVN5c3RlbUFnZW50RW5hYmxl
ZCwgbV9lbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OnJlc3Rv
cmUoKQoreworICAgIG1fZW5hYmxlZCA9IG1fc3RhdGUtPmdldEJvb2xlYW4oRmlsZVN5c3RlbUFn
ZW50U3RhdGU6OmZpbGVTeXN0ZW1BZ2VudEVuYWJsZWQpOworfQorCitJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQ6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUpCisgICAgOiBtX2luc3Ry
dW1lbnRpbmdBZ2VudHMoaW5zdHJ1bWVudGluZ0FnZW50cyksCisgICAgICBtX3N0YXRlKHN0YXRl
KSwKKyAgICAgIG1fZnJvbnRlbmQoMCksCisgICAgICBtX2VuYWJsZWQoZmFsc2UpCit7CisgICAg
QVNTRVJUKGluc3RydW1lbnRpbmdBZ2VudHMpOworICAgIEFTU0VSVChzdGF0ZSk7CisgICAgbV9p
bnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQodGhpcyk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
ICYmIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjIzYjhkNmQ1YWFhMjcy
YzY0OTZjOWFjZDY4MmM1YjAzMGVlMzEwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oCkBAIC0wLDAgKzEsNzMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudF9oCisjZGVmaW5lIEluc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudF9oCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoRklMRV9TWVNU
RU0pCisKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorCisjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CitjbGFzcyBET01GaWxlU3lzdGVtOworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7Citj
bGFzcyBJbnNwZWN0b3JTdGF0ZTsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CisKK2NsYXNz
IEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25Q
dHI8SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyos
IEluc3BlY3RvclN0YXRlKik7CisgICAgdmlydHVhbCB+SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
KCk7CisKKyAgICB2b2lkIGRpZE9wZW5GaWxlU3lzdGVtKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3Rl
bT4pOworICAgIHZvaWQgZmlsZVN5c3RlbUludmFsaWRhdGVkKFBhc3NSZWZQdHI8RE9NRmlsZVN5
c3RlbT4pOworCisgICAgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcqKTsKKyAgICB2b2lkIGRpc2Fi
bGUoRXJyb3JTdHJpbmcqKTsKKworICAgIHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRl
bmQqKTsKKyAgICB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKKyAgICB2b2lkIHJlc3RvcmUoKTsKK3By
aXZhdGU6CisgICAgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMq
LCBJbnNwZWN0b3JTdGF0ZSopOworCisgICAgSW5zdHJ1bWVudGluZ0FnZW50cyogbV9pbnN0cnVt
ZW50aW5nQWdlbnRzOworICAgIEluc3BlY3RvclN0YXRlKiBtX3N0YXRlOworICAgIEluc3BlY3Rv
ckZyb250ZW5kOjpGaWxlU3lzdGVtKiBtX2Zyb250ZW5kOworICAgIGJvb2wgbV9lbmFibGVkOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikgJiYgRU5BQkxFKEZJTEVfU1lTVEVNKQorI2VuZGlmIC8vIEluc3BlY3RvckZpbGVTeXN0ZW1B
Z2VudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmls
ZVN5c3RlbUluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Mzg3YWNiYWNhMTU1
NTMxOGI4ODk0M2ZkMTliOGY2MzkyYTEwMWFiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1JbnN0cnVtZW50YXRpb24uaApAQCAt
MCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JGaWxlU3lzdGVtSW5zdHJ1bWVudGF0aW9uX2gK
KyNkZWZpbmUgSW5zcGVjdG9yRmlsZVN5c3RlbUluc3RydW1lbnRhdGlvbl9oCisKKyNpbmNsdWRl
ICJET01GaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgi
CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisj
aWYgRU5BQkxFKEZJTEVfU1lTVEVNKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0
ZW0pCit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGZp
bGVTeXN0ZW0tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCisgICAgICAgIGRpZE9wZW5GaWxl
U3lzdGVtSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBmaWxlU3lzdGVtKTsKKyNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQorfQorI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gSW5zcGVjdG9yRmlsZVN5c3RlbUluc3Ry
dW1lbnRhdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDcxMzI5NDMxNmUwMmI5OWE2NzNlZDljMTAxNGVl
YjY2ZTdmNjFiMmQuLjdiNzQ1ZjQyMjkwZGY3N2E2ZTczYzZmM2QyOWY1ODU0MGJjNGJmZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCisj
aW5jbHVkZSAiRE9NRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1
ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKQEAgLTQ3LDYgKzQ4
LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIK
KyNpbmNsdWRlICJJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JQYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQcm9maWxlckFnZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgpAQCAtNzY4LDYgKzc3MCwxNCBAQCB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNlSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0p
Cit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkZpbGVTeXN0ZW1JbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFBhc3NSZWZQdHI8RE9NRmls
ZVN5c3RlbT4gZmlsZVN5c3RlbSkKK3sKKyAgICBpZiAoSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
KiBmaWxlU3lzdGVtQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQoKSkKKyAgICAgICAgZmlsZVN5c3RlbUFnZW50LT5kaWRPcGVuRmlsZVN5c3RlbShm
aWxlU3lzdGVtKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRVc2VET01TdG9yYWdlSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBTdG9yYWdlQXJlYSogc3RvcmFnZUFyZWEsIGJv
b2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBJbnNwZWN0b3JBZ2VudCog
aW5zcGVjdG9yQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oCmluZGV4IGE2MjAyN2RjNjM4Mzg4MGUwYzhkNzhiOWYzNGEwZTMxZGI2MmJkMjEuLjU2OTM0
MzRmZDNkMTU0NjFiYmRiZDIzMmZkMDg4YTIzNWY0YTNlYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTQyLDYgKzQy
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2hhcmFjdGVyRGF0YTsKK2NsYXNz
IERPTUZpbGVTeXN0ZW07CiBjbGFzcyBET01XaW5kb3c7CiBjbGFzcyBET01XcmFwcGVyV29ybGQ7
CiBjbGFzcyBEYXRhYmFzZTsKQEAgLTE3Miw2ICsxNzMsMTAgQEAgcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGRpZE9wZW5EYXRhYmFzZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxEYXRhYmFzZT4sIGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdmVyc2lvbik7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkK
KyAgICBzdGF0aWMgdm9pZCBkaWRPcGVuRmlsZVN5c3RlbShQYXNzUmVmUHRyPERPTUZpbGVTeXN0
ZW0+KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgZGlkVXNlRE9NU3RvcmFnZShQYWdlKiwg
U3RvcmFnZUFyZWEqLCBib29sIGlzTG9jYWxTdG9yYWdlLCBGcmFtZSopOwogCiAjaWYgRU5BQkxF
KFdPUktFUlMpCkBAIC0zMDQsNiArMzA5LDEwIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQg
ZGlkT3BlbkRhdGFiYXNlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgUGFzc1JlZlB0cjxEYXRh
YmFzZT4sIGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgdmVyc2lvbik7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKyAgICBz
dGF0aWMgdm9pZCBkaWRPcGVuRmlsZVN5c3RlbUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBh
c3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4pOworI2VuZGlmCisKICAgICBzdGF0aWMgdm9pZCBkaWRV
c2VET01TdG9yYWdlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgU3RvcmFnZUFyZWEqLCBib29s
IGlzTG9jYWxTdG9yYWdlLCBGcmFtZSopOwogCiAjaWYgRU5BQkxFKFdPUktFUlMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRleCA3Y2Q3Zjdh
MmFlY2FjZjYwYjhkYWYxNjAxNDJhOWE4MTMwYTZmYWM1Li5mNzdlOGNmNjAzM2VhMzEyYjIxZjEw
OTE2ZmQxNzFhMDY2YzU3ZmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgY2xhc3MgSW5zcGVjdG9yRE9NQWdl
bnQ7CiBjbGFzcyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JEYXRh
YmFzZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKK2NsYXNzIEluc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudDsKIGNsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ7CiBjbGFzcyBJ
bnNwZWN0b3JSZXNvdXJjZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yUnVudGltZUFnZW50OwpAQCAt
NzEsNiArNzIsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAg
LCBtX2luc3BlY3RvckRhdGFiYXNlQWdlbnQoMCkKICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1NZ
U1RFTSkKKyAgICAgICAgLCBtX2luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCgwKQorI2VuZGlmCiAg
ICAgICAgICwgbV9pbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoMCkKICNpZiBFTkFCTEUo
SkFWQVNDUklQVF9ERUJVR0dFUikKICAgICAgICAgLCBtX2luc3BlY3RvckRlYnVnZ2VyQWdlbnQo
MCkKQEAgLTExNSw2ICsxMTksMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SW5zcGVjdG9yRGF0
YWJhc2VBZ2VudChJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckRh
dGFiYXNlQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0p
CisgICAgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KiBpbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQo
KSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDsgfQorICAgIHZvaWQg
c2V0SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50KEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogYWdl
bnQpIHsgbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQgPSBhZ2VudDsgfQorI2VuZGlmCisKICAg
ICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQqIGluc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9y
QXBwbGljYXRpb25DYWNoZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudCA9IGFnZW50OyB9CiAKQEAgLTE0Niw2ICsxNTUsOSBAQCBwcml2YXRlOgogI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogbV9pbnNwZWN0
b3JEYXRhYmFzZUFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorICAgIElu
c3BlY3RvckZpbGVTeXN0ZW1BZ2VudCogbV9pbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ7CisjZW5k
aWYKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQqIG1faW5zcGVjdG9yQXBwbGlj
YXRpb25DYWNoZUFnZW50OwogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQqIG1faW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNw
cAppbmRleCBmODhmYjVjZmMzZGIxMWFjMzYyOTc1NGM2OTViNGQwNDEyMDllMDE1Li4xZGMxMTMw
YzdkNGU3ZGY4MDNmNTNhMDhhOGNmYzI1ODBjNDg5N2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xMzYs
NiArMTM2LDkgQEAgdm9pZCBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRl
bmQoKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICAgICBtX2RlYnVnZ2Vy
QWdlbnQuZ2V0KCksCiAjZW5kaWYKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisgICAgICAgIDAs
IC8vIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudAorI2VuZGlmCiAgICAgICAgIDAsIC8vIEluc3Bl
Y3RvclJlc291cmNlQWdlbnQKICAgICAgICAgMCwgLy8gSW5zcGVjdG9yUGFnZUFnZW50CiAjaWYg
RU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDlkOTFlYjc1OTQwMWVhNGMxYjQxYjIxZjBk
NGJhYjA5OTQwYzQ0YTYuLmQ2NWI5YzBiMzQ0ZmM1OTM3NzZhNTVkNDkzOTc3NjhlMjIxMDkxNDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpz
CkBAIC0zODUsNiArMzg1LDcgQEAgV2ViSW5zcGVjdG9yLmRvTG9hZGVkRG9uZSA9IGZ1bmN0aW9u
KCkKICAgICAgICAgdGhpcy5jb25zb2xlLmVuYWJsZUFnZW50KCk7CiAgICAgRGF0YWJhc2VBZ2Vu
dC5lbmFibGUoKTsKICAgICBET01TdG9yYWdlQWdlbnQuZW5hYmxlKCk7CisgICAgRmlsZVN5c3Rl
bUFnZW50LmVuYWJsZSgpOwogCiAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbChXZWJJbnNwZWN0
b3Iuc2V0dGluZ3MubGFzdEFjdGl2ZVBhbmVsLmdldCgpKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>