<?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>141849</bug_id>
          
          <creation_ts>2015-02-20 12:31:14 -0800</creation_ts>
          <short_desc>Make namespace configurable for SOFT_LINK_*_{HEADER,SOURCE}() macros</short_desc>
          <delta_ts>2015-02-20 20:09:35 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>141625</blocked>
    
    <blocked>141816</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1070776</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-20 12:31:14 -0800</bug_when>
    <thetext>We should make the namespace configurable for SOFT_LINK_*_{HEADER,SOURCE}() macros.

And do a little clean-up at the same time, and some future support for Bug 141816.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070797</commentid>
    <comment_count>1</comment_count>
      <attachid>246992</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-20 13:19:12 -0800</bug_when>
    <thetext>Created attachment 246992
Patch v1 (for EWS builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070798</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-20 13:20:50 -0800</bug_when>
    <thetext>Attachment 246992 did not pass style-queue:


ERROR: Source/WebCore/platform/win/SoftLinking.h:206:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:316:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:329:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:334:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 4 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070800</commentid>
    <comment_count>3</comment_count>
      <attachid>246994</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-20 13:30:43 -0800</bug_when>
    <thetext>Created attachment 246994
Patch v2 (for EWS builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070801</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-20 13:32:50 -0800</bug_when>
    <thetext>Attachment 246994 did not pass style-queue:


ERROR: Source/WebCore/platform/win/SoftLinking.h:206:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:316:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:329:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:334:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 4 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070805</commentid>
    <comment_count>5</comment_count>
      <attachid>246994</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-20 13:43:40 -0800</bug_when>
    <thetext>Comment on attachment 246994
Patch v2 (for EWS builds)

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

This looks good, but I feel like making the SOFT_LINK_NAMESPACE an argument to SOFT_LINK_FRAMEWORK, etc., might be simpler. But it&apos;s fine as-is.

&gt; Source/WebCore/platform/cf/CoreMediaSoftLink.cpp:36
&gt; +SOFT_LINK_FRAMEWORK_SOURCE(CoreMedia)

Why not just make SOFT_LINK_NAMESPACE an argument to SOFT_LINK_FRAMEWORK_{SOURCE, HEADER}?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070808</commentid>
    <comment_count>6</comment_count>
      <attachid>246996</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-20 13:46:47 -0800</bug_when>
    <thetext>Created attachment 246996
Patch v3 (for EWS builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070809</commentid>
    <comment_count>7</comment_count>
      <attachid>246996</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-20 13:47:39 -0800</bug_when>
    <thetext>Comment on attachment 246996
Patch v3 (for EWS builds)

Same comments as before. Looks fine!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070811</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-20 13:49:14 -0800</bug_when>
    <thetext>Attachment 246996 did not pass style-queue:


ERROR: Source/WebCore/platform/win/SoftLinking.h:197:  SOFT_LINK_NAMESPACE is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/win/SoftLinking.h:207:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:316:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:330:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:335:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 5 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070814</commentid>
    <comment_count>9</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-20 13:54:22 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 246994 [details]
&gt; Patch v2 (for EWS builds)
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=246994&amp;action=review
&gt; 
&gt; This looks good, but I feel like making the SOFT_LINK_NAMESPACE an argument
&gt; to SOFT_LINK_FRAMEWORK, etc., might be simpler. But it&apos;s fine as-is.
&gt; 
&gt; &gt; Source/WebCore/platform/cf/CoreMediaSoftLink.cpp:36
&gt; &gt; +SOFT_LINK_FRAMEWORK_SOURCE(CoreMedia)
&gt; 
&gt; Why not just make SOFT_LINK_NAMESPACE an argument to
&gt; SOFT_LINK_FRAMEWORK_{SOURCE, HEADER}?

It seemed like too much duplication to add that to every single call site.

Let&apos;s chat in person, though!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070873</commentid>
    <comment_count>10</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-20 16:31:36 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #5)
&gt; &gt; Comment on attachment 246994 [details]
&gt; &gt; Patch v2 (for EWS builds)
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=246994&amp;action=review
&gt; &gt; 
&gt; &gt; This looks good, but I feel like making the SOFT_LINK_NAMESPACE an argument
&gt; &gt; to SOFT_LINK_FRAMEWORK, etc., might be simpler. But it&apos;s fine as-is.
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/cf/CoreMediaSoftLink.cpp:36
&gt; &gt; &gt; +SOFT_LINK_FRAMEWORK_SOURCE(CoreMedia)
&gt; &gt; 
&gt; &gt; Why not just make SOFT_LINK_NAMESPACE an argument to
&gt; &gt; SOFT_LINK_FRAMEWORK_{SOURCE, HEADER}?
&gt; 
&gt; It seemed like too much duplication to add that to every single call site.
&gt; 
&gt; Let&apos;s chat in person, though!

I will go ahead and add an argument for the namespace for all the macros instead of doing the mysterious #define/#undefine of SOFT_LINK_NAMESPACE before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070934</commentid>
    <comment_count>11</comment_count>
      <attachid>247034</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-20 19:19:43 -0800</bug_when>
    <thetext>Created attachment 247034
Patch v4 (for landing; test EWS builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070936</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-20 19:21:10 -0800</bug_when>
    <thetext>Attachment 247034 did not pass style-queue:


ERROR: Source/WebCore/platform/win/SoftLinking.h:205:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:315:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:328:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/mac/SoftLinking.h:333:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 4 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070940</commentid>
    <comment_count>13</comment_count>
      <attachid>247034</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-20 19:41:50 -0800</bug_when>
    <thetext>Comment on attachment 247034
Patch v4 (for landing; test EWS builds)

Looks great! r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070943</commentid>
    <comment_count>14</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-20 20:09:35 -0800</bug_when>
    <thetext>Committed r180476: &lt;http://trac.webkit.org/changeset/180476&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246992</attachid>
            <date>2015-02-20 13:19:12 -0800</date>
            <delta_ts>2015-02-20 13:21:57 -0800</delta_ts>
            <desc>Patch v1 (for EWS builds)</desc>
            <filename>bug-141849-20150220131903.patch</filename>
            <type>text/plain</type>
            <size>17533</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc5NGU1ZTY5ZDEyNWJl
ZDU0NjEzN2FkZTg0OGY2NzVlZjQzMzczMC4uMjNmNjU1NDc2MGFmNzBmMjZlMzI4YzdjODY3MmMx
NWZiNTU0YzZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE1LTAyLTIwICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBuYW1lc3BhY2Ug
Y29uZmlndXJhYmxlIGZvciBTT0ZUX0xJTktfKl97SEVBREVSLFNPVVJDRX0oKSBtYWNyb3MKKyAg
ICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxODQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyB0aGUgZm9sbG93aW5n
OgorICAgICAgICAtIEludHJvZHVjZXMgU09GVF9MSU5LX05BTUVTUEFDRSB0aGF0IHNob3VsZCBi
ZSBkZWZpbmVkIHdoaWxlCisgICAgICAgICAgdGhlIFNPRlRfTElOS18qX3tIRUFERVIsU09VUkNF
fSgpIG1hY3JvcyBhcmUgdXNlZC4gIFRoaXMgbWFrZXMKKyAgICAgICAgICBpdCBwb3NzaWJsZSB0
byB1c2UgdGhlc2UgbWFjcm9zIGluIG90aGVyIHByb2plY3RzLgorICAgICAgICAtIEFkZHMgU09G
VF9MSU5LX0ZSQU1FV09SS19TT1VSQ0UoKSBtYWNybyBpbiBwcmVwYXJhdGlvbiBmb3IgQnVnCisg
ICAgICAgICAgMTQxODE2LgorICAgICAgICAtIEFkZHMgYmFjayBmcmFtZXdvcmsgYXJndW1lbnQg
dG8gU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUigpCisgICAgICAgICAgYW5kIGluY2x1ZGVzIGZy
YW1ld29yayBuYW1lIGluIGdlbmVyYXRlZCBmdW5jdGlvbiBuYW1lcy4gIFRoaXMKKyAgICAgICAg
ICBhZGRzIG1vcmUgZW50cm9weSB0byB0aGUgbmFtZXMgaW4gY2FzZSB0aGVyZSBhcmUgdHdvIGZ1
bmN0aW9ucworICAgICAgICAgIHdpdGggdGhlIHNhbWUgbmFtZSBpbiBkaWZmZXJlbnQgZnJhbWV3
b3Jrcy4KKworICAgICAgICAqIHBsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAg
ICAgICAgLSBBZGQgRklYTUUgYWJvdXQgVVNFKENPUkVNRURJQSkuCisgICAgICAgIC0gRGVmaW5l
IGFuZCB1bmRlZmluZSBTT0ZUX0xJTktfTkFNRVNQQUNFLgorICAgICAgICAtIFN3aXRjaCBmcm9t
IFNPRlRfTElOS19GUkFNRVdPUksoKSB0bworICAgICAgICAgIFNPRlRfTElOS19GUkFNRVdPUktf
U09VUkNFKCkuCisgICAgICAgICogcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuaDoKKyAg
ICAgICAgLSBBZGQgRklYTUUgYWJvdXQgVVNFKENPUkVNRURJQSkuCisgICAgICAgIC0gRGVmaW5l
IGFuZCB1bmRlZmluZSBTT0ZUX0xJTktfTkFNRVNQQUNFLgorICAgICAgICAtIEFkZCBiYWNrIGZy
YW1ld29yayBhcmd1bWVudCB0byBTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKCkKKyAgICAgICAg
ICBtYWNyb3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU29mdExpbmtpbmcuaDoKKyAgICAg
ICAgLSBBZGQgbWlzc2luZyBoZWFkZXIgZ3VhcmRzLgorICAgICAgICAtIEFkZCBwcmFnbWFzIGZv
ciBkaWZmZXJlbnQgbWFjcm8gZ3JvdXBzLgorICAgICAgICAoU09GVF9MSU5LX0ZSQU1FV09SS19T
T1VSQ0UpOiBBZGQuCisgICAgICAgIC0gSW5jb3Jwb3JhdGVzIG5hbWVzcGFjZSBzbyB0aGF0IGl0
IGRvZXNuJ3QgaGF2ZSB0byBiZSBsaXN0ZWQgaW4KKyAgICAgICAgICB0aGUgKlNvZnRMaW5rLntj
cHAsaH0gZmlsZS4KKyAgICAgICAgKFNPRlRfTElOS19GVU5DVElPTl9IRUFERVIpOiBNb3ZlLiBB
ZGQgYmFjayBmcmFtZXdvcmsgYXJndW1lbnQuCisgICAgICAgIChTT0ZUX0xJTktfRlVOQ1RJT05f
U09VUkNFKTogTW92ZS4KKyAgICAgICAgLSBBZGQgZnJhbWV3b3JrIG5hbWUgdG8gZ2VuZXJhdGVk
IGZ1bmN0aW9uIG5hbWVzLgorCisgICAgICAgICogcGxhdGZvcm0vd2luL1NvZnRMaW5raW5nLmg6
CisgICAgICAgIC0gQWRkIHByYWdtYXMgZm9yIGRpZmZlcmVudCBtYWNybyBncm91cHMuCisgICAg
ICAgIChTT0ZUX0xJTktfRlJBTUVXT1JLX1NPVVJDRSk6IEFkZC4KKyAgICAgICAgLSBJbmNvcnBv
cmF0ZXMgbmFtZXNwYWNlIHNvIHRoYXQgaXQgZG9lc24ndCBoYXZlIHRvIGJlIGxpc3RlZCBpbgor
ICAgICAgICAgIHRoZSAqU29mdExpbmsue2NwcCxofSBmaWxlLgorICAgICAgICAoU09GVF9MSU5L
X0ZVTkNUSU9OX0hFQURFUik6IE1vdmUuIEFkZCBiYWNrIGZyYW1ld29yayBhcmd1bWVudC4KKyAg
ICAgICAgKFNPRlRfTElOS19GVU5DVElPTl9TT1VSQ0UpOiBNb3ZlLgorICAgICAgICAtIEFkZCBm
cmFtZXdvcmsgbmFtZSB0byBnZW5lcmF0ZWQgZnVuY3Rpb24gbmFtZXMuCisKIDIwMTUtMDItMjAg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10g
Y2xlYW51cCBBaXJQbGF5IGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBkYzE3NDU3OGFkNzRkODMxMDU3MjliZjIzMGU2ZDdh
ZmI2ZDczZDRmLi5iMzUyYjMwOWE4ZjMxNWJhOGE1MDRkOGJiZmY3YTRkOGM3NWNhNjNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCkBA
IC0yNSwxNCArMjUsMTUgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lmIFVTRShBVkZPVU5E
QVRJT04pCisvLyBGSVhNRTogU2hvdWxkIGJlIFVTRShDT1JFTUVESUEpLCBidXQgdGhpcyBpc24n
dCBjdXJyZW50bHkgZGVmaW5lZCBvbiBXaW5kb3dzLgogCiAjaW5jbHVkZSAiQ29yZU1lZGlhU1BJ
LmgiCiAjaW5jbHVkZSAiU29mdExpbmtpbmcuaCIKICNpbmNsdWRlIDxDb3JlTWVkaWEvQ29yZU1l
ZGlhLmg+CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLVNPRlRfTElOS19GUkFNRVdPUksoQ29yZU1l
ZGlhKQotfQorI2RlZmluZSBTT0ZUX0xJTktfTkFNRVNQQUNFIFdlYkNvcmUKKworU09GVF9MSU5L
X0ZSQU1FV09SS19TT1VSQ0UoQ29yZU1lZGlhKQogCiBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNF
KENvcmVNZWRpYSwgQ01UaW1lQ29tcGFyZSwgaW50MzJfdCwgKENNVGltZSB0aW1lMSwgQ01UaW1l
IHRpbWUyKSwgKHRpbWUxLCB0aW1lMikpCiBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKENvcmVN
ZWRpYSwgQ01UaW1lR2V0U2Vjb25kcywgRmxvYXQ2NCwgKENNVGltZSB0aW1lKSwgKHRpbWUpKQpA
QCAtNTMsNCArNTQsNiBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKENvcmVNZWRpYSwgQ01U
aW1lQWRkLCBDTVRpbWUsIChDTVRpbWUgYWRkZW5kMSwgQ01UaW1lCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fU09VUkNFKENvcmVNZWRpYSwgQ01UaW1lTWFrZUZyb21EaWN0aW9uYXJ5LCBDTVRpbWUsIChD
RkRpY3Rpb25hcnlSZWYgZGljdCksIChkaWN0KSkKICNlbmRpZiAvLyBQTEFURk9STShXSU4pCiAK
KyN1bmRlZiBTT0ZUX0xJTktfTkFNRVNQQUNFCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9O
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExp
bmsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKaW5k
ZXggNzRmOTMxOWRlNGNkMTM3YzdiNGZjZDZiMjA0ODM5OTQ3NDBmYzZlYS4uZTkzMDIzODliMTk2
OTdmNzRiYTdkZmY1MWU3Y2Y0NWM5YjAxYmU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCkBAIC0yNiw0NiArMjYsNTEgQEAKICNkZWZpbmUg
Q29yZU1lZGlhU29mdExpbmtfaAogCiAjaWYgVVNFKEFWRk9VTkRBVElPTikKKy8vIEZJWE1FOiBT
aG91bGQgYmUgVVNFKENPUkVNRURJQSksIGJ1dCB0aGlzIGlzbid0IGN1cnJlbnRseSBkZWZpbmVk
IG9uIFdpbmRvd3MuCisKKyNkZWZpbmUgU09GVF9MSU5LX05BTUVTUEFDRSBXZWJDb3JlCiAKICNp
bmNsdWRlICJDb3JlTWVkaWFTUEkuaCIKICNpbmNsdWRlICJTb2Z0TGlua2luZy5oIgogI2luY2x1
ZGUgPENvcmVNZWRpYS9Db3JlTWVkaWEuaD4KIAotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihD
TVRpbWVDb21wYXJlLCBpbnQzMl90LCAoQ01UaW1lIHRpbWUxLCBDTVRpbWUgdGltZTIpLCAodGlt
ZTEsIHRpbWUyKSkKK1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ29yZU1lZGlhLCBDTVRpbWVD
b21wYXJlLCBpbnQzMl90LCAoQ01UaW1lIHRpbWUxLCBDTVRpbWUgdGltZTIpLCAodGltZTEsIHRp
bWUyKSkKICNkZWZpbmUgQ01UaW1lQ29tcGFyZSBzb2Z0TGlua19DTVRpbWVDb21wYXJlCi1TT0ZU
X0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZUdldFNlY29uZHMsIEZsb2F0NjQsIChDTVRpbWUg
dGltZSksICh0aW1lKSkKK1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ29yZU1lZGlhLCBDTVRp
bWVHZXRTZWNvbmRzLCBGbG9hdDY0LCAoQ01UaW1lIHRpbWUpLCAodGltZSkpCiAjZGVmaW5lIENN
VGltZUdldFNlY29uZHMgc29mdExpbmtfQ01UaW1lR2V0U2Vjb25kcwotU09GVF9MSU5LX0ZVTkNU
SU9OX0hFQURFUihDTVRpbWVNYWtlLCBDTVRpbWUsIChpbnQ2NF90IHZhbHVlLCBpbnQzMl90IHRp
bWVzY2FsZSksICh2YWx1ZSwgdGltZXNjYWxlKSkKK1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIo
Q29yZU1lZGlhLCBDTVRpbWVNYWtlLCBDTVRpbWUsIChpbnQ2NF90IHZhbHVlLCBpbnQzMl90IHRp
bWVzY2FsZSksICh2YWx1ZSwgdGltZXNjYWxlKSkKICNkZWZpbmUgQ01UaW1lTWFrZSBzb2Z0TGlu
a19DTVRpbWVNYWtlCi1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZU1ha2VXaXRoU2Vj
b25kcywgQ01UaW1lLCAoRmxvYXQ2NCBzZWNvbmRzLCBpbnQzMl90IHByZWZlcnJlZFRpbWVTY2Fs
ZSksIChzZWNvbmRzLCBwcmVmZXJyZWRUaW1lU2NhbGUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0hF
QURFUihDb3JlTWVkaWEsIENNVGltZU1ha2VXaXRoU2Vjb25kcywgQ01UaW1lLCAoRmxvYXQ2NCBz
ZWNvbmRzLCBpbnQzMl90IHByZWZlcnJlZFRpbWVTY2FsZSksIChzZWNvbmRzLCBwcmVmZXJyZWRU
aW1lU2NhbGUpKQogI2RlZmluZSBDTVRpbWVNYWtlV2l0aFNlY29uZHMgc29mdExpbmtfQ01UaW1l
TWFrZVdpdGhTZWNvbmRzCi1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZVJhbmdlR2V0
RW5kLCBDTVRpbWUsIChDTVRpbWVSYW5nZSByYW5nZSksIChyYW5nZSkpCitTT0ZUX0xJTktfRlVO
Q1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01UaW1lUmFuZ2VHZXRFbmQsIENNVGltZSwgKENNVGlt
ZVJhbmdlIHJhbmdlKSwgKHJhbmdlKSkKICNkZWZpbmUgQ01UaW1lUmFuZ2VHZXRFbmQgc29mdExp
bmtfQ01UaW1lUmFuZ2VHZXRFbmQKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCi1TT0ZUX0xJTktf
RlVOQ1RJT05fSEVBREVSKENNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVsdExvY2FsQ2VudGVy
LCBDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiwgKHZvaWQpLCAoKSk7CitTT0ZUX0xJTktfRlVOQ1RJ
T05fSEVBREVSKENvcmVNZWRpYSwgQ01Ob3RpZmljYXRpb25DZW50ZXJHZXREZWZhdWx0TG9jYWxD
ZW50ZXIsIENNTm90aWZpY2F0aW9uQ2VudGVyUmVmLCAodm9pZCksICgpKTsKICNkZWZpbmUgQ01O
b3RpZmljYXRpb25DZW50ZXJHZXREZWZhdWx0TG9jYWxDZW50ZXIgc29mdExpbmtfQ01Ob3RpZmlj
YXRpb25DZW50ZXJHZXREZWZhdWx0TG9jYWxDZW50ZXIKLVNPRlRfTElOS19GVU5DVElPTl9IRUFE
RVIoQ01Ob3RpZmljYXRpb25DZW50ZXJBZGRMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5vdGlmaWNh
dGlvbkNlbnRlclJlZiBjZW50ZXIsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlmaWNhdGlv
bkNhbGxiYWNrIGNhbGxiYWNrLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQq
IG9iamVjdCwgVUludDMyIGZsYWdzKSwgKGNlbnRlciwgbGlzdGVuZXIsIGNhbGxiYWNrLCBub3Rp
ZmljYXRpb24sIG9iamVjdCwgZmxhZ3MpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDb3Jl
TWVkaWEsIENNTm90aWZpY2F0aW9uQ2VudGVyQWRkTGlzdGVuZXIsIE9TU3RhdHVzLCAoQ01Ob3Rp
ZmljYXRpb25DZW50ZXJSZWYgY2VudGVyLCBjb25zdCB2b2lkKiBsaXN0ZW5lciwgQ01Ob3RpZmlj
YXRpb25DYWxsYmFjayBjYWxsYmFjaywgQ0ZTdHJpbmdSZWYgbm90aWZpY2F0aW9uLCBjb25zdCB2
b2lkKiBvYmplY3QsIFVJbnQzMiBmbGFncyksIChjZW50ZXIsIGxpc3RlbmVyLCBjYWxsYmFjaywg
bm90aWZpY2F0aW9uLCBvYmplY3QsIGZsYWdzKSkKICNkZWZpbmUgQ01Ob3RpZmljYXRpb25DZW50
ZXJBZGRMaXN0ZW5lciBzb2Z0TGlua19DTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVyCi1T
T0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlTGlzdGVu
ZXIsIE9TU3RhdHVzLCAoQ01Ob3RpZmljYXRpb25DZW50ZXJSZWYgY2VudGVyLCBjb25zdCB2b2lk
KiBsaXN0ZW5lciwgQ01Ob3RpZmljYXRpb25DYWxsYmFjayBjYWxsYmFjaywgQ0ZTdHJpbmdSZWYg
bm90aWZpY2F0aW9uLCBjb25zdCB2b2lkKiBvYmplY3QpLCAoY2VudGVyLCBsaXN0ZW5lciwgY2Fs
bGJhY2ssIG5vdGlmaWNhdGlvbiwgb2JqZWN0KSkKK1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIo
Q29yZU1lZGlhLCBDTU5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyLCBPU1N0YXR1cywg
KENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwgY29uc3Qgdm9pZCogbGlzdGVuZXIsIENN
Tm90aWZpY2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIENGU3RyaW5nUmVmIG5vdGlmaWNhdGlvbiwg
Y29uc3Qgdm9pZCogb2JqZWN0KSwgKGNlbnRlciwgbGlzdGVuZXIsIGNhbGxiYWNrLCBub3RpZmlj
YXRpb24sIG9iamVjdCkpCiAjZGVmaW5lIENNTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlTGlzdGVu
ZXIgc29mdExpbmtfQ01Ob3RpZmljYXRpb25DZW50ZXJSZW1vdmVMaXN0ZW5lcgotU09GVF9MSU5L
X0ZVTkNUSU9OX0hFQURFUihDTVRpbWViYXNlR2V0VGltZSwgQ01UaW1lLCAoQ01UaW1lYmFzZVJl
ZiB0aW1lYmFzZSksICh0aW1lYmFzZSkpCitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVN
ZWRpYSwgQ01UaW1lYmFzZUdldFRpbWUsIENNVGltZSwgKENNVGltZWJhc2VSZWYgdGltZWJhc2Up
LCAodGltZWJhc2UpKQogI2RlZmluZSBDTVRpbWViYXNlR2V0VGltZSBzb2Z0TGlua19DTVRpbWVi
YXNlR2V0VGltZQotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDTVRpbWVDb3B5QXNEaWN0aW9u
YXJ5LCBDRkRpY3Rpb25hcnlSZWYsIChDTVRpbWUgdGltZSwgQ0ZBbGxvY2F0b3JSZWYgYWxsb2Nh
dG9yKSwgKHRpbWUsIGFsbG9jYXRvcikpCitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVN
ZWRpYSwgQ01UaW1lQ29weUFzRGljdGlvbmFyeSwgQ0ZEaWN0aW9uYXJ5UmVmLCAoQ01UaW1lIHRp
bWUsIENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciksICh0aW1lLCBhbGxvY2F0b3IpKQogI2RlZmlu
ZSBDTVRpbWVDb3B5QXNEaWN0aW9uYXJ5IHNvZnRMaW5rX0NNVGltZUNvcHlBc0RpY3Rpb25hcnkK
IAogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCiAjaWYgUExBVEZPUk0oV0lOKQogCi1TT0ZU
X0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZUFkZCwgQ01UaW1lLCAoQ01UaW1lIGFkZGVuZDEs
IENNVGltZSBhZGRlbmQyKSwgKGFkZGVuZDEsIGFkZGVuZDIpKQorU09GVF9MSU5LX0ZVTkNUSU9O
X0hFQURFUihDb3JlTWVkaWEsIENNVGltZUFkZCwgQ01UaW1lLCAoQ01UaW1lIGFkZGVuZDEsIENN
VGltZSBhZGRlbmQyKSwgKGFkZGVuZDEsIGFkZGVuZDIpKQogI2RlZmluZSBDTVRpbWVBZGQgc29m
dExpbmtfQ01UaW1lQWRkCi1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZU1ha2VGcm9t
RGljdGlvbmFyeSwgQ01UaW1lLCAoQ0ZEaWN0aW9uYXJ5UmVmIGRpY3QpLCAoZGljdCkpCitTT0ZU
X0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01UaW1lTWFrZUZyb21EaWN0aW9uYXJ5
LCBDTVRpbWUsIChDRkRpY3Rpb25hcnlSZWYgZGljdCksIChkaWN0KSkKICNkZWZpbmUgQ01UaW1l
TWFrZUZyb21EaWN0aW9uYXJ5IHNvZnRMaW5rX0NNVGltZU1ha2VGcm9tRGljdGlvbmFyeQogCiAj
ZW5kaWYgLy8gUExBVEZPUk0oV0lOKQogCisjdW5kZWYgU09GVF9MSU5LX05BTUVTUEFDRQorCiAj
ZW5kaWYgLy8gVVNFKEFWRk9VTkRBVElPTikKIAogI2VuZGlmIC8vIENvcmVNZWRpYVNvZnRMaW5r
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Tb2Z0TGlua2luZy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NvZnRMaW5raW5nLmgKaW5kZXggYTMxZmQ0
MzQ1YzZmNWIyN2QwMDA5ZmQ2Y2FiNzc1YWQ5YzE3MWU2Yy4uNGEzMWMzMmNjMWFlMzg3ZDQ3ZmI3
NGRiYTEwMTExZmUzNWVlMzVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1NvZnRMaW5raW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NvZnRM
aW5raW5nLmgKQEAgLTIyLDYgKzIyLDkgQEAKICAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKyNpZm5kZWYgU29mdExp
bmtpbmdfaAorI2RlZmluZSBTb2Z0TGlua2luZ19oCisKICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25z
Lmg+CiAjaW1wb3J0IDxkbGZjbi5oPgogCkBAIC0yOSw2ICszMiw4IEBACiAjaW1wb3J0IDxvYmpj
L3J1bnRpbWUuaD4KICNlbmRpZgogCisjcHJhZ21hIG1hcmsgLSBTb2Z0LWxpbmsgbWFjcm9zIGZv
ciB1c2Ugd2l0aGluIGEgc2luZ2xlIHNvdXJjZSBmaWxlCisKICNkZWZpbmUgU09GVF9MSU5LX0xJ
QlJBUlkobGliKSBcCiAgICAgc3RhdGljIHZvaWQqIGxpYiMjTGlicmFyeSgpIFwKICAgICB7IFwK
QEAgLTEwOSwzNiArMTE0LDYgQEAKICAgICAgICAgcmV0dXJuIHNvZnRMaW5rIyNmdW5jdGlvbk5h
bWUgcGFyYW1ldGVyTmFtZXM7IFwKICAgICB9CiAKLSNkZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9O
X0hFQURFUihmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRlckRlY2xhcmF0aW9ucywg
cGFyYW1ldGVyTmFtZXMpIFwKLSAgICBXVEZfRVhURVJOX0NfQkVHSU4gXAotICAgIHJlc3VsdFR5
cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAotICAgIFdURl9FWFRFUk5f
Q19FTkQgXAotICAgIG5hbWVzcGFjZSBXZWJDb3JlIHsgXAotICAgIGV4dGVybiByZXN1bHRUeXBl
ICgqc29mdExpbmsjI2Z1bmN0aW9uTmFtZSkgcGFyYW1ldGVyRGVjbGFyYXRpb25zOyBcCi0gICAg
fSBcCi0gICAgaW5saW5lIHJlc3VsdFR5cGUgc29mdExpbmtfIyNmdW5jdGlvbk5hbWUgcGFyYW1l
dGVyRGVjbGFyYXRpb25zIFwKLSAgICB7IFwKLSAgICAgICAgcmV0dXJuIFdlYkNvcmU6OnNvZnRM
aW5rIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKLSAgICB9Ci0KLSNkZWZpbmUgU09G
VF9MSU5LX0ZVTkNUSU9OX1NPVVJDRShmcmFtZXdvcmssIGZ1bmN0aW9uTmFtZSwgcmVzdWx0VHlw
ZSwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykgXAotICAgIFdURl9FWFRF
Uk5fQ19CRUdJTiBcCi0gICAgcmVzdWx0VHlwZSBmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFy
YXRpb25zOyBcCi0gICAgV1RGX0VYVEVSTl9DX0VORCBcCi0gICAgbmFtZXNwYWNlIFdlYkNvcmUg
eyBcCi0gICAgc3RhdGljIHJlc3VsdFR5cGUgaW5pdCMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRl
Y2xhcmF0aW9uczsgXAotICAgIHJlc3VsdFR5cGUgKCpzb2Z0TGluayMjZnVuY3Rpb25OYW1lKSBw
YXJhbWV0ZXJEZWNsYXJhdGlvbnMgPSBpbml0IyNmdW5jdGlvbk5hbWU7IFwKLSAgICBzdGF0aWMg
cmVzdWx0VHlwZSBpbml0IyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zIFwKLSAg
ICB7IFwKLSAgICAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlOyBcCi0gICAgICAgIGRp
c3BhdGNoX29uY2UoJm9uY2UsIF57IFwKLSAgICAgICAgICAgIHNvZnRMaW5rIyNmdW5jdGlvbk5h
bWUgPSAocmVzdWx0VHlwZSAoKikgcGFyYW1ldGVyRGVjbGFyYXRpb25zKSBkbHN5bShmcmFtZXdv
cmsjI0xpYnJhcnkoKSwgI2Z1bmN0aW9uTmFtZSk7IFwKLSAgICAgICAgICAgIEFTU0VSVF9XSVRI
X01FU1NBR0Uoc29mdExpbmsjI2Z1bmN0aW9uTmFtZSwgIiVzIiwgZGxlcnJvcigpKTsgXAotICAg
ICAgICB9KTsgXAotICAgICAgICByZXR1cm4gc29mdExpbmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0
ZXJOYW1lczsgXAotICAgIH0gXAotICAgIH0KLQogI2RlZmluZSBTT0ZUX0xJTktfTUFZX0ZBSUwo
ZnJhbWV3b3JrLCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRlckRlY2xhcmF0aW9u
cywgcGFyYW1ldGVyTmFtZXMpIFwKICAgICBXVEZfRVhURVJOX0NfQkVHSU4gXAogICAgIHJlc3Vs
dFR5cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXApAQCAtMzEzLDMgKzI4
OCw1NCBAQAogICAgICAgICBnZXQjI25hbWUgPSBuYW1lIyNGdW5jdGlvbjsgXAogICAgICAgICBy
ZXR1cm4gdHJ1ZTsgXAogICAgIH0KKworI3ByYWdtYSBtYXJrIC0gU29mdC1saW5rIG1hY3JvcyBm
b3Igc2hhcmluZyBhY3Jvc3MgbXVsdGlwbGUgc291cmNlIGZpbGVzCisKKy8vIFNlZSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay57Y3BwLGh9IGZvciBhbiBleGFt
cGxlIGltcGxlbWVudGF0aW9uLgorLy8gTk9URTogU09GVF9MSU5LX05BTUVTUEFDRSBtdXN0IGJl
IGRlZmluZWQgYmVmb3JlIHRoZXNlIG1hY3JvcyBhcmUgdXNlZC4KKworI2RlZmluZSBTT0ZUX0xJ
TktfRlJBTUVXT1JLX1NPVVJDRShmcmFtZXdvcmspIFwKKyAgICBuYW1lc3BhY2UgU09GVF9MSU5L
X05BTUVTUEFDRSB7IFwKKyAgICBzdGF0aWMgdm9pZCogZnJhbWV3b3JrIyNMaWJyYXJ5KCkgXAor
ICAgIHsgXAorICAgICAgICBzdGF0aWMgdm9pZCogZnJhbWV3b3JrTGlicmFyeTsgXAorICAgICAg
ICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2U7IFwKKyAgICAgICAgZGlzcGF0Y2hfb25jZSgm
b25jZSwgXnsgXAorICAgICAgICAgICAgZnJhbWV3b3JrTGlicmFyeSA9IGRsb3BlbigiL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvIiAjZnJhbWV3b3JrICIuZnJhbWV3b3JrLyIgI2ZyYW1ld29y
aywgUlRMRF9OT1cpOyBcCisgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGZyYW1ld29y
a0xpYnJhcnksICIlcyIsIGRsZXJyb3IoKSk7IFwKKyAgICAgICAgfSk7IFwKKyAgICAgICAgcmV0
dXJuIGZyYW1ld29ya0xpYnJhcnk7IFwKKyAgICB9IFwKKyAgICB9CisKKyNkZWZpbmUgU09GVF9M
SU5LX0ZVTkNUSU9OX0hFQURFUihmcmFtZXdvcmssIGZ1bmN0aW9uTmFtZSwgcmVzdWx0VHlwZSwg
cGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykgXAorICAgIFdURl9FWFRFUk5f
Q19CRUdJTiBcCisgICAgcmVzdWx0VHlwZSBmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRp
b25zOyBcCisgICAgV1RGX0VYVEVSTl9DX0VORCBcCisgICAgbmFtZXNwYWNlIFNPRlRfTElOS19O
QU1FU1BBQ0UgeyBcCisgICAgZXh0ZXJuIHJlc3VsdFR5cGUgKCpzb2Z0TGluayMjZnJhbWV3b3Jr
IyNmdW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAorICAgIH0gXAorICAgIGlu
bGluZSByZXN1bHRUeXBlIHNvZnRMaW5rXyMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUgcGFyYW1l
dGVyRGVjbGFyYXRpb25zIFwKKyAgICB7IFwKKyAgICAgICAgcmV0dXJuIFNPRlRfTElOS19OQU1F
U1BBQ0UjIzo6c29mdExpbmsjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlck5hbWVz
OyBcCisgICAgfQorCisjZGVmaW5lIFNPRlRfTElOS19GVU5DVElPTl9TT1VSQ0UoZnJhbWV3b3Jr
LCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRlckRlY2xhcmF0aW9ucywgcGFyYW1l
dGVyTmFtZXMpIFwKKyAgICBXVEZfRVhURVJOX0NfQkVHSU4gXAorICAgIHJlc3VsdFR5cGUgZnVu
Y3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAorICAgIFdURl9FWFRFUk5fQ19FTkQg
XAorICAgIG5hbWVzcGFjZSBTT0ZUX0xJTktfTkFNRVNQQUNFIHsgXAorICAgIHN0YXRpYyByZXN1
bHRUeXBlIGluaXQjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9u
czsgXAorICAgIHJlc3VsdFR5cGUgKCpzb2Z0TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUp
IHBhcmFtZXRlckRlY2xhcmF0aW9ucyA9IGluaXQjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1lOyBc
CisgICAgc3RhdGljIHJlc3VsdFR5cGUgaW5pdCMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUgcGFy
YW1ldGVyRGVjbGFyYXRpb25zIFwKKyAgICB7IFwKKyAgICAgICAgc3RhdGljIGRpc3BhdGNoX29u
Y2VfdCBvbmNlOyBcCisgICAgICAgIGRpc3BhdGNoX29uY2UoJm9uY2UsIF57IFwKKyAgICAgICAg
ICAgIHNvZnRMaW5rIyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSA9IChyZXN1bHRUeXBlICgqKSBw
YXJhbWV0ZXJEZWNsYXJhdGlvbnMpIGRsc3ltKGZyYW1ld29yayMjTGlicmFyeSgpLCAjZnVuY3Rp
b25OYW1lKTsgXAorICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShzb2Z0TGluayMjZnJh
bWV3b3JrIyNmdW5jdGlvbk5hbWUsICIlcyIsIGRsZXJyb3IoKSk7IFwKKyAgICAgICAgfSk7IFwK
KyAgICAgICAgcmV0dXJuIHNvZnRMaW5rIyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0
ZXJOYW1lczsgXAorICAgIH0gXAorICAgIH0KKworI2VuZGlmIC8vIFNvZnRMaW5raW5nX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Tb2Z0TGlua2luZy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1NvZnRMaW5raW5nLmgKaW5kZXggNzI5NTQwMmJkYTAx
OGNmMTM0Zjc3OGViN2QwYTNiM2M1NzUwMWVjYi4uZGE0YTQ0YTBkMDMwNmNkMzViZjEwMWM5NDRl
ZGI0MmQ3OWE2OTExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Nv
ZnRMaW5raW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1NvZnRMaW5raW5n
LmgKQEAgLTI4LDExICsyOCw3IEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+CiAKLSNpZmRlZiBERUJVR19BTEwKLSNkZWZpbmUgU09GVF9MSU5LX0ZS
QU1FV09SSyhmcmFtZXdvcmspIFNPRlRfTElOS19ERUJVR19MSUJSQVJZKGZyYW1ld29yaykKLSNl
bHNlCi0jZGVmaW5lIFNPRlRfTElOS19GUkFNRVdPUksoZnJhbWV3b3JrKSBTT0ZUX0xJTktfTElC
UkFSWShmcmFtZXdvcmspCi0jZW5kaWYKKyNwcmFnbWEgbWFyayAtIFNvZnQtbGluayBoZWxwZXIg
bWFjcm9zCiAKICNkZWZpbmUgU09GVF9MSU5LX0xJQlJBUllfSEVMUEVSKGxpYiwgc3VmZml4KSBc
CiAgICAgc3RhdGljIEhNT0RVTEUgbGliIyNMaWJyYXJ5KCkgXApAQCAtNDUsNiArNDEsOCBAQAog
I2RlZmluZSBTT0ZUX0xJTktfTElCUkFSWShsaWIpIFNPRlRfTElOS19MSUJSQVJZX0hFTFBFUihs
aWIsIEwiLmRsbCIpCiAjZGVmaW5lIFNPRlRfTElOS19ERUJVR19MSUJSQVJZKGxpYikgU09GVF9M
SU5LX0xJQlJBUllfSEVMUEVSKGxpYiwgTCJfZGVidWcuZGxsIikKIAorI3ByYWdtYSBtYXJrIC0g
U29mdC1saW5rIG1hY3JvcyBmb3IgdXNlIHdpdGhpbiBhIHNpbmdsZSBzb3VyY2UgZmlsZQorCiAj
ZGVmaW5lIFNPRlRfTElOSyhsaWJyYXJ5LCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIGNhbGxp
bmdDb252ZW50aW9uLCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBhcmFtZXRlck5hbWVzKSBcCiAg
ICAgc3RhdGljIHJlc3VsdFR5cGUgY2FsbGluZ0NvbnZlbnRpb24gaW5pdCMjZnVuY3Rpb25OYW1l
IHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAogICAgIHN0YXRpYyByZXN1bHRUeXBlIChjYWxsaW5n
Q29udmVudGlvbipzb2Z0TGluayMjZnVuY3Rpb25OYW1lKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMg
PSBpbml0IyNmdW5jdGlvbk5hbWU7IFwKQEAgLTExNiwyNyArMTE0LDYgQEAKICAgICAgICAgcmV0
dXJuIHNvZnRMaW5rIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKICAgICB9CiAKLSNk
ZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUs
IHBhcmFtZXRlckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKLSAgICBuYW1lc3BhY2Ug
V2ViQ29yZSB7IFwKLSAgICBleHRlcm4gcmVzdWx0VHlwZShfX2NkZWNsKnNvZnRMaW5rIyNmdW5j
dGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAotICAgIH0gXAotICAgIGlubGluZSBy
ZXN1bHRUeXBlIHNvZnRMaW5rXyMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9ucyBc
Ci0gICAgeyBcCi0gICAgICAgIHJldHVybiBXZWJDb3JlOjpzb2Z0TGluayMjZnVuY3Rpb25OYW1l
IHBhcmFtZXRlck5hbWVzOyBcCi0gICAgfQotCi0jZGVmaW5lIFNPRlRfTElOS19GVU5DVElPTl9T
T1VSQ0UobGlicmFyeSwgZnVuY3Rpb25OYW1lLCByZXN1bHRUeXBlLCBwYXJhbWV0ZXJEZWNsYXJh
dGlvbnMsIHBhcmFtZXRlck5hbWVzKSBcCi0gICAgbmFtZXNwYWNlIFdlYkNvcmUgeyBcCi0gICAg
c3RhdGljIHJlc3VsdFR5cGUgX19jZGVjbCBpbml0IyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVj
bGFyYXRpb25zOyBcCi0gICAgcmVzdWx0VHlwZShfX2NkZWNsKnNvZnRMaW5rIyNmdW5jdGlvbk5h
bWUpIHBhcmFtZXRlckRlY2xhcmF0aW9ucyA9IGluaXQjI2Z1bmN0aW9uTmFtZTsgXAotICAgIHN0
YXRpYyByZXN1bHRUeXBlIF9fY2RlY2wgaW5pdCMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xh
cmF0aW9ucyBcCi0gICAgeyBcCi0gICAgICAgIHNvZnRMaW5rIyNmdW5jdGlvbk5hbWUgPSByZWlu
dGVycHJldF9jYXN0PHJlc3VsdFR5cGUgKF9fY2RlY2wqKXBhcmFtZXRlckRlY2xhcmF0aW9ucz4o
U09GVF9MSU5LX0dFVFBST0NBRERSRVNTKGxpYnJhcnkjI0xpYnJhcnkoKSwgI2Z1bmN0aW9uTmFt
ZSkpOyBcCi0gICAgICAgIEFTU0VSVChzb2Z0TGluayMjZnVuY3Rpb25OYW1lKTsgXAotICAgICAg
ICByZXR1cm4gc29mdExpbmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJOYW1lczsgXAotICAgIH0g
XAotICAgIH0KLQogI2RlZmluZSBTT0ZUX0xJTktfRExMX0lNUE9SVF9PUFRJT05BTChsaWJyYXJ5
LCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIGNhbGxpbmdDb252ZW50aW9uLCBwYXJhbWV0ZXJE
ZWNsYXJhdGlvbnMpIFwKICAgICB0eXBlZGVmIHJlc3VsdFR5cGUgKGNhbGxpbmdDb252ZW50aW9u
ICpmdW5jdGlvbk5hbWUjI1B0clR5cGUpIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAogICAgIHN0
YXRpYyBmdW5jdGlvbk5hbWUjI1B0clR5cGUgZnVuY3Rpb25OYW1lIyNQdHIoKSBcCkBAIC0xOTQs
NCArMTcxLDQyIEBACiAgICAgICAgIHJldHVybiAqcHRyOyBcCiAgICAgfSBcCiAKKyNwcmFnbWEg
bWFyayAtIFNvZnQtbGluayBtYWNyb3MgZm9yIHNoYXJpbmcgYWNyb3NzIG11bHRpcGxlIHNvdXJj
ZSBmaWxlcworCisvLyBTZWUgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29m
dExpbmsue2NwcCxofSBmb3IgYW4gZXhhbXBsZSBpbXBsZW1lbnRhdGlvbi4KKy8vIE5PVEU6IFNP
RlRfTElOS19OQU1FU1BBQ0UgbXVzdCBiZSBkZWZpbmVkIGJlZm9yZSB0aGVzZSBtYWNyb3MgYXJl
IHVzZWQuCisKKyNpZmRlZiBERUJVR19BTEwKKyNkZWZpbmUgU09GVF9MSU5LX0ZSQU1FV09SS19T
T1VSQ0UoZnJhbWV3b3JrKSBcCisgICAgbmFtZXNwYWNlIFNPRlRfTElOS19OQU1FU1BBQ0UgeyBc
CisgICAgU09GVF9MSU5LX0RFQlVHX0xJQlJBUlkoZnJhbWV3b3JrKSBcCisgICAgfQorI2Vsc2UK
KyNkZWZpbmUgU09GVF9MSU5LX0ZSQU1FV09SS19TT1VSQ0UoZnJhbWV3b3JrKSBcCisgICAgbmFt
ZXNwYWNlIFNPRlRfTElOS19OQU1FU1BBQ0UgeyBcCisgICAgU09GVF9MSU5LX0xJQlJBUlkoZnJh
bWV3b3JrKSBcCisgICAgfQorI2VuZGlmCisKKyNkZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX0hF
QURFUihsaWJyYXJ5LCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRlckRlY2xhcmF0
aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKKyAgICBuYW1lc3BhY2UgU09GVF9MSU5LX05BTUVTUEFD
RSB7IFwKKyAgICBleHRlcm4gcmVzdWx0VHlwZShfX2NkZWNsKnNvZnRMaW5rIyNsaWJyYXJ5IyNm
dW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAorICAgIH0gXAorICAgIGlubGlu
ZSByZXN1bHRUeXBlIHNvZnRMaW5rXyMjbGlicmFyeSMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRl
Y2xhcmF0aW9ucyBcCisgICAgeyBcCisgICAgICAgIHJldHVybiBTT0ZUX0xJTktfTkFNRVNQQUNF
IyM6OnNvZnRMaW5rIyNsaWJyYXJ5IyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKKyAg
ICB9CisKKyNkZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX1NPVVJDRShsaWJyYXJ5LCBmdW5jdGlv
bk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRlckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMp
IFwKKyAgICBuYW1lc3BhY2UgU09GVF9MSU5LX05BTUVTUEFDRSMjIHsgXAorICAgIHN0YXRpYyBy
ZXN1bHRUeXBlIF9fY2RlY2wgaW5pdCMjbGlicmFyeSMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRl
Y2xhcmF0aW9uczsgXAorICAgIHJlc3VsdFR5cGUoX19jZGVjbCpzb2Z0TGluayMjbGlicmFyeSMj
ZnVuY3Rpb25OYW1lKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMgPSBpbml0IyNsaWJyYXJ5IyNmdW5j
dGlvbk5hbWU7IFwKKyAgICBzdGF0aWMgcmVzdWx0VHlwZSBfX2NkZWNsIGluaXQjI2xpYnJhcnkj
I2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMgXAorICAgIHsgXAorICAgICAgICBz
b2Z0TGluayMjbGlicmFyeSMjZnVuY3Rpb25OYW1lID0gcmVpbnRlcnByZXRfY2FzdDxyZXN1bHRU
eXBlIChfX2NkZWNsKilwYXJhbWV0ZXJEZWNsYXJhdGlvbnM+KFNPRlRfTElOS19HRVRQUk9DQURE
UkVTUyhsaWJyYXJ5IyNMaWJyYXJ5KCksICNmdW5jdGlvbk5hbWUpKTsgXAorICAgICAgICBBU1NF
UlQoc29mdExpbmsjI2xpYnJhcnkjI2Z1bmN0aW9uTmFtZSk7IFwKKyAgICAgICAgcmV0dXJuIHNv
ZnRMaW5rIyNsaWJyYXJ5IyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKKyAgICB9IFwK
KyAgICB9CisKICNlbmRpZiAvLyBTb2Z0TGlua2luZ19oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246994</attachid>
            <date>2015-02-20 13:30:43 -0800</date>
            <delta_ts>2015-02-20 13:46:44 -0800</delta_ts>
            <desc>Patch v2 (for EWS builds)</desc>
            <filename>bug-141849-20150220133034.patch</filename>
            <type>text/plain</type>
            <size>18409</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc5NGU1ZTY5ZDEyNWJl
ZDU0NjEzN2FkZTg0OGY2NzVlZjQzMzczMC4uMjNmNjU1NDc2MGFmNzBmMjZlMzI4YzdjODY3MmMx
NWZiNTU0YzZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE1LTAyLTIwICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBuYW1lc3BhY2Ug
Y29uZmlndXJhYmxlIGZvciBTT0ZUX0xJTktfKl97SEVBREVSLFNPVVJDRX0oKSBtYWNyb3MKKyAg
ICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxODQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyB0aGUgZm9sbG93aW5n
OgorICAgICAgICAtIEludHJvZHVjZXMgU09GVF9MSU5LX05BTUVTUEFDRSB0aGF0IHNob3VsZCBi
ZSBkZWZpbmVkIHdoaWxlCisgICAgICAgICAgdGhlIFNPRlRfTElOS18qX3tIRUFERVIsU09VUkNF
fSgpIG1hY3JvcyBhcmUgdXNlZC4gIFRoaXMgbWFrZXMKKyAgICAgICAgICBpdCBwb3NzaWJsZSB0
byB1c2UgdGhlc2UgbWFjcm9zIGluIG90aGVyIHByb2plY3RzLgorICAgICAgICAtIEFkZHMgU09G
VF9MSU5LX0ZSQU1FV09SS19TT1VSQ0UoKSBtYWNybyBpbiBwcmVwYXJhdGlvbiBmb3IgQnVnCisg
ICAgICAgICAgMTQxODE2LgorICAgICAgICAtIEFkZHMgYmFjayBmcmFtZXdvcmsgYXJndW1lbnQg
dG8gU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUigpCisgICAgICAgICAgYW5kIGluY2x1ZGVzIGZy
YW1ld29yayBuYW1lIGluIGdlbmVyYXRlZCBmdW5jdGlvbiBuYW1lcy4gIFRoaXMKKyAgICAgICAg
ICBhZGRzIG1vcmUgZW50cm9weSB0byB0aGUgbmFtZXMgaW4gY2FzZSB0aGVyZSBhcmUgdHdvIGZ1
bmN0aW9ucworICAgICAgICAgIHdpdGggdGhlIHNhbWUgbmFtZSBpbiBkaWZmZXJlbnQgZnJhbWV3
b3Jrcy4KKworICAgICAgICAqIHBsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAg
ICAgICAgLSBBZGQgRklYTUUgYWJvdXQgVVNFKENPUkVNRURJQSkuCisgICAgICAgIC0gRGVmaW5l
IGFuZCB1bmRlZmluZSBTT0ZUX0xJTktfTkFNRVNQQUNFLgorICAgICAgICAtIFN3aXRjaCBmcm9t
IFNPRlRfTElOS19GUkFNRVdPUksoKSB0bworICAgICAgICAgIFNPRlRfTElOS19GUkFNRVdPUktf
U09VUkNFKCkuCisgICAgICAgICogcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuaDoKKyAg
ICAgICAgLSBBZGQgRklYTUUgYWJvdXQgVVNFKENPUkVNRURJQSkuCisgICAgICAgIC0gRGVmaW5l
IGFuZCB1bmRlZmluZSBTT0ZUX0xJTktfTkFNRVNQQUNFLgorICAgICAgICAtIEFkZCBiYWNrIGZy
YW1ld29yayBhcmd1bWVudCB0byBTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKCkKKyAgICAgICAg
ICBtYWNyb3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU29mdExpbmtpbmcuaDoKKyAgICAg
ICAgLSBBZGQgbWlzc2luZyBoZWFkZXIgZ3VhcmRzLgorICAgICAgICAtIEFkZCBwcmFnbWFzIGZv
ciBkaWZmZXJlbnQgbWFjcm8gZ3JvdXBzLgorICAgICAgICAoU09GVF9MSU5LX0ZSQU1FV09SS19T
T1VSQ0UpOiBBZGQuCisgICAgICAgIC0gSW5jb3Jwb3JhdGVzIG5hbWVzcGFjZSBzbyB0aGF0IGl0
IGRvZXNuJ3QgaGF2ZSB0byBiZSBsaXN0ZWQgaW4KKyAgICAgICAgICB0aGUgKlNvZnRMaW5rLntj
cHAsaH0gZmlsZS4KKyAgICAgICAgKFNPRlRfTElOS19GVU5DVElPTl9IRUFERVIpOiBNb3ZlLiBB
ZGQgYmFjayBmcmFtZXdvcmsgYXJndW1lbnQuCisgICAgICAgIChTT0ZUX0xJTktfRlVOQ1RJT05f
U09VUkNFKTogTW92ZS4KKyAgICAgICAgLSBBZGQgZnJhbWV3b3JrIG5hbWUgdG8gZ2VuZXJhdGVk
IGZ1bmN0aW9uIG5hbWVzLgorCisgICAgICAgICogcGxhdGZvcm0vd2luL1NvZnRMaW5raW5nLmg6
CisgICAgICAgIC0gQWRkIHByYWdtYXMgZm9yIGRpZmZlcmVudCBtYWNybyBncm91cHMuCisgICAg
ICAgIChTT0ZUX0xJTktfRlJBTUVXT1JLX1NPVVJDRSk6IEFkZC4KKyAgICAgICAgLSBJbmNvcnBv
cmF0ZXMgbmFtZXNwYWNlIHNvIHRoYXQgaXQgZG9lc24ndCBoYXZlIHRvIGJlIGxpc3RlZCBpbgor
ICAgICAgICAgIHRoZSAqU29mdExpbmsue2NwcCxofSBmaWxlLgorICAgICAgICAoU09GVF9MSU5L
X0ZVTkNUSU9OX0hFQURFUik6IE1vdmUuIEFkZCBiYWNrIGZyYW1ld29yayBhcmd1bWVudC4KKyAg
ICAgICAgKFNPRlRfTElOS19GVU5DVElPTl9TT1VSQ0UpOiBNb3ZlLgorICAgICAgICAtIEFkZCBm
cmFtZXdvcmsgbmFtZSB0byBnZW5lcmF0ZWQgZnVuY3Rpb24gbmFtZXMuCisKIDIwMTUtMDItMjAg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10g
Y2xlYW51cCBBaXJQbGF5IGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBkYzE3NDU3OGFkNzRkODMxMDU3MjliZjIzMGU2ZDdh
ZmI2ZDczZDRmLi5iMzUyYjMwOWE4ZjMxNWJhOGE1MDRkOGJiZmY3YTRkOGM3NWNhNjNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCkBA
IC0yNSwxNCArMjUsMTUgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lmIFVTRShBVkZPVU5E
QVRJT04pCisvLyBGSVhNRTogU2hvdWxkIGJlIFVTRShDT1JFTUVESUEpLCBidXQgdGhpcyBpc24n
dCBjdXJyZW50bHkgZGVmaW5lZCBvbiBXaW5kb3dzLgogCiAjaW5jbHVkZSAiQ29yZU1lZGlhU1BJ
LmgiCiAjaW5jbHVkZSAiU29mdExpbmtpbmcuaCIKICNpbmNsdWRlIDxDb3JlTWVkaWEvQ29yZU1l
ZGlhLmg+CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLVNPRlRfTElOS19GUkFNRVdPUksoQ29yZU1l
ZGlhKQotfQorI2RlZmluZSBTT0ZUX0xJTktfTkFNRVNQQUNFIFdlYkNvcmUKKworU09GVF9MSU5L
X0ZSQU1FV09SS19TT1VSQ0UoQ29yZU1lZGlhKQogCiBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNF
KENvcmVNZWRpYSwgQ01UaW1lQ29tcGFyZSwgaW50MzJfdCwgKENNVGltZSB0aW1lMSwgQ01UaW1l
IHRpbWUyKSwgKHRpbWUxLCB0aW1lMikpCiBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKENvcmVN
ZWRpYSwgQ01UaW1lR2V0U2Vjb25kcywgRmxvYXQ2NCwgKENNVGltZSB0aW1lKSwgKHRpbWUpKQpA
QCAtNTMsNCArNTQsNiBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKENvcmVNZWRpYSwgQ01U
aW1lQWRkLCBDTVRpbWUsIChDTVRpbWUgYWRkZW5kMSwgQ01UaW1lCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fU09VUkNFKENvcmVNZWRpYSwgQ01UaW1lTWFrZUZyb21EaWN0aW9uYXJ5LCBDTVRpbWUsIChD
RkRpY3Rpb25hcnlSZWYgZGljdCksIChkaWN0KSkKICNlbmRpZiAvLyBQTEFURk9STShXSU4pCiAK
KyN1bmRlZiBTT0ZUX0xJTktfTkFNRVNQQUNFCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9O
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExp
bmsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKaW5k
ZXggNzRmOTMxOWRlNGNkMTM3YzdiNGZjZDZiMjA0ODM5OTQ3NDBmYzZlYS4uY2NhMzc2MjRiMDU0
MDk5ZDIwMWJiYTRhZDljZDY0YjAzZjkzM2QwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCkBAIC0yNiw0NiArMjYsNTEgQEAKICNkZWZpbmUg
Q29yZU1lZGlhU29mdExpbmtfaAogCiAjaWYgVVNFKEFWRk9VTkRBVElPTikKKy8vIEZJWE1FOiBT
aG91bGQgYmUgVVNFKENPUkVNRURJQSksIGJ1dCB0aGlzIGlzbid0IGN1cnJlbnRseSBkZWZpbmVk
IG9uIFdpbmRvd3MuCisKKyNkZWZpbmUgU09GVF9MSU5LX05BTUVTUEFDRSBXZWJDb3JlCiAKICNp
bmNsdWRlICJDb3JlTWVkaWFTUEkuaCIKICNpbmNsdWRlICJTb2Z0TGlua2luZy5oIgogI2luY2x1
ZGUgPENvcmVNZWRpYS9Db3JlTWVkaWEuaD4KIAotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihD
TVRpbWVDb21wYXJlLCBpbnQzMl90LCAoQ01UaW1lIHRpbWUxLCBDTVRpbWUgdGltZTIpLCAodGlt
ZTEsIHRpbWUyKSkKLSNkZWZpbmUgQ01UaW1lQ29tcGFyZSBzb2Z0TGlua19DTVRpbWVDb21wYXJl
Ci1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZUdldFNlY29uZHMsIEZsb2F0NjQsIChD
TVRpbWUgdGltZSksICh0aW1lKSkKLSNkZWZpbmUgQ01UaW1lR2V0U2Vjb25kcyBzb2Z0TGlua19D
TVRpbWVHZXRTZWNvbmRzCi1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZU1ha2UsIENN
VGltZSwgKGludDY0X3QgdmFsdWUsIGludDMyX3QgdGltZXNjYWxlKSwgKHZhbHVlLCB0aW1lc2Nh
bGUpKQotI2RlZmluZSBDTVRpbWVNYWtlIHNvZnRMaW5rX0NNVGltZU1ha2UKLVNPRlRfTElOS19G
VU5DVElPTl9IRUFERVIoQ01UaW1lTWFrZVdpdGhTZWNvbmRzLCBDTVRpbWUsIChGbG9hdDY0IHNl
Y29uZHMsIGludDMyX3QgcHJlZmVycmVkVGltZVNjYWxlKSwgKHNlY29uZHMsIHByZWZlcnJlZFRp
bWVTY2FsZSkpCi0jZGVmaW5lIENNVGltZU1ha2VXaXRoU2Vjb25kcyBzb2Z0TGlua19DTVRpbWVN
YWtlV2l0aFNlY29uZHMKLVNPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ01UaW1lUmFuZ2VHZXRF
bmQsIENNVGltZSwgKENNVGltZVJhbmdlIHJhbmdlKSwgKHJhbmdlKSkKLSNkZWZpbmUgQ01UaW1l
UmFuZ2VHZXRFbmQgc29mdExpbmtfQ01UaW1lUmFuZ2VHZXRFbmQKK1NPRlRfTElOS19GVU5DVElP
Tl9IRUFERVIoQ29yZU1lZGlhLCBDTVRpbWVDb21wYXJlLCBpbnQzMl90LCAoQ01UaW1lIHRpbWUx
LCBDTVRpbWUgdGltZTIpLCAodGltZTEsIHRpbWUyKSkKKyNkZWZpbmUgQ01UaW1lQ29tcGFyZSBz
b2Z0TGlua19Db3JlTWVkaWFfQ01UaW1lQ29tcGFyZQorU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURF
UihDb3JlTWVkaWEsIENNVGltZUdldFNlY29uZHMsIEZsb2F0NjQsIChDTVRpbWUgdGltZSksICh0
aW1lKSkKKyNkZWZpbmUgQ01UaW1lR2V0U2Vjb25kcyBzb2Z0TGlua19Db3JlTWVkaWFfQ01UaW1l
R2V0U2Vjb25kcworU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDb3JlTWVkaWEsIENNVGltZU1h
a2UsIENNVGltZSwgKGludDY0X3QgdmFsdWUsIGludDMyX3QgdGltZXNjYWxlKSwgKHZhbHVlLCB0
aW1lc2NhbGUpKQorI2RlZmluZSBDTVRpbWVNYWtlIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVRpbWVN
YWtlCitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01UaW1lTWFrZVdpdGhT
ZWNvbmRzLCBDTVRpbWUsIChGbG9hdDY0IHNlY29uZHMsIGludDMyX3QgcHJlZmVycmVkVGltZVNj
YWxlKSwgKHNlY29uZHMsIHByZWZlcnJlZFRpbWVTY2FsZSkpCisjZGVmaW5lIENNVGltZU1ha2VX
aXRoU2Vjb25kcyBzb2Z0TGlua19Db3JlTWVkaWFfQ01UaW1lTWFrZVdpdGhTZWNvbmRzCitTT0ZU
X0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01UaW1lUmFuZ2VHZXRFbmQsIENNVGlt
ZSwgKENNVGltZVJhbmdlIHJhbmdlKSwgKHJhbmdlKSkKKyNkZWZpbmUgQ01UaW1lUmFuZ2VHZXRF
bmQgc29mdExpbmtfQ29yZU1lZGlhX0NNVGltZVJhbmdlR2V0RW5kCiAKICNpZiBQTEFURk9STShD
T0NPQSkKIAotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDTU5vdGlmaWNhdGlvbkNlbnRlckdl
dERlZmF1bHRMb2NhbENlbnRlciwgQ01Ob3RpZmljYXRpb25DZW50ZXJSZWYsICh2b2lkKSwgKCkp
OwotI2RlZmluZSBDTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlciBzb2Z0
TGlua19DTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlcgotU09GVF9MSU5L
X0ZVTkNUSU9OX0hFQURFUihDTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVyLCBPU1N0YXR1
cywgKENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwgY29uc3Qgdm9pZCogbGlzdGVuZXIs
IENNTm90aWZpY2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIENGU3RyaW5nUmVmIG5vdGlmaWNhdGlv
biwgY29uc3Qgdm9pZCogb2JqZWN0LCBVSW50MzIgZmxhZ3MpLCAoY2VudGVyLCBsaXN0ZW5lciwg
Y2FsbGJhY2ssIG5vdGlmaWNhdGlvbiwgb2JqZWN0LCBmbGFncykpCi0jZGVmaW5lIENNTm90aWZp
Y2F0aW9uQ2VudGVyQWRkTGlzdGVuZXIgc29mdExpbmtfQ01Ob3RpZmljYXRpb25DZW50ZXJBZGRM
aXN0ZW5lcgotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDTU5vdGlmaWNhdGlvbkNlbnRlclJl
bW92ZUxpc3RlbmVyLCBPU1N0YXR1cywgKENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwg
Y29uc3Qgdm9pZCogbGlzdGVuZXIsIENNTm90aWZpY2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIENG
U3RyaW5nUmVmIG5vdGlmaWNhdGlvbiwgY29uc3Qgdm9pZCogb2JqZWN0KSwgKGNlbnRlciwgbGlz
dGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRpb24sIG9iamVjdCkpCi0jZGVmaW5lIENNTm90aWZp
Y2F0aW9uQ2VudGVyUmVtb3ZlTGlzdGVuZXIgc29mdExpbmtfQ01Ob3RpZmljYXRpb25DZW50ZXJS
ZW1vdmVMaXN0ZW5lcgotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDTVRpbWViYXNlR2V0VGlt
ZSwgQ01UaW1lLCAoQ01UaW1lYmFzZVJlZiB0aW1lYmFzZSksICh0aW1lYmFzZSkpCi0jZGVmaW5l
IENNVGltZWJhc2VHZXRUaW1lIHNvZnRMaW5rX0NNVGltZWJhc2VHZXRUaW1lCi1TT0ZUX0xJTktf
RlVOQ1RJT05fSEVBREVSKENNVGltZUNvcHlBc0RpY3Rpb25hcnksIENGRGljdGlvbmFyeVJlZiwg
KENNVGltZSB0aW1lLCBDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IpLCAodGltZSwgYWxsb2NhdG9y
KSkKLSNkZWZpbmUgQ01UaW1lQ29weUFzRGljdGlvbmFyeSBzb2Z0TGlua19DTVRpbWVDb3B5QXNE
aWN0aW9uYXJ5CitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01Ob3RpZmlj
YXRpb25DZW50ZXJHZXREZWZhdWx0TG9jYWxDZW50ZXIsIENNTm90aWZpY2F0aW9uQ2VudGVyUmVm
LCAodm9pZCksICgpKTsKKyNkZWZpbmUgQ01Ob3RpZmljYXRpb25DZW50ZXJHZXREZWZhdWx0TG9j
YWxDZW50ZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVs
dExvY2FsQ2VudGVyCitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01Ob3Rp
ZmljYXRpb25DZW50ZXJBZGRMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5vdGlmaWNhdGlvbkNlbnRl
clJlZiBjZW50ZXIsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlmaWNhdGlvbkNhbGxiYWNr
IGNhbGxiYWNrLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIG9iamVjdCwg
VUludDMyIGZsYWdzKSwgKGNlbnRlciwgbGlzdGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRpb24s
IG9iamVjdCwgZmxhZ3MpKQorI2RlZmluZSBDTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVy
IHNvZnRMaW5rX0NvcmVNZWRpYV9DTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVyCitTT0ZU
X0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01Ob3RpZmljYXRpb25DZW50ZXJSZW1v
dmVMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiBjZW50ZXIsIGNv
bnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlmaWNhdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBDRlN0
cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIG9iamVjdCksIChjZW50ZXIsIGxpc3Rl
bmVyLCBjYWxsYmFjaywgbm90aWZpY2F0aW9uLCBvYmplY3QpKQorI2RlZmluZSBDTU5vdGlmaWNh
dGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyIHNvZnRMaW5rX0NvcmVNZWRpYV9DTU5vdGlmaWNhdGlv
bkNlbnRlclJlbW92ZUxpc3RlbmVyCitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRp
YSwgQ01UaW1lYmFzZUdldFRpbWUsIENNVGltZSwgKENNVGltZWJhc2VSZWYgdGltZWJhc2UpLCAo
dGltZWJhc2UpKQorI2RlZmluZSBDTVRpbWViYXNlR2V0VGltZSBzb2Z0TGlua19Db3JlTWVkaWFf
Q01UaW1lYmFzZUdldFRpbWUKK1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ29yZU1lZGlhLCBD
TVRpbWVDb3B5QXNEaWN0aW9uYXJ5LCBDRkRpY3Rpb25hcnlSZWYsIChDTVRpbWUgdGltZSwgQ0ZB
bGxvY2F0b3JSZWYgYWxsb2NhdG9yKSwgKHRpbWUsIGFsbG9jYXRvcikpCisjZGVmaW5lIENNVGlt
ZUNvcHlBc0RpY3Rpb25hcnkgc29mdExpbmtfQ29yZU1lZGlhX0NNVGltZUNvcHlBc0RpY3Rpb25h
cnkKIAogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCiAjaWYgUExBVEZPUk0oV0lOKQogCi1T
T0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZUFkZCwgQ01UaW1lLCAoQ01UaW1lIGFkZGVu
ZDEsIENNVGltZSBhZGRlbmQyKSwgKGFkZGVuZDEsIGFkZGVuZDIpKQotI2RlZmluZSBDTVRpbWVB
ZGQgc29mdExpbmtfQ01UaW1lQWRkCi1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZU1h
a2VGcm9tRGljdGlvbmFyeSwgQ01UaW1lLCAoQ0ZEaWN0aW9uYXJ5UmVmIGRpY3QpLCAoZGljdCkp
Ci0jZGVmaW5lIENNVGltZU1ha2VGcm9tRGljdGlvbmFyeSBzb2Z0TGlua19DTVRpbWVNYWtlRnJv
bURpY3Rpb25hcnkKK1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ29yZU1lZGlhLCBDTVRpbWVB
ZGQsIENNVGltZSwgKENNVGltZSBhZGRlbmQxLCBDTVRpbWUgYWRkZW5kMiksIChhZGRlbmQxLCBh
ZGRlbmQyKSkKKyNkZWZpbmUgQ01UaW1lQWRkIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVRpbWVBZGQK
K1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ29yZU1lZGlhLCBDTVRpbWVNYWtlRnJvbURpY3Rp
b25hcnksIENNVGltZSwgKENGRGljdGlvbmFyeVJlZiBkaWN0KSwgKGRpY3QpKQorI2RlZmluZSBD
TVRpbWVNYWtlRnJvbURpY3Rpb25hcnkgc29mdExpbmtfQ29yZU1lZGlhX0NNVGltZU1ha2VGcm9t
RGljdGlvbmFyeQogCiAjZW5kaWYgLy8gUExBVEZPUk0oV0lOKQogCisjdW5kZWYgU09GVF9MSU5L
X05BTUVTUEFDRQorCiAjZW5kaWYgLy8gVVNFKEFWRk9VTkRBVElPTikKIAogI2VuZGlmIC8vIENv
cmVNZWRpYVNvZnRMaW5rX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9Tb2Z0TGlua2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NvZnRMaW5raW5n
LmgKaW5kZXggYTMxZmQ0MzQ1YzZmNWIyN2QwMDA5ZmQ2Y2FiNzc1YWQ5YzE3MWU2Yy4uNDA2ZmI3
ZTRkZjQ2YWU1YjRkMDRmMDdmNWU1ZWJlNDVlYzA4ZWIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1NvZnRMaW5raW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1NvZnRMaW5raW5nLmgKQEAgLTIyLDYgKzIyLDkgQEAKICAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
KyNpZm5kZWYgU29mdExpbmtpbmdfaAorI2RlZmluZSBTb2Z0TGlua2luZ19oCisKICNpbXBvcnQg
PHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW1wb3J0IDxkbGZjbi5oPgogCkBAIC0yOSw2ICszMiw4IEBA
CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KICNlbmRpZgogCisjcHJhZ21hIG1hcmsgLSBTb2Z0
LWxpbmsgbWFjcm9zIGZvciB1c2Ugd2l0aGluIGEgc2luZ2xlIHNvdXJjZSBmaWxlCisKICNkZWZp
bmUgU09GVF9MSU5LX0xJQlJBUlkobGliKSBcCiAgICAgc3RhdGljIHZvaWQqIGxpYiMjTGlicmFy
eSgpIFwKICAgICB7IFwKQEAgLTEwOSwzNiArMTE0LDYgQEAKICAgICAgICAgcmV0dXJuIHNvZnRM
aW5rIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKICAgICB9CiAKLSNkZWZpbmUgU09G
VF9MSU5LX0ZVTkNUSU9OX0hFQURFUihmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRl
ckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKLSAgICBXVEZfRVhURVJOX0NfQkVHSU4g
XAotICAgIHJlc3VsdFR5cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAot
ICAgIFdURl9FWFRFUk5fQ19FTkQgXAotICAgIG5hbWVzcGFjZSBXZWJDb3JlIHsgXAotICAgIGV4
dGVybiByZXN1bHRUeXBlICgqc29mdExpbmsjI2Z1bmN0aW9uTmFtZSkgcGFyYW1ldGVyRGVjbGFy
YXRpb25zOyBcCi0gICAgfSBcCi0gICAgaW5saW5lIHJlc3VsdFR5cGUgc29mdExpbmtfIyNmdW5j
dGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zIFwKLSAgICB7IFwKLSAgICAgICAgcmV0dXJu
IFdlYkNvcmU6OnNvZnRMaW5rIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKLSAgICB9
Ci0KLSNkZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX1NPVVJDRShmcmFtZXdvcmssIGZ1bmN0aW9u
TmFtZSwgcmVzdWx0VHlwZSwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykg
XAotICAgIFdURl9FWFRFUk5fQ19CRUdJTiBcCi0gICAgcmVzdWx0VHlwZSBmdW5jdGlvbk5hbWUg
cGFyYW1ldGVyRGVjbGFyYXRpb25zOyBcCi0gICAgV1RGX0VYVEVSTl9DX0VORCBcCi0gICAgbmFt
ZXNwYWNlIFdlYkNvcmUgeyBcCi0gICAgc3RhdGljIHJlc3VsdFR5cGUgaW5pdCMjZnVuY3Rpb25O
YW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAotICAgIHJlc3VsdFR5cGUgKCpzb2Z0TGluayMj
ZnVuY3Rpb25OYW1lKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMgPSBpbml0IyNmdW5jdGlvbk5hbWU7
IFwKLSAgICBzdGF0aWMgcmVzdWx0VHlwZSBpbml0IyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVj
bGFyYXRpb25zIFwKLSAgICB7IFwKLSAgICAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNl
OyBcCi0gICAgICAgIGRpc3BhdGNoX29uY2UoJm9uY2UsIF57IFwKLSAgICAgICAgICAgIHNvZnRM
aW5rIyNmdW5jdGlvbk5hbWUgPSAocmVzdWx0VHlwZSAoKikgcGFyYW1ldGVyRGVjbGFyYXRpb25z
KSBkbHN5bShmcmFtZXdvcmsjI0xpYnJhcnkoKSwgI2Z1bmN0aW9uTmFtZSk7IFwKLSAgICAgICAg
ICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uoc29mdExpbmsjI2Z1bmN0aW9uTmFtZSwgIiVzIiwgZGxl
cnJvcigpKTsgXAotICAgICAgICB9KTsgXAotICAgICAgICByZXR1cm4gc29mdExpbmsjI2Z1bmN0
aW9uTmFtZSBwYXJhbWV0ZXJOYW1lczsgXAotICAgIH0gXAotICAgIH0KLQogI2RlZmluZSBTT0ZU
X0xJTktfTUFZX0ZBSUwoZnJhbWV3b3JrLCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFt
ZXRlckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKICAgICBXVEZfRVhURVJOX0NfQkVH
SU4gXAogICAgIHJlc3VsdFR5cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsg
XApAQCAtMzEzLDMgKzI4OCw1NCBAQAogICAgICAgICBnZXQjI25hbWUgPSBuYW1lIyNGdW5jdGlv
bjsgXAogICAgICAgICByZXR1cm4gdHJ1ZTsgXAogICAgIH0KKworI3ByYWdtYSBtYXJrIC0gU29m
dC1saW5rIG1hY3JvcyBmb3Igc2hhcmluZyBhY3Jvc3MgbXVsdGlwbGUgc291cmNlIGZpbGVzCisK
Ky8vIFNlZSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay57Y3Bw
LGh9IGZvciBhbiBleGFtcGxlIGltcGxlbWVudGF0aW9uLgorLy8gTk9URTogU09GVF9MSU5LX05B
TUVTUEFDRSBtdXN0IGJlIGRlZmluZWQgYmVmb3JlIHRoZXNlIG1hY3JvcyBhcmUgdXNlZC4KKwor
I2RlZmluZSBTT0ZUX0xJTktfRlJBTUVXT1JLX1NPVVJDRShmcmFtZXdvcmspIFwKKyAgICBuYW1l
c3BhY2UgU09GVF9MSU5LX05BTUVTUEFDRSB7IFwKKyAgICBzdGF0aWMgdm9pZCogZnJhbWV3b3Jr
IyNMaWJyYXJ5KCkgXAorICAgIHsgXAorICAgICAgICBzdGF0aWMgdm9pZCogZnJhbWV3b3JrTGli
cmFyeTsgXAorICAgICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2U7IFwKKyAgICAgICAg
ZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsgXAorICAgICAgICAgICAgZnJhbWV3b3JrTGlicmFyeSA9
IGRsb3BlbigiL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvIiAjZnJhbWV3b3JrICIuZnJhbWV3
b3JrLyIgI2ZyYW1ld29yaywgUlRMRF9OT1cpOyBcCisgICAgICAgICAgICBBU1NFUlRfV0lUSF9N
RVNTQUdFKGZyYW1ld29ya0xpYnJhcnksICIlcyIsIGRsZXJyb3IoKSk7IFwKKyAgICAgICAgfSk7
IFwKKyAgICAgICAgcmV0dXJuIGZyYW1ld29ya0xpYnJhcnk7IFwKKyAgICB9IFwKKyAgICB9CisK
KyNkZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihmcmFtZXdvcmssIGZ1bmN0aW9uTmFt
ZSwgcmVzdWx0VHlwZSwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykgXAor
ICAgIFdURl9FWFRFUk5fQ19CRUdJTiBcCisgICAgcmVzdWx0VHlwZSBmdW5jdGlvbk5hbWUgcGFy
YW1ldGVyRGVjbGFyYXRpb25zOyBcCisgICAgV1RGX0VYVEVSTl9DX0VORCBcCisgICAgbmFtZXNw
YWNlIFNPRlRfTElOS19OQU1FU1BBQ0UgeyBcCisgICAgZXh0ZXJuIHJlc3VsdFR5cGUgKCpzb2Z0
TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAor
ICAgIH0gXAorICAgIGlubGluZSByZXN1bHRUeXBlIHNvZnRMaW5rXyMjZnJhbWV3b3JrIyNfIyNm
dW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zIFwKKyAgICB7IFwKKyAgICAgICAgcmV0
dXJuIFNPRlRfTElOS19OQU1FU1BBQ0UjIzo6c29mdExpbmsjI2ZyYW1ld29yayMjZnVuY3Rpb25O
YW1lIHBhcmFtZXRlck5hbWVzOyBcCisgICAgfQorCisjZGVmaW5lIFNPRlRfTElOS19GVU5DVElP
Tl9TT1VSQ0UoZnJhbWV3b3JrLCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRlckRl
Y2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKKyAgICBXVEZfRVhURVJOX0NfQkVHSU4gXAor
ICAgIHJlc3VsdFR5cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAorICAg
IFdURl9FWFRFUk5fQ19FTkQgXAorICAgIG5hbWVzcGFjZSBTT0ZUX0xJTktfTkFNRVNQQUNFIHsg
XAorICAgIHN0YXRpYyByZXN1bHRUeXBlIGluaXQjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1lIHBh
cmFtZXRlckRlY2xhcmF0aW9uczsgXAorICAgIHJlc3VsdFR5cGUgKCpzb2Z0TGluayMjZnJhbWV3
b3JrIyNmdW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9ucyA9IGluaXQjI2ZyYW1ld29y
ayMjZnVuY3Rpb25OYW1lOyBcCisgICAgc3RhdGljIHJlc3VsdFR5cGUgaW5pdCMjZnJhbWV3b3Jr
IyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zIFwKKyAgICB7IFwKKyAgICAgICAg
c3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlOyBcCisgICAgICAgIGRpc3BhdGNoX29uY2UoJm9u
Y2UsIF57IFwKKyAgICAgICAgICAgIHNvZnRMaW5rIyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSA9
IChyZXN1bHRUeXBlICgqKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMpIGRsc3ltKGZyYW1ld29yayMj
TGlicmFyeSgpLCAjZnVuY3Rpb25OYW1lKTsgXAorICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVT
U0FHRShzb2Z0TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUsICIlcyIsIGRsZXJyb3IoKSk7
IFwKKyAgICAgICAgfSk7IFwKKyAgICAgICAgcmV0dXJuIHNvZnRMaW5rIyNmcmFtZXdvcmsjI2Z1
bmN0aW9uTmFtZSBwYXJhbWV0ZXJOYW1lczsgXAorICAgIH0gXAorICAgIH0KKworI2VuZGlmIC8v
IFNvZnRMaW5raW5nX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9T
b2Z0TGlua2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1NvZnRMaW5raW5nLmgK
aW5kZXggNzI5NTQwMmJkYTAxOGNmMTM0Zjc3OGViN2QwYTNiM2M1NzUwMWVjYi4uZjI3NjQ3OWM4
MWQ2NDFiMzU2NmU1ZWM0MzIyMzY3MDUwMzU5ZmM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL1NvZnRMaW5raW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL1NvZnRMaW5raW5nLmgKQEAgLTI4LDExICsyOCw3IEBACiAjaW5jbHVkZSA8d2luZG93
cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKLSNpZmRlZiBERUJVR19BTEwKLSNk
ZWZpbmUgU09GVF9MSU5LX0ZSQU1FV09SSyhmcmFtZXdvcmspIFNPRlRfTElOS19ERUJVR19MSUJS
QVJZKGZyYW1ld29yaykKLSNlbHNlCi0jZGVmaW5lIFNPRlRfTElOS19GUkFNRVdPUksoZnJhbWV3
b3JrKSBTT0ZUX0xJTktfTElCUkFSWShmcmFtZXdvcmspCi0jZW5kaWYKKyNwcmFnbWEgbWFyayAt
IFNvZnQtbGluayBoZWxwZXIgbWFjcm9zCiAKICNkZWZpbmUgU09GVF9MSU5LX0xJQlJBUllfSEVM
UEVSKGxpYiwgc3VmZml4KSBcCiAgICAgc3RhdGljIEhNT0RVTEUgbGliIyNMaWJyYXJ5KCkgXApA
QCAtNDUsNiArNDEsOCBAQAogI2RlZmluZSBTT0ZUX0xJTktfTElCUkFSWShsaWIpIFNPRlRfTElO
S19MSUJSQVJZX0hFTFBFUihsaWIsIEwiLmRsbCIpCiAjZGVmaW5lIFNPRlRfTElOS19ERUJVR19M
SUJSQVJZKGxpYikgU09GVF9MSU5LX0xJQlJBUllfSEVMUEVSKGxpYiwgTCJfZGVidWcuZGxsIikK
IAorI3ByYWdtYSBtYXJrIC0gU29mdC1saW5rIG1hY3JvcyBmb3IgdXNlIHdpdGhpbiBhIHNpbmds
ZSBzb3VyY2UgZmlsZQorCiAjZGVmaW5lIFNPRlRfTElOSyhsaWJyYXJ5LCBmdW5jdGlvbk5hbWUs
IHJlc3VsdFR5cGUsIGNhbGxpbmdDb252ZW50aW9uLCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBh
cmFtZXRlck5hbWVzKSBcCiAgICAgc3RhdGljIHJlc3VsdFR5cGUgY2FsbGluZ0NvbnZlbnRpb24g
aW5pdCMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAogICAgIHN0YXRpYyBy
ZXN1bHRUeXBlIChjYWxsaW5nQ29udmVudGlvbipzb2Z0TGluayMjZnVuY3Rpb25OYW1lKSBwYXJh
bWV0ZXJEZWNsYXJhdGlvbnMgPSBpbml0IyNmdW5jdGlvbk5hbWU7IFwKQEAgLTExNiwyNyArMTE0
LDYgQEAKICAgICAgICAgcmV0dXJuIHNvZnRMaW5rIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFt
ZXM7IFwKICAgICB9CiAKLSNkZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihmdW5jdGlv
bk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRlckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMp
IFwKLSAgICBuYW1lc3BhY2UgV2ViQ29yZSB7IFwKLSAgICBleHRlcm4gcmVzdWx0VHlwZShfX2Nk
ZWNsKnNvZnRMaW5rIyNmdW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAotICAg
IH0gXAotICAgIGlubGluZSByZXN1bHRUeXBlIHNvZnRMaW5rXyMjZnVuY3Rpb25OYW1lIHBhcmFt
ZXRlckRlY2xhcmF0aW9ucyBcCi0gICAgeyBcCi0gICAgICAgIHJldHVybiBXZWJDb3JlOjpzb2Z0
TGluayMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlck5hbWVzOyBcCi0gICAgfQotCi0jZGVmaW5lIFNP
RlRfTElOS19GVU5DVElPTl9TT1VSQ0UobGlicmFyeSwgZnVuY3Rpb25OYW1lLCByZXN1bHRUeXBl
LCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBhcmFtZXRlck5hbWVzKSBcCi0gICAgbmFtZXNwYWNl
IFdlYkNvcmUgeyBcCi0gICAgc3RhdGljIHJlc3VsdFR5cGUgX19jZGVjbCBpbml0IyNmdW5jdGlv
bk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zOyBcCi0gICAgcmVzdWx0VHlwZShfX2NkZWNsKnNv
ZnRMaW5rIyNmdW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9ucyA9IGluaXQjI2Z1bmN0
aW9uTmFtZTsgXAotICAgIHN0YXRpYyByZXN1bHRUeXBlIF9fY2RlY2wgaW5pdCMjZnVuY3Rpb25O
YW1lIHBhcmFtZXRlckRlY2xhcmF0aW9ucyBcCi0gICAgeyBcCi0gICAgICAgIHNvZnRMaW5rIyNm
dW5jdGlvbk5hbWUgPSByZWludGVycHJldF9jYXN0PHJlc3VsdFR5cGUgKF9fY2RlY2wqKXBhcmFt
ZXRlckRlY2xhcmF0aW9ucz4oU09GVF9MSU5LX0dFVFBST0NBRERSRVNTKGxpYnJhcnkjI0xpYnJh
cnkoKSwgI2Z1bmN0aW9uTmFtZSkpOyBcCi0gICAgICAgIEFTU0VSVChzb2Z0TGluayMjZnVuY3Rp
b25OYW1lKTsgXAotICAgICAgICByZXR1cm4gc29mdExpbmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0
ZXJOYW1lczsgXAotICAgIH0gXAotICAgIH0KLQogI2RlZmluZSBTT0ZUX0xJTktfRExMX0lNUE9S
VF9PUFRJT05BTChsaWJyYXJ5LCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIGNhbGxpbmdDb252
ZW50aW9uLCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMpIFwKICAgICB0eXBlZGVmIHJlc3VsdFR5cGUg
KGNhbGxpbmdDb252ZW50aW9uICpmdW5jdGlvbk5hbWUjI1B0clR5cGUpIHBhcmFtZXRlckRlY2xh
cmF0aW9uczsgXAogICAgIHN0YXRpYyBmdW5jdGlvbk5hbWUjI1B0clR5cGUgZnVuY3Rpb25OYW1l
IyNQdHIoKSBcCkBAIC0xOTQsNCArMTcxLDQyIEBACiAgICAgICAgIHJldHVybiAqcHRyOyBcCiAg
ICAgfSBcCiAKKyNwcmFnbWEgbWFyayAtIFNvZnQtbGluayBtYWNyb3MgZm9yIHNoYXJpbmcgYWNy
b3NzIG11bHRpcGxlIHNvdXJjZSBmaWxlcworCisvLyBTZWUgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2YvQ29yZU1lZGlhU29mdExpbmsue2NwcCxofSBmb3IgYW4gZXhhbXBsZSBpbXBsZW1lbnRh
dGlvbi4KKy8vIE5PVEU6IFNPRlRfTElOS19OQU1FU1BBQ0UgbXVzdCBiZSBkZWZpbmVkIGJlZm9y
ZSB0aGVzZSBtYWNyb3MgYXJlIHVzZWQuCisKKyNpZmRlZiBERUJVR19BTEwKKyNkZWZpbmUgU09G
VF9MSU5LX0ZSQU1FV09SS19TT1VSQ0UoZnJhbWV3b3JrKSBcCisgICAgbmFtZXNwYWNlIFNPRlRf
TElOS19OQU1FU1BBQ0UgeyBcCisgICAgU09GVF9MSU5LX0RFQlVHX0xJQlJBUlkoZnJhbWV3b3Jr
KSBcCisgICAgfQorI2Vsc2UKKyNkZWZpbmUgU09GVF9MSU5LX0ZSQU1FV09SS19TT1VSQ0UoZnJh
bWV3b3JrKSBcCisgICAgbmFtZXNwYWNlIFNPRlRfTElOS19OQU1FU1BBQ0UgeyBcCisgICAgU09G
VF9MSU5LX0xJQlJBUlkoZnJhbWV3b3JrKSBcCisgICAgfQorI2VuZGlmCisKKyNkZWZpbmUgU09G
VF9MSU5LX0ZVTkNUSU9OX0hFQURFUihsaWJyYXJ5LCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUs
IHBhcmFtZXRlckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKKyAgICBuYW1lc3BhY2Ug
U09GVF9MSU5LX05BTUVTUEFDRSB7IFwKKyAgICBleHRlcm4gcmVzdWx0VHlwZShfX2NkZWNsKnNv
ZnRMaW5rIyNsaWJyYXJ5IyNmdW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAor
ICAgIH0gXAorICAgIGlubGluZSByZXN1bHRUeXBlIHNvZnRMaW5rXyMjbGlicmFyeSMjXyMjZnVu
Y3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9ucyBcCisgICAgeyBcCisgICAgICAgIHJldHVy
biBTT0ZUX0xJTktfTkFNRVNQQUNFIyM6OnNvZnRMaW5rIyNsaWJyYXJ5IyNmdW5jdGlvbk5hbWUg
cGFyYW1ldGVyTmFtZXM7IFwKKyAgICB9CisKKyNkZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX1NP
VVJDRShsaWJyYXJ5LCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRlckRlY2xhcmF0
aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKKyAgICBuYW1lc3BhY2UgU09GVF9MSU5LX05BTUVTUEFD
RSMjIHsgXAorICAgIHN0YXRpYyByZXN1bHRUeXBlIF9fY2RlY2wgaW5pdCMjbGlicmFyeSMjZnVu
Y3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAorICAgIHJlc3VsdFR5cGUoX19jZGVj
bCpzb2Z0TGluayMjbGlicmFyeSMjZnVuY3Rpb25OYW1lKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMg
PSBpbml0IyNsaWJyYXJ5IyNmdW5jdGlvbk5hbWU7IFwKKyAgICBzdGF0aWMgcmVzdWx0VHlwZSBf
X2NkZWNsIGluaXQjI2xpYnJhcnkjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMg
XAorICAgIHsgXAorICAgICAgICBzb2Z0TGluayMjbGlicmFyeSMjZnVuY3Rpb25OYW1lID0gcmVp
bnRlcnByZXRfY2FzdDxyZXN1bHRUeXBlIChfX2NkZWNsKilwYXJhbWV0ZXJEZWNsYXJhdGlvbnM+
KFNPRlRfTElOS19HRVRQUk9DQUREUkVTUyhsaWJyYXJ5IyNMaWJyYXJ5KCksICNmdW5jdGlvbk5h
bWUpKTsgXAorICAgICAgICBBU1NFUlQoc29mdExpbmsjI2xpYnJhcnkjI2Z1bmN0aW9uTmFtZSk7
IFwKKyAgICAgICAgcmV0dXJuIHNvZnRMaW5rIyNsaWJyYXJ5IyNmdW5jdGlvbk5hbWUgcGFyYW1l
dGVyTmFtZXM7IFwKKyAgICB9IFwKKyAgICB9CisKICNlbmRpZiAvLyBTb2Z0TGlua2luZ19oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246996</attachid>
            <date>2015-02-20 13:46:47 -0800</date>
            <delta_ts>2015-02-20 19:19:39 -0800</delta_ts>
            <desc>Patch v3 (for EWS builds)</desc>
            <filename>bug-141849-20150220134638.patch</filename>
            <type>text/plain</type>
            <size>18459</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc5NGU1ZTY5ZDEyNWJl
ZDU0NjEzN2FkZTg0OGY2NzVlZjQzMzczMC4uMjNmNjU1NDc2MGFmNzBmMjZlMzI4YzdjODY3MmMx
NWZiNTU0YzZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE1LTAyLTIwICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBuYW1lc3BhY2Ug
Y29uZmlndXJhYmxlIGZvciBTT0ZUX0xJTktfKl97SEVBREVSLFNPVVJDRX0oKSBtYWNyb3MKKyAg
ICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxODQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyB0aGUgZm9sbG93aW5n
OgorICAgICAgICAtIEludHJvZHVjZXMgU09GVF9MSU5LX05BTUVTUEFDRSB0aGF0IHNob3VsZCBi
ZSBkZWZpbmVkIHdoaWxlCisgICAgICAgICAgdGhlIFNPRlRfTElOS18qX3tIRUFERVIsU09VUkNF
fSgpIG1hY3JvcyBhcmUgdXNlZC4gIFRoaXMgbWFrZXMKKyAgICAgICAgICBpdCBwb3NzaWJsZSB0
byB1c2UgdGhlc2UgbWFjcm9zIGluIG90aGVyIHByb2plY3RzLgorICAgICAgICAtIEFkZHMgU09G
VF9MSU5LX0ZSQU1FV09SS19TT1VSQ0UoKSBtYWNybyBpbiBwcmVwYXJhdGlvbiBmb3IgQnVnCisg
ICAgICAgICAgMTQxODE2LgorICAgICAgICAtIEFkZHMgYmFjayBmcmFtZXdvcmsgYXJndW1lbnQg
dG8gU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUigpCisgICAgICAgICAgYW5kIGluY2x1ZGVzIGZy
YW1ld29yayBuYW1lIGluIGdlbmVyYXRlZCBmdW5jdGlvbiBuYW1lcy4gIFRoaXMKKyAgICAgICAg
ICBhZGRzIG1vcmUgZW50cm9weSB0byB0aGUgbmFtZXMgaW4gY2FzZSB0aGVyZSBhcmUgdHdvIGZ1
bmN0aW9ucworICAgICAgICAgIHdpdGggdGhlIHNhbWUgbmFtZSBpbiBkaWZmZXJlbnQgZnJhbWV3
b3Jrcy4KKworICAgICAgICAqIHBsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAg
ICAgICAgLSBBZGQgRklYTUUgYWJvdXQgVVNFKENPUkVNRURJQSkuCisgICAgICAgIC0gRGVmaW5l
IGFuZCB1bmRlZmluZSBTT0ZUX0xJTktfTkFNRVNQQUNFLgorICAgICAgICAtIFN3aXRjaCBmcm9t
IFNPRlRfTElOS19GUkFNRVdPUksoKSB0bworICAgICAgICAgIFNPRlRfTElOS19GUkFNRVdPUktf
U09VUkNFKCkuCisgICAgICAgICogcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuaDoKKyAg
ICAgICAgLSBBZGQgRklYTUUgYWJvdXQgVVNFKENPUkVNRURJQSkuCisgICAgICAgIC0gRGVmaW5l
IGFuZCB1bmRlZmluZSBTT0ZUX0xJTktfTkFNRVNQQUNFLgorICAgICAgICAtIEFkZCBiYWNrIGZy
YW1ld29yayBhcmd1bWVudCB0byBTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKCkKKyAgICAgICAg
ICBtYWNyb3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU29mdExpbmtpbmcuaDoKKyAgICAg
ICAgLSBBZGQgbWlzc2luZyBoZWFkZXIgZ3VhcmRzLgorICAgICAgICAtIEFkZCBwcmFnbWFzIGZv
ciBkaWZmZXJlbnQgbWFjcm8gZ3JvdXBzLgorICAgICAgICAoU09GVF9MSU5LX0ZSQU1FV09SS19T
T1VSQ0UpOiBBZGQuCisgICAgICAgIC0gSW5jb3Jwb3JhdGVzIG5hbWVzcGFjZSBzbyB0aGF0IGl0
IGRvZXNuJ3QgaGF2ZSB0byBiZSBsaXN0ZWQgaW4KKyAgICAgICAgICB0aGUgKlNvZnRMaW5rLntj
cHAsaH0gZmlsZS4KKyAgICAgICAgKFNPRlRfTElOS19GVU5DVElPTl9IRUFERVIpOiBNb3ZlLiBB
ZGQgYmFjayBmcmFtZXdvcmsgYXJndW1lbnQuCisgICAgICAgIChTT0ZUX0xJTktfRlVOQ1RJT05f
U09VUkNFKTogTW92ZS4KKyAgICAgICAgLSBBZGQgZnJhbWV3b3JrIG5hbWUgdG8gZ2VuZXJhdGVk
IGZ1bmN0aW9uIG5hbWVzLgorCisgICAgICAgICogcGxhdGZvcm0vd2luL1NvZnRMaW5raW5nLmg6
CisgICAgICAgIC0gQWRkIHByYWdtYXMgZm9yIGRpZmZlcmVudCBtYWNybyBncm91cHMuCisgICAg
ICAgIChTT0ZUX0xJTktfRlJBTUVXT1JLX1NPVVJDRSk6IEFkZC4KKyAgICAgICAgLSBJbmNvcnBv
cmF0ZXMgbmFtZXNwYWNlIHNvIHRoYXQgaXQgZG9lc24ndCBoYXZlIHRvIGJlIGxpc3RlZCBpbgor
ICAgICAgICAgIHRoZSAqU29mdExpbmsue2NwcCxofSBmaWxlLgorICAgICAgICAoU09GVF9MSU5L
X0ZVTkNUSU9OX0hFQURFUik6IE1vdmUuIEFkZCBiYWNrIGZyYW1ld29yayBhcmd1bWVudC4KKyAg
ICAgICAgKFNPRlRfTElOS19GVU5DVElPTl9TT1VSQ0UpOiBNb3ZlLgorICAgICAgICAtIEFkZCBm
cmFtZXdvcmsgbmFtZSB0byBnZW5lcmF0ZWQgZnVuY3Rpb24gbmFtZXMuCisKIDIwMTUtMDItMjAg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10g
Y2xlYW51cCBBaXJQbGF5IGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0Nv
cmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCBkYzE3NDU3OGFkNzRkODMxMDU3MjliZjIzMGU2ZDdh
ZmI2ZDczZDRmLi5iMzUyYjMwOWE4ZjMxNWJhOGE1MDRkOGJiZmY3YTRkOGM3NWNhNjNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCkBA
IC0yNSwxNCArMjUsMTUgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lmIFVTRShBVkZPVU5E
QVRJT04pCisvLyBGSVhNRTogU2hvdWxkIGJlIFVTRShDT1JFTUVESUEpLCBidXQgdGhpcyBpc24n
dCBjdXJyZW50bHkgZGVmaW5lZCBvbiBXaW5kb3dzLgogCiAjaW5jbHVkZSAiQ29yZU1lZGlhU1BJ
LmgiCiAjaW5jbHVkZSAiU29mdExpbmtpbmcuaCIKICNpbmNsdWRlIDxDb3JlTWVkaWEvQ29yZU1l
ZGlhLmg+CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLVNPRlRfTElOS19GUkFNRVdPUksoQ29yZU1l
ZGlhKQotfQorI2RlZmluZSBTT0ZUX0xJTktfTkFNRVNQQUNFIFdlYkNvcmUKKworU09GVF9MSU5L
X0ZSQU1FV09SS19TT1VSQ0UoQ29yZU1lZGlhKQogCiBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNF
KENvcmVNZWRpYSwgQ01UaW1lQ29tcGFyZSwgaW50MzJfdCwgKENNVGltZSB0aW1lMSwgQ01UaW1l
IHRpbWUyKSwgKHRpbWUxLCB0aW1lMikpCiBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKENvcmVN
ZWRpYSwgQ01UaW1lR2V0U2Vjb25kcywgRmxvYXQ2NCwgKENNVGltZSB0aW1lKSwgKHRpbWUpKQpA
QCAtNTMsNCArNTQsNiBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKENvcmVNZWRpYSwgQ01U
aW1lQWRkLCBDTVRpbWUsIChDTVRpbWUgYWRkZW5kMSwgQ01UaW1lCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fU09VUkNFKENvcmVNZWRpYSwgQ01UaW1lTWFrZUZyb21EaWN0aW9uYXJ5LCBDTVRpbWUsIChD
RkRpY3Rpb25hcnlSZWYgZGljdCksIChkaWN0KSkKICNlbmRpZiAvLyBQTEFURk9STShXSU4pCiAK
KyN1bmRlZiBTT0ZUX0xJTktfTkFNRVNQQUNFCisKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9O
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExp
bmsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKaW5k
ZXggNzRmOTMxOWRlNGNkMTM3YzdiNGZjZDZiMjA0ODM5OTQ3NDBmYzZlYS4uY2NhMzc2MjRiMDU0
MDk5ZDIwMWJiYTRhZDljZDY0YjAzZjkzM2QwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCkBAIC0yNiw0NiArMjYsNTEgQEAKICNkZWZpbmUg
Q29yZU1lZGlhU29mdExpbmtfaAogCiAjaWYgVVNFKEFWRk9VTkRBVElPTikKKy8vIEZJWE1FOiBT
aG91bGQgYmUgVVNFKENPUkVNRURJQSksIGJ1dCB0aGlzIGlzbid0IGN1cnJlbnRseSBkZWZpbmVk
IG9uIFdpbmRvd3MuCisKKyNkZWZpbmUgU09GVF9MSU5LX05BTUVTUEFDRSBXZWJDb3JlCiAKICNp
bmNsdWRlICJDb3JlTWVkaWFTUEkuaCIKICNpbmNsdWRlICJTb2Z0TGlua2luZy5oIgogI2luY2x1
ZGUgPENvcmVNZWRpYS9Db3JlTWVkaWEuaD4KIAotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihD
TVRpbWVDb21wYXJlLCBpbnQzMl90LCAoQ01UaW1lIHRpbWUxLCBDTVRpbWUgdGltZTIpLCAodGlt
ZTEsIHRpbWUyKSkKLSNkZWZpbmUgQ01UaW1lQ29tcGFyZSBzb2Z0TGlua19DTVRpbWVDb21wYXJl
Ci1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZUdldFNlY29uZHMsIEZsb2F0NjQsIChD
TVRpbWUgdGltZSksICh0aW1lKSkKLSNkZWZpbmUgQ01UaW1lR2V0U2Vjb25kcyBzb2Z0TGlua19D
TVRpbWVHZXRTZWNvbmRzCi1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZU1ha2UsIENN
VGltZSwgKGludDY0X3QgdmFsdWUsIGludDMyX3QgdGltZXNjYWxlKSwgKHZhbHVlLCB0aW1lc2Nh
bGUpKQotI2RlZmluZSBDTVRpbWVNYWtlIHNvZnRMaW5rX0NNVGltZU1ha2UKLVNPRlRfTElOS19G
VU5DVElPTl9IRUFERVIoQ01UaW1lTWFrZVdpdGhTZWNvbmRzLCBDTVRpbWUsIChGbG9hdDY0IHNl
Y29uZHMsIGludDMyX3QgcHJlZmVycmVkVGltZVNjYWxlKSwgKHNlY29uZHMsIHByZWZlcnJlZFRp
bWVTY2FsZSkpCi0jZGVmaW5lIENNVGltZU1ha2VXaXRoU2Vjb25kcyBzb2Z0TGlua19DTVRpbWVN
YWtlV2l0aFNlY29uZHMKLVNPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ01UaW1lUmFuZ2VHZXRF
bmQsIENNVGltZSwgKENNVGltZVJhbmdlIHJhbmdlKSwgKHJhbmdlKSkKLSNkZWZpbmUgQ01UaW1l
UmFuZ2VHZXRFbmQgc29mdExpbmtfQ01UaW1lUmFuZ2VHZXRFbmQKK1NPRlRfTElOS19GVU5DVElP
Tl9IRUFERVIoQ29yZU1lZGlhLCBDTVRpbWVDb21wYXJlLCBpbnQzMl90LCAoQ01UaW1lIHRpbWUx
LCBDTVRpbWUgdGltZTIpLCAodGltZTEsIHRpbWUyKSkKKyNkZWZpbmUgQ01UaW1lQ29tcGFyZSBz
b2Z0TGlua19Db3JlTWVkaWFfQ01UaW1lQ29tcGFyZQorU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURF
UihDb3JlTWVkaWEsIENNVGltZUdldFNlY29uZHMsIEZsb2F0NjQsIChDTVRpbWUgdGltZSksICh0
aW1lKSkKKyNkZWZpbmUgQ01UaW1lR2V0U2Vjb25kcyBzb2Z0TGlua19Db3JlTWVkaWFfQ01UaW1l
R2V0U2Vjb25kcworU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDb3JlTWVkaWEsIENNVGltZU1h
a2UsIENNVGltZSwgKGludDY0X3QgdmFsdWUsIGludDMyX3QgdGltZXNjYWxlKSwgKHZhbHVlLCB0
aW1lc2NhbGUpKQorI2RlZmluZSBDTVRpbWVNYWtlIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVRpbWVN
YWtlCitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01UaW1lTWFrZVdpdGhT
ZWNvbmRzLCBDTVRpbWUsIChGbG9hdDY0IHNlY29uZHMsIGludDMyX3QgcHJlZmVycmVkVGltZVNj
YWxlKSwgKHNlY29uZHMsIHByZWZlcnJlZFRpbWVTY2FsZSkpCisjZGVmaW5lIENNVGltZU1ha2VX
aXRoU2Vjb25kcyBzb2Z0TGlua19Db3JlTWVkaWFfQ01UaW1lTWFrZVdpdGhTZWNvbmRzCitTT0ZU
X0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01UaW1lUmFuZ2VHZXRFbmQsIENNVGlt
ZSwgKENNVGltZVJhbmdlIHJhbmdlKSwgKHJhbmdlKSkKKyNkZWZpbmUgQ01UaW1lUmFuZ2VHZXRF
bmQgc29mdExpbmtfQ29yZU1lZGlhX0NNVGltZVJhbmdlR2V0RW5kCiAKICNpZiBQTEFURk9STShD
T0NPQSkKIAotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDTU5vdGlmaWNhdGlvbkNlbnRlckdl
dERlZmF1bHRMb2NhbENlbnRlciwgQ01Ob3RpZmljYXRpb25DZW50ZXJSZWYsICh2b2lkKSwgKCkp
OwotI2RlZmluZSBDTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlciBzb2Z0
TGlua19DTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlcgotU09GVF9MSU5L
X0ZVTkNUSU9OX0hFQURFUihDTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVyLCBPU1N0YXR1
cywgKENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwgY29uc3Qgdm9pZCogbGlzdGVuZXIs
IENNTm90aWZpY2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIENGU3RyaW5nUmVmIG5vdGlmaWNhdGlv
biwgY29uc3Qgdm9pZCogb2JqZWN0LCBVSW50MzIgZmxhZ3MpLCAoY2VudGVyLCBsaXN0ZW5lciwg
Y2FsbGJhY2ssIG5vdGlmaWNhdGlvbiwgb2JqZWN0LCBmbGFncykpCi0jZGVmaW5lIENNTm90aWZp
Y2F0aW9uQ2VudGVyQWRkTGlzdGVuZXIgc29mdExpbmtfQ01Ob3RpZmljYXRpb25DZW50ZXJBZGRM
aXN0ZW5lcgotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDTU5vdGlmaWNhdGlvbkNlbnRlclJl
bW92ZUxpc3RlbmVyLCBPU1N0YXR1cywgKENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwg
Y29uc3Qgdm9pZCogbGlzdGVuZXIsIENNTm90aWZpY2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIENG
U3RyaW5nUmVmIG5vdGlmaWNhdGlvbiwgY29uc3Qgdm9pZCogb2JqZWN0KSwgKGNlbnRlciwgbGlz
dGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRpb24sIG9iamVjdCkpCi0jZGVmaW5lIENNTm90aWZp
Y2F0aW9uQ2VudGVyUmVtb3ZlTGlzdGVuZXIgc29mdExpbmtfQ01Ob3RpZmljYXRpb25DZW50ZXJS
ZW1vdmVMaXN0ZW5lcgotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDTVRpbWViYXNlR2V0VGlt
ZSwgQ01UaW1lLCAoQ01UaW1lYmFzZVJlZiB0aW1lYmFzZSksICh0aW1lYmFzZSkpCi0jZGVmaW5l
IENNVGltZWJhc2VHZXRUaW1lIHNvZnRMaW5rX0NNVGltZWJhc2VHZXRUaW1lCi1TT0ZUX0xJTktf
RlVOQ1RJT05fSEVBREVSKENNVGltZUNvcHlBc0RpY3Rpb25hcnksIENGRGljdGlvbmFyeVJlZiwg
KENNVGltZSB0aW1lLCBDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IpLCAodGltZSwgYWxsb2NhdG9y
KSkKLSNkZWZpbmUgQ01UaW1lQ29weUFzRGljdGlvbmFyeSBzb2Z0TGlua19DTVRpbWVDb3B5QXNE
aWN0aW9uYXJ5CitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01Ob3RpZmlj
YXRpb25DZW50ZXJHZXREZWZhdWx0TG9jYWxDZW50ZXIsIENNTm90aWZpY2F0aW9uQ2VudGVyUmVm
LCAodm9pZCksICgpKTsKKyNkZWZpbmUgQ01Ob3RpZmljYXRpb25DZW50ZXJHZXREZWZhdWx0TG9j
YWxDZW50ZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVs
dExvY2FsQ2VudGVyCitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01Ob3Rp
ZmljYXRpb25DZW50ZXJBZGRMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5vdGlmaWNhdGlvbkNlbnRl
clJlZiBjZW50ZXIsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlmaWNhdGlvbkNhbGxiYWNr
IGNhbGxiYWNrLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIG9iamVjdCwg
VUludDMyIGZsYWdzKSwgKGNlbnRlciwgbGlzdGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRpb24s
IG9iamVjdCwgZmxhZ3MpKQorI2RlZmluZSBDTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVy
IHNvZnRMaW5rX0NvcmVNZWRpYV9DTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVyCitTT0ZU
X0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRpYSwgQ01Ob3RpZmljYXRpb25DZW50ZXJSZW1v
dmVMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiBjZW50ZXIsIGNv
bnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlmaWNhdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBDRlN0
cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIG9iamVjdCksIChjZW50ZXIsIGxpc3Rl
bmVyLCBjYWxsYmFjaywgbm90aWZpY2F0aW9uLCBvYmplY3QpKQorI2RlZmluZSBDTU5vdGlmaWNh
dGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyIHNvZnRMaW5rX0NvcmVNZWRpYV9DTU5vdGlmaWNhdGlv
bkNlbnRlclJlbW92ZUxpc3RlbmVyCitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENvcmVNZWRp
YSwgQ01UaW1lYmFzZUdldFRpbWUsIENNVGltZSwgKENNVGltZWJhc2VSZWYgdGltZWJhc2UpLCAo
dGltZWJhc2UpKQorI2RlZmluZSBDTVRpbWViYXNlR2V0VGltZSBzb2Z0TGlua19Db3JlTWVkaWFf
Q01UaW1lYmFzZUdldFRpbWUKK1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ29yZU1lZGlhLCBD
TVRpbWVDb3B5QXNEaWN0aW9uYXJ5LCBDRkRpY3Rpb25hcnlSZWYsIChDTVRpbWUgdGltZSwgQ0ZB
bGxvY2F0b3JSZWYgYWxsb2NhdG9yKSwgKHRpbWUsIGFsbG9jYXRvcikpCisjZGVmaW5lIENNVGlt
ZUNvcHlBc0RpY3Rpb25hcnkgc29mdExpbmtfQ29yZU1lZGlhX0NNVGltZUNvcHlBc0RpY3Rpb25h
cnkKIAogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCiAjaWYgUExBVEZPUk0oV0lOKQogCi1T
T0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZUFkZCwgQ01UaW1lLCAoQ01UaW1lIGFkZGVu
ZDEsIENNVGltZSBhZGRlbmQyKSwgKGFkZGVuZDEsIGFkZGVuZDIpKQotI2RlZmluZSBDTVRpbWVB
ZGQgc29mdExpbmtfQ01UaW1lQWRkCi1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZU1h
a2VGcm9tRGljdGlvbmFyeSwgQ01UaW1lLCAoQ0ZEaWN0aW9uYXJ5UmVmIGRpY3QpLCAoZGljdCkp
Ci0jZGVmaW5lIENNVGltZU1ha2VGcm9tRGljdGlvbmFyeSBzb2Z0TGlua19DTVRpbWVNYWtlRnJv
bURpY3Rpb25hcnkKK1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ29yZU1lZGlhLCBDTVRpbWVB
ZGQsIENNVGltZSwgKENNVGltZSBhZGRlbmQxLCBDTVRpbWUgYWRkZW5kMiksIChhZGRlbmQxLCBh
ZGRlbmQyKSkKKyNkZWZpbmUgQ01UaW1lQWRkIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVRpbWVBZGQK
K1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ29yZU1lZGlhLCBDTVRpbWVNYWtlRnJvbURpY3Rp
b25hcnksIENNVGltZSwgKENGRGljdGlvbmFyeVJlZiBkaWN0KSwgKGRpY3QpKQorI2RlZmluZSBD
TVRpbWVNYWtlRnJvbURpY3Rpb25hcnkgc29mdExpbmtfQ29yZU1lZGlhX0NNVGltZU1ha2VGcm9t
RGljdGlvbmFyeQogCiAjZW5kaWYgLy8gUExBVEZPUk0oV0lOKQogCisjdW5kZWYgU09GVF9MSU5L
X05BTUVTUEFDRQorCiAjZW5kaWYgLy8gVVNFKEFWRk9VTkRBVElPTikKIAogI2VuZGlmIC8vIENv
cmVNZWRpYVNvZnRMaW5rX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9Tb2Z0TGlua2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NvZnRMaW5raW5n
LmgKaW5kZXggYTMxZmQ0MzQ1YzZmNWIyN2QwMDA5ZmQ2Y2FiNzc1YWQ5YzE3MWU2Yy4uODljMmY1
ZGUxZjM3ZTczZTU2ZTdlZmI4NjlhZjA2MjE2NTQxZWYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1NvZnRMaW5raW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1NvZnRMaW5raW5nLmgKQEAgLTIyLDYgKzIyLDkgQEAKICAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
KyNpZm5kZWYgU29mdExpbmtpbmdfaAorI2RlZmluZSBTb2Z0TGlua2luZ19oCisKICNpbXBvcnQg
PHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW1wb3J0IDxkbGZjbi5oPgogCkBAIC0yOSw2ICszMiw4IEBA
CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KICNlbmRpZgogCisjcHJhZ21hIG1hcmsgLSBTb2Z0
LWxpbmsgbWFjcm9zIGZvciB1c2Ugd2l0aGluIGEgc2luZ2xlIHNvdXJjZSBmaWxlCisKICNkZWZp
bmUgU09GVF9MSU5LX0xJQlJBUlkobGliKSBcCiAgICAgc3RhdGljIHZvaWQqIGxpYiMjTGlicmFy
eSgpIFwKICAgICB7IFwKQEAgLTEwOSwzNiArMTE0LDYgQEAKICAgICAgICAgcmV0dXJuIHNvZnRM
aW5rIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKICAgICB9CiAKLSNkZWZpbmUgU09G
VF9MSU5LX0ZVTkNUSU9OX0hFQURFUihmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRl
ckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKLSAgICBXVEZfRVhURVJOX0NfQkVHSU4g
XAotICAgIHJlc3VsdFR5cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAot
ICAgIFdURl9FWFRFUk5fQ19FTkQgXAotICAgIG5hbWVzcGFjZSBXZWJDb3JlIHsgXAotICAgIGV4
dGVybiByZXN1bHRUeXBlICgqc29mdExpbmsjI2Z1bmN0aW9uTmFtZSkgcGFyYW1ldGVyRGVjbGFy
YXRpb25zOyBcCi0gICAgfSBcCi0gICAgaW5saW5lIHJlc3VsdFR5cGUgc29mdExpbmtfIyNmdW5j
dGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zIFwKLSAgICB7IFwKLSAgICAgICAgcmV0dXJu
IFdlYkNvcmU6OnNvZnRMaW5rIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKLSAgICB9
Ci0KLSNkZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX1NPVVJDRShmcmFtZXdvcmssIGZ1bmN0aW9u
TmFtZSwgcmVzdWx0VHlwZSwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykg
XAotICAgIFdURl9FWFRFUk5fQ19CRUdJTiBcCi0gICAgcmVzdWx0VHlwZSBmdW5jdGlvbk5hbWUg
cGFyYW1ldGVyRGVjbGFyYXRpb25zOyBcCi0gICAgV1RGX0VYVEVSTl9DX0VORCBcCi0gICAgbmFt
ZXNwYWNlIFdlYkNvcmUgeyBcCi0gICAgc3RhdGljIHJlc3VsdFR5cGUgaW5pdCMjZnVuY3Rpb25O
YW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAotICAgIHJlc3VsdFR5cGUgKCpzb2Z0TGluayMj
ZnVuY3Rpb25OYW1lKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMgPSBpbml0IyNmdW5jdGlvbk5hbWU7
IFwKLSAgICBzdGF0aWMgcmVzdWx0VHlwZSBpbml0IyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVj
bGFyYXRpb25zIFwKLSAgICB7IFwKLSAgICAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNl
OyBcCi0gICAgICAgIGRpc3BhdGNoX29uY2UoJm9uY2UsIF57IFwKLSAgICAgICAgICAgIHNvZnRM
aW5rIyNmdW5jdGlvbk5hbWUgPSAocmVzdWx0VHlwZSAoKikgcGFyYW1ldGVyRGVjbGFyYXRpb25z
KSBkbHN5bShmcmFtZXdvcmsjI0xpYnJhcnkoKSwgI2Z1bmN0aW9uTmFtZSk7IFwKLSAgICAgICAg
ICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uoc29mdExpbmsjI2Z1bmN0aW9uTmFtZSwgIiVzIiwgZGxl
cnJvcigpKTsgXAotICAgICAgICB9KTsgXAotICAgICAgICByZXR1cm4gc29mdExpbmsjI2Z1bmN0
aW9uTmFtZSBwYXJhbWV0ZXJOYW1lczsgXAotICAgIH0gXAotICAgIH0KLQogI2RlZmluZSBTT0ZU
X0xJTktfTUFZX0ZBSUwoZnJhbWV3b3JrLCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFt
ZXRlckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKICAgICBXVEZfRVhURVJOX0NfQkVH
SU4gXAogICAgIHJlc3VsdFR5cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsg
XApAQCAtMzEzLDMgKzI4OCw1NSBAQAogICAgICAgICBnZXQjI25hbWUgPSBuYW1lIyNGdW5jdGlv
bjsgXAogICAgICAgICByZXR1cm4gdHJ1ZTsgXAogICAgIH0KKworI3ByYWdtYSBtYXJrIC0gU29m
dC1saW5rIG1hY3JvcyBmb3Igc2hhcmluZyBhY3Jvc3MgbXVsdGlwbGUgc291cmNlIGZpbGVzCisK
Ky8vIFNlZSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay57Y3Bw
LGh9IGZvciBhbiBleGFtcGxlIGltcGxlbWVudGF0aW9uLgorLy8gTk9URTogU09GVF9MSU5LX05B
TUVTUEFDRSBtdXN0IGJlIGRlZmluZWQgYmVmb3JlIHRoZXNlIG1hY3JvcyBhcmUgdXNlZC4KKwor
I2RlZmluZSBTT0ZUX0xJTktfRlJBTUVXT1JLX1NPVVJDRShmcmFtZXdvcmspIFwKKyAgICBuYW1l
c3BhY2UgU09GVF9MSU5LX05BTUVTUEFDRSB7IFwKKyAgICBzdGF0aWMgdm9pZCogZnJhbWV3b3Jr
IyNMaWJyYXJ5KCkgXAorICAgIHsgXAorICAgICAgICBzdGF0aWMgdm9pZCogZnJhbWV3b3JrTGli
cmFyeTsgXAorICAgICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2U7IFwKKyAgICAgICAg
ZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsgXAorICAgICAgICAgICAgZnJhbWV3b3JrTGlicmFyeSA9
IGRsb3BlbigiL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvIiAjZnJhbWV3b3JrICIuZnJhbWV3
b3JrLyIgI2ZyYW1ld29yaywgUlRMRF9OT1cpOyBcCisgICAgICAgICAgICBBU1NFUlRfV0lUSF9N
RVNTQUdFKGZyYW1ld29ya0xpYnJhcnksICIlcyIsIGRsZXJyb3IoKSk7IFwKKyAgICAgICAgfSk7
IFwKKyAgICAgICAgcmV0dXJuIGZyYW1ld29ya0xpYnJhcnk7IFwKKyAgICB9IFwKKyAgICB9CisK
KyNkZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihmcmFtZXdvcmssIGZ1bmN0aW9uTmFt
ZSwgcmVzdWx0VHlwZSwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykgXAor
ICAgIFdURl9FWFRFUk5fQ19CRUdJTiBcCisgICAgcmVzdWx0VHlwZSBmdW5jdGlvbk5hbWUgcGFy
YW1ldGVyRGVjbGFyYXRpb25zOyBcCisgICAgV1RGX0VYVEVSTl9DX0VORCBcCisgICAgbmFtZXNw
YWNlIFNPRlRfTElOS19OQU1FU1BBQ0UgeyBcCisgICAgZXh0ZXJuIHJlc3VsdFR5cGUgKCpzb2Z0
TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAor
ICAgIH0gXAorICAgIGlubGluZSByZXN1bHRUeXBlIHNvZnRMaW5rXyMjZnJhbWV3b3JrIyNfIyNm
dW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zIFwKKyAgICB7IFwKKyAgICAgICAgdXNp
bmcgbmFtZXNwYWNlIFNPRlRfTElOS19OQU1FU1BBQ0U7IFwKKyAgICAgICAgcmV0dXJuIHNvZnRM
aW5rIyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJOYW1lczsgXAorICAgIH0KKwor
I2RlZmluZSBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKGZyYW1ld29yaywgZnVuY3Rpb25OYW1l
LCByZXN1bHRUeXBlLCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBhcmFtZXRlck5hbWVzKSBcCisg
ICAgV1RGX0VYVEVSTl9DX0JFR0lOIFwKKyAgICByZXN1bHRUeXBlIGZ1bmN0aW9uTmFtZSBwYXJh
bWV0ZXJEZWNsYXJhdGlvbnM7IFwKKyAgICBXVEZfRVhURVJOX0NfRU5EIFwKKyAgICBuYW1lc3Bh
Y2UgU09GVF9MSU5LX05BTUVTUEFDRSB7IFwKKyAgICBzdGF0aWMgcmVzdWx0VHlwZSBpbml0IyNm
cmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKKyAgICByZXN1
bHRUeXBlICgqc29mdExpbmsjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1lKSBwYXJhbWV0ZXJEZWNs
YXJhdGlvbnMgPSBpbml0IyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZTsgXAorICAgIHN0YXRpYyBy
ZXN1bHRUeXBlIGluaXQjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0
aW9ucyBcCisgICAgeyBcCisgICAgICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZTsgXAor
ICAgICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeeyBcCisgICAgICAgICAgICBzb2Z0TGluayMj
ZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUgPSAocmVzdWx0VHlwZSAoKikgcGFyYW1ldGVyRGVjbGFy
YXRpb25zKSBkbHN5bShmcmFtZXdvcmsjI0xpYnJhcnkoKSwgI2Z1bmN0aW9uTmFtZSk7IFwKKyAg
ICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uoc29mdExpbmsjI2ZyYW1ld29yayMjZnVuY3Rp
b25OYW1lLCAiJXMiLCBkbGVycm9yKCkpOyBcCisgICAgICAgIH0pOyBcCisgICAgICAgIHJldHVy
biBzb2Z0TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKKyAg
ICB9IFwKKyAgICB9CisKKyNlbmRpZiAvLyBTb2Z0TGlua2luZ19oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU29mdExpbmtpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9Tb2Z0TGlua2luZy5oCmluZGV4IDcyOTU0MDJiZGEwMThjZjEzNGY3NzhlYjdk
MGEzYjNjNTc1MDFlY2IuLjFhODFhZWRkYjYxYTNkNzU0MGM0OTA1ODI2ODAxMGVhZDcyNWE4YTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Tb2Z0TGlua2luZy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Tb2Z0TGlua2luZy5oCkBAIC0yOCwxMSAr
MjgsNyBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgogCi0jaWZkZWYgREVCVUdfQUxMCi0jZGVmaW5lIFNPRlRfTElOS19GUkFNRVdPUksoZnJhbWV3
b3JrKSBTT0ZUX0xJTktfREVCVUdfTElCUkFSWShmcmFtZXdvcmspCi0jZWxzZQotI2RlZmluZSBT
T0ZUX0xJTktfRlJBTUVXT1JLKGZyYW1ld29yaykgU09GVF9MSU5LX0xJQlJBUlkoZnJhbWV3b3Jr
KQotI2VuZGlmCisjcHJhZ21hIG1hcmsgLSBTb2Z0LWxpbmsgaGVscGVyIG1hY3JvcwogCiAjZGVm
aW5lIFNPRlRfTElOS19MSUJSQVJZX0hFTFBFUihsaWIsIHN1ZmZpeCkgXAogICAgIHN0YXRpYyBI
TU9EVUxFIGxpYiMjTGlicmFyeSgpIFwKQEAgLTQ1LDYgKzQxLDggQEAKICNkZWZpbmUgU09GVF9M
SU5LX0xJQlJBUlkobGliKSBTT0ZUX0xJTktfTElCUkFSWV9IRUxQRVIobGliLCBMIi5kbGwiKQog
I2RlZmluZSBTT0ZUX0xJTktfREVCVUdfTElCUkFSWShsaWIpIFNPRlRfTElOS19MSUJSQVJZX0hF
TFBFUihsaWIsIEwiX2RlYnVnLmRsbCIpCiAKKyNwcmFnbWEgbWFyayAtIFNvZnQtbGluayBtYWNy
b3MgZm9yIHVzZSB3aXRoaW4gYSBzaW5nbGUgc291cmNlIGZpbGUKKwogI2RlZmluZSBTT0ZUX0xJ
TksobGlicmFyeSwgZnVuY3Rpb25OYW1lLCByZXN1bHRUeXBlLCBjYWxsaW5nQ29udmVudGlvbiwg
cGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykgXAogICAgIHN0YXRpYyByZXN1
bHRUeXBlIGNhbGxpbmdDb252ZW50aW9uIGluaXQjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNs
YXJhdGlvbnM7IFwKICAgICBzdGF0aWMgcmVzdWx0VHlwZSAoY2FsbGluZ0NvbnZlbnRpb24qc29m
dExpbmsjI2Z1bmN0aW9uTmFtZSkgcGFyYW1ldGVyRGVjbGFyYXRpb25zID0gaW5pdCMjZnVuY3Rp
b25OYW1lOyBcCkBAIC0xMTYsMjcgKzExNCw2IEBACiAgICAgICAgIHJldHVybiBzb2Z0TGluayMj
ZnVuY3Rpb25OYW1lIHBhcmFtZXRlck5hbWVzOyBcCiAgICAgfQogCi0jZGVmaW5lIFNPRlRfTElO
S19GVU5DVElPTl9IRUFERVIoZnVuY3Rpb25OYW1lLCByZXN1bHRUeXBlLCBwYXJhbWV0ZXJEZWNs
YXJhdGlvbnMsIHBhcmFtZXRlck5hbWVzKSBcCi0gICAgbmFtZXNwYWNlIFdlYkNvcmUgeyBcCi0g
ICAgZXh0ZXJuIHJlc3VsdFR5cGUoX19jZGVjbCpzb2Z0TGluayMjZnVuY3Rpb25OYW1lKSBwYXJh
bWV0ZXJEZWNsYXJhdGlvbnM7IFwKLSAgICB9IFwKLSAgICBpbmxpbmUgcmVzdWx0VHlwZSBzb2Z0
TGlua18jI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMgXAotICAgIHsgXAotICAg
ICAgICByZXR1cm4gV2ViQ29yZTo6c29mdExpbmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJOYW1l
czsgXAotICAgIH0KLQotI2RlZmluZSBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKGxpYnJhcnks
IGZ1bmN0aW9uTmFtZSwgcmVzdWx0VHlwZSwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0
ZXJOYW1lcykgXAotICAgIG5hbWVzcGFjZSBXZWJDb3JlIHsgXAotICAgIHN0YXRpYyByZXN1bHRU
eXBlIF9fY2RlY2wgaW5pdCMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAot
ICAgIHJlc3VsdFR5cGUoX19jZGVjbCpzb2Z0TGluayMjZnVuY3Rpb25OYW1lKSBwYXJhbWV0ZXJE
ZWNsYXJhdGlvbnMgPSBpbml0IyNmdW5jdGlvbk5hbWU7IFwKLSAgICBzdGF0aWMgcmVzdWx0VHlw
ZSBfX2NkZWNsIGluaXQjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMgXAotICAg
IHsgXAotICAgICAgICBzb2Z0TGluayMjZnVuY3Rpb25OYW1lID0gcmVpbnRlcnByZXRfY2FzdDxy
ZXN1bHRUeXBlIChfX2NkZWNsKilwYXJhbWV0ZXJEZWNsYXJhdGlvbnM+KFNPRlRfTElOS19HRVRQ
Uk9DQUREUkVTUyhsaWJyYXJ5IyNMaWJyYXJ5KCksICNmdW5jdGlvbk5hbWUpKTsgXAotICAgICAg
ICBBU1NFUlQoc29mdExpbmsjI2Z1bmN0aW9uTmFtZSk7IFwKLSAgICAgICAgcmV0dXJuIHNvZnRM
aW5rIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKLSAgICB9IFwKLSAgICB9Ci0KICNk
ZWZpbmUgU09GVF9MSU5LX0RMTF9JTVBPUlRfT1BUSU9OQUwobGlicmFyeSwgZnVuY3Rpb25OYW1l
LCByZXN1bHRUeXBlLCBjYWxsaW5nQ29udmVudGlvbiwgcGFyYW1ldGVyRGVjbGFyYXRpb25zKSBc
CiAgICAgdHlwZWRlZiByZXN1bHRUeXBlIChjYWxsaW5nQ29udmVudGlvbiAqZnVuY3Rpb25OYW1l
IyNQdHJUeXBlKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKICAgICBzdGF0aWMgZnVuY3Rpb25O
YW1lIyNQdHJUeXBlIGZ1bmN0aW9uTmFtZSMjUHRyKCkgXApAQCAtMTk0LDQgKzE3MSw0MyBAQAog
ICAgICAgICByZXR1cm4gKnB0cjsgXAogICAgIH0gXAogCisjcHJhZ21hIG1hcmsgLSBTb2Z0LWxp
bmsgbWFjcm9zIGZvciBzaGFyaW5nIGFjcm9zcyBtdWx0aXBsZSBzb3VyY2UgZmlsZXMKKworLy8g
U2VlIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLntjcHAsaH0g
Zm9yIGFuIGV4YW1wbGUgaW1wbGVtZW50YXRpb24uCisvLyBOT1RFOiBTT0ZUX0xJTktfTkFNRVNQ
QUNFIG11c3QgYmUgZGVmaW5lZCBiZWZvcmUgdGhlc2UgbWFjcm9zIGFyZSB1c2VkLgorCisjaWZk
ZWYgREVCVUdfQUxMCisjZGVmaW5lIFNPRlRfTElOS19GUkFNRVdPUktfU09VUkNFKGZyYW1ld29y
aykgXAorICAgIG5hbWVzcGFjZSBTT0ZUX0xJTktfTkFNRVNQQUNFIHsgXAorICAgIFNPRlRfTElO
S19ERUJVR19MSUJSQVJZKGZyYW1ld29yaykgXAorICAgIH0KKyNlbHNlCisjZGVmaW5lIFNPRlRf
TElOS19GUkFNRVdPUktfU09VUkNFKGZyYW1ld29yaykgXAorICAgIG5hbWVzcGFjZSBTT0ZUX0xJ
TktfTkFNRVNQQUNFIHsgXAorICAgIFNPRlRfTElOS19MSUJSQVJZKGZyYW1ld29yaykgXAorICAg
IH0KKyNlbmRpZgorCisjZGVmaW5lIFNPRlRfTElOS19GVU5DVElPTl9IRUFERVIobGlicmFyeSwg
ZnVuY3Rpb25OYW1lLCByZXN1bHRUeXBlLCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBhcmFtZXRl
ck5hbWVzKSBcCisgICAgbmFtZXNwYWNlIFNPRlRfTElOS19OQU1FU1BBQ0UgeyBcCisgICAgZXh0
ZXJuIHJlc3VsdFR5cGUoX19jZGVjbCpzb2Z0TGluayMjbGlicmFyeSMjZnVuY3Rpb25OYW1lKSBw
YXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKKyAgICB9IFwKKyAgICBpbmxpbmUgcmVzdWx0VHlwZSBz
b2Z0TGlua18jI2xpYnJhcnkjI18jI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMg
XAorICAgIHsgXAorICAgICAgICB1c2luZyBuYW1lc3BhY2UgU09GVF9MSU5LX05BTUVTUEFDRTsg
XAorICAgICAgICByZXR1cm4gc29mdExpbmsjI2xpYnJhcnkjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0
ZXJOYW1lczsgXAorICAgIH0KKworI2RlZmluZSBTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKGxp
YnJhcnksIGZ1bmN0aW9uTmFtZSwgcmVzdWx0VHlwZSwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBw
YXJhbWV0ZXJOYW1lcykgXAorICAgIG5hbWVzcGFjZSBTT0ZUX0xJTktfTkFNRVNQQUNFIyMgeyBc
CisgICAgc3RhdGljIHJlc3VsdFR5cGUgX19jZGVjbCBpbml0IyNsaWJyYXJ5IyNmdW5jdGlvbk5h
bWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zOyBcCisgICAgcmVzdWx0VHlwZShfX2NkZWNsKnNvZnRM
aW5rIyNsaWJyYXJ5IyNmdW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9ucyA9IGluaXQj
I2xpYnJhcnkjI2Z1bmN0aW9uTmFtZTsgXAorICAgIHN0YXRpYyByZXN1bHRUeXBlIF9fY2RlY2wg
aW5pdCMjbGlicmFyeSMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9ucyBcCisgICAg
eyBcCisgICAgICAgIHNvZnRMaW5rIyNsaWJyYXJ5IyNmdW5jdGlvbk5hbWUgPSByZWludGVycHJl
dF9jYXN0PHJlc3VsdFR5cGUgKF9fY2RlY2wqKXBhcmFtZXRlckRlY2xhcmF0aW9ucz4oU09GVF9M
SU5LX0dFVFBST0NBRERSRVNTKGxpYnJhcnkjI0xpYnJhcnkoKSwgI2Z1bmN0aW9uTmFtZSkpOyBc
CisgICAgICAgIEFTU0VSVChzb2Z0TGluayMjbGlicmFyeSMjZnVuY3Rpb25OYW1lKTsgXAorICAg
ICAgICByZXR1cm4gc29mdExpbmsjI2xpYnJhcnkjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJOYW1l
czsgXAorICAgIH0gXAorICAgIH0KKwogI2VuZGlmIC8vIFNvZnRMaW5raW5nX2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247034</attachid>
            <date>2015-02-20 19:19:43 -0800</date>
            <delta_ts>2015-02-20 19:41:50 -0800</delta_ts>
            <desc>Patch v4 (for landing; test EWS builds)</desc>
            <filename>bug-141849-20150220191934.patch</filename>
            <type>text/plain</type>
            <size>21235</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc5NGU1ZTY5ZDEyNWJl
ZDU0NjEzN2FkZTg0OGY2NzVlZjQzMzczMC4uMWY4YmYwZGVkZmU5MTk3ODhjNWExZWExYzU3YTdh
YWQxOWEyNmJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE1LTAyLTIwICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBuYW1lc3BhY2Ug
Y29uZmlndXJhYmxlIGZvciBTT0ZUX0xJTktfKl97SEVBREVSLFNPVVJDRX0oKSBtYWNyb3MKKyAg
ICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxODQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyB0aGUgZm9sbG93aW5n
OgorICAgICAgICAtIEFkZCBuYW1lc3BhY2UgYXJndW1lbnQgdG8gdGhlIFNPRlRfTElOS18qX3tI
RUFERVIsU09VUkNFfSgpCisgICAgICAgICAgbWFjcm9zIGZvciByZXVzZSBpbiBvdGhlciBwcm9q
ZWN0cy4KKyAgICAgICAgLSBBZGRzIFNPRlRfTElOS19GUkFNRVdPUktfU09VUkNFKCkgbWFjcm8g
aW4gcHJlcGFyYXRpb24gZm9yIEJ1ZworICAgICAgICAgIDE0MTgxNi4KKyAgICAgICAgLSBBZGRz
IGJhY2sgZnJhbWV3b3JrIGFyZ3VtZW50IHRvIFNPRlRfTElOS19GVU5DVElPTl9IRUFERVIoKQor
ICAgICAgICAgIGFuZCBpbmNsdWRlcyBmcmFtZXdvcmsgbmFtZSBpbiBnZW5lcmF0ZWQgZnVuY3Rp
b24gbmFtZXMuICBUaGlzCisgICAgICAgICAgYWRkcyBtb3JlIGVudHJvcHkgdG8gdGhlIG5hbWVz
IGluIGNhc2UgdGhlcmUgYXJlIHR3byBmdW5jdGlvbnMKKyAgICAgICAgICB3aXRoIHRoZSBzYW1l
IG5hbWUgaW4gZGlmZmVyZW50IGZyYW1ld29ya3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jZi9D
b3JlTWVkaWFTb2Z0TGluay5jcHA6CisgICAgICAgIC0gQWRkIEZJWE1FIGFib3V0IFVTRShDT1JF
TUVESUEpLgorICAgICAgICAtIFN3aXRjaCBmcm9tIFNPRlRfTElOS19GUkFNRVdPUksoKSB0bwor
ICAgICAgICAgIFNPRlRfTElOS19GUkFNRVdPUktfU09VUkNFKCkuCisgICAgICAgICogcGxhdGZv
cm0vY2YvQ29yZU1lZGlhU29mdExpbmsuaDoKKyAgICAgICAgLSBBZGQgRklYTUUgYWJvdXQgVVNF
KENPUkVNRURJQSkuCisgICAgICAgIC0gQWRkIGJhY2sgZnJhbWV3b3JrIGFyZ3VtZW50IHRvIFNP
RlRfTElOS19GVU5DVElPTl9IRUFERVIoKQorICAgICAgICAgIG1hY3Jvcy4KKworICAgICAgICAq
IHBsYXRmb3JtL21hYy9Tb2Z0TGlua2luZy5oOgorICAgICAgICAtIEFkZCBtaXNzaW5nIGhlYWRl
ciBndWFyZHMuCisgICAgICAgIC0gQWRkIHByYWdtYXMgZm9yIGRpZmZlcmVudCBtYWNybyBncm91
cHMuCisgICAgICAgIChTT0ZUX0xJTktfRlJBTUVXT1JLX1NPVVJDRSk6IEFkZC4KKyAgICAgICAg
KFNPRlRfTElOS19GVU5DVElPTl9IRUFERVIpOiBNb3ZlLiBBZGQgYmFjayBmcmFtZXdvcmsgYXJn
dW1lbnQuCisgICAgICAgIChTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKTogTW92ZS4KKyAgICAg
ICAgLSBBZGQgZnJhbWV3b3JrIG5hbWUgdG8gZ2VuZXJhdGVkIGZ1bmN0aW9uIG5hbWVzLgorICAg
ICAgICAtIEluY29ycG9yYXRlcyBuYW1lc3BhY2Ugc28gdGhhdCBpdCBkb2Vzbid0IGhhdmUgdG8g
YmUgbGlzdGVkIGluCisgICAgICAgICAgdGhlICpTb2Z0TGluay57Y3BwLGh9IGZpbGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS93aW4vU29mdExpbmtpbmcuaDoKKyAgICAgICAgLSBBZGQgcHJhZ21h
cyBmb3IgZGlmZmVyZW50IG1hY3JvIGdyb3Vwcy4KKyAgICAgICAgKFNPRlRfTElOS19GUkFNRVdP
UktfU09VUkNFKTogQWRkLgorICAgICAgICAoU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUik6IE1v
dmUuIEFkZCBiYWNrIGZyYW1ld29yayBhcmd1bWVudC4KKyAgICAgICAgKFNPRlRfTElOS19GVU5D
VElPTl9TT1VSQ0UpOiBNb3ZlLgorICAgICAgICAtIEFkZCBmcmFtZXdvcmsgbmFtZSB0byBnZW5l
cmF0ZWQgZnVuY3Rpb24gbmFtZXMuCisgICAgICAgIC0gSW5jb3Jwb3JhdGVzIG5hbWVzcGFjZSBz
byB0aGF0IGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBsaXN0ZWQgaW4KKyAgICAgICAgICB0aGUgKlNv
ZnRMaW5rLntjcHAsaH0gZmlsZS4KKwogMjAxNS0wMi0yMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5j
YXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBjbGVhbnVwIEFpclBsYXkgY29kZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCmlu
ZGV4IGRjMTc0NTc4YWQ3NGQ4MzEwNTcyOWJmMjMwZTZkN2FmYjZkNzNkNGYuLjQ2ZGJiZDBiOGZk
MDcwZWJkMzQ0YTQyMTA5NzhkZDU3OWZlNDg0MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKQEAgLTI1LDMyICsyNSwzMSBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogCiAjaWYgVVNFKEFWRk9VTkRBVElPTikKKy8vIEZJWE1FOiBTaG91
bGQgYmUgVVNFKENPUkVNRURJQSksIGJ1dCB0aGlzIGlzbid0IGN1cnJlbnRseSBkZWZpbmVkIG9u
IFdpbmRvd3MuCiAKICNpbmNsdWRlICJDb3JlTWVkaWFTUEkuaCIKICNpbmNsdWRlICJTb2Z0TGlu
a2luZy5oIgogI2luY2x1ZGUgPENvcmVNZWRpYS9Db3JlTWVkaWEuaD4KIAotbmFtZXNwYWNlIFdl
YkNvcmUgewotU09GVF9MSU5LX0ZSQU1FV09SSyhDb3JlTWVkaWEpCi19CitTT0ZUX0xJTktfRlJB
TUVXT1JLX1NPVVJDRShXZWJDb3JlLCBDb3JlTWVkaWEpCiAKLVNPRlRfTElOS19GVU5DVElPTl9T
T1VSQ0UoQ29yZU1lZGlhLCBDTVRpbWVDb21wYXJlLCBpbnQzMl90LCAoQ01UaW1lIHRpbWUxLCBD
TVRpbWUgdGltZTIpLCAodGltZTEsIHRpbWUyKSkKLVNPRlRfTElOS19GVU5DVElPTl9TT1VSQ0Uo
Q29yZU1lZGlhLCBDTVRpbWVHZXRTZWNvbmRzLCBGbG9hdDY0LCAoQ01UaW1lIHRpbWUpLCAodGlt
ZSkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKENvcmVNZWRpYSwgQ01UaW1lTWFrZSwgQ01U
aW1lLCAoaW50NjRfdCB2YWx1ZSwgaW50MzJfdCB0aW1lc2NhbGUpLCAodmFsdWUsIHRpbWVzY2Fs
ZSkpCi1TT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKENvcmVNZWRpYSwgQ01UaW1lTWFrZVdpdGhT
ZWNvbmRzLCBDTVRpbWUsIChGbG9hdDY0IHNlY29uZHMsIGludDMyX3QgcHJlZmVycmVkVGltZVNj
YWxlKSwgKHNlY29uZHMsIHByZWZlcnJlZFRpbWVTY2FsZSkpCi1TT0ZUX0xJTktfRlVOQ1RJT05f
U09VUkNFKENvcmVNZWRpYSwgQ01UaW1lUmFuZ2VHZXRFbmQsIENNVGltZSwgKENNVGltZVJhbmdl
IHJhbmdlKSwgKHJhbmdlKSkKK1NPRlRfTElOS19GVU5DVElPTl9TT1VSQ0UoV2ViQ29yZSwgQ29y
ZU1lZGlhLCBDTVRpbWVDb21wYXJlLCBpbnQzMl90LCAoQ01UaW1lIHRpbWUxLCBDTVRpbWUgdGlt
ZTIpLCAodGltZTEsIHRpbWUyKSkKK1NPRlRfTElOS19GVU5DVElPTl9TT1VSQ0UoV2ViQ29yZSwg
Q29yZU1lZGlhLCBDTVRpbWVHZXRTZWNvbmRzLCBGbG9hdDY0LCAoQ01UaW1lIHRpbWUpLCAodGlt
ZSkpCitTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01UaW1l
TWFrZSwgQ01UaW1lLCAoaW50NjRfdCB2YWx1ZSwgaW50MzJfdCB0aW1lc2NhbGUpLCAodmFsdWUs
IHRpbWVzY2FsZSkpCitTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKFdlYkNvcmUsIENvcmVNZWRp
YSwgQ01UaW1lTWFrZVdpdGhTZWNvbmRzLCBDTVRpbWUsIChGbG9hdDY0IHNlY29uZHMsIGludDMy
X3QgcHJlZmVycmVkVGltZVNjYWxlKSwgKHNlY29uZHMsIHByZWZlcnJlZFRpbWVTY2FsZSkpCitT
T0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01UaW1lUmFuZ2VH
ZXRFbmQsIENNVGltZSwgKENNVGltZVJhbmdlIHJhbmdlKSwgKHJhbmdlKSkKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQotU09GVF9MSU5LX0ZVTkNUSU9OX1NPVVJDRShDb3JlTWVkaWEsIENNTm90aWZp
Y2F0aW9uQ2VudGVyR2V0RGVmYXVsdExvY2FsQ2VudGVyLCBDTU5vdGlmaWNhdGlvbkNlbnRlclJl
ZiwgKHZvaWQpLCAoKSk7Ci1TT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKENvcmVNZWRpYSwgQ01O
b3RpZmljYXRpb25DZW50ZXJBZGRMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5vdGlmaWNhdGlvbkNl
bnRlclJlZiBjZW50ZXIsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlmaWNhdGlvbkNhbGxi
YWNrIGNhbGxiYWNrLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIG9iamVj
dCwgVUludDMyIGZsYWdzKSwgKGNlbnRlciwgbGlzdGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRp
b24sIG9iamVjdCwgZmxhZ3MpKQotU09GVF9MSU5LX0ZVTkNUSU9OX1NPVVJDRShDb3JlTWVkaWEs
IENNTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlTGlzdGVuZXIsIE9TU3RhdHVzLCAoQ01Ob3RpZmlj
YXRpb25DZW50ZXJSZWYgY2VudGVyLCBjb25zdCB2b2lkKiBsaXN0ZW5lciwgQ01Ob3RpZmljYXRp
b25DYWxsYmFjayBjYWxsYmFjaywgQ0ZTdHJpbmdSZWYgbm90aWZpY2F0aW9uLCBjb25zdCB2b2lk
KiBvYmplY3QpLCAoY2VudGVyLCBsaXN0ZW5lciwgY2FsbGJhY2ssIG5vdGlmaWNhdGlvbiwgb2Jq
ZWN0KSkKLVNPRlRfTElOS19GVU5DVElPTl9TT1VSQ0UoQ29yZU1lZGlhLCBDTVRpbWViYXNlR2V0
VGltZSwgQ01UaW1lLCAoQ01UaW1lYmFzZVJlZiB0aW1lYmFzZSksICh0aW1lYmFzZSkpCi1TT0ZU
X0xJTktfRlVOQ1RJT05fU09VUkNFKENvcmVNZWRpYSwgQ01UaW1lQ29weUFzRGljdGlvbmFyeSwg
Q0ZEaWN0aW9uYXJ5UmVmLCAoQ01UaW1lIHRpbWUsIENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciks
ICh0aW1lLCBhbGxvY2F0b3IpKQorU09GVF9MSU5LX0ZVTkNUSU9OX1NPVVJDRShXZWJDb3JlLCBD
b3JlTWVkaWEsIENNTm90aWZpY2F0aW9uQ2VudGVyR2V0RGVmYXVsdExvY2FsQ2VudGVyLCBDTU5v
dGlmaWNhdGlvbkNlbnRlclJlZiwgKHZvaWQpLCAoKSk7CitTT0ZUX0xJTktfRlVOQ1RJT05fU09V
UkNFKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01Ob3RpZmljYXRpb25DZW50ZXJBZGRMaXN0ZW5lciwg
T1NTdGF0dXMsIChDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiBjZW50ZXIsIGNvbnN0IHZvaWQqIGxp
c3RlbmVyLCBDTU5vdGlmaWNhdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBDRlN0cmluZ1JlZiBub3Rp
ZmljYXRpb24sIGNvbnN0IHZvaWQqIG9iamVjdCwgVUludDMyIGZsYWdzKSwgKGNlbnRlciwgbGlz
dGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRpb24sIG9iamVjdCwgZmxhZ3MpKQorU09GVF9MSU5L
X0ZVTkNUSU9OX1NPVVJDRShXZWJDb3JlLCBDb3JlTWVkaWEsIENNTm90aWZpY2F0aW9uQ2VudGVy
UmVtb3ZlTGlzdGVuZXIsIE9TU3RhdHVzLCAoQ01Ob3RpZmljYXRpb25DZW50ZXJSZWYgY2VudGVy
LCBjb25zdCB2b2lkKiBsaXN0ZW5lciwgQ01Ob3RpZmljYXRpb25DYWxsYmFjayBjYWxsYmFjaywg
Q0ZTdHJpbmdSZWYgbm90aWZpY2F0aW9uLCBjb25zdCB2b2lkKiBvYmplY3QpLCAoY2VudGVyLCBs
aXN0ZW5lciwgY2FsbGJhY2ssIG5vdGlmaWNhdGlvbiwgb2JqZWN0KSkKK1NPRlRfTElOS19GVU5D
VElPTl9TT1VSQ0UoV2ViQ29yZSwgQ29yZU1lZGlhLCBDTVRpbWViYXNlR2V0VGltZSwgQ01UaW1l
LCAoQ01UaW1lYmFzZVJlZiB0aW1lYmFzZSksICh0aW1lYmFzZSkpCitTT0ZUX0xJTktfRlVOQ1RJ
T05fU09VUkNFKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01UaW1lQ29weUFzRGljdGlvbmFyeSwgQ0ZE
aWN0aW9uYXJ5UmVmLCAoQ01UaW1lIHRpbWUsIENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciksICh0
aW1lLCBhbGxvY2F0b3IpKQogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCiAjaWYgUExBVEZP
Uk0oV0lOKQotU09GVF9MSU5LX0ZVTkNUSU9OX1NPVVJDRShDb3JlTWVkaWEsIENNVGltZUFkZCwg
Q01UaW1lLCAoQ01UaW1lIGFkZGVuZDEsIENNVGltZSBhZGRlbmQyKSwgKGFkZGVuZDEsIGFkZGVu
ZDIpKQotU09GVF9MSU5LX0ZVTkNUSU9OX1NPVVJDRShDb3JlTWVkaWEsIENNVGltZU1ha2VGcm9t
RGljdGlvbmFyeSwgQ01UaW1lLCAoQ0ZEaWN0aW9uYXJ5UmVmIGRpY3QpLCAoZGljdCkpCitTT0ZU
X0xJTktfRlVOQ1RJT05fU09VUkNFKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01UaW1lQWRkLCBDTVRp
bWUsIChDTVRpbWUgYWRkZW5kMSwgQ01UaW1lIGFkZGVuZDIpLCAoYWRkZW5kMSwgYWRkZW5kMikp
CitTT0ZUX0xJTktfRlVOQ1RJT05fU09VUkNFKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01UaW1lTWFr
ZUZyb21EaWN0aW9uYXJ5LCBDTVRpbWUsIChDRkRpY3Rpb25hcnlSZWYgZGljdCksIChkaWN0KSkK
ICNlbmRpZiAvLyBQTEFURk9STShXSU4pCiAKICNlbmRpZiAvLyBVU0UoQVZGT1VOREFUSU9OKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKaW5kZXgg
NzRmOTMxOWRlNGNkMTM3YzdiNGZjZDZiMjA0ODM5OTQ3NDBmYzZlYS4uOGNiNzg2OGJlZTZlODU4
YjI2MmQ3ZTM0YjY2NzgxZmE4ZmRlODRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCkBAIC0yNiw0MyArMjYsNDQgQEAKICNkZWZpbmUgQ29y
ZU1lZGlhU29mdExpbmtfaAogCiAjaWYgVVNFKEFWRk9VTkRBVElPTikKKy8vIEZJWE1FOiBTaG91
bGQgYmUgVVNFKENPUkVNRURJQSksIGJ1dCB0aGlzIGlzbid0IGN1cnJlbnRseSBkZWZpbmVkIG9u
IFdpbmRvd3MuCiAKICNpbmNsdWRlICJDb3JlTWVkaWFTUEkuaCIKICNpbmNsdWRlICJTb2Z0TGlu
a2luZy5oIgogI2luY2x1ZGUgPENvcmVNZWRpYS9Db3JlTWVkaWEuaD4KIAotU09GVF9MSU5LX0ZV
TkNUSU9OX0hFQURFUihDTVRpbWVDb21wYXJlLCBpbnQzMl90LCAoQ01UaW1lIHRpbWUxLCBDTVRp
bWUgdGltZTIpLCAodGltZTEsIHRpbWUyKSkKLSNkZWZpbmUgQ01UaW1lQ29tcGFyZSBzb2Z0TGlu
a19DTVRpbWVDb21wYXJlCi1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZUdldFNlY29u
ZHMsIEZsb2F0NjQsIChDTVRpbWUgdGltZSksICh0aW1lKSkKLSNkZWZpbmUgQ01UaW1lR2V0U2Vj
b25kcyBzb2Z0TGlua19DTVRpbWVHZXRTZWNvbmRzCi1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVS
KENNVGltZU1ha2UsIENNVGltZSwgKGludDY0X3QgdmFsdWUsIGludDMyX3QgdGltZXNjYWxlKSwg
KHZhbHVlLCB0aW1lc2NhbGUpKQotI2RlZmluZSBDTVRpbWVNYWtlIHNvZnRMaW5rX0NNVGltZU1h
a2UKLVNPRlRfTElOS19GVU5DVElPTl9IRUFERVIoQ01UaW1lTWFrZVdpdGhTZWNvbmRzLCBDTVRp
bWUsIChGbG9hdDY0IHNlY29uZHMsIGludDMyX3QgcHJlZmVycmVkVGltZVNjYWxlKSwgKHNlY29u
ZHMsIHByZWZlcnJlZFRpbWVTY2FsZSkpCi0jZGVmaW5lIENNVGltZU1ha2VXaXRoU2Vjb25kcyBz
b2Z0TGlua19DTVRpbWVNYWtlV2l0aFNlY29uZHMKLVNPRlRfTElOS19GVU5DVElPTl9IRUFERVIo
Q01UaW1lUmFuZ2VHZXRFbmQsIENNVGltZSwgKENNVGltZVJhbmdlIHJhbmdlKSwgKHJhbmdlKSkK
LSNkZWZpbmUgQ01UaW1lUmFuZ2VHZXRFbmQgc29mdExpbmtfQ01UaW1lUmFuZ2VHZXRFbmQKK1NP
RlRfTElOS19GVU5DVElPTl9IRUFERVIoV2ViQ29yZSwgQ29yZU1lZGlhLCBDTVRpbWVDb21wYXJl
LCBpbnQzMl90LCAoQ01UaW1lIHRpbWUxLCBDTVRpbWUgdGltZTIpLCAodGltZTEsIHRpbWUyKSkK
KyNkZWZpbmUgQ01UaW1lQ29tcGFyZSBzb2Z0TGlua19Db3JlTWVkaWFfQ01UaW1lQ29tcGFyZQor
U09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihXZWJDb3JlLCBDb3JlTWVkaWEsIENNVGltZUdldFNl
Y29uZHMsIEZsb2F0NjQsIChDTVRpbWUgdGltZSksICh0aW1lKSkKKyNkZWZpbmUgQ01UaW1lR2V0
U2Vjb25kcyBzb2Z0TGlua19Db3JlTWVkaWFfQ01UaW1lR2V0U2Vjb25kcworU09GVF9MSU5LX0ZV
TkNUSU9OX0hFQURFUihXZWJDb3JlLCBDb3JlTWVkaWEsIENNVGltZU1ha2UsIENNVGltZSwgKGlu
dDY0X3QgdmFsdWUsIGludDMyX3QgdGltZXNjYWxlKSwgKHZhbHVlLCB0aW1lc2NhbGUpKQorI2Rl
ZmluZSBDTVRpbWVNYWtlIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVRpbWVNYWtlCitTT0ZUX0xJTktf
RlVOQ1RJT05fSEVBREVSKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01UaW1lTWFrZVdpdGhTZWNvbmRz
LCBDTVRpbWUsIChGbG9hdDY0IHNlY29uZHMsIGludDMyX3QgcHJlZmVycmVkVGltZVNjYWxlKSwg
KHNlY29uZHMsIHByZWZlcnJlZFRpbWVTY2FsZSkpCisjZGVmaW5lIENNVGltZU1ha2VXaXRoU2Vj
b25kcyBzb2Z0TGlua19Db3JlTWVkaWFfQ01UaW1lTWFrZVdpdGhTZWNvbmRzCitTT0ZUX0xJTktf
RlVOQ1RJT05fSEVBREVSKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01UaW1lUmFuZ2VHZXRFbmQsIENN
VGltZSwgKENNVGltZVJhbmdlIHJhbmdlKSwgKHJhbmdlKSkKKyNkZWZpbmUgQ01UaW1lUmFuZ2VH
ZXRFbmQgc29mdExpbmtfQ29yZU1lZGlhX0NNVGltZVJhbmdlR2V0RW5kCiAKICNpZiBQTEFURk9S
TShDT0NPQSkKIAotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDTU5vdGlmaWNhdGlvbkNlbnRl
ckdldERlZmF1bHRMb2NhbENlbnRlciwgQ01Ob3RpZmljYXRpb25DZW50ZXJSZWYsICh2b2lkKSwg
KCkpOwotI2RlZmluZSBDTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlciBz
b2Z0TGlua19DTU5vdGlmaWNhdGlvbkNlbnRlckdldERlZmF1bHRMb2NhbENlbnRlcgotU09GVF9M
SU5LX0ZVTkNUSU9OX0hFQURFUihDTU5vdGlmaWNhdGlvbkNlbnRlckFkZExpc3RlbmVyLCBPU1N0
YXR1cywgKENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwgY29uc3Qgdm9pZCogbGlzdGVu
ZXIsIENNTm90aWZpY2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIENGU3RyaW5nUmVmIG5vdGlmaWNh
dGlvbiwgY29uc3Qgdm9pZCogb2JqZWN0LCBVSW50MzIgZmxhZ3MpLCAoY2VudGVyLCBsaXN0ZW5l
ciwgY2FsbGJhY2ssIG5vdGlmaWNhdGlvbiwgb2JqZWN0LCBmbGFncykpCi0jZGVmaW5lIENNTm90
aWZpY2F0aW9uQ2VudGVyQWRkTGlzdGVuZXIgc29mdExpbmtfQ01Ob3RpZmljYXRpb25DZW50ZXJB
ZGRMaXN0ZW5lcgotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDTU5vdGlmaWNhdGlvbkNlbnRl
clJlbW92ZUxpc3RlbmVyLCBPU1N0YXR1cywgKENNTm90aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRl
ciwgY29uc3Qgdm9pZCogbGlzdGVuZXIsIENNTm90aWZpY2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ss
IENGU3RyaW5nUmVmIG5vdGlmaWNhdGlvbiwgY29uc3Qgdm9pZCogb2JqZWN0KSwgKGNlbnRlciwg
bGlzdGVuZXIsIGNhbGxiYWNrLCBub3RpZmljYXRpb24sIG9iamVjdCkpCi0jZGVmaW5lIENNTm90
aWZpY2F0aW9uQ2VudGVyUmVtb3ZlTGlzdGVuZXIgc29mdExpbmtfQ01Ob3RpZmljYXRpb25DZW50
ZXJSZW1vdmVMaXN0ZW5lcgotU09GVF9MSU5LX0ZVTkNUSU9OX0hFQURFUihDTVRpbWViYXNlR2V0
VGltZSwgQ01UaW1lLCAoQ01UaW1lYmFzZVJlZiB0aW1lYmFzZSksICh0aW1lYmFzZSkpCi0jZGVm
aW5lIENNVGltZWJhc2VHZXRUaW1lIHNvZnRMaW5rX0NNVGltZWJhc2VHZXRUaW1lCi1TT0ZUX0xJ
TktfRlVOQ1RJT05fSEVBREVSKENNVGltZUNvcHlBc0RpY3Rpb25hcnksIENGRGljdGlvbmFyeVJl
ZiwgKENNVGltZSB0aW1lLCBDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IpLCAodGltZSwgYWxsb2Nh
dG9yKSkKLSNkZWZpbmUgQ01UaW1lQ29weUFzRGljdGlvbmFyeSBzb2Z0TGlua19DTVRpbWVDb3B5
QXNEaWN0aW9uYXJ5CitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKFdlYkNvcmUsIENvcmVNZWRp
YSwgQ01Ob3RpZmljYXRpb25DZW50ZXJHZXREZWZhdWx0TG9jYWxDZW50ZXIsIENNTm90aWZpY2F0
aW9uQ2VudGVyUmVmLCAodm9pZCksICgpKTsKKyNkZWZpbmUgQ01Ob3RpZmljYXRpb25DZW50ZXJH
ZXREZWZhdWx0TG9jYWxDZW50ZXIgc29mdExpbmtfQ29yZU1lZGlhX0NNTm90aWZpY2F0aW9uQ2Vu
dGVyR2V0RGVmYXVsdExvY2FsQ2VudGVyCitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKFdlYkNv
cmUsIENvcmVNZWRpYSwgQ01Ob3RpZmljYXRpb25DZW50ZXJBZGRMaXN0ZW5lciwgT1NTdGF0dXMs
IChDTU5vdGlmaWNhdGlvbkNlbnRlclJlZiBjZW50ZXIsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBD
TU5vdGlmaWNhdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb24s
IGNvbnN0IHZvaWQqIG9iamVjdCwgVUludDMyIGZsYWdzKSwgKGNlbnRlciwgbGlzdGVuZXIsIGNh
bGxiYWNrLCBub3RpZmljYXRpb24sIG9iamVjdCwgZmxhZ3MpKQorI2RlZmluZSBDTU5vdGlmaWNh
dGlvbkNlbnRlckFkZExpc3RlbmVyIHNvZnRMaW5rX0NvcmVNZWRpYV9DTU5vdGlmaWNhdGlvbkNl
bnRlckFkZExpc3RlbmVyCitTT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKFdlYkNvcmUsIENvcmVN
ZWRpYSwgQ01Ob3RpZmljYXRpb25DZW50ZXJSZW1vdmVMaXN0ZW5lciwgT1NTdGF0dXMsIChDTU5v
dGlmaWNhdGlvbkNlbnRlclJlZiBjZW50ZXIsIGNvbnN0IHZvaWQqIGxpc3RlbmVyLCBDTU5vdGlm
aWNhdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBDRlN0cmluZ1JlZiBub3RpZmljYXRpb24sIGNvbnN0
IHZvaWQqIG9iamVjdCksIChjZW50ZXIsIGxpc3RlbmVyLCBjYWxsYmFjaywgbm90aWZpY2F0aW9u
LCBvYmplY3QpKQorI2RlZmluZSBDTU5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyIHNv
ZnRMaW5rX0NvcmVNZWRpYV9DTU5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZUxpc3RlbmVyCitTT0ZU
X0xJTktfRlVOQ1RJT05fSEVBREVSKFdlYkNvcmUsIENvcmVNZWRpYSwgQ01UaW1lYmFzZUdldFRp
bWUsIENNVGltZSwgKENNVGltZWJhc2VSZWYgdGltZWJhc2UpLCAodGltZWJhc2UpKQorI2RlZmlu
ZSBDTVRpbWViYXNlR2V0VGltZSBzb2Z0TGlua19Db3JlTWVkaWFfQ01UaW1lYmFzZUdldFRpbWUK
K1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoV2ViQ29yZSwgQ29yZU1lZGlhLCBDTVRpbWVDb3B5
QXNEaWN0aW9uYXJ5LCBDRkRpY3Rpb25hcnlSZWYsIChDTVRpbWUgdGltZSwgQ0ZBbGxvY2F0b3JS
ZWYgYWxsb2NhdG9yKSwgKHRpbWUsIGFsbG9jYXRvcikpCisjZGVmaW5lIENNVGltZUNvcHlBc0Rp
Y3Rpb25hcnkgc29mdExpbmtfQ29yZU1lZGlhX0NNVGltZUNvcHlBc0RpY3Rpb25hcnkKIAogI2Vu
ZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCiAjaWYgUExBVEZPUk0oV0lOKQogCi1TT0ZUX0xJTktf
RlVOQ1RJT05fSEVBREVSKENNVGltZUFkZCwgQ01UaW1lLCAoQ01UaW1lIGFkZGVuZDEsIENNVGlt
ZSBhZGRlbmQyKSwgKGFkZGVuZDEsIGFkZGVuZDIpKQotI2RlZmluZSBDTVRpbWVBZGQgc29mdExp
bmtfQ01UaW1lQWRkCi1TT0ZUX0xJTktfRlVOQ1RJT05fSEVBREVSKENNVGltZU1ha2VGcm9tRGlj
dGlvbmFyeSwgQ01UaW1lLCAoQ0ZEaWN0aW9uYXJ5UmVmIGRpY3QpLCAoZGljdCkpCi0jZGVmaW5l
IENNVGltZU1ha2VGcm9tRGljdGlvbmFyeSBzb2Z0TGlua19DTVRpbWVNYWtlRnJvbURpY3Rpb25h
cnkKK1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoV2ViQ29yZSwgQ29yZU1lZGlhLCBDTVRpbWVB
ZGQsIENNVGltZSwgKENNVGltZSBhZGRlbmQxLCBDTVRpbWUgYWRkZW5kMiksIChhZGRlbmQxLCBh
ZGRlbmQyKSkKKyNkZWZpbmUgQ01UaW1lQWRkIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVRpbWVBZGQK
K1NPRlRfTElOS19GVU5DVElPTl9IRUFERVIoV2ViQ29yZSwgQ29yZU1lZGlhLCBDTVRpbWVNYWtl
RnJvbURpY3Rpb25hcnksIENNVGltZSwgKENGRGljdGlvbmFyeVJlZiBkaWN0KSwgKGRpY3QpKQor
I2RlZmluZSBDTVRpbWVNYWtlRnJvbURpY3Rpb25hcnkgc29mdExpbmtfQ29yZU1lZGlhX0NNVGlt
ZU1ha2VGcm9tRGljdGlvbmFyeQogCiAjZW5kaWYgLy8gUExBVEZPUk0oV0lOKQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU29mdExpbmtpbmcuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9Tb2Z0TGlua2luZy5oCmluZGV4IGEzMWZkNDM0NWM2ZjViMjdk
MDAwOWZkNmNhYjc3NWFkOWMxNzFlNmMuLjQ1MDMwYWIwZGE5ZWFhYWY2ODAzYTgwMTFlZTMwYTM2
NGU4NDkwYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Tb2Z0TGlu
a2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Tb2Z0TGlua2luZy5oCkBA
IC0yMiw2ICsyMiw5IEBACiAgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjaWZuZGVmIFNvZnRMaW5raW5nX2gKKyNk
ZWZpbmUgU29mdExpbmtpbmdfaAorCiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogI2ltcG9y
dCA8ZGxmY24uaD4KIApAQCAtMjksNiArMzIsOCBAQAogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+
CiAjZW5kaWYKIAorI3ByYWdtYSBtYXJrIC0gU29mdC1saW5rIG1hY3JvcyBmb3IgdXNlIHdpdGhp
biBhIHNpbmdsZSBzb3VyY2UgZmlsZQorCiAjZGVmaW5lIFNPRlRfTElOS19MSUJSQVJZKGxpYikg
XAogICAgIHN0YXRpYyB2b2lkKiBsaWIjI0xpYnJhcnkoKSBcCiAgICAgeyBcCkBAIC0xMDksMzYg
KzExNCw2IEBACiAgICAgICAgIHJldHVybiBzb2Z0TGluayMjZnVuY3Rpb25OYW1lIHBhcmFtZXRl
ck5hbWVzOyBcCiAgICAgfQogCi0jZGVmaW5lIFNPRlRfTElOS19GVU5DVElPTl9IRUFERVIoZnVu
Y3Rpb25OYW1lLCByZXN1bHRUeXBlLCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBhcmFtZXRlck5h
bWVzKSBcCi0gICAgV1RGX0VYVEVSTl9DX0JFR0lOIFwKLSAgICByZXN1bHRUeXBlIGZ1bmN0aW9u
TmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKLSAgICBXVEZfRVhURVJOX0NfRU5EIFwKLSAg
ICBuYW1lc3BhY2UgV2ViQ29yZSB7IFwKLSAgICBleHRlcm4gcmVzdWx0VHlwZSAoKnNvZnRMaW5r
IyNmdW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAotICAgIH0gXAotICAgIGlu
bGluZSByZXN1bHRUeXBlIHNvZnRMaW5rXyMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0
aW9ucyBcCi0gICAgeyBcCi0gICAgICAgIHJldHVybiBXZWJDb3JlOjpzb2Z0TGluayMjZnVuY3Rp
b25OYW1lIHBhcmFtZXRlck5hbWVzOyBcCi0gICAgfQotCi0jZGVmaW5lIFNPRlRfTElOS19GVU5D
VElPTl9TT1VSQ0UoZnJhbWV3b3JrLCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRl
ckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKLSAgICBXVEZfRVhURVJOX0NfQkVHSU4g
XAotICAgIHJlc3VsdFR5cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAot
ICAgIFdURl9FWFRFUk5fQ19FTkQgXAotICAgIG5hbWVzcGFjZSBXZWJDb3JlIHsgXAotICAgIHN0
YXRpYyByZXN1bHRUeXBlIGluaXQjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7
IFwKLSAgICByZXN1bHRUeXBlICgqc29mdExpbmsjI2Z1bmN0aW9uTmFtZSkgcGFyYW1ldGVyRGVj
bGFyYXRpb25zID0gaW5pdCMjZnVuY3Rpb25OYW1lOyBcCi0gICAgc3RhdGljIHJlc3VsdFR5cGUg
aW5pdCMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9ucyBcCi0gICAgeyBcCi0gICAg
ICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZTsgXAotICAgICAgICBkaXNwYXRjaF9vbmNl
KCZvbmNlLCBeeyBcCi0gICAgICAgICAgICBzb2Z0TGluayMjZnVuY3Rpb25OYW1lID0gKHJlc3Vs
dFR5cGUgKCopIHBhcmFtZXRlckRlY2xhcmF0aW9ucykgZGxzeW0oZnJhbWV3b3JrIyNMaWJyYXJ5
KCksICNmdW5jdGlvbk5hbWUpOyBcCi0gICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKHNv
ZnRMaW5rIyNmdW5jdGlvbk5hbWUsICIlcyIsIGRsZXJyb3IoKSk7IFwKLSAgICAgICAgfSk7IFwK
LSAgICAgICAgcmV0dXJuIHNvZnRMaW5rIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwK
LSAgICB9IFwKLSAgICB9Ci0KICNkZWZpbmUgU09GVF9MSU5LX01BWV9GQUlMKGZyYW1ld29yaywg
ZnVuY3Rpb25OYW1lLCByZXN1bHRUeXBlLCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBhcmFtZXRl
ck5hbWVzKSBcCiAgICAgV1RGX0VYVEVSTl9DX0JFR0lOIFwKICAgICByZXN1bHRUeXBlIGZ1bmN0
aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKQEAgLTMxMywzICsyODgsNTMgQEAKICAg
ICAgICAgZ2V0IyNuYW1lID0gbmFtZSMjRnVuY3Rpb247IFwKICAgICAgICAgcmV0dXJuIHRydWU7
IFwKICAgICB9CisKKyNwcmFnbWEgbWFyayAtIFNvZnQtbGluayBtYWNyb3MgZm9yIHNoYXJpbmcg
YWNyb3NzIG11bHRpcGxlIHNvdXJjZSBmaWxlcworCisvLyBTZWUgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2YvQ29yZU1lZGlhU29mdExpbmsue2NwcCxofSBmb3IgYW4gZXhhbXBsZSBpbXBsZW1l
bnRhdGlvbi4KKworI2RlZmluZSBTT0ZUX0xJTktfRlJBTUVXT1JLX1NPVVJDRShmdW5jdGlvbk5h
bWVzcGFjZSwgZnJhbWV3b3JrKSBcCisgICAgbmFtZXNwYWNlIGZ1bmN0aW9uTmFtZXNwYWNlIHsg
XAorICAgIHN0YXRpYyB2b2lkKiBmcmFtZXdvcmsjI0xpYnJhcnkoKSBcCisgICAgeyBcCisgICAg
ICAgIHN0YXRpYyB2b2lkKiBmcmFtZXdvcmtMaWJyYXJ5OyBcCisgICAgICAgIHN0YXRpYyBkaXNw
YXRjaF9vbmNlX3Qgb25jZTsgXAorICAgICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeeyBcCisg
ICAgICAgICAgICBmcmFtZXdvcmtMaWJyYXJ5ID0gZGxvcGVuKCIvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy8iICNmcmFtZXdvcmsgIi5mcmFtZXdvcmsvIiAjZnJhbWV3b3JrLCBSVExEX05PVyk7
IFwKKyAgICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoZnJhbWV3b3JrTGlicmFyeSwgIiVz
IiwgZGxlcnJvcigpKTsgXAorICAgICAgICB9KTsgXAorICAgICAgICByZXR1cm4gZnJhbWV3b3Jr
TGlicmFyeTsgXAorICAgIH0gXAorICAgIH0KKworI2RlZmluZSBTT0ZUX0xJTktfRlVOQ1RJT05f
SEVBREVSKGZ1bmN0aW9uTmFtZXNwYWNlLCBmcmFtZXdvcmssIGZ1bmN0aW9uTmFtZSwgcmVzdWx0
VHlwZSwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykgXAorICAgIFdURl9F
WFRFUk5fQ19CRUdJTiBcCisgICAgcmVzdWx0VHlwZSBmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVj
bGFyYXRpb25zOyBcCisgICAgV1RGX0VYVEVSTl9DX0VORCBcCisgICAgbmFtZXNwYWNlIGZ1bmN0
aW9uTmFtZXNwYWNlIHsgXAorICAgIGV4dGVybiByZXN1bHRUeXBlICgqc29mdExpbmsjI2ZyYW1l
d29yayMjZnVuY3Rpb25OYW1lKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKKyAgICBpbmxpbmUg
cmVzdWx0VHlwZSBzb2Z0TGlua18jI2ZyYW1ld29yayMjXyMjZnVuY3Rpb25OYW1lIHBhcmFtZXRl
ckRlY2xhcmF0aW9ucyBcCisgICAgeyBcCisgICAgICAgIHJldHVybiBzb2Z0TGluayMjZnJhbWV3
b3JrIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKKyAgICB9IFwKKyAgICB9CisKKyNk
ZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX1NPVVJDRShmdW5jdGlvbk5hbWVzcGFjZSwgZnJhbWV3
b3JrLCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBhcmFtZXRlckRlY2xhcmF0aW9ucywgcGFy
YW1ldGVyTmFtZXMpIFwKKyAgICBXVEZfRVhURVJOX0NfQkVHSU4gXAorICAgIHJlc3VsdFR5cGUg
ZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAorICAgIFdURl9FWFRFUk5fQ19F
TkQgXAorICAgIG5hbWVzcGFjZSBmdW5jdGlvbk5hbWVzcGFjZSB7IFwKKyAgICBzdGF0aWMgcmVz
dWx0VHlwZSBpbml0IyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlv
bnM7IFwKKyAgICByZXN1bHRUeXBlICgqc29mdExpbmsjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1l
KSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMgPSBpbml0IyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZTsg
XAorICAgIHN0YXRpYyByZXN1bHRUeXBlIGluaXQjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1lIHBh
cmFtZXRlckRlY2xhcmF0aW9ucyBcCisgICAgeyBcCisgICAgICAgIHN0YXRpYyBkaXNwYXRjaF9v
bmNlX3Qgb25jZTsgXAorICAgICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeeyBcCisgICAgICAg
ICAgICBzb2Z0TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUgPSAocmVzdWx0VHlwZSAoKikg
cGFyYW1ldGVyRGVjbGFyYXRpb25zKSBkbHN5bShmcmFtZXdvcmsjI0xpYnJhcnkoKSwgI2Z1bmN0
aW9uTmFtZSk7IFwKKyAgICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uoc29mdExpbmsjI2Zy
YW1ld29yayMjZnVuY3Rpb25OYW1lLCAiJXMiLCBkbGVycm9yKCkpOyBcCisgICAgICAgIH0pOyBc
CisgICAgICAgIHJldHVybiBzb2Z0TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUgcGFyYW1l
dGVyTmFtZXM7IFwKKyAgICB9IFwKKyAgICB9CisKKyNlbmRpZiAvLyBTb2Z0TGlua2luZ19oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU29mdExpbmtpbmcuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Tb2Z0TGlua2luZy5oCmluZGV4IDcyOTU0MDJiZGEw
MThjZjEzNGY3NzhlYjdkMGEzYjNjNTc1MDFlY2IuLmU5NzdkYjMzZjZjYjQ1YTZmMDljYTc2ODBm
YmFjY2RhM2Y3Y2YxYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9T
b2Z0TGlua2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Tb2Z0TGlua2lu
Zy5oCkBAIC0yOCwxMSArMjgsNyBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgogCi0jaWZkZWYgREVCVUdfQUxMCi0jZGVmaW5lIFNPRlRfTElOS19G
UkFNRVdPUksoZnJhbWV3b3JrKSBTT0ZUX0xJTktfREVCVUdfTElCUkFSWShmcmFtZXdvcmspCi0j
ZWxzZQotI2RlZmluZSBTT0ZUX0xJTktfRlJBTUVXT1JLKGZyYW1ld29yaykgU09GVF9MSU5LX0xJ
QlJBUlkoZnJhbWV3b3JrKQotI2VuZGlmCisjcHJhZ21hIG1hcmsgLSBTb2Z0LWxpbmsgaGVscGVy
IG1hY3JvcwogCiAjZGVmaW5lIFNPRlRfTElOS19MSUJSQVJZX0hFTFBFUihsaWIsIHN1ZmZpeCkg
XAogICAgIHN0YXRpYyBITU9EVUxFIGxpYiMjTGlicmFyeSgpIFwKQEAgLTQ1LDYgKzQxLDggQEAK
ICNkZWZpbmUgU09GVF9MSU5LX0xJQlJBUlkobGliKSBTT0ZUX0xJTktfTElCUkFSWV9IRUxQRVIo
bGliLCBMIi5kbGwiKQogI2RlZmluZSBTT0ZUX0xJTktfREVCVUdfTElCUkFSWShsaWIpIFNPRlRf
TElOS19MSUJSQVJZX0hFTFBFUihsaWIsIEwiX2RlYnVnLmRsbCIpCiAKKyNwcmFnbWEgbWFyayAt
IFNvZnQtbGluayBtYWNyb3MgZm9yIHVzZSB3aXRoaW4gYSBzaW5nbGUgc291cmNlIGZpbGUKKwog
I2RlZmluZSBTT0ZUX0xJTksobGlicmFyeSwgZnVuY3Rpb25OYW1lLCByZXN1bHRUeXBlLCBjYWxs
aW5nQ29udmVudGlvbiwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykgXAog
ICAgIHN0YXRpYyByZXN1bHRUeXBlIGNhbGxpbmdDb252ZW50aW9uIGluaXQjI2Z1bmN0aW9uTmFt
ZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKICAgICBzdGF0aWMgcmVzdWx0VHlwZSAoY2FsbGlu
Z0NvbnZlbnRpb24qc29mdExpbmsjI2Z1bmN0aW9uTmFtZSkgcGFyYW1ldGVyRGVjbGFyYXRpb25z
ID0gaW5pdCMjZnVuY3Rpb25OYW1lOyBcCkBAIC0xMTYsMjcgKzExNCw2IEBACiAgICAgICAgIHJl
dHVybiBzb2Z0TGluayMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlck5hbWVzOyBcCiAgICAgfQogCi0j
ZGVmaW5lIFNPRlRfTElOS19GVU5DVElPTl9IRUFERVIoZnVuY3Rpb25OYW1lLCByZXN1bHRUeXBl
LCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBhcmFtZXRlck5hbWVzKSBcCi0gICAgbmFtZXNwYWNl
IFdlYkNvcmUgeyBcCi0gICAgZXh0ZXJuIHJlc3VsdFR5cGUoX19jZGVjbCpzb2Z0TGluayMjZnVu
Y3Rpb25OYW1lKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKLSAgICB9IFwKLSAgICBpbmxpbmUg
cmVzdWx0VHlwZSBzb2Z0TGlua18jI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMg
XAotICAgIHsgXAotICAgICAgICByZXR1cm4gV2ViQ29yZTo6c29mdExpbmsjI2Z1bmN0aW9uTmFt
ZSBwYXJhbWV0ZXJOYW1lczsgXAotICAgIH0KLQotI2RlZmluZSBTT0ZUX0xJTktfRlVOQ1RJT05f
U09VUkNFKGxpYnJhcnksIGZ1bmN0aW9uTmFtZSwgcmVzdWx0VHlwZSwgcGFyYW1ldGVyRGVjbGFy
YXRpb25zLCBwYXJhbWV0ZXJOYW1lcykgXAotICAgIG5hbWVzcGFjZSBXZWJDb3JlIHsgXAotICAg
IHN0YXRpYyByZXN1bHRUeXBlIF9fY2RlY2wgaW5pdCMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRl
Y2xhcmF0aW9uczsgXAotICAgIHJlc3VsdFR5cGUoX19jZGVjbCpzb2Z0TGluayMjZnVuY3Rpb25O
YW1lKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMgPSBpbml0IyNmdW5jdGlvbk5hbWU7IFwKLSAgICBz
dGF0aWMgcmVzdWx0VHlwZSBfX2NkZWNsIGluaXQjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNs
YXJhdGlvbnMgXAotICAgIHsgXAotICAgICAgICBzb2Z0TGluayMjZnVuY3Rpb25OYW1lID0gcmVp
bnRlcnByZXRfY2FzdDxyZXN1bHRUeXBlIChfX2NkZWNsKilwYXJhbWV0ZXJEZWNsYXJhdGlvbnM+
KFNPRlRfTElOS19HRVRQUk9DQUREUkVTUyhsaWJyYXJ5IyNMaWJyYXJ5KCksICNmdW5jdGlvbk5h
bWUpKTsgXAotICAgICAgICBBU1NFUlQoc29mdExpbmsjI2Z1bmN0aW9uTmFtZSk7IFwKLSAgICAg
ICAgcmV0dXJuIHNvZnRMaW5rIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKLSAgICB9
IFwKLSAgICB9Ci0KICNkZWZpbmUgU09GVF9MSU5LX0RMTF9JTVBPUlRfT1BUSU9OQUwobGlicmFy
eSwgZnVuY3Rpb25OYW1lLCByZXN1bHRUeXBlLCBjYWxsaW5nQ29udmVudGlvbiwgcGFyYW1ldGVy
RGVjbGFyYXRpb25zKSBcCiAgICAgdHlwZWRlZiByZXN1bHRUeXBlIChjYWxsaW5nQ29udmVudGlv
biAqZnVuY3Rpb25OYW1lIyNQdHJUeXBlKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKICAgICBz
dGF0aWMgZnVuY3Rpb25OYW1lIyNQdHJUeXBlIGZ1bmN0aW9uTmFtZSMjUHRyKCkgXApAQCAtMTk0
LDQgKzE3MSw0MSBAQAogICAgICAgICByZXR1cm4gKnB0cjsgXAogICAgIH0gXAogCisjcHJhZ21h
IG1hcmsgLSBTb2Z0LWxpbmsgbWFjcm9zIGZvciBzaGFyaW5nIGFjcm9zcyBtdWx0aXBsZSBzb3Vy
Y2UgZmlsZXMKKworLy8gU2VlIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0NvcmVNZWRpYVNv
ZnRMaW5rLntjcHAsaH0gZm9yIGFuIGV4YW1wbGUgaW1wbGVtZW50YXRpb24uCisKKyNpZmRlZiBE
RUJVR19BTEwKKyNkZWZpbmUgU09GVF9MSU5LX0ZSQU1FV09SS19TT1VSQ0UoZnVuY3Rpb25OYW1l
c3BhY2UsIGZyYW1ld29yaykgXAorICAgIG5hbWVzcGFjZSBmdW5jdGlvbk5hbWVzcGFjZSB7IFwK
KyAgICBTT0ZUX0xJTktfREVCVUdfTElCUkFSWShmcmFtZXdvcmspIFwKKyAgICB9CisjZWxzZQor
I2RlZmluZSBTT0ZUX0xJTktfRlJBTUVXT1JLX1NPVVJDRShmdW5jdGlvbk5hbWVzcGFjZSwgZnJh
bWV3b3JrKSBcCisgICAgbmFtZXNwYWNlIGZ1bmN0aW9uTmFtZXNwYWNlIHsgXAorICAgIFNPRlRf
TElOS19MSUJSQVJZKGZyYW1ld29yaykgXAorICAgIH0KKyNlbmRpZgorCisjZGVmaW5lIFNPRlRf
TElOS19GVU5DVElPTl9IRUFERVIoZnVuY3Rpb25OYW1lc3BhY2UsIGZyYW1ld29yaywgZnVuY3Rp
b25OYW1lLCByZXN1bHRUeXBlLCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBhcmFtZXRlck5hbWVz
KSBcCisgICAgbmFtZXNwYWNlIGZ1bmN0aW9uTmFtZXNwYWNlIHsgXAorICAgIGV4dGVybiByZXN1
bHRUeXBlKF9fY2RlY2wqc29mdExpbmsjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1lKSBwYXJhbWV0
ZXJEZWNsYXJhdGlvbnM7IFwKKyAgICBpbmxpbmUgcmVzdWx0VHlwZSBzb2Z0TGlua18jI2ZyYW1l
d29yayMjXyMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9ucyBcCisgICAgeyBcCisg
ICAgICAgIHJldHVybiBzb2Z0TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVy
TmFtZXM7IFwKKyAgICB9IFwKKyAgICB9CisKKyNkZWZpbmUgU09GVF9MSU5LX0ZVTkNUSU9OX1NP
VVJDRShmdW5jdGlvbk5hbWVzcGFjZSwgZnJhbWV3b3JrLCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5
cGUsIHBhcmFtZXRlckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKKyAgICBuYW1lc3Bh
Y2UgZnVuY3Rpb25OYW1lc3BhY2UgeyBcCisgICAgc3RhdGljIHJlc3VsdFR5cGUgX19jZGVjbCBp
bml0IyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKKyAg
ICByZXN1bHRUeXBlKF9fY2RlY2wqc29mdExpbmsjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1lKSBw
YXJhbWV0ZXJEZWNsYXJhdGlvbnMgPSBpbml0IyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZTsgXAor
ICAgIHN0YXRpYyByZXN1bHRUeXBlIF9fY2RlY2wgaW5pdCMjZnJhbWV3b3JrIyNmdW5jdGlvbk5h
bWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zIFwKKyAgICB7IFwKKyAgICAgICAgc29mdExpbmsjI2Zy
YW1ld29yayMjZnVuY3Rpb25OYW1lID0gcmVpbnRlcnByZXRfY2FzdDxyZXN1bHRUeXBlIChfX2Nk
ZWNsKilwYXJhbWV0ZXJEZWNsYXJhdGlvbnM+KFNPRlRfTElOS19HRVRQUk9DQUREUkVTUyhmcmFt
ZXdvcmsjI0xpYnJhcnkoKSwgI2Z1bmN0aW9uTmFtZSkpOyBcCisgICAgICAgIEFTU0VSVChzb2Z0
TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUpOyBcCisgICAgICAgIHJldHVybiBzb2Z0TGlu
ayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKKyAgICB9IFwKKyAg
ICB9CisKICNlbmRpZiAvLyBTb2Z0TGlua2luZ19oCg==
</data>
<flag name="review"
          id="271976"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>