<?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>114431</bug_id>
          
          <creation_ts>2013-04-11 03:14:19 -0700</creation_ts>
          <short_desc>Remove WTF_USE_PLATFORM_STRATEGIES</short_desc>
          <delta_ts>2025-06-25 11:04:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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>
          <dependson>112162</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>geohearttry</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>873725</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-04-11 03:14:19 -0700</bug_when>
    <thetext>Once all ports implement platform strategies, we can remove the WTF_USE_PLATFORM_STRATEGIES define and get rid of all the #ifdefs.

Now that chromium has been removed and wx is about to be removed, I think the only port not implementing platform strategies is BlackBerry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888816</commentid>
    <comment_count>1</comment_count>
      <attachid>201710</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-05-14 06:58:56 -0700</bug_when>
    <thetext>Created attachment 201710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888830</commentid>
    <comment_count>2</comment_count>
      <attachid>201710</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-05-14 07:31:05 -0700</bug_when>
    <thetext>Comment on attachment 201710
Patch

Attachment 201710 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/474154</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888842</commentid>
    <comment_count>3</comment_count>
      <attachid>201710</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-05-14 08:00:00 -0700</bug_when>
    <thetext>Comment on attachment 201710
Patch

Attachment 201710 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/471177</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888846</commentid>
    <comment_count>4</comment_count>
      <attachid>201716</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-05-14 08:11:38 -0700</bug_when>
    <thetext>Created attachment 201716
Fix typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888895</commentid>
    <comment_count>5</comment_count>
      <attachid>201716</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-14 10:06:23 -0700</bug_when>
    <thetext>Comment on attachment 201716
Fix typo

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests, no new functionality.

Normally it’s fine to just omit a line like this from the change log, unless you feel that it’s unclear without it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>889182</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-05-15 01:07:14 -0700</bug_when>
    <thetext>Committed r150104: &lt;http://trac.webkit.org/changeset/150104&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201710</attachid>
            <date>2013-05-14 06:58:56 -0700</date>
            <delta_ts>2013-05-14 08:11:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk-platform-strategies.diff</filename>
            <type>text/plain</type>
            <size>30389</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMzE1ZWJlZC4uNmJhYmQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wNS0xNCAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmVt
b3ZlIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0NDMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxMy0wNS0xMyAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0Js
YWNrQmVycnldIFVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgZm9yIGFuaW1hdGlvbnMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCBjYTg3Zjg0Li5jY2EwMjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIw
MTMtMDUtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFJlbW92ZSBXVEZfVVNFX1BMQVRGT1JNX1NUUkFURUdJRVMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDQzMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gbmV3IGZ1
bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZU1hbmFnZXI6OkRhdGFiYXNlTWFu
YWdlcik6CisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGFpbmVyTm9kZTo6c3VzcGVuZFBvc3RBdHRhY2hDYWxsYmFja3MpOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cmVzdW1lUG9zdEF0dGFjaENhbGxiYWNrcyk6CisgICAg
ICAgICogZG9tL1Zpc2l0ZWRMaW5rU3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmlzaXRl
ZExpbmtTdGF0ZTo6ZGV0ZXJtaW5lTGlua1N0YXRlU2xvd0Nhc2UpOgorICAgICAgICAqIGxvYWRl
ci9Db29raWVKYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29va2llcyk6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRDb29raWVzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvb2tpZXNFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OmNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OmdldFJhd0Nvb2tpZXMpOgorICAgICAgICAoV2ViQ29yZTo6ZGVsZXRlQ29v
a2llKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIGxv
YWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjphZGRWaXNpdGVk
TGluayk6CisgICAgICAgICogbG9hZGVyL0xvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKiBs
b2FkZXIvTG9hZGVyU3RyYXRlZ3kuaDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkU2No
ZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlc291cmNlTG9hZFNjaGVkdWxlcik6Cisg
ICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyOjpyZWxlYXNlUmVzb3VyY2VzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6bG9hZCk6
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpwZXJmb3JtUG9zdExvYWRBY3Rpb25z
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9Db29raWVzU3RyYXRlZ3kuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9EYXRhYmFzZVN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9EYXRhYmFzZVN0
cmF0ZWd5Lmg6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9WaXNpdGVkTGlua1N0
cmF0ZWd5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW06CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6YmxvYlJlZ2lzdHJ5KToKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpbkRhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGx1Z2luRGF0YTo6aW5pdFBsdWdpbnMpOgorICAgICAgICAqIHBsdWdp
bnMvUGx1Z2luU3RyYXRlZ3kuaDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZU5hbWVzcGFjZTo6bG9jYWxTdG9yYWdlTmFt
ZXNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VOYW1lc3BhY2U6OnRyYW5zaWVudExv
Y2FsU3RvcmFnZU5hbWVzcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlTmFtZXNwYWNl
OjpzZXNzaW9uU3RvcmFnZU5hbWVzcGFjZSk6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlU3Ry
YXRlZ3kuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZVN0cmF0ZWd5Lmg6CisgICAgICAg
ICogd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oOgorCiAyMDEzLTA0LTMwICBCYWxhenMg
S2VsZW1lbiAgPGIua2VsZW1lbkBzaXNhLnNhbXN1bmcuY29tPgogCiAgICAgICAgIFtHU3RyZWFt
ZXJdIGNhbm5vdCBzZWVrIGFmdGVyIHZpZGVvIGZpbmlzaGVkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0No
YW5nZUxvZwppbmRleCAwZDRmYTcyLi45ZGJhZGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wNS0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFdURl9VU0VfUExBVEZPUk1f
U1RSQVRFR0lFUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE0NDMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9BYm91dERhdGFVc2VGZWF0dXJlcy5pbjoKKwogMjAxMy0wNS0x
MyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0JsYWNrQmVycnldIFVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgZm9yIGFuaW1hdGlvbnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCAzMzUzMDE3Li5jOTk3Y2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTMtMDUtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIFJlbW92ZSBXVEZfVVNFX1BMQVRGT1JNX1NUUkFURUdJRVMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDQzMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6V2ViUHJv
Y2Vzcyk6CisKIDIwMTMtMDUtMTQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIHVudXNlZCAidHlwZSIgZmllbGQgZnJvbSBEaWN0aW9uYXJ5UG9w
dXBJbmZvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm0uaAppbmRleCBhMTlhNzMzLi43MjQ3NzgzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAg
LTg4NSwxMSArODg1LDYgQEAKIC8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24gZXJyb3Ig
dGhhdCBpcyBpbnRlbmRlZCB0byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhlIHNwYWNl
IGFmdGVyIEVycm9yLiAqLwogI2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVycm9yIFVT
RV9tYWNyb19zaG91bGRfYmVfdXNlZF93aXRoX0NGTkVUV09SSwogCi0vKiBGSVhNRTogRXZlbnR1
YWxseSB3ZSBzaG91bGQgZW5hYmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdldCByaWQg
b2YgdGhlIGRlZmluZS4gKi8KLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIFdURl9VU0VfUExBVEZPUk1f
U1RSQVRFR0lFUyAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKFdJTikKICNkZWZpbmUgV1RGX1VT
RV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4
IDBhMDQyZTEuLmFmY2VhMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTM2LDIyICszNiwxNyBAQAogI2lu
Y2x1ZGUgIkRhdGFiYXNlQmFja2VuZFN5bmMuaCIKICNpbmNsdWRlICJEYXRhYmFzZUNhbGxiYWNr
LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VDb250ZXh0LmgiCisjaW5jbHVkZSAiRGF0YWJhc2VTdHJh
dGVneS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlU3luYy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGFz
ay5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRh
YmFzZUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2lu
LmgiCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLSNpbmNsdWRlICJEYXRhYmFzZVN0
cmF0ZWd5LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCi0jZWxzZQotI2luY2x1
ZGUgIkRhdGFiYXNlU2VydmVyLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBE
YXRhYmFzZU1hbmFnZXImIERhdGFiYXNlTWFuYWdlcjo6bWFuYWdlcigpCkBAIC02NiwxOCArNjEs
MTQgQEAgRGF0YWJhc2VNYW5hZ2VyJiBEYXRhYmFzZU1hbmFnZXI6Om1hbmFnZXIoKQogfQogCiBE
YXRhYmFzZU1hbmFnZXI6OkRhdGFiYXNlTWFuYWdlcigpCi0gICAgOiBtX2NsaWVudCgwKQorICAg
IDogbV9zZXJ2ZXIocGxhdGZvcm1TdHJhdGVnaWVzKCktPmRhdGFiYXNlU3RyYXRlZ3koKS0+Z2V0
RGF0YWJhc2VTZXJ2ZXIoKSkKKyAgICAsIG1fY2xpZW50KDApCiAgICAgLCBtX2RhdGFiYXNlSXNB
dmFpbGFibGUodHJ1ZSkKICNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgLCBtX2RhdGFiYXNlQ29u
dGV4dFJlZ2lzdGVyZWRDb3VudCgwKQogICAgICwgbV9kYXRhYmFzZUNvbnRleHRJbnN0YW5jZUNv
dW50KDApCiAjZW5kaWYKIHsKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLSAgICBtX3Nl
cnZlciA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5kYXRhYmFzZVN0cmF0ZWd5KCktPmdldERhdGFi
YXNlU2VydmVyKCk7Ci0jZWxzZQotICAgIG1fc2VydmVyID0gbmV3IERhdGFiYXNlU2VydmVyOwot
I2VuZGlmCiAgICAgQVNTRVJUKG1fc2VydmVyKTsgLy8gV2Ugc2hvdWxkIGFsd2F5cyBoYXZlIGEg
c2VydmVyIHRvIHdvcmsgd2l0aC4KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0NvbnRhaW5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3Bw
CmluZGV4IDYwZTJmMTEuLmE1MGUxNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9D
b250YWluZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5j
cHAKQEAgLTcyNSwxMSArNzI1LDcgQEAgdm9pZCBDb250YWluZXJOb2RlOjpzdXNwZW5kUG9zdEF0
dGFjaENhbGxiYWNrcygpCiAgICAgICAgICAgICAgICAgc19zaG91bGRSZUVuYWJsZU1lbW9yeUNh
Y2hlQ2FsbHNBZnRlckF0dGFjaCA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSNp
ZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCkt
PmxvYWRlclN0cmF0ZWd5KCktPnJlc291cmNlTG9hZFNjaGVkdWxlcigpLT5zdXNwZW5kUGVuZGlu
Z1JlcXVlc3RzKCk7Ci0jZWxzZQotICAgICAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+c3Vz
cGVuZFBlbmRpbmdSZXF1ZXN0cygpOwotI2VuZGlmCiAgICAgfQogICAgICsrc19hdHRhY2hEZXB0
aDsKIH0KQEAgLTc0NiwxMSArNzQyLDcgQEAgdm9pZCBDb250YWluZXJOb2RlOjpyZXN1bWVQb3N0
QXR0YWNoQ2FsbGJhY2tzKCkKICAgICAgICAgICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQo
KS0+cGFnZSgpKQogICAgICAgICAgICAgICAgIHBhZ2UtPnNldE1lbW9yeUNhY2hlQ2xpZW50Q2Fs
bHNFbmFibGVkKHRydWUpOwogICAgICAgICB9Ci0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMp
CiAgICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJj
ZUxvYWRTY2hlZHVsZXIoKS0+cmVzdW1lUGVuZGluZ1JlcXVlc3RzKCk7Ci0jZWxzZQotICAgICAg
ICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+cmVzdW1lUGVuZGluZ1JlcXVlc3RzKCk7Ci0jZW5k
aWYKICAgICB9CiAgICAgLS1zX2F0dGFjaERlcHRoOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1Zpc2l0ZWRMaW5rU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Zpc2l0
ZWRMaW5rU3RhdGUuY3BwCmluZGV4IGYyMGMyNTkuLjMyZmNiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9WaXNpdGVkTGlua1N0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVmlzaXRlZExpbmtTdGF0ZS5jcHAKQEAgLTM1LDExICszNSw4IEBACiAjaW5jbHVkZSAiTm9k
ZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIK
LQotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRl
Z2llcy5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RyYXRlZ3kuaCIKLSNlbmRpZgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEyNywxMSArMTI0LDcgQEAgRUluc2lkZUxpbmsgVmlzaXRl
ZExpbmtTdGF0ZTo6ZGV0ZXJtaW5lTGlua1N0YXRlU2xvd0Nhc2UoRWxlbWVudCogZWxlbWVudCkK
IAogICAgIG1fbGlua3NDaGVja2VkRm9yVmlzaXRlZFN0YXRlLmFkZChoYXNoKTsKIAotI2lmIFVT
RShQTEFURk9STV9TVFJBVEVHSUVTKQogICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+
dmlzaXRlZExpbmtTdHJhdGVneSgpLT5pc0xpbmtWaXNpdGVkKHBhZ2UsIGhhc2gsIGVsZW1lbnQt
PmRvY3VtZW50KCktPmJhc2VVUkwoKSwgKmF0dHJpYnV0ZSkgPyBJbnNpZGVWaXNpdGVkTGluayA6
IEluc2lkZVVudmlzaXRlZExpbms7Ci0jZWxzZQotICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmlz
TGlua1Zpc2l0ZWQoaGFzaCkgPyBJbnNpZGVWaXNpdGVkTGluayA6IEluc2lkZVVudmlzaXRlZExp
bms7Ci0jZW5kaWYKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ29v
a2llSmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuY3BwCmluZGV4IGFm
Njc3ZDkuLjk4Zjg3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVK
YXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuY3BwCkBAIC0yNiwx
NiArMjYsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDb29raWVKYXIuaCIK
IAorI2luY2x1ZGUgIkNvb2tpZXNTdHJhdGVneS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIk5l
dHdvcmtpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Db29raWVKYXIuaCIKLQotI2lm
IFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQotI2luY2x1ZGUgIkNvb2tpZXNTdHJhdGVneS5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgotI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtNjcsNjEgKzY0LDM3IEBAIGlubGluZSBOZXR3b3JrU3RvcmFnZVNlc3Npb24m
IHN0b3JhZ2VTZXNzaW9uKGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCkKIFN0cmluZyBjb29raWVz
KGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgS1VSTCYgdXJsKQogewogICAgIExPQ0FM
X1NFU1NJT04oZG9jdW1lbnQpCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAgICAgcmV0
dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5jb29raWVzU3RyYXRlZ3koKS0+Y29va2llc0ZvckRP
TShzZXNzaW9uLCBkb2N1bWVudC0+Zmlyc3RQYXJ0eUZvckNvb2tpZXMoKSwgdXJsKTsKLSNlbHNl
Ci0gICAgcmV0dXJuIGNvb2tpZXNGb3JET00oc2Vzc2lvbiwgZG9jdW1lbnQtPmZpcnN0UGFydHlG
b3JDb29raWVzKCksIHVybCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBzZXRDb29raWVzKERvY3VtZW50
KiBkb2N1bWVudCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGNvb2tpZVN0cmluZykK
IHsKICAgICBMT0NBTF9TRVNTSU9OKGRvY3VtZW50KQotI2lmIFVTRShQTEFURk9STV9TVFJBVEVH
SUVTKQogICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5jb29raWVzU3RyYXRlZ3koKS0+c2V0Q29v
a2llc0Zyb21ET00oc2Vzc2lvbiwgZG9jdW1lbnQtPmZpcnN0UGFydHlGb3JDb29raWVzKCksIHVy
bCwgY29va2llU3RyaW5nKTsKLSNlbHNlCi0gICAgc2V0Q29va2llc0Zyb21ET00oc2Vzc2lvbiwg
ZG9jdW1lbnQtPmZpcnN0UGFydHlGb3JDb29raWVzKCksIHVybCwgY29va2llU3RyaW5nKTsKLSNl
bmRpZgogfQogCiBib29sIGNvb2tpZXNFbmFibGVkKGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCkK
IHsKICAgICBMT0NBTF9TRVNTSU9OKGRvY3VtZW50KQotI2lmIFVTRShQTEFURk9STV9TVFJBVEVH
SUVTKQogICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+Y29va2llc1N0cmF0ZWd5KCkt
PmNvb2tpZXNFbmFibGVkKHNlc3Npb24sIGRvY3VtZW50LT5maXJzdFBhcnR5Rm9yQ29va2llcygp
LCBkb2N1bWVudC0+Y29va2llVVJMKCkpOwotI2Vsc2UKLSAgICByZXR1cm4gY29va2llc0VuYWJs
ZWQoc2Vzc2lvbiwgZG9jdW1lbnQtPmZpcnN0UGFydHlGb3JDb29raWVzKCksIGRvY3VtZW50LT5j
b29raWVVUkwoKSk7Ci0jZW5kaWYKIH0KIAogU3RyaW5nIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVs
ZFZhbHVlKGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgS1VSTCYgdXJsKQogewogICAg
IExPQ0FMX1NFU1NJT04oZG9jdW1lbnQpCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAg
ICAgcmV0dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5jb29raWVzU3RyYXRlZ3koKS0+Y29va2ll
UmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoc2Vzc2lvbiwgZG9jdW1lbnQtPmZpcnN0UGFydHlGb3JD
b29raWVzKCksIHVybCk7Ci0jZWxzZQotICAgIHJldHVybiBjb29raWVSZXF1ZXN0SGVhZGVyRmll
bGRWYWx1ZShzZXNzaW9uLCBkb2N1bWVudC0+Zmlyc3RQYXJ0eUZvckNvb2tpZXMoKSwgdXJsKTsK
LSNlbmRpZgogfQogCiBib29sIGdldFJhd0Nvb2tpZXMoY29uc3QgRG9jdW1lbnQqIGRvY3VtZW50
LCBjb25zdCBLVVJMJiB1cmwsIFZlY3RvcjxDb29raWU+JiBjb29raWVzKQogewogICAgIExPQ0FM
X1NFU1NJT04oZG9jdW1lbnQpCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAgICAgcmV0
dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5jb29raWVzU3RyYXRlZ3koKS0+Z2V0UmF3Q29va2ll
cyhzZXNzaW9uLCBkb2N1bWVudC0+Zmlyc3RQYXJ0eUZvckNvb2tpZXMoKSwgdXJsLCBjb29raWVz
KTsKLSNlbHNlCi0gICAgcmV0dXJuIGdldFJhd0Nvb2tpZXMoc2Vzc2lvbiwgZG9jdW1lbnQtPmZp
cnN0UGFydHlGb3JDb29raWVzKCksIHVybCwgY29va2llcyk7Ci0jZW5kaWYKIH0KIAogdm9pZCBk
ZWxldGVDb29raWUoY29uc3QgRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBLVVJMJiB1cmwsIGNv
bnN0IFN0cmluZyYgY29va2llTmFtZSkKIHsKICAgICBMT0NBTF9TRVNTSU9OKGRvY3VtZW50KQot
I2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5j
b29raWVzU3RyYXRlZ3koKS0+ZGVsZXRlQ29va2llKHNlc3Npb24sIHVybCwgY29va2llTmFtZSk7
Ci0jZWxzZQotICAgIGRlbGV0ZUNvb2tpZShzZXNzaW9uLCB1cmwsIGNvb2tpZU5hbWUpOwotI2Vu
ZGlmCiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDVhNTc4
NDAuLjNhNGY2ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMjU3
OCwxMSArMjU3OCw3IEBAIHVuc2lnbmVkIGxvbmcgRnJhbWVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1CiAgICAgICAgIEFTU0VSVCgh
bmV3UmVxdWVzdC5pc051bGwoKSk7CiAgICAgICAgIAogICAgICAgICBpZiAoIWRvY3VtZW50TG9h
ZGVyKCktPmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCktPm1heWJlTG9hZFN5bmNocm9ub3VzbHkobmV3
UmVxdWVzdCwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKSkgewotI2lmIFVTRShQTEFURk9STV9TVFJB
VEVHSUVTKQogICAgICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5
KCktPmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkobmV0d29ya2luZ0NvbnRleHQoKSwgaWRlbnRp
ZmllciwgbmV3UmVxdWVzdCwgc3RvcmVkQ3JlZGVudGlhbHMsIGNsaWVudENyZWRlbnRpYWxQb2xp
Y3ksIGVycm9yLCByZXNwb25zZSwgZGF0YSk7Ci0jZWxzZQotICAgICAgICAgICAgUmVzb3VyY2VI
YW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkobmV0d29ya2luZ0NvbnRleHQoKSwgbmV3
UmVxdWVzdCwgc3RvcmVkQ3JlZGVudGlhbHMsIGVycm9yLCByZXNwb25zZSwgZGF0YSk7Ci0jZW5k
aWYKICAgICAgICAgICAgIGRvY3VtZW50TG9hZGVyKCktPmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCkt
Pm1heWJlTG9hZEZhbGxiYWNrU3luY2hyb25vdXNseShuZXdSZXF1ZXN0LCBlcnJvciwgcmVzcG9u
c2UsIGRhdGEpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0
b3J5Q29udHJvbGxlci5jcHAKaW5kZXggNDU2NjM1Yy4uMWY1ZTE4NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCkBAIC00NiwyNCArNDYsMTcgQEAKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFnZUdy
b3VwLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCiAjaW5jbHVkZSAiU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgotI2luY2x1ZGUgPHd0Zi90
ZXh0L0NTdHJpbmcuaD4KLQotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQotI2luY2x1ZGUg
IlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RyYXRlZ3kuaCIK
LSNlbmRpZgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdGF0aWMgaW5saW5lIHZvaWQgYWRkVmlzaXRlZExpbmsoUGFnZSogcGFnZSwgY29u
c3QgS1VSTCYgdXJsKQogewotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogICAgIHBsYXRm
b3JtU3RyYXRlZ2llcygpLT52aXNpdGVkTGlua1N0cmF0ZWd5KCktPmFkZFZpc2l0ZWRMaW5rKHBh
Z2UsIHZpc2l0ZWRMaW5rSGFzaCh1cmwuc3RyaW5nKCkpKTsKLSNlbHNlCi0gICAgcGFnZS0+Z3Jv
dXAoKS5hZGRWaXNpdGVkTGluayh1cmwpOwotI2VuZGlmCiB9CiAKIEhpc3RvcnlDb250cm9sbGVy
OjpIaXN0b3J5Q29udHJvbGxlcihGcmFtZSogZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xv
YWRlclN0cmF0ZWd5LmNwcAppbmRleCBjMzM3OTQwLi5mYzQ0MDA3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Mb2FkZXJTdHJhdGVneS5jcHAKQEAgLTMwLDggKzMwLDYgQEAKICNpbmNsdWRlICJS
ZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFNjaGVkdWxlci5oIgogCi0j
aWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUmVz
b3VyY2VMb2FkU2NoZWR1bGVyKiBMb2FkZXJTdHJhdGVneTo6cmVzb3VyY2VMb2FkU2NoZWR1bGVy
KCkKQEAgLTUzLDUgKzUxLDMgQEAgQmxvYlJlZ2lzdHJ5KiBMb2FkZXJTdHJhdGVneTo6Y3JlYXRl
QmxvYlJlZ2lzdHJ5KCkKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBV
U0UoUExBVEZPUk1fU1RSQVRFR0lFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Mb2FkZXJTdHJhdGVneS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRlclN0cmF0ZWd5
LmgKaW5kZXggY2E1OTRjNS4uMGU2MjVkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0xvYWRlclN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRlclN0
cmF0ZWd5LmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgTG9hZGVyU3RyYXRlZ3lfaAogI2Rl
ZmluZSBMb2FkZXJTdHJhdGVneV9oCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQog
I2luY2x1ZGUgIlJlc291cmNlSGFuZGxlVHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTU4LDYgKzU2LDQgQEAgcHJvdGVjdGVkOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQogI2VuZGlmIC8vIExvYWRl
clN0cmF0ZWd5X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVk
dWxlci5jcHAKaW5kZXggY2Y4OTgyMi4uNmMyOTU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKQEAgLTY5LDcgKzY5LDYgQEAgUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKQogICAgIHN0YXRpYyBSZXNv
dXJjZUxvYWRTY2hlZHVsZXIqIGdsb2JhbFNjaGVkdWxlciA9IDA7CiAgICAgCiAgICAgaWYgKCFn
bG9iYWxTY2hlZHVsZXIpIHsKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKICAgICAgICAg
c3RhdGljIGJvb2wgaXNDYWxsaW5nT3V0VG9TdHJhdGVneSA9IGZhbHNlOwogICAgICAgICAKICAg
ICAgICAgLy8gSWYgd2UncmUgcmUtZW50ZXJpbmcgcmVzb3VyY2VMb2FkU2NoZWR1bGVyKCkgd2hp
bGUgY2FsbGluZyBvdXQgdG8gdGhlIExvYWRlclN0cmF0ZWd5LApAQCAtODIsOSArODEsNiBAQCBS
ZXNvdXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpCiAgICAgICAgIAog
ICAgICAgICBUZW1wb3JhcnlDaGFuZ2U8Ym9vbD4gcmVjdXJzaW9uR3VhcmQoaXNDYWxsaW5nT3V0
VG9TdHJhdGVneSwgdHJ1ZSk7CiAgICAgICAgIGdsb2JhbFNjaGVkdWxlciA9IHBsYXRmb3JtU3Ry
YXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJjZUxvYWRTY2hlZHVsZXIoKTsKLSNl
bHNlCi0gICAgICAgIGdsb2JhbFNjaGVkdWxlciA9IG5ldyBSZXNvdXJjZUxvYWRTY2hlZHVsZXI7
Ci0jZW5kaWYKICAgICB9CiAKICAgICByZXR1cm4gZ2xvYmFsU2NoZWR1bGVyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZTllYzY5Yi4uZGMwODNjMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC05MiwxMyArOTIsOCBA
QCB2b2lkIFJlc291cmNlTG9hZGVyOjpyZWxlYXNlUmVzb3VyY2VzKCkKICAgICAvLyB0aGUgcmVz
b3VyY2VzIHRvIHByZXZlbnQgYSBkb3VibGUgZGVhbGxvYyBvZiBXZWJWaWV3IDxyZGFyOi8vcHJv
YmxlbS80MzcyNjI4PgogICAgIG1fcmVhY2hlZFRlcm1pbmFsU3RhdGUgPSB0cnVlOwogCi0jaWYg
VVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRl
clN0cmF0ZWd5KCktPnJlc291cmNlTG9hZFNjaGVkdWxlcigpLT5yZW1vdmUodGhpcyk7Ci0jZW5k
aWYKICAgICBtX2lkZW50aWZpZXIgPSAwOwotI2lmICFVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykK
LSAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+cmVtb3ZlKHRoaXMpOwotI2VuZGlmCiAKICAg
ICBpZiAobV9oYW5kbGUpIHsKICAgICAgICAgLy8gQ2xlYXIgb3V0IHRoZSBSZXNvdXJjZUhhbmRs
ZSdzIGNsaWVudCBzbyB0aGF0IGl0IGRvZXNuJ3QgdHJ5IHRvIGNhbGwKQEAgLTI1NywxMyArMjUy
LDkgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXMKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsU2VuZFJlcXVlc3QobV9mcmFtZS5nZXQoKSwgbV9pZGVudGlmaWVyLCBtX2Zy
YW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKSwgcmVxdWVzdCwgcmVkaXJlY3RSZXNwb25z
ZSk7CiAjZW5kaWYKIAotICAgIGlmICghcmVkaXJlY3RSZXNwb25zZS5pc051bGwoKSkgewotI2lm
IFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQorICAgIGlmICghcmVkaXJlY3RSZXNwb25zZS5pc051
bGwoKSkKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPnJl
c291cmNlTG9hZFNjaGVkdWxlcigpLT5jcm9zc09yaWdpblJlZGlyZWN0UmVjZWl2ZWQodGhpcywg
cmVxdWVzdC51cmwoKSk7Ci0jZWxzZQotICAgICAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+
Y3Jvc3NPcmlnaW5SZWRpcmVjdFJlY2VpdmVkKHRoaXMsIHJlcXVlc3QudXJsKCkpOwotI2VuZGlm
Ci0gICAgfQorCiAgICAgbV9yZXF1ZXN0ID0gcmVxdWVzdDsKIAogICAgIGlmICghcmVkaXJlY3RS
ZXNwb25zZS5pc051bGwoKSAmJiAhbV9kb2N1bWVudExvYWRlci0+aXNDb21taXR0ZWQoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDgz
NTdmNGQuLjA5ZWZhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMzQyLDEyICszNDIsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjps
b2FkKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciwgY29uc3QgUmVz
bwogICAgICAgICBtX2ZyYWdtZW50SWRlbnRpZmllckZvclJlcXVlc3QgPSBTdHJpbmcoKTsKICAg
ICB9CiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKICAgICBtX2xvYWRlciA9IHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJjZUxvYWRTY2hlZHVsZXIo
KS0+c2NoZWR1bGVTdWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1lKCks
IHRoaXMsIHJlcXVlc3QsIHJlcXVlc3QucHJpb3JpdHkoKSwgb3B0aW9ucyk7Ci0jZWxzZQotICAg
IG1fbG9hZGVyID0gcmVzb3VyY2VMb2FkU2NoZWR1bGVyKCktPnNjaGVkdWxlU3VicmVzb3VyY2VM
b2FkKGNhY2hlZFJlc291cmNlTG9hZGVyLT5mcmFtZSgpLCB0aGlzLCByZXF1ZXN0LCByZXF1ZXN0
LnByaW9yaXR5KCksIG9wdGlvbnMpOwotI2VuZGlmCi0KICAgICBpZiAoIW1fbG9hZGVyKSB7CiAg
ICAgICAgIGZhaWxCZWZvcmVTdGFydGluZygpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRl
eCA0MDZjZTE2Li43ZGE4NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTgwNywxMSArODA3LDcgQEAgdm9pZCBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cGVyZm9ybVBvc3RMb2FkQWN0aW9ucygpCiB7CiAgICAgY2hl
Y2tGb3JQZW5kaW5nUHJlbG9hZHMoKTsKIAotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQog
ICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJjZUxvYWRT
Y2hlZHVsZXIoKS0+c2VydmVQZW5kaW5nUmVxdWVzdHMoKTsKLSNlbHNlCi0gICAgcmVzb3VyY2VM
b2FkU2NoZWR1bGVyKCktPnNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7Ci0jZW5kaWYKIH0KIAogdm9p
ZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6aW5jcmVtZW50UmVxdWVzdENvdW50KGNvbnN0IENhY2hl
ZFJlc291cmNlKiByZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db29r
aWVzU3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZXNTdHJhdGVneS5o
CmluZGV4IGQ5ZTA2NmEuLmMwZTZlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0Nvb2tpZXNTdHJhdGVneS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tp
ZXNTdHJhdGVneS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIENvb2tpZXNTdHJhdGVneV9o
CiAjZGVmaW5lIENvb2tpZXNTdHJhdGVneV9oCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lF
UykKLQogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU0LDYgKzUyLDQgQEAgcHJvdGVjdGVkOgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBVU0UoUExBVEZPUk1fU1RSQVRF
R0lFUykKLQogI2VuZGlmIC8vIENvb2tpZXNTdHJhdGVneV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EYXRhYmFzZVN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3kuY3BwCmluZGV4IGE4NDY2NTguLjNhNGI5MDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3kuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3kuY3BwCkBAIC0yNiw3ICsy
Niw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VTdHJhdGVneS5o
IgogCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKIAogI2luY2x1ZGUgIkRhdGFiYXNlU2VydmVyLmgiCkBAIC00MSw0ICs0MCwzIEBAIEFic3Ry
YWN0RGF0YWJhc2VTZXJ2ZXIqIERhdGFiYXNlU3RyYXRlZ3k6OmdldERhdGFiYXNlU2VydmVyKCkK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0Up
Ci0jZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EYXRhYmFzZVN0cmF0ZWd5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9EYXRhYmFzZVN0cmF0ZWd5LmgKaW5kZXggZjg2OWY1NC4uMzk5NjdkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0YWJhc2VTdHJhdGVneS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3kuaApAQCAtMjYsOCArMjYsNiBAQAog
I2lmbmRlZiBEYXRhYmFzZVN0cmF0ZWd5X2gKICNkZWZpbmUgRGF0YWJhc2VTdHJhdGVneV9oCiAK
LSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQogI2luY2x1ZGUgIkFic3RyYWN0RGF0YWJh
c2VTZXJ2ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQsNiArNDIsNCBAQCBwcm90
ZWN0ZWQ6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIFVTRShQTEFURk9S
TV9TVFJBVEVHSUVTKQotCiAjZW5kaWYgLy8gRGF0YWJhc2VTdHJhdGVneV9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkU3RyYXRlZ3kuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCmluZGV4IGY5MjJjNjYuLjc4NWZj
ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVn
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCkBA
IC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFBhc3RlYm9hcmRTdHJhdGVneV9oCiAjZGVmaW5lIFBh
c3RlYm9hcmRTdHJhdGVneV9oCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQogI2lu
Y2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTY0LDYgKzYyLDUgQEAgcHJvdGVjdGVkOgogfTsKIAog
fQotI2VuZGlmIC8vIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogCiAjZW5kaWYgLy8gIVBhc3Rl
Ym9hcmRTdHJhdGVneV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJh
dGVnaWVzLmNwcAppbmRleCBjYTQ1MTUwLi5jZjdiZjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTI0LDkgKzI0LDYgQEAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01OSw0ICs1NiwzIEBAIGJvb2wgaGFzUGxhdGZvcm1TdHJhdGVnaWVzKCkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDViOWU2MTYu
LmJhN2NjMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3Ry
YXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2ll
cy5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFBsYXRmb3JtU3RyYXRlZ2llc19oCiAjZGVm
aW5lIFBsYXRmb3JtU3RyYXRlZ2llc19oCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykK
LQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDb29raWVzU3RyYXRlZ3k7CkBAIC0xNDAs
NiArMTM4LDQgQEAgYm9vbCBoYXNQbGF0Zm9ybVN0cmF0ZWdpZXMoKTsKICAgICAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQotCiAj
ZW5kaWYgLy8gUGxhdGZvcm1TdHJhdGVnaWVzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaAppbmRleCAyMzZmZTJmLi40NjlmOWRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaXNpdGVkTGlua1N0cmF0ZWd5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlzaXRlZExpbmtTdHJhdGVneS5oCkBAIC0yNiw4ICsyNiw2
IEBACiAjaWZuZGVmIFZpc2l0ZWRMaW5rU3RyYXRlZ3lfaAogI2RlZmluZSBWaXNpdGVkTGlua1N0
cmF0ZWd5X2gKIAotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHR5cGVkZWYgdWludDY0X3QgTGlua0hhc2g7CkBAIC00Nyw2ICs0NSw0IEBAIHBy
b3RlY3RlZDoKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gVVNFKFBMQVRG
T1JNX1NUUkFURUdJRVMpCi0KICNlbmRpZiAvLyBWaXNpdGVkTGlua1N0cmF0ZWd5X2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KaW5kZXggYTRmYmU5Zi4u
NjJiNzEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9h
cmRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMu
bW0KQEAgLTQ5LDYgKzQ5LDggQEAKICNpbXBvcnQgIkxvYWRlck5TVVJMRXh0cmFzLmgiCiAjaW1w
b3J0ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW1wb3J0ICJQYWdlLmgiCisjaW1wb3J0ICJQYXN0
ZWJvYXJkU3RyYXRlZ3kuaCIKKyNpbnBvcnQgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2ltcG9y
dCAiUmVuZGVySW1hZ2UuaCIKICNpbXBvcnQgIlJlc291cmNlQnVmZmVyLmgiCiAjaW1wb3J0ICJU
ZXh0LmgiCkBAIC02MCwxMSArNjIsNiBAQAogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQnVpbGRl
ci5oPgogI2ltcG9ydCA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAotI2lmIFVTRShQ
TEFURk9STV9TVFJBVEVHSUVTKQotI2luY2x1ZGUgIlBhc3RlYm9hcmRTdHJhdGVneS5oIgotI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gRklYTUU6IEl0J3Mgbm90IGdyZWF0IHRvIGhhdmUgdGhlc2UgYm90aCBoZXJlIGFu
ZCBpbiBXZWJLaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JS
ZWdpc3RyeS5jcHAKaW5kZXggOWNiMTM3Yi4uNWFiMDQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5LmNwcApAQCAtMzksMTEgKzM5LDcgQEAg
QmxvYlJlZ2lzdHJ5JiBibG9iUmVnaXN0cnkoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKICAgICBzdGF0aWMgQmxvYlJlZ2lz
dHJ5JiBpbnN0YW5jZSA9ICpwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+
Y3JlYXRlQmxvYlJlZ2lzdHJ5KCk7Ci0jZWxzZQotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQmxv
YlJlZ2lzdHJ5SW1wbCwgaW5zdGFuY2UsICgpKTsKLSNlbmRpZgogICAgIHJldHVybiBpbnN0YW5j
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YS5jcHAKaW5kZXggY2NkZjEwZC4u
NmRkYWQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGEuY3BwCkBAIC0yNCwxMCAr
MjQsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGEuaCIKIAot
I2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2ll
cy5oIgogI2luY2x1ZGUgIlBsdWdpblN0cmF0ZWd5LmgiCi0jZW5kaWYKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC03OCw3ICs3Niw2IEBAIFN0cmluZyBQbHVnaW5EYXRhOjpwbHVnaW5GaWxl
Rm9yTWltZVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkgY29uc3QKICAgICByZXR1cm4gU3Ry
aW5nKCk7CiB9CiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKIHZvaWQgUGx1Z2luRGF0
YTo6cmVmcmVzaCgpCiB7CiAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0ZWd5
KCktPnJlZnJlc2hQbHVnaW5zKCk7CkBAIC05MCw2ICs4Nyw1IEBAIHZvaWQgUGx1Z2luRGF0YTo6
aW5pdFBsdWdpbnMoY29uc3QgUGFnZSogcGFnZSkKICAgICAKICAgICBwbGF0Zm9ybVN0cmF0ZWdp
ZXMoKS0+cGx1Z2luU3RyYXRlZ3koKS0+Z2V0UGx1Z2luSW5mbyhwYWdlLCBtX3BsdWdpbnMpOwog
fQotI2VuZGlmCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
U3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyYXRlZ3kuaAppbmRl
eCA5ZDhhN2I1Li4wNWQxOTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpblN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJhdGVn
eS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFBsdWdpblN0cmF0ZWd5X2gKICNkZWZpbmUg
UGx1Z2luU3RyYXRlZ3lfaAogCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCi0KICNpbmNs
dWRlICJQbHVnaW5EYXRhLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDYgKzQzLDQg
QEAgcHJvdGVjdGVkOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBVU0Uo
UExBVEZPUk1fU1RSQVRFR0lFUykKLQogI2VuZGlmIC8vIFBsdWdpblN0cmF0ZWd5X2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2UuY3BwCmluZGV4IDEwY2U3NjkuLjJi
YmJlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmNwcApA
QCAtMjksMzggKzI5LDIxIEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCiAjaW5j
bHVkZSAiU3RvcmFnZVN0cmF0ZWd5LmgiCiAKLSNpZiAhVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMp
Ci0jaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZUltcGwuaCIKLSNlbmRpZgotCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8U3RvcmFnZU5hbWVzcGFjZT4gU3RvcmFnZU5hbWVzcGFj
ZTo6bG9jYWxTdG9yYWdlTmFtZXNwYWNlKFBhZ2VHcm91cCogcGFnZUdyb3VwKQogewotI2lmIFVT
RShQTEFURk9STV9TVFJBVEVHSUVTKQogICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+
c3RvcmFnZVN0cmF0ZWd5KCktPmxvY2FsU3RvcmFnZU5hbWVzcGFjZShwYWdlR3JvdXApOwotI2Vs
c2UKLSAgICByZXR1cm4gU3RvcmFnZU5hbWVzcGFjZUltcGw6OmxvY2FsU3RvcmFnZU5hbWVzcGFj
ZShwYWdlR3JvdXApOwotI2VuZGlmCiB9CiAKIFBhc3NSZWZQdHI8U3RvcmFnZU5hbWVzcGFjZT4g
U3RvcmFnZU5hbWVzcGFjZTo6dHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlKFBhZ2VHcm91
cCogcGFnZUdyb3VwLCBTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4pCiB7Ci0jaWYgVVNF
KFBMQVRGT1JNX1NUUkFURUdJRVMpCiAgICAgcmV0dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5z
dG9yYWdlU3RyYXRlZ3koKS0+dHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlKHBhZ2VHcm91
cCwgc2VjdXJpdHlPcmlnaW4pOwotI2Vsc2UKLSAgICByZXR1cm4gU3RvcmFnZU5hbWVzcGFjZUlt
cGw6OnRyYW5zaWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZShwYWdlR3JvdXAsIHNlY3VyaXR5T3Jp
Z2luKTsKLSNlbmRpZgogfQogCiBQYXNzUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2U+IFN0b3JhZ2VO
YW1lc3BhY2U6OnNlc3Npb25TdG9yYWdlTmFtZXNwYWNlKFBhZ2UqIHBhZ2UpCiB7Ci0jaWYgVVNF
KFBMQVRGT1JNX1NUUkFURUdJRVMpCiAgICAgcmV0dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5z
dG9yYWdlU3RyYXRlZ3koKS0+c2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2UocGFnZSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICByZXR1cm4gU3RvcmFnZU5hbWVzcGFjZUltcGw6
OnNlc3Npb25TdG9yYWdlTmFtZXNwYWNlKHBhZ2UpOwotI2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN0
cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN0cmF0ZWd5LmNwcApp
bmRleCAxY2YzY2Q1Li44OGI4NGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1N0b3JhZ2VTdHJhdGVneS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdl
U3RyYXRlZ3kuY3BwCkBAIC0yOCw4ICsyOCw2IEBACiAKICNpbmNsdWRlICJTdG9yYWdlTmFtZXNw
YWNlSW1wbC5oIgogCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCi0KIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogUGFzc1JlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBTdG9yYWdlU3RyYXRlZ3k6
OmxvY2FsU3RvcmFnZU5hbWVzcGFjZShQYWdlR3JvdXAqIHBhZ2VHcm91cCkKQEAgLTQ4LDUgKzQ2
LDMgQEAgUGFzc1JlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBTdG9yYWdlU3RyYXRlZ3k6OnRyYW5z
aWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZShQYWcKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gVVNFKFNUT1JBR0VfU1RSQVRFR0lFUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN0cmF0ZWd5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1N0b3JhZ2VTdHJhdGVneS5oCmluZGV4IDQ0YTIzZDcuLjRlZGQ0OTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlU3RyYXRlZ3kuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRl
ZiBTdG9yYWdlU3RyYXRlZ3lfaAogI2RlZmluZSBTdG9yYWdlU3RyYXRlZ3lfaAogCi0jaWYgVVNF
KFBMQVRGT1JNX1NUUkFURUdJRVMpCi0KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC01MSw2ICs0OSw0IEBAIHByb3RlY3RlZDoKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCi0KICNl
bmRpZiAvLyBTdG9yYWdlU3RyYXRlZ3lfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXJTdHJhdGVneS5oCmluZGV4IDQxMTFlNGEuLjNlNmZiZGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyU3RyYXRlZ3kuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclN0cmF0ZWd5LmgKQEAgLTI2LDggKzI2LDYgQEAK
ICNpZm5kZWYgU2hhcmVkV29ya2VyU3RyYXRlZ3lfaAogI2RlZmluZSBTaGFyZWRXb3JrZXJTdHJh
dGVneV9oCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQogbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIAogY2xhc3MgU2hhcmVkV29ya2VyU3RyYXRlZ3kgewpAQCAtMzksNiArMzcsNSBA
QCBwcm90ZWN0ZWQ6CiB9OwogCiB9Ci0jZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMp
CiAKICNlbmRpZiAvLyBTaGFyZWRXb3JrZXJTdHJhdGVneV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhVXNlRmVhdHVyZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhVXNlRmVh
dHVyZXMuaW4KaW5kZXggZTZiYjdmZi4uMjNmNWJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Fib3V0RGF0YVVzZUZlYXR1cmVzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BYm91dERhdGFVc2VGZWF0
dXJlcy5pbgpAQCAtNjksNyArNjksNiBAQCBPUEVOR0xfRVNfMgogT1BFTlRZUEVfU0FOSVRJWkVS
CiBPUEVOVkcKIE9QRU5WR19CTFVSCi1QTEFURk9STV9TVFJBVEVHSUVTCiBQTEFURk9STV9URVhU
X1RSQUNLX01FTlUKIFBMVUdJTl9IT1NUX1BST0NFU1MKIFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9D
QUxMQkFDSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IDUyZDhiY2Iu
LjkxZmFmMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTI2LDgg
KzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaCIKIAotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQotCiAjaW5jbHVkZSAiQmxv
Y2tpbmdSZXNwb25zZU1hcC5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRl
ICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgpAQCAtNDUzLDUgKzQ1MSwzIEBAIHZv
aWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBjb25zdCBTdHJpbmcmCiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0K
LSNlbmRpZiAvLyBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5oCmluZGV4IGNmNGE2MTcuLjk5MzU0MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXNfaAogI2RlZmluZSBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXNfaAogCi0jaWYgVVNFKFBMQVRGT1JN
X1NUUkFURUdJRVMpCi0KICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZXNTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvRGF0YWJhc2VTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTG9h
ZGVyU3RyYXRlZ3kuaD4KQEAgLTEyNiw2ICsxMjQsNCBAQCB2b2lkIGhhbmRsZURpZEdldFBsdWdp
bnModWludDY0X3QgcmVxdWVzdElELCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4m
KQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIFVTRShQTEFURk9STV9TVFJB
VEVHSUVTKQotCiAjZW5kaWYgLy8gV2ViUGxhdGZvcm1TdHJhdGVnaWVzX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGQ4Y2M2MWMuLjJlMGExYWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTgwLDExICsxODAsOCBA
QCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAsIG1faW5XaW5kb3dQYWdlQ291bnQoMCkK
ICAgICAsIG1fbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwVGltZXIodGhpcywgJldlYlByb2Nlc3M6
Om5vblZpc2libGVQcm9jZXNzQ2xlYW51cFRpbWVyRmlyZWQpCiB7Ci0jaWYgVVNFKFBMQVRGT1JN
X1NUUkFURUdJRVMpCiAgICAgLy8gSW5pdGlhbGl6ZSBvdXIgcGxhdGZvcm0gc3RyYXRlZ2llcy4K
ICAgICBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmluaXRpYWxpemUoKTsKLSNlbmRpZiAvLyBVU0Uo
UExBVEZPUk1fU1RSQVRFR0lFUykKLQogCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIG1vdmVk
IHRvIHdoZXJlIFdlYlByb2Nlc3M6OmluaXRpYWxpemUgaXMgY2FsbGVkLAogICAgIC8vIHNvIHRo
YXQgcG9ydHMgaGF2ZSBhIGNoYW5jZSB0byBjdXN0b21pemUsIGFuZCBpZmRlZnMgaW4gdGhpcyBm
aWxlIGFyZQo=
</data>
<flag name="commit-queue"
          id="223061"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201716</attachid>
            <date>2013-05-14 08:11:38 -0700</date>
            <delta_ts>2013-05-14 10:06:23 -0700</delta_ts>
            <desc>Fix typo</desc>
            <filename>wk-platform-strategies2.diff</filename>
            <type>text/plain</type>
            <size>30389</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMzE1ZWJlZC4uNmJhYmQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wNS0xNCAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmVt
b3ZlIFdURl9VU0VfUExBVEZPUk1fU1RSQVRFR0lFUworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0NDMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxMy0wNS0xMyAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0Js
YWNrQmVycnldIFVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgZm9yIGFuaW1hdGlvbnMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCBjYTg3Zjg0Li5jY2EwMjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIw
MTMtMDUtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFJlbW92ZSBXVEZfVVNFX1BMQVRGT1JNX1NUUkFURUdJRVMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDQzMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gbmV3IGZ1
bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZU1hbmFnZXI6OkRhdGFiYXNlTWFu
YWdlcik6CisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGFpbmVyTm9kZTo6c3VzcGVuZFBvc3RBdHRhY2hDYWxsYmFja3MpOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cmVzdW1lUG9zdEF0dGFjaENhbGxiYWNrcyk6CisgICAg
ICAgICogZG9tL1Zpc2l0ZWRMaW5rU3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmlzaXRl
ZExpbmtTdGF0ZTo6ZGV0ZXJtaW5lTGlua1N0YXRlU2xvd0Nhc2UpOgorICAgICAgICAqIGxvYWRl
ci9Db29raWVKYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29va2llcyk6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRDb29raWVzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvb2tpZXNFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OmNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OmdldFJhd0Nvb2tpZXMpOgorICAgICAgICAoV2ViQ29yZTo6ZGVsZXRlQ29v
a2llKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIGxv
YWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjphZGRWaXNpdGVk
TGluayk6CisgICAgICAgICogbG9hZGVyL0xvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKiBs
b2FkZXIvTG9hZGVyU3RyYXRlZ3kuaDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkU2No
ZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlc291cmNlTG9hZFNjaGVkdWxlcik6Cisg
ICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyOjpyZWxlYXNlUmVzb3VyY2VzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6bG9hZCk6
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpwZXJmb3JtUG9zdExvYWRBY3Rpb25z
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9Db29raWVzU3RyYXRlZ3kuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9EYXRhYmFzZVN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9EYXRhYmFzZVN0
cmF0ZWd5Lmg6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9WaXNpdGVkTGlua1N0
cmF0ZWd5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW06CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6YmxvYlJlZ2lzdHJ5KToKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpbkRhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGx1Z2luRGF0YTo6aW5pdFBsdWdpbnMpOgorICAgICAgICAqIHBsdWdp
bnMvUGx1Z2luU3RyYXRlZ3kuaDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZU5hbWVzcGFjZTo6bG9jYWxTdG9yYWdlTmFt
ZXNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VOYW1lc3BhY2U6OnRyYW5zaWVudExv
Y2FsU3RvcmFnZU5hbWVzcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlTmFtZXNwYWNl
OjpzZXNzaW9uU3RvcmFnZU5hbWVzcGFjZSk6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlU3Ry
YXRlZ3kuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZVN0cmF0ZWd5Lmg6CisgICAgICAg
ICogd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oOgorCiAyMDEzLTA0LTMwICBCYWxhenMg
S2VsZW1lbiAgPGIua2VsZW1lbkBzaXNhLnNhbXN1bmcuY29tPgogCiAgICAgICAgIFtHU3RyZWFt
ZXJdIGNhbm5vdCBzZWVrIGFmdGVyIHZpZGVvIGZpbmlzaGVkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0No
YW5nZUxvZwppbmRleCAwZDRmYTcyLi45ZGJhZGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wNS0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFdURl9VU0VfUExBVEZPUk1f
U1RSQVRFR0lFUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE0NDMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9BYm91dERhdGFVc2VGZWF0dXJlcy5pbjoKKwogMjAxMy0wNS0x
MyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0JsYWNrQmVycnldIFVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgZm9yIGFuaW1hdGlvbnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCAzMzUzMDE3Li5jOTk3Y2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTMtMDUtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIFJlbW92ZSBXVEZfVVNFX1BMQVRGT1JNX1NUUkFURUdJRVMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDQzMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6V2ViUHJv
Y2Vzcyk6CisKIDIwMTMtMDUtMTQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIHVudXNlZCAidHlwZSIgZmllbGQgZnJvbSBEaWN0aW9uYXJ5UG9w
dXBJbmZvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm0uaAppbmRleCBhMTlhNzMzLi43MjQ3NzgzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAg
LTg4NSwxMSArODg1LDYgQEAKIC8qIFNldCB1cCBhIGRlZmluZSBmb3IgYSBjb21tb24gZXJyb3Ig
dGhhdCBpcyBpbnRlbmRlZCB0byBjYXVzZSBhIGJ1aWxkIGVycm9yIC0tIHRodXMgdGhlIHNwYWNl
IGFmdGVyIEVycm9yLiAqLwogI2RlZmluZSBXVEZfUExBVEZPUk1fQ0ZORVRXT1JLIEVycm9yIFVT
RV9tYWNyb19zaG91bGRfYmVfdXNlZF93aXRoX0NGTkVUV09SSwogCi0vKiBGSVhNRTogRXZlbnR1
YWxseSB3ZSBzaG91bGQgZW5hYmxlIHRoaXMgZm9yIGFsbCBwbGF0Zm9ybXMgYW5kIGdldCByaWQg
b2YgdGhlIGRlZmluZS4gKi8KLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShFRkwpIHx8IFBMQVRGT1JNKEJMQUNLQkVSUlkpCi0jZGVmaW5lIFdURl9VU0VfUExBVEZPUk1f
U1RSQVRFR0lFUyAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKFdJTikKICNkZWZpbmUgV1RGX1VT
RV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4
IDBhMDQyZTEuLmFmY2VhMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTM2LDIyICszNiwxNyBAQAogI2lu
Y2x1ZGUgIkRhdGFiYXNlQmFja2VuZFN5bmMuaCIKICNpbmNsdWRlICJEYXRhYmFzZUNhbGxiYWNr
LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VDb250ZXh0LmgiCisjaW5jbHVkZSAiRGF0YWJhc2VTdHJh
dGVneS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlU3luYy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGFz
ay5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRh
YmFzZUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2lu
LmgiCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLSNpbmNsdWRlICJEYXRhYmFzZVN0
cmF0ZWd5LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCi0jZWxzZQotI2luY2x1
ZGUgIkRhdGFiYXNlU2VydmVyLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBE
YXRhYmFzZU1hbmFnZXImIERhdGFiYXNlTWFuYWdlcjo6bWFuYWdlcigpCkBAIC02NiwxOCArNjEs
MTQgQEAgRGF0YWJhc2VNYW5hZ2VyJiBEYXRhYmFzZU1hbmFnZXI6Om1hbmFnZXIoKQogfQogCiBE
YXRhYmFzZU1hbmFnZXI6OkRhdGFiYXNlTWFuYWdlcigpCi0gICAgOiBtX2NsaWVudCgwKQorICAg
IDogbV9zZXJ2ZXIocGxhdGZvcm1TdHJhdGVnaWVzKCktPmRhdGFiYXNlU3RyYXRlZ3koKS0+Z2V0
RGF0YWJhc2VTZXJ2ZXIoKSkKKyAgICAsIG1fY2xpZW50KDApCiAgICAgLCBtX2RhdGFiYXNlSXNB
dmFpbGFibGUodHJ1ZSkKICNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgLCBtX2RhdGFiYXNlQ29u
dGV4dFJlZ2lzdGVyZWRDb3VudCgwKQogICAgICwgbV9kYXRhYmFzZUNvbnRleHRJbnN0YW5jZUNv
dW50KDApCiAjZW5kaWYKIHsKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLSAgICBtX3Nl
cnZlciA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5kYXRhYmFzZVN0cmF0ZWd5KCktPmdldERhdGFi
YXNlU2VydmVyKCk7Ci0jZWxzZQotICAgIG1fc2VydmVyID0gbmV3IERhdGFiYXNlU2VydmVyOwot
I2VuZGlmCiAgICAgQVNTRVJUKG1fc2VydmVyKTsgLy8gV2Ugc2hvdWxkIGFsd2F5cyBoYXZlIGEg
c2VydmVyIHRvIHdvcmsgd2l0aC4KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0NvbnRhaW5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3Bw
CmluZGV4IDYwZTJmMTEuLmE1MGUxNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9D
b250YWluZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5j
cHAKQEAgLTcyNSwxMSArNzI1LDcgQEAgdm9pZCBDb250YWluZXJOb2RlOjpzdXNwZW5kUG9zdEF0
dGFjaENhbGxiYWNrcygpCiAgICAgICAgICAgICAgICAgc19zaG91bGRSZUVuYWJsZU1lbW9yeUNh
Y2hlQ2FsbHNBZnRlckF0dGFjaCA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSNp
ZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCkt
PmxvYWRlclN0cmF0ZWd5KCktPnJlc291cmNlTG9hZFNjaGVkdWxlcigpLT5zdXNwZW5kUGVuZGlu
Z1JlcXVlc3RzKCk7Ci0jZWxzZQotICAgICAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+c3Vz
cGVuZFBlbmRpbmdSZXF1ZXN0cygpOwotI2VuZGlmCiAgICAgfQogICAgICsrc19hdHRhY2hEZXB0
aDsKIH0KQEAgLTc0NiwxMSArNzQyLDcgQEAgdm9pZCBDb250YWluZXJOb2RlOjpyZXN1bWVQb3N0
QXR0YWNoQ2FsbGJhY2tzKCkKICAgICAgICAgICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQo
KS0+cGFnZSgpKQogICAgICAgICAgICAgICAgIHBhZ2UtPnNldE1lbW9yeUNhY2hlQ2xpZW50Q2Fs
bHNFbmFibGVkKHRydWUpOwogICAgICAgICB9Ci0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMp
CiAgICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJj
ZUxvYWRTY2hlZHVsZXIoKS0+cmVzdW1lUGVuZGluZ1JlcXVlc3RzKCk7Ci0jZWxzZQotICAgICAg
ICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+cmVzdW1lUGVuZGluZ1JlcXVlc3RzKCk7Ci0jZW5k
aWYKICAgICB9CiAgICAgLS1zX2F0dGFjaERlcHRoOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1Zpc2l0ZWRMaW5rU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Zpc2l0
ZWRMaW5rU3RhdGUuY3BwCmluZGV4IGYyMGMyNTkuLjMyZmNiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9WaXNpdGVkTGlua1N0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVmlzaXRlZExpbmtTdGF0ZS5jcHAKQEAgLTM1LDExICszNSw4IEBACiAjaW5jbHVkZSAiTm9k
ZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIK
LQotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRl
Z2llcy5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RyYXRlZ3kuaCIKLSNlbmRpZgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEyNywxMSArMTI0LDcgQEAgRUluc2lkZUxpbmsgVmlzaXRl
ZExpbmtTdGF0ZTo6ZGV0ZXJtaW5lTGlua1N0YXRlU2xvd0Nhc2UoRWxlbWVudCogZWxlbWVudCkK
IAogICAgIG1fbGlua3NDaGVja2VkRm9yVmlzaXRlZFN0YXRlLmFkZChoYXNoKTsKIAotI2lmIFVT
RShQTEFURk9STV9TVFJBVEVHSUVTKQogICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+
dmlzaXRlZExpbmtTdHJhdGVneSgpLT5pc0xpbmtWaXNpdGVkKHBhZ2UsIGhhc2gsIGVsZW1lbnQt
PmRvY3VtZW50KCktPmJhc2VVUkwoKSwgKmF0dHJpYnV0ZSkgPyBJbnNpZGVWaXNpdGVkTGluayA6
IEluc2lkZVVudmlzaXRlZExpbms7Ci0jZWxzZQotICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmlz
TGlua1Zpc2l0ZWQoaGFzaCkgPyBJbnNpZGVWaXNpdGVkTGluayA6IEluc2lkZVVudmlzaXRlZExp
bms7Ci0jZW5kaWYKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ29v
a2llSmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuY3BwCmluZGV4IGFm
Njc3ZDkuLjk4Zjg3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVK
YXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuY3BwCkBAIC0yNiwx
NiArMjYsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDb29raWVKYXIuaCIK
IAorI2luY2x1ZGUgIkNvb2tpZXNTdHJhdGVneS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIk5l
dHdvcmtpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Db29raWVKYXIuaCIKLQotI2lm
IFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQotI2luY2x1ZGUgIkNvb2tpZXNTdHJhdGVneS5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgotI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtNjcsNjEgKzY0LDM3IEBAIGlubGluZSBOZXR3b3JrU3RvcmFnZVNlc3Npb24m
IHN0b3JhZ2VTZXNzaW9uKGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCkKIFN0cmluZyBjb29raWVz
KGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgS1VSTCYgdXJsKQogewogICAgIExPQ0FM
X1NFU1NJT04oZG9jdW1lbnQpCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAgICAgcmV0
dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5jb29raWVzU3RyYXRlZ3koKS0+Y29va2llc0ZvckRP
TShzZXNzaW9uLCBkb2N1bWVudC0+Zmlyc3RQYXJ0eUZvckNvb2tpZXMoKSwgdXJsKTsKLSNlbHNl
Ci0gICAgcmV0dXJuIGNvb2tpZXNGb3JET00oc2Vzc2lvbiwgZG9jdW1lbnQtPmZpcnN0UGFydHlG
b3JDb29raWVzKCksIHVybCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBzZXRDb29raWVzKERvY3VtZW50
KiBkb2N1bWVudCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGNvb2tpZVN0cmluZykK
IHsKICAgICBMT0NBTF9TRVNTSU9OKGRvY3VtZW50KQotI2lmIFVTRShQTEFURk9STV9TVFJBVEVH
SUVTKQogICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5jb29raWVzU3RyYXRlZ3koKS0+c2V0Q29v
a2llc0Zyb21ET00oc2Vzc2lvbiwgZG9jdW1lbnQtPmZpcnN0UGFydHlGb3JDb29raWVzKCksIHVy
bCwgY29va2llU3RyaW5nKTsKLSNlbHNlCi0gICAgc2V0Q29va2llc0Zyb21ET00oc2Vzc2lvbiwg
ZG9jdW1lbnQtPmZpcnN0UGFydHlGb3JDb29raWVzKCksIHVybCwgY29va2llU3RyaW5nKTsKLSNl
bmRpZgogfQogCiBib29sIGNvb2tpZXNFbmFibGVkKGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCkK
IHsKICAgICBMT0NBTF9TRVNTSU9OKGRvY3VtZW50KQotI2lmIFVTRShQTEFURk9STV9TVFJBVEVH
SUVTKQogICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+Y29va2llc1N0cmF0ZWd5KCkt
PmNvb2tpZXNFbmFibGVkKHNlc3Npb24sIGRvY3VtZW50LT5maXJzdFBhcnR5Rm9yQ29va2llcygp
LCBkb2N1bWVudC0+Y29va2llVVJMKCkpOwotI2Vsc2UKLSAgICByZXR1cm4gY29va2llc0VuYWJs
ZWQoc2Vzc2lvbiwgZG9jdW1lbnQtPmZpcnN0UGFydHlGb3JDb29raWVzKCksIGRvY3VtZW50LT5j
b29raWVVUkwoKSk7Ci0jZW5kaWYKIH0KIAogU3RyaW5nIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVs
ZFZhbHVlKGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgS1VSTCYgdXJsKQogewogICAg
IExPQ0FMX1NFU1NJT04oZG9jdW1lbnQpCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAg
ICAgcmV0dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5jb29raWVzU3RyYXRlZ3koKS0+Y29va2ll
UmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoc2Vzc2lvbiwgZG9jdW1lbnQtPmZpcnN0UGFydHlGb3JD
b29raWVzKCksIHVybCk7Ci0jZWxzZQotICAgIHJldHVybiBjb29raWVSZXF1ZXN0SGVhZGVyRmll
bGRWYWx1ZShzZXNzaW9uLCBkb2N1bWVudC0+Zmlyc3RQYXJ0eUZvckNvb2tpZXMoKSwgdXJsKTsK
LSNlbmRpZgogfQogCiBib29sIGdldFJhd0Nvb2tpZXMoY29uc3QgRG9jdW1lbnQqIGRvY3VtZW50
LCBjb25zdCBLVVJMJiB1cmwsIFZlY3RvcjxDb29raWU+JiBjb29raWVzKQogewogICAgIExPQ0FM
X1NFU1NJT04oZG9jdW1lbnQpCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAgICAgcmV0
dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5jb29raWVzU3RyYXRlZ3koKS0+Z2V0UmF3Q29va2ll
cyhzZXNzaW9uLCBkb2N1bWVudC0+Zmlyc3RQYXJ0eUZvckNvb2tpZXMoKSwgdXJsLCBjb29raWVz
KTsKLSNlbHNlCi0gICAgcmV0dXJuIGdldFJhd0Nvb2tpZXMoc2Vzc2lvbiwgZG9jdW1lbnQtPmZp
cnN0UGFydHlGb3JDb29raWVzKCksIHVybCwgY29va2llcyk7Ci0jZW5kaWYKIH0KIAogdm9pZCBk
ZWxldGVDb29raWUoY29uc3QgRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBLVVJMJiB1cmwsIGNv
bnN0IFN0cmluZyYgY29va2llTmFtZSkKIHsKICAgICBMT0NBTF9TRVNTSU9OKGRvY3VtZW50KQot
I2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5j
b29raWVzU3RyYXRlZ3koKS0+ZGVsZXRlQ29va2llKHNlc3Npb24sIHVybCwgY29va2llTmFtZSk7
Ci0jZWxzZQotICAgIGRlbGV0ZUNvb2tpZShzZXNzaW9uLCB1cmwsIGNvb2tpZU5hbWUpOwotI2Vu
ZGlmCiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDVhNTc4
NDAuLjNhNGY2ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMjU3
OCwxMSArMjU3OCw3IEBAIHVuc2lnbmVkIGxvbmcgRnJhbWVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1CiAgICAgICAgIEFTU0VSVCgh
bmV3UmVxdWVzdC5pc051bGwoKSk7CiAgICAgICAgIAogICAgICAgICBpZiAoIWRvY3VtZW50TG9h
ZGVyKCktPmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCktPm1heWJlTG9hZFN5bmNocm9ub3VzbHkobmV3
UmVxdWVzdCwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKSkgewotI2lmIFVTRShQTEFURk9STV9TVFJB
VEVHSUVTKQogICAgICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5
KCktPmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkobmV0d29ya2luZ0NvbnRleHQoKSwgaWRlbnRp
ZmllciwgbmV3UmVxdWVzdCwgc3RvcmVkQ3JlZGVudGlhbHMsIGNsaWVudENyZWRlbnRpYWxQb2xp
Y3ksIGVycm9yLCByZXNwb25zZSwgZGF0YSk7Ci0jZWxzZQotICAgICAgICAgICAgUmVzb3VyY2VI
YW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkobmV0d29ya2luZ0NvbnRleHQoKSwgbmV3
UmVxdWVzdCwgc3RvcmVkQ3JlZGVudGlhbHMsIGVycm9yLCByZXNwb25zZSwgZGF0YSk7Ci0jZW5k
aWYKICAgICAgICAgICAgIGRvY3VtZW50TG9hZGVyKCktPmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCkt
Pm1heWJlTG9hZEZhbGxiYWNrU3luY2hyb25vdXNseShuZXdSZXF1ZXN0LCBlcnJvciwgcmVzcG9u
c2UsIGRhdGEpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0
b3J5Q29udHJvbGxlci5jcHAKaW5kZXggNDU2NjM1Yy4uMWY1ZTE4NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCkBAIC00NiwyNCArNDYsMTcgQEAKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFnZUdy
b3VwLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCiAjaW5jbHVkZSAiU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgotI2luY2x1ZGUgPHd0Zi90
ZXh0L0NTdHJpbmcuaD4KLQotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQotI2luY2x1ZGUg
IlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RyYXRlZ3kuaCIK
LSNlbmRpZgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdGF0aWMgaW5saW5lIHZvaWQgYWRkVmlzaXRlZExpbmsoUGFnZSogcGFnZSwgY29u
c3QgS1VSTCYgdXJsKQogewotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogICAgIHBsYXRm
b3JtU3RyYXRlZ2llcygpLT52aXNpdGVkTGlua1N0cmF0ZWd5KCktPmFkZFZpc2l0ZWRMaW5rKHBh
Z2UsIHZpc2l0ZWRMaW5rSGFzaCh1cmwuc3RyaW5nKCkpKTsKLSNlbHNlCi0gICAgcGFnZS0+Z3Jv
dXAoKS5hZGRWaXNpdGVkTGluayh1cmwpOwotI2VuZGlmCiB9CiAKIEhpc3RvcnlDb250cm9sbGVy
OjpIaXN0b3J5Q29udHJvbGxlcihGcmFtZSogZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xv
YWRlclN0cmF0ZWd5LmNwcAppbmRleCBjMzM3OTQwLi5mYzQ0MDA3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Mb2FkZXJTdHJhdGVneS5jcHAKQEAgLTMwLDggKzMwLDYgQEAKICNpbmNsdWRlICJS
ZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFNjaGVkdWxlci5oIgogCi0j
aWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUmVz
b3VyY2VMb2FkU2NoZWR1bGVyKiBMb2FkZXJTdHJhdGVneTo6cmVzb3VyY2VMb2FkU2NoZWR1bGVy
KCkKQEAgLTUzLDUgKzUxLDMgQEAgQmxvYlJlZ2lzdHJ5KiBMb2FkZXJTdHJhdGVneTo6Y3JlYXRl
QmxvYlJlZ2lzdHJ5KCkKIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBV
U0UoUExBVEZPUk1fU1RSQVRFR0lFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Mb2FkZXJTdHJhdGVneS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRlclN0cmF0ZWd5
LmgKaW5kZXggY2E1OTRjNS4uMGU2MjVkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0xvYWRlclN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRlclN0
cmF0ZWd5LmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgTG9hZGVyU3RyYXRlZ3lfaAogI2Rl
ZmluZSBMb2FkZXJTdHJhdGVneV9oCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQog
I2luY2x1ZGUgIlJlc291cmNlSGFuZGxlVHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTU4LDYgKzU2LDQgQEAgcHJvdGVjdGVkOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQogI2VuZGlmIC8vIExvYWRl
clN0cmF0ZWd5X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVk
dWxlci5jcHAKaW5kZXggY2Y4OTgyMi4uNmMyOTU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKQEAgLTY5LDcgKzY5LDYgQEAgUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKQogICAgIHN0YXRpYyBSZXNv
dXJjZUxvYWRTY2hlZHVsZXIqIGdsb2JhbFNjaGVkdWxlciA9IDA7CiAgICAgCiAgICAgaWYgKCFn
bG9iYWxTY2hlZHVsZXIpIHsKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKICAgICAgICAg
c3RhdGljIGJvb2wgaXNDYWxsaW5nT3V0VG9TdHJhdGVneSA9IGZhbHNlOwogICAgICAgICAKICAg
ICAgICAgLy8gSWYgd2UncmUgcmUtZW50ZXJpbmcgcmVzb3VyY2VMb2FkU2NoZWR1bGVyKCkgd2hp
bGUgY2FsbGluZyBvdXQgdG8gdGhlIExvYWRlclN0cmF0ZWd5LApAQCAtODIsOSArODEsNiBAQCBS
ZXNvdXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpCiAgICAgICAgIAog
ICAgICAgICBUZW1wb3JhcnlDaGFuZ2U8Ym9vbD4gcmVjdXJzaW9uR3VhcmQoaXNDYWxsaW5nT3V0
VG9TdHJhdGVneSwgdHJ1ZSk7CiAgICAgICAgIGdsb2JhbFNjaGVkdWxlciA9IHBsYXRmb3JtU3Ry
YXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJjZUxvYWRTY2hlZHVsZXIoKTsKLSNl
bHNlCi0gICAgICAgIGdsb2JhbFNjaGVkdWxlciA9IG5ldyBSZXNvdXJjZUxvYWRTY2hlZHVsZXI7
Ci0jZW5kaWYKICAgICB9CiAKICAgICByZXR1cm4gZ2xvYmFsU2NoZWR1bGVyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZTllYzY5Yi4uZGMwODNjMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC05MiwxMyArOTIsOCBA
QCB2b2lkIFJlc291cmNlTG9hZGVyOjpyZWxlYXNlUmVzb3VyY2VzKCkKICAgICAvLyB0aGUgcmVz
b3VyY2VzIHRvIHByZXZlbnQgYSBkb3VibGUgZGVhbGxvYyBvZiBXZWJWaWV3IDxyZGFyOi8vcHJv
YmxlbS80MzcyNjI4PgogICAgIG1fcmVhY2hlZFRlcm1pbmFsU3RhdGUgPSB0cnVlOwogCi0jaWYg
VVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRl
clN0cmF0ZWd5KCktPnJlc291cmNlTG9hZFNjaGVkdWxlcigpLT5yZW1vdmUodGhpcyk7Ci0jZW5k
aWYKICAgICBtX2lkZW50aWZpZXIgPSAwOwotI2lmICFVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykK
LSAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+cmVtb3ZlKHRoaXMpOwotI2VuZGlmCiAKICAg
ICBpZiAobV9oYW5kbGUpIHsKICAgICAgICAgLy8gQ2xlYXIgb3V0IHRoZSBSZXNvdXJjZUhhbmRs
ZSdzIGNsaWVudCBzbyB0aGF0IGl0IGRvZXNuJ3QgdHJ5IHRvIGNhbGwKQEAgLTI1NywxMyArMjUy
LDkgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXMKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsU2VuZFJlcXVlc3QobV9mcmFtZS5nZXQoKSwgbV9pZGVudGlmaWVyLCBtX2Zy
YW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKSwgcmVxdWVzdCwgcmVkaXJlY3RSZXNwb25z
ZSk7CiAjZW5kaWYKIAotICAgIGlmICghcmVkaXJlY3RSZXNwb25zZS5pc051bGwoKSkgewotI2lm
IFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQorICAgIGlmICghcmVkaXJlY3RSZXNwb25zZS5pc051
bGwoKSkKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPnJl
c291cmNlTG9hZFNjaGVkdWxlcigpLT5jcm9zc09yaWdpblJlZGlyZWN0UmVjZWl2ZWQodGhpcywg
cmVxdWVzdC51cmwoKSk7Ci0jZWxzZQotICAgICAgICByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS0+
Y3Jvc3NPcmlnaW5SZWRpcmVjdFJlY2VpdmVkKHRoaXMsIHJlcXVlc3QudXJsKCkpOwotI2VuZGlm
Ci0gICAgfQorCiAgICAgbV9yZXF1ZXN0ID0gcmVxdWVzdDsKIAogICAgIGlmICghcmVkaXJlY3RS
ZXNwb25zZS5pc051bGwoKSAmJiAhbV9kb2N1bWVudExvYWRlci0+aXNDb21taXR0ZWQoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDgz
NTdmNGQuLjA5ZWZhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMzQyLDEyICszNDIsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjps
b2FkKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciwgY29uc3QgUmVz
bwogICAgICAgICBtX2ZyYWdtZW50SWRlbnRpZmllckZvclJlcXVlc3QgPSBTdHJpbmcoKTsKICAg
ICB9CiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKICAgICBtX2xvYWRlciA9IHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJjZUxvYWRTY2hlZHVsZXIo
KS0+c2NoZWR1bGVTdWJyZXNvdXJjZUxvYWQoY2FjaGVkUmVzb3VyY2VMb2FkZXItPmZyYW1lKCks
IHRoaXMsIHJlcXVlc3QsIHJlcXVlc3QucHJpb3JpdHkoKSwgb3B0aW9ucyk7Ci0jZWxzZQotICAg
IG1fbG9hZGVyID0gcmVzb3VyY2VMb2FkU2NoZWR1bGVyKCktPnNjaGVkdWxlU3VicmVzb3VyY2VM
b2FkKGNhY2hlZFJlc291cmNlTG9hZGVyLT5mcmFtZSgpLCB0aGlzLCByZXF1ZXN0LCByZXF1ZXN0
LnByaW9yaXR5KCksIG9wdGlvbnMpOwotI2VuZGlmCi0KICAgICBpZiAoIW1fbG9hZGVyKSB7CiAg
ICAgICAgIGZhaWxCZWZvcmVTdGFydGluZygpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRl
eCA0MDZjZTE2Li43ZGE4NWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTgwNywxMSArODA3LDcgQEAgdm9pZCBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cGVyZm9ybVBvc3RMb2FkQWN0aW9ucygpCiB7CiAgICAgY2hl
Y2tGb3JQZW5kaW5nUHJlbG9hZHMoKTsKIAotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQog
ICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5yZXNvdXJjZUxvYWRT
Y2hlZHVsZXIoKS0+c2VydmVQZW5kaW5nUmVxdWVzdHMoKTsKLSNlbHNlCi0gICAgcmVzb3VyY2VM
b2FkU2NoZWR1bGVyKCktPnNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7Ci0jZW5kaWYKIH0KIAogdm9p
ZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6aW5jcmVtZW50UmVxdWVzdENvdW50KGNvbnN0IENhY2hl
ZFJlc291cmNlKiByZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db29r
aWVzU3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZXNTdHJhdGVneS5o
CmluZGV4IGQ5ZTA2NmEuLmMwZTZlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0Nvb2tpZXNTdHJhdGVneS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tp
ZXNTdHJhdGVneS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIENvb2tpZXNTdHJhdGVneV9o
CiAjZGVmaW5lIENvb2tpZXNTdHJhdGVneV9oCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lF
UykKLQogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU0LDYgKzUyLDQgQEAgcHJvdGVjdGVkOgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBVU0UoUExBVEZPUk1fU1RSQVRF
R0lFUykKLQogI2VuZGlmIC8vIENvb2tpZXNTdHJhdGVneV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EYXRhYmFzZVN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3kuY3BwCmluZGV4IGE4NDY2NTguLjNhNGI5MDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3kuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3kuY3BwCkBAIC0yNiw3ICsy
Niw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VTdHJhdGVneS5o
IgogCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKIAogI2luY2x1ZGUgIkRhdGFiYXNlU2VydmVyLmgiCkBAIC00MSw0ICs0MCwzIEBAIEFic3Ry
YWN0RGF0YWJhc2VTZXJ2ZXIqIERhdGFiYXNlU3RyYXRlZ3k6OmdldERhdGFiYXNlU2VydmVyKCkK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0Up
Ci0jZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EYXRhYmFzZVN0cmF0ZWd5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9EYXRhYmFzZVN0cmF0ZWd5LmgKaW5kZXggZjg2OWY1NC4uMzk5NjdkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0YWJhc2VTdHJhdGVneS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGFiYXNlU3RyYXRlZ3kuaApAQCAtMjYsOCArMjYsNiBAQAog
I2lmbmRlZiBEYXRhYmFzZVN0cmF0ZWd5X2gKICNkZWZpbmUgRGF0YWJhc2VTdHJhdGVneV9oCiAK
LSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQogI2luY2x1ZGUgIkFic3RyYWN0RGF0YWJh
c2VTZXJ2ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQsNiArNDIsNCBAQCBwcm90
ZWN0ZWQ6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIFVTRShQTEFURk9S
TV9TVFJBVEVHSUVTKQotCiAjZW5kaWYgLy8gRGF0YWJhc2VTdHJhdGVneV9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkU3RyYXRlZ3kuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCmluZGV4IGY5MjJjNjYuLjc4NWZj
ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVn
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCkBA
IC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFBhc3RlYm9hcmRTdHJhdGVneV9oCiAjZGVmaW5lIFBh
c3RlYm9hcmRTdHJhdGVneV9oCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQogI2lu
Y2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTY0LDYgKzYyLDUgQEAgcHJvdGVjdGVkOgogfTsKIAog
fQotI2VuZGlmIC8vIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogCiAjZW5kaWYgLy8gIVBhc3Rl
Ym9hcmRTdHJhdGVneV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJh
dGVnaWVzLmNwcAppbmRleCBjYTQ1MTUwLi5jZjdiZjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTI0LDkgKzI0LDYgQEAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01OSw0ICs1NiwzIEBAIGJvb2wgaGFzUGxhdGZvcm1TdHJhdGVnaWVzKCkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDViOWU2MTYu
LmJhN2NjMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3Ry
YXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2ll
cy5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFBsYXRmb3JtU3RyYXRlZ2llc19oCiAjZGVm
aW5lIFBsYXRmb3JtU3RyYXRlZ2llc19oCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykK
LQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDb29raWVzU3RyYXRlZ3k7CkBAIC0xNDAs
NiArMTM4LDQgQEAgYm9vbCBoYXNQbGF0Zm9ybVN0cmF0ZWdpZXMoKTsKICAgICAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQotCiAj
ZW5kaWYgLy8gUGxhdGZvcm1TdHJhdGVnaWVzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaAppbmRleCAyMzZmZTJmLi40NjlmOWRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaXNpdGVkTGlua1N0cmF0ZWd5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlzaXRlZExpbmtTdHJhdGVneS5oCkBAIC0yNiw4ICsyNiw2
IEBACiAjaWZuZGVmIFZpc2l0ZWRMaW5rU3RyYXRlZ3lfaAogI2RlZmluZSBWaXNpdGVkTGlua1N0
cmF0ZWd5X2gKIAotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHR5cGVkZWYgdWludDY0X3QgTGlua0hhc2g7CkBAIC00Nyw2ICs0NSw0IEBAIHBy
b3RlY3RlZDoKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gVVNFKFBMQVRG
T1JNX1NUUkFURUdJRVMpCi0KICNlbmRpZiAvLyBWaXNpdGVkTGlua1N0cmF0ZWd5X2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KaW5kZXggYTRmYmU5Zi4u
ZDI5NWRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9h
cmRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMu
bW0KQEAgLTQ5LDYgKzQ5LDggQEAKICNpbXBvcnQgIkxvYWRlck5TVVJMRXh0cmFzLmgiCiAjaW1w
b3J0ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW1wb3J0ICJQYWdlLmgiCisjaW1wb3J0ICJQYXN0
ZWJvYXJkU3RyYXRlZ3kuaCIKKyNpbXBvcnQgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2ltcG9y
dCAiUmVuZGVySW1hZ2UuaCIKICNpbXBvcnQgIlJlc291cmNlQnVmZmVyLmgiCiAjaW1wb3J0ICJU
ZXh0LmgiCkBAIC02MCwxMSArNjIsNiBAQAogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQnVpbGRl
ci5oPgogI2ltcG9ydCA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAotI2lmIFVTRShQ
TEFURk9STV9TVFJBVEVHSUVTKQotI2luY2x1ZGUgIlBhc3RlYm9hcmRTdHJhdGVneS5oIgotI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gRklYTUU6IEl0J3Mgbm90IGdyZWF0IHRvIGhhdmUgdGhlc2UgYm90aCBoZXJlIGFu
ZCBpbiBXZWJLaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JS
ZWdpc3RyeS5jcHAKaW5kZXggOWNiMTM3Yi4uNWFiMDQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5LmNwcApAQCAtMzksMTEgKzM5LDcgQEAg
QmxvYlJlZ2lzdHJ5JiBibG9iUmVnaXN0cnkoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKICAgICBzdGF0aWMgQmxvYlJlZ2lz
dHJ5JiBpbnN0YW5jZSA9ICpwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+
Y3JlYXRlQmxvYlJlZ2lzdHJ5KCk7Ci0jZWxzZQotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQmxv
YlJlZ2lzdHJ5SW1wbCwgaW5zdGFuY2UsICgpKTsKLSNlbmRpZgogICAgIHJldHVybiBpbnN0YW5j
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YS5jcHAKaW5kZXggY2NkZjEwZC4u
NmRkYWQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGEuY3BwCkBAIC0yNCwxMCAr
MjQsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGEuaCIKIAot
I2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2ll
cy5oIgogI2luY2x1ZGUgIlBsdWdpblN0cmF0ZWd5LmgiCi0jZW5kaWYKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC03OCw3ICs3Niw2IEBAIFN0cmluZyBQbHVnaW5EYXRhOjpwbHVnaW5GaWxl
Rm9yTWltZVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkgY29uc3QKICAgICByZXR1cm4gU3Ry
aW5nKCk7CiB9CiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKIHZvaWQgUGx1Z2luRGF0
YTo6cmVmcmVzaCgpCiB7CiAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0ZWd5
KCktPnJlZnJlc2hQbHVnaW5zKCk7CkBAIC05MCw2ICs4Nyw1IEBAIHZvaWQgUGx1Z2luRGF0YTo6
aW5pdFBsdWdpbnMoY29uc3QgUGFnZSogcGFnZSkKICAgICAKICAgICBwbGF0Zm9ybVN0cmF0ZWdp
ZXMoKS0+cGx1Z2luU3RyYXRlZ3koKS0+Z2V0UGx1Z2luSW5mbyhwYWdlLCBtX3BsdWdpbnMpOwog
fQotI2VuZGlmCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
U3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyYXRlZ3kuaAppbmRl
eCA5ZDhhN2I1Li4wNWQxOTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpblN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJhdGVn
eS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFBsdWdpblN0cmF0ZWd5X2gKICNkZWZpbmUg
UGx1Z2luU3RyYXRlZ3lfaAogCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCi0KICNpbmNs
dWRlICJQbHVnaW5EYXRhLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDYgKzQzLDQg
QEAgcHJvdGVjdGVkOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBVU0Uo
UExBVEZPUk1fU1RSQVRFR0lFUykKLQogI2VuZGlmIC8vIFBsdWdpblN0cmF0ZWd5X2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2UuY3BwCmluZGV4IDEwY2U3NjkuLjJi
YmJlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmNwcApA
QCAtMjksMzggKzI5LDIxIEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCiAjaW5j
bHVkZSAiU3RvcmFnZVN0cmF0ZWd5LmgiCiAKLSNpZiAhVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMp
Ci0jaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZUltcGwuaCIKLSNlbmRpZgotCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8U3RvcmFnZU5hbWVzcGFjZT4gU3RvcmFnZU5hbWVzcGFj
ZTo6bG9jYWxTdG9yYWdlTmFtZXNwYWNlKFBhZ2VHcm91cCogcGFnZUdyb3VwKQogewotI2lmIFVT
RShQTEFURk9STV9TVFJBVEVHSUVTKQogICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+
c3RvcmFnZVN0cmF0ZWd5KCktPmxvY2FsU3RvcmFnZU5hbWVzcGFjZShwYWdlR3JvdXApOwotI2Vs
c2UKLSAgICByZXR1cm4gU3RvcmFnZU5hbWVzcGFjZUltcGw6OmxvY2FsU3RvcmFnZU5hbWVzcGFj
ZShwYWdlR3JvdXApOwotI2VuZGlmCiB9CiAKIFBhc3NSZWZQdHI8U3RvcmFnZU5hbWVzcGFjZT4g
U3RvcmFnZU5hbWVzcGFjZTo6dHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlKFBhZ2VHcm91
cCogcGFnZUdyb3VwLCBTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4pCiB7Ci0jaWYgVVNF
KFBMQVRGT1JNX1NUUkFURUdJRVMpCiAgICAgcmV0dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5z
dG9yYWdlU3RyYXRlZ3koKS0+dHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlKHBhZ2VHcm91
cCwgc2VjdXJpdHlPcmlnaW4pOwotI2Vsc2UKLSAgICByZXR1cm4gU3RvcmFnZU5hbWVzcGFjZUlt
cGw6OnRyYW5zaWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZShwYWdlR3JvdXAsIHNlY3VyaXR5T3Jp
Z2luKTsKLSNlbmRpZgogfQogCiBQYXNzUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2U+IFN0b3JhZ2VO
YW1lc3BhY2U6OnNlc3Npb25TdG9yYWdlTmFtZXNwYWNlKFBhZ2UqIHBhZ2UpCiB7Ci0jaWYgVVNF
KFBMQVRGT1JNX1NUUkFURUdJRVMpCiAgICAgcmV0dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5z
dG9yYWdlU3RyYXRlZ3koKS0+c2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2UocGFnZSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICByZXR1cm4gU3RvcmFnZU5hbWVzcGFjZUltcGw6
OnNlc3Npb25TdG9yYWdlTmFtZXNwYWNlKHBhZ2UpOwotI2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN0
cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN0cmF0ZWd5LmNwcApp
bmRleCAxY2YzY2Q1Li44OGI4NGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1N0b3JhZ2VTdHJhdGVneS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdl
U3RyYXRlZ3kuY3BwCkBAIC0yOCw4ICsyOCw2IEBACiAKICNpbmNsdWRlICJTdG9yYWdlTmFtZXNw
YWNlSW1wbC5oIgogCi0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCi0KIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogUGFzc1JlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBTdG9yYWdlU3RyYXRlZ3k6
OmxvY2FsU3RvcmFnZU5hbWVzcGFjZShQYWdlR3JvdXAqIHBhZ2VHcm91cCkKQEAgLTQ4LDUgKzQ2
LDMgQEAgUGFzc1JlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBTdG9yYWdlU3RyYXRlZ3k6OnRyYW5z
aWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZShQYWcKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gVVNFKFNUT1JBR0VfU1RSQVRFR0lFUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN0cmF0ZWd5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1N0b3JhZ2VTdHJhdGVneS5oCmluZGV4IDQ0YTIzZDcuLjRlZGQ0OTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlU3RyYXRlZ3kuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRl
ZiBTdG9yYWdlU3RyYXRlZ3lfaAogI2RlZmluZSBTdG9yYWdlU3RyYXRlZ3lfaAogCi0jaWYgVVNF
KFBMQVRGT1JNX1NUUkFURUdJRVMpCi0KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC01MSw2ICs0OSw0IEBAIHByb3RlY3RlZDoKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCi0KICNl
bmRpZiAvLyBTdG9yYWdlU3RyYXRlZ3lfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXJTdHJhdGVneS5oCmluZGV4IDQxMTFlNGEuLjNlNmZiZGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyU3RyYXRlZ3kuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclN0cmF0ZWd5LmgKQEAgLTI2LDggKzI2LDYgQEAK
ICNpZm5kZWYgU2hhcmVkV29ya2VyU3RyYXRlZ3lfaAogI2RlZmluZSBTaGFyZWRXb3JrZXJTdHJh
dGVneV9oCiAKLSNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKLQogbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIAogY2xhc3MgU2hhcmVkV29ya2VyU3RyYXRlZ3kgewpAQCAtMzksNiArMzcsNSBA
QCBwcm90ZWN0ZWQ6CiB9OwogCiB9Ci0jZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMp
CiAKICNlbmRpZiAvLyBTaGFyZWRXb3JrZXJTdHJhdGVneV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhVXNlRmVhdHVyZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhVXNlRmVh
dHVyZXMuaW4KaW5kZXggZTZiYjdmZi4uMjNmNWJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Fib3V0RGF0YVVzZUZlYXR1cmVzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BYm91dERhdGFVc2VGZWF0
dXJlcy5pbgpAQCAtNjksNyArNjksNiBAQCBPUEVOR0xfRVNfMgogT1BFTlRZUEVfU0FOSVRJWkVS
CiBPUEVOVkcKIE9QRU5WR19CTFVSCi1QTEFURk9STV9TVFJBVEVHSUVTCiBQTEFURk9STV9URVhU
X1RSQUNLX01FTlUKIFBMVUdJTl9IT1NUX1BST0NFU1MKIFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9D
QUxMQkFDSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IDUyZDhiY2Iu
LjkxZmFmMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTI2LDgg
KzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaCIKIAotI2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQotCiAjaW5jbHVkZSAiQmxv
Y2tpbmdSZXNwb25zZU1hcC5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRl
ICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgpAQCAtNDUzLDUgKzQ1MSwzIEBAIHZv
aWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBjb25zdCBTdHJpbmcmCiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0K
LSNlbmRpZiAvLyBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5oCmluZGV4IGNmNGE2MTcuLjk5MzU0MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXNfaAogI2RlZmluZSBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXNfaAogCi0jaWYgVVNFKFBMQVRGT1JN
X1NUUkFURUdJRVMpCi0KICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZXNTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvRGF0YWJhc2VTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTG9h
ZGVyU3RyYXRlZ3kuaD4KQEAgLTEyNiw2ICsxMjQsNCBAQCB2b2lkIGhhbmRsZURpZEdldFBsdWdp
bnModWludDY0X3QgcmVxdWVzdElELCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4m
KQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIFVTRShQTEFURk9STV9TVFJB
VEVHSUVTKQotCiAjZW5kaWYgLy8gV2ViUGxhdGZvcm1TdHJhdGVnaWVzX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGQ4Y2M2MWMuLjJlMGExYWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTgwLDExICsxODAsOCBA
QCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAsIG1faW5XaW5kb3dQYWdlQ291bnQoMCkK
ICAgICAsIG1fbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwVGltZXIodGhpcywgJldlYlByb2Nlc3M6
Om5vblZpc2libGVQcm9jZXNzQ2xlYW51cFRpbWVyRmlyZWQpCiB7Ci0jaWYgVVNFKFBMQVRGT1JN
X1NUUkFURUdJRVMpCiAgICAgLy8gSW5pdGlhbGl6ZSBvdXIgcGxhdGZvcm0gc3RyYXRlZ2llcy4K
ICAgICBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmluaXRpYWxpemUoKTsKLSNlbmRpZiAvLyBVU0Uo
UExBVEZPUk1fU1RSQVRFR0lFUykKLQogCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIG1vdmVk
IHRvIHdoZXJlIFdlYlByb2Nlc3M6OmluaXRpYWxpemUgaXMgY2FsbGVkLAogICAgIC8vIHNvIHRo
YXQgcG9ydHMgaGF2ZSBhIGNoYW5jZSB0byBjdXN0b21pemUsIGFuZCBpZmRlZnMgaW4gdGhpcyBm
aWxlIGFyZQo=
</data>
<flag name="review"
          id="223067"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>