<?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>95107</bug_id>
          
          <creation_ts>2012-08-27 11:23:57 -0700</creation_ts>
          <short_desc>Split LayoutTypes.h to improve compile time</short_desc>
          <delta_ts>2013-01-25 15:37:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>95310</dependson>
    
    <dependson>95356</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter>nbhargava</reporter>
          <assigned_to>nbhargava</assigned_to>
          <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>japhet</cc>
    
    <cc>leviw</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>705425</commentid>
    <comment_count>0</comment_count>
    <who name="">nbhargava</who>
    <bug_when>2012-08-27 11:23:57 -0700</bug_when>
    <thetext>Split LayoutTypes.h to improve compile time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705430</commentid>
    <comment_count>1</comment_count>
      <attachid>160755</attachid>
    <who name="">nbhargava</who>
    <bug_when>2012-08-27 11:26:37 -0700</bug_when>
    <thetext>Created attachment 160755
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705519</commentid>
    <comment_count>2</comment_count>
      <attachid>160755</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-27 12:30:36 -0700</bug_when>
    <thetext>Comment on attachment 160755
Patch

I&apos;m not a huge fan of the new name.  LayoutTypes was already kinda the catch-all for these types.  I might have gone the other way and moved the functions out into a new header.  LayoutTypesInlines.h or similar?  Lets poll eae/smfr (sadly levi is on vacation).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705520</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-27 12:31:14 -0700</bug_when>
    <thetext>Aside from the (to me) awkward naming, the change looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705674</commentid>
    <comment_count>4</comment_count>
      <attachid>160806</attachid>
    <who name="">nbhargava</who>
    <bug_when>2012-08-27 14:23:25 -0700</bug_when>
    <thetext>Created attachment 160806
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705681</commentid>
    <comment_count>5</comment_count>
      <attachid>160806</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-27 14:35:25 -0700</bug_when>
    <thetext>Comment on attachment 160806
Patch

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

Actually, I went to go find other Inlines.h examples for you, and foudn they&apos;re all called &quot;*InlineMethods.h&quot;  Seems we should match that pattern here.  (LayoutTypesInlineMethods.h would be the name.)

Again, this is ready for r+, but the misplaced comment seems confusing.  Since we&apos;re going one more round for the comment, if you could change the name one more time that would be ideal.  Sorry for the run-around. :(

&gt; Source/WebCore/rendering/LayoutTypesInline.h:34
&gt; +// These typedefs are being used to abstract layout and hit testing off
&gt; +// of integers and eventually replace them with floats. Once this transition
&gt; +// is complete, these types will be removed. Progress can be tracked at
&gt; +// https://bugs.webkit.org/show_bug.cgi?id=60318

This seems misplaced?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705682</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-27 14:35:51 -0700</bug_when>
    <thetext>Once again, I really apprecaite your work on compile times.  They make us all more productive in the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705686</commentid>
    <comment_count>7</comment_count>
      <attachid>160806</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-08-27 14:38:32 -0700</bug_when>
    <thetext>Comment on attachment 160806
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        as many things. (Parts from LayoutTypes.h are expensive to include)

It would be nice to mention which parts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705774</commentid>
    <comment_count>8</comment_count>
      <attachid>160827</attachid>
    <who name="">nbhargava</who>
    <bug_when>2012-08-27 15:34:30 -0700</bug_when>
    <thetext>Created attachment 160827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705779</commentid>
    <comment_count>9</comment_count>
      <attachid>160827</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-27 15:36:41 -0700</bug_when>
    <thetext>Comment on attachment 160827
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705837</commentid>
    <comment_count>10</comment_count>
      <attachid>160827</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-27 16:13:33 -0700</bug_when>
    <thetext>Comment on attachment 160827
Patch

Clearing flags on attachment: 160827

Committed r126816: &lt;http://trac.webkit.org/changeset/126816&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705838</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-27 16:13:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706426</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-28 09:39:35 -0700</bug_when>
    <thetext>Did you measure how much this improves compile times, or was this based on intuition?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706449</commentid>
    <comment_count>13</comment_count>
    <who name="">nbhargava</who>
    <bug_when>2012-08-28 09:51:51 -0700</bug_when>
    <thetext>A bit of both (though all of my hard measurements are based off of a Chromium build). LayoutTypes and all of its nested #includes take roughly 0.7s to compile. LayoutTypes is included in a lot of high-use header files, such as Node.h, but in reality the only thing that most header files needs from LayoutTypes.h is a declaration of LayoutUnit, LayoutRect, etc.

The inline methods are the only part of LayoutTypes.h that actually need full definitions of what the Layout elements amount to. Eliminating the inclusions of FractionalLayoutRect, FloatRect, etc. from files that didn&apos;t need them led to a decrease in aggregate CPU time by 4-5 minutes (so a fully serialized Chromium build would be 5 minutes faster).

I haven&apos;t explicitly measured the results on just a WebKit build, but I&apos;d imagine that there would be some similar benefit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706455</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-28 09:56:14 -0700</bug_when>
    <thetext>Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707215</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-29 01:37:12 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 95310</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707246</commentid>
    <comment_count>16</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-08-29 02:52:17 -0700</bug_when>
    <thetext>Thanks Nikhil! If you have any other ideas of how we can reduce the compile time penalty for LayoutTypes until we remove the abstraction please do tell.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816963</commentid>
    <comment_count>17</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2013-01-25 15:37:57 -0800</bug_when>
    <thetext>Marking as invalid as LayoutTypes.h is no more.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160755</attachid>
            <date>2012-08-27 11:26:37 -0700</date>
            <delta_ts>2012-08-27 14:23:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95107-20120827112629.patch</filename>
            <type>text/plain</type>
            <size>19329</size>
            <attacher>nbhargava</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2QwZWM4ZDNmNjAwZTU2
NTFmOWZiNDYzYWFkZGZhNTRmYzM5N2NjZC4uMjhkOTg2OTM3NjQ0MGY2ZjFhZDkwZjk5NjdhZWE4
NGQ0OGFiYzRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA4LTI3ICBOaWto
aWwgQmhhcmdhdmEgIDxuYmhhcmdhdmFAZ29vZ2xlLmNvbT4KKworICAgICAgICBTcGxpdCBMYXlv
dXRUeXBlcy5oIHRvIGltcHJvdmUgY29tcGlsZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSB0eXBlZGVmcyBmcm9tIExheW91dFR5cGVzLmgg
YXJlIG1vdmVkIHRvIExheW91dFR5cGVzRGVmLmguIEZpbGVzCisgICAgICAgIHRoYXQgb25seSBu
ZWVkIHRoZSB0eXBlcyB0byBiZSBmb3J3YXJkIGRlY2xhcmVkLCBkb24ndCBuZWVkIHRvIGluY2x1
ZGUKKyAgICAgICAgYXMgbWFueSB0aGluZ3MuIChQYXJ0cyBmcm9tIExheW91dFR5cGVzLmggYXJl
IGV4cGVuc2l2ZSB0byBpbmNsdWRlKQorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gRnVuY3Rpb25h
bGl0eSBzaG91bGQgYmUgdGhlIHNhbWUuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgICogY3Nz
L0xlbmd0aEZ1bmN0aW9ucy5jcHA6CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJv
bGxlci5oOgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvck92ZXJsYXkuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaDoKKyAgICAg
ICAgKiBsb2FkZXIvU3ViZnJhbWVMb2FkZXIuaDoKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJv
bGxlci5oOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL0xlbmd0
aC5oOgorICAgICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXgu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL0ZpeGVkVGFibGVMYXlvdXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdGlu
Z1RyYW5zZm9ybVN0YXRlLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvTGF5b3V0VHlwZXMuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvTGF5b3V0VHlwZXNEZWYuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5oOgorICAgICAgICAqIHJlbmRl
cmluZy9UZXh0QXV0b3NpemVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0Rh
dGEuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1NWR1JlbmRlclN1cHBvcnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmlu
Z0NvbnRleHQuaDoKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaDoKKwogMjAxMi0w
OC0yNCAgQW5pc2ggQmhheWFuaSAgPGFuaXNoLmJoYXlhbmlAZ21haWwuY29tPgogCiAgICAgICAg
IHdlYmtpdC1pbWFnZS1zZXQoKSBmdW5jdGlvbiBub3Qgc2hvd2luZyB1cCB3aGVuIGNvbXB1dGlu
ZyBiYWNrZ3JvdW5kIHByb3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYTU1MjVlZTZlNWQxNDY4
YTU2ZDRkY2JmMTJkZWY3NTcyZDY3NmY4MS4uYWQ1YjA1M2Y2ZDE2MDI0MTIzZjM0NGQ2NmZhZmNi
NGNjMzg0MDg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNTUxLDYgKzU1MSw3IEBACiAgICAgICAg
ICAgICAncmVuZGVyaW5nL0lubGluZVRleHRCb3guaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5n
L0xheW91dFN0YXRlLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9MYXlvdXRUeXBlcy5oJywK
KyAgICAgICAgICAgICdyZW5kZXJpbmcvTGF5b3V0VHlwZXNEZWYuaCcsCiAgICAgICAgICAgICAn
cmVuZGVyaW5nL0xheW91dFJlcGFpbnRlci5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvT3Zl
cmxhcFRlc3RSZXF1ZXN0Q2xpZW50LmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9QYWdpbmF0
aW9uLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaAppbmRleCBlYTc3YWU0OGIyODYzNzgzZjYwZjQ3Y2RhNTAyMGRkZjUzODQ1NjNi
Li45MzhlZjExNTNlMDk1MWRmOTZhNzMwMmJhMTI5ZmQxNjA5MmJlMDAyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtMzEs
NyArMzEsOCBAQAogI2RlZmluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0X2gKIAogI2luY2x1ZGUgIkZs
b2F0UXVhZC5oIgotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVkZSAiRnJhY3Rpb25h
bExheW91dFJlY3QuaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBlc0RlZi5oIgogI2luY2x1ZGUgIlZp
c2libGVQb3NpdGlvbi5oIgogI2luY2x1ZGUgIlZpc2libGVTZWxlY3Rpb24uaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0aEZ1
bmN0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVuZ3RoRnVuY3Rpb25zLmNwcAppbmRl
eCBlNmIyYWJmZjkzMGNiZjAyNTk1YWQwM2Q1M2JmNzQwY2E4ZjY2M2JlLi45NzcyZTVlZGJlNzZm
NTNjMmU1YmVhMjA4YmE0MjZjYThmMDQ5M2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvTGVuZ3RoRnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVuZ3RoRnVu
Y3Rpb25zLmNwcApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkxlbmd0aEZ1bmN0aW9ucy5oIgogCisjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKICNpbmNs
dWRlICJMZW5ndGguaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAppbmRleCA4ZGQyYjA0ZmYwNzFiYjlh
NjAxZjQwMWYxMDcxYWY2ODA5M2Q4ZmZiLi4yNmFmMTI3MTZkMDZmNmU5YzIwZjllYjE0YjI2NTJj
YmEwN2QwOWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJD
b250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJv
bGxlci5oCkBAIC0yOCw3ICsyOCw4IEBACiAjZGVmaW5lIERvY3VtZW50TWFya2VyQ29udHJvbGxl
cl9oCiAKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlci5oIgotI2luY2x1ZGUgIkxheW91dFR5cGVz
LmgiCisjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgIkxheW91dFR5cGVzRGVmLmgiCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5oCmluZGV4IDQzOWFhOTM2YTlkMzRjMmQ5MTQ3MjdlOGE0ZmU3MzQxMzRmNGVmMDguLjJiNWNj
YmE1M2EyY2Y5ZGM3MTg5OThhOGNiNzE4M2FhZWYxNGE4NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMjgs
OCArMjgsOSBAQAogI2luY2x1ZGUgIkVkaXRpbmdCb3VuZGFyeS5oIgogI2luY2x1ZGUgIkV2ZW50
VGFyZ2V0LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgiCisjaW5jbHVk
ZSAiRnJhY3Rpb25hbExheW91dFJlY3QuaCIKICNpbmNsdWRlICJLVVJMSGFzaC5oIgotI2luY2x1
ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVkZSAiTGF5b3V0VHlwZXNEZWYuaCIKICNpbmNsdWRl
ICJNdXRhdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIK
ICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yT3ZlcmxheS5oCmluZGV4IGFjMjJmZjFjM2M2ZTczZDUxZjY2YjdhZWVjMWY5YmJl
MjIwZjhkYzAuLmNkNWE2MjA5YmUxMWE3ZWU0NTY3OWI3ZDM2N2E3OWQ5YWM4ZjIyNGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuaApAQCAtMzEsNyArMzEs
NyBAQAogCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKLSNpbmNs
dWRlICJMYXlvdXRUeXBlcy5oIgorI2luY2x1ZGUgIkxheW91dFR5cGVzRGVmLmgiCiAjaW5jbHVk
ZSAiTm9kZS5oIgogCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggNjFlOGRkYzAwZTA0
ODQ1NGMyYzNjMmU3MjJkYTU4Zjc0OWFjY2NjNy4uNGM0YTMwZGMxMzA4ZDE5NzUzYzdhM2I5NWY2
OWE4NTRhZWRhOWYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5oCkBAIC0zNiw3ICszNiw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9y
QmFzZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JWYWx1ZXMuaCIKLSNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgorI2luY2x1ZGUgIkxh
eW91dFR5cGVzRGVmLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1JbnN0cnVtZW50YXRpb24uaCIKICNp
bmNsdWRlICJTY3JpcHRHQ0V2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0R0NFdmVudExpc3RlbmVy
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRG
YWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5
LmgKaW5kZXggNjljMTA0YmQyZmI2YmY3YWVlNTk3ODhmMmRlMjBhMGFiNDc3NDhiYS4uZWRhYmMx
MzM1ZDNjNzQ3ZmRiNjg5NTMyYTFhYzQyY2FlZjljNTIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaApAQCAtMzEsNyArMzEsNyBAQAog
I2lmbmRlZiBUaW1lbGluZVJlY29yZEZhY3RvcnlfaAogI2RlZmluZSBUaW1lbGluZVJlY29yZEZh
Y3RvcnlfaAogCi0jaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBl
c0RlZi5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggNzRhMTY2ODcyNTM1
YjcwZGFkMjc2ZjFlZDc1NjJhOWRmYWE2MTNiOS4uNGFkNmMxNjA1ZjNkNWU3MDE5NjE4MWZjMDA3
Zjg1MDgzZDg2NzJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1l
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAg
LTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgU3ViZnJhbWVMb2FkZXJfaAogCiAjaW5jbHVkZSAiRnJh
bWVMb2FkZXJUeXBlcy5oIgotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAppbmRleCBjYjkwZjk2
OTRmZWY0NWU1MDkwZjUxM2JhMjczMTM0ZmZjMjU4NjlmLi4zOWMzYjRlYjNhNTljNGVhMWNkOTNl
ODk2ODBjMjJiNGEyMDhiZTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3Vz
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgK
QEAgLTI3LDcgKzI3LDcgQEAKICNkZWZpbmUgRm9jdXNDb250cm9sbGVyX2gKIAogI2luY2x1ZGUg
IkZvY3VzRGlyZWN0aW9uLmgiCi0jaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKKyNpbmNsdWRlICJM
YXlvdXRUeXBlc0RlZi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRl
eCAyYmE3MjJhY2M3MzQ1YjgyZWQ2NDkyMjdjNDkyMWQyNTVlYzFlMjVmLi4yYTcxNjUzZjVhZDdm
ZGIyMWM1NDkxMTNhYjYyNGIzYmNlYmNhM2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjMsNyArMjMs
NyBAQAogCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgogI2luY2x1ZGUgIkZpbmRPcHRp
b25zLmgiCi0jaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBlc0Rl
Zi5oIgogI2luY2x1ZGUgIlBhZ2VWaXNpYmlsaXR5U3RhdGUuaCIKICNpbmNsdWRlICJQYWdpbmF0
aW9uLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TY3JlZW4uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3Ro
LmgKaW5kZXggMTRjYmYwNjZiYzE4ZTY3MDA4N2FmOGQyYTY1MzNhZmI3OTM2MzFkNy4uZGJkZTk2
MzAzZTliMzk4MDRhN2JkZjFiMmYzYjE1ODNiZDRmYmUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVu
Z3RoLmgKQEAgLTI0LDcgKzI0LDYgQEAKICNkZWZpbmUgTGVuZ3RoX2gKIAogI2luY2x1ZGUgIkFu
aW1hdGlvblV0aWxpdGllcy5oIgotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
b3B1cE1lbnVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVu
dC5oCmluZGV4IGJmYTI0YWMxYjFmZjA4MDlhYjFhOTg5YTEzZjBmNmU0NmUzN2FlNGUuLmM4ZDRl
NjliZGFiZTAyNWM2YTI5YTE5ZWU3ZDI3ODk1MjQ1MDMzMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCkBAIC0yMiw3ICsyMiw3IEBACiAjaWZuZGVmIFBvcHVw
TWVudUNsaWVudF9oCiAjZGVmaW5lIFBvcHVwTWVudUNsaWVudF9oCiAKLSNpbmNsdWRlICJMYXlv
dXRUeXBlcy5oIgorI2luY2x1ZGUgIkxheW91dFR5cGVzRGVmLmgiCiAjaW5jbHVkZSAiUG9wdXBN
ZW51U3R5bGUuaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCmluZGV4IDUzMDM4
YjRlZTBjZTUzMzFlMzRjMjIxMmY5YmYyMTY0OTkwZWY2YWMuLjQ5NWIxNWY4YjY3MzNmNTBhODI2
MWQyZThhM2Q4YzI1ODczNjAwZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRy
aXguY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludDNELmgiCiAjaW5j
bHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCisjaW5jbHVkZSAiRnJh
Y3Rpb25hbExheW91dFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4
IGNhNjhjNTdhYTJkNGJjY2FhMjUxMGU1N2FjZjdlMTA0OGQ3OWU3NjUuLmNkMWRiNWUwMzBiMzY2
NTIzMjBiYzg1ZDc2YjY3ZDEwNDJjODcwYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9u
TWF0cml4LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgVHJhbnNmb3JtYXRpb25NYXRyaXhf
aAogCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgotI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRS
ZWN0LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy9mb3Ig
bWVtY3B5CiAjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9BdXRvVGFibGVMYXlvdXQuaAppbmRleCA5ZjYxMjBhOWEwZjA3NzIxNzIzMWM0MzAw
MTk4NGQ4Y2VjNDY2OTIzLi4yODJkOTViM2QyZTZhOGI3ZGJiYzAwMjQyMDJjYWU3MzU0NzM0YWJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5oCkBAIC0yMSw3
ICsyMSw3IEBACiAjaWZuZGVmIEF1dG9UYWJsZUxheW91dF9oCiAjZGVmaW5lIEF1dG9UYWJsZUxh
eW91dF9oCiAKLSNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgorI2luY2x1ZGUgIkxheW91dFR5cGVz
RGVmLmgiCiAjaW5jbHVkZSAiTGVuZ3RoLmgiCiAjaW5jbHVkZSAiVGFibGVMYXlvdXQuaCIKICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvRml4ZWRUYWJsZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ZpeGVkVGFi
bGVMYXlvdXQuaAppbmRleCBmMWQ5ZDAyYjU3YzE2MzBlMDAzMTgyYjE4MWNiNWZjYTg0Y2RmOWFh
Li4yM2M5MGUwYTRjNjRiODNhMWE4MjMyNjljMjNiZjIyNTY3NWU1MGI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRml4ZWRUYWJsZUxheW91dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9GaXhlZFRhYmxlTGF5b3V0LmgKQEAgLTIxLDcgKzIxLDcgQEAKICNp
Zm5kZWYgRml4ZWRUYWJsZUxheW91dF9oCiAjZGVmaW5lIEZpeGVkVGFibGVMYXlvdXRfaAogCi0j
aW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBlc0RlZi5oIgogI2lu
Y2x1ZGUgIkxlbmd0aC5oIgogI2luY2x1ZGUgIlRhYmxlTGF5b3V0LmgiCiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3Rp
bmdUcmFuc2Zvcm1TdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdGlu
Z1RyYW5zZm9ybVN0YXRlLmNwcAppbmRleCA2ZDljYzc2Mjk3Y2IxMmEyZDM5NzdkOTdmODcyZWUy
MDJmNDg1OTA0Li42ZDZjMzNlOTE4OGM1ZDE2OTZjYzIwMWEwMGFjNGU2ZWFkOTVjMGQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdGluZ1RyYW5zZm9ybVN0
YXRlLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIgogCisjaW5jbHVkZSAiRnJhY3Rpb25hbExheW91
dFJlY3QuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRUeXBlcy5oCmluZGV4IDUxOTY3ZjhlOTdj
YmY1ZDJhYWY5YzQ2ZDQxMzJhMTRhOTU2MGE5ZWUuLmU0ZDJjZGZiODJiYmZjNmNhOTllNjUwNjcz
YTI2NzdjNjVjMzYyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlv
dXRUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRUeXBlcy5oCkBA
IC00MSwyMSArNDEsMTIgQEAKICNpbmNsdWRlICJGcmFjdGlvbmFsTGF5b3V0UmVjdC5oIgogI2lu
Y2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRVbml0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgorI2lu
Y2x1ZGUgIkxheW91dFR5cGVzRGVmLmgiCiAKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXR5cGVkZWYgRnJhY3Rpb25hbExheW91dFVuaXQgTGF5
b3V0VW5pdDsKLXR5cGVkZWYgRnJhY3Rpb25hbExheW91dFBvaW50IExheW91dFBvaW50OwotdHlw
ZWRlZiBGcmFjdGlvbmFsTGF5b3V0U2l6ZSBMYXlvdXRTaXplOwotdHlwZWRlZiBGcmFjdGlvbmFs
TGF5b3V0UmVjdCBMYXlvdXRSZWN0OwotdHlwZWRlZiBGcmFjdGlvbmFsTGF5b3V0Qm94RXh0ZW50
IExheW91dEJveEV4dGVudDsKLQotI2RlZmluZSBNQVhfTEFZT1VUX1VOSVQgTGF5b3V0VW5pdDo6
bWF4KCkKLSNkZWZpbmUgTUlOX0xBWU9VVF9VTklUIExheW91dFVuaXQ6Om1pbigpCi0jZGVmaW5l
IFpFUk9fTEFZT1VUX1VOSVQgTGF5b3V0VW5pdCgwKQotCiBpbmxpbmUgRnJhY3Rpb25hbExheW91
dFJlY3QgZW5jbG9zaW5nTGF5b3V0UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7CiAgICAg
cmV0dXJuIGVuY2xvc2luZ0ludFJlY3QocmVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXNEZWYuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9M
YXlvdXRUeXBlc0RlZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjM2Y1ZDQxMzFlZTkxYTU0NjFhNDZhNTFmOGQw
Yjc5NzQ1ZWRhNGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
TGF5b3V0VHlwZXNEZWYuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gVGhlc2UgdHlwZWRlZnMgYXJlIGJl
aW5nIHVzZWQgdG8gYWJzdHJhY3QgbGF5b3V0IGFuZCBoaXQgdGVzdGluZyBvZmYKKy8vIG9mIGlu
dGVnZXJzIGFuZCBldmVudHVhbGx5IHJlcGxhY2UgdGhlbSB3aXRoIGZsb2F0cy4gT25jZSB0aGlz
IHRyYW5zaXRpb24KKy8vIGlzIGNvbXBsZXRlLCB0aGVzZSB0eXBlcyB3aWxsIGJlIHJlbW92ZWQu
IFByb2dyZXNzIGNhbiBiZSB0cmFja2VkIGF0CisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjAzMTgKKworI2lmbmRlZiBMYXlvdXRUeXBlc0RlZl9oCisjZGVmaW5l
IExheW91dFR5cGVzRGVmX2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGcmFjdGlv
bmFsTGF5b3V0Qm94RXh0ZW50OworY2xhc3MgRnJhY3Rpb25hbExheW91dFBvaW50OworY2xhc3Mg
RnJhY3Rpb25hbExheW91dFJlY3Q7CitjbGFzcyBGcmFjdGlvbmFsTGF5b3V0U2l6ZTsKK2NsYXNz
IEZyYWN0aW9uYWxMYXlvdXRVbml0OworCit0eXBlZGVmIEZyYWN0aW9uYWxMYXlvdXRCb3hFeHRl
bnQgTGF5b3V0Qm94RXh0ZW50OwordHlwZWRlZiBGcmFjdGlvbmFsTGF5b3V0UG9pbnQgTGF5b3V0
UG9pbnQ7Cit0eXBlZGVmIEZyYWN0aW9uYWxMYXlvdXRSZWN0IExheW91dFJlY3Q7Cit0eXBlZGVm
IEZyYWN0aW9uYWxMYXlvdXRTaXplIExheW91dFNpemU7Cit0eXBlZGVmIEZyYWN0aW9uYWxMYXlv
dXRVbml0IExheW91dFVuaXQ7CisKKyNkZWZpbmUgTUFYX0xBWU9VVF9VTklUIExheW91dFVuaXQ6
Om1heCgpCisjZGVmaW5lIE1JTl9MQVlPVVRfVU5JVCBMYXlvdXRVbml0OjptaW4oKQorI2RlZmlu
ZSBaRVJPX0xBWU9VVF9VTklUIExheW91dFVuaXQoMCkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gTGF5b3V0VHlwZXNEZWZfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVudUxpc3QuaAppbmRleCAyOTVlMjQyMWM3ZjNlZDMyOWFjNWEzZGYyNmFiMzhkOTdh
NDNlZTA3Li43YWE5M2FiY2M2MDI3NWE5OGRhZDliOTBjMmExNzljYzQzY2ZhNTRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaApAQCAtMjQsNyArMjQsNyBAQAog
I2lmbmRlZiBSZW5kZXJNZW51TGlzdF9oCiAjZGVmaW5lIFJlbmRlck1lbnVMaXN0X2gKIAotI2lu
Y2x1ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVkZSAiTGF5b3V0VHlwZXNEZWYuaCIKICNpbmNs
dWRlICJQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJQb3B1cE1lbnVDbGllbnQuaCIKICNpbmNsdWRl
ICJSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5oCmluZGV4IDgwYWVjYTk1Mjcw
YjZlNmZmMzJlNWY3N2Y3MDUxODI0ODM1YmVhODkuLjg2NWIwNDU0ZGE3Y2Y4MzU4ODZhZDA3ODQ1
OTA4NDZmN2M0MjJiODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUNocm9taXVtQ29tbW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1Db21tb24uaApAQCAtMjcsNyArMjcsNyBAQAogI2lmbmRlZiBSZW5k
ZXJUaGVtZUNocm9taXVtQ29tbW9uX2gKICNkZWZpbmUgUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1v
bl9oCiAKLSNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgorI2luY2x1ZGUgIkxheW91dFR5cGVzRGVm
LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oCmluZGV4IGM4YWRl
MDBmN2JlNzZmZDk3Nzc0ZmUwZDRkNGM5NmVlMDZkYjYxZjIuLmFlOWZkODM2M2U0YzAwNjQxZjQ3
YTExOWE5YjgwZTY2YzZjMTcwMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9UZXh0QXV0b3NpemVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRv
c2l6ZXIuaApAQCAtMjgsNyArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykK
IAotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TaGFkb3dEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TaGFkb3dEYXRhLmNwcAppbmRleCBmMzBkODdmMmJiZDUyMTdlYThiNTU4ZjFlZWY0ZjdlYmUy
NGI0NTJiLi4zZmMwYWMzODYxYjU3YmMyNDg2NjRiZjM2ZTcwMzVjZGNjNzg1MGM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuY3BwCkBAIC0yMiw2ICsy
Miw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hhZG93RGF0YS5oIgogCisj
aW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1NoYWRvd0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRh
LmgKaW5kZXggYjhkZjk1ZDg4MTU1NTYxNGFjYTZlNjcyNTMwYWVlMDUwN2Y0NmEzZS4uYzhmZGY1
ODY4MTg2MDhkY2Y1MTQxYjNkM2IxNmZhY2M0ODlhZWJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBAIC0yNiw3ICsyNiw4IEBACiAjZGVmaW5lIFNo
YWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlICJMYXlvdXRUeXBlcy5o
IgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIkxheW91dFR5cGVzRGVmLmgiCiAj
aW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oCmluZGV4IDg2OTI4YjY4
Y2NjZWMxYjkxNTM1YzFkY2YwODYxY2RjNGExMWJkMDkuLjhiMjY2YzJjMWI4YjY3YzJhNGI3MTZk
ZmUyODA0OTJhYmQ1ZmZmMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9XcmFwU2hhcGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dy
YXBTaGFwZXMuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIldpbmRSdWxlLmgiCiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmgKaW5kZXggYjYyY2NmYjJmMTg1
ZTlmOGYwY2VmNmY1ODFmYmMxODAzNjE4OGYxMC4uYmJiNDU2OGFlNWU1MjA0NDdiMjQ0OGZlNTk5
NjI1YzI4NjEzODQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJTdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZW5kZXJTdXBwb3J0LmgKQEAgLTI1LDcgKzI1LDcgQEAKICNkZWZpbmUgU1ZHUmVuZGVyU3VwcG9y
dF9oCiAKICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVk
ZSAiTGF5b3V0VHlwZXNEZWYuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRl
cmluZ0NvbnRleHQuaAppbmRleCA1ZDM4Y2U0OTUwNTA5M2RiZDgzYmU0MzlkYWQwYjA5NDc0MzMy
YjBjLi5jODgxNjg5Njg4ZjExMjQ0MzU2NzJmMTlhNDIyZWU3ODk3M2ZmYWE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaApAQCAt
MjcsNyArMjcsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5o
IgotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmgKaW5k
ZXggZTYzZDY0MWE2NzM1NzA1ZjA4ODkyOTc3N2RiMWE3NmRhNmYwZDg5MS4uYjM2MzFiZjM3NDFl
MTAyNmY1ZWQ4MTcyZWViNzhmOWI0MDg0N2RmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNz
L1NWR0ltYWdlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpZiBFTkFCTEUoU1ZHKQogCiAjaW5jbHVk
ZSAiSW1hZ2UuaCIKLSNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160806</attachid>
            <date>2012-08-27 14:23:25 -0700</date>
            <delta_ts>2012-08-27 15:34:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95107-20120827142317.patch</filename>
            <type>text/plain</type>
            <size>23759</size>
            <attacher>nbhargava</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2QwZWM4ZDNmNjAwZTU2
NTFmOWZiNDYzYWFkZGZhNTRmYzM5N2NjZC4uNjg0YTUyMGY3MjBkNmVjYmYwNmE4ZDc5NmJhM2U4
ODk2MTY1MzliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA4LTI3ICBOaWto
aWwgQmhhcmdhdmEgIDxuYmhhcmdhdmFAZ29vZ2xlLmNvbT4KKworICAgICAgICBTcGxpdCBMYXlv
dXRUeXBlcy5oIHRvIGltcHJvdmUgY29tcGlsZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBpbmxpbmVzIGZyb20gTGF5b3V0VHlwZXMuaCBh
cmUgbW92ZWQgdG8gTGF5b3V0VHlwZXNJbmxpbmUuaC4gRmlsZXMKKyAgICAgICAgdGhhdCBvbmx5
IG5lZWQgdGhlIHR5cGVzIHRvIGJlIGZvcndhcmQgZGVjbGFyZWQsIGRvbid0IG5lZWQgdG8gaW5j
bHVkZQorICAgICAgICBhcyBtYW55IHRoaW5ncy4gKFBhcnRzIGZyb20gTGF5b3V0VHlwZXMuaCBh
cmUgZXhwZW5zaXZlIHRvIGluY2x1ZGUpCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBGdW5jdGlv
bmFsaXR5IHNob3VsZCBiZSB0aGUgc2FtZS4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKiBj
c3MvTGVuZ3RoRnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyLmg6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yT3ZlcmxheS5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oOgorICAg
ICAgICAqIGxvYWRlci9TdWJmcmFtZUxvYWRlci5oOgorICAgICAgICAqIHBhZ2UvRm9jdXNDb250
cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vTGVu
Z3RoLmg6CisgICAgICAgICogcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oOgorICAgICAgICAqIHJlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvRml4ZWRUYWJsZUxheW91dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0
aW5nVHJhbnNmb3JtU3RhdGUuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9MYXlvdXRUeXBlcy5o
OgorICAgICAgICAqIHJlbmRlcmluZy9MYXlvdXRUeXBlc0lubGluZS5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU2hh
ZG93RGF0YS5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVu
ZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5oOgorCiAy
MDEyLTA4LTI0ICBBbmlzaCBCaGF5YW5pICA8YW5pc2guYmhheWFuaUBnbWFpbC5jb20+CiAKICAg
ICAgICAgd2Via2l0LWltYWdlLXNldCgpIGZ1bmN0aW9uIG5vdCBzaG93aW5nIHVwIHdoZW4gY29t
cHV0aW5nIGJhY2tncm91bmQgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBhNTUyNWVlNmU1
ZDE0NjhhNTZkNGRjYmYxMmRlZjc1NzJkNjc2ZjgxLi5mYjBjMGY5ZDI5OTg4MjNhZTllYjhjNmRl
ZWQ4YjIwZDVkMDJkNGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC01NTEsNiArNTUxLDcgQEAKICAg
ICAgICAgICAgICdyZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oJywKICAgICAgICAgICAgICdyZW5k
ZXJpbmcvTGF5b3V0U3RhdGUuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL0xheW91dFR5cGVz
LmgnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9MYXlvdXRUeXBlc0lubGluZS5oJywKICAgICAg
ICAgICAgICdyZW5kZXJpbmcvTGF5b3V0UmVwYWludGVyLmgnLAogICAgICAgICAgICAgJ3JlbmRl
cmluZy9PdmVybGFwVGVzdFJlcXVlc3RDbGllbnQuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5n
L1BhZ2luYXRpb24uaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IGVhNzdhZTQ4YjI4NjM3ODNmNjBmNDdjZGE1MDIwZGRm
NTM4NDU2M2IuLmU2NzE2NWFhNTM4ZWNjNzlmOTU0MDM0N2NiMDc3NWFjYWI4ZjQxYjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CkBAIC0zMSw2ICszMSw3IEBACiAjZGVmaW5lIEFjY2Vzc2liaWxpdHlPYmplY3RfaAogCiAjaW5j
bHVkZSAiRmxvYXRRdWFkLmgiCisjaW5jbHVkZSAiRnJhY3Rpb25hbExheW91dFJlY3QuaCIKICNp
bmNsdWRlICJMYXlvdXRUeXBlcy5oIgogI2luY2x1ZGUgIlZpc2libGVQb3NpdGlvbi5oIgogI2lu
Y2x1ZGUgIlZpc2libGVTZWxlY3Rpb24uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9MZW5ndGhGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0aEZ1bmN0aW9u
cy5jcHAKaW5kZXggZTZiMmFiZmY5MzBjYmYwMjU5NWFkMDNkNTNiZjc0MGNhOGY2NjNiZS4uOTc3
MmU1ZWRiZTc2ZjUzYzJlNWJlYTIwOGJhNDI2Y2E4ZjA0OTNmMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0xlbmd0aEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0xlbmd0aEZ1bmN0aW9ucy5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJMZW5ndGhGdW5jdGlvbnMuaCIKIAorI2luY2x1ZGUgIkxheW91dFR5cGVz
LmgiCiAjaW5jbHVkZSAiTGVuZ3RoLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggOGRkMmIw
NGZmMDcxYmI5YTYwMWY0MDFmMTA3MWFmNjgwOTNkOGZmYi4uZDlhZDAxMmI4NzVkNWZiNDE1MTNi
N2JlOTZjMTNkNjA0ODdiYWQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1h
cmtlckNvbnRyb2xsZXIuaApAQCAtMjgsNiArMjgsNyBAQAogI2RlZmluZSBEb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXJfaAogCiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXIuaCIKKyNpbmNsdWRlICJJ
bnRSZWN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDQzOWFhOTM2YTlk
MzRjMmQ5MTQ3MjdlOGE0ZmU3MzQxMzRmNGVmMDguLjg3YjUxNzgzNDI1YTY2ZTNhMDhkYTRkZmI2
NmQ5ODdiOWNjM2I0MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUg
IkVkaXRpbmdCb3VuZGFyeS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgiCisjaW5jbHVkZSAiRnJhY3Rpb25hbExheW91dFJl
Y3QuaCIKICNpbmNsdWRlICJLVVJMSGFzaC5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCiAj
aW5jbHVkZSAiTXV0YXRpb25PYnNlcnZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1RvdWNoLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVG91Y2guaAppbmRleCAxZTgwMjUzZTZl
OWNlZTVkZTczYjgxNGQwMDNmMDBlNjljMjE0MzZjLi5iMzQzMTQwNThhYmYyMDk1NTcwNDYxMzk2
MzFjMTA0Y2IwNzkwYzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVG91Y2guaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVG91Y2guaApAQCAtMjksNyArMjksNyBAQAogI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCiAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUg
IkxheW91dFR5cGVzLmgiCisjaW5jbHVkZSAiTGF5b3V0VHlwZXNJbmxpbmUuaCIKICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZy
YW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAppbmRl
eCA3NGExNjY4NzI1MzViNzBkYWQyNzZmMWVkNzU2MmE5ZGZhYTYxM2I5Li40YWQ2YzE2MDVmM2Q1
ZTcwMTk2MTgxZmMwMDdmODUwODNkODY3MmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJh
bWVMb2FkZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBTdWJmcmFtZUxvYWRlcl9oCiAK
ICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCi0jaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0xlbmd0aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXggMTRj
YmYwNjZiYzE4ZTY3MDA4N2FmOGQyYTY1MzNhZmI3OTM2MzFkNy4uZGJkZTk2MzAzZTliMzk4MDRh
N2JkZjFiMmYzYjE1ODNiZDRmYmUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKQEAgLTI0
LDcgKzI0LDYgQEAKICNkZWZpbmUgTGVuZ3RoX2gKIAogI2luY2x1ZGUgIkFuaW1hdGlvblV0aWxp
dGllcy5oIgotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KICNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuY3BwCmluZGV4IDRjMzU5ZDI0NTI1MmQ1NGEzZThmNGNiOWQzNjQxMTA4MGZlNjFlMmEu
LjhhN2Y2Njg4MTRmMTM5OWI1OGY3ZmNlMjAwOGEyNGQ0MGIyM2JmYzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC0zMSw3
ICszMSw3IEBACiAKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3ND
b250ZXh0LmgiCi0jaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBl
c0lubGluZS5oIgogI2luY2x1ZGUgIlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1
ZGUgIlRleHRTdHJlYW0uaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9y
bVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Ry
YW5zZm9ybVN0YXRlLmgKaW5kZXggYzI1ZDI2NjE5Y2ZjYTBjMjIwZmM0MWFmNWVlMzI5YTNiMjU0
YThmZC4uMzdhM2I0MTFlNjk3MmNiOWQ2MzVjY2Q0YTJkZTFmMDYxZDA3NGJhMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1T
dGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
VHJhbnNmb3JtU3RhdGUuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQu
aCIKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVk
ZSAiTGF5b3V0VHlwZXMuaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBlc0lubGluZS5oIgogI2luY2x1
ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Ry
YW5zZm9ybWF0aW9uTWF0cml4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCmluZGV4IDUzMDM4YjRlZTBjZTUz
MzFlMzRjMjIxMmY5YmYyMTY0OTkwZWY2YWMuLjQ5NWIxNWY4YjY3MzNmNTBhODI2MWQyZThhM2Q4
YzI1ODczNjAwZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCkBA
IC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludDNELmgiCiAjaW5jbHVkZSAiRmxv
YXRSZWN0LmgiCiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCisjaW5jbHVkZSAiRnJhY3Rpb25hbExh
eW91dFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IGNhNjhjNTdh
YTJkNGJjY2FhMjUxMGU1N2FjZjdlMTA0OGQ3OWU3NjUuLmNkMWRiNWUwMzBiMzY2NTIzMjBiYzg1
ZDc2YjY3ZDEwNDJjODcwYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgK
QEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgVHJhbnNmb3JtYXRpb25NYXRyaXhfaAogCiAjaW5j
bHVkZSAiRmxvYXRQb2ludC5oIgotI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRSZWN0LmgiCiAj
aW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy9mb3IgbWVtY3B5CiAj
aW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1u
SW5mby5oCmluZGV4IDU1MzU2NGM1M2I3N2EyMzQzNDU4ODFkYTU5NWQzZDIxMDk5OTMzZDYuLjdk
OGI3ZDkxZDQ4NDJjMzQxOWYzZDEwNGFiMWU0NzNlNGFjN2Q4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBDb2x1bW5JbmZv
X2gKICNkZWZpbmUgQ29sdW1uSW5mb19oCiAKLSNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgorI2lu
Y2x1ZGUgIkxheW91dFR5cGVzSW5saW5lLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdFJlc3VsdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
aAppbmRleCA5ZDE2YmYwNDIwZDc4ZDA3YTYwZjk4ZjIzZTM5ZTU5NjhhOGZlMDY4Li5hOTMyMzZh
NjNhZmI0MDVkMzEyZDQxYWU1NGMxZTI2NWNmMWQwYzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9IaXRUZXN0UmVzdWx0LmgKQEAgLTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlICJGbG9hdFF1
YWQuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVxdWVzdC5o
IgotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVkZSAiTGF5b3V0VHlwZXNJbmxpbmUu
aCIKICNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9IaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAKaW5kZXggNmQ5Y2M3NjI5N2Ni
MTJhMmQzOTc3ZDk3Zjg3MmVlMjAyZjQ4NTkwNC4uNmQ2YzMzZTkxODhjNWQxNjk2Y2MyMDFhMDBh
YzRlNmVhZDk1YzBkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRl
c3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuaCIKIAorI2luY2x1
ZGUgIkZyYWN0aW9uYWxMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0xheW91dFJlcGFpbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFJl
cGFpbnRlci5oCmluZGV4IDU3NDAwZmFlYmY3YjIwYTE2NTRjODlhODFkZGJjYjNmMTkzNWZmYjAu
LjAzY2IzZjRjMzRkZmY2YTA3YjYxZjIwZTljNzVkNmVhMWM2NDdiZTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRSZXBhaW50ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvTGF5b3V0UmVwYWludGVyLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5k
ZWYgTGF5b3V0UmVwYWludGVyX2gKICNkZWZpbmUgTGF5b3V0UmVwYWludGVyX2gKIAotI2luY2x1
ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVkZSAiTGF5b3V0VHlwZXNJbmxpbmUuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
TGF5b3V0VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRUeXBlcy5oCmlu
ZGV4IDUxOTY3ZjhlOTdjYmY1ZDJhYWY5YzQ2ZDQxMzJhMTRhOTU2MGE5ZWUuLmZmN2U2YzI3NDFl
OTU5OGI0OWIzOTVlODQwZTM1YzZkYWEyNGNjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9MYXlvdXRUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9M
YXlvdXRUeXBlcy5oCkBAIC0zNiwxMzIgKzM2LDI0IEBACiAjaWZuZGVmIExheW91dFR5cGVzX2gK
ICNkZWZpbmUgTGF5b3V0VHlwZXNfaAogCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCi0jaW5jbHVk
ZSAiRnJhY3Rpb25hbExheW91dEJveEV4dGVudC5oIgotI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlv
dXRSZWN0LmgiCi0jaW5jbHVkZSAiRnJhY3Rpb25hbExheW91dFVuaXQuaCIKLSNpbmNsdWRlICJJ
bnRSZWN0LmgiCi0KLSNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLXR5cGVkZWYgRnJhY3Rpb25hbExheW91dFVuaXQgTGF5b3V0VW5pdDsKK2NsYXNz
IEZyYWN0aW9uYWxMYXlvdXRCb3hFeHRlbnQ7CitjbGFzcyBGcmFjdGlvbmFsTGF5b3V0UG9pbnQ7
CitjbGFzcyBGcmFjdGlvbmFsTGF5b3V0UmVjdDsKK2NsYXNzIEZyYWN0aW9uYWxMYXlvdXRTaXpl
OworY2xhc3MgRnJhY3Rpb25hbExheW91dFVuaXQ7CisKK3R5cGVkZWYgRnJhY3Rpb25hbExheW91
dEJveEV4dGVudCBMYXlvdXRCb3hFeHRlbnQ7CiB0eXBlZGVmIEZyYWN0aW9uYWxMYXlvdXRQb2lu
dCBMYXlvdXRQb2ludDsKLXR5cGVkZWYgRnJhY3Rpb25hbExheW91dFNpemUgTGF5b3V0U2l6ZTsK
IHR5cGVkZWYgRnJhY3Rpb25hbExheW91dFJlY3QgTGF5b3V0UmVjdDsKLXR5cGVkZWYgRnJhY3Rp
b25hbExheW91dEJveEV4dGVudCBMYXlvdXRCb3hFeHRlbnQ7Cit0eXBlZGVmIEZyYWN0aW9uYWxM
YXlvdXRTaXplIExheW91dFNpemU7Cit0eXBlZGVmIEZyYWN0aW9uYWxMYXlvdXRVbml0IExheW91
dFVuaXQ7CiAKICNkZWZpbmUgTUFYX0xBWU9VVF9VTklUIExheW91dFVuaXQ6Om1heCgpCiAjZGVm
aW5lIE1JTl9MQVlPVVRfVU5JVCBMYXlvdXRVbml0OjptaW4oKQogI2RlZmluZSBaRVJPX0xBWU9V
VF9VTklUIExheW91dFVuaXQoMCkKIAotaW5saW5lIEZyYWN0aW9uYWxMYXlvdXRSZWN0IGVuY2xv
c2luZ0xheW91dFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQotewotICAgIHJldHVybiBlbmNs
b3NpbmdJbnRSZWN0KHJlY3QpOwotfQotCi1pbmxpbmUgTGF5b3V0U2l6ZSByb3VuZGVkTGF5b3V0
U2l6ZShjb25zdCBGbG9hdFNpemUmIHMpCi17Ci0jaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkK
LSAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFNpemUocyk7Ci0jZWxzZQotICAgIHJldHVybiBy
b3VuZGVkSW50U2l6ZShzKTsKLSNlbmRpZgotfQotCi1pbmxpbmUgSW50UmVjdCBwaXhlbFNuYXBw
ZWRJbnRSZWN0KExheW91dFVuaXQgbGVmdCwgTGF5b3V0VW5pdCB0b3AsIExheW91dFVuaXQgd2lk
dGgsIExheW91dFVuaXQgaGVpZ2h0KQotewotICAgIHJldHVybiBJbnRSZWN0KGxlZnQucm91bmQo
KSwgdG9wLnJvdW5kKCksIHNuYXBTaXplVG9QaXhlbCh3aWR0aCwgbGVmdCksIHNuYXBTaXplVG9Q
aXhlbChoZWlnaHQsIHRvcCkpOwotfQotCi1pbmxpbmUgSW50UmVjdCBwaXhlbFNuYXBwZWRJbnRS
ZWN0RnJvbUVkZ2VzKExheW91dFVuaXQgbGVmdCwgTGF5b3V0VW5pdCB0b3AsIExheW91dFVuaXQg
cmlnaHQsIExheW91dFVuaXQgYm90dG9tKQotewotICAgIHJldHVybiBJbnRSZWN0KGxlZnQucm91
bmQoKSwgdG9wLnJvdW5kKCksIHNuYXBTaXplVG9QaXhlbChyaWdodCAtIGxlZnQsIGxlZnQpLCBz
bmFwU2l6ZVRvUGl4ZWwoYm90dG9tIC0gdG9wLCB0b3ApKTsKLX0KLQotaW5saW5lIExheW91dFBv
aW50IHJvdW5kZWRMYXlvdXRQb2ludChjb25zdCBGbG9hdFBvaW50JiBwKQotewotI2lmIEVOQUJM
RShTVUJQSVhFTF9MQVlPVVQpCi0gICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRQb2ludChwKTsK
LSNlbHNlCi0gICAgcmV0dXJuIHJvdW5kZWRJbnRQb2ludChwKTsKLSNlbmRpZgotfQotCi1pbmxp
bmUgTGF5b3V0UG9pbnQgZmxvb3JlZExheW91dFBvaW50KGNvbnN0IEZsb2F0UG9pbnQmIHApCi17
Ci0gICAgcmV0dXJuIGZsb29yZWRGcmFjdGlvbmFsTGF5b3V0UG9pbnQocCk7Ci19Ci0KLWlubGlu
ZSBMYXlvdXRQb2ludCBmbG9vcmVkTGF5b3V0UG9pbnQoY29uc3QgRmxvYXRTaXplJiBzKQotewot
ICAgIHJldHVybiBmbG9vcmVkTGF5b3V0UG9pbnQoRmxvYXRQb2ludChzKSk7Ci19Ci0KLWlubGlu
ZSBpbnQgcm91bmRUb0ludChMYXlvdXRVbml0IHZhbHVlKQotewotICAgIHJldHVybiB2YWx1ZS5y
b3VuZCgpOwotfQotCi1pbmxpbmUgaW50IGZsb29yVG9JbnQoTGF5b3V0VW5pdCB2YWx1ZSkKLXsK
LSAgICByZXR1cm4gdmFsdWUuZmxvb3IoKTsKLX0KLQotaW5saW5lIExheW91dFVuaXQgcm91bmRl
ZExheW91dFVuaXQoZmxvYXQgdmFsdWUpCi17Ci0jaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkK
LSAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFVuaXQ6OmZyb21GbG9hdFJvdW5kKHZhbHVlKTsK
LSNlbHNlCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obHJvdW5kZih2YWx1ZSkpOwotI2Vu
ZGlmCi19Ci0KLWlubGluZSBMYXlvdXRVbml0IGNlaWxlZExheW91dFVuaXQoZmxvYXQgdmFsdWUp
Ci17Ci0jaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkKLSAgICByZXR1cm4gRnJhY3Rpb25hbExh
eW91dFVuaXQ6OmZyb21GbG9hdENlaWwodmFsdWUpOwotI2Vsc2UKLSAgICByZXR1cm4gY2VpbGYo
dmFsdWUpOwotI2VuZGlmCi19Ci0KLWlubGluZSBMYXlvdXRVbml0IGFic29sdXRlVmFsdWUoY29u
c3QgTGF5b3V0VW5pdCYgdmFsdWUpCi17Ci0gICAgcmV0dXJuIHZhbHVlLmFicygpOwotfQotCi1p
bmxpbmUgTGF5b3V0U2l6ZSB0b0xheW91dFNpemUoY29uc3QgTGF5b3V0UG9pbnQmIHApCi17Ci0g
ICAgcmV0dXJuIExheW91dFNpemUocC54KCksIHAueSgpKTsKLX0KLQotaW5saW5lIExheW91dFBv
aW50IHRvTGF5b3V0UG9pbnQoY29uc3QgTGF5b3V0U2l6ZSYgcCkKLXsKLSAgICByZXR1cm4gTGF5
b3V0UG9pbnQocC53aWR0aCgpLCBwLmhlaWdodCgpKTsKLX0KLQotaW5saW5lIExheW91dFVuaXQg
bGF5b3V0TW9kKGNvbnN0IExheW91dFVuaXQmIG51bWVyYXRvciwgY29uc3QgTGF5b3V0VW5pdCYg
ZGVub21pbmF0b3IpCi17Ci0gICAgcmV0dXJuIG51bWVyYXRvciAlIGRlbm9taW5hdG9yOwotfQot
Ci1pbmxpbmUgSW50U2l6ZSBwaXhlbFNuYXBwZWRJbnRTaXplKGNvbnN0IEZyYWN0aW9uYWxMYXlv
dXRTaXplJiBzLCBjb25zdCBGcmFjdGlvbmFsTGF5b3V0UG9pbnQmIHApCi17Ci0gICAgcmV0dXJu
IEludFNpemUoc25hcFNpemVUb1BpeGVsKHMud2lkdGgoKSwgcC54KCkpLCBzbmFwU2l6ZVRvUGl4
ZWwocy5oZWlnaHQoKSwgcC55KCkpKTsKLX0KLQotaW5saW5lIEludFJlY3QgcGl4ZWxTbmFwcGVk
SW50UmVjdChMYXlvdXRQb2ludCBsb2NhdGlvbiwgTGF5b3V0U2l6ZSBzaXplKQotewotICAgIHJl
dHVybiBJbnRSZWN0KHJvdW5kZWRJbnRQb2ludChsb2NhdGlvbiksIHBpeGVsU25hcHBlZEludFNp
emUoc2l6ZSwgbG9jYXRpb24pKTsKLX0KLQotaW5saW5lIGJvb2wgaXNJbnRlZ2VyVmFsdWUoY29u
c3QgTGF5b3V0VW5pdCB2YWx1ZSkKLXsKLSAgICByZXR1cm4gdmFsdWUudG9JbnQoKSA9PSB2YWx1
ZTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gTGF5b3V0VHlwZXNf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFR5cGVzSW5saW5l
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXNJbmxpbmUuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41OTBlODVlNGVhMjJiMTM1MTBkYjcxNDY5ZTgyNjUxMjAxYmRiMWJjCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFR5cGVzSW5saW5lLmgKQEAg
LTAsMCArMSwxNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBUaGVzZSB0eXBlZGVmcyBhcmUgYmVpbmcgdXNlZCB0byBhYnN0cmFj
dCBsYXlvdXQgYW5kIGhpdCB0ZXN0aW5nIG9mZgorLy8gb2YgaW50ZWdlcnMgYW5kIGV2ZW50dWFs
bHkgcmVwbGFjZSB0aGVtIHdpdGggZmxvYXRzLiBPbmNlIHRoaXMgdHJhbnNpdGlvbgorLy8gaXMg
Y29tcGxldGUsIHRoZXNlIHR5cGVzIHdpbGwgYmUgcmVtb3ZlZC4gUHJvZ3Jlc3MgY2FuIGJlIHRy
YWNrZWQgYXQKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDMx
OAorCisjaWZuZGVmIExheW91dFR5cGVzSW5saW5lX2gKKyNkZWZpbmUgTGF5b3V0VHlwZXNJbmxp
bmVfaAorCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiRnJhY3Rpb25hbExheW91
dEJveEV4dGVudC5oIgorI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRSZWN0LmgiCisjaW5jbHVk
ZSAiRnJhY3Rpb25hbExheW91dFVuaXQuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVk
ZSAiTGF5b3V0VHlwZXMuaCIKKworI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworaW5saW5lIEZyYWN0aW9uYWxMYXlvdXRSZWN0IGVuY2xvc2luZ0xh
eW91dFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQoreworICAgIHJldHVybiBlbmNsb3NpbmdJ
bnRSZWN0KHJlY3QpOworfQorCitpbmxpbmUgTGF5b3V0U2l6ZSByb3VuZGVkTGF5b3V0U2l6ZShj
b25zdCBGbG9hdFNpemUmIHMpCit7CisjaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkKKyAgICBy
ZXR1cm4gRnJhY3Rpb25hbExheW91dFNpemUocyk7CisjZWxzZQorICAgIHJldHVybiByb3VuZGVk
SW50U2l6ZShzKTsKKyNlbmRpZgorfQorCitpbmxpbmUgSW50UmVjdCBwaXhlbFNuYXBwZWRJbnRS
ZWN0KExheW91dFVuaXQgbGVmdCwgTGF5b3V0VW5pdCB0b3AsIExheW91dFVuaXQgd2lkdGgsIExh
eW91dFVuaXQgaGVpZ2h0KQoreworICAgIHJldHVybiBJbnRSZWN0KGxlZnQucm91bmQoKSwgdG9w
LnJvdW5kKCksIHNuYXBTaXplVG9QaXhlbCh3aWR0aCwgbGVmdCksIHNuYXBTaXplVG9QaXhlbCho
ZWlnaHQsIHRvcCkpOworfQorCitpbmxpbmUgSW50UmVjdCBwaXhlbFNuYXBwZWRJbnRSZWN0RnJv
bUVkZ2VzKExheW91dFVuaXQgbGVmdCwgTGF5b3V0VW5pdCB0b3AsIExheW91dFVuaXQgcmlnaHQs
IExheW91dFVuaXQgYm90dG9tKQoreworICAgIHJldHVybiBJbnRSZWN0KGxlZnQucm91bmQoKSwg
dG9wLnJvdW5kKCksIHNuYXBTaXplVG9QaXhlbChyaWdodCAtIGxlZnQsIGxlZnQpLCBzbmFwU2l6
ZVRvUGl4ZWwoYm90dG9tIC0gdG9wLCB0b3ApKTsKK30KKworaW5saW5lIExheW91dFBvaW50IHJv
dW5kZWRMYXlvdXRQb2ludChjb25zdCBGbG9hdFBvaW50JiBwKQoreworI2lmIEVOQUJMRShTVUJQ
SVhFTF9MQVlPVVQpCisgICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRQb2ludChwKTsKKyNlbHNl
CisgICAgcmV0dXJuIHJvdW5kZWRJbnRQb2ludChwKTsKKyNlbmRpZgorfQorCitpbmxpbmUgTGF5
b3V0UG9pbnQgZmxvb3JlZExheW91dFBvaW50KGNvbnN0IEZsb2F0UG9pbnQmIHApCit7CisgICAg
cmV0dXJuIGZsb29yZWRGcmFjdGlvbmFsTGF5b3V0UG9pbnQocCk7Cit9CisKK2lubGluZSBMYXlv
dXRQb2ludCBmbG9vcmVkTGF5b3V0UG9pbnQoY29uc3QgRmxvYXRTaXplJiBzKQoreworICAgIHJl
dHVybiBmbG9vcmVkTGF5b3V0UG9pbnQoRmxvYXRQb2ludChzKSk7Cit9CisKK2lubGluZSBpbnQg
cm91bmRUb0ludChMYXlvdXRVbml0IHZhbHVlKQoreworICAgIHJldHVybiB2YWx1ZS5yb3VuZCgp
OworfQorCitpbmxpbmUgaW50IGZsb29yVG9JbnQoTGF5b3V0VW5pdCB2YWx1ZSkKK3sKKyAgICBy
ZXR1cm4gdmFsdWUuZmxvb3IoKTsKK30KKworaW5saW5lIExheW91dFVuaXQgcm91bmRlZExheW91
dFVuaXQoZmxvYXQgdmFsdWUpCit7CisjaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkKKyAgICBy
ZXR1cm4gRnJhY3Rpb25hbExheW91dFVuaXQ6OmZyb21GbG9hdFJvdW5kKHZhbHVlKTsKKyNlbHNl
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obHJvdW5kZih2YWx1ZSkpOworI2VuZGlmCit9
CisKK2lubGluZSBMYXlvdXRVbml0IGNlaWxlZExheW91dFVuaXQoZmxvYXQgdmFsdWUpCit7Cisj
aWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkKKyAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFVu
aXQ6OmZyb21GbG9hdENlaWwodmFsdWUpOworI2Vsc2UKKyAgICByZXR1cm4gY2VpbGYodmFsdWUp
OworI2VuZGlmCit9CisKK2lubGluZSBMYXlvdXRVbml0IGFic29sdXRlVmFsdWUoY29uc3QgTGF5
b3V0VW5pdCYgdmFsdWUpCit7CisgICAgcmV0dXJuIHZhbHVlLmFicygpOworfQorCitpbmxpbmUg
TGF5b3V0U2l6ZSB0b0xheW91dFNpemUoY29uc3QgTGF5b3V0UG9pbnQmIHApCit7CisgICAgcmV0
dXJuIExheW91dFNpemUocC54KCksIHAueSgpKTsKK30KKworaW5saW5lIExheW91dFBvaW50IHRv
TGF5b3V0UG9pbnQoY29uc3QgTGF5b3V0U2l6ZSYgcCkKK3sKKyAgICByZXR1cm4gTGF5b3V0UG9p
bnQocC53aWR0aCgpLCBwLmhlaWdodCgpKTsKK30KKworaW5saW5lIExheW91dFVuaXQgbGF5b3V0
TW9kKGNvbnN0IExheW91dFVuaXQmIG51bWVyYXRvciwgY29uc3QgTGF5b3V0VW5pdCYgZGVub21p
bmF0b3IpCit7CisgICAgcmV0dXJuIG51bWVyYXRvciAlIGRlbm9taW5hdG9yOworfQorCitpbmxp
bmUgSW50U2l6ZSBwaXhlbFNuYXBwZWRJbnRTaXplKGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRTaXpl
JiBzLCBjb25zdCBGcmFjdGlvbmFsTGF5b3V0UG9pbnQmIHApCit7CisgICAgcmV0dXJuIEludFNp
emUoc25hcFNpemVUb1BpeGVsKHMud2lkdGgoKSwgcC54KCkpLCBzbmFwU2l6ZVRvUGl4ZWwocy5o
ZWlnaHQoKSwgcC55KCkpKTsKK30KKworaW5saW5lIEludFJlY3QgcGl4ZWxTbmFwcGVkSW50UmVj
dChMYXlvdXRQb2ludCBsb2NhdGlvbiwgTGF5b3V0U2l6ZSBzaXplKQoreworICAgIHJldHVybiBJ
bnRSZWN0KHJvdW5kZWRJbnRQb2ludChsb2NhdGlvbiksIHBpeGVsU25hcHBlZEludFNpemUoc2l6
ZSwgbG9jYXRpb24pKTsKK30KKworaW5saW5lIGJvb2wgaXNJbnRlZ2VyVmFsdWUoY29uc3QgTGF5
b3V0VW5pdCB2YWx1ZSkKK3sKKyAgICByZXR1cm4gdmFsdWUudG9JbnQoKSA9PSB2YWx1ZTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTGF5b3V0VHlwZXNJbmxpbmVf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1BhaW50SW5mby5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1BhaW50SW5mby5oCmluZGV4IDdlZDc0MzI3MmMzOTU3NDRh
MWYyYjk5NWNiZWEyNWIyM2NmMTU5MTEuLjYwNjQyM2JlNDIzOThkNTgyYjQ3YTNiODM1YzM4MWJk
NmU5M2RjYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9QYWludEluZm8u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUGFpbnRJbmZvLmgKQEAgLTMyLDcgKzMy
LDcgQEAKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkludFJlY3Qu
aCIKLSNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgorI2luY2x1ZGUgIkxheW91dFR5cGVzSW5saW5l
LmgiCiAjaW5jbHVkZSAiUGFpbnRQaGFzZS5oIgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuaAppbmRleCA4ZDVlODNlN2FmZjVhZjk3MDQwZTczYWY5YzM0MmJhOTdhYzAz
N2E0Li5iMWRiZDc5Mzk0NmE3YWEwYTAxYzgyN2I1ZDA1YTY0MmNmMDhhODc3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaApAQCAtMjQsNiAr
MjQsNyBAQAogI2lmbmRlZiBSZW5kZXJCb3hNb2RlbE9iamVjdF9oCiAjZGVmaW5lIFJlbmRlckJv
eE1vZGVsT2JqZWN0X2gKIAorI2luY2x1ZGUgIkxheW91dFR5cGVzSW5saW5lLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiU2hhZG93RGF0YS5oIgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaAppbmRleCBjOGFkZTAwZjdiZTc2ZmQ5Nzc3NGZl
MGQ0ZDRjOTZlZTA2ZGI2MWYyLi5hZTlmZDgzNjNlNGMwMDY0MWY0N2ExMTlhOWI4MGU2NmM2YzE3
MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKQEAgLTI4LDcg
KzI4LDcgQEAKIAogI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAKLSNpbmNsdWRlICJMYXlv
dXRUeXBlcy5oIgorI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvV3JhcFNoYXBlSW5m
by5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1dyYXBTaGFwZUluZm8uaAppbmRleCAzY2Y4
YjUwNTkzYzYwNzc3ZWRhYmM2M2IwMTg3Njk5MjAzZTNlNDBkLi43MDA3OTVmN2UyMWExMjhjYTZm
OGIzODJjYWRkNjVhNjg0MDU3MTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvV3JhcFNoYXBlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9XcmFwU2hh
cGVJbmZvLmgKQEAgLTMyLDcgKzMyLDcgQEAKIAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykK
IAotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVkZSAiTGF5b3V0VHlwZXNJbmxpbmUu
aCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAy
Mzc4YzdhNzI1M2EwYWEyYWM1ZWY3MjNhODJlNGQ1MWViNzMyNjJhLi4xNmM5YTU3NWU3ZDUwN2Yx
NmJlMGJhNzY3N2E1NGYyNjA1NTU3OTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkZvbnRCYXNl
bGluZS5oIgogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkdyYXBoaWNz
VHlwZXMuaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBlc0lubGluZS5oIgogI2luY2x1ZGUgIkxlbmd0
aC5oIgogI2luY2x1ZGUgIkxlbmd0aEJveC5oIgogI2luY2x1ZGUgIkxlbmd0aEZ1bmN0aW9ucy5o
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuY3BwCmluZGV4
IGYzMGQ4N2YyYmJkNTIxN2VhOGI1NThmMWVlZjRmN2ViZTI0YjQ1MmIuLmY3MTNhMjBmMTJjYmIx
ZThmOTAxMDZlMmY5MDVhOTRmN2ZjNWI2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU2hhZG93RGF0YS5jcHAKQEAgLTIyLDYgKzIyLDggQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJTaGFkb3dEYXRhLmgiCiAKKyNpbmNsdWRlICJMYXlvdXRUeXBlc0lu
bGluZS5oIgorCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRleCBiOGRmOTVk
ODgxNTU1NjE0YWNhNmU2NzI1MzBhZWUwNTA3ZjQ2YTNlLi4xNTE4ZWRkOTM1MjExODg3ODQyNzI4
MTA2NzZhZjMzYmMzYzgyOWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU2hhZG93RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
aGFkb3dEYXRhLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNkZWZpbmUgU2hhZG93RGF0YV9oCiAKICNp
bmNsdWRlICJDb2xvci5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkxheW91
dFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNo
YXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaAppbmRl
eCA4NjkyOGI2OGNjY2VjMWI5MTUzNWMxZGNmMDg2MWNkYzRhMTFiZDA5Li44YjI2NmMyYzFiOGI2
N2MyYTRiNzE2ZGZlMjgwNDkyYWJkNWZmZjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9XcmFwU2hhcGVzLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJXaW5kUnVs
ZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5oCmlu
ZGV4IDVkMzhjZTQ5NTA1MDkzZGJkODNiZTQzOWRhZDBiMDk0NzQzMzJiMGMuLmM4ODE2ODk2ODhm
MTEyNDQzNTY3MmYxOWE0MjJlZTc4OTczZmZhYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yNyw3ICsyNyw2IEBACiAK
ICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiTGF5
b3V0VHlwZXMuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaAppbmRleCBlNjNkNjQxYTY3MzU3
MDVmMDg4OTI5Nzc3ZGIxYTc2ZGE2ZjBkODkxLi5iMzYzMWJmMzc0MWUxMDI2ZjVlZDgxNzJlZWI3
OGY5YjQwODQ3ZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
SW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaApAQCAt
MzAsNyArMzAsNiBAQAogI2lmIEVOQUJMRShTVkcpCiAKICNpbmNsdWRlICJJbWFnZS5oIgotI2lu
Y2x1ZGUgIkxheW91dFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160827</attachid>
            <date>2012-08-27 15:34:30 -0700</date>
            <delta_ts>2012-08-27 16:13:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95107-20120827153422.patch</filename>
            <type>text/plain</type>
            <size>23636</size>
            <attacher>nbhargava</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2QwZWM4ZDNmNjAwZTU2
NTFmOWZiNDYzYWFkZGZhNTRmYzM5N2NjZC4uZTg2NDIyOWYyODNlZTk5ZDE0ZTE1ZTM3MzJlN2U3
NDM2MmQ2YTA4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA4LTI3ICBOaWto
aWwgQmhhcmdhdmEgIDxuYmhhcmdhdmFAZ29vZ2xlLmNvbT4KKworICAgICAgICBTcGxpdCBMYXlv
dXRUeXBlcy5oIHRvIGltcHJvdmUgY29tcGlsZSB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBpbmxpbmVzIGZyb20gTGF5b3V0VHlwZXMuaCBh
cmUgbW92ZWQgdG8gTGF5b3V0VHlwZXNJbmxpbmVNZXRob2RzLmguCisgICAgICAgIEZpbGVzIHRo
YXQgb25seSBuZWVkIHRoZSB0eXBlcyB0byBiZSBmb3J3YXJkIGRlY2xhcmVkLCBkb24ndCBuZWVk
IHRvCisgICAgICAgIGluY2x1ZGUgZGVmaW5pdGlvbnMgZm9yIEZyYWN0aW9uYWxMYXlvdXQgaXRl
bXMgKHRob3NlIGFyZSBleHBlbnNpdmUgdG8KKyAgICAgICAgaW5jbHVkZSkKKworICAgICAgICBO
byBuZXcgdGVzdHMuIEZ1bmN0aW9uYWxpdHkgc2hvdWxkIGJlIHRoZSBzYW1lLgorCisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oOgorICAgICAgICAqIGNzcy9MZW5ndGhGdW5jdGlvbnMuY3BwOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5Lmg6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVS
ZWNvcmRGYWN0b3J5Lmg6CisgICAgICAgICogbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmg6CisgICAg
ICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9MZW5ndGguaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Qb3B1cE1lbnVD
bGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9y
bWF0aW9uTWF0cml4LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1z
L1RyYW5zZm9ybWF0aW9uTWF0cml4Lmg6CisgICAgICAgICogcmVuZGVyaW5nL0F1dG9UYWJsZUxh
eW91dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9GaXhlZFRhYmxlTGF5b3V0Lmg6CisgICAgICAg
ICogcmVuZGVyaW5nL0hpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHA6CisgICAgICAgICogcmVu
ZGVyaW5nL0xheW91dFR5cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFR5cGVzSW5s
aW5lTWV0aG9kcy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJNZW51TGlzdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNo
cm9taXVtQ29tbW9uLmg6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5jcHA6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1NoYWRvd0RhdGEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvV3JhcFNo
YXBlcy5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAqIHN2
Zy9ncmFwaGljcy9TVkdJbWFnZS5oOgorCiAyMDEyLTA4LTI0ICBBbmlzaCBCaGF5YW5pICA8YW5p
c2guYmhheWFuaUBnbWFpbC5jb20+CiAKICAgICAgICAgd2Via2l0LWltYWdlLXNldCgpIGZ1bmN0
aW9uIG5vdCBzaG93aW5nIHVwIHdoZW4gY29tcHV0aW5nIGJhY2tncm91bmQgcHJvcGVydHkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCBhNTUyNWVlNmU1ZDE0NjhhNTZkNGRjYmYxMmRlZjc1NzJkNjc2Zjgx
Li45NmRmOGNlN2JkZDcxNzE2MmNkZTQ5YzQyMjBkNmNmMGFmMWIxNmVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCkBAIC01NTEsNiArNTUxLDcgQEAKICAgICAgICAgICAgICdyZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvTGF5b3V0U3RhdGUuaCcsCiAgICAgICAg
ICAgICAncmVuZGVyaW5nL0xheW91dFR5cGVzLmgnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9M
YXlvdXRUeXBlc0lubGluZU1ldGhvZHMuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL0xheW91
dFJlcGFpbnRlci5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvT3ZlcmxhcFRlc3RSZXF1ZXN0
Q2xpZW50LmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9QYWdpbmF0aW9uLmgnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRl
eCBlYTc3YWU0OGIyODYzNzgzZjYwZjQ3Y2RhNTAyMGRkZjUzODQ1NjNiLi5lNjcxNjVhYTUzOGVj
Yzc5Zjk1NDAzNDdjYjA3NzVhY2FiOGY0MWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtMzEsNiArMzEsNyBAQAogI2Rl
ZmluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0X2gKIAogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgorI2lu
Y2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIK
ICNpbmNsdWRlICJWaXNpYmxlUG9zaXRpb24uaCIKICNpbmNsdWRlICJWaXNpYmxlU2VsZWN0aW9u
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVuZ3RoRnVuY3Rpb25zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9MZW5ndGhGdW5jdGlvbnMuY3BwCmluZGV4IGU2YjJhYmZmOTMw
Y2JmMDI1OTVhZDAzZDUzYmY3NDBjYThmNjYzYmUuLjk3NzJlNWVkYmU3NmY1M2MyZTViZWEyMDhi
YTQyNmNhOGYwNDkzZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9MZW5ndGhGdW5j
dGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9MZW5ndGhGdW5jdGlvbnMuY3BwCkBA
IC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTGVuZ3RoRnVu
Y3Rpb25zLmgiCiAKKyNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgogI2luY2x1ZGUgIkxlbmd0aC5o
IgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5oCmluZGV4IDhkZDJiMDRmZjA3MWJiOWE2MDFmNDAxZjEwNzFh
ZjY4MDkzZDhmZmIuLmQ5YWQwMTJiODc1ZDVmYjQxNTEzYjdiZTk2YzEzZDYwNDg3YmFkNmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTI4
LDYgKzI4LDcgQEAKICNkZWZpbmUgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyX2gKIAogI2luY2x1
ZGUgIkRvY3VtZW50TWFya2VyLmgiCisjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkxh
eW91dFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuaAppbmRleCA0MzlhYTkzNmE5ZDM0YzJkOTE0NzI3ZThhNGZlNzM0MTM0
ZjRlZjA4Li44N2I1MTc4MzQyNWE2NmUzYTA4ZGE0ZGZiNjZkOTg3YjljYzNiNDIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJFZGl0aW5nQm91bmRhcnkuaCIKICNp
bmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRl
ci5oIgorI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSAiS1VSTEhh
c2guaCIKICNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgogI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2
ZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ub3VjaC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL1RvdWNoLmgKaW5kZXggMWU4MDI1M2U2ZTljZWU1ZGU3M2I4MTRkMDAzZjAwZTY5
YzIxNDM2Yy4uMTUyZTNlMmU5OTZkY2VhYjM0NjkxZWNiM2VjMjc5NTAwZTQxNzI2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RvdWNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1RvdWNoLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogCiAj
aW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgorI2luY2x1
ZGUgIkxheW91dFR5cGVzSW5saW5lTWV0aG9kcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCmluZGV4IDc0YTE2Njg3MjUzNWI3
MGRhZDI3NmYxZWQ3NTYyYTlkZmFhNjEzYjkuLjRhZDZjMTYwNWYzZDVlNzAxOTYxODFmYzAwN2Y4
NTA4M2Q4NjcyYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAjZGVmaW5lIFN1YmZyYW1lTG9hZGVyX2gKIAogI2luY2x1ZGUgIkZyYW1l
TG9hZGVyVHlwZXMuaCIKLSNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgogI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAppbmRleCAxNGNiZjA2NmJjMThlNjcwMDg3
YWY4ZDJhNjUzM2FmYjc5MzYzMWQ3Li5kYmRlOTYzMDNlOWIzOTgwNGE3YmRmMWIyZjNiMTU4M2Jk
NGZiZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjQsNyArMjQsNiBAQAogI2Rl
ZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSAiQW5pbWF0aW9uVXRpbGl0aWVzLmgiCi0jaW5jbHVk
ZSAiTGF5b3V0VHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKaW5kZXgg
NGMzNTlkMjQ1MjUyZDU0YTNlOGY0Y2I5ZDM2NDExMDgwZmU2MWUyYS4uMmU3OGZjM2ExNjZmYzVh
MDhjOGI3NGU4OTYzODg2OWZkZGJhZDBiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogI2lu
Y2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNs
dWRlICJMYXlvdXRUeXBlcy5oIgorI2luY2x1ZGUgIkxheW91dFR5cGVzSW5saW5lTWV0aG9kcy5o
IgogI2luY2x1ZGUgIlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIlRleHRT
dHJlYW0uaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybVN0YXRlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybVN0
YXRlLmgKaW5kZXggYzI1ZDI2NjE5Y2ZjYTBjMjIwZmM0MWFmNWVlMzI5YTNiMjU0YThmZC4uMzNl
YjdlMGRiNDMzOGUyOTg2MDRiMDU1OWE5OGZjZTkyYTA4YmJlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1TdGF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3Jt
U3RhdGUuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNs
dWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSAiTGF5b3V0
VHlwZXMuaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBlc0lubGluZU1ldGhvZHMuaCIKICNpbmNsdWRl
ICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1hdGlvbk1hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAppbmRleCA1MzAzOGI0ZWUwY2U1MzMx
ZTM0YzIyMTJmOWJmMjE2NDk5MGVmNmFjLi40OTViMTVmOGI2NzMzZjUwYTgyNjFkMmU4YTNkOGMy
NTg3MzYwMGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcApAQCAt
MzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUgIkZsb2F0
UmVjdC5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgorI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlv
dXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAppbmRleCBjYTY4YzU3YWEy
ZDRiY2NhYTI1MTBlNTdhY2Y3ZTEwNDhkNzllNzY1Li5jZDFkYjVlMDMwYjM2NjUyMzIwYmM4NWQ3
NmI2N2QxMDQyYzg3MGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBA
IC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFRyYW5zZm9ybWF0aW9uTWF0cml4X2gKIAogI2luY2x1
ZGUgIkZsb2F0UG9pbnQuaCIKLSNpbmNsdWRlICJGcmFjdGlvbmFsTGF5b3V0UmVjdC5oIgogI2lu
Y2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQogI2lu
Y2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvQ29sdW1uSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbklu
Zm8uaAppbmRleCA1NTM1NjRjNTNiNzdhMjM0MzQ1ODgxZGE1OTVkM2QyMTA5OTkzM2Q2Li5kYzI1
ODRkOGUwMTJmZTAyZGM2YmM0MGNhNDNiNmI0ZDY3Y2RjY2IxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Db2x1bW5JbmZvLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgQ29sdW1uSW5mb19o
CiAjZGVmaW5lIENvbHVtbkluZm9faAogCi0jaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKKyNpbmNs
dWRlICJMYXlvdXRUeXBlc0lubGluZU1ldGhvZHMuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9IaXRUZXN0UmVzdWx0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJl
c3VsdC5oCmluZGV4IDlkMTZiZjA0MjBkNzhkMDdhNjBmOThmMjNlMzllNTk2OGE4ZmUwNjguLjhm
MGRlNTIyZmY0NjA5YjEwNWEyNTc1ODA3ZGZkYTNhNTRhMGUwYzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaApAQCAtMjUsNyArMjUsNyBAQAogI2luY2x1ZGUgIkZs
b2F0UXVhZC5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXF1
ZXN0LmgiCi0jaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKKyNpbmNsdWRlICJMYXlvdXRUeXBlc0lu
bGluZU1ldGhvZHMuaCIKICNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAKaW5kZXgg
NmQ5Y2M3NjI5N2NiMTJhMmQzOTc3ZDk3Zjg3MmVlMjAyZjQ4NTkwNC4uNmQ2YzMzZTkxODhjNWQx
Njk2Y2MyMDFhMDBhYzRlNmVhZDk1YzBkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0hpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUu
aCIKIAorI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFJlcGFpbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0xheW91dFJlcGFpbnRlci5oCmluZGV4IDU3NDAwZmFlYmY3YjIwYTE2NTRjODlhODFkZGJj
YjNmMTkzNWZmYjAuLjZmNjNlODJkMzUwMzExMmRmMDE3MTc1NjQ3YzA0ZTg5MDM0M2EwZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRSZXBhaW50ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0UmVwYWludGVyLmgKQEAgLTI2LDcgKzI2
LDcgQEAKICNpZm5kZWYgTGF5b3V0UmVwYWludGVyX2gKICNkZWZpbmUgTGF5b3V0UmVwYWludGVy
X2gKIAotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCisjaW5jbHVkZSAiTGF5b3V0VHlwZXNJbmxp
bmVNZXRob2RzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvTGF5b3V0VHlwZXMuaAppbmRleCA1MTk2N2Y4ZTk3Y2JmNWQyYWFmOWM0NmQ0MTMyYTE0YTk1
NjBhOWVlLi5mZjdlNmMyNzQxZTk1OThiNDliMzk1ZTg0MGUzNWM2ZGFhMjRjYzc0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0VHlwZXMuaApAQCAtMzYsMTMyICszNiwyNCBAQAogI2lm
bmRlZiBMYXlvdXRUeXBlc19oCiAjZGVmaW5lIExheW91dFR5cGVzX2gKIAotI2luY2x1ZGUgIkZs
b2F0UmVjdC5oIgotI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRCb3hFeHRlbnQuaCIKLSNpbmNs
dWRlICJGcmFjdGlvbmFsTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRV
bml0LmgiCi0jaW5jbHVkZSAiSW50UmVjdC5oIgotCi0jaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10eXBlZGVmIEZyYWN0aW9uYWxMYXlvdXRVbml0
IExheW91dFVuaXQ7CitjbGFzcyBGcmFjdGlvbmFsTGF5b3V0Qm94RXh0ZW50OworY2xhc3MgRnJh
Y3Rpb25hbExheW91dFBvaW50OworY2xhc3MgRnJhY3Rpb25hbExheW91dFJlY3Q7CitjbGFzcyBG
cmFjdGlvbmFsTGF5b3V0U2l6ZTsKK2NsYXNzIEZyYWN0aW9uYWxMYXlvdXRVbml0OworCit0eXBl
ZGVmIEZyYWN0aW9uYWxMYXlvdXRCb3hFeHRlbnQgTGF5b3V0Qm94RXh0ZW50OwogdHlwZWRlZiBG
cmFjdGlvbmFsTGF5b3V0UG9pbnQgTGF5b3V0UG9pbnQ7Ci10eXBlZGVmIEZyYWN0aW9uYWxMYXlv
dXRTaXplIExheW91dFNpemU7CiB0eXBlZGVmIEZyYWN0aW9uYWxMYXlvdXRSZWN0IExheW91dFJl
Y3Q7Ci10eXBlZGVmIEZyYWN0aW9uYWxMYXlvdXRCb3hFeHRlbnQgTGF5b3V0Qm94RXh0ZW50Owor
dHlwZWRlZiBGcmFjdGlvbmFsTGF5b3V0U2l6ZSBMYXlvdXRTaXplOwordHlwZWRlZiBGcmFjdGlv
bmFsTGF5b3V0VW5pdCBMYXlvdXRVbml0OwogCiAjZGVmaW5lIE1BWF9MQVlPVVRfVU5JVCBMYXlv
dXRVbml0OjptYXgoKQogI2RlZmluZSBNSU5fTEFZT1VUX1VOSVQgTGF5b3V0VW5pdDo6bWluKCkK
ICNkZWZpbmUgWkVST19MQVlPVVRfVU5JVCBMYXlvdXRVbml0KDApCiAKLWlubGluZSBGcmFjdGlv
bmFsTGF5b3V0UmVjdCBlbmNsb3NpbmdMYXlvdXRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkK
LXsKLSAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChyZWN0KTsKLX0KLQotaW5saW5lIExheW91
dFNpemUgcm91bmRlZExheW91dFNpemUoY29uc3QgRmxvYXRTaXplJiBzKQotewotI2lmIEVOQUJM
RShTVUJQSVhFTF9MQVlPVVQpCi0gICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRTaXplKHMpOwot
I2Vsc2UKLSAgICByZXR1cm4gcm91bmRlZEludFNpemUocyk7Ci0jZW5kaWYKLX0KLQotaW5saW5l
IEludFJlY3QgcGl4ZWxTbmFwcGVkSW50UmVjdChMYXlvdXRVbml0IGxlZnQsIExheW91dFVuaXQg
dG9wLCBMYXlvdXRVbml0IHdpZHRoLCBMYXlvdXRVbml0IGhlaWdodCkKLXsKLSAgICByZXR1cm4g
SW50UmVjdChsZWZ0LnJvdW5kKCksIHRvcC5yb3VuZCgpLCBzbmFwU2l6ZVRvUGl4ZWwod2lkdGgs
IGxlZnQpLCBzbmFwU2l6ZVRvUGl4ZWwoaGVpZ2h0LCB0b3ApKTsKLX0KLQotaW5saW5lIEludFJl
Y3QgcGl4ZWxTbmFwcGVkSW50UmVjdEZyb21FZGdlcyhMYXlvdXRVbml0IGxlZnQsIExheW91dFVu
aXQgdG9wLCBMYXlvdXRVbml0IHJpZ2h0LCBMYXlvdXRVbml0IGJvdHRvbSkKLXsKLSAgICByZXR1
cm4gSW50UmVjdChsZWZ0LnJvdW5kKCksIHRvcC5yb3VuZCgpLCBzbmFwU2l6ZVRvUGl4ZWwocmln
aHQgLSBsZWZ0LCBsZWZ0KSwgc25hcFNpemVUb1BpeGVsKGJvdHRvbSAtIHRvcCwgdG9wKSk7Ci19
Ci0KLWlubGluZSBMYXlvdXRQb2ludCByb3VuZGVkTGF5b3V0UG9pbnQoY29uc3QgRmxvYXRQb2lu
dCYgcCkKLXsKLSNpZiBFTkFCTEUoU1VCUElYRUxfTEFZT1VUKQotICAgIHJldHVybiBGcmFjdGlv
bmFsTGF5b3V0UG9pbnQocCk7Ci0jZWxzZQotICAgIHJldHVybiByb3VuZGVkSW50UG9pbnQocCk7
Ci0jZW5kaWYKLX0KLQotaW5saW5lIExheW91dFBvaW50IGZsb29yZWRMYXlvdXRQb2ludChjb25z
dCBGbG9hdFBvaW50JiBwKQotewotICAgIHJldHVybiBmbG9vcmVkRnJhY3Rpb25hbExheW91dFBv
aW50KHApOwotfQotCi1pbmxpbmUgTGF5b3V0UG9pbnQgZmxvb3JlZExheW91dFBvaW50KGNvbnN0
IEZsb2F0U2l6ZSYgcykKLXsKLSAgICByZXR1cm4gZmxvb3JlZExheW91dFBvaW50KEZsb2F0UG9p
bnQocykpOwotfQotCi1pbmxpbmUgaW50IHJvdW5kVG9JbnQoTGF5b3V0VW5pdCB2YWx1ZSkKLXsK
LSAgICByZXR1cm4gdmFsdWUucm91bmQoKTsKLX0KLQotaW5saW5lIGludCBmbG9vclRvSW50KExh
eW91dFVuaXQgdmFsdWUpCi17Ci0gICAgcmV0dXJuIHZhbHVlLmZsb29yKCk7Ci19Ci0KLWlubGlu
ZSBMYXlvdXRVbml0IHJvdW5kZWRMYXlvdXRVbml0KGZsb2F0IHZhbHVlKQotewotI2lmIEVOQUJM
RShTVUJQSVhFTF9MQVlPVVQpCi0gICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRVbml0Ojpmcm9t
RmxvYXRSb3VuZCh2YWx1ZSk7Ci0jZWxzZQotICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KGxy
b3VuZGYodmFsdWUpKTsKLSNlbmRpZgotfQotCi1pbmxpbmUgTGF5b3V0VW5pdCBjZWlsZWRMYXlv
dXRVbml0KGZsb2F0IHZhbHVlKQotewotI2lmIEVOQUJMRShTVUJQSVhFTF9MQVlPVVQpCi0gICAg
cmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKHZhbHVlKTsKLSNlbHNl
Ci0gICAgcmV0dXJuIGNlaWxmKHZhbHVlKTsKLSNlbmRpZgotfQotCi1pbmxpbmUgTGF5b3V0VW5p
dCBhYnNvbHV0ZVZhbHVlKGNvbnN0IExheW91dFVuaXQmIHZhbHVlKQotewotICAgIHJldHVybiB2
YWx1ZS5hYnMoKTsKLX0KLQotaW5saW5lIExheW91dFNpemUgdG9MYXlvdXRTaXplKGNvbnN0IExh
eW91dFBvaW50JiBwKQotewotICAgIHJldHVybiBMYXlvdXRTaXplKHAueCgpLCBwLnkoKSk7Ci19
Ci0KLWlubGluZSBMYXlvdXRQb2ludCB0b0xheW91dFBvaW50KGNvbnN0IExheW91dFNpemUmIHAp
Ci17Ci0gICAgcmV0dXJuIExheW91dFBvaW50KHAud2lkdGgoKSwgcC5oZWlnaHQoKSk7Ci19Ci0K
LWlubGluZSBMYXlvdXRVbml0IGxheW91dE1vZChjb25zdCBMYXlvdXRVbml0JiBudW1lcmF0b3Is
IGNvbnN0IExheW91dFVuaXQmIGRlbm9taW5hdG9yKQotewotICAgIHJldHVybiBudW1lcmF0b3Ig
JSBkZW5vbWluYXRvcjsKLX0KLQotaW5saW5lIEludFNpemUgcGl4ZWxTbmFwcGVkSW50U2l6ZShj
b25zdCBGcmFjdGlvbmFsTGF5b3V0U2l6ZSYgcywgY29uc3QgRnJhY3Rpb25hbExheW91dFBvaW50
JiBwKQotewotICAgIHJldHVybiBJbnRTaXplKHNuYXBTaXplVG9QaXhlbChzLndpZHRoKCksIHAu
eCgpKSwgc25hcFNpemVUb1BpeGVsKHMuaGVpZ2h0KCksIHAueSgpKSk7Ci19Ci0KLWlubGluZSBJ
bnRSZWN0IHBpeGVsU25hcHBlZEludFJlY3QoTGF5b3V0UG9pbnQgbG9jYXRpb24sIExheW91dFNp
emUgc2l6ZSkKLXsKLSAgICByZXR1cm4gSW50UmVjdChyb3VuZGVkSW50UG9pbnQobG9jYXRpb24p
LCBwaXhlbFNuYXBwZWRJbnRTaXplKHNpemUsIGxvY2F0aW9uKSk7Ci19Ci0KLWlubGluZSBib29s
IGlzSW50ZWdlclZhbHVlKGNvbnN0IExheW91dFVuaXQgdmFsdWUpCi17Ci0gICAgcmV0dXJuIHZh
bHVlLnRvSW50KCkgPT0gdmFsdWU7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIExheW91dFR5cGVzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9MYXlvdXRUeXBlc0lubGluZU1ldGhvZHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9M
YXlvdXRUeXBlc0lubGluZU1ldGhvZHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zY2I0YTBmZGI0YWQwM2RiMzhl
NTczYWNiMWUwM2JlYzNjZTE1NDkwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0xheW91dFR5cGVzSW5saW5lTWV0aG9kcy5oCkBAIC0wLDAgKzEsMTUzIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBMYXlvdXRUeXBlc0lubGluZU1ldGhvZHNfaAorI2RlZmluZSBMYXlvdXRUeXBlc0lubGlu
ZU1ldGhvZHNfaAorCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiRnJhY3Rpb25h
bExheW91dEJveEV4dGVudC5oIgorI2luY2x1ZGUgIkZyYWN0aW9uYWxMYXlvdXRSZWN0LmgiCisj
aW5jbHVkZSAiRnJhY3Rpb25hbExheW91dFVuaXQuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisj
aW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKKworI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworaW5saW5lIEZyYWN0aW9uYWxMYXlvdXRSZWN0IGVuY2xv
c2luZ0xheW91dFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQoreworICAgIHJldHVybiBlbmNs
b3NpbmdJbnRSZWN0KHJlY3QpOworfQorCitpbmxpbmUgTGF5b3V0U2l6ZSByb3VuZGVkTGF5b3V0
U2l6ZShjb25zdCBGbG9hdFNpemUmIHMpCit7CisjaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkK
KyAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFNpemUocyk7CisjZWxzZQorICAgIHJldHVybiBy
b3VuZGVkSW50U2l6ZShzKTsKKyNlbmRpZgorfQorCitpbmxpbmUgSW50UmVjdCBwaXhlbFNuYXBw
ZWRJbnRSZWN0KExheW91dFVuaXQgbGVmdCwgTGF5b3V0VW5pdCB0b3AsIExheW91dFVuaXQgd2lk
dGgsIExheW91dFVuaXQgaGVpZ2h0KQoreworICAgIHJldHVybiBJbnRSZWN0KGxlZnQucm91bmQo
KSwgdG9wLnJvdW5kKCksIHNuYXBTaXplVG9QaXhlbCh3aWR0aCwgbGVmdCksIHNuYXBTaXplVG9Q
aXhlbChoZWlnaHQsIHRvcCkpOworfQorCitpbmxpbmUgSW50UmVjdCBwaXhlbFNuYXBwZWRJbnRS
ZWN0RnJvbUVkZ2VzKExheW91dFVuaXQgbGVmdCwgTGF5b3V0VW5pdCB0b3AsIExheW91dFVuaXQg
cmlnaHQsIExheW91dFVuaXQgYm90dG9tKQoreworICAgIHJldHVybiBJbnRSZWN0KGxlZnQucm91
bmQoKSwgdG9wLnJvdW5kKCksIHNuYXBTaXplVG9QaXhlbChyaWdodCAtIGxlZnQsIGxlZnQpLCBz
bmFwU2l6ZVRvUGl4ZWwoYm90dG9tIC0gdG9wLCB0b3ApKTsKK30KKworaW5saW5lIExheW91dFBv
aW50IHJvdW5kZWRMYXlvdXRQb2ludChjb25zdCBGbG9hdFBvaW50JiBwKQoreworI2lmIEVOQUJM
RShTVUJQSVhFTF9MQVlPVVQpCisgICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRQb2ludChwKTsK
KyNlbHNlCisgICAgcmV0dXJuIHJvdW5kZWRJbnRQb2ludChwKTsKKyNlbmRpZgorfQorCitpbmxp
bmUgTGF5b3V0UG9pbnQgZmxvb3JlZExheW91dFBvaW50KGNvbnN0IEZsb2F0UG9pbnQmIHApCit7
CisgICAgcmV0dXJuIGZsb29yZWRGcmFjdGlvbmFsTGF5b3V0UG9pbnQocCk7Cit9CisKK2lubGlu
ZSBMYXlvdXRQb2ludCBmbG9vcmVkTGF5b3V0UG9pbnQoY29uc3QgRmxvYXRTaXplJiBzKQorewor
ICAgIHJldHVybiBmbG9vcmVkTGF5b3V0UG9pbnQoRmxvYXRQb2ludChzKSk7Cit9CisKK2lubGlu
ZSBpbnQgcm91bmRUb0ludChMYXlvdXRVbml0IHZhbHVlKQoreworICAgIHJldHVybiB2YWx1ZS5y
b3VuZCgpOworfQorCitpbmxpbmUgaW50IGZsb29yVG9JbnQoTGF5b3V0VW5pdCB2YWx1ZSkKK3sK
KyAgICByZXR1cm4gdmFsdWUuZmxvb3IoKTsKK30KKworaW5saW5lIExheW91dFVuaXQgcm91bmRl
ZExheW91dFVuaXQoZmxvYXQgdmFsdWUpCit7CisjaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkK
KyAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFVuaXQ6OmZyb21GbG9hdFJvdW5kKHZhbHVlKTsK
KyNlbHNlCisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obHJvdW5kZih2YWx1ZSkpOworI2Vu
ZGlmCit9CisKK2lubGluZSBMYXlvdXRVbml0IGNlaWxlZExheW91dFVuaXQoZmxvYXQgdmFsdWUp
Cit7CisjaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkKKyAgICByZXR1cm4gRnJhY3Rpb25hbExh
eW91dFVuaXQ6OmZyb21GbG9hdENlaWwodmFsdWUpOworI2Vsc2UKKyAgICByZXR1cm4gY2VpbGYo
dmFsdWUpOworI2VuZGlmCit9CisKK2lubGluZSBMYXlvdXRVbml0IGFic29sdXRlVmFsdWUoY29u
c3QgTGF5b3V0VW5pdCYgdmFsdWUpCit7CisgICAgcmV0dXJuIHZhbHVlLmFicygpOworfQorCitp
bmxpbmUgTGF5b3V0U2l6ZSB0b0xheW91dFNpemUoY29uc3QgTGF5b3V0UG9pbnQmIHApCit7Cisg
ICAgcmV0dXJuIExheW91dFNpemUocC54KCksIHAueSgpKTsKK30KKworaW5saW5lIExheW91dFBv
aW50IHRvTGF5b3V0UG9pbnQoY29uc3QgTGF5b3V0U2l6ZSYgcCkKK3sKKyAgICByZXR1cm4gTGF5
b3V0UG9pbnQocC53aWR0aCgpLCBwLmhlaWdodCgpKTsKK30KKworaW5saW5lIExheW91dFVuaXQg
bGF5b3V0TW9kKGNvbnN0IExheW91dFVuaXQmIG51bWVyYXRvciwgY29uc3QgTGF5b3V0VW5pdCYg
ZGVub21pbmF0b3IpCit7CisgICAgcmV0dXJuIG51bWVyYXRvciAlIGRlbm9taW5hdG9yOworfQor
CitpbmxpbmUgSW50U2l6ZSBwaXhlbFNuYXBwZWRJbnRTaXplKGNvbnN0IEZyYWN0aW9uYWxMYXlv
dXRTaXplJiBzLCBjb25zdCBGcmFjdGlvbmFsTGF5b3V0UG9pbnQmIHApCit7CisgICAgcmV0dXJu
IEludFNpemUoc25hcFNpemVUb1BpeGVsKHMud2lkdGgoKSwgcC54KCkpLCBzbmFwU2l6ZVRvUGl4
ZWwocy5oZWlnaHQoKSwgcC55KCkpKTsKK30KKworaW5saW5lIEludFJlY3QgcGl4ZWxTbmFwcGVk
SW50UmVjdChMYXlvdXRQb2ludCBsb2NhdGlvbiwgTGF5b3V0U2l6ZSBzaXplKQoreworICAgIHJl
dHVybiBJbnRSZWN0KHJvdW5kZWRJbnRQb2ludChsb2NhdGlvbiksIHBpeGVsU25hcHBlZEludFNp
emUoc2l6ZSwgbG9jYXRpb24pKTsKK30KKworaW5saW5lIGJvb2wgaXNJbnRlZ2VyVmFsdWUoY29u
c3QgTGF5b3V0VW5pdCB2YWx1ZSkKK3sKKyAgICByZXR1cm4gdmFsdWUudG9JbnQoKSA9PSB2YWx1
ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gTGF5b3V0VHlwZXNJ
bmxpbmVNZXRob2RzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9QYWlu
dEluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9QYWludEluZm8uaAppbmRleCA3ZWQ3
NDMyNzJjMzk1NzQ0YTFmMmI5OTVjYmVhMjViMjNjZjE1OTExLi44OGEzYzdhYmM4ODg4YTg3NzBm
NTJkNmRiY2E5NjY4ODg0NDU0MTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUGFpbnRJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1BhaW50SW5mby5o
CkBAIC0zMiw3ICszMiw3IEBACiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNs
dWRlICJJbnRSZWN0LmgiCi0jaW5jbHVkZSAiTGF5b3V0VHlwZXMuaCIKKyNpbmNsdWRlICJMYXlv
dXRUeXBlc0lubGluZU1ldGhvZHMuaCIKICNpbmNsdWRlICJQYWludFBoYXNlLmgiCiAjaW5jbHVk
ZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCmluZGV4IDhkNWU4M2U3YWZmNWFmOTcw
NDBlNzNhZjljMzQyYmE5N2FjMDM3YTQuLjc2NDBhNDMwYjM3YjAyMjk4NTgwZGY0MmNlNDEwODEy
MDAwYTEzYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5oCkBAIC0yNCw2ICsyNCw3IEBACiAjaWZuZGVmIFJlbmRlckJveE1vZGVsT2JqZWN0
X2gKICNkZWZpbmUgUmVuZGVyQm94TW9kZWxPYmplY3RfaAogCisjaW5jbHVkZSAiTGF5b3V0VHlw
ZXNJbmxpbmVNZXRob2RzLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAi
U2hhZG93RGF0YS5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEF1dG9zaXplci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaApp
bmRleCBjOGFkZTAwZjdiZTc2ZmQ5Nzc3NGZlMGQ0ZDRjOTZlZTA2ZGI2MWYyLi5hZTlmZDgzNjNl
NGMwMDY0MWY0N2ExMTlhOWI4MGU2NmM2YzE3MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9UZXh0QXV0b3NpemVyLmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShURVhUX0FV
VE9TSVpJTkcpCiAKLSNpbmNsdWRlICJMYXlvdXRUeXBlcy5oIgorI2luY2x1ZGUgIkludFNpemUu
aCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvV3JhcFNoYXBlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1dyYXBTaGFwZUluZm8uaAppbmRleCAzY2Y4YjUwNTkzYzYwNzc3ZWRhYmM2M2IwMTg3Njk5MjAz
ZTNlNDBkLi5hODAzNmQwYmI4Yzk0MGQzOWFlODJiZmU4NTZkYzk3Y2Y0N2Q3YThkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvV3JhcFNoYXBlSW5mby5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9XcmFwU2hhcGVJbmZvLmgKQEAgLTMyLDcgKzMyLDcgQEAKIAog
I2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKIAotI2luY2x1ZGUgIkxheW91dFR5cGVzLmgiCisj
aW5jbHVkZSAiTGF5b3V0VHlwZXNJbmxpbmVNZXRob2RzLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggMjM3OGM3YTcyNTNhMGFhMmFjNWVmNzIz
YTgyZTRkNTFlYjczMjYyYS4uMGYzODNjOGNkNTVlOGZhMzhhOWFiZThlYTlhMDk3YTliNjdmYmY4
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAg
LTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJGb250QmFzZWxpbmUuaCIKICNpbmNsdWRlICJGb250
RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJHcmFwaGljc1R5cGVzLmgiCisjaW5jbHVkZSAiTGF5
b3V0VHlwZXNJbmxpbmVNZXRob2RzLmgiCiAjaW5jbHVkZSAiTGVuZ3RoLmgiCiAjaW5jbHVkZSAi
TGVuZ3RoQm94LmgiCiAjaW5jbHVkZSAiTGVuZ3RoRnVuY3Rpb25zLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5jcHAKaW5kZXggZjMwZDg3ZjJiYmQ1MjE3
ZWE4YjU1OGYxZWVmNGY3ZWJlMjRiNDUyYi4uZDJhMWNkMjcwNGRmMWNhZDRhM2EwZTZlNjYyNTEx
YzMxOTUyOGM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1No
YWRvd0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dE
YXRhLmNwcApAQCAtMjIsNiArMjIsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlNoYWRvd0RhdGEuaCIKIAorI2luY2x1ZGUgIkxheW91dFR5cGVzSW5saW5lTWV0aG9kcy5oIgor
CiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRleCBiOGRmOTVkODgxNTU1NjE0
YWNhNmU2NzI1MzBhZWUwNTA3ZjQ2YTNlLi4xNTE4ZWRkOTM1MjExODg3ODQyNzI4MTA2NzZhZjMz
YmMzYzgyOWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hh
ZG93RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRh
LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNkZWZpbmUgU2hhZG93RGF0YV9oCiAKICNpbmNsdWRlICJD
b2xvci5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkxheW91dFR5cGVzLmgi
CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaAppbmRleCA4NjkyOGI2
OGNjY2VjMWI5MTUzNWMxZGNmMDg2MWNkYzRhMTFiZDA5Li44YjI2NmMyYzFiOGI2N2MyYTRiNzE2
ZGZlMjgwNDkyYWJkNWZmZjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvV3JhcFNoYXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9X
cmFwU2hhcGVzLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJXaW5kUnVsZS5oIgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDVkMzhj
ZTQ5NTA1MDkzZGJkODNiZTQzOWRhZDBiMDk0NzQzMzJiMGMuLmM4ODE2ODk2ODhmMTEyNDQzNTY3
MmYxOWE0MjJlZTc4OTczZmZhYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpZiBFTkFC
TEUoU1ZHKQogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiTGF5b3V0VHlwZXMu
aCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaAppbmRleCBlNjNkNjQxYTY3MzU3MDVmMDg4OTI5
Nzc3ZGIxYTc2ZGE2ZjBkODkxLi5iMzYzMWJmMzc0MWUxMDI2ZjVlZDgxNzJlZWI3OGY5YjQwODQ3
ZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaApAQCAtMzAsNyArMzAs
NiBAQAogI2lmIEVOQUJMRShTVkcpCiAKICNpbmNsdWRlICJJbWFnZS5oIgotI2luY2x1ZGUgIkxh
eW91dFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>