<?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>118326</bug_id>
          
          <creation_ts>2013-07-02 14:43:45 -0700</creation_ts>
          <short_desc>Preparing WebCore to receive Nix Port</short_desc>
          <delta_ts>2013-09-09 10:15:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>117658</blocked>
    
    <blocked>118367</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Thiago de Barros Lacerda">thiago.lacerda</reporter>
          <assigned_to name="Hugo Parente Lima">hugo.lima</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>d-r</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>hugo.lima</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luciano.wolf</cc>
    
    <cc>luiz</cc>
    
    <cc>nick.diego</cc>
    
    <cc>noam</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>905581</commentid>
    <comment_count>0</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-07-02 14:43:45 -0700</bug_when>
    <thetext>Only adding the compilation directives that are Nix specific, in the existent WebCore files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905582</commentid>
    <comment_count>1</comment_count>
      <attachid>205945</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-07-02 14:52:02 -0700</bug_when>
    <thetext>Created attachment 205945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905861</commentid>
    <comment_count>2</comment_count>
      <attachid>205945</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-07-03 07:02:39 -0700</bug_when>
    <thetext>Comment on attachment 205945
Patch

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

&gt; Source/WebCore/platform/graphics/GraphicsContext3D.h:492
&gt; -#if USE(ACCELERATED_COMPOSITING) 
&gt; +#if USE(ACCELERATED_COMPOSITING)

typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905927</commentid>
    <comment_count>3</comment_count>
    <who name="Luciano Wolf">luciano.wolf</who>
    <bug_when>2013-07-03 10:55:40 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 205945 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205945&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/GraphicsContext3D.h:492
&gt; &gt; -#if USE(ACCELERATED_COMPOSITING) 
&gt; &gt; +#if USE(ACCELERATED_COMPOSITING)
&gt; 
&gt; typo

Sorry, I didn&apos;t get it. Shouldn&apos;t that trailing space be removed by this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905936</commentid>
    <comment_count>4</comment_count>
      <attachid>205945</attachid>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2013-07-03 11:07:44 -0700</bug_when>
    <thetext>Comment on attachment 205945
Patch

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

&gt; Source/WebCore/platform/graphics/cairo/GLContext.cpp:22
&gt; +#if USE(OPENGL) || USE(OPENGL_ES_2)

I think you should add &quot;|| (PLATFORM(NIX) &amp;&amp; USE(OPENGL_ES_2))&quot; to make sure you don&apos;t affect other ports. It&apos;s not clear for me why this change is nix specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905973</commentid>
    <comment_count>5</comment_count>
      <attachid>205945</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-07-03 14:05:37 -0700</bug_when>
    <thetext>Comment on attachment 205945
Patch

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

&gt; Source/WebCore/platform/DragImage.h:64
&gt; -#elif PLATFORM(GTK)
&gt; +#elif PLATFORM(GTK) || PLATFORM(NIX)
&gt;      typedef cairo_surface_t* DragImageRef;

I wonder why this isn&apos;t under USE(CAIRO).

&gt; Source/WebCore/platform/FileSystem.h:124
&gt; -#elif PLATFORM(GTK)
&gt; +#elif PLATFORM(GTK) || PLATFORM(NIX)
&gt;  typedef GFileIOStream* PlatformFileHandle;

I wonder if we should add USE(GLIB). It&apos;s quite confusing that &quot;G&quot; types are used by two platforms, one of which doesn&apos;t have a &quot;G&quot; in its name.

&gt; Source/WebCore/platform/PlatformMenuDescription.h:38
&gt; +#elif PLATFORM(NIX)
&gt; +#include &lt;wtf/Vector.h&gt;

Why is this needed?  You are not changing this file in any other way, and this file is not using Vector.

&gt; Source/WebCore/platform/audio/FFTFrame.h:189
&gt; +#if PLATFORM(NIX)
&gt; +    void scalePlanarData(float scale);
&gt; +    OwnPtr&lt;WebKit::WebFFTFrame&gt; m_fftFrame;
&gt; +#endif // PLATFORM(NIX)

Ugh, WebCore is not supposed to know anything about WebKit. This is a terrible layering violation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905978</commentid>
    <comment_count>6</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2013-07-03 14:26:57 -0700</bug_when>
    <thetext>Hi, thanks for spend time reviewing the code.

(In reply to comment #5)
&gt; (From update of attachment 205945 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205945&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/DragImage.h:64
&gt; &gt; -#elif PLATFORM(GTK)
&gt; &gt; +#elif PLATFORM(GTK) || PLATFORM(NIX)
&gt; &gt;      typedef cairo_surface_t* DragImageRef;
&gt; 
&gt; I wonder why this isn&apos;t under USE(CAIRO).

Efl port also use Cairo and it&apos;s not included in this #if.
 
&gt; &gt; Source/WebCore/platform/FileSystem.h:124
&gt; &gt; -#elif PLATFORM(GTK)
&gt; &gt; +#elif PLATFORM(GTK) || PLATFORM(NIX)
&gt; &gt;  typedef GFileIOStream* PlatformFileHandle;
&gt; 
&gt; I wonder if we should add USE(GLIB). It&apos;s quite confusing that &quot;G&quot; types are used by two platforms, one of which doesn&apos;t have a &quot;G&quot; in its name.

Efl port also uses Glib in some places and it&apos;s not named GEfl, so Nix doesn&apos;t need to be named GNix ;-).

For sure some Efl/Gtk/Nix code can be unified under a common glib directory/prefix, this is planned by us but we need to go one step at time.
 
&gt; &gt; Source/WebCore/platform/PlatformMenuDescription.h:38
&gt; &gt; +#elif PLATFORM(NIX)
&gt; &gt; +#include &lt;wtf/Vector.h&gt;
&gt; 
&gt; Why is this needed?  You are not changing this file in any other way, and this file is not using Vector.

True, this change must go on the cpp file using it.
 
&gt; &gt; Source/WebCore/platform/audio/FFTFrame.h:189
&gt; &gt; +#if PLATFORM(NIX)
&gt; &gt; +    void scalePlanarData(float scale);
&gt; &gt; +    OwnPtr&lt;WebKit::WebFFTFrame&gt; m_fftFrame;
&gt; &gt; +#endif // PLATFORM(NIX)
&gt; 
&gt; Ugh, WebCore is not supposed to know anything about WebKit. This is a terrible layering violation.

The name may be confused you, this WebKit namespace isn&apos;t WebKit, it&apos;s the code located on our Platform library, similar to what Chromium had, the idea is to delegate the backend logic out of WebCore to an external library, and the external library knows nothing about WebCore, WebKit, etc.. the namespace name was indeed inherited from the name Chromium used in their API&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906032</commentid>
    <comment_count>7</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-07-03 20:31:06 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 205945 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205945&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cairo/GLContext.cpp:22
&gt; &gt; +#if USE(OPENGL) || USE(OPENGL_ES_2)
&gt; 
&gt; I think you should add &quot;|| (PLATFORM(NIX) &amp;&amp; USE(OPENGL_ES_2))&quot; to make sure you don&apos;t affect other ports. It&apos;s not clear for me why this change is nix specific.

Makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906461</commentid>
    <comment_count>8</comment_count>
      <attachid>206164</attachid>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2013-07-05 11:36:38 -0700</bug_when>
    <thetext>Created attachment 206164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906525</commentid>
    <comment_count>9</comment_count>
      <attachid>206164</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-07-05 19:58:52 -0700</bug_when>
    <thetext>Comment on attachment 206164
Patch

&gt; The name may be confused you, this WebKit namespace isn&apos;t WebKit

Please don&apos;t do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906529</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-07-05 20:25:48 -0700</bug_when>
    <thetext>&gt; Efl port also use Cairo and it&apos;s not included in this #if.

Following precedent is not a good enough excuse. Adding a new port has a significant cost for other WebKit contributors, so it&apos;s best to reduce it by fixing confusing code, instead of adding more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906845</commentid>
    <comment_count>11</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2013-07-08 09:51:34 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 206164 [details])
&gt; &gt; The name may be confused you, this WebKit namespace isn&apos;t WebKit
&gt; 
&gt; Please don&apos;t do that.

We did that to keep compatibility with Chromium that use this exact namespace name for the same purposes as us, in fact we shared some Chromium platform files at some time.

I agree with you the name would be better but this namespace is part of our public API so change it implies in replicate the changes in other projects using it, then my proposal is to keep the namespace name and later the Nix team could decide for a better name for the namespace in the API and do the necessary changes in other projects using Nix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906850</commentid>
    <comment_count>12</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2013-07-08 09:56:12 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; Efl port also use Cairo and it&apos;s not included in this #if.
&gt; 
&gt; Following precedent is not a good enough excuse. Adding a new port has a significant cost for other WebKit contributors, so it&apos;s best to reduce it by fixing confusing code, instead of adding more.

We can move the #if to define DragImageRef to a void*, but just because we aren&apos;t really using DragImageRef right now, so the problem will possible appear again when we spend some love with drag support, our DragImageRef will probably be a cairo_surface_t.

Other than that what&apos;s your suggestion? do:
#if USE(CAIRO) &amp;&amp; !PLATFORM(EFL) ?

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908474</commentid>
    <comment_count>13</comment_count>
      <attachid>206679</attachid>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2013-07-15 11:50:54 -0700</bug_when>
    <thetext>Created attachment 206679
Patch

WebKit namespace renamed; Some #ifs merged into USE(GLIB)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915530</commentid>
    <comment_count>14</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2013-08-08 11:44:30 -0700</bug_when>
    <thetext>So, any comments?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926679</commentid>
    <comment_count>15</comment_count>
      <attachid>206679</attachid>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2013-09-09 06:23:24 -0700</bug_when>
    <thetext>Comment on attachment 206679
Patch

Let see if the commit queue still can apply it without a manual rebase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926680</commentid>
    <comment_count>16</comment_count>
      <attachid>206679</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-09 06:25:18 -0700</bug_when>
    <thetext>Comment on attachment 206679
Patch

Rejecting attachment 206679 from commit-queue.

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

Last 500 characters of output:
/platform/graphics/texmap/TextureMapper.h
patching file Source/WebCore/plugins/PluginPackage.cpp
patching file Source/WebCore/plugins/PluginView.cpp
Hunk #1 succeeded at 830 (offset -1 lines).
patching file Source/WebCore/plugins/PluginView.h
Hunk #1 succeeded at 369 (offset -14 lines).
patching file Source/WebCore/plugins/PluginViewNone.cpp

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

Full output: http://webkit-queues.appspot.com/results/1728378</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926697</commentid>
    <comment_count>17</comment_count>
      <attachid>211040</attachid>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2013-09-09 07:22:37 -0700</bug_when>
    <thetext>Created attachment 211040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926708</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-09-09 07:55:52 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; Created an attachment (id=211040) [details]
&gt; Patch

Did you mean to mark this r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926750</commentid>
    <comment_count>19</comment_count>
      <attachid>211040</attachid>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2013-09-09 09:52:54 -0700</bug_when>
    <thetext>Comment on attachment 211040
Patch

I guess I can just cq+, I was just waiting for the EWS, well.. let&apos;s see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926762</commentid>
    <comment_count>20</comment_count>
      <attachid>211040</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-09 10:15:39 -0700</bug_when>
    <thetext>Comment on attachment 211040
Patch

Clearing flags on attachment: 211040

Committed r155358: &lt;http://trac.webkit.org/changeset/155358&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926763</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-09 10:15:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205945</attachid>
            <date>2013-07-02 14:52:02 -0700</date>
            <delta_ts>2013-07-05 11:36:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118326-20130702184957.patch</filename>
            <type>text/plain</type>
            <size>34969</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY3NTc0YTFhZjA4MzZi
YjFkZGQxNmYyNjAwZDlmNDQ1NWE3Mjk4NC4uMTBhNDAyZGJhYzliMDVkNjljOTZhZDhmYWQwOTFm
YWI4NTJhZTk4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDEzLTA3LTAyICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIFByZXBhcmluZyBXZWJDb3JlIHRvIHJlY2VpdmUgTml4IFBvcnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODMyNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9ubHkgYWRkaW5nIHRoZSBjb21w
aWxhdGlvbiBkaXJlY3RpdmVzIHRoYXQgYXJlIE5peCBzcGVjaWZpYywgaW4gdGhlCisgICAgICAg
IGV4aXN0ZW50IFdlYkNvcmUgZmlsZXMKKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4K
KworICAgICAgICAqIGJyaWRnZS9ucHJ1bnRpbWVfaW50ZXJuYWwuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmRlZmF1
bHRPYmplY3RDb250ZW50VHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vQ3Vyc29yLmg6CisgICAg
ICAgICogcGxhdGZvcm0vRHJhZ0RhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9EcmFnSW1hZ2Uu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lzdGVtLmg6CisgICAgICAgICogcGxhdGZvcm0v
UGxhdGZvcm1NZW51RGVzY3JpcHRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9SdW5Mb29wLmg6
CisgICAgICAgICogcGxhdGZvcm0vV2lkZ2V0Lmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
RkZURnJhbWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmUuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktpdEJyaWRnZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xF
U1NoaW1zLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Z2V0UHJvY0FkZHJlc3MpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL09wZW5HTFNoaW1zLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZv
cm1MYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dMQ29udGV4dC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHTENvbnRleHQ6OmNyZWF0ZUNvbnRleHRGb3JXaW5kb3cp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6Okdy
YXBoaWNzQ29udGV4dDNEUHJpdmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZnJl
ZXR5cGUvRm9udFBsYXRmb3JtRGF0YUZyZWVUeXBlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkV4dGVuc2lvbnMzRE9wZW5HTDo6Y3JlYXRlVmVydGV4QXJyYXlPRVMpOgorICAgICAgICAoV2Vi
Q29yZTo6RXh0ZW5zaW9uczNET3BlbkdMOjpkZWxldGVWZXJ0ZXhBcnJheU9FUyk6CisgICAgICAg
IChXZWJDb3JlOjpFeHRlbnNpb25zM0RPcGVuR0w6OmlzVmVydGV4QXJyYXlPRVMpOgorICAgICAg
ICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNET3BlbkdMOjpiaW5kVmVydGV4QXJyYXlPRVMpOgorICAg
ICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNET3BlbkdMOjpzdXBwb3J0c0V4dGVuc2lvbik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21t
b24uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RP
cGVuR0xFUy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHQzRE9wZW5HTC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjpyZXNoYXBlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlci5oOgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHA6
CisgICAgICAgICogcGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
dWdpblZpZXc6OlBsdWdpblZpZXcpOgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luVmlldy5oOgor
ICAgICAgICAqIHBsdWdpbnMvUGx1Z2luVmlld05vbmUuY3BwOgorCiAyMDEzLTA3LTAyICBSYWR1
IFN0YXZpbGEgIDxzdGF2aWxhQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFJlZ2lvbnNdIElt
cHJvdmUgaW1wbGVtZW50YXRpb24gb2YgZWxlbWVudHMgaW4gcmVnaW9uIGJlaW5nIGZsb3dlZCB0
byBhbm90aGVyIGZsb3cgdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
bnBydW50aW1lX2ludGVybmFsLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvbnBydW50aW1lX2lu
dGVybmFsLmgKaW5kZXggM2EwNDUxMjgxMGFmYTk3NGRiY2FjN2NjNjlhNzQ5ODYyNDkxMmQ3OC4u
ZjJiMTg4M2NjNWIyZTFlYzQ1MTQ5NTBiZDZlYzc0MjdjN2I0YzkzNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYnJpZGdlL25wcnVudGltZV9pbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9ucHJ1bnRpbWVfaW50ZXJuYWwuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1
ZGUgIm5wZnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAibnBydW50aW1lLmgiCiAKLSNpZiBkZWZpbmVk
KE1PWl9YMTEpCisjaWYgZGVmaW5lZChYUF9VTklYKSAmJiBkZWZpbmVkKE1PWl9YMTEpCiAgICAg
I2luY2x1ZGUgPFgxMS9YcmVzb3VyY2UuaD4KIAogICAgICN1bmRlZiBOb25lCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA4M2Q0MmYzZDQwOTRkN2QwMjQxMWZmMjEyMDUw
ZmQxY2Q4Y2JmMzJkLi41MjU5ZTRiZDQzZTBlMTJlN2I1YWMzNzAwODQxNmE2OGFkZDdhOWIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTg5OCw3ICs4OTgsNyBAQCBP
YmplY3RDb250ZW50VHlwZSBGcmFtZUxvYWRlcjo6ZGVmYXVsdE9iamVjdENvbnRlbnRUeXBlKGNv
bnN0IEtVUkwmIHVybCwgY29uc3QgUwogICAgIGlmIChtaW1lVHlwZS5pc0VtcHR5KCkpCiAgICAg
ICAgIG1pbWVUeXBlID0gbWltZVR5cGVGcm9tVVJMKHVybCk7CiAKLSNpZiAhUExBVEZPUk0oTUFD
KSAmJiAhUExBVEZPUk0oRUZMKSAvLyBNYWMgaGFzIG5vIFBsdWdpbkRhdGFiYXNlLCBub3IgZG9l
cyBDaHJvbWl1bSBvciBFRkwKKyNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oRUZMKSAm
JiAhUExBVEZPUk0oTklYKSAvLyBNYWMgaGFzIG5vIFBsdWdpbkRhdGFiYXNlLCBub3IgZG9lcyBO
aXggb3IgRUZMCiAgICAgaWYgKG1pbWVUeXBlLmlzRW1wdHkoKSkgewogICAgICAgICBTdHJpbmcg
ZGVjb2RlZFBhdGggPSBkZWNvZGVVUkxFc2NhcGVTZXF1ZW5jZXModXJsLnBhdGgoKSk7CiAgICAg
ICAgIG1pbWVUeXBlID0gUGx1Z2luRGF0YWJhc2U6Omluc3RhbGxlZFBsdWdpbnMoKS0+TUlNRVR5
cGVGb3JFeHRlbnNpb24oZGVjb2RlZFBhdGguc3Vic3RyaW5nKGRlY29kZWRQYXRoLnJldmVyc2VG
aW5kKCcuJykgKyAxKSk7CkBAIC05MDgsNyArOTA4LDcgQEAgT2JqZWN0Q29udGVudFR5cGUgRnJh
bWVMb2FkZXI6OmRlZmF1bHRPYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0
IFMKICAgICBpZiAobWltZVR5cGUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gT2JqZWN0Q29u
dGVudEZyYW1lOyAvLyBHbyBhaGVhZCBhbmQgaG9wZSB0aGF0IHdlIGNhbiBkaXNwbGF5IHRoZSBj
b250ZW50LgogCi0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKEVGTCkgLy8gTWFjIGhh
cyBubyBQbHVnaW5EYXRhYmFzZSwgbm9yIGRvZXMgQ2hyb21pdW0gb3IgRUZMCisjaWYgIVBMQVRG
T1JNKE1BQykgJiYgIVBMQVRGT1JNKEVGTCkgJiYgIVBMQVRGT1JNKE5JWCkgLy8gTWFjIGhhcyBu
byBQbHVnaW5EYXRhYmFzZSwgbm9yIGRvZXMgTml4IG9yIEVGTAogICAgIGJvb2wgcGx1Z0luU3Vw
cG9ydHNNSU1FVHlwZSA9IFBsdWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQbHVnaW5zKCktPmlzTUlN
RVR5cGVSZWdpc3RlcmVkKG1pbWVUeXBlKTsKICNlbHNlCiAgICAgYm9vbCBwbHVnSW5TdXBwb3J0
c01JTUVUeXBlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9D
dXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCmluZGV4IGMyNDBlNTc1
NGFjMGJkYzIwODE2ZGRhOGY4MmMyZjFhZDQxMWZhNDcuLmQzNTQyMGQwMDNmNDc4MGI3MTZiZGZm
MjUyYWExY2IzZjYxYWI2ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1
cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCkBAIC01Niw3ICs1
Niw3IEBAIHR5cGVkZWYgSElDT04gSENVUlNPUjsKICNlbmRpZgogCiAvLyBMb29rcyBsaWtlIGl0
J3MganVzdCBQTEFURk9STShCTEFDS0JFUlJZKSBzdGlsbCBub3QgdXNpbmcgdGhpcz8KLSNpZiBQ
TEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShRVCkgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTUFD
KSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBM
QVRGT1JNKE5JWCkKICNkZWZpbmUgV1RGX1VTRV9MQVpZX05BVElWRV9DVVJTT1IgMQogI2VuZGlm
CiAKQEAgLTc5LDcgKzc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgTlND
dXJzb3IgKlBsYXRmb3JtQ3Vyc29yOwogI2VsaWYgUExBVEZPUk0oR1RLKQogICAgIHR5cGVkZWYg
R1JlZlB0cjxHZGtDdXJzb3I+IFBsYXRmb3JtQ3Vyc29yOwotI2VsaWYgUExBVEZPUk0oRUZMKQor
I2VsaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgpCiAgICAgdHlwZWRlZiBjb25zdCBj
aGFyKiBQbGF0Zm9ybUN1cnNvcjsKICNlbGlmIFBMQVRGT1JNKFFUKSAmJiAhZGVmaW5lZChRVF9O
T19DVVJTT1IpCiAgICAgLy8gRG8gbm90IG5lZWQgdG8gYmUgc2hhcmVkIGJ1dCBuZWVkIHRvIGJl
IGNyZWF0ZWQgZHluYW1pY2FsbHkgdmlhIGVuc3VyZVBsYXRmb3JtQ3Vyc29yLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0RyYWdEYXRhLmgKaW5kZXggNjQ0NDkyNjcwZDliNzc4YzZlNmUyNmJkMDA5ZWMzOGU3
OWQ3NTE1NS4uNzRlZmZmNTUzMzY4YTUzN2VhOTU4YmIxMjYyYjc5NDVhMmFmODQ0ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oCkBAIC01OSw3ICs1OSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIERhdGFPYmplY3RHdGs7CiB9CiB0eXBlZGVmIFdlYkNvcmU6OkRhdGFPYmpl
Y3RHdGsqIERyYWdEYXRhUmVmOwotI2VsaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShCTEFD
S0JFUlJZKQorI2VsaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQ
TEFURk9STShOSVgpCiB0eXBlZGVmIHZvaWQqIERyYWdEYXRhUmVmOwogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmgKaW5kZXggZWMxMGIyY2U4NDE3NWQzOThlZGIxNzJiYjNm
YTM0MzVkZmFkNWM5YS4uOTQyMzMxZWRjN2RmNTE1OTRjODBlNjU1ODMyMjgyNjQ0Mzk0NmVhMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmgKQEAgLTQxLDcgKzQxLDcgQEAgY2xhc3Mg
UVBpeG1hcDsKIFFUX0VORF9OQU1FU1BBQ0UKICNlbGlmIFBMQVRGT1JNKFdJTikKIHR5cGVkZWYg
c3RydWN0IEhCSVRNQVBfXyogSEJJVE1BUDsKLSNlbGlmIFBMQVRGT1JNKEdUSykKKyNlbGlmIFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oTklYKQogdHlwZWRlZiBzdHJ1Y3QgX2NhaXJvX3N1cmZh
Y2UgY2Fpcm9fc3VyZmFjZV90OwogI2VuZGlmCiAKQEAgLTYwLDcgKzYwLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHR5cGVkZWYgUVBpeG1hcCogRHJhZ0ltYWdlUmVmOwogI2VsaWYgUExB
VEZPUk0oV0lOKQogICAgIHR5cGVkZWYgSEJJVE1BUCBEcmFnSW1hZ2VSZWY7Ci0jZWxpZiBQTEFU
Rk9STShHVEspCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKE5JWCkKICAgICB0eXBl
ZGVmIGNhaXJvX3N1cmZhY2VfdCogRHJhZ0ltYWdlUmVmOwogI2VsaWYgUExBVEZPUk0oRUZMKSB8
fCBQTEFURk9STShCTEFDS0JFUlJZKQogICAgIHR5cGVkZWYgdm9pZCogRHJhZ0ltYWdlUmVmOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCmluZGV4IGUxZDViN2U0ODBkZGU4ZTRiNTA3
OTkyMWE3YjFlNmNlMWRlYjRhMGIuLmFhMzBjMmY5ODUxNWQ5ZDNiOGE4YzFhM2QyMDk0MmVlZmQ3
YjM1MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKQEAgLTYxLDcgKzYxLDcg
QEAgdHlwZWRlZiBzdHJ1Y3QgSElOU1RBTkNFX18qIEhJTlNUQU5DRTsKIHR5cGVkZWYgSElOU1RB
TkNFIEhNT0RVTEU7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEdUSykKKyNpZiBQTEFURk9STShH
VEspIHx8IFBMQVRGT1JNKE5JWCkKIHR5cGVkZWYgc3RydWN0IF9HRmlsZUlPU3RyZWFtIEdGaWxl
SU9TdHJlYW07CiB0eXBlZGVmIHN0cnVjdCBfR01vZHVsZSBHTW9kdWxlOwogI2VuZGlmCkBAIC03
NSw3ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFBsYXRmb3JtTW9kdWxlCiAjaWYg
T1MoV0lORE9XUykKIHR5cGVkZWYgSE1PRFVMRSBQbGF0Zm9ybU1vZHVsZTsKLSNlbGlmIFBMQVRG
T1JNKEdUSykKKyNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oTklYKQogdHlwZWRlZiBH
TW9kdWxlKiBQbGF0Zm9ybU1vZHVsZTsKICNlbGlmIFBMQVRGT1JNKEVGTCkKIHR5cGVkZWYgRWlu
YV9Nb2R1bGUqIFBsYXRmb3JtTW9kdWxlOwpAQCAtMTIwLDcgKzEyMCw3IEBAIHR5cGVkZWYgdW5z
aWduZWQgUGxhdGZvcm1Nb2R1bGVWZXJzaW9uOwogI2lmIFBMQVRGT1JNKFFUKQogdHlwZWRlZiBR
RmlsZSogUGxhdGZvcm1GaWxlSGFuZGxlOwogY29uc3QgUGxhdGZvcm1GaWxlSGFuZGxlIGludmFs
aWRQbGF0Zm9ybUZpbGVIYW5kbGUgPSAwOwotI2VsaWYgUExBVEZPUk0oR1RLKQorI2VsaWYgUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShOSVgpCiB0eXBlZGVmIEdGaWxlSU9TdHJlYW0qIFBsYXRm
b3JtRmlsZUhhbmRsZTsKIGNvbnN0IFBsYXRmb3JtRmlsZUhhbmRsZSBpbnZhbGlkUGxhdGZvcm1G
aWxlSGFuZGxlID0gMDsKICNlbGlmIE9TKFdJTkRPV1MpCkBAIC0yMTIsNyArMjEyLDcgQEAgUmV0
YWluUHRyPENGVVJMUmVmPiBwYXRoQXNVUkwoY29uc3QgU3RyaW5nJik7CiB2b2lkIHNldE1ldGFk
YXRhVVJMKFN0cmluZyYgVVJMU3RyaW5nLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBjb25zdCBT
dHJpbmcmIHBhdGgpOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShHVEspCisjaWYgUExBVEZPUk0o
R1RLKSB8fCBQTEFURk9STShOSVgpCiBTdHJpbmcgZmlsZW5hbWVUb1N0cmluZyhjb25zdCBjaGFy
Kik7CiBTdHJpbmcgZmlsZW5hbWVGb3JEaXNwbGF5KGNvbnN0IFN0cmluZyYpOwogQ1N0cmluZyBh
cHBsaWNhdGlvbkRpcmVjdG9yeVBhdGgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BsYXRmb3JtTWVudURlc2NyaXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9QbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbi5oCmluZGV4IDdiMTg2MzdiYWViYmZmZGRkYmJiNWY3
NmI3N2Q2MGU0YWQwNjA2OTUuLmY1ZmJlOGMzMzhkMDEzNDQ1ZTE3MzgzNmY2MmUzZGQ4MTQ5OWI3
NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtTWVudURlc2Ny
aXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1NZW51RGVzY3Jp
cHRpb24uaApAQCAtMzQsNiArMzQsOCBAQCBPQkpDX0NMQVNTIE5TTXV0YWJsZUFycmF5OwogI2lu
Y2x1ZGUgPHFsaXN0Lmg+CiAjZWxpZiBQTEFURk9STShHVEspCiB0eXBlZGVmIHN0cnVjdCBfR3Rr
TWVudSBHdGtNZW51OworI2VsaWYgUExBVEZPUk0oTklYKQorI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9SdW5Mb29wLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29w
LmgKaW5kZXggYjdmMDFiY2FkNTc5NmQxMGFjYWM1ZDZlOGQ5NDFkMzk5NWMzZTM5My4uNzZmNzkz
OGYzZGViMmE1NWY5ZjI4ZDJiYTllMzMxZGQ0NDlkNDhhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1
bkxvb3AuaApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNp
bmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKLSNpZiBQTEFURk9STShHVEspCisjaWYgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShOSVgpCiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5o
PgogI2VuZGlmCiAKQEAgLTk5LDcgKzk5LDcgQEAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9p
ZCB0aW1lckZpcmVkKFJ1bkxvb3AqLCBpbnQgSUQpOwogICAgICAgICBpbnQgbV9JRDsKICAgICAg
ICAgYm9vbCBtX2lzUmVwZWF0aW5nOwotI2VsaWYgUExBVEZPUk0oR1RLKQorI2VsaWYgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShOSVgpCiAgICAgICAgIHN0YXRpYyBnYm9vbGVhbiB0aW1lckZp
cmVkQ2FsbGJhY2soUnVuTG9vcDo6VGltZXJCYXNlKik7CiAgICAgICAgIGdib29sZWFuIGlzUmVw
ZWF0aW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1JlcGVhdGluZzsgfQogICAgICAgICB2b2lkIGNs
ZWFyVGltZXJTb3VyY2UoKTsKQEAgLTE1OSw3ICsxNTksNyBAQCBwcml2YXRlOgogICAgIFRpbWVy
TWFwIG1fYWN0aXZlVGltZXJzOwogICAgIGNsYXNzIFRpbWVyT2JqZWN0OwogICAgIFRpbWVyT2Jq
ZWN0KiBtX3RpbWVyT2JqZWN0OwotI2VsaWYgUExBVEZPUk0oR1RLKQorI2VsaWYgUExBVEZPUk0o
R1RLKSB8fCBQTEFURk9STShOSVgpCiBwdWJsaWM6CiAgICAgc3RhdGljIGdib29sZWFuIHF1ZXVl
V29yayhSdW5Mb29wKik7CiAgICAgR01haW5Mb29wKiBpbm5lcm1vc3RMb29wKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1dpZGdldC5oCmluZGV4IGE0YTE4YTA4OGIzYWQ4OWRlNDgwZjVhYTc0NDhkNzQxOWEy
NmRhMDUuLmVmOThjNGRlMDJjYmZjOTZlYTAzODllNGE2Zjk5NTQ5NjRiNWNmMWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1dpZGdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1dpZGdldC5oCkBAIC02NSw3ICs2NSw3IEBAIFFUX0VORF9OQU1FU1BBQ0UKIHR5
cGVkZWYgUU9iamVjdCogUGxhdGZvcm1XaWRnZXQ7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEJM
QUNLQkVSUlkpCisjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oTklYKQogdHlw
ZWRlZiB2b2lkKiBQbGF0Zm9ybVdpZGdldDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vRkZURnJhbWUuaAppbmRleCAxMTVjOGY4YzZlMzhhNmVjNTJiYjM3MDEwNjA0ODBl
MjUxZWRlM2NmLi41ZmZiN2ZkMDAxZjU3MzdmNGFhYzY4ZjFhOTQzZDRmMzdjNDQxM2QxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZyYW1lLmgKQEAgLTY3LDYgKzY3LDExIEBA
IHN0cnVjdCBSREZUQ29udGV4dDsKICNpbmNsdWRlIDxpcHBzLmg+CiAjZW5kaWYgLy8gVVNFKFdF
QkFVRElPX0lQUCkKIAorI2lmIFBMQVRGT1JNKE5JWCkKKyNpbmNsdWRlIDxjbWF0aD4KKyNpbmNs
dWRlIDxwdWJsaWMvV2ViRkZURnJhbWUuaD4KKyNlbmRpZgorCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRp
bmcuaD4KQEAgLTE3OCw2ICsxODMsMTEgQEAgcHJpdmF0ZToKICAgICBBdWRpb0Zsb2F0QXJyYXkg
bV9pbWFnRGF0YTsKICNlbmRpZiAvLyBVU0UoV0VCQVVESU9fSVBQKQogCisjaWYgUExBVEZPUk0o
TklYKQorICAgIHZvaWQgc2NhbGVQbGFuYXJEYXRhKGZsb2F0IHNjYWxlKTsKKyAgICBPd25QdHI8
V2ViS2l0OjpXZWJGRlRGcmFtZT4gbV9mZnRGcmFtZTsKKyNlbmRpZiAvLyBQTEFURk9STShOSVgp
CisKICNpZiBVU0UoV0VCQVVESU9fT1BFTk1BWF9ETF9GRlQpCiAgICAgc3RhdGljIE9NWEZGVFNw
ZWNfUl9GMzIqIGNvbnRleHRGb3JTaXplKHVuc2lnbmVkIGxvZzJGRlRTaXplKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmNwcAppbmRleCA0YWFh
MWMwMjE3MWVlNThmNmRlZWFjMzI1Y2M0MjZhYWZlMTQ1Mjc3Li41NTk2NjA4MDI5Y2E2MGFiMWZh
OTgxNzBlMGY1MGI1MzE2NDVlZWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9IUlRGRWxldmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9IUlRGRWxldmF0aW9uLmNwcApAQCAtNjEsNyArNjEsNyBAQCBjb25zdCBzaXplX3QgUmVz
cG9uc2VGcmFtZVNpemUgPSAyNTY7CiAvLyBUaGUgaW1wdWxzZSByZXNwb25zZXMgbWF5IGJlIHJl
c2FtcGxlZCB0byBhIGRpZmZlcmVudCBzYW1wbGUtcmF0ZSAoZGVwZW5kaW5nIG9uIHRoZSBhdWRp
byBoYXJkd2FyZSkgd2hlbiB0aGV5IGFyZSBsb2FkZWQuCiBjb25zdCBmbG9hdCBSZXNwb25zZVNh
bXBsZVJhdGUgPSA0NDEwMDsKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKFdFQkFVRElPX0dT
VFJFQU1FUikKKyNpZiBQTEFURk9STShNQUMpIHx8IFVTRShXRUJBVURJT19HU1RSRUFNRVIpIHx8
IFBMQVRGT1JNKE5JWCkKICNkZWZpbmUgVVNFX0NPTkNBVEVOQVRFRF9JTVBVTFNFX1JFU1BPTlNF
UwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NhaXJvL1dp
ZGdldEJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0
QmFja2luZ1N0b3JlLmgKaW5kZXggYTcyMjBiZTBhMzYyMTc1NDliZTAzNjc1MjUyMjY4OGMwYzRl
MWJmOS4uZDQwYmZiYjkwOGIwMjhhMTA0MTFiMWQ2MWM5ZjE4MzQ0ZGY0ZDFmNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlLmgKQEAg
LTM5LDYgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdHlwZWRlZiBHdGtXaWRnZXQqIFBs
YXRmb3JtV2lkZ2V0OwogI2VsaWYgUExBVEZPUk0oRUZMKQogdHlwZWRlZiBFdmFzX09iamVjdCog
UGxhdGZvcm1XaWRnZXQ7CisjZWxpZiBQTEFURk9STShOSVgpCit0eXBlZGVmIHZvaWQqIFBsYXRm
b3JtV2lkZ2V0OwogI2VuZGlmCiAKIGNsYXNzIFdpZGdldEJhY2tpbmdTdG9yZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktpdEJyaWRnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlkZ2UuaApp
bmRleCA4M2MyZTAwNGM1ZTA2ZDk1NmExNjU0YzQwMTgzNDBkNGY4NDBhYmI4Li44YzhmM2M3Mzg3
ZTZmOTJhMzg0Y2NiODliNGYyOTIxNDA0YjY1MDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktpdEJyaWRnZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0QnJpZGdlLmgKQEAgLTI5LDcgKzI5LDcg
QEAKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKLSNpZiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oRUZMKSAmJiAhUExB
VEZPUk0oQkxBQ0tCRVJSWSkgJiYgIVBMQVRGT1JNKFFUKSAmJiAhUExBVEZPUk0oV0lOKQorI2lm
ICFQTEFURk9STShHVEspICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9STShCTEFDS0JFUlJZ
KSAmJiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShXSU4pICYmICFQTEFURk9STShOSVgpCiAj
aW5jbHVkZSAiQU5HTEUvU2hhZGVyTGFuZy5oIgogI2VsaWYgUExBVEZPUk0oV0lOKQogI2luY2x1
ZGUgIkdMU0xBTkcvU2hhZGVyTGFuZy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IDMyOTY5ZjBhZDZiNmRmMGI5NTA2
MmZkZThmMWRiNDM2Mzc0NTg4NzEuLjRjMDVlOGY2MDc1ZDM1MWIzMzhmMDc0MmJiMWQ2ZTVjMWUx
MTQwNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQ
bGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UGxhdGZvcm1EYXRhLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJxdC9Gb250UGxhdGZv
cm1EYXRhLmgiCiAjZWxpZiBVU0UoV0lOR0RJKQogI2luY2x1ZGUgIndpbmNlL0ZvbnRQbGF0Zm9y
bURhdGEuaCIKLSNlbGlmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQorI2VsaWYgUExB
VEZPUk0oRUZMKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKE5JWCkKICNpbmNsdWRlICJm
cmVldHlwZS9Gb250UGxhdGZvcm1EYXRhLmgiCiAjZWxzZQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAKaW5kZXggY2Uw
Nzc2ZmI1YjllNzU5ZGNjMGM5YWIyNWM2OWI0OTViMDI5NmRiNi4uZmE5Njk0MWU5MGVmM2I0NTUw
Yjg1MzllNGM5YzdjYmJhM2ViYmYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcApAQCAtMTQ3NCw3ICsxNDc0LDcg
QEAgdW5zaWduZWQgR3JhcGhpY3NDb250ZXh0M0Q6OmdldENoYW5uZWxCaXRzQnlGb3JtYXQoR0Mz
RGVudW0gZm9ybWF0KQogICAgIH0KIH0KIAotI2lmICFQTEFURk9STShCTEFDS0JFUlJZKSAmJiAh
UExBVEZPUk0oUVQpICYmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShFRkwpICYmICFQTEFU
Rk9STShNQUMpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKEJMQUNLQkVSUlkpICYm
ICFQTEFURk9STShRVCkgJiYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKEVGTCkgJiYgIVBM
QVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKE5JWCkKIFBsYXRmb3Jt
R3JhcGhpY3NDb250ZXh0M0QgR3JhcGhpY3NDb250ZXh0M0Q6OnBsYXRmb3JtR3JhcGhpY3NDb250
ZXh0M0QoKSBjb25zdAogewogICAgIHJldHVybiBOdWxsUGxhdGZvcm1HcmFwaGljc0NvbnRleHQz
RDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCmluZGV4IGFiNDY3MjczN2JhMmRmZDRlNTFkMzQ2YjA5MTU0YTg4ZjM0YWQ1ZWUu
LjNkYzMzMGQ1ZDQyMWJlMGY2OThiNzQ3NTgwM2E5ZjM4NjM1Zjk0NTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAt
NDcsNyArNDcsNyBAQAogI3VuZGVmIFZFUlNJT04KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFD
KSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBM
QVRGT1JNKEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZP
Uk0oQkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShOSVgpCiAjaW5jbHVk
ZSAiQU5HTEVXZWJLaXRCcmlkZ2UuaCIKICNlbmRpZgogCkBAIC02Miw3ICs2Miw3IEBAIGNsYXNz
IFFSZWN0OwogY2xhc3MgUU9wZW5HTENvbnRleHQ7CiBjbGFzcyBRU3VyZmFjZTsKIFFUX0VORF9O
QU1FU1BBQ0UKLSNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2VsaWYgUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKE5JWCkKIHR5cGVkZWYgdW5z
aWduZWQgaW50IEdMdWludDsKICNlbmRpZgogCkBAIC00ODksMTQgKzQ4OSwxNCBAQCBwdWJsaWM6
CiAjZWxzZQogICAgIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0QgcGxhdGZvcm1HcmFwaGljc0Nv
bnRleHQzRCgpOwogICAgIFBsYXRmb3JtM0RPYmplY3QgcGxhdGZvcm1UZXh0dXJlKCkgY29uc3Q7
Ci0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAKKyNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCiAgICAgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0Owog
I2VuZGlmCiAjZW5kaWYKIAogICAgIGJvb2wgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAKLSNpZiBQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JN
KEVGTCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRG
T1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZM
KSB8fCBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5J
WCkKICAgICAvLyBXaXRoIG11bHRpc2FtcGxpbmcgb24sIGJsaXQgZnJvbSBtdWx0aXNhbXBsZUZC
TyB0byByZWd1bGFyIEZCTy4KICAgICB2b2lkIHByZXBhcmVUZXh0dXJlKCk7CiAjZW5kaWYKQEAg
LTkyMSw3ICs5MjEsNyBAQCBwcml2YXRlOgogICAgIC8vIERlc3RpbmF0aW9uIGRhdGEgd2lsbCBo
YXZlIG5vIGdhcHMgYmV0d2VlbiByb3dzLgogICAgIHN0YXRpYyBib29sIHBhY2tQaXhlbHMoY29u
c3QgdWludDhfdCogc291cmNlRGF0YSwgRGF0YUZvcm1hdCBzb3VyY2VEYXRhRm9ybWF0LCB1bnNp
Z25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0LCB1bnNpZ25lZCBzb3VyY2VVbnBhY2tBbGlnbm1l
bnQsIHVuc2lnbmVkIGRlc3RpbmF0aW9uRm9ybWF0LCB1bnNpZ25lZCBkZXN0aW5hdGlvblR5cGUs
IEFscGhhT3AsIHZvaWQqIGRlc3RpbmF0aW9uRGF0YSwgYm9vbCBmbGlwWSk7CiAKLSNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVG
TCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8
fCBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkK
ICAgICAvLyBUYWtlIGludG8gYWNjb3VudCB0aGUgdXNlcidzIHJlcXVlc3RlZCBjb250ZXh0IGNy
ZWF0aW9uIGF0dHJpYnV0ZXMsCiAgICAgLy8gaW4gcGFydGljdWxhciBzdGVuY2lsIGFuZCBhbnRp
YWxpYXMsIGFuZCBkZXRlcm1pbmUgd2hpY2ggY291bGQgb3IKICAgICAvLyBjb3VsZCBub3QgYmUg
aG9ub3JlZCBiYXNlZCBvbiB0aGUgY2FwYWJpbGl0aWVzIG9mIHRoZSBPcGVuR0wKQEAgLTk0Miw3
ICs5NDIsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCByZXNoYXBlRkJPcyhjb25zdCBJbnRTaXpl
Jik7CiAgICAgdm9pZCByZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNzYXJ5KGNvbnN0IEludFJl
Y3QmID0gSW50UmVjdCgpKTsKLSNpZiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkpICYm
IFVTRShHUkFQSElDU19TVVJGQUNFKQorI2lmIChQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZM
KSB8fCBQTEFURk9STShOSVgpKSAmJiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKICAgICB2b2lkIGNy
ZWF0ZUdyYXBoaWNzU3VyZmFjZXMoY29uc3QgSW50U2l6ZSYpOwogI2VuZGlmCiAKQEAgLTk1OSw3
ICs5NTksNyBAQCBwcml2YXRlOgogICAgIHZvaWQqIG1fY29udGV4dDsKICNlbmRpZgogCi0jaWYg
UExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9S
TShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVG
TCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShO
SVgpCiAgICAgc3RydWN0IFN5bWJvbEluZm8gewogICAgICAgICBTeW1ib2xJbmZvKCkKICAgICAg
ICAgICAgIDogdHlwZSgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvT3BlbkdMRVNTaGltcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
T3BlbkdMRVNTaGltcy5oCmluZGV4IGMwNmI2N2M2OGFhNjNjNmJhMjY5ZTY0ZWFhOTFlZDE0NTdi
ZmQzZGUuLjcyNTZmNDFkM2QyMzIyMzVlN2VlOWMwZjUyZTdhMTQ5YTQ1Y2FiZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTEVTU2hpbXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xFU1NoaW1zLmgKQEAgLTI2
LDcgKzI2LDcgQEAKICNpZm5kZWYgT3BlbkdMRVNTaGltc19oCiAjZGVmaW5lIE9wZW5HTEVTU2hp
bXNfaAogCi0jaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0o
QkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
RUZMKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkKICNkZWZpbmUgZ2xCaW5kRnJh
bWVidWZmZXJFWFQgZ2xCaW5kRnJhbWVidWZmZXIKICNkZWZpbmUgZ2xGcmFtZWJ1ZmZlclRleHR1
cmUyREVYVCBnbEZyYW1lYnVmZmVyVGV4dHVyZTJECiAjZGVmaW5lIGdsQmluZFJlbmRlcmJ1ZmZl
ckVYVCBnbEJpbmRSZW5kZXJidWZmZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL09wZW5HTFNoaW1zLmNwcAppbmRleCAzMDEwNWY2ZmVhODljODE1ODAzMDU0MDllODJh
ODdhZjgwMWM0OTYwLi40NzdiYjlmY2IxNTk3YzQxMTBkN2RhNDQwMGYwMGE4ZThiYjczMjI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuY3Bw
CkBAIC0yNiw2ICsyNiwxMCBAQAogI2luY2x1ZGUgPGRsZmNuLmg+CiAjZW5kaWYKIAorI2lmIFBM
QVRGT1JNKE5JWCkgJiYgVVNFKEVHTCkKKyNpbmNsdWRlIDxFR0wvZWdsLmg+CisjZW5kaWYKKwog
I2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIApAQCAtNDQsNiArNDgsMTEgQEAgc3RhdGljIHZvaWQqIGdldFByb2NBZGRyZXNzKGNv
bnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lk
Kj4oY29udGV4dC0+Z2V0UHJvY0FkZHJlc3MocHJvY05hbWUpKTsKICAgICByZXR1cm4gMDsKIH0K
KyNlbGlmIFBMQVRGT1JNKE5JWCkgJiYgVVNFKEVHTCkKK3N0YXRpYyB2b2lkKiBnZXRQcm9jQWRk
cmVzcyhjb25zdCBjaGFyKiBwcm9jTmFtZSkKK3sKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDx2b2lkKj4oZWdsR2V0UHJvY0FkZHJlc3MocHJvY05hbWUpKTsKK30KICNlbHNlCiB0eXBlZGVm
IHZvaWQqICgqZ2xHZXRQcm9jQWRkcmVzc1R5cGUpIChjb25zdCBjaGFyKiBwcm9jTmFtZSk7CiBz
dGF0aWMgdm9pZCogZ2V0UHJvY0FkZHJlc3MoY29uc3QgY2hhciogcHJvY05hbWUpCkBAIC0xMDEs
NyArMTEwLDcgQEAgc3RhdGljIHZvaWQqIGxvb2t1cE9wZW5HTEZ1bmN0aW9uQWRkcmVzcyhjb25z
dCBjaGFyKiBmdW5jdGlvbk5hbWUsIGJvb2wqIHN1Y2Nlc3MKICAgICByZXR1cm4gdGFyZ2V0Owog
fQogCi0jaWYgUExBVEZPUk0oUVQpICYmIGRlZmluZWQoUVRfT1BFTkdMX0VTXzIpCisjaWYgKFBM
QVRGT1JNKFFUKSAmJiBkZWZpbmVkKFFUX09QRU5HTF9FU18yKSkgfHwgKFBMQVRGT1JNKE5JWCkg
JiYgVVNFKE9QRU5HTF9FU18yKSkKIAogLy8gV2l0aCBBbmdsZSBvbmx5IEVHTC9HTEVTMiBleHRl
bnNpb25zIGFyZSBhdmFpbGFibGUgdGhyb3VnaCBlZ2xHZXRQcm9jQWRkcmVzcywgbm90IHRoZSBy
ZWd1bGFyIHN0YW5kYXJkaXplZCBmdW5jdGlvbnMuCiAjZGVmaW5lIEFTU0lHTl9GVU5DVElPTl9U
QUJMRV9FTlRSWShGdW5jdGlvbk5hbWUsIHN1Y2Nlc3MpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5oCmluZGV4IDhmNzk0MjExZmE0MGM2NDUwNjhi
Y2VmM2FkYThjMDFmNjY5NmE1YzcuLmE3MzA5OWY0ZTY4MTljODJlNDQwZGQzOTNkY2MxZDdkZDJk
NzA5NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5H
TFNoaW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hp
bXMuaApAQCAtMjUsNiArMjUsOCBAQAogI2luY2x1ZGUgPHFvcGVuZ2xmdW5jdGlvbnMuaD4KICNp
bmNsdWRlIDxRT3BlbkdMQ29udGV4dD4KICNpbmNsdWRlIDxRU3VyZmFjZT4KKyNlbGlmIFBMQVRG
T1JNKE5JWCkgJiYgVVNFKE9QRU5HTF9FU18yKQorI2luY2x1ZGUgPEdMRVMyL2dsMi5oPgogI2Vs
c2UKICNpbmNsdWRlIDxHTC9nbC5oPgogI2luY2x1ZGUgPEdML2dsZXh0Lmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUxheWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUxheWVyLmgKaW5kZXggYTE3YzE5
ZWRmZGYxODQzNmFjMGFjOTdjNjY1N2I1NDNjYTdiOTg5Zi4uMzZhOTNlOWRhYmUzMzcwOGQ1Mjg5
ZDFhMTgxYTFkZmYwZjY3OTAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUGxhdGZvcm1MYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1BsYXRmb3JtTGF5ZXIuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBUZXh0dXJlTWFw
cGVyUGxhdGZvcm1MYXllcjsKIHR5cGVkZWYgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXIgUGxh
dGZvcm1MYXllcjsKIH07CiAjZW5kaWYKLSNlbGlmIFBMQVRGT1JNKEVGTCkKKyNlbGlmIFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oTklYKQogI2lmIFVTRShURVhUVVJFX01BUFBFUikKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR0xDb250ZXh0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dMQ29udGV4dC5jcHAK
aW5kZXggNjg3YzVlYTEyN2MzMDczYzdlNTcyMjk3YWRhOGRiOGMxNmYyNTE1YS4uMDVkNDI5NmNh
NzY4Yzc2NGE0ODY2YWRkZDQ2ZWQ2NjMwNjZmZWVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR0xDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HTENvbnRleHQuY3BwCkBAIC0xOSw3ICsxOSw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR0xDb250ZXh0LmgiCiAKLSNpZiBV
U0UoT1BFTkdMKQorI2lmIFVTRShPUEVOR0wpIHx8IFVTRShPUEVOR0xfRVNfMikKIAogI2lmIFVT
RShFR0wpCiAjaW5jbHVkZSAiR0xDb250ZXh0RUdMLmgiCkBAIC0xNTksNiArMTU5LDcgQEAgUGFz
c093blB0cjxHTENvbnRleHQ+IEdMQ29udGV4dDo6Y3JlYXRlQ29udGV4dEZvcldpbmRvdyh1aW50
NjRfdCB3aW5kb3dIYW5kbGUsIEcKICAgICB9CiAjZW5kaWYKIAorI2lmICFQTEFURk9STShOSVgp
CiAjaWYgVVNFKEdMWCkKICAgICBpZiAoT3duUHRyPEdMQ29udGV4dD4gZ2x4Q29udGV4dCA9IEdM
Q29udGV4dEdMWDo6Y3JlYXRlQ29udGV4dCh3aW5kb3dIYW5kbGUsIHNoYXJpbmdDb250ZXh0KSkK
ICAgICAgICAgcmV0dXJuIGdseENvbnRleHQucmVsZWFzZSgpOwpAQCAtMTY3LDYgKzE2OCw3IEBA
IFBhc3NPd25QdHI8R0xDb250ZXh0PiBHTENvbnRleHQ6OmNyZWF0ZUNvbnRleHRGb3JXaW5kb3co
dWludDY0X3Qgd2luZG93SGFuZGxlLCBHCiAgICAgaWYgKE93blB0cjxHTENvbnRleHQ+IGVnbENv
bnRleHQgPSBHTENvbnRleHRFR0w6OmNyZWF0ZUNvbnRleHQod2luZG93SGFuZGxlLCBzaGFyaW5n
Q29udGV4dCkpCiAgICAgICAgIHJldHVybiBlZ2xDb250ZXh0LnJlbGVhc2UoKTsKICNlbmRpZgor
I2VuZGlmCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHQz
RFByaXZhdGUuY3BwCmluZGV4IGFhN2ZlYzE3OTIyYzMyYThiZjdlYTY1MDJlMWQ2OGM5ZTUzZThh
NzUuLmQ2NzFlN2E1YzEwMmVlY2RjNDZjYWJhYWM1ZTUyOTBiYmQ2OWQ1N2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcApAQCAtMjcsNiArMjcsMTAgQEAKICNpbmNsdWRl
ICJQbGF0Zm9ybUNvbnRleHRDYWlyby5oIgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgog
CisjaWYgUExBVEZPUk0oTklYKSAmJiBVU0UoRUdMKQorI2luY2x1ZGUgIkdMQ29udGV4dEZyb21D
dXJyZW50RUdMLmgiCisjZW5kaWYKKwogI2lmIFVTRShPUEVOR0xfRVNfMikKICNpbmNsdWRlIDxH
TEVTMi9nbDIuaD4KICNpbmNsdWRlIDxHTEVTMi9nbDJleHQuaD4KQEAgLTU2LDYgKzYwLDkgQEAg
R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGUoR3JhcGhp
Y3NDb250ZXh0M0QqIGNvbnRleHQsIEcKICAgICAgICAgbV9nbENvbnRleHQgPSBHTENvbnRleHQ6
OmNyZWF0ZU9mZnNjcmVlbkNvbnRleHQoR0xDb250ZXh0OjpzaGFyaW5nQ29udGV4dCgpKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyVG9DdXJyZW50
R0xDb250ZXh0OgorI2lmIFBMQVRGT1JNKE5JWCkgJiYgVVNFKEVHTCkKKyAgICAgICAgbV9nbENv
bnRleHQgPSBHTENvbnRleHRGcm9tQ3VycmVudEVHTDo6Y3JlYXRlRnJvbUN1cnJlbnRHTENvbnRl
eHQoKTsKKyNlbmRpZgogICAgICAgICBicmVhazsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNE
OjpSZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdzoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlw
ZS9Gb250UGxhdGZvcm1EYXRhRnJlZVR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZnJlZXR5cGUvRm9udFBsYXRmb3JtRGF0YUZyZWVUeXBlLmNwcAppbmRleCBhMmQ1
OTFiYTc1NTllN2YzOTIyMzNjNmQ2MGUwZThkZjdlODgwZDExLi40YTc5YTBjMTliMTE5Y2U1YzU0
ZWMzNzVmYjdiNTViNzIyNTQ5MTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9mcmVldHlwZS9Gb250UGxhdGZvcm1EYXRhRnJlZVR5cGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRQbGF0Zm9ybURhdGFG
cmVlVHlwZS5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlIDxmb250Y29uZmlnL2ZjZnJl
ZXR5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmICFQTEFURk9S
TShFRkwpCisjaWYgIVBMQVRGT1JNKEVGTCkgJiYgIVBMQVRGT1JNKE5JWCkKICNpbmNsdWRlIDxn
ZGsvZ2RrLmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcAppbmRleCAwOTA1
YzkyMTNmMTExMjg1MGU4NTMxZDUyNzhlMDgyODkwNGY0NDQ0Li4xOTQ3OTlmNGQ5OGVkZThjYzc1
NmM3MmQ5MmIxZjFiOTM4ZmFhNmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcApAQCAt
MzUsNyArMzUsNyBAQAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJBTkdMRS9TaGFkZXJM
YW5nLmgiCiAjaW5jbHVkZSA8T3BlbkdML2dsLmg+Ci0jZWxpZiBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdJTikKKyNlbGlmIFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV0lO
KSB8fCBQTEFURk9STShOSVgpCiAjaW5jbHVkZSAiT3BlbkdMU2hpbXMuaCIKICNlbmRpZgogCkBA
IC02NSw3ICs2NSw3IEBAIFBsYXRmb3JtM0RPYmplY3QgRXh0ZW5zaW9uczNET3BlbkdMOjpjcmVh
dGVWZXJ0ZXhBcnJheU9FUygpCiB7CiAgICAgbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQo
KTsKICAgICBHTHVpbnQgYXJyYXkgPSAwOwotI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShFRkwpKSB8fCBQTEFURk9STShXSU4pCisjaWYgKFBMQVRGT1JNKEdU
SykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSB8fCBQ
TEFURk9STShOSVgpKQogICAgIGlmIChpc1ZlcnRleEFycmF5T2JqZWN0U3VwcG9ydGVkKCkpCiAg
ICAgICAgIGdsR2VuVmVydGV4QXJyYXlzKDEsICZhcnJheSk7CiAjZWxpZiBkZWZpbmVkKEdMX0FQ
UExFX3ZlcnRleF9hcnJheV9vYmplY3QpICYmIEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QK
QEAgLTgwLDcgKzgwLDcgQEAgdm9pZCBFeHRlbnNpb25zM0RPcGVuR0w6OmRlbGV0ZVZlcnRleEFy
cmF5T0VTKFBsYXRmb3JtM0RPYmplY3QgYXJyYXkpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1f
Y29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7Ci0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSkKKyNpZiAoUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4p
IHx8IFBMQVRGT1JNKE5JWCkpCiAgICAgaWYgKGlzVmVydGV4QXJyYXlPYmplY3RTdXBwb3J0ZWQo
KSkKICAgICAgICAgZ2xEZWxldGVWZXJ0ZXhBcnJheXMoMSwgJmFycmF5KTsKICNlbGlmIGRlZmlu
ZWQoR0xfQVBQTEVfdmVydGV4X2FycmF5X29iamVjdCkgJiYgR0xfQVBQTEVfdmVydGV4X2FycmF5
X29iamVjdApAQCAtOTQsNyArOTQsNyBAQCBHQzNEYm9vbGVhbiBFeHRlbnNpb25zM0RPcGVuR0w6
OmlzVmVydGV4QXJyYXlPRVMoUGxhdGZvcm0zRE9iamVjdCBhcnJheSkKICAgICAgICAgcmV0dXJu
IEdMX0ZBTFNFOwogCiAgICAgbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKLSNpZiAo
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9S
TShXSU4pKQorI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShF
RkwpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKSkKICAgICBpZiAoaXNWZXJ0ZXhB
cnJheU9iamVjdFN1cHBvcnRlZCgpKQogICAgICAgICByZXR1cm4gZ2xJc1ZlcnRleEFycmF5KGFy
cmF5KTsKICNlbGlmIGRlZmluZWQoR0xfQVBQTEVfdmVydGV4X2FycmF5X29iamVjdCkgJiYgR0xf
QVBQTEVfdmVydGV4X2FycmF5X29iamVjdApAQCAtMTA2LDcgKzEwNiw3IEBAIEdDM0Rib29sZWFu
IEV4dGVuc2lvbnMzRE9wZW5HTDo6aXNWZXJ0ZXhBcnJheU9FUyhQbGF0Zm9ybTNET2JqZWN0IGFy
cmF5KQogdm9pZCBFeHRlbnNpb25zM0RPcGVuR0w6OmJpbmRWZXJ0ZXhBcnJheU9FUyhQbGF0Zm9y
bTNET2JqZWN0IGFycmF5KQogewogICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7
Ci0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwg
UExBVEZPUk0oV0lOKSkKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExB
VEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkpCiAgICAgaWYgKGlz
VmVydGV4QXJyYXlPYmplY3RTdXBwb3J0ZWQoKSkKICAgICAgICAgZ2xCaW5kVmVydGV4QXJyYXko
YXJyYXkpOwogI2VsaWYgZGVmaW5lZChHTF9BUFBMRV92ZXJ0ZXhfYXJyYXlfb2JqZWN0KSAmJiBH
TF9BUFBMRV92ZXJ0ZXhfYXJyYXlfb2JqZWN0CkBAIC0xNjAsNyArMTYwLDcgQEAgYm9vbCBFeHRl
bnNpb25zM0RPcGVuR0w6OnN1cHBvcnRzRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkKIAog
ICAgIC8vIEdMX09FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0CiAgICAgaWYgKG5hbWUgPT0gIkdMX09F
U192ZXJ0ZXhfYXJyYXlfb2JqZWN0IikgewotI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShFRkwpKQorI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFU
KSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKE5JWCkpCiAgICAgICAgIHJldHVybiBtX2F2
YWlsYWJsZUV4dGVuc2lvbnMuY29udGFpbnMoIkdMX0FSQl92ZXJ0ZXhfYXJyYXlfb2JqZWN0Iik7
CiAjZWxzZQogICAgICAgICByZXR1cm4gbV9hdmFpbGFibGVFeHRlbnNpb25zLmNvbnRhaW5zKCJH
TF9BUFBMRV92ZXJ0ZXhfYXJyYXlfb2JqZWN0Iik7CkBAIC0yMDUsNyArMjA1LDcgQEAgU3RyaW5n
IEV4dGVuc2lvbnMzRE9wZW5HTDo6Z2V0RXh0ZW5zaW9ucygpCiAgICAgcmV0dXJuIFN0cmluZyhy
ZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPig6OmdsR2V0U3RyaW5nKEdMX0VYVEVOU0lPTlMp
KSk7CiB9CiAKLSNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0o
RUZMKSB8fCBQTEFURk9STShXSU4pKQorI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFU
KSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKSkKIGJv
b2wgRXh0ZW5zaW9uczNET3BlbkdMOjppc1ZlcnRleEFycmF5T2JqZWN0U3VwcG9ydGVkKCkKIHsK
ICAgICBzdGF0aWMgY29uc3QgYm9vbCBzdXBwb3J0c1ZlcnRleEFycmF5T2JqZWN0ID0gc3VwcG9y
dHMoIkdMX09FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmgK
aW5kZXggZjlkNjllOWY0NmM3YTBmMmZjOTYzZGE5Y2I0YTUwOWE1Y2ExMTcxYi4uNGMwZTBiYzIz
MzAwN2I4YmViMmFhMWFlN2I3YmQyYzVkNTVhNDlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wu
aApAQCAtNjAsNyArNjAsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9y
dHNFeHRlbnNpb24oY29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICB2aXJ0dWFsIFN0cmluZyBnZXRF
eHRlbnNpb25zKCk7Ci0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSkKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkp
CiBwcml2YXRlOgogICAgIGJvb2wgaXNWZXJ0ZXhBcnJheU9iamVjdFN1cHBvcnRlZCgpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uY3BwCmluZGV4IGY0MTNhNjc1
YTZjOTM5MzE1ZDU5NTRiNDI0YmU3ZWFhZTc1NmE3NTMuLmIwZjdmOWU3Yjc4YWY5NDUwZjlhODNi
NTMzNWIxYTU0ZDNhM2MwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24u
Y3BwCkBAIC00Miw3ICs0Miw3IEBACiAjaW5jbHVkZSA8R0xFUzIvZ2wyZXh0Lmg+CiAjZWxpZiBQ
TEFURk9STShNQUMpCiAjaW5jbHVkZSA8T3BlbkdML2dsLmg+Ci0jZWxpZiBQTEFURk9STShHVEsp
IHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdJTikKKyNlbGlm
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oV0lOKSB8fCBQTEFURk9STShOSVgpCiAjaW5jbHVkZSAiT3BlbkdMU2hpbXMuaCIKICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
RXh0ZW5zaW9uczNET3BlbkdMRVMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5oCmluZGV4IDIxZWMyZTU3MjlkYzhkOWEwNWYw
NjI0MmZkNTdiNGUxYzRhZDVhZGEuLmUzYWMxZWM4ZmJjMmVhN2UzMWE4NTFhZWU5YjBlYWViZmY4
YWZhNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9FeHRlbnNpb25zM0RPcGVuR0xFUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5oCkBAIC02OSw2ICs2OSwxMSBAQCB0
eXBlZGVmIHZvaWQgKEdMX0FQSUVOVFJZUCBQRk5HTEdFVE5VTklGT1JNRlZFWFRQUk9DKSAoR0x1
aW50IHByb2dyYW0sIEdMaW50IGxvYwogdHlwZWRlZiB2b2lkIChHTF9BUElFTlRSWVAgUEZOR0xH
RVROVU5JRk9STUlWRVhUUFJPQykgKEdMdWludCBwcm9ncmFtLCBHTGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIGJ1ZlNpemUsIEdMaW50ICpwYXJhbXMpOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShO
SVgpICYmIFVTRShPUEVOR0xfRVNfMikgJiYgIUdMX0lNR19tdWx0aXNhbXBsZWRfcmVuZGVyX3Rv
X3RleHR1cmUKKy8vIG9uIHJQaSwgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUyRE1VTFRJU0FNUExF
SU1HIGlzIGNhbGxlZCBQRk5HTENMSVBQTEFORVhJTUcuCit0eXBlZGVmIFBGTkdMQ0xJUFBMQU5F
WElNRyBQRk5HTEZSQU1FQlVGRkVSVEVYVFVSRTJETVVMVElTQU1QTEVJTUc7CisjZW5kaWYKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFeHRlbnNpb25zM0RPcGVuR0xFUyA6IHB1Ymxp
YyBFeHRlbnNpb25zM0RPcGVuR0xDb21tb24gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTC5jcHAKaW5kZXggZmJkY2EwZTA3MTJjNWFlMTAyYWYxMzZjMzQ1N2EyYjljZWIzMzIwMC4u
ZTdkZjk0ZGIyYjY0YTI5YjI3YzYyMTc2Y2MxYTRmZGQ1ZDE5N2EwNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3Bl
bkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCkBAIC00Miw3ICs0Miw3IEBACiAKICNpZiBQTEFURk9S
TShNQUMpCiAjaW5jbHVkZSA8T3BlbkdML2dsLmg+Ci0jZWxpZiBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdJTikKKyNlbGlmIFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV0lO
KSB8fCBQTEFURk9STShOSVgpCiAjaW5jbHVkZSAiT3BlbkdMU2hpbXMuaCIKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhp
Y3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAppbmRleCA4OWQy
YjNmMGU4MjcwMTIzNjBhNzdkMGY4YmE2NGIyZDBjNDM5M2QxLi40ZDdkZTUzNWMxMDI0YmM1NmI3
NzlkM2YzZDYwN2I3OWQ5ZmNhNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQz
RE9wZW5HTENvbW1vbi5jcHAKQEAgLTU5LDcgKzU5LDcgQEAKICNpbmNsdWRlICJPcGVuR0xFU1No
aW1zLmgiCiAjZWxpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8T3BlbkdML2dsLmg+Ci0jZWxp
ZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRG
T1JNKFdJTikKKyNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9S
TShRVCkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShOSVgpCiAjaW5jbHVkZSAiT3BlbkdM
U2hpbXMuaCIKICNlbmRpZgogCkBAIC0yMjEsNyArMjIxLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6cmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgICAgaWYgKHdpZHRoID09IG1f
Y3VycmVudFdpZHRoICYmIGhlaWdodCA9PSBtX2N1cnJlbnRIZWlnaHQpCiAgICAgICAgIHJldHVy
bjsKIAotI2lmIChQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSkgJiYgVVNFKEdSQVBISUNT
X1NVUkZBQ0UpCisjaWYgKFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KE5JWCkpICYmIFVTRShHUkFQSElDU19TVVJGQUNFKQogICAgIDo6Z2xGbHVzaCgpOyAvLyBNYWtl
IHN1cmUgYWxsIEdMIGNhbGxzIGhhdmUgYmVlbiBjb21taXR0ZWQgYmVmb3JlIHJlc2l6aW5nLgog
ICAgIGNyZWF0ZUdyYXBoaWNzU3VyZmFjZXMoSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KSk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlci5oCmluZGV4IDZlYzY3NTc5NDI4MzI0OGUyNTg2ZmZlNjQyZmUxNTJiNmEw
YWMzODUuLmQzYzA1ZTZiY2E0MmRmNWYyMjAxZGM1YTE2OWFjNjA2Njk2ZThjYjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXIuaApAQCAtMjgsNyArMjgsNyBAQAogICAgICNkZWZpbmUgVEVYTUFQX09QRU5HTF9FU18y
CiAjZW5kaWYKICNlbmRpZgotI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpICYm
IFVTRShPUEVOR0xfRVNfMikKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8
IFBMQVRGT1JNKE5JWCkpICYmIFVTRShPUEVOR0xfRVNfMikKICNkZWZpbmUgVEVYTUFQX09QRU5H
TF9FU18yCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5QYWNrYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAK
aW5kZXggZDJiNmY1MmY5M2M5NGMyYmYzMzdjOGUzOWZiYmJjZTE5Nzg1OGRhZi4uZjllMjIxOTAw
OTJiZjljODU2YmZhNWY0YmU2YmVhNTMzM2UzMmNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L1BsdWdpblBhY2thZ2UuY3BwCkBAIC0xNzcsNyArMTc3LDcgQEAgUGFzc1JlZlB0cjxQbHVnaW5Q
YWNrYWdlPiBQbHVnaW5QYWNrYWdlOjpjcmVhdGVQYWNrYWdlRnJvbUNhY2hlKGNvbnN0IFN0cmlu
ZyYgcGEKIH0KICNlbmRpZgogCi0jaWYgZGVmaW5lZChYUF9VTklYKQorI2lmIGRlZmluZWQoWFBf
VU5JWCkgJiYgIVBMQVRGT1JNKE5JWCkKIHZvaWQgUGx1Z2luUGFja2FnZTo6ZGV0ZXJtaW5lUXVp
cmtzKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCiB7CiAgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6
OmlzSmF2YUFwcGxldE1JTUVUeXBlKG1pbWVUeXBlKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1
Z2luVmlldy5jcHAKaW5kZXggNjE4YjM2OGJkM2E0NmYwMWNkYTkwNjg3YjY0YmViZDRiMWNmNGVh
Zi4uN2NmZmE3ZWI2NGIzMzA0YjBiZTNjMzllMGZlYzhiMmVjNTUxNDgwZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC04MzEsNyArODMxLDcgQEAgUGx1Z2luVmlldzo6
UGx1Z2luVmlldyhGcmFtZSogcGFyZW50RnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUsIFBsdWdp
blBhY2thZ2UqIHAKICAgICAsIG1fd21QcmludEhEQygwKQogICAgICwgbV9oYXZlVXBkYXRlZFBs
dWdpbldpZGdldChmYWxzZSkKICNlbmRpZgotI2lmIChQTEFURk9STShRVCkgJiYgT1MoV0lORE9X
UykpIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiAoUExBVEZPUk0oUVQpICYmIE9TKFdJTkRPV1MpKSB8
fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKE5JWCkKICAgICAsIG1fd2luZG93KDApCiAjZW5k
aWYKICNpZiBkZWZpbmVkKFhQX01BQ09TWCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgK
aW5kZXggYTgxYmQwYWQ0OWUyMDBhMGNlMjQxOGNiMzZjOTk4NDgwMDE5Nzk3Zi4uMzI3NzYwZjZm
NGI1MDU0ZmM3ZWQyNWI4MTRhMzY2ZmM0MjlmNjFkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5WaWV3LmgKQEAgLTM4Myw3ICszODMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IGJvb2wgbV9oYXZlVXBkYXRlZFBsdWdpbldpZGdldDsKICNlbmRpZgogCi0jaWYgKChQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKFFUKSkgJiYgT1MoV0lORE9XUykpIHx8IFBMQVRGT1JNKEVGTCkK
KyNpZiAoKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpKSAmJiBPUyhXSU5ET1dTKSkgfHwg
UExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgpCiAgICAgICAgIC8vIE9uIE1hYyBPU1ggYW5k
IFF0L1dpbmRvd3MgdGhlIHBsdWdpbiBkb2VzIG5vdCBoYXZlIGl0cyBvd24gbmF0aXZlIHdpZGdl
dCwKICAgICAgICAgLy8gYnV0IGlzIHVzaW5nIHRoZSBjb250YWluaW5nIHdpbmRvdyBhcyBpdHMg
cmVmZXJlbmNlIGZvciBwb3NpdGlvbmluZy9wYWludGluZy4KICAgICAgICAgUGxhdGZvcm1QbHVn
aW5XaWRnZXQgbV93aW5kb3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpblZpZXdOb25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlld05vbmUu
Y3BwCmluZGV4IDBjOTQ1ZmI2NGJiYTZkZTQyYmE4OTdkMzI3NWZlZmY0ZDVmMmJhYmUuLjQ5OGFi
NzZiYWM2YjExYzZkNmI1NWRiMjU1OWQ0NzU2MWQyMjBiODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlld05vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luVmlld05vbmUuY3BwCkBAIC0xMzIsNyArMTMyLDcgQEAgdm9pZCBQbHVnaW5W
aWV3OjpoYW5kbGVGb2N1c091dEV2ZW50KCkKIC8vIHBvcnRzIHVzaW5nIFBsdWdpblZpZXcsIGJ1
dCB1bnRpbCB0aGVuLCBpZiBuZXcgZnVuY3Rpb25zIGxpa2UgdGhpcyBhcmUgCiAvLyBhZGRlZCwg
cGxlYXNlIG1ha2Ugc3VyZSB0aGV5IGhhdmUgdGhlIHByb3BlciBwbGF0Zm9ybSAjaWZzIHNvIHRo
YXQgY2hhbmdlcwogLy8gZG8gbm90IGJyZWFrIHBvcnRzIHdobyBjb21waWxlIGJvdGggdGhpcyBm
aWxlIGFuZCBQbHVnaW5WaWV3LmNwcC4gICAKLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KEVGTCkgfHwgKE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpKSB8fCAoUExBVEZPUk0oUVQpICYm
ICFPUyhXSU5DRSkpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShFRkwpIHx8IChPUyhX
SU5DRSkgJiYgIVBMQVRGT1JNKFFUKSkgfHwgKFBMQVRGT1JNKFFUKSAmJiAhT1MoV0lOQ0UpKSB8
fCBQTEFURk9STShOSVgpCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiB2b2lkIFBs
dWdpblZpZXc6OmtlZXBBbGl2ZShOUFApCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206164</attachid>
            <date>2013-07-05 11:36:38 -0700</date>
            <delta_ts>2013-07-15 11:50:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118326-20130705153300.patch</filename>
            <type>text/plain</type>
            <size>33587</size>
            <attacher name="Hugo Parente Lima">hugo.lima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE2M2VjYWYwN2M5YmFj
Y2Q0YzE5ODYxYzMzODg5Nzc5MTYzODJjZC4uMjE4OWViM2FkOTAyYjY2NGI3OGJiODg1Y2MyZGFi
Nzg2ZjFlZGMzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEzLTA3LTA1ICBIdWdv
IFBhcmVudGUgTGltYSAgPGh1Z28ubGltYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFByZXBh
cmluZyBXZWJDb3JlIHRvIHJlY2VpdmUgTml4IFBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODMyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE9ubHkgYWRkaW5nIHRoZSBjb21waWxhdGlvbiBkaXJl
Y3RpdmVzIHRoYXQgYXJlIE5peCBzcGVjaWZpYywgaW4gdGhlCisgICAgICAgIGV4aXN0ZW50IFdl
YkNvcmUgZmlsZXMKKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6ZGVmYXVsdE9iamVjdENvbnRlbnRUeXBlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9DdXJzb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9EcmFnRGF0YS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL0RyYWdJbWFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVT
eXN0ZW0uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9SdW5Mb29wLmg6CisgICAgICAgICogcGxhdGZv
cm0vV2lkZ2V0Lmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9BTkdMRVdlYktpdEJyaWRnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQ
bGF0Zm9ybURhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0Qu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xFU1NoaW1zLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Z2V0UHJvY0FkZHJlc3MpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1z
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1MYXllci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dMQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHTENvbnRleHQ6OmNyZWF0ZUNvbnRleHRGb3JXaW5kb3cpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OkdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udFBsYXRmb3Jt
RGF0YUZyZWVUeXBlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0
ZW5zaW9uczNET3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5H
TDo6Y3JlYXRlVmVydGV4QXJyYXlPRVMpOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNE
T3BlbkdMOjpkZWxldGVWZXJ0ZXhBcnJheU9FUyk6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNp
b25zM0RPcGVuR0w6OmlzVmVydGV4QXJyYXlPRVMpOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5z
aW9uczNET3BlbkdMOjpiaW5kVmVydGV4QXJyYXlPRVMpOgorICAgICAgICAoV2ViQ29yZTo6RXh0
ZW5zaW9uczNET3BlbkdMOjpzdXBwb3J0c0V4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3Bl
bkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpyZXNo
YXBlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5o
OgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHA6CisgICAgICAgICogcGx1Z2lu
cy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OlBsdWdpblZp
ZXcpOgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luVmlldy5oOgorICAgICAgICAqIHBsdWdpbnMv
UGx1Z2luVmlld05vbmUuY3BwOgorCiAyMDEzLTA3LTA1ICBCZW5qYW1pbiBEdXBvbnQgICA8YmR1
cG9udEBuZHMuY29tPgogCiAgICAgICAgIFNlZ21lbnRhdGlvbiBmYXVsdCBvY2N1cnJlZCB3aGVu
IElDVSBkYXRhIGxpYnJhcnkgZG9lc24ndCBlbWJlZCB0aGUgZXhwZWN0ZWQgZW5jb2RpbmcuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA4M2Q0MmYzZDQwOTRkN2QwMjQx
MWZmMjEyMDUwZmQxY2Q4Y2JmMzJkLi41MjU5ZTRiZDQzZTBlMTJlN2I1YWMzNzAwODQxNmE2OGFk
ZDdhOWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTg5OCw3ICs4
OTgsNyBAQCBPYmplY3RDb250ZW50VHlwZSBGcmFtZUxvYWRlcjo6ZGVmYXVsdE9iamVjdENvbnRl
bnRUeXBlKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUwogICAgIGlmIChtaW1lVHlwZS5pc0VtcHR5
KCkpCiAgICAgICAgIG1pbWVUeXBlID0gbWltZVR5cGVGcm9tVVJMKHVybCk7CiAKLSNpZiAhUExB
VEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oRUZMKSAvLyBNYWMgaGFzIG5vIFBsdWdpbkRhdGFiYXNl
LCBub3IgZG9lcyBDaHJvbWl1bSBvciBFRkwKKyNpZiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZP
Uk0oRUZMKSAmJiAhUExBVEZPUk0oTklYKSAvLyBNYWMgaGFzIG5vIFBsdWdpbkRhdGFiYXNlLCBu
b3IgZG9lcyBOaXggb3IgRUZMCiAgICAgaWYgKG1pbWVUeXBlLmlzRW1wdHkoKSkgewogICAgICAg
ICBTdHJpbmcgZGVjb2RlZFBhdGggPSBkZWNvZGVVUkxFc2NhcGVTZXF1ZW5jZXModXJsLnBhdGgo
KSk7CiAgICAgICAgIG1pbWVUeXBlID0gUGx1Z2luRGF0YWJhc2U6Omluc3RhbGxlZFBsdWdpbnMo
KS0+TUlNRVR5cGVGb3JFeHRlbnNpb24oZGVjb2RlZFBhdGguc3Vic3RyaW5nKGRlY29kZWRQYXRo
LnJldmVyc2VGaW5kKCcuJykgKyAxKSk7CkBAIC05MDgsNyArOTA4LDcgQEAgT2JqZWN0Q29udGVu
dFR5cGUgRnJhbWVMb2FkZXI6OmRlZmF1bHRPYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1
cmwsIGNvbnN0IFMKICAgICBpZiAobWltZVR5cGUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4g
T2JqZWN0Q29udGVudEZyYW1lOyAvLyBHbyBhaGVhZCBhbmQgaG9wZSB0aGF0IHdlIGNhbiBkaXNw
bGF5IHRoZSBjb250ZW50LgogCi0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKEVGTCkg
Ly8gTWFjIGhhcyBubyBQbHVnaW5EYXRhYmFzZSwgbm9yIGRvZXMgQ2hyb21pdW0gb3IgRUZMCisj
aWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKEVGTCkgJiYgIVBMQVRGT1JNKE5JWCkgLy8g
TWFjIGhhcyBubyBQbHVnaW5EYXRhYmFzZSwgbm9yIGRvZXMgTml4IG9yIEVGTAogICAgIGJvb2wg
cGx1Z0luU3VwcG9ydHNNSU1FVHlwZSA9IFBsdWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQbHVnaW5z
KCktPmlzTUlNRVR5cGVSZWdpc3RlcmVkKG1pbWVUeXBlKTsKICNlbHNlCiAgICAgYm9vbCBwbHVn
SW5TdXBwb3J0c01JTUVUeXBlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9DdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCmluZGV4
IGMyNDBlNTc1NGFjMGJkYzIwODE2ZGRhOGY4MmMyZjFhZDQxMWZhNDcuLmQzNTQyMGQwMDNmNDc4
MGI3MTZiZGZmMjUyYWExY2IzZjYxYWI2ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0N1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCkBA
IC01Niw3ICs1Niw3IEBAIHR5cGVkZWYgSElDT04gSENVUlNPUjsKICNlbmRpZgogCiAvLyBMb29r
cyBsaWtlIGl0J3MganVzdCBQTEFURk9STShCTEFDS0JFUlJZKSBzdGlsbCBub3QgdXNpbmcgdGhp
cz8KLSNpZiBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8
fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBMQVRGT1JNKFdJTikgfHwgUExB
VEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShF
RkwpIHx8IFBMQVRGT1JNKE5JWCkKICNkZWZpbmUgV1RGX1VTRV9MQVpZX05BVElWRV9DVVJTT1Ig
MQogI2VuZGlmCiAKQEAgLTc5LDcgKzc5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5
cGVkZWYgTlNDdXJzb3IgKlBsYXRmb3JtQ3Vyc29yOwogI2VsaWYgUExBVEZPUk0oR1RLKQogICAg
IHR5cGVkZWYgR1JlZlB0cjxHZGtDdXJzb3I+IFBsYXRmb3JtQ3Vyc29yOwotI2VsaWYgUExBVEZP
Uk0oRUZMKQorI2VsaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgpCiAgICAgdHlwZWRl
ZiBjb25zdCBjaGFyKiBQbGF0Zm9ybUN1cnNvcjsKICNlbGlmIFBMQVRGT1JNKFFUKSAmJiAhZGVm
aW5lZChRVF9OT19DVVJTT1IpCiAgICAgLy8gRG8gbm90IG5lZWQgdG8gYmUgc2hhcmVkIGJ1dCBu
ZWVkIHRvIGJlIGNyZWF0ZWQgZHluYW1pY2FsbHkgdmlhIGVuc3VyZVBsYXRmb3JtQ3Vyc29yLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmgKaW5kZXggNjQ0NDkyNjcwZDliNzc4YzZlNmUyNmJk
MDA5ZWMzOGU3OWQ3NTE1NS4uNzRlZmZmNTUzMzY4YTUzN2VhOTU4YmIxMjYyYjc5NDVhMmFmODQ0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oCkBAIC01OSw3ICs1OSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIERhdGFPYmplY3RHdGs7CiB9CiB0eXBlZGVmIFdlYkNvcmU6
OkRhdGFPYmplY3RHdGsqIERyYWdEYXRhUmVmOwotI2VsaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFU
Rk9STShCTEFDS0JFUlJZKQorI2VsaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShCTEFDS0JF
UlJZKSB8fCBQTEFURk9STShOSVgpCiB0eXBlZGVmIHZvaWQqIERyYWdEYXRhUmVmOwogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmgKaW5kZXggZWMxMGIyY2U4NDE3NWQzOThl
ZGIxNzJiYjNmYTM0MzVkZmFkNWM5YS4uOTQyMzMxZWRjN2RmNTE1OTRjODBlNjU1ODMyMjgyNjQ0
Mzk0NmVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmgKQEAgLTQxLDcgKzQxLDcg
QEAgY2xhc3MgUVBpeG1hcDsKIFFUX0VORF9OQU1FU1BBQ0UKICNlbGlmIFBMQVRGT1JNKFdJTikK
IHR5cGVkZWYgc3RydWN0IEhCSVRNQVBfXyogSEJJVE1BUDsKLSNlbGlmIFBMQVRGT1JNKEdUSykK
KyNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oTklYKQogdHlwZWRlZiBzdHJ1Y3QgX2Nh
aXJvX3N1cmZhY2UgY2Fpcm9fc3VyZmFjZV90OwogI2VuZGlmCiAKQEAgLTYwLDcgKzYwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgUVBpeG1hcCogRHJhZ0ltYWdlUmVmOwog
I2VsaWYgUExBVEZPUk0oV0lOKQogICAgIHR5cGVkZWYgSEJJVE1BUCBEcmFnSW1hZ2VSZWY7Ci0j
ZWxpZiBQTEFURk9STShHVEspCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKE5JWCkK
ICAgICB0eXBlZGVmIGNhaXJvX3N1cmZhY2VfdCogRHJhZ0ltYWdlUmVmOwogI2VsaWYgUExBVEZP
Uk0oRUZMKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQogICAgIHR5cGVkZWYgdm9pZCogRHJhZ0lt
YWdlUmVmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCmluZGV4IGUxZDViN2U0ODBk
ZGU4ZTRiNTA3OTkyMWE3YjFlNmNlMWRlYjRhMGIuLmFhMzBjMmY5ODUxNWQ5ZDNiOGE4YzFhM2Qy
MDk0MmVlZmQ3YjM1MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVT
eXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKQEAgLTYx
LDcgKzYxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSElOU1RBTkNFX18qIEhJTlNUQU5DRTsKIHR5cGVk
ZWYgSElOU1RBTkNFIEhNT0RVTEU7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEdUSykKKyNpZiBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKE5JWCkKIHR5cGVkZWYgc3RydWN0IF9HRmlsZUlPU3Ry
ZWFtIEdGaWxlSU9TdHJlYW07CiB0eXBlZGVmIHN0cnVjdCBfR01vZHVsZSBHTW9kdWxlOwogI2Vu
ZGlmCkBAIC03NSw3ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFBsYXRmb3JtTW9k
dWxlCiAjaWYgT1MoV0lORE9XUykKIHR5cGVkZWYgSE1PRFVMRSBQbGF0Zm9ybU1vZHVsZTsKLSNl
bGlmIFBMQVRGT1JNKEdUSykKKyNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oTklYKQog
dHlwZWRlZiBHTW9kdWxlKiBQbGF0Zm9ybU1vZHVsZTsKICNlbGlmIFBMQVRGT1JNKEVGTCkKIHR5
cGVkZWYgRWluYV9Nb2R1bGUqIFBsYXRmb3JtTW9kdWxlOwpAQCAtMTIwLDcgKzEyMCw3IEBAIHR5
cGVkZWYgdW5zaWduZWQgUGxhdGZvcm1Nb2R1bGVWZXJzaW9uOwogI2lmIFBMQVRGT1JNKFFUKQog
dHlwZWRlZiBRRmlsZSogUGxhdGZvcm1GaWxlSGFuZGxlOwogY29uc3QgUGxhdGZvcm1GaWxlSGFu
ZGxlIGludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUgPSAwOwotI2VsaWYgUExBVEZPUk0oR1RLKQor
I2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShOSVgpCiB0eXBlZGVmIEdGaWxlSU9TdHJl
YW0qIFBsYXRmb3JtRmlsZUhhbmRsZTsKIGNvbnN0IFBsYXRmb3JtRmlsZUhhbmRsZSBpbnZhbGlk
UGxhdGZvcm1GaWxlSGFuZGxlID0gMDsKICNlbGlmIE9TKFdJTkRPV1MpCkBAIC0yMTIsNyArMjEy
LDcgQEAgUmV0YWluUHRyPENGVVJMUmVmPiBwYXRoQXNVUkwoY29uc3QgU3RyaW5nJik7CiB2b2lk
IHNldE1ldGFkYXRhVVJMKFN0cmluZyYgVVJMU3RyaW5nLCBjb25zdCBTdHJpbmcmIHJlZmVycmVy
LCBjb25zdCBTdHJpbmcmIHBhdGgpOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShHVEspCisjaWYg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShOSVgpCiBTdHJpbmcgZmlsZW5hbWVUb1N0cmluZyhj
b25zdCBjaGFyKik7CiBTdHJpbmcgZmlsZW5hbWVGb3JEaXNwbGF5KGNvbnN0IFN0cmluZyYpOwog
Q1N0cmluZyBhcHBsaWNhdGlvbkRpcmVjdG9yeVBhdGgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxv
b3AuaAppbmRleCBiN2YwMWJjYWQ1Nzk2ZDEwYWNhYzVkNmU4ZDk0MWQzOTk1YzNlMzkzLi43NmY3
OTM4ZjNkZWIyYTU1ZjlmMjhkMmJhOWUzMzFkZDQ0OWQ0OGEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UnVuTG9vcC5oCkBAIC0zNiw3ICszNiw3IEBACiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAotI2lmIFBMQVRGT1JNKEdUSykKKyNpZiBQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKE5JWCkKICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRy
Lmg+CiAjZW5kaWYKIApAQCAtOTksNyArOTksNyBAQCBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2
b2lkIHRpbWVyRmlyZWQoUnVuTG9vcCosIGludCBJRCk7CiAgICAgICAgIGludCBtX0lEOwogICAg
ICAgICBib29sIG1faXNSZXBlYXRpbmc7Ci0jZWxpZiBQTEFURk9STShHVEspCisjZWxpZiBQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKE5JWCkKICAgICAgICAgc3RhdGljIGdib29sZWFuIHRpbWVy
RmlyZWRDYWxsYmFjayhSdW5Mb29wOjpUaW1lckJhc2UqKTsKICAgICAgICAgZ2Jvb2xlYW4gaXNS
ZXBlYXRpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVwZWF0aW5nOyB9CiAgICAgICAgIHZvaWQg
Y2xlYXJUaW1lclNvdXJjZSgpOwpAQCAtMTU5LDcgKzE1OSw3IEBAIHByaXZhdGU6CiAgICAgVGlt
ZXJNYXAgbV9hY3RpdmVUaW1lcnM7CiAgICAgY2xhc3MgVGltZXJPYmplY3Q7CiAgICAgVGltZXJP
YmplY3QqIG1fdGltZXJPYmplY3Q7Ci0jZWxpZiBQTEFURk9STShHVEspCisjZWxpZiBQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKE5JWCkKIHB1YmxpYzoKICAgICBzdGF0aWMgZ2Jvb2xlYW4gcXVl
dWVXb3JrKFJ1bkxvb3AqKTsKICAgICBHTWFpbkxvb3AqIGlubmVybW9zdExvb3AoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1dpZGdldC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vV2lkZ2V0LmgKaW5kZXggYTRhMThhMDg4YjNhZDg5ZGU0ODBmNWFhNzQ0OGQ3NDE5
YTI2ZGEwNS4uZWY5OGM0ZGUwMmNiZmM5NmVhMDM4OWU0YTZmOTk1NDk2NGI1Y2YxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vV2lkZ2V0LmgKQEAgLTY1LDcgKzY1LDcgQEAgUVRfRU5EX05BTUVTUEFDRQog
dHlwZWRlZiBRT2JqZWN0KiBQbGF0Zm9ybVdpZGdldDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0o
QkxBQ0tCRVJSWSkKKyNpZiBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQTEFURk9STShOSVgpCiB0
eXBlZGVmIHZvaWQqIFBsYXRmb3JtV2lkZ2V0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9GRlRGcmFtZS5oCmluZGV4IDExNWM4ZjhjNmUzOGE2ZWM1MmJiMzcwMTA2MDQ4
MGUyNTFlZGUzY2YuLjVmZmI3ZmQwMDFmNTczN2Y0YWFjNjhmMWE5NDNkNGYzN2M0NDEzZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZyYW1lLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuaApAQCAtNjcsNiArNjcsMTEg
QEAgc3RydWN0IFJERlRDb250ZXh0OwogI2luY2x1ZGUgPGlwcHMuaD4KICNlbmRpZiAvLyBVU0Uo
V0VCQVVESU9fSVBQKQogCisjaWYgUExBVEZPUk0oTklYKQorI2luY2x1ZGUgPGNtYXRoPgorI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJGRlRGcmFtZS5oPgorI2VuZGlmCisKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgpAQCAtMTc4LDYgKzE4MywxMSBAQCBwcml2YXRlOgogICAgIEF1ZGlvRmxvYXRBcnJh
eSBtX2ltYWdEYXRhOwogI2VuZGlmIC8vIFVTRShXRUJBVURJT19JUFApCiAKKyNpZiBQTEFURk9S
TShOSVgpCisgICAgdm9pZCBzY2FsZVBsYW5hckRhdGEoZmxvYXQgc2NhbGUpOworICAgIE93blB0
cjxXZWJLaXQ6OldlYkZGVEZyYW1lPiBtX2ZmdEZyYW1lOworI2VuZGlmIC8vIFBMQVRGT1JNKE5J
WCkKKwogI2lmIFVTRShXRUJBVURJT19PUEVOTUFYX0RMX0ZGVCkKICAgICBzdGF0aWMgT01YRkZU
U3BlY19SX0YzMiogY29udGV4dEZvclNpemUodW5zaWduZWQgbG9nMkZGVFNpemUpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uY3BwCmluZGV4IDRh
YWExYzAyMTcxZWU1OGY2ZGVlYWMzMjVjYzQyNmFhZmUxNDUyNzcuLjU1OTY2MDgwMjljYTYwYWIx
ZmE5ODE3MGUwZjUwYjUzMTY0NWVlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0hSVEZFbGV2YXRpb24uY3BwCkBAIC02MSw3ICs2MSw3IEBAIGNvbnN0IHNpemVfdCBS
ZXNwb25zZUZyYW1lU2l6ZSA9IDI1NjsKIC8vIFRoZSBpbXB1bHNlIHJlc3BvbnNlcyBtYXkgYmUg
cmVzYW1wbGVkIHRvIGEgZGlmZmVyZW50IHNhbXBsZS1yYXRlIChkZXBlbmRpbmcgb24gdGhlIGF1
ZGlvIGhhcmR3YXJlKSB3aGVuIHRoZXkgYXJlIGxvYWRlZC4KIGNvbnN0IGZsb2F0IFJlc3BvbnNl
U2FtcGxlUmF0ZSA9IDQ0MTAwOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoV0VCQVVESU9f
R1NUUkVBTUVSKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKFdFQkFVRElPX0dTVFJFQU1FUikg
fHwgUExBVEZPUk0oTklYKQogI2RlZmluZSBVU0VfQ09OQ0FURU5BVEVEX0lNUFVMU0VfUkVTUE9O
U0VTCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8v
V2lkZ2V0QmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jYWlyby9XaWRn
ZXRCYWNraW5nU3RvcmUuaAppbmRleCBhNzIyMGJlMGEzNjIxNzU0OWJlMDM2NzUyNTIyNjg4YzBj
NGUxYmY5Li5kNDBiZmJiOTA4YjAyOGExMDQxMWIxZDYxYzlmMTgzNDRkZjRkMWY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmUuaApA
QCAtMzksNiArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB0eXBlZGVmIEd0a1dpZGdldCog
UGxhdGZvcm1XaWRnZXQ7CiAjZWxpZiBQTEFURk9STShFRkwpCiB0eXBlZGVmIEV2YXNfT2JqZWN0
KiBQbGF0Zm9ybVdpZGdldDsKKyNlbGlmIFBMQVRGT1JNKE5JWCkKK3R5cGVkZWYgdm9pZCogUGxh
dGZvcm1XaWRnZXQ7CiAjZW5kaWYKIAogY2xhc3MgV2lkZ2V0QmFja2luZ1N0b3JlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0QnJpZGdl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktpdEJyaWRnZS5o
CmluZGV4IDgzYzJlMDA0YzVlMDZkOTU2YTE2NTRjNDAxODM0MGQ0Zjg0MGFiYjguLjhjOGYzYzcz
ODdlNmY5MmEzODRjY2I4OWI0ZjI5MjE0MDRiNjUwMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0QnJpZGdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlkZ2UuaApAQCAtMjksNyArMjks
NyBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAotI2lmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShFRkwpICYmICFQ
TEFURk9STShCTEFDS0JFUlJZKSAmJiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShXSU4pCisj
aWYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKEVGTCkgJiYgIVBMQVRGT1JNKEJMQUNLQkVS
UlkpICYmICFQTEFURk9STShRVCkgJiYgIVBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKE5JWCkK
ICNpbmNsdWRlICJBTkdMRS9TaGFkZXJMYW5nLmgiCiAjZWxpZiBQTEFURk9STShXSU4pCiAjaW5j
bHVkZSAiR0xTTEFORy9TaGFkZXJMYW5nLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMzI5NjlmMGFkNmI2ZGYwYjk1
MDYyZmRlOGYxZGI0MzYzNzQ1ODg3MS4uNGMwNWU4ZjYwNzVkMzUxYjMzOGYwNzQyYmIxZDZlNWMx
ZTExNDA2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRQbGF0Zm9ybURhdGEuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgInF0L0ZvbnRQbGF0
Zm9ybURhdGEuaCIKICNlbGlmIFVTRShXSU5HREkpCiAjaW5jbHVkZSAid2luY2UvRm9udFBsYXRm
b3JtRGF0YS5oIgotI2VsaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShHVEspCisjZWxpZiBQ
TEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oTklYKQogI2luY2x1ZGUg
ImZyZWV0eXBlL0ZvbnRQbGF0Zm9ybURhdGEuaCIKICNlbHNlCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcAppbmRleCBj
ZTA3NzZmYjViOWU3NTlkY2MwYzlhYjI1YzY5YjQ5NWIwMjk2ZGI2Li5mYTk2OTQxZTkwZWYzYjQ1
NTBiODUzOWU0YzljN2NiYmEzZWJiZjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwCkBAIC0xNDc0LDcgKzE0NzQs
NyBAQCB1bnNpZ25lZCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0Q2hhbm5lbEJpdHNCeUZvcm1hdChH
QzNEZW51bSBmb3JtYXQpCiAgICAgfQogfQogCi0jaWYgIVBMQVRGT1JNKEJMQUNLQkVSUlkpICYm
ICFQTEFURk9STShRVCkgJiYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKEVGTCkgJiYgIVBM
QVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKFdJTikKKyNpZiAhUExBVEZPUk0oQkxBQ0tCRVJSWSkg
JiYgIVBMQVRGT1JNKFFUKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oRUZMKSAmJiAh
UExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oTklYKQogUGxhdGZv
cm1HcmFwaGljc0NvbnRleHQzRCBHcmFwaGljc0NvbnRleHQzRDo6cGxhdGZvcm1HcmFwaGljc0Nv
bnRleHQzRCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIE51bGxQbGF0Zm9ybUdyYXBoaWNzQ29udGV4
dDNEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dDNELmgKaW5kZXggYWI0NjcyNzM3YmEyZGZkNGU1MWQzNDZiMDkxNTRhODhmMzRhZDVl
ZS4uYWEzOTc3YjJiYWMxNjFmNjlkNDFiN2YyZDJhMmQ2MmFlNWYwMGYzMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBA
IC00Nyw3ICs0Nyw3IEBACiAjdW5kZWYgVkVSU0lPTgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShN
QUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwg
UExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFU
Rk9STShCTEFDS0JFUlJZKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkKICNpbmNs
dWRlICJBTkdMRVdlYktpdEJyaWRnZS5oIgogI2VuZGlmCiAKQEAgLTYyLDcgKzYyLDcgQEAgY2xh
c3MgUVJlY3Q7CiBjbGFzcyBRT3BlbkdMQ29udGV4dDsKIGNsYXNzIFFTdXJmYWNlOwogUVRfRU5E
X05BTUVTUEFDRQotI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjZWxpZiBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oTklYKQogdHlwZWRlZiB1
bnNpZ25lZCBpbnQgR0x1aW50OwogI2VuZGlmCiAKQEAgLTQ5Niw3ICs0OTYsNyBAQCBwdWJsaWM6
CiAKICAgICBib29sIG1ha2VDb250ZXh0Q3VycmVudCgpOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8
fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRG
T1JNKEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0o
QkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShOSVgpCiAgICAgLy8gV2l0
aCBtdWx0aXNhbXBsaW5nIG9uLCBibGl0IGZyb20gbXVsdGlzYW1wbGVGQk8gdG8gcmVndWxhciBG
Qk8uCiAgICAgdm9pZCBwcmVwYXJlVGV4dHVyZSgpOwogI2VuZGlmCkBAIC05MjEsNyArOTIxLDcg
QEAgcHJpdmF0ZToKICAgICAvLyBEZXN0aW5hdGlvbiBkYXRhIHdpbGwgaGF2ZSBubyBnYXBzIGJl
dHdlZW4gcm93cy4KICAgICBzdGF0aWMgYm9vbCBwYWNrUGl4ZWxzKGNvbnN0IHVpbnQ4X3QqIHNv
dXJjZURhdGEsIERhdGFGb3JtYXQgc291cmNlRGF0YUZvcm1hdCwgdW5zaWduZWQgd2lkdGgsIHVu
c2lnbmVkIGhlaWdodCwgdW5zaWduZWQgc291cmNlVW5wYWNrQWxpZ25tZW50LCB1bnNpZ25lZCBk
ZXN0aW5hdGlvbkZvcm1hdCwgdW5zaWduZWQgZGVzdGluYXRpb25UeXBlLCBBbHBoYU9wLCB2b2lk
KiBkZXN0aW5hdGlvbkRhdGEsIGJvb2wgZmxpcFkpOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oQkxB
Q0tCRVJSWSkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShOSVgpCiAgICAgLy8gVGFrZSBp
bnRvIGFjY291bnQgdGhlIHVzZXIncyByZXF1ZXN0ZWQgY29udGV4dCBjcmVhdGlvbiBhdHRyaWJ1
dGVzLAogICAgIC8vIGluIHBhcnRpY3VsYXIgc3RlbmNpbCBhbmQgYW50aWFsaWFzLCBhbmQgZGV0
ZXJtaW5lIHdoaWNoIGNvdWxkIG9yCiAgICAgLy8gY291bGQgbm90IGJlIGhvbm9yZWQgYmFzZWQg
b24gdGhlIGNhcGFiaWxpdGllcyBvZiB0aGUgT3BlbkdMCkBAIC05NDIsNyArOTQyLDcgQEAgcHJp
dmF0ZToKIAogICAgIGJvb2wgcmVzaGFwZUZCT3MoY29uc3QgSW50U2l6ZSYpOwogICAgIHZvaWQg
cmVzb2x2ZU11bHRpc2FtcGxpbmdJZk5lY2Vzc2FyeShjb25zdCBJbnRSZWN0JiA9IEludFJlY3Qo
KSk7Ci0jaWYgKFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpKSAmJiBVU0UoR1JBUEhJQ1Nf
U1VSRkFDRSkKKyNpZiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0o
TklYKSkgJiYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiAgICAgdm9pZCBjcmVhdGVHcmFwaGljc1N1
cmZhY2VzKGNvbnN0IEludFNpemUmKTsKICNlbmRpZgogCkBAIC05NTksNyArOTU5LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkKiBtX2NvbnRleHQ7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFU
Rk9STShCTEFDS0JFUlJZKSB8fCBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKQogICAgIHN0cnVj
dCBTeW1ib2xJbmZvIHsKICAgICAgICAgU3ltYm9sSW5mbygpCiAgICAgICAgICAgICA6IHR5cGUo
MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTEVT
U2hpbXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTEVTU2hpbXMu
aAppbmRleCBjMDZiNjdjNjhhYTYzYzZiYTI2OWU2NGVhYTkxZWQxNDU3YmZkM2RlLi43MjU2ZjQx
ZDNkMjMyMjM1ZTdlZTljMGY1MmU3YTE0OWE0NWNhYmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xFU1NoaW1zLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMRVNTaGltcy5oCkBAIC0yNiw3ICsyNiw3IEBACiAj
aWZuZGVmIE9wZW5HTEVTU2hpbXNfaAogI2RlZmluZSBPcGVuR0xFU1NoaW1zX2gKIAotI2lmIFBM
QVRGT1JNKEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpIHx8
IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZP
Uk0oV0lOKSB8fCBQTEFURk9STShOSVgpCiAjZGVmaW5lIGdsQmluZEZyYW1lYnVmZmVyRVhUIGds
QmluZEZyYW1lYnVmZmVyCiAjZGVmaW5lIGdsRnJhbWVidWZmZXJUZXh0dXJlMkRFWFQgZ2xGcmFt
ZWJ1ZmZlclRleHR1cmUyRAogI2RlZmluZSBnbEJpbmRSZW5kZXJidWZmZXJFWFQgZ2xCaW5kUmVu
ZGVyYnVmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9P
cGVuR0xTaGltcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xT
aGltcy5jcHAKaW5kZXggMTM5NDdhZTA2ODFlYzU0ZDFlOGQ5OWE3OGY1OTA4OGU4OGJiZjA3Yy4u
NmEwM2JmZTYwMDAwNDU3YmY3YmNkZmYxMDdlZTEzZGMyZDE4OGIyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmNwcApAQCAtMjYsNiArMjYs
MTAgQEAKICNpbmNsdWRlIDxkbGZjbi5oPgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShOSVgpICYm
IFVTRShFR0wpCisjaW5jbHVkZSA8RUdML2VnbC5oPgorI2VuZGlmCisKICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQ5
LDYgKzUzLDExIEBAIHN0YXRpYyB2b2lkKiBnZXRQcm9jQWRkcmVzcyhjb25zdCBjaGFyKiBwcm9j
TmFtZSkKIHsKICAgICByZXR1cm4gR2V0UHJvY0FkZHJlc3MoR2V0TW9kdWxlSGFuZGxlQSgibGli
R0xFU3YyIiksIHByb2NOYW1lKTsKIH0KKyNlbGlmIFBMQVRGT1JNKE5JWCkgJiYgVVNFKEVHTCkK
K3N0YXRpYyB2b2lkKiBnZXRQcm9jQWRkcmVzcyhjb25zdCBjaGFyKiBwcm9jTmFtZSkKK3sKKyAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZWdsR2V0UHJvY0FkZHJlc3MocHJvY05h
bWUpKTsKK30KICNlbHNlCiB0eXBlZGVmIHZvaWQqICgqZ2xHZXRQcm9jQWRkcmVzc1R5cGUpIChj
b25zdCBjaGFyKiBwcm9jTmFtZSk7CiBzdGF0aWMgdm9pZCogZ2V0UHJvY0FkZHJlc3MoY29uc3Qg
Y2hhciogcHJvY05hbWUpCkBAIC0xMDYsNyArMTE1LDcgQEAgc3RhdGljIHZvaWQqIGxvb2t1cE9w
ZW5HTEZ1bmN0aW9uQWRkcmVzcyhjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIGJvb2wqIHN1Y2Nl
c3MKICAgICByZXR1cm4gdGFyZ2V0OwogfQogCi0jaWYgUExBVEZPUk0oUVQpICYmIGRlZmluZWQo
UVRfT1BFTkdMX0VTXzIpCisjaWYgKFBMQVRGT1JNKFFUKSAmJiBkZWZpbmVkKFFUX09QRU5HTF9F
U18yKSkgfHwgKFBMQVRGT1JNKE5JWCkgJiYgVVNFKE9QRU5HTF9FU18yKSkKIAogLy8gV2l0aCBB
bmdsZSBvbmx5IEVHTC9HTEVTMiBleHRlbnNpb25zIGFyZSBhdmFpbGFibGUgdGhyb3VnaCBlZ2xH
ZXRQcm9jQWRkcmVzcywgbm90IHRoZSByZWd1bGFyIHN0YW5kYXJkaXplZCBmdW5jdGlvbnMuCiAj
ZGVmaW5lIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShGdW5jdGlvbk5hbWUsIHN1Y2Nlc3Mp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNo
aW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5oCmlu
ZGV4IDhmNzk0MjExZmE0MGM2NDUwNjhiY2VmM2FkYThjMDFmNjY5NmE1YzcuLmE3MzA5OWY0ZTY4
MTljODJlNDQwZGQzOTNkY2MxZDdkZDJkNzA5NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuaApAQCAtMjUsNiArMjUsOCBAQAogI2luY2x1ZGUg
PHFvcGVuZ2xmdW5jdGlvbnMuaD4KICNpbmNsdWRlIDxRT3BlbkdMQ29udGV4dD4KICNpbmNsdWRl
IDxRU3VyZmFjZT4KKyNlbGlmIFBMQVRGT1JNKE5JWCkgJiYgVVNFKE9QRU5HTF9FU18yKQorI2lu
Y2x1ZGUgPEdMRVMyL2dsMi5oPgogI2Vsc2UKICNpbmNsdWRlIDxHTC9nbC5oPgogI2luY2x1ZGUg
PEdML2dsZXh0Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9QbGF0Zm9ybUxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0
Zm9ybUxheWVyLmgKaW5kZXggYTE3YzE5ZWRmZGYxODQzNmFjMGFjOTdjNjY1N2I1NDNjYTdiOTg5
Zi4uMzZhOTNlOWRhYmUzMzcwOGQ1Mjg5ZDFhMTgxYTFkZmYwZjY3OTAzMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1MYXllci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtTGF5ZXIuaApAQCAtNDUsNyAr
NDUsNyBAQCBjbGFzcyBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllcjsKIHR5cGVkZWYgVGV4dHVy
ZU1hcHBlclBsYXRmb3JtTGF5ZXIgUGxhdGZvcm1MYXllcjsKIH07CiAjZW5kaWYKLSNlbGlmIFBM
QVRGT1JNKEVGTCkKKyNlbGlmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oTklYKQogI2lmIFVT
RShURVhUVVJFX01BUFBFUikKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFRleHR1cmVNYXBw
ZXJQbGF0Zm9ybUxheWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vR0xDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL0dMQ29udGV4dC5jcHAKaW5kZXggNjg3YzVlYTEyN2MzMDczYzdlNTcyMjk3YWRh
OGRiOGMxNmYyNTE1YS4uYmM3MjM3ODg2N2Q4MzU4YTQyNmVhZDU3YTU5N2VhMmQ4MmM0NWMzMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR0xDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HTENv
bnRleHQuY3BwCkBAIC0xOSw3ICsxOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiR0xDb250ZXh0LmgiCiAKLSNpZiBVU0UoT1BFTkdMKQorI2lmIFVTRShPUEVOR0wpIHx8IChQ
TEFURk9STShOSVgpICYmIFVTRShPUEVOR0xfRVNfMikpCiAKICNpZiBVU0UoRUdMKQogI2luY2x1
ZGUgIkdMQ29udGV4dEVHTC5oIgpAQCAtMTU5LDYgKzE1OSw3IEBAIFBhc3NPd25QdHI8R0xDb250
ZXh0PiBHTENvbnRleHQ6OmNyZWF0ZUNvbnRleHRGb3JXaW5kb3codWludDY0X3Qgd2luZG93SGFu
ZGxlLCBHCiAgICAgfQogI2VuZGlmCiAKKyNpZiAhUExBVEZPUk0oTklYKQogI2lmIFVTRShHTFgp
CiAgICAgaWYgKE93blB0cjxHTENvbnRleHQ+IGdseENvbnRleHQgPSBHTENvbnRleHRHTFg6OmNy
ZWF0ZUNvbnRleHQod2luZG93SGFuZGxlLCBzaGFyaW5nQ29udGV4dCkpCiAgICAgICAgIHJldHVy
biBnbHhDb250ZXh0LnJlbGVhc2UoKTsKQEAgLTE2Nyw2ICsxNjgsNyBAQCBQYXNzT3duUHRyPEdM
Q29udGV4dD4gR0xDb250ZXh0OjpjcmVhdGVDb250ZXh0Rm9yV2luZG93KHVpbnQ2NF90IHdpbmRv
d0hhbmRsZSwgRwogICAgIGlmIChPd25QdHI8R0xDb250ZXh0PiBlZ2xDb250ZXh0ID0gR0xDb250
ZXh0RUdMOjpjcmVhdGVDb250ZXh0KHdpbmRvd0hhbmRsZSwgc2hhcmluZ0NvbnRleHQpKQogICAg
ICAgICByZXR1cm4gZWdsQ29udGV4dC5yZWxlYXNlKCk7CiAjZW5kaWYKKyNlbmRpZgogICAgIHJl
dHVybiBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcApp
bmRleCBhYTdmZWMxNzkyMmMzMmE4YmY3ZWE2NTAyZTFkNjhjOWU1M2U4YTc1Li5kNjcxZTdhNWMx
MDJlZWNkYzQ2Y2FiYWFjNWU1MjkwYmJkNjlkNTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZS5jcHAKQEAgLTI3LDYgKzI3LDEwIEBACiAjaW5jbHVkZSAiUGxhdGZvcm1Db250
ZXh0Q2Fpcm8uaCIKICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KIAorI2lmIFBMQVRGT1JN
KE5JWCkgJiYgVVNFKEVHTCkKKyNpbmNsdWRlICJHTENvbnRleHRGcm9tQ3VycmVudEVHTC5oIgor
I2VuZGlmCisKICNpZiBVU0UoT1BFTkdMX0VTXzIpCiAjaW5jbHVkZSA8R0xFUzIvZ2wyLmg+CiAj
aW5jbHVkZSA8R0xFUzIvZ2wyZXh0Lmg+CkBAIC01Niw2ICs2MCw5IEBAIEdyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlKEdyYXBoaWNzQ29udGV4dDNEKiBj
b250ZXh0LCBHCiAgICAgICAgIG1fZ2xDb250ZXh0ID0gR0xDb250ZXh0OjpjcmVhdGVPZmZzY3Jl
ZW5Db250ZXh0KEdMQ29udGV4dDo6c2hhcmluZ0NvbnRleHQoKSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRlclRvQ3VycmVudEdMQ29udGV4dDoKKyNp
ZiBQTEFURk9STShOSVgpICYmIFVTRShFR0wpCisgICAgICAgIG1fZ2xDb250ZXh0ID0gR0xDb250
ZXh0RnJvbUN1cnJlbnRFR0w6OmNyZWF0ZUZyb21DdXJyZW50R0xDb250ZXh0KCk7CisjZW5kaWYK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyRGlyZWN0
bHlUb0hvc3RXaW5kb3c6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udFBsYXRmb3Jt
RGF0YUZyZWVUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0
eXBlL0ZvbnRQbGF0Zm9ybURhdGFGcmVlVHlwZS5jcHAKaW5kZXggYTJkNTkxYmE3NTU5ZTdmMzky
MjMzYzZkNjBlMGU4ZGY3ZTg4MGQxMS4uNGE3OWEwYzE5YjExOWNlNWM1NGVjMzc1ZmI3YjU1Yjcy
MjU0OTExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJl
ZXR5cGUvRm9udFBsYXRmb3JtRGF0YUZyZWVUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250UGxhdGZvcm1EYXRhRnJlZVR5cGUuY3BwCkBA
IC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSA8Zm9udGNvbmZpZy9mY2ZyZWV0eXBlLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiAhUExBVEZPUk0oRUZMKQorI2lmICFQ
TEFURk9STShFRkwpICYmICFQTEFURk9STShOSVgpCiAjaW5jbHVkZSA8Z2RrL2dkay5oPgogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAKaW5kZXggMDkwNWM5MjEzZjExMTI4NTBl
ODUzMWQ1Mjc4ZTA4Mjg5MDRmNDQ0NC4uMTk0Nzk5ZjRkOThlZGU4Y2M3NTZjNzJkOTJiMWYxYjkz
OGZhYTZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAK
ICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAiQU5HTEUvU2hhZGVyTGFuZy5oIgogI2luY2x1
ZGUgPE9wZW5HTC9nbC5oPgotI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8
IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXSU4pCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0o
TklYKQogI2luY2x1ZGUgIk9wZW5HTFNoaW1zLmgiCiAjZW5kaWYKIApAQCAtNjUsNyArNjUsNyBA
QCBQbGF0Zm9ybTNET2JqZWN0IEV4dGVuc2lvbnMzRE9wZW5HTDo6Y3JlYXRlVmVydGV4QXJyYXlP
RVMoKQogewogICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgR0x1aW50
IGFycmF5ID0gMDsKLSNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oRUZMKSkgfHwgUExBVEZPUk0oV0lOKQorI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKSkK
ICAgICBpZiAoaXNWZXJ0ZXhBcnJheU9iamVjdFN1cHBvcnRlZCgpKQogICAgICAgICBnbEdlblZl
cnRleEFycmF5cygxLCAmYXJyYXkpOwogI2VsaWYgZGVmaW5lZChHTF9BUFBMRV92ZXJ0ZXhfYXJy
YXlfb2JqZWN0KSAmJiBHTF9BUFBMRV92ZXJ0ZXhfYXJyYXlfb2JqZWN0CkBAIC04MCw3ICs4MCw3
IEBAIHZvaWQgRXh0ZW5zaW9uczNET3BlbkdMOjpkZWxldGVWZXJ0ZXhBcnJheU9FUyhQbGF0Zm9y
bTNET2JqZWN0IGFycmF5KQogICAgICAgICByZXR1cm47CiAKICAgICBtX2NvbnRleHQtPm1ha2VD
b250ZXh0Q3VycmVudCgpOwotI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQ
TEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikpCisjaWYgKFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShO
SVgpKQogICAgIGlmIChpc1ZlcnRleEFycmF5T2JqZWN0U3VwcG9ydGVkKCkpCiAgICAgICAgIGds
RGVsZXRlVmVydGV4QXJyYXlzKDEsICZhcnJheSk7CiAjZWxpZiBkZWZpbmVkKEdMX0FQUExFX3Zl
cnRleF9hcnJheV9vYmplY3QpICYmIEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QKQEAgLTk0
LDcgKzk0LDcgQEAgR0MzRGJvb2xlYW4gRXh0ZW5zaW9uczNET3BlbkdMOjppc1ZlcnRleEFycmF5
T0VTKFBsYXRmb3JtM0RPYmplY3QgYXJyYXkpCiAgICAgICAgIHJldHVybiBHTF9GQUxTRTsKIAog
ICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7Ci0jaWYgKFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSkKKyNpZiAo
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9S
TShXSU4pIHx8IFBMQVRGT1JNKE5JWCkpCiAgICAgaWYgKGlzVmVydGV4QXJyYXlPYmplY3RTdXBw
b3J0ZWQoKSkKICAgICAgICAgcmV0dXJuIGdsSXNWZXJ0ZXhBcnJheShhcnJheSk7CiAjZWxpZiBk
ZWZpbmVkKEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QpICYmIEdMX0FQUExFX3ZlcnRleF9h
cnJheV9vYmplY3QKQEAgLTEwNiw3ICsxMDYsNyBAQCBHQzNEYm9vbGVhbiBFeHRlbnNpb25zM0RP
cGVuR0w6OmlzVmVydGV4QXJyYXlPRVMoUGxhdGZvcm0zRE9iamVjdCBhcnJheSkKIHZvaWQgRXh0
ZW5zaW9uczNET3BlbkdMOjpiaW5kVmVydGV4QXJyYXlPRVMoUGxhdGZvcm0zRE9iamVjdCBhcnJh
eSkKIHsKICAgICBtX2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOwotI2lmIChQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikp
CisjaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwg
UExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShOSVgpKQogICAgIGlmIChpc1ZlcnRleEFycmF5T2Jq
ZWN0U3VwcG9ydGVkKCkpCiAgICAgICAgIGdsQmluZFZlcnRleEFycmF5KGFycmF5KTsKICNlbGlm
IGRlZmluZWQoR0xfQVBQTEVfdmVydGV4X2FycmF5X29iamVjdCkgJiYgR0xfQVBQTEVfdmVydGV4
X2FycmF5X29iamVjdApAQCAtMTYwLDcgKzE2MCw3IEBAIGJvb2wgRXh0ZW5zaW9uczNET3BlbkdM
OjpzdXBwb3J0c0V4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5hbWUpCiAKICAgICAvLyBHTF9PRVNf
dmVydGV4X2FycmF5X29iamVjdAogICAgIGlmIChuYW1lID09ICJHTF9PRVNfdmVydGV4X2FycmF5
X29iamVjdCIpIHsKLSNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oRUZMKSkKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0o
RUZMKSB8fCBQTEFURk9STShOSVgpKQogICAgICAgICByZXR1cm4gbV9hdmFpbGFibGVFeHRlbnNp
b25zLmNvbnRhaW5zKCJHTF9BUkJfdmVydGV4X2FycmF5X29iamVjdCIpOwogI2Vsc2UKICAgICAg
ICAgcmV0dXJuIG1fYXZhaWxhYmxlRXh0ZW5zaW9ucy5jb250YWlucygiR0xfQVBQTEVfdmVydGV4
X2FycmF5X29iamVjdCIpOwpAQCAtMjA1LDcgKzIwNSw3IEBAIFN0cmluZyBFeHRlbnNpb25zM0RP
cGVuR0w6OmdldEV4dGVuc2lvbnMoKQogICAgIHJldHVybiBTdHJpbmcocmVpbnRlcnByZXRfY2Fz
dDxjb25zdCBjaGFyKj4oOjpnbEdldFN0cmluZyhHTF9FWFRFTlNJT05TKSkpOwogfQogCi0jaWYg
KFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZP
Uk0oV0lOKSkKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0o
RUZMKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkpCiBib29sIEV4dGVuc2lvbnMz
RE9wZW5HTDo6aXNWZXJ0ZXhBcnJheU9iamVjdFN1cHBvcnRlZCgpCiB7CiAgICAgc3RhdGljIGNv
bnN0IGJvb2wgc3VwcG9ydHNWZXJ0ZXhBcnJheU9iamVjdCA9IHN1cHBvcnRzKCJHTF9PRVNfdmVy
dGV4X2FycmF5X29iamVjdCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oCmluZGV4IGY5ZDY5ZTlm
NDZjN2EwZjJmYzk2M2RhOWNiNGE1MDlhNWNhMTE3MWIuLjRjMGUwYmMyMzMwMDdiOGJlYjJhYTFh
ZTdiN2JkMmM1ZDU1YTQ5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmgKQEAgLTYwLDcgKzYw
LDcgQEAgcHJvdGVjdGVkOgogCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRXh0ZW5zaW9uKGNv
bnN0IFdURjo6U3RyaW5nJik7CiAgICAgdmlydHVhbCBTdHJpbmcgZ2V0RXh0ZW5zaW9ucygpOwot
I2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBM
QVRGT1JNKFdJTikpCisjaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShOSVgpKQogcHJpdmF0ZToKICAg
ICBib29sIGlzVmVydGV4QXJyYXlPYmplY3RTdXBwb3J0ZWQoKTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9w
ZW5HTENvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcAppbmRleCBmNDEzYTY3NWE2YzkzOTMxNWQ1OTU0
YjQyNGJlN2VhYWU3NTZhNzUzLi5iMGY3ZjllN2I3OGFmOTQ1MGY5YTgzYjUzMzViMWE1NGQzYTNj
MDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
RXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcApAQCAtNDIsNyAr
NDIsNyBAQAogI2luY2x1ZGUgPEdMRVMyL2dsMmV4dC5oPgogI2VsaWYgUExBVEZPUk0oTUFDKQog
I2luY2x1ZGUgPE9wZW5HTC9nbC5oPgotI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShF
RkwpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXSU4pCisjZWxpZiBQTEFURk9STShHVEsp
IHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExB
VEZPUk0oTklYKQogI2luY2x1ZGUgIk9wZW5HTFNoaW1zLmgiCiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9w
ZW5HTEVTLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5z
aW9uczNET3BlbkdMRVMuaAppbmRleCAyMWVjMmU1NzI5ZGM4ZDlhMDVmMDYyNDJmZDU3YjRlMWM0
YWQ1YWRhLi5lM2FjMWVjOGZiYzJlYTdlMzFhODUxYWVlOWIwZWFlYmZmOGFmYTU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNE
T3BlbkdMRVMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
RXh0ZW5zaW9uczNET3BlbkdMRVMuaApAQCAtNjksNiArNjksMTEgQEAgdHlwZWRlZiB2b2lkIChH
TF9BUElFTlRSWVAgUEZOR0xHRVROVU5JRk9STUZWRVhUUFJPQykgKEdMdWludCBwcm9ncmFtLCBH
TGludCBsb2MKIHR5cGVkZWYgdm9pZCAoR0xfQVBJRU5UUllQIFBGTkdMR0VUTlVOSUZPUk1JVkVY
VFBST0MpIChHTHVpbnQgcHJvZ3JhbSwgR0xpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBidWZTaXpl
LCBHTGludCAqcGFyYW1zKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTklYKSAmJiBVU0UoT1BF
TkdMX0VTXzIpICYmICFHTF9JTUdfbXVsdGlzYW1wbGVkX3JlbmRlcl90b190ZXh0dXJlCisvLyBv
biByUGksIFBGTkdMRlJBTUVCVUZGRVJURVhUVVJFMkRNVUxUSVNBTVBMRUlNRyBpcyBjYWxsZWQg
UEZOR0xDTElQUExBTkVYSU1HLgordHlwZWRlZiBQRk5HTENMSVBQTEFORVhJTUcgUEZOR0xGUkFN
RUJVRkZFUlRFWFRVUkUyRE1VTFRJU0FNUExFSU1HOworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRXh0ZW5zaW9uczNET3BlbkdMRVMgOiBwdWJsaWMgRXh0ZW5zaW9uczNE
T3BlbkdMQ29tbW9uIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCmluZGV4
IGZiZGNhMGUwNzEyYzVhZTEwMmFmMTM2YzM0NTdhMmI5Y2ViMzMyMDAuLmU3ZGY5NGRiMmI2NGEy
OWIyN2M2MjE3NmNjMWE0ZmRkNWQxOTdhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNE
T3BlbkdMLmNwcApAQCAtNDIsNyArNDIsNyBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1
ZGUgPE9wZW5HTC9nbC5oPgotI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8
IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXSU4pCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0o
TklYKQogI2luY2x1ZGUgIk9wZW5HTFNoaW1zLmgiCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3Bl
bkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKaW5kZXggODlkMmIzZjBlODI3MDEyMzYw
YTc3ZDBmOGJhNjRiMmQwYzQzOTNkMS4uNGQ3ZGU1MzVjMTAyNGJjNTZiNzc5ZDNmM2Q2MDdiNzlk
OWZjYTRlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24u
Y3BwCkBAIC01OSw3ICs1OSw3IEBACiAjaW5jbHVkZSAiT3BlbkdMRVNTaGltcy5oIgogI2VsaWYg
UExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPE9wZW5HTC9nbC5oPgotI2VsaWYgUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXSU4pCisjZWxp
ZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRG
T1JNKFdJTikgfHwgUExBVEZPUk0oTklYKQogI2luY2x1ZGUgIk9wZW5HTFNoaW1zLmgiCiAjZW5k
aWYKIApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnJlc2hhcGUo
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogICAgIGlmICh3aWR0aCA9PSBtX2N1cnJlbnRXaWR0aCAm
JiBoZWlnaHQgPT0gbV9jdXJyZW50SGVpZ2h0KQogICAgICAgICByZXR1cm47CiAKLSNpZiAoUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkpICYmIFVTRShHUkFQSElDU19TVVJGQUNFKQorI2lm
IChQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgpKSAmJiBVU0Uo
R1JBUEhJQ1NfU1VSRkFDRSkKICAgICA6OmdsRmx1c2goKTsgLy8gTWFrZSBzdXJlIGFsbCBHTCBj
YWxscyBoYXZlIGJlZW4gY29tbWl0dGVkIGJlZm9yZSByZXNpemluZy4KICAgICBjcmVhdGVHcmFw
aGljc1N1cmZhY2VzKEludFNpemUod2lkdGgsIGhlaWdodCkpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIu
aAppbmRleCA2ZWM2NzU3OTQyODMyNDhlMjU4NmZmZTY0MmZlMTUyYjZhMGFjMzg1Li5kM2MwNWU2
YmNhNDJkZjVmMjIwMWRjNWExNjlhYzYwNjY5NmU4Y2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKQEAgLTI4
LDcgKzI4LDcgQEAKICAgICAjZGVmaW5lIFRFWE1BUF9PUEVOR0xfRVNfMgogI2VuZGlmCiAjZW5k
aWYKLSNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpKSAmJiBVU0UoT1BFTkdMX0VT
XzIpCisjaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgp
KSAmJiBVU0UoT1BFTkdMX0VTXzIpCiAjZGVmaW5lIFRFWE1BUF9PUEVOR0xfRVNfMgogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCmluZGV4IGQyYjZmNTJm
OTNjOTRjMmJmMzM3YzhlMzlmYmJiY2UxOTc4NThkYWYuLmY5ZTIyMTkwMDkyYmY5Yzg1NmJmYTVm
NGJlNmJlYTUzMzNlMzJjZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1
Z2luUGFja2FnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdl
LmNwcApAQCAtMTc3LDcgKzE3Nyw3IEBAIFBhc3NSZWZQdHI8UGx1Z2luUGFja2FnZT4gUGx1Z2lu
UGFja2FnZTo6Y3JlYXRlUGFja2FnZUZyb21DYWNoZShjb25zdCBTdHJpbmcmIHBhCiB9CiAjZW5k
aWYKIAotI2lmIGRlZmluZWQoWFBfVU5JWCkKKyNpZiBkZWZpbmVkKFhQX1VOSVgpICYmICFQTEFU
Rk9STShOSVgpCiB2b2lkIFBsdWdpblBhY2thZ2U6OmRldGVybWluZVF1aXJrcyhjb25zdCBTdHJp
bmcmIG1pbWVUeXBlKQogewogICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc0phdmFBcHBsZXRN
SU1FVHlwZShtaW1lVHlwZSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCmlu
ZGV4IDYxOGIzNjhiZDNhNDZmMDFjZGE5MDY4N2I2NGJlYmQ0YjFjZjRlYWYuLjdjZmZhN2ViNjRi
MzMwNGIwYmUzYzM5ZTBmZWM4YjJlYzU1MTQ4MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5WaWV3LmNwcApAQCAtODMxLDcgKzgzMSw3IEBAIFBsdWdpblZpZXc6OlBsdWdpblZpZXcoRnJh
bWUqIHBhcmVudEZyYW1lLCBjb25zdCBJbnRTaXplJiBzaXplLCBQbHVnaW5QYWNrYWdlKiBwCiAg
ICAgLCBtX3dtUHJpbnRIREMoMCkKICAgICAsIG1faGF2ZVVwZGF0ZWRQbHVnaW5XaWRnZXQoZmFs
c2UpCiAjZW5kaWYKLSNpZiAoUExBVEZPUk0oUVQpICYmIE9TKFdJTkRPV1MpKSB8fCBQTEFURk9S
TShFRkwpCisjaWYgKFBMQVRGT1JNKFFUKSAmJiBPUyhXSU5ET1dTKSkgfHwgUExBVEZPUk0oRUZM
KSB8fCBQTEFURk9STShOSVgpCiAgICAgLCBtX3dpbmRvdygwKQogI2VuZGlmCiAjaWYgZGVmaW5l
ZChYUF9NQUNPU1gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZp
ZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGE4MWJkMGFk
NDllMjAwYTBjZTI0MThjYjM2Yzk5ODQ4MDAxOTc5N2YuLjMyNzc2MGY2ZjRiNTA1NGZjN2VkMjVi
ODE0YTM2NmZjNDI5ZjYxZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1
Z2luVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC0z
ODMsNyArMzgzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1faGF2ZVVw
ZGF0ZWRQbHVnaW5XaWRnZXQ7CiAjZW5kaWYKIAotI2lmICgoUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShRVCkpICYmIE9TKFdJTkRPV1MpKSB8fCBQTEFURk9STShFRkwpCisjaWYgKChQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKFFUKSkgJiYgT1MoV0lORE9XUykpIHx8IFBMQVRGT1JNKEVGTCkg
fHwgUExBVEZPUk0oTklYKQogICAgICAgICAvLyBPbiBNYWMgT1NYIGFuZCBRdC9XaW5kb3dzIHRo
ZSBwbHVnaW4gZG9lcyBub3QgaGF2ZSBpdHMgb3duIG5hdGl2ZSB3aWRnZXQsCiAgICAgICAgIC8v
IGJ1dCBpcyB1c2luZyB0aGUgY29udGFpbmluZyB3aW5kb3cgYXMgaXRzIHJlZmVyZW5jZSBmb3Ig
cG9zaXRpb25pbmcvcGFpbnRpbmcuCiAgICAgICAgIFBsYXRmb3JtUGx1Z2luV2lkZ2V0IG1fd2lu
ZG93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Tm9uZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXdOb25lLmNwcAppbmRleCAwYzk0
NWZiNjRiYmE2ZGU0MmJhODk3ZDMyNzVmZWZmNGQ1ZjJiYWJlLi40OThhYjc2YmFjNmIxMWM2ZDZi
NTVkYjI1NTlkNDc1NjFkMjIwYjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L1BsdWdpblZpZXdOb25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZp
ZXdOb25lLmNwcApAQCAtMTMyLDcgKzEzMiw3IEBAIHZvaWQgUGx1Z2luVmlldzo6aGFuZGxlRm9j
dXNPdXRFdmVudCgpCiAvLyBwb3J0cyB1c2luZyBQbHVnaW5WaWV3LCBidXQgdW50aWwgdGhlbiwg
aWYgbmV3IGZ1bmN0aW9ucyBsaWtlIHRoaXMgYXJlIAogLy8gYWRkZWQsIHBsZWFzZSBtYWtlIHN1
cmUgdGhleSBoYXZlIHRoZSBwcm9wZXIgcGxhdGZvcm0gI2lmcyBzbyB0aGF0IGNoYW5nZXMKIC8v
IGRvIG5vdCBicmVhayBwb3J0cyB3aG8gY29tcGlsZSBib3RoIHRoaXMgZmlsZSBhbmQgUGx1Z2lu
Vmlldy5jcHAuICAgCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShFRkwpIHx8IChPUyhX
SU5DRSkgJiYgIVBMQVRGT1JNKFFUKSkgfHwgKFBMQVRGT1JNKFFUKSAmJiAhT1MoV0lOQ0UpKQor
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oRUZMKSB8fCAoT1MoV0lOQ0UpICYmICFQTEFU
Rk9STShRVCkpIHx8IChQTEFURk9STShRVCkgJiYgIU9TKFdJTkNFKSkgfHwgUExBVEZPUk0oTklY
KQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogdm9pZCBQbHVnaW5WaWV3OjprZWVw
QWxpdmUoTlBQKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206679</attachid>
            <date>2013-07-15 11:50:54 -0700</date>
            <delta_ts>2013-09-09 07:22:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118326-20130715154835.patch</filename>
            <type>text/plain</type>
            <size>34361</size>
            <attacher name="Hugo Parente Lima">hugo.lima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNjNThlOWI3ZGJmYTVl
NDVhMDMyNzM2MDdkNjJjYzM4MTFmODcyMC4uODU5OGI2OWQzODAyMjg0MGI1OTFiYzQ0ODhjYmE0
YTdkYTk5NDk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEzLTA3LTA1ICBIdWdv
IFBhcmVudGUgTGltYSAgPGh1Z28ubGltYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFByZXBh
cmluZyBXZWJDb3JlIHRvIHJlY2VpdmUgTml4IFBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODMyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE9ubHkgYWRkaW5nIHRoZSBjb21waWxhdGlvbiBkaXJl
Y3RpdmVzIHRoYXQgYXJlIE5peCBzcGVjaWZpYywgaW4gdGhlCisgICAgICAgIGV4aXN0ZW50IFdl
YkNvcmUgZmlsZXMKKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6ZGVmYXVsdE9iamVjdENvbnRlbnRUeXBlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9DdXJzb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9EcmFnRGF0YS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL0RyYWdJbWFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVT
eXN0ZW0uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9SdW5Mb29wLmg6CisgICAgICAgICogcGxhdGZv
cm0vV2lkZ2V0Lmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9BTkdMRVdlYktpdEJyaWRnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQ
bGF0Zm9ybURhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0Qu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xFU1NoaW1zLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Z2V0UHJvY0FkZHJlc3MpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1z
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1MYXllci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dMQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHTENvbnRleHQ6OmNyZWF0ZUNvbnRleHRGb3JXaW5kb3cpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OkdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udFBsYXRmb3Jt
RGF0YUZyZWVUeXBlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0
ZW5zaW9uczNET3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5H
TDo6Y3JlYXRlVmVydGV4QXJyYXlPRVMpOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNE
T3BlbkdMOjpkZWxldGVWZXJ0ZXhBcnJheU9FUyk6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNp
b25zM0RPcGVuR0w6OmlzVmVydGV4QXJyYXlPRVMpOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5z
aW9uczNET3BlbkdMOjpiaW5kVmVydGV4QXJyYXlPRVMpOgorICAgICAgICAoV2ViQ29yZTo6RXh0
ZW5zaW9uczNET3BlbkdMOjpzdXBwb3J0c0V4dGVuc2lvbik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xDb21tb24uY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3Bl
bkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpyZXNo
YXBlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5o
OgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHA6CisgICAgICAgICogcGx1Z2lu
cy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OlBsdWdpblZp
ZXcpOgorICAgICAgICAqIHBsdWdpbnMvUGx1Z2luVmlldy5oOgorICAgICAgICAqIHBsdWdpbnMv
UGx1Z2luVmlld05vbmUuY3BwOgorCiAyMDEzLTA3LTE1ICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9s
dEBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbQVRLXSBMZWFrOiBMZWFrIGluIFdlYktpdEFjY2Vz
c2libGVUZXh0R2V0VGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXgg
ODNkNDJmM2Q0MDk0ZDdkMDI0MTFmZjIxMjA1MGZkMWNkOGNiZjMyZC4uNTI1OWU0YmQ0M2UwZTEy
ZTdiNWFjMzcwMDg0MTZhNjhhZGQ3YTliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCkBAIC04OTgsNyArODk4LDcgQEAgT2JqZWN0Q29udGVudFR5cGUgRnJhbWVMb2FkZXI6
OmRlZmF1bHRPYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFMKICAgICBp
ZiAobWltZVR5cGUuaXNFbXB0eSgpKQogICAgICAgICBtaW1lVHlwZSA9IG1pbWVUeXBlRnJvbVVS
TCh1cmwpOwogCi0jaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKEVGTCkgLy8gTWFjIGhh
cyBubyBQbHVnaW5EYXRhYmFzZSwgbm9yIGRvZXMgQ2hyb21pdW0gb3IgRUZMCisjaWYgIVBMQVRG
T1JNKE1BQykgJiYgIVBMQVRGT1JNKEVGTCkgJiYgIVBMQVRGT1JNKE5JWCkgLy8gTWFjIGhhcyBu
byBQbHVnaW5EYXRhYmFzZSwgbm9yIGRvZXMgTml4IG9yIEVGTAogICAgIGlmIChtaW1lVHlwZS5p
c0VtcHR5KCkpIHsKICAgICAgICAgU3RyaW5nIGRlY29kZWRQYXRoID0gZGVjb2RlVVJMRXNjYXBl
U2VxdWVuY2VzKHVybC5wYXRoKCkpOwogICAgICAgICBtaW1lVHlwZSA9IFBsdWdpbkRhdGFiYXNl
OjppbnN0YWxsZWRQbHVnaW5zKCktPk1JTUVUeXBlRm9yRXh0ZW5zaW9uKGRlY29kZWRQYXRoLnN1
YnN0cmluZyhkZWNvZGVkUGF0aC5yZXZlcnNlRmluZCgnLicpICsgMSkpOwpAQCAtOTA4LDcgKzkw
OCw3IEBAIE9iamVjdENvbnRlbnRUeXBlIEZyYW1lTG9hZGVyOjpkZWZhdWx0T2JqZWN0Q29udGVu
dFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTCiAgICAgaWYgKG1pbWVUeXBlLmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuIE9iamVjdENvbnRlbnRGcmFtZTsgLy8gR28gYWhlYWQgYW5kIGhv
cGUgdGhhdCB3ZSBjYW4gZGlzcGxheSB0aGUgY29udGVudC4KIAotI2lmICFQTEFURk9STShNQUMp
ICYmICFQTEFURk9STShFRkwpIC8vIE1hYyBoYXMgbm8gUGx1Z2luRGF0YWJhc2UsIG5vciBkb2Vz
IENocm9taXVtIG9yIEVGTAorI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShFRkwpICYm
ICFQTEFURk9STShOSVgpIC8vIE1hYyBoYXMgbm8gUGx1Z2luRGF0YWJhc2UsIG5vciBkb2VzIE5p
eCBvciBFRkwKICAgICBib29sIHBsdWdJblN1cHBvcnRzTUlNRVR5cGUgPSBQbHVnaW5EYXRhYmFz
ZTo6aW5zdGFsbGVkUGx1Z2lucygpLT5pc01JTUVUeXBlUmVnaXN0ZXJlZChtaW1lVHlwZSk7CiAj
ZWxzZQogICAgIGJvb2wgcGx1Z0luU3VwcG9ydHNNSU1FVHlwZSA9IGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9DdXJzb3IuaAppbmRleCBjMjQwZTU3NTRhYzBiZGMyMDgxNmRkYThmODJjMmYxYWQ0MTFm
YTQ3Li5kMzU0MjBkMDAzZjQ3ODBiNzE2YmRmZjI1MmFhMWNiM2Y2MWFiNmY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9DdXJzb3IuaApAQCAtNTYsNyArNTYsNyBAQCB0eXBlZGVmIEhJQ09OIEhDVVJTT1I7
CiAjZW5kaWYKIAogLy8gTG9va3MgbGlrZSBpdCdzIGp1c3QgUExBVEZPUk0oQkxBQ0tCRVJSWSkg
c3RpbGwgbm90IHVzaW5nIHRoaXM/Ci0jaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShNQUMp
IHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQ
TEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgpCiAjZGVmaW5lIFdURl9VU0Vf
TEFaWV9OQVRJVkVfQ1VSU09SIDEKICNlbmRpZgogCkBAIC03OSw3ICs3OSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIE5TQ3Vyc29yICpQbGF0Zm9ybUN1cnNvcjsKICNlbGlm
IFBMQVRGT1JNKEdUSykKICAgICB0eXBlZGVmIEdSZWZQdHI8R2RrQ3Vyc29yPiBQbGF0Zm9ybUN1
cnNvcjsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKKyNlbGlmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZP
Uk0oTklYKQogICAgIHR5cGVkZWYgY29uc3QgY2hhciogUGxhdGZvcm1DdXJzb3I7CiAjZWxpZiBQ
TEFURk9STShRVCkgJiYgIWRlZmluZWQoUVRfTk9fQ1VSU09SKQogICAgIC8vIERvIG5vdCBuZWVk
IHRvIGJlIHNoYXJlZCBidXQgbmVlZCB0byBiZSBjcmVhdGVkIGR5bmFtaWNhbGx5IHZpYSBlbnN1
cmVQbGF0Zm9ybUN1cnNvci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Ry
YWdEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oCmluZGV4IDY0NDQ5
MjY3MGQ5Yjc3OGM2ZTZlMjZiZDAwOWVjMzhlNzlkNzUxNTUuLjc0ZWZmZjU1MzM2OGE1MzdlYTk1
OGJiMTI2MmI3OTQ1YTJhZjg0NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0RyYWdEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaApAQCAt
NTksNyArNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEYXRhT2JqZWN0R3RrOwog
fQogdHlwZWRlZiBXZWJDb3JlOjpEYXRhT2JqZWN0R3RrKiBEcmFnRGF0YVJlZjsKLSNlbGlmIFBM
QVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNlbGlmIFBMQVRGT1JNKEVGTCkg
fHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oTklYKQogdHlwZWRlZiB2b2lkKiBE
cmFnRGF0YVJlZjsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9EcmFnSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oCmluZGV4
IGVjMTBiMmNlODQxNzVkMzk4ZWRiMTcyYmIzZmEzNDM1ZGZhZDVjOWEuLjNmYzg4OWYwYzM0MTI3
ODY5ODMwOWNjOWJlM2FiOWI0N2JhOGE5MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0RyYWdJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFn
ZS5oCkBAIC02Miw3ICs2Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIEhC
SVRNQVAgRHJhZ0ltYWdlUmVmOwogI2VsaWYgUExBVEZPUk0oR1RLKQogICAgIHR5cGVkZWYgY2Fp
cm9fc3VyZmFjZV90KiBEcmFnSW1hZ2VSZWY7Ci0jZWxpZiBQTEFURk9STShFRkwpIHx8IFBMQVRG
T1JNKEJMQUNLQkVSUlkpCisjZWxpZiBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVS
UlkpIHx8IFBMQVRGT1JNKE5JWCkKICAgICB0eXBlZGVmIHZvaWQqIERyYWdJbWFnZVJlZjsKICNl
bmRpZgogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3Rl
bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCmluZGV4IGUxZDViN2U0
ODBkZGU4ZTRiNTA3OTkyMWE3YjFlNmNlMWRlYjRhMGIuLjJjMTRlYjJiYWYxZDNlYTAzZTMwMGQ1
YzljZjVhYjU0M2Y2YmI0N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Zp
bGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKQEAg
LTYxLDcgKzYxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSElOU1RBTkNFX18qIEhJTlNUQU5DRTsKIHR5
cGVkZWYgSElOU1RBTkNFIEhNT0RVTEU7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEdUSykKKyNp
ZiBVU0UoR0xJQikKIHR5cGVkZWYgc3RydWN0IF9HRmlsZUlPU3RyZWFtIEdGaWxlSU9TdHJlYW07
CiB0eXBlZGVmIHN0cnVjdCBfR01vZHVsZSBHTW9kdWxlOwogI2VuZGlmCkBAIC03NSw4ICs3NSw2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFBsYXRmb3JtTW9kdWxlCiAjaWYgT1MoV0lORE9X
UykKIHR5cGVkZWYgSE1PRFVMRSBQbGF0Zm9ybU1vZHVsZTsKLSNlbGlmIFBMQVRGT1JNKEdUSykK
LXR5cGVkZWYgR01vZHVsZSogUGxhdGZvcm1Nb2R1bGU7CiAjZWxpZiBQTEFURk9STShFRkwpCiB0
eXBlZGVmIEVpbmFfTW9kdWxlKiBQbGF0Zm9ybU1vZHVsZTsKICNlbGlmIFBMQVRGT1JNKFFUKQpA
QCAtODcsNiArODUsOCBAQCB0eXBlZGVmIFFMaWJyYXJ5KiBQbGF0Zm9ybU1vZHVsZTsKICNlbHNl
CiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTW9kdWxlOwogI2VuZGlmCisjZWxpZiBVU0UoR0xJQikK
K3R5cGVkZWYgR01vZHVsZSogUGxhdGZvcm1Nb2R1bGU7CiAjZWxpZiBVU0UoQ0YpCiB0eXBlZGVm
IENGQnVuZGxlUmVmIFBsYXRmb3JtTW9kdWxlOwogI2Vsc2UKQEAgLTEyMCw3ICsxMjAsNyBAQCB0
eXBlZGVmIHVuc2lnbmVkIFBsYXRmb3JtTW9kdWxlVmVyc2lvbjsKICNpZiBQTEFURk9STShRVCkK
IHR5cGVkZWYgUUZpbGUqIFBsYXRmb3JtRmlsZUhhbmRsZTsKIGNvbnN0IFBsYXRmb3JtRmlsZUhh
bmRsZSBpbnZhbGlkUGxhdGZvcm1GaWxlSGFuZGxlID0gMDsKLSNlbGlmIFBMQVRGT1JNKEdUSykK
KyNlbGlmIFVTRShHTElCKSAmJiAhUExBVEZPUk0oRUZMKQogdHlwZWRlZiBHRmlsZUlPU3RyZWFt
KiBQbGF0Zm9ybUZpbGVIYW5kbGU7CiBjb25zdCBQbGF0Zm9ybUZpbGVIYW5kbGUgaW52YWxpZFBs
YXRmb3JtRmlsZUhhbmRsZSA9IDA7CiAjZWxpZiBPUyhXSU5ET1dTKQpAQCAtMjEyLDcgKzIxMiw3
IEBAIFJldGFpblB0cjxDRlVSTFJlZj4gcGF0aEFzVVJMKGNvbnN0IFN0cmluZyYpOwogdm9pZCBz
ZXRNZXRhZGF0YVVSTChTdHJpbmcmIFVSTFN0cmluZywgY29uc3QgU3RyaW5nJiByZWZlcnJlciwg
Y29uc3QgU3RyaW5nJiBwYXRoKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oR1RLKQorI2lmIFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oTklYKQogU3RyaW5nIGZpbGVuYW1lVG9TdHJpbmcoY29u
c3QgY2hhciopOwogU3RyaW5nIGZpbGVuYW1lRm9yRGlzcGxheShjb25zdCBTdHJpbmcmKTsKIENT
dHJpbmcgYXBwbGljYXRpb25EaXJlY3RvcnlQYXRoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9SdW5Mb29wLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29w
LmgKaW5kZXggYjdmMDFiY2FkNTc5NmQxMGFjYWM1ZDZlOGQ5NDFkMzk5NWMzZTM5My4uMTZkMWE5
ZTJhZDkyNTFhOGVkZDEzYWZlZjQ2Zjk1MmM2NGE2MjdmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1
bkxvb3AuaApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNp
bmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKLSNpZiBQTEFURk9STShHVEspCisjaWYgVVNFKEdM
SUIpCiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogI2VuZGlmCiAKQEAgLTk5LDE2
ICs5OSwxNiBAQCBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHRpbWVyRmlyZWQoUnVuTG9v
cCosIGludCBJRCk7CiAgICAgICAgIGludCBtX0lEOwogICAgICAgICBib29sIG1faXNSZXBlYXRp
bmc7Ci0jZWxpZiBQTEFURk9STShHVEspCisjZWxpZiBQTEFURk9STShFRkwpCisgICAgICAgIHN0
YXRpYyBib29sIHRpbWVyRmlyZWQodm9pZCogZGF0YSk7CisgICAgICAgIEVjb3JlX1RpbWVyKiBt
X3RpbWVyOworICAgICAgICBib29sIG1faXNSZXBlYXRpbmc7CisjZWxpZiBVU0UoR0xJQikKICAg
ICAgICAgc3RhdGljIGdib29sZWFuIHRpbWVyRmlyZWRDYWxsYmFjayhSdW5Mb29wOjpUaW1lckJh
c2UqKTsKICAgICAgICAgZ2Jvb2xlYW4gaXNSZXBlYXRpbmcoKSBjb25zdCB7IHJldHVybiBtX2lz
UmVwZWF0aW5nOyB9CiAgICAgICAgIHZvaWQgY2xlYXJUaW1lclNvdXJjZSgpOwogICAgICAgICBH
UmVmUHRyPEdTb3VyY2U+IG1fdGltZXJTb3VyY2U7CiAgICAgICAgIGdib29sZWFuIG1faXNSZXBl
YXRpbmc7Ci0jZWxpZiBQTEFURk9STShFRkwpCi0gICAgICAgIHN0YXRpYyBib29sIHRpbWVyRmly
ZWQodm9pZCogZGF0YSk7Ci0gICAgICAgIEVjb3JlX1RpbWVyKiBtX3RpbWVyOwotICAgICAgICBi
b29sIG1faXNSZXBlYXRpbmc7CiAjZW5kaWYKICAgICB9OwogCkBAIC0xNTksMTUgKzE1OSw2IEBA
IHByaXZhdGU6CiAgICAgVGltZXJNYXAgbV9hY3RpdmVUaW1lcnM7CiAgICAgY2xhc3MgVGltZXJP
YmplY3Q7CiAgICAgVGltZXJPYmplY3QqIG1fdGltZXJPYmplY3Q7Ci0jZWxpZiBQTEFURk9STShH
VEspCi1wdWJsaWM6Ci0gICAgc3RhdGljIGdib29sZWFuIHF1ZXVlV29yayhSdW5Mb29wKik7Ci0g
ICAgR01haW5Mb29wKiBpbm5lcm1vc3RMb29wKCk7Ci0gICAgdm9pZCBwdXNoTmVzdGVkTWFpbkxv
b3AoR01haW5Mb29wKik7Ci0gICAgdm9pZCBwb3BOZXN0ZWRNYWluTG9vcCgpOwotcHJpdmF0ZToK
LSAgICBHUmVmUHRyPEdNYWluQ29udGV4dD4gbV9ydW5Mb29wQ29udGV4dDsKLSAgICBWZWN0b3I8
R1JlZlB0cjxHTWFpbkxvb3A+ID4gbV9ydW5Mb29wTWFpbkxvb3BzOwogI2VsaWYgUExBVEZPUk0o
RUZMKQogICAgIGJvb2wgbV9pbml0RWZsOwogCkBAIC0xNzgsNiArMTY5LDE1IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX3dha2VVcEV2ZW50UmVxdWVzdGVkOwogCiAgICAgc3RhdGljIHZvaWQgd2Fr
ZVVwRXZlbnQodm9pZCogZGF0YSwgdm9pZCosIHVuc2lnbmVkIGludCk7CisjZWxpZiBVU0UoR0xJ
QikKK3B1YmxpYzoKKyAgICBzdGF0aWMgZ2Jvb2xlYW4gcXVldWVXb3JrKFJ1bkxvb3AqKTsKKyAg
ICBHTWFpbkxvb3AqIGlubmVybW9zdExvb3AoKTsKKyAgICB2b2lkIHB1c2hOZXN0ZWRNYWluTG9v
cChHTWFpbkxvb3AqKTsKKyAgICB2b2lkIHBvcE5lc3RlZE1haW5Mb29wKCk7Citwcml2YXRlOgor
ICAgIEdSZWZQdHI8R01haW5Db250ZXh0PiBtX3J1bkxvb3BDb250ZXh0OworICAgIFZlY3RvcjxH
UmVmUHRyPEdNYWluTG9vcD4gPiBtX3J1bkxvb3BNYWluTG9vcHM7CiAjZW5kaWYKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1dpZGdldC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vV2lkZ2V0LmgKaW5kZXggYTRhMThhMDg4YjNhZDg5ZGU0ODBmNWFhNzQ0OGQ3
NDE5YTI2ZGEwNS4uZWY5OGM0ZGUwMmNiZmM5NmVhMDM4OWU0YTZmOTk1NDk2NGI1Y2YxYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgKQEAgLTY1LDcgKzY1LDcgQEAgUVRfRU5EX05BTUVTUEFD
RQogdHlwZWRlZiBRT2JqZWN0KiBQbGF0Zm9ybVdpZGdldDsKICNlbmRpZgogCi0jaWYgUExBVEZP
Uk0oQkxBQ0tCRVJSWSkKKyNpZiBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQTEFURk9STShOSVgp
CiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtV2lkZ2V0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5oCmluZGV4IDExNWM4ZjhjNmUzOGE2ZWM1MmJiMzcwMTA2
MDQ4MGUyNTFlZGUzY2YuLmE5NjgwZmE2ZTMwZWI2ODY0NmIzYTQ2M2QxYjc3OGFmYTUzNjc2ZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZyYW1lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuaApAQCAtNjcsNiArNjcs
MTAgQEAgc3RydWN0IFJERlRDb250ZXh0OwogI2luY2x1ZGUgPGlwcHMuaD4KICNlbmRpZiAvLyBV
U0UoV0VCQVVESU9fSVBQKQogCisjaWYgUExBVEZPUk0oTklYKQorI2luY2x1ZGUgPHB1YmxpYy9G
RlRGcmFtZS5oPgorI2VuZGlmCisKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtMTc4LDYg
KzE4MiwxMSBAQCBwcml2YXRlOgogICAgIEF1ZGlvRmxvYXRBcnJheSBtX2ltYWdEYXRhOwogI2Vu
ZGlmIC8vIFVTRShXRUJBVURJT19JUFApCiAKKyNpZiBQTEFURk9STShOSVgpCisgICAgdm9pZCBz
Y2FsZVBsYW5hckRhdGEoZmxvYXQgc2NhbGUpOworICAgIE93blB0cjxOaXg6OkZGVEZyYW1lPiBt
X2ZmdEZyYW1lOworI2VuZGlmIC8vIFBMQVRGT1JNKE5JWCkKKwogI2lmIFVTRShXRUJBVURJT19P
UEVOTUFYX0RMX0ZGVCkKICAgICBzdGF0aWMgT01YRkZUU3BlY19SX0YzMiogY29udGV4dEZvclNp
emUodW5zaWduZWQgbG9nMkZGVFNpemUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0hSVEZFbGV2YXRpb24uY3BwCmluZGV4IDRhYWExYzAyMTcxZWU1OGY2ZGVlYWMzMjVj
YzQyNmFhZmUxNDUyNzcuLjU1OTY2MDgwMjljYTYwYWIxZmE5ODE3MGUwZjUwYjUzMTY0NWVlZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uY3Bw
CkBAIC02MSw3ICs2MSw3IEBAIGNvbnN0IHNpemVfdCBSZXNwb25zZUZyYW1lU2l6ZSA9IDI1NjsK
IC8vIFRoZSBpbXB1bHNlIHJlc3BvbnNlcyBtYXkgYmUgcmVzYW1wbGVkIHRvIGEgZGlmZmVyZW50
IHNhbXBsZS1yYXRlIChkZXBlbmRpbmcgb24gdGhlIGF1ZGlvIGhhcmR3YXJlKSB3aGVuIHRoZXkg
YXJlIGxvYWRlZC4KIGNvbnN0IGZsb2F0IFJlc3BvbnNlU2FtcGxlUmF0ZSA9IDQ0MTAwOwogCi0j
aWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoV0VCQVVESU9fR1NUUkVBTUVSKQorI2lmIFBMQVRGT1JN
KE1BQykgfHwgVVNFKFdFQkFVRElPX0dTVFJFQU1FUikgfHwgUExBVEZPUk0oTklYKQogI2RlZmlu
ZSBVU0VfQ09OQ0FURU5BVEVEX0lNUFVMU0VfUkVTUE9OU0VTCiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmUuaAppbmRleCBh
NzIyMGJlMGEzNjIxNzU0OWJlMDM2NzUyNTIyNjg4YzBjNGUxYmY5Li5kNDBiZmJiOTA4YjAyOGEx
MDQxMWIxZDYxYzlmMTgzNDRkZjRkMWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3RvcmUuaApAQCAtMzksNiArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiB0eXBlZGVmIEd0a1dpZGdldCogUGxhdGZvcm1XaWRnZXQ7CiAjZWxpZiBQ
TEFURk9STShFRkwpCiB0eXBlZGVmIEV2YXNfT2JqZWN0KiBQbGF0Zm9ybVdpZGdldDsKKyNlbGlm
IFBMQVRGT1JNKE5JWCkKK3R5cGVkZWYgdm9pZCogUGxhdGZvcm1XaWRnZXQ7CiAjZW5kaWYKIAog
Y2xhc3MgV2lkZ2V0QmFja2luZ1N0b3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0QnJpZGdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktpdEJyaWRnZS5oCmluZGV4IDgzYzJlMDA0YzVlMDZkOTU2
YTE2NTRjNDAxODM0MGQ0Zjg0MGFiYjguLjhjOGYzYzczODdlNmY5MmEzODRjY2I4OWI0ZjI5MjE0
MDRiNjUwMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FO
R0xFV2ViS2l0QnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
QU5HTEVXZWJLaXRCcmlkZ2UuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmICFQTEFU
Rk9STShHVEspICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9STShCTEFDS0JFUlJZKSAmJiAh
UExBVEZPUk0oUVQpICYmICFQTEFURk9STShXSU4pCisjaWYgIVBMQVRGT1JNKEdUSykgJiYgIVBM
QVRGT1JNKEVGTCkgJiYgIVBMQVRGT1JNKEJMQUNLQkVSUlkpICYmICFQTEFURk9STShRVCkgJiYg
IVBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKE5JWCkKICNpbmNsdWRlICJBTkdMRS9TaGFkZXJM
YW5nLmgiCiAjZWxpZiBQTEFURk9STShXSU4pCiAjaW5jbHVkZSAiR0xTTEFORy9TaGFkZXJMYW5n
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxh
dGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZv
cm1EYXRhLmgKaW5kZXggMzI5NjlmMGFkNmI2ZGYwYjk1MDYyZmRlOGYxZGI0MzYzNzQ1ODg3MS4u
NGMwNWU4ZjYwNzVkMzUxYjMzOGYwNzQyYmIxZDZlNWMxZTExNDA2OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjks
NyArMjksNyBAQAogI2luY2x1ZGUgInF0L0ZvbnRQbGF0Zm9ybURhdGEuaCIKICNlbGlmIFVTRShX
SU5HREkpCiAjaW5jbHVkZSAid2luY2UvRm9udFBsYXRmb3JtRGF0YS5oIgotI2VsaWYgUExBVEZP
Uk0oRUZMKSB8fCBQTEFURk9STShHVEspCisjZWxpZiBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oTklYKQogI2luY2x1ZGUgImZyZWV0eXBlL0ZvbnRQbGF0Zm9ybURh
dGEuaCIKICNlbHNlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcAppbmRleCBjZTA3NzZmYjViOWU3NTlkY2MwYzlhYjI1
YzY5YjQ5NWIwMjk2ZGI2Li5mYTk2OTQxZTkwZWYzYjQ1NTBiODUzOWU0YzljN2NiYmEzZWJiZjA2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuY3BwCkBAIC0xNDc0LDcgKzE0NzQsNyBAQCB1bnNpZ25lZCBHcmFwaGljc0Nv
bnRleHQzRDo6Z2V0Q2hhbm5lbEJpdHNCeUZvcm1hdChHQzNEZW51bSBmb3JtYXQpCiAgICAgfQog
fQogCi0jaWYgIVBMQVRGT1JNKEJMQUNLQkVSUlkpICYmICFQTEFURk9STShRVCkgJiYgIVBMQVRG
T1JNKEdUSykgJiYgIVBMQVRGT1JNKEVGTCkgJiYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KFdJTikKKyNpZiAhUExBVEZPUk0oQkxBQ0tCRVJSWSkgJiYgIVBMQVRGT1JNKFFUKSAmJiAhUExB
VEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oRUZMKSAmJiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZP
Uk0oV0lOKSAmJiAhUExBVEZPUk0oTklYKQogUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCBHcmFw
aGljc0NvbnRleHQzRDo6cGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIE51bGxQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNEOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggYWI0Njcy
NzM3YmEyZGZkNGU1MWQzNDZiMDkxNTRhODhmMzRhZDVlZS4uYWEzOTc3YjJiYWMxNjFmNjlkNDFi
N2YyZDJhMmQ2MmFlNWYwMGYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC00Nyw3ICs0Nyw3IEBACiAjdW5kZWYg
VkVSU0lPTgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwg
UExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQTEFU
Rk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkKICNpbmNsdWRlICJBTkdMRVdlYktpdEJyaWRnZS5o
IgogI2VuZGlmCiAKQEAgLTYyLDcgKzYyLDcgQEAgY2xhc3MgUVJlY3Q7CiBjbGFzcyBRT3BlbkdM
Q29udGV4dDsKIGNsYXNzIFFTdXJmYWNlOwogUVRfRU5EX05BTUVTUEFDRQotI2VsaWYgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KEVGTCkgfHwgUExBVEZPUk0oTklYKQogdHlwZWRlZiB1bnNpZ25lZCBpbnQgR0x1aW50OwogI2Vu
ZGlmCiAKQEAgLTQ5Niw3ICs0OTYsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIG1ha2VDb250ZXh0
Q3VycmVudCgpOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpIHx8IFBMQVRG
T1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
UVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0o
V0lOKSB8fCBQTEFURk9STShOSVgpCiAgICAgLy8gV2l0aCBtdWx0aXNhbXBsaW5nIG9uLCBibGl0
IGZyb20gbXVsdGlzYW1wbGVGQk8gdG8gcmVndWxhciBGQk8uCiAgICAgdm9pZCBwcmVwYXJlVGV4
dHVyZSgpOwogI2VuZGlmCkBAIC05MjEsNyArOTIxLDcgQEAgcHJpdmF0ZToKICAgICAvLyBEZXN0
aW5hdGlvbiBkYXRhIHdpbGwgaGF2ZSBubyBnYXBzIGJldHdlZW4gcm93cy4KICAgICBzdGF0aWMg
Ym9vbCBwYWNrUGl4ZWxzKGNvbnN0IHVpbnQ4X3QqIHNvdXJjZURhdGEsIERhdGFGb3JtYXQgc291
cmNlRGF0YUZvcm1hdCwgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwgdW5zaWduZWQg
c291cmNlVW5wYWNrQWxpZ25tZW50LCB1bnNpZ25lZCBkZXN0aW5hdGlvbkZvcm1hdCwgdW5zaWdu
ZWQgZGVzdGluYXRpb25UeXBlLCBBbHBoYU9wLCB2b2lkKiBkZXN0aW5hdGlvbkRhdGEsIGJvb2wg
ZmxpcFkpOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JN
KFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQp
IHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwgUExBVEZPUk0oV0lO
KSB8fCBQTEFURk9STShOSVgpCiAgICAgLy8gVGFrZSBpbnRvIGFjY291bnQgdGhlIHVzZXIncyBy
ZXF1ZXN0ZWQgY29udGV4dCBjcmVhdGlvbiBhdHRyaWJ1dGVzLAogICAgIC8vIGluIHBhcnRpY3Vs
YXIgc3RlbmNpbCBhbmQgYW50aWFsaWFzLCBhbmQgZGV0ZXJtaW5lIHdoaWNoIGNvdWxkIG9yCiAg
ICAgLy8gY291bGQgbm90IGJlIGhvbm9yZWQgYmFzZWQgb24gdGhlIGNhcGFiaWxpdGllcyBvZiB0
aGUgT3BlbkdMCkBAIC05NDIsNyArOTQyLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgcmVzaGFw
ZUZCT3MoY29uc3QgSW50U2l6ZSYpOwogICAgIHZvaWQgcmVzb2x2ZU11bHRpc2FtcGxpbmdJZk5l
Y2Vzc2FyeShjb25zdCBJbnRSZWN0JiA9IEludFJlY3QoKSk7Ci0jaWYgKFBMQVRGT1JNKFFUKSB8
fCBQTEFURk9STShFRkwpKSAmJiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKKyNpZiAoUExBVEZPUk0o
UVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oTklYKSkgJiYgVVNFKEdSQVBISUNTX1NV
UkZBQ0UpCiAgICAgdm9pZCBjcmVhdGVHcmFwaGljc1N1cmZhY2VzKGNvbnN0IEludFNpemUmKTsK
ICNlbmRpZgogCkBAIC05NTksNyArOTU5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkKiBtX2NvbnRl
eHQ7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQTEFU
Rk9STShXSU4pCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JN
KFdJTikgfHwgUExBVEZPUk0oTklYKQogICAgIHN0cnVjdCBTeW1ib2xJbmZvIHsKICAgICAgICAg
U3ltYm9sSW5mbygpCiAgICAgICAgICAgICA6IHR5cGUoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTEVTU2hpbXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTEVTU2hpbXMuaAppbmRleCBjMDZiNjdjNjhhYTYzYzZi
YTI2OWU2NGVhYTkxZWQxNDU3YmZkM2RlLi43MjU2ZjQxZDNkMjMyMjM1ZTdlZTljMGY1MmU3YTE0
OWE0NWNhYmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9P
cGVuR0xFU1NoaW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3Bl
bkdMRVNTaGltcy5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIE9wZW5HTEVTU2hpbXNfaAog
I2RlZmluZSBPcGVuR0xFU1NoaW1zX2gKIAotI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpIHx8IFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0o
V0lOKQorI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShOSVgp
CiAjZGVmaW5lIGdsQmluZEZyYW1lYnVmZmVyRVhUIGdsQmluZEZyYW1lYnVmZmVyCiAjZGVmaW5l
IGdsRnJhbWVidWZmZXJUZXh0dXJlMkRFWFQgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRAogI2RlZmlu
ZSBnbEJpbmRSZW5kZXJidWZmZXJFWFQgZ2xCaW5kUmVuZGVyYnVmZmVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5jcHAKaW5kZXggMTM5NDdhZTA2
ODFlYzU0ZDFlOGQ5OWE3OGY1OTA4OGU4OGJiZjA3Yy4uNmEwM2JmZTYwMDAwNDU3YmY3YmNkZmYx
MDdlZTEzZGMyZDE4OGIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvT3BlbkdMU2hpbXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL09wZW5HTFNoaW1zLmNwcApAQCAtMjYsNiArMjYsMTAgQEAKICNpbmNsdWRlIDxkbGZjbi5o
PgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShOSVgpICYmIFVTRShFR0wpCisjaW5jbHVkZSA8RUdM
L2VnbC5oPgorI2VuZGlmCisKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQ5LDYgKzUzLDExIEBAIHN0YXRpYyB2b2lk
KiBnZXRQcm9jQWRkcmVzcyhjb25zdCBjaGFyKiBwcm9jTmFtZSkKIHsKICAgICByZXR1cm4gR2V0
UHJvY0FkZHJlc3MoR2V0TW9kdWxlSGFuZGxlQSgibGliR0xFU3YyIiksIHByb2NOYW1lKTsKIH0K
KyNlbGlmIFBMQVRGT1JNKE5JWCkgJiYgVVNFKEVHTCkKK3N0YXRpYyB2b2lkKiBnZXRQcm9jQWRk
cmVzcyhjb25zdCBjaGFyKiBwcm9jTmFtZSkKK3sKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDx2b2lkKj4oZWdsR2V0UHJvY0FkZHJlc3MocHJvY05hbWUpKTsKK30KICNlbHNlCiB0eXBlZGVm
IHZvaWQqICgqZ2xHZXRQcm9jQWRkcmVzc1R5cGUpIChjb25zdCBjaGFyKiBwcm9jTmFtZSk7CiBz
dGF0aWMgdm9pZCogZ2V0UHJvY0FkZHJlc3MoY29uc3QgY2hhciogcHJvY05hbWUpCkBAIC0xMDYs
NyArMTE1LDcgQEAgc3RhdGljIHZvaWQqIGxvb2t1cE9wZW5HTEZ1bmN0aW9uQWRkcmVzcyhjb25z
dCBjaGFyKiBmdW5jdGlvbk5hbWUsIGJvb2wqIHN1Y2Nlc3MKICAgICByZXR1cm4gdGFyZ2V0Owog
fQogCi0jaWYgUExBVEZPUk0oUVQpICYmIGRlZmluZWQoUVRfT1BFTkdMX0VTXzIpCisjaWYgKFBM
QVRGT1JNKFFUKSAmJiBkZWZpbmVkKFFUX09QRU5HTF9FU18yKSkgfHwgKFBMQVRGT1JNKE5JWCkg
JiYgVVNFKE9QRU5HTF9FU18yKSkKIAogLy8gV2l0aCBBbmdsZSBvbmx5IEVHTC9HTEVTMiBleHRl
bnNpb25zIGFyZSBhdmFpbGFibGUgdGhyb3VnaCBlZ2xHZXRQcm9jQWRkcmVzcywgbm90IHRoZSBy
ZWd1bGFyIHN0YW5kYXJkaXplZCBmdW5jdGlvbnMuCiAjZGVmaW5lIEFTU0lHTl9GVU5DVElPTl9U
QUJMRV9FTlRSWShGdW5jdGlvbk5hbWUsIHN1Y2Nlc3MpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5oCmluZGV4IDhmNzk0MjExZmE0MGM2NDUwNjhi
Y2VmM2FkYThjMDFmNjY5NmE1YzcuLmE3MzA5OWY0ZTY4MTljODJlNDQwZGQzOTNkY2MxZDdkZDJk
NzA5NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5H
TFNoaW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hp
bXMuaApAQCAtMjUsNiArMjUsOCBAQAogI2luY2x1ZGUgPHFvcGVuZ2xmdW5jdGlvbnMuaD4KICNp
bmNsdWRlIDxRT3BlbkdMQ29udGV4dD4KICNpbmNsdWRlIDxRU3VyZmFjZT4KKyNlbGlmIFBMQVRG
T1JNKE5JWCkgJiYgVVNFKE9QRU5HTF9FU18yKQorI2luY2x1ZGUgPEdMRVMyL2dsMi5oPgogI2Vs
c2UKICNpbmNsdWRlIDxHTC9nbC5oPgogI2luY2x1ZGUgPEdML2dsZXh0Lmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUxheWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUxheWVyLmgKaW5kZXggYTE3YzE5
ZWRmZGYxODQzNmFjMGFjOTdjNjY1N2I1NDNjYTdiOTg5Zi4uMzZhOTNlOWRhYmUzMzcwOGQ1Mjg5
ZDFhMTgxYTFkZmYwZjY3OTAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUGxhdGZvcm1MYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1BsYXRmb3JtTGF5ZXIuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBUZXh0dXJlTWFw
cGVyUGxhdGZvcm1MYXllcjsKIHR5cGVkZWYgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXIgUGxh
dGZvcm1MYXllcjsKIH07CiAjZW5kaWYKLSNlbGlmIFBMQVRGT1JNKEVGTCkKKyNlbGlmIFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oTklYKQogI2lmIFVTRShURVhUVVJFX01BUFBFUikKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR0xDb250ZXh0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dMQ29udGV4dC5jcHAK
aW5kZXggNjg3YzVlYTEyN2MzMDczYzdlNTcyMjk3YWRhOGRiOGMxNmYyNTE1YS4uYmM3MjM3ODg2
N2Q4MzU4YTQyNmVhZDU3YTU5N2VhMmQ4MmM0NWMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR0xDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HTENvbnRleHQuY3BwCkBAIC0xOSw3ICsxOSw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR0xDb250ZXh0LmgiCiAKLSNpZiBV
U0UoT1BFTkdMKQorI2lmIFVTRShPUEVOR0wpIHx8IChQTEFURk9STShOSVgpICYmIFVTRShPUEVO
R0xfRVNfMikpCiAKICNpZiBVU0UoRUdMKQogI2luY2x1ZGUgIkdMQ29udGV4dEVHTC5oIgpAQCAt
MTU5LDYgKzE1OSw3IEBAIFBhc3NPd25QdHI8R0xDb250ZXh0PiBHTENvbnRleHQ6OmNyZWF0ZUNv
bnRleHRGb3JXaW5kb3codWludDY0X3Qgd2luZG93SGFuZGxlLCBHCiAgICAgfQogI2VuZGlmCiAK
KyNpZiAhUExBVEZPUk0oTklYKQogI2lmIFVTRShHTFgpCiAgICAgaWYgKE93blB0cjxHTENvbnRl
eHQ+IGdseENvbnRleHQgPSBHTENvbnRleHRHTFg6OmNyZWF0ZUNvbnRleHQod2luZG93SGFuZGxl
LCBzaGFyaW5nQ29udGV4dCkpCiAgICAgICAgIHJldHVybiBnbHhDb250ZXh0LnJlbGVhc2UoKTsK
QEAgLTE2Nyw2ICsxNjgsNyBAQCBQYXNzT3duUHRyPEdMQ29udGV4dD4gR0xDb250ZXh0OjpjcmVh
dGVDb250ZXh0Rm9yV2luZG93KHVpbnQ2NF90IHdpbmRvd0hhbmRsZSwgRwogICAgIGlmIChPd25Q
dHI8R0xDb250ZXh0PiBlZ2xDb250ZXh0ID0gR0xDb250ZXh0RUdMOjpjcmVhdGVDb250ZXh0KHdp
bmRvd0hhbmRsZSwgc2hhcmluZ0NvbnRleHQpKQogICAgICAgICByZXR1cm4gZWdsQ29udGV4dC5y
ZWxlYXNlKCk7CiAjZW5kaWYKKyNlbmRpZgogICAgIHJldHVybiBudWxscHRyOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0Nv
bnRleHQzRFByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcAppbmRleCBhYTdmZWMxNzkyMmMzMmE4YmY3
ZWE2NTAyZTFkNjhjOWU1M2U4YTc1Li5kNjcxZTdhNWMxMDJlZWNkYzQ2Y2FiYWFjNWU1MjkwYmJk
NjlkNTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKQEAgLTI3LDYg
KzI3LDEwIEBACiAjaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0Q2Fpcm8uaCIKICNpbmNsdWRlIDx3
dGYvT3duQXJyYXlQdHIuaD4KIAorI2lmIFBMQVRGT1JNKE5JWCkgJiYgVVNFKEVHTCkKKyNpbmNs
dWRlICJHTENvbnRleHRGcm9tQ3VycmVudEVHTC5oIgorI2VuZGlmCisKICNpZiBVU0UoT1BFTkdM
X0VTXzIpCiAjaW5jbHVkZSA8R0xFUzIvZ2wyLmg+CiAjaW5jbHVkZSA8R0xFUzIvZ2wyZXh0Lmg+
CkBAIC01Niw2ICs2MCw5IEBAIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6R3JhcGhpY3NDb250
ZXh0M0RQcml2YXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBHCiAgICAgICAgIG1fZ2xD
b250ZXh0ID0gR0xDb250ZXh0OjpjcmVhdGVPZmZzY3JlZW5Db250ZXh0KEdMQ29udGV4dDo6c2hh
cmluZ0NvbnRleHQoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OlJlbmRlclRvQ3VycmVudEdMQ29udGV4dDoKKyNpZiBQTEFURk9STShOSVgpICYmIFVTRShF
R0wpCisgICAgICAgIG1fZ2xDb250ZXh0ID0gR0xDb250ZXh0RnJvbUN1cnJlbnRFR0w6OmNyZWF0
ZUZyb21DdXJyZW50R0xDb250ZXh0KCk7CisjZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyRGlyZWN0bHlUb0hvc3RXaW5kb3c6CiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udFBsYXRmb3JtRGF0YUZyZWVUeXBlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRQbGF0Zm9ybURhdGFGcmVl
VHlwZS5jcHAKaW5kZXggYTJkNTkxYmE3NTU5ZTdmMzkyMjMzYzZkNjBlMGU4ZGY3ZTg4MGQxMS4u
NGE3OWEwYzE5YjExOWNlNWM1NGVjMzc1ZmI3YjU1YjcyMjU0OTExOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udFBsYXRmb3JtRGF0YUZy
ZWVUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlw
ZS9Gb250UGxhdGZvcm1EYXRhRnJlZVR5cGUuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVk
ZSA8Zm9udGNvbmZpZy9mY2ZyZWV0eXBlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKLSNpZiAhUExBVEZPUk0oRUZMKQorI2lmICFQTEFURk9STShFRkwpICYmICFQTEFURk9S
TShOSVgpCiAjaW5jbHVkZSA8Z2RrL2dkay5oPgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9w
ZW5HTC5jcHAKaW5kZXggMDkwNWM5MjEzZjExMTI4NTBlODUzMWQ1Mjc4ZTA4Mjg5MDRmNDQ0NC4u
MTk0Nzk5ZjRkOThlZGU4Y2M3NTZjNzJkOTJiMWYxYjkzOGZhYTZhNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lv
bnMzRE9wZW5HTC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAjaW5j
bHVkZSAiQU5HTEUvU2hhZGVyTGFuZy5oIgogI2luY2x1ZGUgPE9wZW5HTC9nbC5oPgotI2VsaWYg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9S
TShXSU4pCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0o
UVQpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKQogI2luY2x1ZGUgIk9wZW5HTFNo
aW1zLmgiCiAjZW5kaWYKIApAQCAtNjUsNyArNjUsNyBAQCBQbGF0Zm9ybTNET2JqZWN0IEV4dGVu
c2lvbnMzRE9wZW5HTDo6Y3JlYXRlVmVydGV4QXJyYXlPRVMoKQogewogICAgIG1fY29udGV4dC0+
bWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgR0x1aW50IGFycmF5ID0gMDsKLSNpZiAoUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSkgfHwgUExBVEZPUk0oV0lO
KQorI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8
IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKSkKICAgICBpZiAoaXNWZXJ0ZXhBcnJheU9i
amVjdFN1cHBvcnRlZCgpKQogICAgICAgICBnbEdlblZlcnRleEFycmF5cygxLCAmYXJyYXkpOwog
I2VsaWYgZGVmaW5lZChHTF9BUFBMRV92ZXJ0ZXhfYXJyYXlfb2JqZWN0KSAmJiBHTF9BUFBMRV92
ZXJ0ZXhfYXJyYXlfb2JqZWN0CkBAIC04MCw3ICs4MCw3IEBAIHZvaWQgRXh0ZW5zaW9uczNET3Bl
bkdMOjpkZWxldGVWZXJ0ZXhBcnJheU9FUyhQbGF0Zm9ybTNET2JqZWN0IGFycmF5KQogICAgICAg
ICByZXR1cm47CiAKICAgICBtX2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOwotI2lmIChQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KFdJTikpCisjaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVG
TCkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShOSVgpKQogICAgIGlmIChpc1ZlcnRleEFy
cmF5T2JqZWN0U3VwcG9ydGVkKCkpCiAgICAgICAgIGdsRGVsZXRlVmVydGV4QXJyYXlzKDEsICZh
cnJheSk7CiAjZWxpZiBkZWZpbmVkKEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QpICYmIEdM
X0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QKQEAgLTk0LDcgKzk0LDcgQEAgR0MzRGJvb2xlYW4g
RXh0ZW5zaW9uczNET3BlbkdMOjppc1ZlcnRleEFycmF5T0VTKFBsYXRmb3JtM0RPYmplY3QgYXJy
YXkpCiAgICAgICAgIHJldHVybiBHTF9GQUxTRTsKIAogICAgIG1fY29udGV4dC0+bWFrZUNvbnRl
eHRDdXJyZW50KCk7Ci0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSkKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkp
CiAgICAgaWYgKGlzVmVydGV4QXJyYXlPYmplY3RTdXBwb3J0ZWQoKSkKICAgICAgICAgcmV0dXJu
IGdsSXNWZXJ0ZXhBcnJheShhcnJheSk7CiAjZWxpZiBkZWZpbmVkKEdMX0FQUExFX3ZlcnRleF9h
cnJheV9vYmplY3QpICYmIEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QKQEAgLTEwNiw3ICsx
MDYsNyBAQCBHQzNEYm9vbGVhbiBFeHRlbnNpb25zM0RPcGVuR0w6OmlzVmVydGV4QXJyYXlPRVMo
UGxhdGZvcm0zRE9iamVjdCBhcnJheSkKIHZvaWQgRXh0ZW5zaW9uczNET3BlbkdMOjpiaW5kVmVy
dGV4QXJyYXlPRVMoUGxhdGZvcm0zRE9iamVjdCBhcnJheSkKIHsKICAgICBtX2NvbnRleHQtPm1h
a2VDb250ZXh0Q3VycmVudCgpOwotI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8
fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikpCisjaWYgKFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9S
TShOSVgpKQogICAgIGlmIChpc1ZlcnRleEFycmF5T2JqZWN0U3VwcG9ydGVkKCkpCiAgICAgICAg
IGdsQmluZFZlcnRleEFycmF5KGFycmF5KTsKICNlbGlmIGRlZmluZWQoR0xfQVBQTEVfdmVydGV4
X2FycmF5X29iamVjdCkgJiYgR0xfQVBQTEVfdmVydGV4X2FycmF5X29iamVjdApAQCAtMTYwLDcg
KzE2MCw3IEBAIGJvb2wgRXh0ZW5zaW9uczNET3BlbkdMOjpzdXBwb3J0c0V4dGVuc2lvbihjb25z
dCBTdHJpbmcmIG5hbWUpCiAKICAgICAvLyBHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdAogICAg
IGlmIChuYW1lID09ICJHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdCIpIHsKLSNpZiAoUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSkKKyNpZiAoUExBVEZPUk0o
R1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgpKQog
ICAgICAgICByZXR1cm4gbV9hdmFpbGFibGVFeHRlbnNpb25zLmNvbnRhaW5zKCJHTF9BUkJfdmVy
dGV4X2FycmF5X29iamVjdCIpOwogI2Vsc2UKICAgICAgICAgcmV0dXJuIG1fYXZhaWxhYmxlRXh0
ZW5zaW9ucy5jb250YWlucygiR0xfQVBQTEVfdmVydGV4X2FycmF5X29iamVjdCIpOwpAQCAtMjA1
LDcgKzIwNSw3IEBAIFN0cmluZyBFeHRlbnNpb25zM0RPcGVuR0w6OmdldEV4dGVuc2lvbnMoKQog
ICAgIHJldHVybiBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oOjpnbEdldFN0
cmluZyhHTF9FWFRFTlNJT05TKSkpOwogfQogCi0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lOKSkKKyNpZiAoUExBVEZPUk0o
R1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pIHx8
IFBMQVRGT1JNKE5JWCkpCiBib29sIEV4dGVuc2lvbnMzRE9wZW5HTDo6aXNWZXJ0ZXhBcnJheU9i
amVjdFN1cHBvcnRlZCgpCiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgc3VwcG9ydHNWZXJ0ZXhB
cnJheU9iamVjdCA9IHN1cHBvcnRzKCJHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdCIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lv
bnMzRE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4
dGVuc2lvbnMzRE9wZW5HTC5oCmluZGV4IGY5ZDY5ZTlmNDZjN2EwZjJmYzk2M2RhOWNiNGE1MDlh
NWNhMTE3MWIuLjRjMGUwYmMyMzMwMDdiOGJlYjJhYTFhZTdiN2JkMmM1ZDU1YTQ5ZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25z
M0RPcGVuR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
RXh0ZW5zaW9uczNET3BlbkdMLmgKQEAgLTYwLDcgKzYwLDcgQEAgcHJvdGVjdGVkOgogCiAgICAg
dmlydHVhbCBib29sIHN1cHBvcnRzRXh0ZW5zaW9uKGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAg
dmlydHVhbCBTdHJpbmcgZ2V0RXh0ZW5zaW9ucygpOwotI2lmIChQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikpCisjaWYgKFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lO
KSB8fCBQTEFURk9STShOSVgpKQogcHJpdmF0ZToKICAgICBib29sIGlzVmVydGV4QXJyYXlPYmpl
Y3RTdXBwb3J0ZWQoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9u
LmNwcAppbmRleCBmNDEzYTY3NWE2YzkzOTMxNWQ1OTU0YjQyNGJlN2VhYWU3NTZhNzUzLi5iMGY3
ZjllN2I3OGFmOTQ1MGY5YTgzYjUzMzViMWE1NGQzYTNjMDQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5z
aW9uczNET3BlbkdMQ29tbW9uLmNwcApAQCAtNDIsNyArNDIsNyBAQAogI2luY2x1ZGUgPEdMRVMy
L2dsMmV4dC5oPgogI2VsaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPE9wZW5HTC9nbC5oPgot
I2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFFUKSB8fCBQ
TEFURk9STShXSU4pCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKQogI2luY2x1ZGUgIk9w
ZW5HTFNoaW1zLmgiCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVTLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMRVMuaAppbmRleCAy
MWVjMmU1NzI5ZGM4ZDlhMDVmMDYyNDJmZDU3YjRlMWM0YWQ1YWRhLi5lM2FjMWVjOGZiYzJlYTdl
MzFhODUxYWVlOWIwZWFlYmZmOGFmYTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMRVMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMRVMuaApA
QCAtNjksNiArNjksMTEgQEAgdHlwZWRlZiB2b2lkIChHTF9BUElFTlRSWVAgUEZOR0xHRVROVU5J
Rk9STUZWRVhUUFJPQykgKEdMdWludCBwcm9ncmFtLCBHTGludCBsb2MKIHR5cGVkZWYgdm9pZCAo
R0xfQVBJRU5UUllQIFBGTkdMR0VUTlVOSUZPUk1JVkVYVFBST0MpIChHTHVpbnQgcHJvZ3JhbSwg
R0xpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBidWZTaXplLCBHTGludCAqcGFyYW1zKTsKICNlbmRp
ZgogCisjaWYgUExBVEZPUk0oTklYKSAmJiBVU0UoT1BFTkdMX0VTXzIpICYmICFHTF9JTUdfbXVs
dGlzYW1wbGVkX3JlbmRlcl90b190ZXh0dXJlCisvLyBvbiByUGksIFBGTkdMRlJBTUVCVUZGRVJU
RVhUVVJFMkRNVUxUSVNBTVBMRUlNRyBpcyBjYWxsZWQgUEZOR0xDTElQUExBTkVYSU1HLgordHlw
ZWRlZiBQRk5HTENMSVBQTEFORVhJTUcgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUyRE1VTFRJU0FN
UExFSU1HOworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXh0ZW5zaW9u
czNET3BlbkdMRVMgOiBwdWJsaWMgRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRl
eHQzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
R3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCmluZGV4IGZiZGNhMGUwNzEyYzVhZTEwMmFmMTM2
YzM0NTdhMmI5Y2ViMzMyMDAuLmU3ZGY5NGRiMmI2NGEyOWIyN2M2MjE3NmNjMWE0ZmRkNWQxOTdh
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcApAQCAtNDIsNyArNDIs
NyBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPE9wZW5HTC9nbC5oPgotI2VsaWYg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9S
TShXSU4pCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0o
UVQpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKQogI2luY2x1ZGUgIk9wZW5HTFNo
aW1zLmgiCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENv
bW1vbi5jcHAKaW5kZXggODlkMmIzZjBlODI3MDEyMzYwYTc3ZDBmOGJhNjRiMmQwYzQzOTNkMS4u
NGQ3ZGU1MzVjMTAyNGJjNTZiNzc5ZDNmM2Q2MDdiNzlkOWZjYTRlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3Bl
bkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCkBAIC01OSw3ICs1OSw3IEBACiAj
aW5jbHVkZSAiT3BlbkdMRVNTaGltcy5oIgogI2VsaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUg
PE9wZW5HTC9nbC5oPgotI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShXSU4pCisjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklY
KQogI2luY2x1ZGUgIk9wZW5HTFNoaW1zLmgiCiAjZW5kaWYKIApAQCAtMjIxLDcgKzIyMSw3IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnJlc2hhcGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQog
ICAgIGlmICh3aWR0aCA9PSBtX2N1cnJlbnRXaWR0aCAmJiBoZWlnaHQgPT0gbV9jdXJyZW50SGVp
Z2h0KQogICAgICAgICByZXR1cm47CiAKLSNpZiAoUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVG
TCkpICYmIFVTRShHUkFQSElDU19TVVJGQUNFKQorI2lmIChQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oRUZMKSB8fCBQTEFURk9STShOSVgpKSAmJiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKICAgICA6
OmdsRmx1c2goKTsgLy8gTWFrZSBzdXJlIGFsbCBHTCBjYWxscyBoYXZlIGJlZW4gY29tbWl0dGVk
IGJlZm9yZSByZXNpemluZy4KICAgICBjcmVhdGVHcmFwaGljc1N1cmZhY2VzKEludFNpemUod2lk
dGgsIGhlaWdodCkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAppbmRleCA2ZWM2NzU3OTQyODMyNDhl
MjU4NmZmZTY0MmZlMTUyYjZhMGFjMzg1Li5kM2MwNWU2YmNhNDJkZjVmMjIwMWRjNWExNjlhYzYw
NjY5NmU4Y2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKQEAgLTI4LDcgKzI4LDcgQEAKICAgICAjZGVmaW5l
IFRFWE1BUF9PUEVOR0xfRVNfMgogI2VuZGlmCiAjZW5kaWYKLSNpZiAoUExBVEZPUk0oR1RLKSB8
fCBQTEFURk9STShFRkwpKSAmJiBVU0UoT1BFTkdMX0VTXzIpCisjaWYgKFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgpKSAmJiBVU0UoT1BFTkdMX0VTXzIpCiAj
ZGVmaW5lIFRFWE1BUF9PUEVOR0xfRVNfMgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L1BsdWdpblBhY2thZ2UuY3BwCmluZGV4IGQyYjZmNTJmOTNjOTRjMmJmMzM3YzhlMzlmYmJiY2Ux
OTc4NThkYWYuLmY5ZTIyMTkwMDkyYmY5Yzg1NmJmYTVmNGJlNmJlYTUzMzNlMzJjZWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcApAQCAtMTc3LDcgKzE3Nyw3IEBA
IFBhc3NSZWZQdHI8UGx1Z2luUGFja2FnZT4gUGx1Z2luUGFja2FnZTo6Y3JlYXRlUGFja2FnZUZy
b21DYWNoZShjb25zdCBTdHJpbmcmIHBhCiB9CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoWFBfVU5J
WCkKKyNpZiBkZWZpbmVkKFhQX1VOSVgpICYmICFQTEFURk9STShOSVgpCiB2b2lkIFBsdWdpblBh
Y2thZ2U6OmRldGVybWluZVF1aXJrcyhjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIGlm
IChNSU1FVHlwZVJlZ2lzdHJ5Ojppc0phdmFBcHBsZXRNSU1FVHlwZShtaW1lVHlwZSkpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IDYxOGIzNjhiZDNhNDZmMDFjZGE5
MDY4N2I2NGJlYmQ0YjFjZjRlYWYuLjdjZmZhN2ViNjRiMzMwNGIwYmUzYzM5ZTBmZWM4YjJlYzU1
MTQ4MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtODMxLDcgKzgz
MSw3IEBAIFBsdWdpblZpZXc6OlBsdWdpblZpZXcoRnJhbWUqIHBhcmVudEZyYW1lLCBjb25zdCBJ
bnRTaXplJiBzaXplLCBQbHVnaW5QYWNrYWdlKiBwCiAgICAgLCBtX3dtUHJpbnRIREMoMCkKICAg
ICAsIG1faGF2ZVVwZGF0ZWRQbHVnaW5XaWRnZXQoZmFsc2UpCiAjZW5kaWYKLSNpZiAoUExBVEZP
Uk0oUVQpICYmIE9TKFdJTkRPV1MpKSB8fCBQTEFURk9STShFRkwpCisjaWYgKFBMQVRGT1JNKFFU
KSAmJiBPUyhXSU5ET1dTKSkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgpCiAgICAg
LCBtX3dpbmRvdygwKQogI2VuZGlmCiAjaWYgZGVmaW5lZChYUF9NQUNPU1gpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGE4MWJkMGFkNDllMjAwYTBjZTI0MThjYjM2Yzk5ODQ4
MDAxOTc5N2YuLjMyNzc2MGY2ZjRiNTA1NGZjN2VkMjViODE0YTM2NmZjNDI5ZjYxZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC0zODMsNyArMzgzLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBib29sIG1faGF2ZVVwZGF0ZWRQbHVnaW5XaWRnZXQ7CiAjZW5k
aWYKIAotI2lmICgoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkpICYmIE9TKFdJTkRPV1Mp
KSB8fCBQTEFURk9STShFRkwpCisjaWYgKChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSkg
JiYgT1MoV0lORE9XUykpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oTklYKQogICAgICAg
ICAvLyBPbiBNYWMgT1NYIGFuZCBRdC9XaW5kb3dzIHRoZSBwbHVnaW4gZG9lcyBub3QgaGF2ZSBp
dHMgb3duIG5hdGl2ZSB3aWRnZXQsCiAgICAgICAgIC8vIGJ1dCBpcyB1c2luZyB0aGUgY29udGFp
bmluZyB3aW5kb3cgYXMgaXRzIHJlZmVyZW5jZSBmb3IgcG9zaXRpb25pbmcvcGFpbnRpbmcuCiAg
ICAgICAgIFBsYXRmb3JtUGx1Z2luV2lkZ2V0IG1fd2luZG93OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Tm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpblZpZXdOb25lLmNwcAppbmRleCAwYzk0NWZiNjRiYmE2ZGU0MmJhODk3ZDMyNzVm
ZWZmNGQ1ZjJiYWJlLi40OThhYjc2YmFjNmIxMWM2ZDZiNTVkYjI1NTlkNDc1NjFkMjIwYjg3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXdOb25lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXdOb25lLmNwcApAQCAtMTMyLDcgKzEz
Miw3IEBAIHZvaWQgUGx1Z2luVmlldzo6aGFuZGxlRm9jdXNPdXRFdmVudCgpCiAvLyBwb3J0cyB1
c2luZyBQbHVnaW5WaWV3LCBidXQgdW50aWwgdGhlbiwgaWYgbmV3IGZ1bmN0aW9ucyBsaWtlIHRo
aXMgYXJlIAogLy8gYWRkZWQsIHBsZWFzZSBtYWtlIHN1cmUgdGhleSBoYXZlIHRoZSBwcm9wZXIg
cGxhdGZvcm0gI2lmcyBzbyB0aGF0IGNoYW5nZXMKIC8vIGRvIG5vdCBicmVhayBwb3J0cyB3aG8g
Y29tcGlsZSBib3RoIHRoaXMgZmlsZSBhbmQgUGx1Z2luVmlldy5jcHAuICAgCi0jaWYgUExBVEZP
Uk0oTUFDKSB8fCBQTEFURk9STShFRkwpIHx8IChPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKFFUKSkg
fHwgKFBMQVRGT1JNKFFUKSAmJiAhT1MoV0lOQ0UpKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oRUZMKSB8fCAoT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkpIHx8IChQTEFURk9STShR
VCkgJiYgIU9TKFdJTkNFKSkgfHwgUExBVEZPUk0oTklYKQogI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQogdm9pZCBQbHVnaW5WaWV3OjprZWVwQWxpdmUoTlBQKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211040</attachid>
            <date>2013-09-09 07:22:37 -0700</date>
            <delta_ts>2013-09-09 10:15:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118326-20130909112416.patch</filename>
            <type>text/plain</type>
            <size>34266</size>
            <attacher name="Hugo Parente Lima">hugo.lima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMwNDdkZmYwMGRkYmMz
ZDJmNTJkZjMyZjNjNzAzNzM1ODBlOGRjZS4uYTM0ZWRhMzIyNzMwZWJiY2Y4YzhmMDY0ZTFmNTli
Y2ExY2UzODFiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEzLTA3LTA1ICBIdWdv
IFBhcmVudGUgTGltYSAgPGh1Z28ubGltYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFByZXBh
cmluZyBXZWJDb3JlIHRvIHJlY2VpdmUgTml4IFBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODMyNgorCisgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgQ2FybHNvbi4KKworICAgICAgICBPbmx5IGFkZGluZyB0aGUgY29tcGlsYXRpb24gZGlyZWN0
aXZlcyB0aGF0IGFyZSBOaXggc3BlY2lmaWMsIGluIHRoZQorICAgICAgICBleGlzdGVudCBXZWJD
b3JlIGZpbGVzCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXI6OmRlZmF1bHRPYmplY3RDb250ZW50VHlwZSk6CisgICAgICAg
ICogcGxhdGZvcm0vQ3Vyc29yLmg6CisgICAgICAgICogcGxhdGZvcm0vRHJhZ0RhdGEuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9EcmFnSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lz
dGVtLmg6CisgICAgICAgICogcGxhdGZvcm0vUnVuTG9vcC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L1dpZGdldC5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0ZGVEZyYW1lLmg6CisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
Y2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
QU5HTEVXZWJLaXRCcmlkZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxh
dGZvcm1EYXRhLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMRVNTaGltcy5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dFByb2NBZGRyZXNzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtTGF5ZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HTENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R0xDb250ZXh0OjpjcmVhdGVDb250ZXh0Rm9yV2luZG93KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpHcmFwaGljc0NvbnRleHQzRFByaXZh
dGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRQbGF0Zm9ybURh
dGFGcmVlVHlwZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVu
c2lvbnMzRE9wZW5HTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25zM0RPcGVuR0w6
OmNyZWF0ZVZlcnRleEFycmF5T0VTKToKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9w
ZW5HTDo6ZGVsZXRlVmVydGV4QXJyYXlPRVMpOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9u
czNET3BlbkdMOjppc1ZlcnRleEFycmF5T0VTKToKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lv
bnMzRE9wZW5HTDo6YmluZFZlcnRleEFycmF5T0VTKToKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVu
c2lvbnMzRE9wZW5HTDo6c3VwcG9ydHNFeHRlbnNpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMRVMuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5H
TENvbW1vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6cmVzaGFw
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoK
KyAgICAgICAgKiBwbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwOgorICAgICAgICAqIHBsdWdpbnMv
UGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpQbHVnaW5WaWV3
KToKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpblZpZXcuaDoKKyAgICAgICAgKiBwbHVnaW5zL1Bs
dWdpblZpZXdOb25lLmNwcDoKKwogMjAxMy0wOS0wOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CiAKICAgICAgICAgSGlkZSBEb2N1bWVudDo6cmVuZGVyZXIoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMTBlZGVjZjE0MzAzMzMyMGE5ZWFmMjYxZDFl
OTZmZTAyMTNhOTM3MC4uN2QxNTY2OGY1ZGQ4MDk1YTM0ZmM5ZWI1ZDZhZGM5OGNmOTMzNDAxNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC05MDYsNyArOTA2LDcgQEAg
T2JqZWN0Q29udGVudFR5cGUgRnJhbWVMb2FkZXI6OmRlZmF1bHRPYmplY3RDb250ZW50VHlwZShj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFMKICAgICBpZiAobWltZVR5cGUuaXNFbXB0eSgpKQogICAg
ICAgICBtaW1lVHlwZSA9IG1pbWVUeXBlRnJvbVVSTCh1cmwpOwogCi0jaWYgIVBMQVRGT1JNKE1B
QykgJiYgIVBMQVRGT1JNKEVGTCkgLy8gTWFjIGhhcyBubyBQbHVnaW5EYXRhYmFzZSwgbm9yIGRv
ZXMgQ2hyb21pdW0gb3IgRUZMCisjaWYgIVBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKEVGTCkg
JiYgIVBMQVRGT1JNKE5JWCkgLy8gTWFjIGhhcyBubyBQbHVnaW5EYXRhYmFzZSwgbm9yIGRvZXMg
Tml4IG9yIEVGTAogICAgIGlmIChtaW1lVHlwZS5pc0VtcHR5KCkpIHsKICAgICAgICAgU3RyaW5n
IGRlY29kZWRQYXRoID0gZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKHVybC5wYXRoKCkpOwogICAg
ICAgICBtaW1lVHlwZSA9IFBsdWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQbHVnaW5zKCktPk1JTUVU
eXBlRm9yRXh0ZW5zaW9uKGRlY29kZWRQYXRoLnN1YnN0cmluZyhkZWNvZGVkUGF0aC5yZXZlcnNl
RmluZCgnLicpICsgMSkpOwpAQCAtOTE2LDcgKzkxNiw3IEBAIE9iamVjdENvbnRlbnRUeXBlIEZy
YW1lTG9hZGVyOjpkZWZhdWx0T2JqZWN0Q29udGVudFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25z
dCBTCiAgICAgaWYgKG1pbWVUeXBlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIE9iamVjdENv
bnRlbnRGcmFtZTsgLy8gR28gYWhlYWQgYW5kIGhvcGUgdGhhdCB3ZSBjYW4gZGlzcGxheSB0aGUg
Y29udGVudC4KIAotI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShFRkwpIC8vIE1hYyBo
YXMgbm8gUGx1Z2luRGF0YWJhc2UsIG5vciBkb2VzIENocm9taXVtIG9yIEVGTAorI2lmICFQTEFU
Rk9STShNQUMpICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9STShOSVgpIC8vIE1hYyBoYXMg
bm8gUGx1Z2luRGF0YWJhc2UsIG5vciBkb2VzIE5peCBvciBFRkwKICAgICBib29sIHBsdWdJblN1
cHBvcnRzTUlNRVR5cGUgPSBQbHVnaW5EYXRhYmFzZTo6aW5zdGFsbGVkUGx1Z2lucygpLT5pc01J
TUVUeXBlUmVnaXN0ZXJlZChtaW1lVHlwZSk7CiAjZWxzZQogICAgIGJvb2wgcGx1Z0luU3VwcG9y
dHNNSU1FVHlwZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaAppbmRleCBjMjQwZTU3
NTRhYzBiZGMyMDgxNmRkYThmODJjMmYxYWQ0MTFmYTQ3Li5kMzU0MjBkMDAzZjQ3ODBiNzE2YmRm
ZjI1MmFhMWNiM2Y2MWFiNmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9D
dXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuaApAQCAtNTYsNyAr
NTYsNyBAQCB0eXBlZGVmIEhJQ09OIEhDVVJTT1I7CiAjZW5kaWYKIAogLy8gTG9va3MgbGlrZSBp
dCdzIGp1c3QgUExBVEZPUk0oQkxBQ0tCRVJSWSkgc3RpbGwgbm90IHVzaW5nIHRoaXM/Ci0jaWYg
UExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQ
TEFURk9STShOSVgpCiAjZGVmaW5lIFdURl9VU0VfTEFaWV9OQVRJVkVfQ1VSU09SIDEKICNlbmRp
ZgogCkBAIC03OSw3ICs3OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIE5T
Q3Vyc29yICpQbGF0Zm9ybUN1cnNvcjsKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICB0eXBlZGVm
IEdSZWZQdHI8R2RrQ3Vyc29yPiBQbGF0Zm9ybUN1cnNvcjsKLSNlbGlmIFBMQVRGT1JNKEVGTCkK
KyNlbGlmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oTklYKQogICAgIHR5cGVkZWYgY29uc3Qg
Y2hhciogUGxhdGZvcm1DdXJzb3I7CiAjZWxpZiBQTEFURk9STShRVCkgJiYgIWRlZmluZWQoUVRf
Tk9fQ1VSU09SKQogICAgIC8vIERvIG5vdCBuZWVkIHRvIGJlIHNoYXJlZCBidXQgbmVlZCB0byBi
ZSBjcmVhdGVkIGR5bmFtaWNhbGx5IHZpYSBlbnN1cmVQbGF0Zm9ybUN1cnNvci4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9EcmFnRGF0YS5oCmluZGV4IDlhNWY4NDc1YzM4MDBmYzQzMzFmMzE2Y2Q5MzE3YWQx
N2EyMDNlMDEuLjI3ZGRkNmUyMzMyYzQwODg4ODY0ZmJiZjU2ZDY2NTk0Yjc3NGYyZTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaApAQCAtNjAsNyArNjAsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBEYXRhT2JqZWN0R3RrOwogfQogdHlwZWRlZiBXZWJDb3JlOjpEYXRhT2Jq
ZWN0R3RrKiBEcmFnRGF0YVJlZjsKLSNlbGlmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oQkxB
Q0tCRVJSWSkKKyNlbGlmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwg
UExBVEZPUk0oTklYKQogdHlwZWRlZiB2b2lkKiBEcmFnRGF0YVJlZjsKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oCmluZGV4IDQyNjVjOGJkOTY5MDhlYWZjOTA5MGVlYWE4
NzI4MDVmMGRiYjUxZDAuLjdjMjI4NWUxM2FmZjc2NDYwYzQ0ZjA1M2EzMDg5YzAzYjA2NGMwZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oCkBAIC02MSw3ICs2MSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIEhCSVRNQVAgRHJhZ0ltYWdlUmVmOwogI2VsaWYg
UExBVEZPUk0oR1RLKQogICAgIHR5cGVkZWYgY2Fpcm9fc3VyZmFjZV90KiBEcmFnSW1hZ2VSZWY7
Ci0jZWxpZiBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCisjZWxpZiBQTEFU
Rk9STShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpIHx8IFBMQVRGT1JNKE5JWCkKICAgICB0
eXBlZGVmIHZvaWQqIERyYWdJbWFnZVJlZjsKICNlbmRpZgogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRmlsZVN5c3RlbS5oCmluZGV4IGUxZDViN2U0ODBkZGU4ZTRiNTA3OTkyMWE3YjFlNmNlMWRl
YjRhMGIuLjJjMTRlYjJiYWYxZDNlYTAzZTMwMGQ1YzljZjVhYjU0M2Y2YmI0N2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKQEAgLTYxLDcgKzYxLDcgQEAgdHlwZWRlZiBzdHJ1
Y3QgSElOU1RBTkNFX18qIEhJTlNUQU5DRTsKIHR5cGVkZWYgSElOU1RBTkNFIEhNT0RVTEU7CiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKEdUSykKKyNpZiBVU0UoR0xJQikKIHR5cGVkZWYgc3RydWN0
IF9HRmlsZUlPU3RyZWFtIEdGaWxlSU9TdHJlYW07CiB0eXBlZGVmIHN0cnVjdCBfR01vZHVsZSBH
TW9kdWxlOwogI2VuZGlmCkBAIC03NSw4ICs3NSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8v
IFBsYXRmb3JtTW9kdWxlCiAjaWYgT1MoV0lORE9XUykKIHR5cGVkZWYgSE1PRFVMRSBQbGF0Zm9y
bU1vZHVsZTsKLSNlbGlmIFBMQVRGT1JNKEdUSykKLXR5cGVkZWYgR01vZHVsZSogUGxhdGZvcm1N
b2R1bGU7CiAjZWxpZiBQTEFURk9STShFRkwpCiB0eXBlZGVmIEVpbmFfTW9kdWxlKiBQbGF0Zm9y
bU1vZHVsZTsKICNlbGlmIFBMQVRGT1JNKFFUKQpAQCAtODcsNiArODUsOCBAQCB0eXBlZGVmIFFM
aWJyYXJ5KiBQbGF0Zm9ybU1vZHVsZTsKICNlbHNlCiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTW9k
dWxlOwogI2VuZGlmCisjZWxpZiBVU0UoR0xJQikKK3R5cGVkZWYgR01vZHVsZSogUGxhdGZvcm1N
b2R1bGU7CiAjZWxpZiBVU0UoQ0YpCiB0eXBlZGVmIENGQnVuZGxlUmVmIFBsYXRmb3JtTW9kdWxl
OwogI2Vsc2UKQEAgLTEyMCw3ICsxMjAsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIFBsYXRmb3JtTW9k
dWxlVmVyc2lvbjsKICNpZiBQTEFURk9STShRVCkKIHR5cGVkZWYgUUZpbGUqIFBsYXRmb3JtRmls
ZUhhbmRsZTsKIGNvbnN0IFBsYXRmb3JtRmlsZUhhbmRsZSBpbnZhbGlkUGxhdGZvcm1GaWxlSGFu
ZGxlID0gMDsKLSNlbGlmIFBMQVRGT1JNKEdUSykKKyNlbGlmIFVTRShHTElCKSAmJiAhUExBVEZP
Uk0oRUZMKQogdHlwZWRlZiBHRmlsZUlPU3RyZWFtKiBQbGF0Zm9ybUZpbGVIYW5kbGU7CiBjb25z
dCBQbGF0Zm9ybUZpbGVIYW5kbGUgaW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSA9IDA7CiAjZWxp
ZiBPUyhXSU5ET1dTKQpAQCAtMjEyLDcgKzIxMiw3IEBAIFJldGFpblB0cjxDRlVSTFJlZj4gcGF0
aEFzVVJMKGNvbnN0IFN0cmluZyYpOwogdm9pZCBzZXRNZXRhZGF0YVVSTChTdHJpbmcmIFVSTFN0
cmluZywgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgY29uc3QgU3RyaW5nJiBwYXRoKTsKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oR1RLKQorI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oTklY
KQogU3RyaW5nIGZpbGVuYW1lVG9TdHJpbmcoY29uc3QgY2hhciopOwogU3RyaW5nIGZpbGVuYW1l
Rm9yRGlzcGxheShjb25zdCBTdHJpbmcmKTsKIENTdHJpbmcgYXBwbGljYXRpb25EaXJlY3RvcnlQ
YXRoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wLmgKaW5kZXggYjdmMDFiY2FkNTc5NmQxMGFj
YWM1ZDZlOGQ5NDFkMzk5NWMzZTM5My4uMTZkMWE5ZTJhZDkyNTFhOGVkZDEzYWZlZjQ2Zjk1MmM2
NGE2MjdmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3AuaApAQCAtMzYsNyArMzYsNyBAQAog
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAK
LSNpZiBQTEFURk9STShHVEspCisjaWYgVVNFKEdMSUIpCiAjaW5jbHVkZSA8d3RmL2dvYmplY3Qv
R1JlZlB0ci5oPgogI2VuZGlmCiAKQEAgLTk5LDE2ICs5OSwxNiBAQCBwdWJsaWM6CiAgICAgICAg
IHN0YXRpYyB2b2lkIHRpbWVyRmlyZWQoUnVuTG9vcCosIGludCBJRCk7CiAgICAgICAgIGludCBt
X0lEOwogICAgICAgICBib29sIG1faXNSZXBlYXRpbmc7Ci0jZWxpZiBQTEFURk9STShHVEspCisj
ZWxpZiBQTEFURk9STShFRkwpCisgICAgICAgIHN0YXRpYyBib29sIHRpbWVyRmlyZWQodm9pZCog
ZGF0YSk7CisgICAgICAgIEVjb3JlX1RpbWVyKiBtX3RpbWVyOworICAgICAgICBib29sIG1faXNS
ZXBlYXRpbmc7CisjZWxpZiBVU0UoR0xJQikKICAgICAgICAgc3RhdGljIGdib29sZWFuIHRpbWVy
RmlyZWRDYWxsYmFjayhSdW5Mb29wOjpUaW1lckJhc2UqKTsKICAgICAgICAgZ2Jvb2xlYW4gaXNS
ZXBlYXRpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVwZWF0aW5nOyB9CiAgICAgICAgIHZvaWQg
Y2xlYXJUaW1lclNvdXJjZSgpOwogICAgICAgICBHUmVmUHRyPEdTb3VyY2U+IG1fdGltZXJTb3Vy
Y2U7CiAgICAgICAgIGdib29sZWFuIG1faXNSZXBlYXRpbmc7Ci0jZWxpZiBQTEFURk9STShFRkwp
Ci0gICAgICAgIHN0YXRpYyBib29sIHRpbWVyRmlyZWQodm9pZCogZGF0YSk7Ci0gICAgICAgIEVj
b3JlX1RpbWVyKiBtX3RpbWVyOwotICAgICAgICBib29sIG1faXNSZXBlYXRpbmc7CiAjZW5kaWYK
ICAgICB9OwogCkBAIC0xNTksMTUgKzE1OSw2IEBAIHByaXZhdGU6CiAgICAgVGltZXJNYXAgbV9h
Y3RpdmVUaW1lcnM7CiAgICAgY2xhc3MgVGltZXJPYmplY3Q7CiAgICAgVGltZXJPYmplY3QqIG1f
dGltZXJPYmplY3Q7Ci0jZWxpZiBQTEFURk9STShHVEspCi1wdWJsaWM6Ci0gICAgc3RhdGljIGdi
b29sZWFuIHF1ZXVlV29yayhSdW5Mb29wKik7Ci0gICAgR01haW5Mb29wKiBpbm5lcm1vc3RMb29w
KCk7Ci0gICAgdm9pZCBwdXNoTmVzdGVkTWFpbkxvb3AoR01haW5Mb29wKik7Ci0gICAgdm9pZCBw
b3BOZXN0ZWRNYWluTG9vcCgpOwotcHJpdmF0ZToKLSAgICBHUmVmUHRyPEdNYWluQ29udGV4dD4g
bV9ydW5Mb29wQ29udGV4dDsKLSAgICBWZWN0b3I8R1JlZlB0cjxHTWFpbkxvb3A+ID4gbV9ydW5M
b29wTWFpbkxvb3BzOwogI2VsaWYgUExBVEZPUk0oRUZMKQogICAgIGJvb2wgbV9pbml0RWZsOwog
CkBAIC0xNzgsNiArMTY5LDE1IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dha2VVcEV2ZW50UmVx
dWVzdGVkOwogCiAgICAgc3RhdGljIHZvaWQgd2FrZVVwRXZlbnQodm9pZCogZGF0YSwgdm9pZCos
IHVuc2lnbmVkIGludCk7CisjZWxpZiBVU0UoR0xJQikKK3B1YmxpYzoKKyAgICBzdGF0aWMgZ2Jv
b2xlYW4gcXVldWVXb3JrKFJ1bkxvb3AqKTsKKyAgICBHTWFpbkxvb3AqIGlubmVybW9zdExvb3Ao
KTsKKyAgICB2b2lkIHB1c2hOZXN0ZWRNYWluTG9vcChHTWFpbkxvb3AqKTsKKyAgICB2b2lkIHBv
cE5lc3RlZE1haW5Mb29wKCk7Citwcml2YXRlOgorICAgIEdSZWZQdHI8R01haW5Db250ZXh0PiBt
X3J1bkxvb3BDb250ZXh0OworICAgIFZlY3RvcjxHUmVmUHRyPEdNYWluTG9vcD4gPiBtX3J1bkxv
b3BNYWluTG9vcHM7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1dpZGdldC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgKaW5kZXgg
Y2MwNDA2OGI0YWM2YzBlOTZlZGEzN2UzNDE4MmE0MjM0MDhlNTMzNC4uN2JlOTU2NGEzODkxNzc2
MmZhMjkzNmE1MDc1NWI4N2NkMTE2NGM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vV2lkZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgKQEAg
LTY1LDcgKzY1LDcgQEAgUVRfRU5EX05BTUVTUEFDRQogdHlwZWRlZiBRT2JqZWN0KiBQbGF0Zm9y
bVdpZGdldDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNpZiBQTEFURk9S
TShCTEFDS0JFUlJZKSB8fCBQTEFURk9STShOSVgpCiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtV2lk
Z2V0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0ZGVEZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5oCmlu
ZGV4IGQ5OGRiYTU2ZmMwNTNiMGEzMmI3NDQ5OGYzYjQxMDE2ZjU2MDM1YzcuLjc4M2ZmOGU1MWFl
OWQzZmM0NzI1ZmM4MGYwMmIyNWE1ZTBjZDE2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0ZGVEZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vRkZURnJhbWUuaApAQCAtNjcsNiArNjcsMTAgQEAgc3RydWN0IFJERlRDb250ZXh0Owog
I2luY2x1ZGUgPGlwcHMuaD4KICNlbmRpZiAvLyBVU0UoV0VCQVVESU9fSVBQKQogCisjaWYgUExB
VEZPUk0oTklYKQorI2luY2x1ZGUgPHB1YmxpYy9GRlRGcmFtZS5oPgorI2VuZGlmCisKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtMTc4LDYgKzE4MiwxMSBAQCBwcml2YXRlOgogICAgIEF1
ZGlvRmxvYXRBcnJheSBtX2ltYWdEYXRhOwogI2VuZGlmIC8vIFVTRShXRUJBVURJT19JUFApCiAK
KyNpZiBQTEFURk9STShOSVgpCisgICAgdm9pZCBzY2FsZVBsYW5hckRhdGEoZmxvYXQgc2NhbGUp
OworICAgIE93blB0cjxOaXg6OkZGVEZyYW1lPiBtX2ZmdEZyYW1lOworI2VuZGlmIC8vIFBMQVRG
T1JNKE5JWCkKKwogI2lmIFVTRShXRUJBVURJT19PUEVOTUFYX0RMX0ZGVCkKICAgICBzdGF0aWMg
T01YRkZUU3BlY19SX0YzMiogY29udGV4dEZvclNpemUodW5zaWduZWQgbG9nMkZGVFNpemUpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uY3BwCmlu
ZGV4IDRhYWExYzAyMTcxZWU1OGY2ZGVlYWMzMjVjYzQyNmFhZmUxNDUyNzcuLjU1OTY2MDgwMjlj
YTYwYWIxZmE5ODE3MGUwZjUwYjUzMTY0NWVlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uY3BwCkBAIC02MSw3ICs2MSw3IEBAIGNvbnN0IHNp
emVfdCBSZXNwb25zZUZyYW1lU2l6ZSA9IDI1NjsKIC8vIFRoZSBpbXB1bHNlIHJlc3BvbnNlcyBt
YXkgYmUgcmVzYW1wbGVkIHRvIGEgZGlmZmVyZW50IHNhbXBsZS1yYXRlIChkZXBlbmRpbmcgb24g
dGhlIGF1ZGlvIGhhcmR3YXJlKSB3aGVuIHRoZXkgYXJlIGxvYWRlZC4KIGNvbnN0IGZsb2F0IFJl
c3BvbnNlU2FtcGxlUmF0ZSA9IDQ0MTAwOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoV0VC
QVVESU9fR1NUUkVBTUVSKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKFdFQkFVRElPX0dTVFJF
QU1FUikgfHwgUExBVEZPUk0oTklYKQogI2RlZmluZSBVU0VfQ09OQ0FURU5BVEVEX0lNUFVMU0Vf
UkVTUE9OU0VTCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2Fpcm8vV2lkZ2V0QmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jYWly
by9XaWRnZXRCYWNraW5nU3RvcmUuaAppbmRleCBmNGJiMjU1M2RhNjdkNjMyMWMzYjAzOTgyOTU4
MjQyYjBmNDhhN2U2Li43YjE2YmI1MDE1Yjk0NDYzZDFlM2UwOTdjMTZhOTczMWJlMzRmY2NjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3Rv
cmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jYWlyby9XaWRnZXRCYWNraW5nU3Rv
cmUuaApAQCAtMzksNiArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB0eXBlZGVmIEd0a1dp
ZGdldCogUGxhdGZvcm1XaWRnZXQ7CiAjZWxpZiBQTEFURk9STShFRkwpCiB0eXBlZGVmIEV2YXNf
T2JqZWN0KiBQbGF0Zm9ybVdpZGdldDsKKyNlbGlmIFBMQVRGT1JNKE5JWCkKK3R5cGVkZWYgdm9p
ZCogUGxhdGZvcm1XaWRnZXQ7CiAjZW5kaWYKIAogY2xhc3MgV2lkZ2V0QmFja2luZ1N0b3JlIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0
QnJpZGdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktpdEJy
aWRnZS5oCmluZGV4IDgzYzJlMDA0YzVlMDZkOTU2YTE2NTRjNDAxODM0MGQ0Zjg0MGFiYjguLjhj
OGYzYzczODdlNmY5MmEzODRjY2I4OWI0ZjI5MjE0MDRiNjUwMjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0QnJpZGdlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlkZ2UuaApAQCAtMjks
NyArMjksNyBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShFRkwp
ICYmICFQTEFURk9STShCTEFDS0JFUlJZKSAmJiAhUExBVEZPUk0oUVQpICYmICFQTEFURk9STShX
SU4pCisjaWYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKEVGTCkgJiYgIVBMQVRGT1JNKEJM
QUNLQkVSUlkpICYmICFQTEFURk9STShRVCkgJiYgIVBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JN
KE5JWCkKICNpbmNsdWRlICJBTkdMRS9TaGFkZXJMYW5nLmgiCiAjZWxpZiBQTEFURk9STShXSU4p
CiAjaW5jbHVkZSAiR0xTTEFORy9TaGFkZXJMYW5nLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMzI5NjlmMGFkNmI2
ZGYwYjk1MDYyZmRlOGYxZGI0MzYzNzQ1ODg3MS4uNGMwNWU4ZjYwNzVkMzUxYjMzOGYwNzQyYmIx
ZDZlNWMxZTExNDA2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgInF0L0Zv
bnRQbGF0Zm9ybURhdGEuaCIKICNlbGlmIFVTRShXSU5HREkpCiAjaW5jbHVkZSAid2luY2UvRm9u
dFBsYXRmb3JtRGF0YS5oIgotI2VsaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShHVEspCisj
ZWxpZiBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oTklYKQogI2lu
Y2x1ZGUgImZyZWV0eXBlL0ZvbnRQbGF0Zm9ybURhdGEuaCIKICNlbHNlCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HTENvbnRleHQuY3BwCmluZGV4IDFmMGNkNjZlYmY2
MzgxNWUxMDQ2OWIxYmEyNzIzYmQ3NWZkNzQ3ZTQuLmVkYTk4NzIwMmJmZWZlODE2MmU0MDY4Y2Qy
OTk4NDE1MWJiMjg1YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dMQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R0xDb250ZXh0LmNwcApAQCAtMTksNyArMTksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkdMQ29udGV4dC5oIgogCi0jaWYgVVNFKE9QRU5HTCkKKyNpZiBVU0UoT1BFTkdMKSB8
fCAoUExBVEZPUk0oTklYKSAmJiBVU0UoT1BFTkdMX0VTXzIpKQogCiAjaWYgVVNFKEVHTCkKICNp
bmNsdWRlICJHTENvbnRleHRFR0wuaCIKQEAgLTE1OSw2ICsxNTksNyBAQCBQYXNzT3duUHRyPEdM
Q29udGV4dD4gR0xDb250ZXh0OjpjcmVhdGVDb250ZXh0Rm9yV2luZG93KEdMTmF0aXZlV2luZG93
VHlwZSB3aW5kbwogICAgIH0KICNlbmRpZgogCisjaWYgIVBMQVRGT1JNKE5JWCkKICNpZiBVU0Uo
R0xYKQogICAgIGlmIChPd25QdHI8R0xDb250ZXh0PiBnbHhDb250ZXh0ID0gR0xDb250ZXh0R0xY
OjpjcmVhdGVDb250ZXh0KHdpbmRvd0hhbmRsZSwgc2hhcmluZ0NvbnRleHQpKQogICAgICAgICBy
ZXR1cm4gZ2x4Q29udGV4dC5yZWxlYXNlKCk7CkBAIC0xNjcsNiArMTY4LDcgQEAgUGFzc093blB0
cjxHTENvbnRleHQ+IEdMQ29udGV4dDo6Y3JlYXRlQ29udGV4dEZvcldpbmRvdyhHTE5hdGl2ZVdp
bmRvd1R5cGUgd2luZG8KICAgICBpZiAoT3duUHRyPEdMQ29udGV4dD4gZWdsQ29udGV4dCA9IEdM
Q29udGV4dEVHTDo6Y3JlYXRlQ29udGV4dCh3aW5kb3dIYW5kbGUsIHNoYXJpbmdDb250ZXh0KSkK
ICAgICAgICAgcmV0dXJuIGVnbENvbnRleHQucmVsZWFzZSgpOwogI2VuZGlmCisjZW5kaWYKICAg
ICByZXR1cm4gbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwCmluZGV4IDhlMjk4MWEwZTcwMWFjN2Fl
ZWI4MzEyODhjMzkzYzE2MTkwMzY4NGYuLmU5ODhhY2RjOTg1MzU0MmYzZjIyYWEwYmRjMjk3MWU1
ZGM1NzMyZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQzRC5jcHAKQEAgLTE0NzEsNyArMTQ3MSw3IEBAIHVuc2lnbmVkIEdy
YXBoaWNzQ29udGV4dDNEOjpnZXRDaGFubmVsQml0c0J5Rm9ybWF0KEdDM0RlbnVtIGZvcm1hdCkK
ICAgICB9CiB9CiAKLSNpZiAhUExBVEZPUk0oQkxBQ0tCRVJSWSkgJiYgIVBMQVRGT1JNKFFUKSAm
JiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oRUZMKSAmJiAhUExBVEZPUk0oTUFDKSAmJiAh
UExBVEZPUk0oV0lOKQorI2lmICFQTEFURk9STShCTEFDS0JFUlJZKSAmJiAhUExBVEZPUk0oUVQp
ICYmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9STShNQUMpICYm
ICFQTEFURk9STShXSU4pICYmICFQTEFURk9STShOSVgpCiBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4
dDNEIEdyYXBoaWNzQ29udGV4dDNEOjpwbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNEKCkgY29uc3QK
IHsKICAgICByZXR1cm4gTnVsbFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRl
eCA4MDAwY2IzYjZlOGViMTMyODc4YzI2ZTEwMjY4M2QyYTEyYTY2YTE5Li4xODU2ZWI3MzI3ZWQ0
OGNiZjYxMGQzNTZhZWY0MDk4Yzc5ZGQxZWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKQEAgLTQ5LDcgKzQ5LDcgQEAK
ICN1bmRlZiBWRVJTSU9OCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0o
R1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShCTEFDS0JF
UlJZKSB8fCBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEsp
IHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkp
IHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKQogI2luY2x1ZGUgIkFOR0xFV2ViS2l0
QnJpZGdlLmgiCiAjZW5kaWYKIApAQCAtNjQsNyArNjQsNyBAQCBjbGFzcyBRUmVjdDsKIGNsYXNz
IFFPcGVuR0xDb250ZXh0OwogY2xhc3MgUVN1cmZhY2U7CiBRVF9FTkRfTkFNRVNQQUNFCi0jZWxp
ZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNlbGlmIFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgpCiB0eXBlZGVmIHVuc2lnbmVkIGludCBHTHVp
bnQ7CiAjZW5kaWYKIApAQCAtNDk3LDcgKzQ5Nyw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgbWFr
ZUNvbnRleHRDdXJyZW50KCk7CiAKLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkg
fHwgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQ
TEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkKICAgICAvLyBXaXRoIG11bHRpc2FtcGxpbmcg
b24sIGJsaXQgZnJvbSBtdWx0aXNhbXBsZUZCTyB0byByZWd1bGFyIEZCTy4KICAgICB2b2lkIHBy
ZXBhcmVUZXh0dXJlKCk7CiAjZW5kaWYKQEAgLTkyNSw3ICs5MjUsNyBAQCBwcml2YXRlOgogICAg
IC8vIERlc3RpbmF0aW9uIGRhdGEgd2lsbCBoYXZlIG5vIGdhcHMgYmV0d2VlbiByb3dzLgogICAg
IHN0YXRpYyBib29sIHBhY2tQaXhlbHMoY29uc3QgdWludDhfdCogc291cmNlRGF0YSwgRGF0YUZv
cm1hdCBzb3VyY2VEYXRhRm9ybWF0LCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0LCB1
bnNpZ25lZCBzb3VyY2VVbnBhY2tBbGlnbm1lbnQsIHVuc2lnbmVkIGRlc3RpbmF0aW9uRm9ybWF0
LCB1bnNpZ25lZCBkZXN0aW5hdGlvblR5cGUsIEFscGhhT3AsIHZvaWQqIGRlc3RpbmF0aW9uRGF0
YSwgYm9vbCBmbGlwWSk7CiAKLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwg
UExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQTEFU
Rk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkKICAgICAvLyBUYWtlIGludG8gYWNjb3VudCB0aGUg
dXNlcidzIHJlcXVlc3RlZCBjb250ZXh0IGNyZWF0aW9uIGF0dHJpYnV0ZXMsCiAgICAgLy8gaW4g
cGFydGljdWxhciBzdGVuY2lsIGFuZCBhbnRpYWxpYXMsIGFuZCBkZXRlcm1pbmUgd2hpY2ggY291
bGQgb3IKICAgICAvLyBjb3VsZCBub3QgYmUgaG9ub3JlZCBiYXNlZCBvbiB0aGUgY2FwYWJpbGl0
aWVzIG9mIHRoZSBPcGVuR0wKQEAgLTk0Niw3ICs5NDYsNyBAQCBwcml2YXRlOgogCiAgICAgYm9v
bCByZXNoYXBlRkJPcyhjb25zdCBJbnRTaXplJik7CiAgICAgdm9pZCByZXNvbHZlTXVsdGlzYW1w
bGluZ0lmTmVjZXNzYXJ5KGNvbnN0IEludFJlY3QmID0gSW50UmVjdCgpKTsKLSNpZiAoUExBVEZP
Uk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkpICYmIFVTRShHUkFQSElDU19TVVJGQUNFKQorI2lmIChQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShOSVgpKSAmJiBVU0UoR1JB
UEhJQ1NfU1VSRkFDRSkKICAgICB2b2lkIGNyZWF0ZUdyYXBoaWNzU3VyZmFjZXMoY29uc3QgSW50
U2l6ZSYpOwogI2VuZGlmCiAKQEAgLTk2NSw3ICs5NjUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQq
IG1fY29udGV4dDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEsp
IHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkp
IHx8IFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkgfHwg
UExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShOSVgpCiAgICAgc3RydWN0IFN5bWJvbEluZm8gewog
ICAgICAgICBTeW1ib2xJbmZvKCkKICAgICAgICAgICAgIDogdHlwZSgwKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZS5jcHAKaW5kZXggYjY0YWZlNDg4ZWZkOWNmNGIzYTVkZWVmZWZkNjhiZDJjZDU4OWE0
My4uZGNmMjY4MGZlMjQxNmNiY2MyMTg1MWUyN2E1NWI3ZDNlNTQyMDViYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRFByaXZhdGUuY3BwCkBAIC0yNiw2ICsyNiwxMCBAQAogI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+CiAKKyNpZiBQTEFURk9STShOSVgp
ICYmIFVTRShFR0wpCisjaW5jbHVkZSAiR0xDb250ZXh0RnJvbUN1cnJlbnRFR0wuaCIKKyNlbmRp
ZgorCiAjaWYgVVNFKENBSVJPKQogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dENhaXJvLmgiCiAj
ZW5kaWYKQEAgLTU5LDYgKzYzLDkgQEAgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGUoR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIEcKICAgICAgICAg
bV9nbENvbnRleHQgPSBHTENvbnRleHQ6OmNyZWF0ZU9mZnNjcmVlbkNvbnRleHQoR0xDb250ZXh0
OjpzaGFyaW5nQ29udGV4dCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHQzRDo6UmVuZGVyVG9DdXJyZW50R0xDb250ZXh0OgorI2lmIFBMQVRGT1JNKE5JWCkgJiYg
VVNFKEVHTCkKKyAgICAgICAgbV9nbENvbnRleHQgPSBHTENvbnRleHRGcm9tQ3VycmVudEVHTDo6
Y3JlYXRlRnJvbUN1cnJlbnRHTENvbnRleHQoKTsKKyNlbmRpZgogICAgICAgICBicmVhazsKICAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdzoKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xFU1NoaW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9PcGVuR0xFU1NoaW1zLmgKaW5kZXggYzA2YjY3YzY4YWE2M2M2YmEyNjllNjRl
YWE5MWVkMTQ1N2JmZDNkZS4uNzI1NmY0MWQzZDIzMjIzNWU3ZWU5YzBmNTJlN2ExNDlhNDVjYWJl
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMRVNT
aGltcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTEVTU2hp
bXMuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBPcGVuR0xFU1NoaW1zX2gKICNkZWZpbmUg
T3BlbkdMRVNTaGltc19oCiAKLSNpZiBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQTEFURk9STShR
VCkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikKKyNp
ZiBQTEFURk9STShCTEFDS0JFUlJZKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8
fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKQogI2RlZmlu
ZSBnbEJpbmRGcmFtZWJ1ZmZlckVYVCBnbEJpbmRGcmFtZWJ1ZmZlcgogI2RlZmluZSBnbEZyYW1l
YnVmZmVyVGV4dHVyZTJERVhUIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQKICNkZWZpbmUgZ2xCaW5k
UmVuZGVyYnVmZmVyRVhUIGdsQmluZFJlbmRlcmJ1ZmZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvT3BlbkdMU2hpbXMuY3BwCmluZGV4IDEzOTQ3YWUwNjgxZWM1NGQx
ZThkOTlhNzhmNTkwODhlODhiYmYwN2MuLjZhMDNiZmU2MDAwMDQ1N2JmN2JjZGZmMTA3ZWUxM2Rj
MmQxODhiMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09w
ZW5HTFNoaW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVu
R0xTaGltcy5jcHAKQEAgLTI2LDYgKzI2LDEwIEBACiAjaW5jbHVkZSA8ZGxmY24uaD4KICNlbmRp
ZgogCisjaWYgUExBVEZPUk0oTklYKSAmJiBVU0UoRUdMKQorI2luY2x1ZGUgPEVHTC9lZ2wuaD4K
KyNlbmRpZgorCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCkBAIC00OSw2ICs1MywxMSBAQCBzdGF0aWMgdm9pZCogZ2V0UHJv
Y0FkZHJlc3MoY29uc3QgY2hhciogcHJvY05hbWUpCiB7CiAgICAgcmV0dXJuIEdldFByb2NBZGRy
ZXNzKEdldE1vZHVsZUhhbmRsZUEoImxpYkdMRVN2MiIpLCBwcm9jTmFtZSk7CiB9CisjZWxpZiBQ
TEFURk9STShOSVgpICYmIFVTRShFR0wpCitzdGF0aWMgdm9pZCogZ2V0UHJvY0FkZHJlc3MoY29u
c3QgY2hhciogcHJvY05hbWUpCit7CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+
KGVnbEdldFByb2NBZGRyZXNzKHByb2NOYW1lKSk7Cit9CiAjZWxzZQogdHlwZWRlZiB2b2lkKiAo
KmdsR2V0UHJvY0FkZHJlc3NUeXBlKSAoY29uc3QgY2hhciogcHJvY05hbWUpOwogc3RhdGljIHZv
aWQqIGdldFByb2NBZGRyZXNzKGNvbnN0IGNoYXIqIHByb2NOYW1lKQpAQCAtMTA2LDcgKzExNSw3
IEBAIHN0YXRpYyB2b2lkKiBsb29rdXBPcGVuR0xGdW5jdGlvbkFkZHJlc3MoY29uc3QgY2hhciog
ZnVuY3Rpb25OYW1lLCBib29sKiBzdWNjZXNzCiAgICAgcmV0dXJuIHRhcmdldDsKIH0KIAotI2lm
IFBMQVRGT1JNKFFUKSAmJiBkZWZpbmVkKFFUX09QRU5HTF9FU18yKQorI2lmIChQTEFURk9STShR
VCkgJiYgZGVmaW5lZChRVF9PUEVOR0xfRVNfMikpIHx8IChQTEFURk9STShOSVgpICYmIFVTRShP
UEVOR0xfRVNfMikpCiAKIC8vIFdpdGggQW5nbGUgb25seSBFR0wvR0xFUzIgZXh0ZW5zaW9ucyBh
cmUgYXZhaWxhYmxlIHRocm91Z2ggZWdsR2V0UHJvY0FkZHJlc3MsIG5vdCB0aGUgcmVndWxhciBz
dGFuZGFyZGl6ZWQgZnVuY3Rpb25zLgogI2RlZmluZSBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5U
UlkoRnVuY3Rpb25OYW1lLCBzdWNjZXNzKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvT3BlbkdMU2hpbXMuaAppbmRleCA4Zjc5NDIxMWZhNDBjNjQ1MDY4YmNlZjNhZGE4
YzAxZjY2OTZhNWM3Li5hNzMwOTlmNGU2ODE5YzgyZTQ0MGRkMzkzZGNjMWQ3ZGQyZDcwOTRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmgKQEAg
LTI1LDYgKzI1LDggQEAKICNpbmNsdWRlIDxxb3BlbmdsZnVuY3Rpb25zLmg+CiAjaW5jbHVkZSA8
UU9wZW5HTENvbnRleHQ+CiAjaW5jbHVkZSA8UVN1cmZhY2U+CisjZWxpZiBQTEFURk9STShOSVgp
ICYmIFVTRShPUEVOR0xfRVNfMikKKyNpbmNsdWRlIDxHTEVTMi9nbDIuaD4KICNlbHNlCiAjaW5j
bHVkZSA8R0wvZ2wuaD4KICNpbmNsdWRlIDxHTC9nbGV4dC5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1MYXllci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1MYXllci5oCmluZGV4IGExN2MxOWVkZmRmMTg0
MzZhYzBhYzk3YzY2NTdiNTQzY2E3Yjk4OWYuLjM2YTkzZTlkYWJlMzM3MDhkNTI4OWQxYTE4MWEx
ZGZmMGY2NzkwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1BsYXRmb3JtTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Q
bGF0Zm9ybUxheWVyLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXI7CiB0eXBlZGVmIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyIFBsYXRmb3JtTGF5
ZXI7CiB9OwogI2VuZGlmCi0jZWxpZiBQTEFURk9STShFRkwpCisjZWxpZiBQTEFURk9STShFRkwp
IHx8IFBMQVRGT1JNKE5JWCkKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRQbGF0Zm9ybURhdGFG
cmVlVHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9G
b250UGxhdGZvcm1EYXRhRnJlZVR5cGUuY3BwCmluZGV4IGEyZDU5MWJhNzU1OWU3ZjM5MjIzM2M2
ZDYwZTBlOGRmN2U4ODBkMTEuLjRhNzlhMGMxOWIxMTljZTVjNTRlYzM3NWZiN2I1NWI3MjI1NDkx
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBl
L0ZvbnRQbGF0Zm9ybURhdGFGcmVlVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udFBsYXRmb3JtRGF0YUZyZWVUeXBlLmNwcApAQCAtMzEs
NyArMzEsNyBAQAogI2luY2x1ZGUgPGZvbnRjb25maWcvZmNmcmVldHlwZS5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgIVBMQVRGT1JNKEVGTCkKKyNpZiAhUExBVEZP
Uk0oRUZMKSAmJiAhUExBVEZPUk0oTklYKQogI2luY2x1ZGUgPGdkay9nZGsuaD4KICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0
ZW5zaW9uczNET3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCmluZGV4IDA5MDVjOTIxM2YxMTEyODUwZTg1MzFk
NTI3OGUwODI4OTA0ZjQ0NDQuLjE5NDc5OWY0ZDk4ZWRlOGNjNzU2YzcyZDkyYjFmMWI5MzhmYWE2
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9F
eHRlbnNpb25zM0RPcGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAjaWYg
UExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIkFOR0xFL1NoYWRlckxhbmcuaCIKICNpbmNsdWRlIDxP
cGVuR0wvZ2wuaD4KLSNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oV0lOKQorI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShFRkwpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkK
ICNpbmNsdWRlICJPcGVuR0xTaGltcy5oIgogI2VuZGlmCiAKQEAgLTY1LDcgKzY1LDcgQEAgUGxh
dGZvcm0zRE9iamVjdCBFeHRlbnNpb25zM0RPcGVuR0w6OmNyZWF0ZVZlcnRleEFycmF5T0VTKCkK
IHsKICAgICBtX2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIEdMdWludCBhcnJh
eSA9IDA7Ci0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVG
TCkpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkg
fHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkpCiAgICAg
aWYgKGlzVmVydGV4QXJyYXlPYmplY3RTdXBwb3J0ZWQoKSkKICAgICAgICAgZ2xHZW5WZXJ0ZXhB
cnJheXMoMSwgJmFycmF5KTsKICNlbGlmIGRlZmluZWQoR0xfQVBQTEVfdmVydGV4X2FycmF5X29i
amVjdCkgJiYgR0xfQVBQTEVfdmVydGV4X2FycmF5X29iamVjdApAQCAtODAsNyArODAsNyBAQCB2
b2lkIEV4dGVuc2lvbnMzRE9wZW5HTDo6ZGVsZXRlVmVydGV4QXJyYXlPRVMoUGxhdGZvcm0zRE9i
amVjdCBhcnJheSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9jb250ZXh0LT5tYWtlQ29udGV4
dEN1cnJlbnQoKTsKLSNpZiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oRUZMKSB8fCBQTEFURk9STShXSU4pKQorI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKSkK
ICAgICBpZiAoaXNWZXJ0ZXhBcnJheU9iamVjdFN1cHBvcnRlZCgpKQogICAgICAgICBnbERlbGV0
ZVZlcnRleEFycmF5cygxLCAmYXJyYXkpOwogI2VsaWYgZGVmaW5lZChHTF9BUFBMRV92ZXJ0ZXhf
YXJyYXlfb2JqZWN0KSAmJiBHTF9BUFBMRV92ZXJ0ZXhfYXJyYXlfb2JqZWN0CkBAIC05NCw3ICs5
NCw3IEBAIEdDM0Rib29sZWFuIEV4dGVuc2lvbnMzRE9wZW5HTDo6aXNWZXJ0ZXhBcnJheU9FUyhQ
bGF0Zm9ybTNET2JqZWN0IGFycmF5KQogICAgICAgICByZXR1cm4gR0xfRkFMU0U7CiAKICAgICBt
X2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOwotI2lmIChQTEFURk9STShHVEspIHx8IFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJTikpCisjaWYgKFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oV0lO
KSB8fCBQTEFURk9STShOSVgpKQogICAgIGlmIChpc1ZlcnRleEFycmF5T2JqZWN0U3VwcG9ydGVk
KCkpCiAgICAgICAgIHJldHVybiBnbElzVmVydGV4QXJyYXkoYXJyYXkpOwogI2VsaWYgZGVmaW5l
ZChHTF9BUFBMRV92ZXJ0ZXhfYXJyYXlfb2JqZWN0KSAmJiBHTF9BUFBMRV92ZXJ0ZXhfYXJyYXlf
b2JqZWN0CkBAIC0xMDYsNyArMTA2LDcgQEAgR0MzRGJvb2xlYW4gRXh0ZW5zaW9uczNET3BlbkdM
Ojppc1ZlcnRleEFycmF5T0VTKFBsYXRmb3JtM0RPYmplY3QgYXJyYXkpCiB2b2lkIEV4dGVuc2lv
bnMzRE9wZW5HTDo6YmluZFZlcnRleEFycmF5T0VTKFBsYXRmb3JtM0RPYmplY3QgYXJyYXkpCiB7
CiAgICAgbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKLSNpZiAoUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pKQorI2lm
IChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRG
T1JNKFdJTikgfHwgUExBVEZPUk0oTklYKSkKICAgICBpZiAoaXNWZXJ0ZXhBcnJheU9iamVjdFN1
cHBvcnRlZCgpKQogICAgICAgICBnbEJpbmRWZXJ0ZXhBcnJheShhcnJheSk7CiAjZWxpZiBkZWZp
bmVkKEdMX0FQUExFX3ZlcnRleF9hcnJheV9vYmplY3QpICYmIEdMX0FQUExFX3ZlcnRleF9hcnJh
eV9vYmplY3QKQEAgLTE2MCw3ICsxNjAsNyBAQCBib29sIEV4dGVuc2lvbnMzRE9wZW5HTDo6c3Vw
cG9ydHNFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogCiAgICAgLy8gR0xfT0VTX3ZlcnRl
eF9hcnJheV9vYmplY3QKICAgICBpZiAobmFtZSA9PSAiR0xfT0VTX3ZlcnRleF9hcnJheV9vYmpl
Y3QiKSB7Ci0jaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVG
TCkpCisjaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkg
fHwgUExBVEZPUk0oTklYKSkKICAgICAgICAgcmV0dXJuIG1fYXZhaWxhYmxlRXh0ZW5zaW9ucy5j
b250YWlucygiR0xfQVJCX3ZlcnRleF9hcnJheV9vYmplY3QiKTsKICNlbHNlCiAgICAgICAgIHJl
dHVybiBtX2F2YWlsYWJsZUV4dGVuc2lvbnMuY29udGFpbnMoIkdMX0FQUExFX3ZlcnRleF9hcnJh
eV9vYmplY3QiKTsKQEAgLTIwNSw3ICsyMDUsNyBAQCBTdHJpbmcgRXh0ZW5zaW9uczNET3BlbkdM
OjpnZXRFeHRlbnNpb25zKCkKICAgICByZXR1cm4gU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgY2hhcio+KDo6Z2xHZXRTdHJpbmcoR0xfRVhURU5TSU9OUykpKTsKIH0KIAotI2lmIChQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFdJ
TikpCisjaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkg
fHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShOSVgpKQogYm9vbCBFeHRlbnNpb25zM0RPcGVu
R0w6OmlzVmVydGV4QXJyYXlPYmplY3RTdXBwb3J0ZWQoKQogewogICAgIHN0YXRpYyBjb25zdCBi
b29sIHN1cHBvcnRzVmVydGV4QXJyYXlPYmplY3QgPSBzdXBwb3J0cygiR0xfT0VTX3ZlcnRleF9h
cnJheV9vYmplY3QiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaAppbmRleCBmOWQ2OWU5ZjQ2Yzdh
MGYyZmM5NjNkYTljYjRhNTA5YTVjYTExNzFiLi40YzBlMGJjMjMzMDA3YjhiZWIyYWExYWU3Yjdi
ZDJjNWQ1NWE0OWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oCkBAIC02MCw3ICs2MCw3IEBA
IHByb3RlY3RlZDoKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0V4dGVuc2lvbihjb25zdCBX
VEY6OlN0cmluZyYpOwogICAgIHZpcnR1YWwgU3RyaW5nIGdldEV4dGVuc2lvbnMoKTsKLSNpZiAo
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9S
TShXSU4pKQorI2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShF
RkwpIHx8IFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTklYKSkKIHByaXZhdGU6CiAgICAgYm9v
bCBpc1ZlcnRleEFycmF5T2JqZWN0U3VwcG9ydGVkKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xD
b21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVu
c2lvbnMzRE9wZW5HTENvbW1vbi5jcHAKaW5kZXggZjQxM2E2NzVhNmM5MzkzMTVkNTk1NGI0MjRi
ZTdlYWFlNzU2YTc1My4uYjBmN2Y5ZTdiNzhhZjk0NTBmOWE4M2I1MzM1YjFhNTRkM2EzYzA0MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVu
c2lvbnMzRE9wZW5HTENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTENvbW1vbi5jcHAKQEAgLTQyLDcgKzQyLDcg
QEAKICNpbmNsdWRlIDxHTEVTMi9nbDJleHQuaD4KICNlbGlmIFBMQVRGT1JNKE1BQykKICNpbmNs
dWRlIDxPcGVuR0wvZ2wuaD4KLSNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8
fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV0lOKQorI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JN
KE5JWCkKICNpbmNsdWRlICJPcGVuR0xTaGltcy5oIgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xF
Uy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMz
RE9wZW5HTEVTLmgKaW5kZXggMjFlYzJlNTcyOWRjOGQ5YTA1ZjA2MjQyZmQ1N2I0ZTFjNGFkNWFk
YS4uZTNhYzFlYzhmYmMyZWE3ZTMxYTg1MWFlZTliMGVhZWJmZjhhZmE1OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5H
TEVTLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVu
c2lvbnMzRE9wZW5HTEVTLmgKQEAgLTY5LDYgKzY5LDExIEBAIHR5cGVkZWYgdm9pZCAoR0xfQVBJ
RU5UUllQIFBGTkdMR0VUTlVOSUZPUk1GVkVYVFBST0MpIChHTHVpbnQgcHJvZ3JhbSwgR0xpbnQg
bG9jCiB0eXBlZGVmIHZvaWQgKEdMX0FQSUVOVFJZUCBQRk5HTEdFVE5VTklGT1JNSVZFWFRQUk9D
KSAoR0x1aW50IHByb2dyYW0sIEdMaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgYnVmU2l6ZSwgR0xp
bnQgKnBhcmFtcyk7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE5JWCkgJiYgVVNFKE9QRU5HTF9F
U18yKSAmJiAhR0xfSU1HX211bHRpc2FtcGxlZF9yZW5kZXJfdG9fdGV4dHVyZQorLy8gb24gclBp
LCBQRk5HTEZSQU1FQlVGRkVSVEVYVFVSRTJETVVMVElTQU1QTEVJTUcgaXMgY2FsbGVkIFBGTkdM
Q0xJUFBMQU5FWElNRy4KK3R5cGVkZWYgUEZOR0xDTElQUExBTkVYSU1HIFBGTkdMRlJBTUVCVUZG
RVJURVhUVVJFMkRNVUxUSVNBTVBMRUlNRzsKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIEV4dGVuc2lvbnMzRE9wZW5HTEVTIDogcHVibGljIEV4dGVuc2lvbnMzRE9wZW5H
TENvbW1vbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcAppbmRleCBmYmRj
YTBlMDcxMmM1YWUxMDJhZjEzNmMzNDU3YTJiOWNlYjMzMjAwLi5lN2RmOTRkYjJiNjRhMjliMjdj
NjIxNzZjYzFhNGZkZDVkMTk3YTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5H
TC5jcHAKQEAgLTQyLDcgKzQyLDcgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDxP
cGVuR0wvZ2wuaD4KLSNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oV0lOKQorI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShFRkwpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE5JWCkK
ICNpbmNsdWRlICJPcGVuR0xTaGltcy5oIgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENv
bW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhp
Y3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCmluZGV4IDY5MDJiNjEzNWVmYjFhNWY2ZTA1OGQw
MzkzZmRiM2NhYzg3NzllOTEuLjg1NzAxOWRjMThhYjAzODMwYmNkZWFiZDlmMTM1YjA5MWNkYTZl
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcApA
QCAtNTcsNyArNTcsNyBAQAogI2luY2x1ZGUgIk9wZW5HTEVTU2hpbXMuaCIKICNlbGlmIFBMQVRG
T1JNKE1BQykKICNpbmNsdWRlIDxPcGVuR0wvZ2wuaD4KLSNlbGlmIFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oV0lOKQorI2VsaWYgUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShX
SU4pIHx8IFBMQVRGT1JNKE5JWCkKICNpbmNsdWRlICJPcGVuR0xTaGltcy5oIgogI2VuZGlmCiAK
QEAgLTIxOSw3ICsyMTksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpyZXNoYXBlKGludCB3
aWR0aCwgaW50IGhlaWdodCkKICAgICBpZiAod2lkdGggPT0gbV9jdXJyZW50V2lkdGggJiYgaGVp
Z2h0ID09IG1fY3VycmVudEhlaWdodCkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgKFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShFRkwpKSAmJiBVU0UoR1JBUEhJQ1NfU1VSRkFDRSkKKyNpZiAoUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oTklYKSkgJiYgVVNFKEdSQVBI
SUNTX1NVUkZBQ0UpCiAgICAgOjpnbEZsdXNoKCk7IC8vIE1ha2Ugc3VyZSBhbGwgR0wgY2FsbHMg
aGF2ZSBiZWVuIGNvbW1pdHRlZCBiZWZvcmUgcmVzaXppbmcuCiAgICAgY3JlYXRlR3JhcGhpY3NT
dXJmYWNlcyhJbnRTaXplKHdpZHRoLCBoZWlnaHQpKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKaW5k
ZXggNmVjNjc1Nzk0MjgzMjQ4ZTI1ODZmZmU2NDJmZTE1MmI2YTBhYzM4NS4uZDNjMDVlNmJjYTQy
ZGY1ZjIyMDFkYzVhMTY5YWM2MDY2OTZlOGNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCkBAIC0yOCw3ICsy
OCw3IEBACiAgICAgI2RlZmluZSBURVhNQVBfT1BFTkdMX0VTXzIKICNlbmRpZgogI2VuZGlmCi0j
aWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkgJiYgVVNFKE9QRU5HTF9FU18yKQor
I2lmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oTklYKSkgJiYg
VVNFKE9QRU5HTF9FU18yKQogI2RlZmluZSBURVhNQVBfT1BFTkdMX0VTXzIKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAppbmRleCBkMmI2ZjUyZjkzYzk0
YzJiZjMzN2M4ZTM5ZmJiYmNlMTk3ODU4ZGFmLi5mOWUyMjE5MDA5MmJmOWM4NTZiZmE1ZjRiZTZi
ZWE1MzMzZTMyY2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBh
Y2thZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAK
QEAgLTE3Nyw3ICsxNzcsNyBAQCBQYXNzUmVmUHRyPFBsdWdpblBhY2thZ2U+IFBsdWdpblBhY2th
Z2U6OmNyZWF0ZVBhY2thZ2VGcm9tQ2FjaGUoY29uc3QgU3RyaW5nJiBwYQogfQogI2VuZGlmCiAK
LSNpZiBkZWZpbmVkKFhQX1VOSVgpCisjaWYgZGVmaW5lZChYUF9VTklYKSAmJiAhUExBVEZPUk0o
TklYKQogdm9pZCBQbHVnaW5QYWNrYWdlOjpkZXRlcm1pbmVRdWlya3MoY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSkKIHsKICAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNKYXZhQXBwbGV0TUlNRVR5
cGUobWltZVR5cGUpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
blZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCA0
YjUwNDhhNGYwZWNmYjk4NjUzNTkzNDFkZGNhMWFjODhjY2M3NmNjLi42YTVkZTJlODI0ZGY5MGUx
MDVkYjk0YTQ2YWRhMTMzMDQ5MDI1ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5jcHAKQEAgLTgzMCw3ICs4MzAsNyBAQCBQbHVnaW5WaWV3OjpQbHVnaW5WaWV3KEZyYW1lKiBw
YXJlbnRGcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgUGx1Z2luUGFja2FnZSogcAogICAgICwg
bV93bVByaW50SERDKDApCiAgICAgLCBtX2hhdmVVcGRhdGVkUGx1Z2luV2lkZ2V0KGZhbHNlKQog
I2VuZGlmCi0jaWYgKFBMQVRGT1JNKFFUKSAmJiBPUyhXSU5ET1dTKSkgfHwgUExBVEZPUk0oRUZM
KQorI2lmIChQTEFURk9STShRVCkgJiYgT1MoV0lORE9XUykpIHx8IFBMQVRGT1JNKEVGTCkgfHwg
UExBVEZPUk0oTklYKQogICAgICwgbV93aW5kb3coMCkKICNlbmRpZgogI2lmIGRlZmluZWQoWFBf
TUFDT1NYKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCAzOWMwYWEyZmYwNTVl
OWRiMGFhNjhlNGE3YTI3MjM3ODIxNzlkYjU3Li5jMjQ1ZDMxZjBiMTU2YjJhYWEwODkyZDBlOGM4
YTQwODE2ODkwZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZp
ZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtMzY5LDcg
KzM2OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2hhdmVVcGRhdGVk
UGx1Z2luV2lkZ2V0OwogI2VuZGlmCiAKLSNpZiAoKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
UVQpKSAmJiBPUyhXSU5ET1dTKSkgfHwgUExBVEZPUk0oRUZMKQorI2lmICgoUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShRVCkpICYmIE9TKFdJTkRPV1MpKSB8fCBQTEFURk9STShFRkwpIHx8IFBM
QVRGT1JNKE5JWCkKICAgICAgICAgLy8gT24gTWFjIE9TWCBhbmQgUXQvV2luZG93cyB0aGUgcGx1
Z2luIGRvZXMgbm90IGhhdmUgaXRzIG93biBuYXRpdmUgd2lkZ2V0LAogICAgICAgICAvLyBidXQg
aXMgdXNpbmcgdGhlIGNvbnRhaW5pbmcgd2luZG93IGFzIGl0cyByZWZlcmVuY2UgZm9yIHBvc2l0
aW9uaW5nL3BhaW50aW5nLgogICAgICAgICBQbGF0Zm9ybVBsdWdpbldpZGdldCBtX3dpbmRvdzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlld05vbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Tm9uZS5jcHAKaW5kZXggMGM5NDVmYjY0
YmJhNmRlNDJiYTg5N2QzMjc1ZmVmZjRkNWYyYmFiZS4uNDk4YWI3NmJhYzZiMTFjNmQ2YjU1ZGIy
NTU5ZDQ3NTYxZDIyMGI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5WaWV3Tm9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Tm9u
ZS5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmhhbmRsZUZvY3VzT3V0
RXZlbnQoKQogLy8gcG9ydHMgdXNpbmcgUGx1Z2luVmlldywgYnV0IHVudGlsIHRoZW4sIGlmIG5l
dyBmdW5jdGlvbnMgbGlrZSB0aGlzIGFyZSAKIC8vIGFkZGVkLCBwbGVhc2UgbWFrZSBzdXJlIHRo
ZXkgaGF2ZSB0aGUgcHJvcGVyIHBsYXRmb3JtICNpZnMgc28gdGhhdCBjaGFuZ2VzCiAvLyBkbyBu
b3QgYnJlYWsgcG9ydHMgd2hvIGNvbXBpbGUgYm90aCB0aGlzIGZpbGUgYW5kIFBsdWdpblZpZXcu
Y3BwLiAgIAotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oRUZMKSB8fCAoT1MoV0lOQ0Up
ICYmICFQTEFURk9STShRVCkpIHx8IChQTEFURk9STShRVCkgJiYgIU9TKFdJTkNFKSkKKyNpZiBQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEVGTCkgfHwgKE9TKFdJTkNFKSAmJiAhUExBVEZPUk0o
UVQpKSB8fCAoUExBVEZPUk0oUVQpICYmICFPUyhXSU5DRSkpIHx8IFBMQVRGT1JNKE5JWCkKICNp
ZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZl
KE5QUCkKIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>