<?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>79501</bug_id>
          
          <creation_ts>2012-02-24 09:43:57 -0800</creation_ts>
          <short_desc>[Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]</short_desc>
          <delta_ts>2012-02-29 20:23:02 -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>Layout and Rendering</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>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>564392</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-02-24 09:43:57 -0800</bug_when>
    <thetext>We use a wide set of #ifdefs to encapsulate the LayerTreeHostProxy implemetation, and to encapsulate the TILED_BACKING_STORE parts of it.
Instead, we should use a single guard (maybe USE(COMPOSITING_IN_UI_PROCESS) and remove the TILED_BACKING_STORE guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565710</commentid>
    <comment_count>1</comment_count>
      <attachid>129048</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-02-27 09:09:16 -0800</bug_when>
    <thetext>Created attachment 129048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567569</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-02-29 06:53:40 -0800</bug_when>
    <thetext>I don&apos;t think this is clear enough. It sounds as if is for enabling the code on the UI process, but not doing the actual compositing there.

What about WTF_USE_UI_SIDE_COMPOSITING ? WTF_CLIENT_SIDE_COMPOSITING</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567693</commentid>
    <comment_count>3</comment_count>
      <attachid>129466</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-02-29 10:04:51 -0800</bug_when>
    <thetext>Created attachment 129466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567880</commentid>
    <comment_count>4</comment_count>
      <attachid>129507</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-02-29 13:36:47 -0800</bug_when>
    <thetext>Created attachment 129507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568280</commentid>
    <comment_count>5</comment_count>
      <attachid>129507</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 20:22:57 -0800</bug_when>
    <thetext>Comment on attachment 129507
Patch

Clearing flags on attachment: 129507

Committed r109302: &lt;http://trac.webkit.org/changeset/109302&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568281</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 20:23:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129048</attachid>
            <date>2012-02-27 09:09:16 -0800</date>
            <delta_ts>2012-02-29 10:04:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>21304</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQzMTRmMTIuLjY4Y2NlNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAyLTI3ICBObydhbSBSb3NlbnRo
YWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtXSzJdIEdldCBy
aWQgb2YgdGhlICNpZmRlZiBtZXNzIGluIExheWVyVHJlZUhvc3RbUHJveHldCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUwMQorCisgICAgICAgIEVu
YWJsZSBXVEZfVVNFX1VJX1BST0NFU1NfQ09NUE9TSVRJTkcgZm9yIFF0LgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTItMDItMjQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBE
Rkcgc2hvdWxkIGJlIGFibGUgdG8gaGFuZGxlIHZhcmlhYmxlcyBnZXR0aW5nIGNhcHR1cmVkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXggNzZiMTFmZTg4Li42YTY5MGIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0xMDc0LDYgKzEwNzQsMTEgQEAK
ICNkZWZpbmUgV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORyAxCiAjZW5kaWYKIAorLyog
Q29tcG9zaXRpbmcgb24gdGhlIFVJLXByb2Nlc3MgaW4gV2ViS2l0MiAqLworI2lmIFBMQVRGT1JN
KFFUKQorI2RlZmluZSBXVEZfVVNFX1VJX1BST0NFU1NfQ09NUE9TSVRJTkcgMQorI2VuZGlmCisK
ICNpZiAoUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSkgfHwg
UExBVEZPUk0oSU9TKQogI2RlZmluZSBXVEZfVVNFX1BST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxM
QkFDSyAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxMmYzNzU1Li5kNDM4MTAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDYgQEAKKzIwMTItMDItMjcgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9z
ZW50aGFsQG5va2lhLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gR2V0IHJpZCBvZiB0aGUgI2lm
ZGVmIG1lc3MgaW4gTGF5ZXJUcmVlSG9zdFtQcm94eV0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTAxCisKKyAgICAgICAgVXNlIGEgbmV3IFVJX1BS
T0NFU1NfQ09NUE9TSVRJTkcgZmxhZyBpbnN0ZWFkIG9mIHRoZSBzZXZlcmFsICNpZmRlZiBmbGFn
cyB3ZSBjdXJyZW50bHkgdXNlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU2hhcmVkL1dlYkxheWVyVHJlZUluZm8uY3BwOgorICAgICAgICAqIFNo
YXJlZC9XZWJMYXllclRyZWVJbmZvLmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eS5oOgorICAgICAgICAoRHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2lu
Z0FyZWFQcm94eUltcGw6OkRyYXdpbmdBcmVhUHJveHlJbXBsKToKKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFQcm94eUltcGw6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUlt
cGwuaDoKKyAgICAgICAgKERyYXdpbmdBcmVhUHJveHlJbXBsKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvTGF5ZXJUcmVlSG9zdFByb3h5Lmg6CisgICAgICAgIChMYXllclRyZWVIb3N0UHJveHkpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQv
TGF5ZXJCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9MYXllckJhY2tp
bmdTdG9yZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9MYXllclRyZWVIb3N0UHJveHlRdC5j
cHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVy
LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5
ZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaDoKKyAgICAg
ICAgKERyYXdpbmdBcmVhKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5oOgorICAgICAgICAoRHJhd2luZ0FyZWFJbXBsKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZUhvc3Q6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L3F0L0xheWVyVHJlZUhvc3RRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RR
dDo6cHVyZ2VCYWNraW5nU3RvcmVzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvcXQv
TGF5ZXJUcmVlSG9zdFF0Lmg6CisgICAgICAgIChMYXllclRyZWVIb3N0UXQpOgorCiAyMDEyLTAy
LTI0ICBObydhbSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CiAKICAgICAg
ICAgW1F0XSBVc2UgdGhlIGV4aXN0aW5nIGluaGVyaXRlZE9wYWNpdHkvbWF0cml4IHByb3BlcnRp
ZXMgb2YgUVNHTm9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkxheWVy
VHJlZUluZm8uY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkxheWVyVHJlZUluZm8uY3Bw
CmluZGV4IDE2NGYzYzAuLjNhOTZhNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJMYXllclRyZWVJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTGF5
ZXJUcmVlSW5mby5jcHAKQEAgLTE5LDggKzE5LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgog
Ci0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotCisjaWYgVVNFKFVJX1BST0NFU1Nf
Q09NUE9TSVRJTkcpCiAjaW5jbHVkZSAiV2ViTGF5ZXJUcmVlSW5mby5oIgogCiAjaW5jbHVkZSAi
QXJndW1lbnRzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTGF5ZXJU
cmVlSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkxheWVyVHJlZUluZm8uaAppbmRl
eCA1NGUxY2I1Li43YWQ1NTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
TGF5ZXJUcmVlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJMYXllclRyZWVJ
bmZvLmgKQEAgLTIwLDcgKzIwLDcgQEAKICNpZm5kZWYgV2ViTGF5ZXJUcmVlSW5mb19oCiAjZGVm
aW5lIFdlYkxheWVyVHJlZUluZm9faAogCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQorI2lmIFVTRShVSV9QUk9DRVNTX0NPTVBPU0lUSU5HKQogCiAjaW5jbHVkZSAiQXJndW1lbnRE
ZWNvZGVyLmgiCiAjaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggOWJiOTc4My4uNWIyMDBjNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcApAQCAt
MjgsNyArMjgsNyBAQAogCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAKLSNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBFUikKKyNpZiBVU0UoVUlf
UFJPQ0VTU19DT01QT1NJVElORykKICNpbmNsdWRlICJMYXllclRyZWVIb3N0UHJveHkuaCIKICNp
bmNsdWRlIDxDb3JlSVBDL01lc3NhZ2VJRC5oPgogI2VuZGlmCkBAIC01OCw3ICs1OCw3IEBAIHZv
aWQgRHJhd2luZ0FyZWFQcm94eTo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiBzaXplLCBjb25zdCBJ
bnRTaXplJiBzY3JvbGxPZmZzZXQpCiAgICAgc2l6ZURpZENoYW5nZSgpOwogfQogCi0jaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVIpCisjaWYgVVNF
KFVJX1BST0NFU1NfQ09NUE9TSVRJTkcpCiB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnVwZGF0ZVZp
ZXdwb3J0KCkKIHsKICAgICBtX3dlYlBhZ2VQcm94eS0+c2V0Vmlld05lZWRzRGlzcGxheSh2aWV3
cG9ydFZpc2libGVSZWN0KCkpOwpAQCAtNjksMTIgKzY5LDkgQEAgV2ViQ29yZTo6SW50UmVjdCBE
cmF3aW5nQXJlYVByb3h5Ojpjb250ZW50c1JlY3QoKSBjb25zdAogICAgIHJldHVybiBJbnRSZWN0
KEludFBvaW50Ojp6ZXJvKCksIG1fd2ViUGFnZVByb3h5LT52aWV3U2l6ZSgpKTsKIH0KIAotI2lm
IFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogdm9pZCBEcmF3aW5nQXJlYVByb3h5OjpkaWRSZWNl
aXZlTGF5ZXJUcmVlSG9zdFByb3h5TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQ
Qzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVu
dHMpCiB7CiB9CiAjZW5kaWYKIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKaW5kZXggZTc4YzNjZC4u
Njg0Mjk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5o
CkBAIC04Myw3ICs4Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBwYWdlQ3VzdG9t
UmVwcmVzZW50YXRpb25DaGFuZ2VkKCkgeyB9CiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBFUikKKyNpZiBVU0UoVUlfUFJPQ0VTU19DT01QT1NJ
VElORykKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVmlld3BvcnQoKTsKICAgICB2aXJ0dWFsIFdl
YkNvcmU6OkludFJlY3Qgdmlld3BvcnRWaXNpYmxlUmVjdCgpIGNvbnN0IHsgcmV0dXJuIGNvbnRl
bnRzUmVjdCgpOyB9CiAgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRSZWN0IGNvbnRlbnRzUmVjdCgp
IGNvbnN0OwpAQCAtOTEsOCArOTEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhaW50
VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4Jiwg
ZmxvYXQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBw
YWludExheWVyVHJlZShCYWNraW5nU3RvcmU6OlBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KSB7IH0K
ICAgICBMYXllclRyZWVIb3N0UHJveHkqIGxheWVyVHJlZUhvc3RQcm94eSgpIGNvbnN0IHsgcmV0
dXJuIG1fbGF5ZXJUcmVlSG9zdFByb3h5LmdldCgpOyB9Ci0KLSNpZiBVU0UoVElMRURfQkFDS0lO
R19TVE9SRSkKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdEZvclNjYWxp
bmcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwgZmxvYXQgc2Nh
bGUpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0Rm9yUGFubmlu
Zyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBjb25zdCBXZWJD
b3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
Y3JlYXRlVGlsZUZvckxheWVyKGludCBsYXllcklELCBpbnQgdGlsZUlELCBjb25zdCBXZWJLaXQ6
OlVwZGF0ZUluZm8mKSB7IH0KQEAgLTEwMiw3ICsxMDAsNiBAQCBwdWJsaWM6CiAKICAgICBXZWJQ
YWdlUHJveHkqIHBhZ2UoKSB7IHJldHVybiBtX3dlYlBhZ2VQcm94eTsgfQogI2VuZGlmCi0jZW5k
aWYKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdBcmVh
VHlwZSwgV2ViUGFnZVByb3h5Kik7CiAKQEAgLTExMiw3ICsxMDksNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgV2ViQ29yZTo6SW50U2l6ZSBtX3NpemU7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3Njcm9s
bE9mZnNldDsKIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgVVNFKFRFWFRV
UkVfTUFQUEVSKQorI2lmIFVTRShVSV9QUk9DRVNTX0NPTVBPU0lUSU5HKQogICAgIE93blB0cjxM
YXllclRyZWVIb3N0UHJveHk+IG1fbGF5ZXJUcmVlSG9zdFByb3h5OwogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4
IDIyMGY5ZWMuLjUwNjdhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmNwcApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgIldlYlBy
b2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaW9uLmg+CiAKLSNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBFUikKKyNpZiBVU0UoVUlf
UFJPQ0VTU19DT01QT1NJVElORykKICNpbmNsdWRlICJMYXllclRyZWVIb3N0UHJveHkuaCIKICNl
bmRpZgogCkBAIC01OCw3ICs1OCw3IEBAIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nQXJl
YVByb3h5SW1wbChXZWJQYWdlUHJveHkqIHdlYlBhZ2VQcm94eSkKICAgICAsIG1faXNCYWNraW5n
U3RvcmVEaXNjYXJkYWJsZSh0cnVlKQogICAgICwgbV9kaXNjYXJkQmFja2luZ1N0b3JlVGltZXIo
UnVuTG9vcDo6Y3VycmVudCgpLCB0aGlzLCAmRHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2NhcmRC
YWNraW5nU3RvcmUpCiB7Ci0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQorI2lmIFVTRShVSV9QUk9D
RVNTX0NPTVBPU0lUSU5HKQogICAgIC8vIENvbnN0cnVjdCB0aGUgcHJveHkgZWFybHkgdG8gYWxs
b3cgbWVzc2FnZXMgdG8gYmUgc2VudCB0byB0aGUgd2ViIHByb2Nlc3Mgd2hpbGUgQUMgaXMgZW50
ZXJlZCB0aGVyZS4KICAgICBpZiAod2ViUGFnZVByb3h5LT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5j
ZXMoKS0+Zm9yY2VDb21wb3NpdGluZ01vZGUoKSkKICAgICAgICAgbV9sYXllclRyZWVIb3N0UHJv
eHkgPSBhZG9wdFB0cihuZXcgTGF5ZXJUcmVlSG9zdFByb3h5KHRoaXMpKTsKQEAgLTMzNSwxMyAr
MzM1LDEzIEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmVudGVyQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ01vZGUoY29uc3QgTGF5ZXJUcmVlQ29udGV4CiAgICAgbV9iYWNraW5nU3RvcmUgPSBu
dWxscHRyOwogICAgIG1fbGF5ZXJUcmVlQ29udGV4dCA9IGxheWVyVHJlZUNvbnRleHQ7CiAgICAg
bV93ZWJQYWdlUHJveHktPmVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUobGF5ZXJUcmVl
Q29udGV4dCk7Ci0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQorI2lmIFVTRShVSV9QUk9DRVNTX0NP
TVBPU0lUSU5HKQogICAgIGlmICghbV9sYXllclRyZWVIb3N0UHJveHkpCiAgICAgICAgIG1fbGF5
ZXJUcmVlSG9zdFByb3h5ID0gYWRvcHRQdHIobmV3IExheWVyVHJlZUhvc3RQcm94eSh0aGlzKSk7
CiAjZW5kaWYKIH0KIAotI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorI2lmIFVTRShVSV9Q
Uk9DRVNTX0NPTVBPU0lUSU5HKQogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlkUmVjZWl2
ZUxheWVyVHJlZUhvc3RQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlv
biwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
KiBhcmd1bWVudHMpCiB7CiAgICAgaWYgKG1fbGF5ZXJUcmVlSG9zdFByb3h5KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAppbmRleCAyNWMyNzli
Li5lYTVmY2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuaApAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBpc0luQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoKSBjb25zdCB7IHJldHVybiAhbV9sYXllclRyZWVDb250
ZXh0LmlzRW1wdHkoKTsgfQogCi0jaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisjaWYgVVNF
KFVJX1BST0NFU1NfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250
ZW50c1JlY3RGb3JTY2FsaW5nKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHZpc2libGVDb250ZW50
c1JlY3QsIGZsb2F0IHNjYWxlKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRz
UmVjdEZvclBhbm5pbmcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVj
dCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludFRv
Q3VycmVudEdMQ29udGV4dChjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZs
b2F0IG9wYWNpdHksIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xheWVyVHJlZUhvc3RQcm94eS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0xheWVyVHJlZUhvc3RQcm94eS5oCmluZGV4IDUwNGM0ZTEuLjI3MGE0OGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXllclRyZWVIb3N0UHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAg
LTIwLDEwICsyMCwxNCBAQAogI2lmbmRlZiBMYXllclRyZWVIb3N0UHJveHlfaAogI2RlZmluZSBM
YXllclRyZWVIb3N0UHJveHlfaAogCisjaWYgVVNFKFVJX1BST0NFU1NfQ09NUE9TSVRJTkcpCisK
ICNpbmNsdWRlICJCYWNraW5nU3RvcmUuaCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5Lmgi
CiAjaW5jbHVkZSAiTWVzc2FnZVF1ZXVlLmgiCiAjaW5jbHVkZSAiUmVnaW9uLmgiCisjaW5jbHVk
ZSAiVGV4dHVyZU1hcHBlci5oIgorI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUu
aCIKICNpbmNsdWRlICJXZWJMYXllclRyZWVJbmZvLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFw
aGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KQEAgLTMz
LDEwICszNyw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+CiAKLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpCi0jaW5jbHVkZSAiVGV4dHVyZU1h
cHBlci5oIgotI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuaCIKLSNlbmRpZgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNTksNyArNTksNiBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBwdXJnZUdMUmVzb3VyY2VzKCk7CiAgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0Rm9y
U2NhbGluZyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgZmxvYXQpOwogICAgIHZvaWQgc2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdEZvclBhbm5pbmcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKLSNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKICAg
ICB2b2lkIHN5bmNSZW1vdGVDb250ZW50KCk7CiAgICAgdm9pZCBzd2FwQ29udGVudEJ1ZmZlcnMo
KTsKICAgICB2b2lkIGRpZFJlbmRlckZyYW1lKCk7CkBAIC03MCw3ICs2OSw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGRlc3Ryb3lEaXJlY3RseUNvbXBvc2l0ZWRJbWFnZShpbnQ2NF90KTsKICAgICB2
b2lkIGRpZFJlY2VpdmVMYXllclRyZWVIb3N0UHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwogICAg
IHZvaWQgdXBkYXRlVmlld3BvcnQoKTsKLSNlbmRpZgogCiBwcm90ZWN0ZWQ6CiAgICAgUGFzc093
blB0cjxXZWJDb3JlOjpHcmFwaGljc0xheWVyPiBjcmVhdGVMYXllcihXZWJMYXllcklEKTsKQEAg
LTk2LDkgKzk0LDExIEBAIHByb3RlY3RlZDoKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUikKICAg
ICBPd25QdHI8V2ViQ29yZTo6VGV4dHVyZU1hcHBlcj4gbV90ZXh0dXJlTWFwcGVyOworICAgIFBh
c3NSZWZQdHI8TGF5ZXJCYWNraW5nU3RvcmU+IGdldEJhY2tpbmdTdG9yZShXZWJMYXllcklEKTsK
KyAgICBIYXNoTWFwPGludDY0X3QsIFJlZlB0cjxXZWJDb3JlOjpUZXh0dXJlTWFwcGVyQmFja2lu
Z1N0b3JlPiA+IG1fZGlyZWN0bHlDb21wb3NpdGVkSW1hZ2VzOworICAgIEhhc2hTZXQ8UmVmUHRy
PExheWVyQmFja2luZ1N0b3JlPiA+IG1fYmFja2luZ1N0b3Jlc1dpdGhQZW5kaW5nQnVmZmVyczsK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oUVQpCiAgICAgdm9pZCBzY2hlZHVsZVdlYlZpZXdVcGRh
dGUoKTsKICAgICB2b2lkIHN5bmNocm9uaXplVmlld3BvcnQoKTsKICAgICB2b2lkIGRlbGV0ZUxh
eWVyKFdlYkxheWVySUQpOwpAQCAtMTEzLDE1ICsxMTMsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZv
aWQgZmx1c2hMYXllckNoYW5nZXMoKTsKICAgICB2b2lkIGVuc3VyZVJvb3RMYXllcigpOwogICAg
IHZvaWQgZW5zdXJlTGF5ZXIoV2ViTGF5ZXJJRCk7Ci0gICAgUGFzc1JlZlB0cjxMYXllckJhY2tp
bmdTdG9yZT4gZ2V0QmFja2luZ1N0b3JlKFdlYkxheWVySUQpOwogICAgIHZvaWQgc3dhcEJ1ZmZl
cnMoKTsKICAgICB2b2lkIHN5bmNBbmltYXRpb25zKCk7Ci0jZW5kaWYKIAogICAgIE93blB0cjxX
ZWJDb3JlOjpHcmFwaGljc0xheWVyPiBtX3Jvb3RMYXllcjsKICAgICBWZWN0b3I8V2ViTGF5ZXJJ
RD4gbV9sYXllcnNUb0RlbGV0ZTsKLSAgICBIYXNoTWFwPGludDY0X3QsIFJlZlB0cjxXZWJDb3Jl
OjpUZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlPiA+IG1fZGlyZWN0bHlDb21wb3NpdGVkSW1hZ2Vz
OwotICAgIEhhc2hTZXQ8UmVmUHRyPExheWVyQmFja2luZ1N0b3JlPiA+IG1fYmFja2luZ1N0b3Jl
c1dpdGhQZW5kaW5nQnVmZmVyczsKIAogICAgIExheWVyTWFwIG1fbGF5ZXJzOwogICAgIFdlYkxh
eWVySUQgbV9yb290TGF5ZXJJRDsKQEAgLTEzMCw0ICsxMjYsNiBAQCBwcm90ZWN0ZWQ6CiAKIH0K
IAorI2VuZGlmCisKICNlbmRpZiAvLyBMYXllclRyZWVIb3N0UHJveHlfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA4ZWEzZmU0Li4wY2QwZWYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtODUsNyArODUsNyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93RmVhdHVyZXMuaD4KICNpbmNsdWRlIDxzdGRpby5o
PgogCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQ
RVIpCisjaWYgVVNFKFVJX1BST0NFU1NfQ09NUE9TSVRJTkcpCiAjaW5jbHVkZSAiTGF5ZXJUcmVl
SG9zdFByb3h5TWVzc2FnZXMuaCIKICNlbmRpZgogCkBAIC0xNTQyLDcgKzE1NDIsNyBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29u
bmVjdGlvbiwgQ29yZUlQQzo6TQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVIpICYmIFVTRShUSUxF
RF9CQUNLSU5HX1NUT1JFKQorI2lmIFVTRShVSV9QUk9DRVNTX0NPTVBPU0lUSU5HKQogICAgIGlm
IChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzTGF5ZXJUcmVlSG9zdFByb3h5Pigp
KSB7CiAgICAgICAgIG1fZHJhd2luZ0FyZWEtPmRpZFJlY2VpdmVMYXllclRyZWVIb3N0UHJveHlN
ZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzKTsKICAgICAgICAgcmV0dXJu
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0xheWVyQmFja2luZ1N0
b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXllckJhY2tpbmdTdG9yZS5j
cHAKaW5kZXggYzZkZjU3ZS4uOGM0ODllYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L0xheWVyQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvTGF5ZXJCYWNraW5nU3RvcmUuY3BwCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTGF5ZXJCYWNraW5nU3RvcmUuaCIKIAorI2lmIFVTRShV
SV9QUk9DRVNTX0NPTVBPU0lUSU5HKQogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNs
dWRlICJUZXh0dXJlTWFwcGVyLmgiCiAKQEAgLTE0MSwzICsxNDIsNCBAQCB2b2lkIExheWVyQmFj
a2luZ1N0b3JlOjpzd2FwQnVmZmVycyhUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyKQogfQog
CiB9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXll
ckJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0xheWVyQmFja2lu
Z1N0b3JlLmgKaW5kZXggZTYyZmNjOC4uNWMyYWNkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L0xheWVyQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L0xheWVyQmFja2luZ1N0b3JlLmgKQEAgLTIwLDYgKzIwLDcgQEAKICNpZm5k
ZWYgTGF5ZXJCYWNraW5nU3RvcmVfaAogI2RlZmluZSBMYXllckJhY2tpbmdTdG9yZV9oCiAKKyNp
ZiBVU0UoVUlfUFJPQ0VTU19DT01QT1NJVElORykKICNpbmNsdWRlICJIYXNoTWFwLmgiCiAjaW5j
bHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlci5oIgpAQCAt
NjUsNCArNjYsNiBAQCBwcml2YXRlOgogfTsKIAogfQorI2VuZGlmCisKICNlbmRpZiAvLyBMYXll
ckJhY2tpbmdTdG9yZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
TGF5ZXJUcmVlSG9zdFByb3h5UXQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0xh
eWVyVHJlZUhvc3RQcm94eVF0LmNwcAppbmRleCBlZTA1ZWFmLi5lOWRmOTUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJUcmVlSG9zdFByb3h5UXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXllclRyZWVIb3N0UHJveHlRdC5jcHAK
QEAgLTE5LDcgKzE5LDYgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQogI2luY2x1ZGUgIkxheWVyVHJlZUhvc3RQcm94eS5oIgogCiAj
aW5jbHVkZSAiR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuaCIKQEAgLTU4OSw0ICs1ODgsMyBA
QCB2b2lkIExheWVyVHJlZUhvc3RQcm94eTo6cHVyZ2VHTFJlc291cmNlcygpCiB9CiAKIH0KLSNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5jcHAKaW5kZXggOGZkMTA4YS4uNDZlNTM4ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFw
aGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xOSw4ICsxOSw3IEBACiAKICNpbmNsdWRlICJj
b25maWcuaCIKIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLQorI2lmIFVTRShV
SV9QUk9DRVNTX0NPTVBPU0lUSU5HKQogI2luY2x1ZGUgIldlYkdyYXBoaWNzTGF5ZXIuaCIKIAog
I2luY2x1ZGUgIkFuaW1hdGlvbi5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuaAppbmRleCA0MDk2ZDM3
Li4xOTg5ZmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuaApAQCAtMzcsOCArMzcsNyBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2gu
aD4KIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLQorI2lmIFVTRShVSV9QUk9D
RVNTX0NPTVBPU0lUSU5HKQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgV2ViR3JhcGhpY3NM
YXllcjsKIH0KQEAgLTY1LDEwICs2NCw4IEBAIHB1YmxpYzoKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgV2ViR3JhcGhpY3NMYXllciA6IHB1YmxpYyBXZWJDb3JlOjpHcmFwaGljc0xheWVy
Ci0jaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgICAgICAgICAgICAgICAgICAgICwg
cHVibGljIFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50CiAgICAgICAgICAgICAgICAgICAgICAgICwg
cHVibGljIFdlYktpdDo6VGlsZWRCYWNraW5nU3RvcmVSZW1vdGVUaWxlQ2xpZW50Ci0jZW5kaWYK
IHsKIHB1YmxpYzoKICAgICBXZWJHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXJDbGllbnQqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5k
ZXggZTlmYTQ5Yy4uZjNkYWIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAgLTc5LDkgKzc5LDEwIEBAIHB1YmxpYzoKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCB2b2lkIHNldFJvb3RDb21wb3Np
dGluZ0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKSA9IDA7Ci0jaWYgVVNFKFRFWFRVUkVfTUFQ
UEVSKSAmJiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZUxheWVyVHJlZUhvc3RNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpN
ZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopID0gMDsKICNlbmRpZgorCisjaWYg
VVNFKFVJX1BST0NFU1NfQ09NUE9TSVRJTkcpCisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVM
YXllclRyZWVIb3N0TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2Fn
ZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKSA9IDA7CiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKFdJTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggNGNjMWZlMi4uZmU1N2FiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAg
LTY2Nyw3ICs2NjcsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6ZGlzcGxheShVcGRhdGVJbmZv
JiB1cGRhdGVJbmZvKQogICAgIG1fZGlzcGxheVRpbWVyLnN0b3AoKTsKIH0KIAotI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBVU0UoVElM
RURfQkFDS0lOR19TVE9SRSkKKyNpZiBVU0UoVUlfUFJPQ0VTU19DT01QT1NJVElORykKIHZvaWQg
RHJhd2luZ0FyZWFJbXBsOjpkaWRSZWNlaXZlTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoQ29yZUlQQzo6
Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29y
ZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMpCiB7CiAgICAgaWYgKG1fbGF5ZXJUcmVl
SG9zdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuaAppbmRleCBiZjg2ZmNmLi5jNTdmZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCkBAIC03MCw3ICs3MCw3
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ2hpbGRXaW5kb3dHZW9tZXRy
eVVwZGF0ZShjb25zdCBXaW5kb3dHZW9tZXRyeSYpOwogI2VuZGlmCiAKLSNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBFUikgJiYgVVNFKFRJTEVEX0JB
Q0tJTkdfU1RPUkUpCisjaWYgVVNFKFVJX1BST0NFU1NfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVMYXllclRyZWVIb3N0TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9u
KiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJU
cmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVl
SG9zdC5jcHAKaW5kZXggMDMxYzNmYS4uOTJlYjQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcApAQCAtMzQsNyArMzQsNyBA
QAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFFUKSAmJiBVU0UoVEVYVFVSRV9NQVBQ
RVIpCisjaWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAicXQvTGF5ZXJUcmVlSG9zdFF0LmgiCiAj
ZW5kaWYKIApAQCAtNDgsNyArNDgsNyBAQCBQYXNzUmVmUHRyPExheWVyVHJlZUhvc3Q+IExheWVy
VHJlZUhvc3Q6OmNyZWF0ZShXZWJQYWdlKiB3ZWJQYWdlKQogICAgIHJldHVybiBMYXllclRyZWVI
b3N0Q0FNYWM6OmNyZWF0ZSh3ZWJQYWdlKTsKICNlbGlmIFBMQVRGT1JNKFdJTikgJiYgSEFWRShX
S1FDQSkKICAgICByZXR1cm4gTGF5ZXJUcmVlSG9zdENBV2luOjpjcmVhdGUod2ViUGFnZSk7Ci0j
ZWxpZiBQTEFURk9STShRVCkgJiYgVVNFKFRFWFRVUkVfTUFQUEVSKQorI2VsaWYgUExBVEZPUk0o
UVQpCiAgICAgcmV0dXJuIExheWVyVHJlZUhvc3RRdDo6Y3JlYXRlKHdlYlBhZ2UpOwogI2Vsc2UK
ICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5jcHAKaW5kZXggMDAwNWNlOC4uMjE1YTMzNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhv
c3RRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVy
VHJlZUhvc3RRdC5jcHAKQEAgLTI2LDggKzI2LDYgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgog
Ci0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotCiAjaW5jbHVkZSAiTGF5ZXJUcmVl
SG9zdFF0LmgiCiAKICNpbmNsdWRlICJEcmF3aW5nQXJlYUltcGwuaCIKQEAgLTM5Nyw3ICszOTUs
NiBAQCBib29sIExheWVyVHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKIHZv
aWQgTGF5ZXJUcmVlSG9zdFF0OjpjcmVhdGVUaWxlKFdlYkxheWVySUQgbGF5ZXJJRCwgaW50IHRp
bGVJRCwgY29uc3QgVXBkYXRlSW5mbyYgdXBkYXRlSW5mbykKIHsKICAgICBtX3dlYlBhZ2UtPnNl
bmQoTWVzc2FnZXM6OkxheWVyVHJlZUhvc3RQcm94eTo6Q3JlYXRlVGlsZUZvckxheWVyKGxheWVy
SUQsIHRpbGVJRCwgdXBkYXRlSW5mbykpOwpAQCAtNDU5LDIwICs0NTYsNSBAQCB2b2lkIExheWVy
VHJlZUhvc3RRdDo6cHVyZ2VCYWNraW5nU3RvcmVzKCkKIAogICAgIEFTU0VSVCghbV9kaXJlY3Rs
eUNvbXBvc2l0ZWRJbWFnZVJlZkNvdW50cy5zaXplKCkpOwogfQotI2VuZGlmCi0KLX0gLy8gbmFt
ZXNwYWNlIFdlYktpdAotI2Vsc2UKLSNpbmNsdWRlICJMYXllclRyZWVIb3N0LmgiCi0KLXVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotYm9vbCBMYXllclRy
ZWVIb3N0OjpzdXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKQotewotICAgIHJldHVybiBm
YWxzZTsKLX0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaAppbmRl
eCBmNWM0MzNmLi45ZGI4NWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oCkBAIC0zMyw5ICszMyw3IEBAIGNsYXNz
IFVwZGF0ZUluZm87CiBjbGFzcyBXZWJQYWdlOwogCiBjbGFzcyBMYXllclRyZWVIb3N0UXQgOiBw
dWJsaWMgTGF5ZXJUcmVlSG9zdCwgV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsaWVudAotI2lmIFVT
RShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIFdl
YkdyYXBoaWNzTGF5ZXJDbGllbnQKLSNlbmRpZgogewogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPExheWVyVHJlZUhvc3RRdD4gY3JlYXRlKFdlYlBhZ2UqKTsKQEAgLTY1LDcgKzYzLDYg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50NjRfdCBhZG9wdEltYWdlQmFja2luZ1N0b3JlKFdl
YkNvcmU6OkltYWdlKik7CiAgICAgdmlydHVhbCB2b2lkIHJlbGVhc2VJbWFnZUJhY2tpbmdTdG9y
ZShpbnQ2NF90KTsKIAotI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIHZpcnR1YWwg
dm9pZCBjcmVhdGVUaWxlKFdlYkxheWVySUQsIGludCB0aWxlSUQsIGNvbnN0IFVwZGF0ZUluZm8m
KTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGlsZShXZWJMYXllcklELCBpbnQgdGlsZUlELCBj
b25zdCBVcGRhdGVJbmZvJik7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVRpbGUoV2ViTGF5ZXJJ
RCwgaW50IHRpbGVJRCk7CkBAIC03OCw3ICs3NSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgZGlkU3luY0NvbXBvc2l0aW5nU3RhdGVGb3JMYXllcihjb25zdCBXZWJMYXllckluZm8mKTsK
ICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoTGF5ZXIoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllciop
OwogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hMYXllcihXZWJDb3JlOjpXZWJHcmFwaGljc0xheWVy
Kik7Ci0jZW5kaWYKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IExheWVyVHJlZUhvc3RRdChX
ZWJQYWdlKik7CkBAIC0xMTIsMTIgKzEwOCwxMiBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX25v
dGlmeUFmdGVyU2NoZWR1bGVkTGF5ZXJGbHVzaDsKICAgICBib29sIG1faXNWYWxpZDsKLSNpZiBV
U0UoVElMRURfQkFDS0lOR19TVE9SRSkKKwogICAgIGJvb2wgbV93YWl0aW5nRm9yVUlQcm9jZXNz
OwogICAgIGJvb2wgbV9pc1N1c3BlbmRlZDsKICAgICBXZWJDb3JlOjpJbnRSZWN0IG1fdmlzaWJs
ZUNvbnRlbnRzUmVjdDsKICAgICBmbG9hdCBtX2NvbnRlbnRzU2NhbGU7Ci0jZW5kaWYKKwogICAg
IExheWVyVHJlZUNvbnRleHQgbV9sYXllclRyZWVDb250ZXh0OwogICAgIGJvb2wgbV9zaG91bGRT
eW5jRnJhbWU7CiAgICAgYm9vbCBtX3Nob3VsZFN5bmNSb290TGF5ZXI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129466</attachid>
            <date>2012-02-29 10:04:51 -0800</date>
            <delta_ts>2012-02-29 13:36:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>21381</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">Y29tbWl0IGQzMmI2ZWI3OTliNjRiOWRlMGNjYTE4YzA3ZGVmZmI3ZTNiNjllNmQKQXV0aG9yOiBO
bydhbSBSb3NlbnRoYWwgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KRGF0ZTogICBNb24gRmVi
IDI3IDA5OjA5OjM3IDIwMTIgLTA4MDAKCiAgICBpZmRlZnMKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZwppbmRleCAyYjkxOWNjLi45YWI2NTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMi0yNyAgTm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxA
bm9raWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBHZXQgcmlkIG9mIHRoZSAjaWZkZWYgbWVz
cyBpbiBMYXllclRyZWVIb3N0W1Byb3h5XQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MDEKKworICAgICAgICBFbmFibGUgV1RGX1VTRV9VSV9TSURF
X0NPTVBPU0lUSU5HIGZvciBRdC4KKworICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRl
IENocmlzdGlhbnNlbi4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDEyLTAyLTI4
ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAg
IFtDTWFrZV0gQWx3YXlzIGJ1aWxkIHd0ZiBhcyBhIHN0YXRpYyBsaWJyYXJ5LgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDRhMjU5ODEuLjM3NTcwNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTEwNzQsNiArMTA3NCwxMSBAQAogI2RlZmluZSBX
VEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HIDEKICNlbmRpZgogCisvKiBDb21wb3NpdGlu
ZyBvbiB0aGUgVUktcHJvY2VzcyBpbiBXZWJLaXQyICovCisjaWYgUExBVEZPUk0oUVQpCisjZGVm
aW5lIFdURl9VU0VfVUlfU0lERV9DT01QT1NJVElORyAxCisjZW5kaWYKKwogI2lmIChQTEFURk9S
TShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpKSB8fCBQTEFURk9STShJT1Mp
CiAjZGVmaW5lIFdURl9VU0VfUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLIDEKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGVkYTQ2ZGYuLmY0NWNhMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
NiBAQAorMjAxMi0wMi0yNyAgTm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEu
Y29tPgorCisgICAgICAgIFtRdF1bV0syXSBHZXQgcmlkIG9mIHRoZSAjaWZkZWYgbWVzcyBpbiBM
YXllclRyZWVIb3N0W1Byb3h5XQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzk1MDEKKworICAgICAgICBVc2UgYSBuZXcgVUlfU0lERV9DT01QT1NJVElO
RyBmbGFnIGluc3RlYWQgb2YgdGhlIHNldmVyYWwgI2lmZGVmIGZsYWdzIHdlIGN1cnJlbnRseSB1
c2UuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisK
KyAgICAgICAgKiBTaGFyZWQvV2ViTGF5ZXJUcmVlSW5mby5jcHA6CisgICAgICAgICogU2hhcmVk
L1dlYkxheWVyVHJlZUluZm8uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5Lmg6CisgICAgICAgIChEcmF3aW5nQXJlYVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YVByb3h5SW1wbDo6RHJhd2luZ0FyZWFQcm94eUltcGwpOgorICAgICAgICAoV2ViS2l0OjpEcmF3
aW5nQXJlYVByb3h5SW1wbDo6ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5o
OgorICAgICAgICAoRHJhd2luZ0FyZWFQcm94eUltcGwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9M
YXllclRyZWVIb3N0UHJveHkuaDoKKyAgICAgICAgKExheWVyVHJlZUhvc3RQcm94eSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9MYXll
ckJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL3F0L0xheWVyQmFja2luZ1N0
b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L0xheWVyVHJlZUhvc3RQcm94eVF0LmNwcDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3Bw
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oOgorICAgICAgICAo
RHJhd2luZ0FyZWEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUlt
cGwuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAgIChEcmF3aW5nQXJlYUltcGwpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvcXQv
TGF5ZXJUcmVlSG9zdFF0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdFF0Ojpw
dXJnZUJhY2tpbmdTdG9yZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXll
clRyZWVIb3N0UXQuaDoKKyAgICAgICAgKExheWVyVHJlZUhvc3RRdCk6CisKIDIwMTItMDItMjQg
IE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBb
UXRdIFVzZSB0aGUgZXhpc3RpbmcgaW5oZXJpdGVkT3BhY2l0eS9tYXRyaXggcHJvcGVydGllcyBv
ZiBRU0dOb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTGF5ZXJUcmVl
SW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTGF5ZXJUcmVlSW5mby5jcHAKaW5k
ZXggMTY0ZjNjMC4uYmJmMjZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkxheWVyVHJlZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJMYXllclRy
ZWVJbmZvLmNwcApAQCAtMTksOCArMTksNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0KKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJ
VElORykKICNpbmNsdWRlICJXZWJMYXllclRyZWVJbmZvLmgiCiAKICNpbmNsdWRlICJBcmd1bWVu
dHMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJMYXllclRyZWVJbmZv
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTGF5ZXJUcmVlSW5mby5oCmluZGV4IDU0ZTFj
YjUuLjcyM2NhZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJMYXllclRy
ZWVJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkxheWVyVHJlZUluZm8uaApA
QCAtMjAsNyArMjAsNyBAQAogI2lmbmRlZiBXZWJMYXllclRyZWVJbmZvX2gKICNkZWZpbmUgV2Vi
TGF5ZXJUcmVlSW5mb19oCiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisjaWYg
VVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAKICNpbmNsdWRlICJBcmd1bWVudERlY29kZXIuaCIK
ICNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5LmNwcAppbmRleCA5YmI5NzgzLi4wOGIyMjU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCkBAIC0yOCw3ICsyOCw3
IEBACiAKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9D
T01QT1NJVElORykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSKQorI2lmIFVTRShVSV9TSURFX0NPTVBP
U0lUSU5HKQogI2luY2x1ZGUgIkxheWVyVHJlZUhvc3RQcm94eS5oIgogI2luY2x1ZGUgPENvcmVJ
UEMvTWVzc2FnZUlELmg+CiAjZW5kaWYKQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBEcmF3aW5nQXJl
YVByb3h5OjpzZXRTaXplKGNvbnN0IEludFNpemUmIHNpemUsIGNvbnN0IEludFNpemUmIHNjcm9s
bE9mZnNldCkKICAgICBzaXplRGlkQ2hhbmdlKCk7CiB9CiAKLSNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBFUikKKyNpZiBVU0UoVUlfU0lERV9DT01Q
T1NJVElORykKIHZvaWQgRHJhd2luZ0FyZWFQcm94eTo6dXBkYXRlVmlld3BvcnQoKQogewogICAg
IG1fd2ViUGFnZVByb3h5LT5zZXRWaWV3TmVlZHNEaXNwbGF5KHZpZXdwb3J0VmlzaWJsZVJlY3Qo
KSk7CkBAIC02OSwxMiArNjksOSBAQCBXZWJDb3JlOjpJbnRSZWN0IERyYXdpbmdBcmVhUHJveHk6
OmNvbnRlbnRzUmVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQ6Onplcm8o
KSwgbV93ZWJQYWdlUHJveHktPnZpZXdTaXplKCkpOwogfQogCi0jaWYgVVNFKFRJTEVEX0JBQ0tJ
TkdfU1RPUkUpCiB2b2lkIERyYXdpbmdBcmVhUHJveHk6OmRpZFJlY2VpdmVMYXllclRyZWVIb3N0
UHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVz
c2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKIHsKIH0KICNlbmRp
ZgogCi0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAppbmRleCBlNzhjM2NkLi45MDAxYWNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTgzLDcgKzgzLDcg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHBhZ2VDdXN0b21SZXByZXNlbnRhdGlvbkNo
YW5nZWQoKSB7IH0KIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgVVNFKFRF
WFRVUkVfTUFQUEVSKQorI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwg
dm9pZCB1cGRhdGVWaWV3cG9ydCgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCB2aWV3
cG9ydFZpc2libGVSZWN0KCkgY29uc3QgeyByZXR1cm4gY29udGVudHNSZWN0KCk7IH0KICAgICB2
aXJ0dWFsIFdlYkNvcmU6OkludFJlY3QgY29udGVudHNSZWN0KCkgY29uc3Q7CkBAIC05MSw4ICs5
MSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUb0N1cnJlbnRHTENvbnRleHQo
Y29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhaW50TGF5ZXJUcmVlKEJhY2tp
bmdTdG9yZTo6UGxhdGZvcm1HcmFwaGljc0NvbnRleHQpIHsgfQogICAgIExheWVyVHJlZUhvc3RQ
cm94eSogbGF5ZXJUcmVlSG9zdFByb3h5KCkgY29uc3QgeyByZXR1cm4gbV9sYXllclRyZWVIb3N0
UHJveHkuZ2V0KCk7IH0KLQotI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIHZpcnR1
YWwgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0Rm9yU2NhbGluZyhjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBmbG9hdCBzY2FsZSkgeyB9CiAgICAgdmlydHVh
bCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3RGb3JQYW5uaW5nKGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRy
YWplY3RvcnlWZWN0b3IpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVUaWxlRm9yTGF5ZXIo
aW50IGxheWVySUQsIGludCB0aWxlSUQsIGNvbnN0IFdlYktpdDo6VXBkYXRlSW5mbyYpIHsgfQpA
QCAtMTAyLDcgKzEwMCw2IEBAIHB1YmxpYzoKIAogICAgIFdlYlBhZ2VQcm94eSogcGFnZSgpIHsg
cmV0dXJuIG1fd2ViUGFnZVByb3h5OyB9CiAjZW5kaWYKLSNlbmRpZgogcHJvdGVjdGVkOgogICAg
IGV4cGxpY2l0IERyYXdpbmdBcmVhUHJveHkoRHJhd2luZ0FyZWFUeXBlLCBXZWJQYWdlUHJveHkq
KTsKIApAQCAtMTEyLDcgKzEwOSw3IEBAIHByb3RlY3RlZDoKICAgICBXZWJDb3JlOjpJbnRTaXpl
IG1fc2l6ZTsKICAgICBXZWJDb3JlOjpJbnRTaXplIG1fc2Nyb2xsT2Zmc2V0OwogCi0jaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVIpCisjaWYgVVNF
KFVJX1NJREVfQ09NUE9TSVRJTkcpCiAgICAgT3duUHRyPExheWVyVHJlZUhvc3RQcm94eT4gbV9s
YXllclRyZWVIb3N0UHJveHk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKaW5kZXggMjIwZjllYy4uYzBkMDQ0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3Bw
CkBAIC0zNiw3ICszNiw3IEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZWdpb24uaD4KIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykg
JiYgVVNFKFRFWFRVUkVfTUFQUEVSKQorI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogI2lu
Y2x1ZGUgIkxheWVyVHJlZUhvc3RQcm94eS5oIgogI2VuZGlmCiAKQEAgLTU4LDcgKzU4LDcgQEAg
RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdBcmVhUHJveHlJbXBsKFdlYlBhZ2VQcm94eSog
d2ViUGFnZVByb3h5KQogICAgICwgbV9pc0JhY2tpbmdTdG9yZURpc2NhcmRhYmxlKHRydWUpCiAg
ICAgLCBtX2Rpc2NhcmRCYWNraW5nU3RvcmVUaW1lcihSdW5Mb29wOjpjdXJyZW50KCksIHRoaXMs
ICZEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZSkKIHsKLSNpZiBVU0Uo
VEVYVFVSRV9NQVBQRVIpCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAgICAgLy8gQ29u
c3RydWN0IHRoZSBwcm94eSBlYXJseSB0byBhbGxvdyBtZXNzYWdlcyB0byBiZSBzZW50IHRvIHRo
ZSB3ZWIgcHJvY2VzcyB3aGlsZSBBQyBpcyBlbnRlcmVkIHRoZXJlLgogICAgIGlmICh3ZWJQYWdl
UHJveHktPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygpLT5mb3JjZUNvbXBvc2l0aW5nTW9kZSgp
KQogICAgICAgICBtX2xheWVyVHJlZUhvc3RQcm94eSA9IGFkb3B0UHRyKG5ldyBMYXllclRyZWVI
b3N0UHJveHkodGhpcykpOwpAQCAtMzM1LDEzICszMzUsMTMgQEAgdm9pZCBEcmF3aW5nQXJlYVBy
b3h5SW1wbDo6ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVD
b250ZXgKICAgICBtX2JhY2tpbmdTdG9yZSA9IG51bGxwdHI7CiAgICAgbV9sYXllclRyZWVDb250
ZXh0ID0gbGF5ZXJUcmVlQ29udGV4dDsKICAgICBtX3dlYlBhZ2VQcm94eS0+ZW50ZXJBY2NlbGVy
YXRlZENvbXBvc2l0aW5nTW9kZShsYXllclRyZWVDb250ZXh0KTsKLSNpZiBVU0UoVEVYVFVSRV9N
QVBQRVIpCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAgICAgaWYgKCFtX2xheWVyVHJl
ZUhvc3RQcm94eSkKICAgICAgICAgbV9sYXllclRyZWVIb3N0UHJveHkgPSBhZG9wdFB0cihuZXcg
TGF5ZXJUcmVlSG9zdFByb3h5KHRoaXMpKTsKICNlbmRpZgogfQogCi0jaWYgVVNFKFRJTEVEX0JB
Q0tJTkdfU1RPUkUpCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiB2b2lkIERyYXdpbmdB
cmVhUHJveHlJbXBsOjpkaWRSZWNlaXZlTGF5ZXJUcmVlSG9zdFByb3h5TWVzc2FnZShDb3JlSVBD
OjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBD
b3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKIHsKICAgICBpZiAobV9sYXllclRy
ZWVIb3N0UHJveHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5SW1wbC5oCmluZGV4IDI1YzI3OWIuLjYxMzA3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCkBAIC03Nyw3ICs3Nyw3IEBAIHByaXZh
dGU6CiAKICAgICBib29sIGlzSW5BY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpIGNvbnN0IHsg
cmV0dXJuICFtX2xheWVyVHJlZUNvbnRleHQuaXNFbXB0eSgpOyB9CiAKLSNpZiBVU0UoVElMRURf
QkFDS0lOR19TVE9SRSkKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKICAgICB2aXJ0dWFs
IHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdEZvclNjYWxpbmcoY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwgZmxvYXQgc2NhbGUpOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0Rm9yUGFubmluZyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiB2aXNpYmxlQ29udGVudHNSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CiAgICAg
dmlydHVhbCB2b2lkIHBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFdlYkNvcmU6OlRyYW5z
Zm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJUcmVlSG9zdFBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJUcmVlSG9zdFByb3h5LmgKaW5k
ZXggOTZhYmYwOC4uYjNkNTEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0xheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXll
clRyZWVIb3N0UHJveHkuaApAQCAtMjAsOSArMjAsMTMgQEAKICNpZm5kZWYgTGF5ZXJUcmVlSG9z
dFByb3h5X2gKICNkZWZpbmUgTGF5ZXJUcmVlSG9zdFByb3h5X2gKIAorI2lmIFVTRShVSV9TSURF
X0NPTVBPU0lUSU5HKQorCiAjaW5jbHVkZSAiQmFja2luZ1N0b3JlLmgiCiAjaW5jbHVkZSAiRHJh
d2luZ0FyZWFQcm94eS5oIgogI2luY2x1ZGUgIlJlZ2lvbi5oIgorI2luY2x1ZGUgIlRleHR1cmVN
YXBwZXIuaCIKKyNpbmNsdWRlICJUZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmgiCiAjaW5jbHVk
ZSAiV2ViTGF5ZXJUcmVlSW5mby5oIgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CkBAIC0zMywxMCArMzcsNiBA
QAogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
IAotI2lmIFVTRShURVhUVVJFX01BUFBFUikKLSNpbmNsdWRlICJUZXh0dXJlTWFwcGVyLmgiCi0j
aW5jbHVkZSAiVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5oIgotI2VuZGlmCiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCkBAIC01Nyw3ICs1Nyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHB1cmdlR0xS
ZXNvdXJjZXMoKTsKICAgICB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3RGb3JTY2FsaW5nKGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmLCBmbG9hdCk7CiAgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVu
dHNSZWN0Rm9yUGFubmluZyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYpOwotI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIHZvaWQgc3lu
Y1JlbW90ZUNvbnRlbnQoKTsKICAgICB2b2lkIHN3YXBDb250ZW50QnVmZmVycygpOwogICAgIHZv
aWQgZGlkUmVuZGVyRnJhbWUoKTsKQEAgLTY4LDcgKzY3LDYgQEAgcHVibGljOgogICAgIHZvaWQg
ZGVzdHJveURpcmVjdGx5Q29tcG9zaXRlZEltYWdlKGludDY0X3QpOwogICAgIHZvaWQgZGlkUmVj
ZWl2ZUxheWVyVHJlZUhvc3RQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJ
UEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAgICAgdm9pZCB1cGRh
dGVWaWV3cG9ydCgpOwotI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBQYXNzT3duUHRyPFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXI+IGNyZWF0ZUxheWVyKFdlYkxheWVySUQpOwpAQCAtOTQsOSArOTIs
MTEgQEAgcHJvdGVjdGVkOgogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQogICAgIE93blB0cjxX
ZWJDb3JlOjpUZXh0dXJlTWFwcGVyPiBtX3RleHR1cmVNYXBwZXI7CisgICAgUGFzc1JlZlB0cjxM
YXllckJhY2tpbmdTdG9yZT4gZ2V0QmFja2luZ1N0b3JlKFdlYkxheWVySUQpOworICAgIEhhc2hN
YXA8aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlRleHR1cmVNYXBwZXJCYWNraW5nU3RvcmU+ID4g
bV9kaXJlY3RseUNvbXBvc2l0ZWRJbWFnZXM7CisgICAgSGFzaFNldDxSZWZQdHI8TGF5ZXJCYWNr
aW5nU3RvcmU+ID4gbV9iYWNraW5nU3RvcmVzV2l0aFBlbmRpbmdCdWZmZXJzOwogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShRVCkKICAgICB2b2lkIHNjaGVkdWxlV2ViVmlld1VwZGF0ZSgpOwogICAg
IHZvaWQgc3luY2hyb25pemVWaWV3cG9ydCgpOwogICAgIHZvaWQgZGVsZXRlTGF5ZXIoV2ViTGF5
ZXJJRCk7CkBAIC0xMTEsMTUgKzExMSwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmbHVzaExh
eWVyQ2hhbmdlcygpOwogICAgIHZvaWQgZW5zdXJlUm9vdExheWVyKCk7CiAgICAgdm9pZCBlbnN1
cmVMYXllcihXZWJMYXllcklEKTsKLSAgICBQYXNzUmVmUHRyPExheWVyQmFja2luZ1N0b3JlPiBn
ZXRCYWNraW5nU3RvcmUoV2ViTGF5ZXJJRCk7CiAgICAgdm9pZCBzd2FwQnVmZmVycygpOwogICAg
IHZvaWQgc3luY0FuaW1hdGlvbnMoKTsKLSNlbmRpZgogCiAgICAgT3duUHRyPFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI+IG1fcm9vdExheWVyOwogICAgIFZlY3RvcjxXZWJMYXllcklEPiBtX2xheWVy
c1RvRGVsZXRlOwotICAgIEhhc2hNYXA8aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlRleHR1cmVN
YXBwZXJCYWNraW5nU3RvcmU+ID4gbV9kaXJlY3RseUNvbXBvc2l0ZWRJbWFnZXM7Ci0gICAgSGFz
aFNldDxSZWZQdHI8TGF5ZXJCYWNraW5nU3RvcmU+ID4gbV9iYWNraW5nU3RvcmVzV2l0aFBlbmRp
bmdCdWZmZXJzOwogCiAgICAgTGF5ZXJNYXAgbV9sYXllcnM7CiAgICAgV2ViTGF5ZXJJRCBtX3Jv
b3RMYXllcklEOwpAQCAtMTI4LDQgKzEyNCw2IEBAIHByb3RlY3RlZDoKIAogfQogCisjZW5kaWYK
KwogI2VuZGlmIC8vIExheWVyVHJlZUhvc3RQcm94eV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDhlYTNmZTQuLjJiZDZlNzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC04NSw3ICs4NSw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9XaW5kb3dGZWF0dXJlcy5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAKLSNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBFUikKKyNpZiBV
U0UoVUlfU0lERV9DT01QT1NJVElORykKICNpbmNsdWRlICJMYXllclRyZWVIb3N0UHJveHlNZXNz
YWdlcy5oIgogI2VuZGlmCiAKQEAgLTE1NDIsNyArMTU0Miw3IEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3Jl
SVBDOjpNCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBFUikgJiYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RP
UkUpCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxD
b3JlSVBDOjpNZXNzYWdlQ2xhc3NMYXllclRyZWVIb3N0UHJveHk+KCkpIHsKICAgICAgICAgbV9k
cmF3aW5nQXJlYS0+ZGlkUmVjZWl2ZUxheWVyVHJlZUhvc3RQcm94eU1lc3NhZ2UoY29ubmVjdGlv
biwgbWVzc2FnZUlELCBhcmd1bWVudHMpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJCYWNraW5nU3RvcmUuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L0xheWVyQmFja2luZ1N0b3JlLmNwcAppbmRleCBjNmRmNTdl
Li5kNjZjYzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJC
YWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXllckJh
Y2tpbmdTdG9yZS5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJMYXllckJhY2tpbmdTdG9yZS5oIgogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJ
TkcpCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXIu
aCIKIApAQCAtMTQxLDMgKzE0Miw0IEBAIHZvaWQgTGF5ZXJCYWNraW5nU3RvcmU6OnN3YXBCdWZm
ZXJzKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIpCiB9CiAKIH0KKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0xheWVyQmFja2luZ1N0b3JlLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJCYWNraW5nU3RvcmUuaAppbmRleCBlNjJm
Y2M4Li45Yjk5MTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5
ZXJCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJC
YWNraW5nU3RvcmUuaApAQCAtMjAsNiArMjAsNyBAQAogI2lmbmRlZiBMYXllckJhY2tpbmdTdG9y
ZV9oCiAjZGVmaW5lIExheWVyQmFja2luZ1N0b3JlX2gKIAorI2lmIFVTRShVSV9TSURFX0NPTVBP
U0lUSU5HKQogI2luY2x1ZGUgIkhhc2hNYXAuaCIKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAu
aCIKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyLmgiCkBAIC02NSw0ICs2Niw2IEBAIHByaXZhdGU6
CiB9OwogCiB9CisjZW5kaWYKKwogI2VuZGlmIC8vIExheWVyQmFja2luZ1N0b3JlX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXllclRyZWVIb3N0UHJveHlRdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJUcmVlSG9zdFByb3h5UXQuY3Bw
CmluZGV4IDEzYjY5OTUuLjIxZmI5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9MYXllclRyZWVIb3N0UHJveHlRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L0xheWVyVHJlZUhvc3RQcm94eVF0LmNwcApAQCAtMTksNyArMTksNiBAQAogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAj
aW5jbHVkZSAiTGF5ZXJUcmVlSG9zdFByb3h5LmgiCiAKICNpbmNsdWRlICJHcmFwaGljc0xheWVy
VGV4dHVyZU1hcHBlci5oIgpAQCAtNDE2LDQgKzQxNSwzIEBAIHZvaWQgTGF5ZXJUcmVlSG9zdFBy
b3h5OjpwdXJnZUdMUmVzb3VyY2VzKCkKIH0KIAogfQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xh
eWVyLmNwcAppbmRleCA4ZmQxMDhhLi44ODA4NTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5j
cHAKQEAgLTE5LDggKzE5LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAj
aW5jbHVkZSAiV2ViR3JhcGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSAiQW5pbWF0aW9uLmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdy
YXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViR3JhcGhpY3NMYXllci5oCmluZGV4IDQwOTZkMzcuLjBjYTVhYTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhp
Y3NMYXllci5oCkBAIC0zNyw4ICszNyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SdW5Mb29wLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCi0jaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQotCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBXZWJHcmFwaGljc0xheWVyOwogfQpAQCAtNjUsMTAgKzY0LDggQEAg
cHVibGljOgogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBXZWJHcmFwaGljc0xheWVyIDog
cHVibGljIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIKLSNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9S
RSkKICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgVGlsZWRCYWNraW5nU3RvcmVDbGll
bnQKICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgV2ViS2l0OjpUaWxlZEJhY2tpbmdT
dG9yZVJlbW90ZVRpbGVDbGllbnQKLSNlbmRpZgogewogcHVibGljOgogICAgIFdlYkdyYXBoaWNz
TGF5ZXIoR3JhcGhpY3NMYXllckNsaWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAppbmRleCBlOWZhNDljLi4xYWIwZWY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaApAQCAtNzks
OSArNzksMTAgQEAgcHVibGljOgogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NM
YXllciopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3lu
YygpID0gMDsKLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpICYmIFVTRShUSUxFRF9CQUNLSU5HX1NU
T1JFKQotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoQ29y
ZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyKikgPSAwOwogI2VuZGlmCisKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUxheWVyVHJlZUhvc3RNZXNzYWdlKENvcmVJUEM6OkNv
bm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlciop
ID0gMDsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0lOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAppbmRleCA0Y2MxZmUy
Li42MTliODE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWFJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWFJbXBsLmNwcApAQCAtNjY3LDcgKzY2Nyw3IEBAIHZvaWQgRHJhd2luZ0Fy
ZWFJbXBsOjpkaXNwbGF5KFVwZGF0ZUluZm8mIHVwZGF0ZUluZm8pCiAgICAgbV9kaXNwbGF5VGlt
ZXIuc3RvcCgpOwogfQogCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0Uo
VEVYVFVSRV9NQVBQRVIpICYmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorI2lmIFVTRShVSV9T
SURFX0NPTVBPU0lUSU5HKQogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmRpZFJlY2VpdmVMYXllclRy
ZWVIb3N0TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpN
ZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykK
IHsKICAgICBpZiAobV9sYXllclRyZWVIb3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCmluZGV4IGJmODZmY2YuLjJmOTljMzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWFJbXBsLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2No
ZWR1bGVDaGlsZFdpbmRvd0dlb21ldHJ5VXBkYXRlKGNvbnN0IFdpbmRvd0dlb21ldHJ5Jik7CiAj
ZW5kaWYKIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgVVNFKFRFWFRVUkVf
TUFQUEVSKSAmJiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKKyNpZiBVU0UoVUlfU0lERV9DT01Q
T1NJVElORykKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUxheWVyVHJlZUhvc3RNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3Vt
ZW50RGVjb2RlciopOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAppbmRleCAwMzFjM2ZhLi45MmViNDA4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3Qu
Y3BwCkBAIC0zNCw3ICszNCw3IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oUVQp
ICYmIFVTRShURVhUVVJFX01BUFBFUikKKyNpZiBQTEFURk9STShRVCkKICNpbmNsdWRlICJxdC9M
YXllclRyZWVIb3N0UXQuaCIKICNlbmRpZgogCkBAIC00OCw3ICs0OCw3IEBAIFBhc3NSZWZQdHI8
TGF5ZXJUcmVlSG9zdD4gTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKFdlYlBhZ2UqIHdlYlBhZ2UpCiAg
ICAgcmV0dXJuIExheWVyVHJlZUhvc3RDQU1hYzo6Y3JlYXRlKHdlYlBhZ2UpOwogI2VsaWYgUExB
VEZPUk0oV0lOKSAmJiBIQVZFKFdLUUNBKQogICAgIHJldHVybiBMYXllclRyZWVIb3N0Q0FXaW46
OmNyZWF0ZSh3ZWJQYWdlKTsKLSNlbGlmIFBMQVRGT1JNKFFUKSAmJiBVU0UoVEVYVFVSRV9NQVBQ
RVIpCisjZWxpZiBQTEFURk9STShRVCkKICAgICByZXR1cm4gTGF5ZXJUcmVlSG9zdFF0OjpjcmVh
dGUod2ViUGFnZSk7CiAjZWxzZQogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcAppbmRleCAw
MDA1Y2U4Li4yMTVhMzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcApAQCAtMjYsOCArMjYsNiBAQAogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0K
ICNpbmNsdWRlICJMYXllclRyZWVIb3N0UXQuaCIKIAogI2luY2x1ZGUgIkRyYXdpbmdBcmVhSW1w
bC5oIgpAQCAtMzk3LDcgKzM5NSw2IEBAIGJvb2wgTGF5ZXJUcmVlSG9zdDo6c3VwcG9ydHNBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmIFVTRShUSUxF
RF9CQUNLSU5HX1NUT1JFKQogdm9pZCBMYXllclRyZWVIb3N0UXQ6OmNyZWF0ZVRpbGUoV2ViTGF5
ZXJJRCBsYXllcklELCBpbnQgdGlsZUlELCBjb25zdCBVcGRhdGVJbmZvJiB1cGRhdGVJbmZvKQog
ewogICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6TGF5ZXJUcmVlSG9zdFByb3h5OjpDcmVh
dGVUaWxlRm9yTGF5ZXIobGF5ZXJJRCwgdGlsZUlELCB1cGRhdGVJbmZvKSk7CkBAIC00NTksMjAg
KzQ1Niw1IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdFF0OjpwdXJnZUJhY2tpbmdTdG9yZXMoKQogCiAg
ICAgQVNTRVJUKCFtX2RpcmVjdGx5Q29tcG9zaXRlZEltYWdlUmVmQ291bnRzLnNpemUoKSk7CiB9
Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0jZWxzZQotI2luY2x1ZGUgIkxheWVy
VHJlZUhvc3QuaCIKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJL
aXQgewotCi1ib29sIExheWVyVHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGlu
ZygpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLSNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xh
eWVyVHJlZUhvc3RRdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xh
eWVyVHJlZUhvc3RRdC5oCmluZGV4IGY1YzQzM2YuLjlkYjg1YjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmgKQEAg
LTMzLDkgKzMzLDcgQEAgY2xhc3MgVXBkYXRlSW5mbzsKIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNz
IExheWVyVHJlZUhvc3RRdCA6IHB1YmxpYyBMYXllclRyZWVIb3N0LCBXZWJDb3JlOjpHcmFwaGlj
c0xheWVyQ2xpZW50Ci0jaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgICAgICAgICAg
ICAgICAgICAgLCBwdWJsaWMgV2ViR3JhcGhpY3NMYXllckNsaWVudAotI2VuZGlmCiB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8TGF5ZXJUcmVlSG9zdFF0PiBjcmVhdGUoV2ViUGFn
ZSopOwpAQCAtNjUsNyArNjMsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQ2NF90IGFkb3B0
SW1hZ2VCYWNraW5nU3RvcmUoV2ViQ29yZTo6SW1hZ2UqKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVs
ZWFzZUltYWdlQmFja2luZ1N0b3JlKGludDY0X3QpOwogCi0jaWYgVVNFKFRJTEVEX0JBQ0tJTkdf
U1RPUkUpCiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZVRpbGUoV2ViTGF5ZXJJRCwgaW50IHRpbGVJ
RCwgY29uc3QgVXBkYXRlSW5mbyYpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVUaWxlKFdlYkxh
eWVySUQsIGludCB0aWxlSUQsIGNvbnN0IFVwZGF0ZUluZm8mKTsKICAgICB2aXJ0dWFsIHZvaWQg
cmVtb3ZlVGlsZShXZWJMYXllcklELCBpbnQgdGlsZUlEKTsKQEAgLTc4LDcgKzc1LDYgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRTeW5jQ29tcG9zaXRpbmdTdGF0ZUZvckxheWVyKGNv
bnN0IFdlYkxheWVySW5mbyYpOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hMYXllcihXZWJDb3Jl
OjpXZWJHcmFwaGljc0xheWVyKik7CiAgICAgdmlydHVhbCB2b2lkIGRldGFjaExheWVyKFdlYkNv
cmU6OldlYkdyYXBoaWNzTGF5ZXIqKTsKLSNlbmRpZgogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGlj
aXQgTGF5ZXJUcmVlSG9zdFF0KFdlYlBhZ2UqKTsKQEAgLTExMiwxMiArMTA4LDEyIEBAIHByaXZh
dGU6CiAKICAgICBib29sIG1fbm90aWZ5QWZ0ZXJTY2hlZHVsZWRMYXllckZsdXNoOwogICAgIGJv
b2wgbV9pc1ZhbGlkOwotI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorCiAgICAgYm9vbCBt
X3dhaXRpbmdGb3JVSVByb2Nlc3M7CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkOwogICAgIFdlYkNv
cmU6OkludFJlY3QgbV92aXNpYmxlQ29udGVudHNSZWN0OwogICAgIGZsb2F0IG1fY29udGVudHNT
Y2FsZTsKLSNlbmRpZgorCiAgICAgTGF5ZXJUcmVlQ29udGV4dCBtX2xheWVyVHJlZUNvbnRleHQ7
CiAgICAgYm9vbCBtX3Nob3VsZFN5bmNGcmFtZTsKICAgICBib29sIG1fc2hvdWxkU3luY1Jvb3RM
YXllcjsK
</data>
<flag name="commit-queue"
          id="132184"
          type_id="3"
          status="+"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129507</attachid>
            <date>2012-02-29 13:36:47 -0800</date>
            <delta_ts>2012-02-29 20:22:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>21230</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDJiOTE5Y2MuLjlhYjY1MDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAyLTI3ICBObydhbSBSb3NlbnRo
YWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtXSzJdIEdldCBy
aWQgb2YgdGhlICNpZmRlZiBtZXNzIGluIExheWVyVHJlZUhvc3RbUHJveHldCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUwMQorCisgICAgICAgIEVu
YWJsZSBXVEZfVVNFX1VJX1NJREVfQ09NUE9TSVRJTkcgZm9yIFF0LgorCisgICAgICAgIFJldmll
d2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgICogd3RmL1BsYXRm
b3JtLmg6CisKIDIwMTItMDItMjggIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVz
aW9uLm1vYmk+CiAKICAgICAgICAgW0NNYWtlXSBBbHdheXMgYnVpbGQgd3RmIGFzIGEgc3RhdGlj
IGxpYnJhcnkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3Jt
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXggNGEyNTk4MS4u
Mzc1NzA1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApAQCAtMTA3NCw2ICsx
MDc0LDExIEBACiAjZGVmaW5lIFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMQogI2Vu
ZGlmCiAKKy8qIENvbXBvc2l0aW5nIG9uIHRoZSBVSS1wcm9jZXNzIGluIFdlYktpdDIgKi8KKyNp
ZiBQTEFURk9STShRVCkKKyNkZWZpbmUgV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEKKyNl
bmRpZgorCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFS
RCkpIHx8IFBMQVRGT1JNKElPUykKICNkZWZpbmUgV1RGX1VTRV9QUk9URUNUSU9OX1NQQUNFX0FV
VEhfQ0FMTEJBQ0sgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWRhNDZkZi4uZjQ1Y2ExMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTAyLTI3ICBObydhbSBSb3NlbnRoYWwgIDxu
b2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtXSzJdIEdldCByaWQgb2Yg
dGhlICNpZmRlZiBtZXNzIGluIExheWVyVHJlZUhvc3RbUHJveHldCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUwMQorCisgICAgICAgIFVzZSBhIG5l
dyBVSV9TSURFX0NPTVBPU0lUSU5HIGZsYWcgaW5zdGVhZCBvZiB0aGUgc2V2ZXJhbCAjaWZkZWYg
ZmxhZ3Mgd2UgY3VycmVudGx5IHVzZS4KKworICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICAqIFNoYXJlZC9XZWJMYXllclRyZWVJbmZvLmNw
cDoKKyAgICAgICAgKiBTaGFyZWQvV2ViTGF5ZXJUcmVlSW5mby5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICog
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKERyYXdpbmdBcmVhUHJveHkp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nQXJlYVByb3h5SW1wbCk6Cisg
ICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjplbnRlckFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdNb2RlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmg6CisgICAgICAgIChEcmF3aW5nQXJlYVByb3h5SW1wbCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0xheWVyVHJlZUhvc3RQcm94eS5oOgorICAgICAgICAoTGF5ZXJU
cmVlSG9zdFByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAg
ICogVUlQcm9jZXNzL3F0L0xheWVyQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvcXQvTGF5ZXJCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvTGF5ZXJU
cmVlSG9zdFByb3h5UXQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJHcmFwaGljc0xheWVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLmg6CisgICAgICAgIChEcmF3aW5nQXJlYSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaDoKKyAgICAgICAgKERyYXdpbmdB
cmVhSW1wbCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpjcmVhdGUpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpMYXllclRyZWVIb3N0UXQ6OnB1cmdlQmFja2luZ1N0b3Jlcyk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oOgorICAgICAgICAoTGF5ZXJUcmVlSG9z
dFF0KToKKwogMjAxMi0wMi0yNCAgTm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9r
aWEuY29tPgogCiAgICAgICAgIFtRdF0gVXNlIHRoZSBleGlzdGluZyBpbmhlcml0ZWRPcGFjaXR5
L21hdHJpeCBwcm9wZXJ0aWVzIG9mIFFTR05vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJMYXllclRyZWVJbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJM
YXllclRyZWVJbmZvLmNwcAppbmRleCAxNjRmM2MwLi5iYmYyNmNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViTGF5ZXJUcmVlSW5mby5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkxheWVyVHJlZUluZm8uY3BwCkBAIC0xOSw4ICsxOSw3IEBACiAKICNpbmNs
dWRlICJjb25maWcuaCIKIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLQorI2lm
IFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogI2luY2x1ZGUgIldlYkxheWVyVHJlZUluZm8uaCIK
IAogI2luY2x1ZGUgIkFyZ3VtZW50cy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkxheWVyVHJlZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJMYXllclRy
ZWVJbmZvLmgKaW5kZXggNTRlMWNiNS4uNzIzY2FmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkxheWVyVHJlZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViTGF5ZXJUcmVlSW5mby5oCkBAIC0yMCw3ICsyMCw3IEBACiAjaWZuZGVmIFdlYkxheWVyVHJl
ZUluZm9faAogI2RlZmluZSBXZWJMYXllclRyZWVJbmZvX2gKIAotI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKIAogI2luY2x1ZGUg
IkFyZ3VtZW50RGVjb2Rlci5oIgogI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCmluZGV4IDliYjk3ODMu
LjA4YjIyNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94
eS5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogCi0j
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVIpCisj
aWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAjaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdFByb3h5
LmgiCiAjaW5jbHVkZSA8Q29yZUlQQy9NZXNzYWdlSUQuaD4KICNlbmRpZgpAQCAtNTgsNyArNTgs
NyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnNldFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSwg
Y29uc3QgSW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KQogICAgIHNpemVEaWRDaGFuZ2UoKTsKIH0KIAot
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSKQor
I2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogdm9pZCBEcmF3aW5nQXJlYVByb3h5Ojp1cGRh
dGVWaWV3cG9ydCgpCiB7CiAgICAgbV93ZWJQYWdlUHJveHktPnNldFZpZXdOZWVkc0Rpc3BsYXko
dmlld3BvcnRWaXNpYmxlUmVjdCgpKTsKQEAgLTY5LDEyICs2OSw5IEBAIFdlYkNvcmU6OkludFJl
Y3QgRHJhd2luZ0FyZWFQcm94eTo6Y29udGVudHNSZWN0KCkgY29uc3QKICAgICByZXR1cm4gSW50
UmVjdChJbnRQb2ludDo6emVybygpLCBtX3dlYlBhZ2VQcm94eS0+dmlld1NpemUoKSk7CiB9CiAK
LSNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKIHZvaWQgRHJhd2luZ0FyZWFQcm94eTo6ZGlk
UmVjZWl2ZUxheWVyVHJlZUhvc3RQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJn
dW1lbnRzKQogewogfQogI2VuZGlmCiAKLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IGU3OGMz
Y2QuLjkwMDFhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaApAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFnZUN1
c3RvbVJlcHJlc2VudGF0aW9uQ2hhbmdlZCgpIHsgfQogCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVIpCisjaWYgVVNFKFVJX1NJREVfQ09NUE9T
SVRJTkcpCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVZpZXdwb3J0KCk7CiAgICAgdmlydHVhbCBX
ZWJDb3JlOjpJbnRSZWN0IHZpZXdwb3J0VmlzaWJsZVJlY3QoKSBjb25zdCB7IHJldHVybiBjb250
ZW50c1JlY3QoKTsgfQogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCBjb250ZW50c1JlY3Qo
KSBjb25zdDsKQEAgLTkxLDggKzkxLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwYWlu
dFRvQ3VycmVudEdMQ29udGV4dChjb25zdCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCYs
IGZsb2F0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
cGFpbnRMYXllclRyZWUoQmFja2luZ1N0b3JlOjpQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCkgeyB9
CiAgICAgTGF5ZXJUcmVlSG9zdFByb3h5KiBsYXllclRyZWVIb3N0UHJveHkoKSBjb25zdCB7IHJl
dHVybiBtX2xheWVyVHJlZUhvc3RQcm94eS5nZXQoKTsgfQotCi0jaWYgVVNFKFRJTEVEX0JBQ0tJ
TkdfU1RPUkUpCiAgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3RGb3JTY2Fs
aW5nKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGZsb2F0IHNj
YWxlKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdEZvclBhbm5p
bmcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikgeyB9CiAgICAgdmlydHVhbCB2b2lk
IGNyZWF0ZVRpbGVGb3JMYXllcihpbnQgbGF5ZXJJRCwgaW50IHRpbGVJRCwgY29uc3QgV2ViS2l0
OjpVcGRhdGVJbmZvJikgeyB9CkBAIC0xMDIsNyArMTAwLDYgQEAgcHVibGljOgogCiAgICAgV2Vi
UGFnZVByb3h5KiBwYWdlKCkgeyByZXR1cm4gbV93ZWJQYWdlUHJveHk7IH0KICNlbmRpZgotI2Vu
ZGlmCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgRHJhd2luZ0FyZWFQcm94eShEcmF3aW5nQXJl
YVR5cGUsIFdlYlBhZ2VQcm94eSopOwogCkBAIC0xMTIsNyArMTA5LDcgQEAgcHJvdGVjdGVkOgog
ICAgIFdlYkNvcmU6OkludFNpemUgbV9zaXplOwogICAgIFdlYkNvcmU6OkludFNpemUgbV9zY3Jv
bGxPZmZzZXQ7CiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmIFVTRShURVhU
VVJFX01BUFBFUikKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKICAgICBPd25QdHI8TGF5
ZXJUcmVlSG9zdFByb3h5PiBtX2xheWVyVHJlZUhvc3RQcm94eTsKICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCAy
MjBmOWVjLi5jMGQwNDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5SW1wbC5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKICNpbmNsdWRlICJXZWJQcm9j
ZXNzUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1JlZ2lvbi5oPgogCi0jaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVIpCisjaWYgVVNFKFVJX1NJ
REVfQ09NUE9TSVRJTkcpCiAjaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdFByb3h5LmgiCiAjZW5kaWYK
IApAQCAtNTgsNyArNTgsNyBAQCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ0FyZWFQcm94
eUltcGwoV2ViUGFnZVByb3h5KiB3ZWJQYWdlUHJveHkpCiAgICAgLCBtX2lzQmFja2luZ1N0b3Jl
RGlzY2FyZGFibGUodHJ1ZSkKICAgICAsIG1fZGlzY2FyZEJhY2tpbmdTdG9yZVRpbWVyKFJ1bkxv
b3A6OmN1cnJlbnQoKSwgdGhpcywgJkRyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2lu
Z1N0b3JlKQogewotI2lmIFVTRShURVhUVVJFX01BUFBFUikKKyNpZiBVU0UoVUlfU0lERV9DT01Q
T1NJVElORykKICAgICAvLyBDb25zdHJ1Y3QgdGhlIHByb3h5IGVhcmx5IHRvIGFsbG93IG1lc3Nh
Z2VzIHRvIGJlIHNlbnQgdG8gdGhlIHdlYiBwcm9jZXNzIHdoaWxlIEFDIGlzIGVudGVyZWQgdGhl
cmUuCiAgICAgaWYgKHdlYlBhZ2VQcm94eS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPmZv
cmNlQ29tcG9zaXRpbmdNb2RlKCkpCiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdFByb3h5ID0gYWRv
cHRQdHIobmV3IExheWVyVHJlZUhvc3RQcm94eSh0aGlzKSk7CkBAIC0zMzUsMTMgKzMzNSwxMyBA
QCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdN
b2RlKGNvbnN0IExheWVyVHJlZUNvbnRleAogICAgIG1fYmFja2luZ1N0b3JlID0gbnVsbHB0cjsK
ICAgICBtX2xheWVyVHJlZUNvbnRleHQgPSBsYXllclRyZWVDb250ZXh0OwogICAgIG1fd2ViUGFn
ZVByb3h5LT5lbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGxheWVyVHJlZUNvbnRleHQp
OwotI2lmIFVTRShURVhUVVJFX01BUFBFUikKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykK
ICAgICBpZiAoIW1fbGF5ZXJUcmVlSG9zdFByb3h5KQogICAgICAgICBtX2xheWVyVHJlZUhvc3RQ
cm94eSA9IGFkb3B0UHRyKG5ldyBMYXllclRyZWVIb3N0UHJveHkodGhpcykpOwogI2VuZGlmCiB9
CiAKLSNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJ
VElORykKIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRpZFJlY2VpdmVMYXllclRyZWVIb3N0
UHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1l
c3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzKQog
ewogICAgIGlmIChtX2xheWVyVHJlZUhvc3RQcm94eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggMjVjMjc5Yi4uNjEzMDczYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAg
LTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgaXNJbkFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gIW1fbGF5ZXJUcmVlQ29udGV4dC5pc0VtcHR5KCk7
IH0KIAotI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQorI2lmIFVTRShVSV9TSURFX0NPTVBP
U0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0Rm9yU2NhbGlu
Zyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBmbG9hdCBzY2Fs
ZSk7CiAgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3RGb3JQYW5uaW5nKGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUb0N1cnJlbnRHTENvbnRleHQo
Y29uc3QgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCBvcGFjaXR5LCBjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9MYXllclRyZWVIb3N0UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXll
clRyZWVIb3N0UHJveHkuaAppbmRleCA5NmFiZjA4Li5iM2Q1MTJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJUcmVlSG9zdFByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0xheWVyVHJlZUhvc3RQcm94eS5oCkBAIC0yMCw5ICsyMCwxMyBAQAog
I2lmbmRlZiBMYXllclRyZWVIb3N0UHJveHlfaAogI2RlZmluZSBMYXllclRyZWVIb3N0UHJveHlf
aAogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRlICJCYWNraW5nU3Rv
cmUuaCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW5jbHVkZSAiUmVnaW9uLmgi
CisjaW5jbHVkZSAiVGV4dHVyZU1hcHBlci5oIgorI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJCYWNr
aW5nU3RvcmUuaCIKICNpbmNsdWRlICJXZWJMYXllclRyZWVJbmZvLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9HcmFwaGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIu
aD4KQEAgLTMzLDEwICszNyw2IEBACiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgogCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQotI2luY2x1ZGUg
IlRleHR1cmVNYXBwZXIuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmgi
Ci0jZW5kaWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTU3LDcgKzU3LDYgQEAgcHVibGlj
OgogICAgIHZvaWQgcHVyZ2VHTFJlc291cmNlcygpOwogICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRl
bnRzUmVjdEZvclNjYWxpbmcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGZsb2F0KTsKICAgICB2
b2lkIHNldFZpc2libGVDb250ZW50c1JlY3RGb3JQYW5uaW5nKGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7Ci0jaWYgVVNFKFRJTEVEX0JBQ0tJTkdf
U1RPUkUpCiAgICAgdm9pZCBzeW5jUmVtb3RlQ29udGVudCgpOwogICAgIHZvaWQgc3dhcENvbnRl
bnRCdWZmZXJzKCk7CiAgICAgdm9pZCBkaWRSZW5kZXJGcmFtZSgpOwpAQCAtNjgsNyArNjcsNiBA
QCBwdWJsaWM6CiAgICAgdm9pZCBkZXN0cm95RGlyZWN0bHlDb21wb3NpdGVkSW1hZ2UoaW50NjRf
dCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlTGF5ZXJUcmVlSG9zdFByb3h5TWVzc2FnZShDb3JlSVBD
OjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29k
ZXIqKTsKICAgICB2b2lkIHVwZGF0ZVZpZXdwb3J0KCk7Ci0jZW5kaWYKIAogcHJvdGVjdGVkOgog
ICAgIFBhc3NPd25QdHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllcj4gY3JlYXRlTGF5ZXIoV2ViTGF5
ZXJJRCk7CkBAIC05NCw5ICs5MiwxMSBAQCBwcm90ZWN0ZWQ6CiAKICNpZiBVU0UoVEVYVFVSRV9N
QVBQRVIpCiAgICAgT3duUHRyPFdlYkNvcmU6OlRleHR1cmVNYXBwZXI+IG1fdGV4dHVyZU1hcHBl
cjsKKyAgICBQYXNzUmVmUHRyPExheWVyQmFja2luZ1N0b3JlPiBnZXRCYWNraW5nU3RvcmUoV2Vi
TGF5ZXJJRCk7CisgICAgSGFzaE1hcDxpbnQ2NF90LCBSZWZQdHI8V2ViQ29yZTo6VGV4dHVyZU1h
cHBlckJhY2tpbmdTdG9yZT4gPiBtX2RpcmVjdGx5Q29tcG9zaXRlZEltYWdlczsKKyAgICBIYXNo
U2V0PFJlZlB0cjxMYXllckJhY2tpbmdTdG9yZT4gPiBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGlu
Z0J1ZmZlcnM7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFFUKQogICAgIHZvaWQgc2NoZWR1bGVX
ZWJWaWV3VXBkYXRlKCk7CiAgICAgdm9pZCBzeW5jaHJvbml6ZVZpZXdwb3J0KCk7CiAgICAgdm9p
ZCBkZWxldGVMYXllcihXZWJMYXllcklEKTsKQEAgLTExMSwxNSArMTExLDExIEBAIHByb3RlY3Rl
ZDoKICAgICB2b2lkIGZsdXNoTGF5ZXJDaGFuZ2VzKCk7CiAgICAgdm9pZCBlbnN1cmVSb290TGF5
ZXIoKTsKICAgICB2b2lkIGVuc3VyZUxheWVyKFdlYkxheWVySUQpOwotICAgIFBhc3NSZWZQdHI8
TGF5ZXJCYWNraW5nU3RvcmU+IGdldEJhY2tpbmdTdG9yZShXZWJMYXllcklEKTsKICAgICB2b2lk
IHN3YXBCdWZmZXJzKCk7CiAgICAgdm9pZCBzeW5jQW5pbWF0aW9ucygpOwotI2VuZGlmCiAKICAg
ICBPd25QdHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllcj4gbV9yb290TGF5ZXI7CiAgICAgVmVjdG9y
PFdlYkxheWVySUQ+IG1fbGF5ZXJzVG9EZWxldGU7Ci0gICAgSGFzaE1hcDxpbnQ2NF90LCBSZWZQ
dHI8V2ViQ29yZTo6VGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZT4gPiBtX2RpcmVjdGx5Q29tcG9z
aXRlZEltYWdlczsKLSAgICBIYXNoU2V0PFJlZlB0cjxMYXllckJhY2tpbmdTdG9yZT4gPiBtX2Jh
Y2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnM7CiAKICAgICBMYXllck1hcCBtX2xheWVyczsK
ICAgICBXZWJMYXllcklEIG1fcm9vdExheWVySUQ7CkBAIC0xMjgsNCArMTI0LDYgQEAgcHJvdGVj
dGVkOgogCiB9CiAKKyNlbmRpZgorCiAjZW5kaWYgLy8gTGF5ZXJUcmVlSG9zdFByb3h5X2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggOGVhM2ZlNC4uMmJk
NmU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTg1
LDcgKzg1LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd0ZlYXR1cmVzLmg+CiAjaW5jbHVk
ZSA8c3RkaW8uaD4KIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgVVNFKFRF
WFRVUkVfTUFQUEVSKQorI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogI2luY2x1ZGUgIkxh
eWVyVHJlZUhvc3RQcm94eU1lc3NhZ2VzLmgiCiAjZW5kaWYKIApAQCAtMTU0Miw3ICsxNTQyLDcg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok0KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBV
U0UoVElMRURfQkFDS0lOR19TVE9SRSkKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKICAg
ICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc0xheWVyVHJlZUhvc3RQcm94
eT4oKSkgewogICAgICAgICBtX2RyYXdpbmdBcmVhLT5kaWRSZWNlaXZlTGF5ZXJUcmVlSG9zdFBy
b3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7CiAgICAgICAgIHJl
dHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXllckJhY2tp
bmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJCYWNraW5nU3Rv
cmUuY3BwCmluZGV4IGM2ZGY1N2UuLmQ2NmNjMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9MYXllckJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L0xheWVyQmFja2luZ1N0b3JlLmNwcApAQCAtMjAsNiArMjAsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxheWVyQmFja2luZ1N0b3JlLmgiCiAKKyNpZiBV
U0UoVUlfU0lERV9DT01QT1NJVElORykKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5j
bHVkZSAiVGV4dHVyZU1hcHBlci5oIgogCkBAIC0xNDEsMyArMTQyLDQgQEAgdm9pZCBMYXllckJh
Y2tpbmdTdG9yZTo6c3dhcEJ1ZmZlcnMoVGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlcikKIH0K
IAogfQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5
ZXJCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXllckJhY2tp
bmdTdG9yZS5oCmluZGV4IGU2MmZjYzguLjliOTkxM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9MYXllckJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9MYXllckJhY2tpbmdTdG9yZS5oCkBAIC0yMCw2ICsyMCw3IEBACiAjaWZu
ZGVmIExheWVyQmFja2luZ1N0b3JlX2gKICNkZWZpbmUgTGF5ZXJCYWNraW5nU3RvcmVfaAogCisj
aWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAjaW5jbHVkZSAiSGFzaE1hcC5oIgogI2luY2x1
ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXIuaCIKQEAgLTY1
LDQgKzY2LDYgQEAgcHJpdmF0ZToKIH07CiAKIH0KKyNlbmRpZgorCiAjZW5kaWYgLy8gTGF5ZXJC
YWNraW5nU3RvcmVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0xh
eWVyVHJlZUhvc3RQcm94eVF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9MYXll
clRyZWVIb3N0UHJveHlRdC5jcHAKaW5kZXggMTNiNjk5NS4uMjFmYjk5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0xheWVyVHJlZUhvc3RQcm94eVF0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvTGF5ZXJUcmVlSG9zdFByb3h5UXQuY3BwCkBA
IC0xOSw3ICsxOSw2IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKICNpbmNsdWRlICJMYXllclRyZWVIb3N0UHJveHkuaCIKIAogI2lu
Y2x1ZGUgIkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmgiCkBAIC00MTYsNCArNDE1LDMgQEAg
dm9pZCBMYXllclRyZWVIb3N0UHJveHk6OnB1cmdlR0xSZXNvdXJjZXMoKQogfQogCiB9Ci0jZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDhmZDEwOGEuLjg4MDg1NjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhp
Y3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJHcmFwaGljc0xheWVyLmNwcApAQCAtMTksOCArMTksNyBAQAogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAKLSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0KKyNpZiBVU0UoVUlf
U0lERV9DT01QT1NJVElORykKICNpbmNsdWRlICJXZWJHcmFwaGljc0xheWVyLmgiCiAKICNpbmNs
dWRlICJBbmltYXRpb24uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmgKaW5kZXggNDA5NmQzNy4uMGNh
NWFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJHcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmgKQEAgLTM3LDggKzM3LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAK
LSNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0KKyNpZiBVU0UoVUlfU0lERV9DT01Q
T1NJVElORykKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFdlYkdyYXBoaWNzTGF5ZXI7CiB9
CkBAIC02NSwxMCArNjQsOCBAQCBwdWJsaWM6CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IFdlYkdyYXBoaWNzTGF5ZXIgOiBwdWJsaWMgV2ViQ29yZTo6R3JhcGhpY3NMYXllcgotI2lmIFVT
RShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBU
aWxlZEJhY2tpbmdTdG9yZUNsaWVudAogICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBX
ZWJLaXQ6OlRpbGVkQmFja2luZ1N0b3JlUmVtb3RlVGlsZUNsaWVudAotI2VuZGlmCiB7CiBwdWJs
aWM6CiAgICAgV2ViR3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVyQ2xpZW50Kik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IGU5ZmE0
OWMuLjFhYjBlZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5oCkBAIC03OSw5ICs3OSwxMCBAQCBwdWJsaWM6CiAjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBzZXRSb290Q29tcG9zaXRpbmdMYXll
cihXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCkgPSAwOwotI2lmIFVTRShURVhUVVJFX01BUFBFUikgJiYg
VVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVMYXll
clRyZWVIb3N0TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlE
LCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKSA9IDA7CiAjZW5kaWYKKworI2lmIFVTRShVSV9T
SURFX0NPTVBPU0lUSU5HKQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTGF5ZXJUcmVlSG9z
dE1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyKikgPSAwOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShXSU4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUlt
cGwuY3BwCmluZGV4IDRjYzFmZTIuLjYxOWI4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC02NjcsNyArNjY3
LDcgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OmRpc3BsYXkoVXBkYXRlSW5mbyYgdXBkYXRlSW5m
bykKICAgICBtX2Rpc3BsYXlUaW1lci5zdG9wKCk7CiB9CiAKLSNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBFUikgJiYgVVNFKFRJTEVEX0JBQ0tJTkdf
U1RPUkUpCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiB2b2lkIERyYXdpbmdBcmVhSW1w
bDo6ZGlkUmVjZWl2ZUxheWVyVHJlZUhvc3RNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNv
bm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50
RGVjb2RlciogYXJndW1lbnRzKQogewogICAgIGlmIChtX2xheWVyVHJlZUhvc3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKaW5k
ZXggYmY4NmZjZi4uMmY5OWMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNoaWxkV2luZG93R2VvbWV0cnlVcGRhdGUoY29uc3Qg
V2luZG93R2VvbWV0cnkmKTsKICNlbmRpZgogCi0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVIpICYmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQor
I2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
TGF5ZXJUcmVlSG9zdE1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3Nh
Z2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCmluZGV4IDAz
MWMzZmEuLjkyZWI0MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9MYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNlbmRpZgogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShRVCkgJiYgVVNFKFRFWFRVUkVfTUFQUEVSKQorI2lmIFBMQVRGT1JN
KFFUKQogI2luY2x1ZGUgInF0L0xheWVyVHJlZUhvc3RRdC5oIgogI2VuZGlmCiAKQEAgLTQ4LDcg
KzQ4LDcgQEAgUGFzc1JlZlB0cjxMYXllclRyZWVIb3N0PiBMYXllclRyZWVIb3N0OjpjcmVhdGUo
V2ViUGFnZSogd2ViUGFnZSkKICAgICByZXR1cm4gTGF5ZXJUcmVlSG9zdENBTWFjOjpjcmVhdGUo
d2ViUGFnZSk7CiAjZWxpZiBQTEFURk9STShXSU4pICYmIEhBVkUoV0tRQ0EpCiAgICAgcmV0dXJu
IExheWVyVHJlZUhvc3RDQVdpbjo6Y3JlYXRlKHdlYlBhZ2UpOwotI2VsaWYgUExBVEZPUk0oUVQp
ICYmIFVTRShURVhUVVJFX01BUFBFUikKKyNlbGlmIFBMQVRGT1JNKFFUKQogICAgIHJldHVybiBM
YXllclRyZWVIb3N0UXQ6OmNyZWF0ZSh3ZWJQYWdlKTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVl
SG9zdFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRy
ZWVIb3N0UXQuY3BwCmluZGV4IDAwMDVjZTguLjIxNWEzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwCkBA
IC0yNiw4ICsyNiw2IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKLQogI2luY2x1ZGUgIkxheWVyVHJlZUhvc3RRdC5oIgogCiAjaW5j
bHVkZSAiRHJhd2luZ0FyZWFJbXBsLmgiCkBAIC0zOTcsNyArMzk1LDYgQEAgYm9vbCBMYXllclRy
ZWVIb3N0OjpzdXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKQogICAgIHJldHVybiB0cnVl
OwogfQogCi0jaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiB2b2lkIExheWVyVHJlZUhvc3RR
dDo6Y3JlYXRlVGlsZShXZWJMYXllcklEIGxheWVySUQsIGludCB0aWxlSUQsIGNvbnN0IFVwZGF0
ZUluZm8mIHVwZGF0ZUluZm8pCiB7CiAgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpMYXll
clRyZWVIb3N0UHJveHk6OkNyZWF0ZVRpbGVGb3JMYXllcihsYXllcklELCB0aWxlSUQsIHVwZGF0
ZUluZm8pKTsKQEAgLTQ1OSwyMCArNDU2LDUgQEAgdm9pZCBMYXllclRyZWVIb3N0UXQ6OnB1cmdl
QmFja2luZ1N0b3JlcygpCiAKICAgICBBU1NFUlQoIW1fZGlyZWN0bHlDb21wb3NpdGVkSW1hZ2VS
ZWZDb3VudHMuc2l6ZSgpKTsKIH0KLSNlbmRpZgotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLSNl
bHNlCi0jaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdC5oIgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWJvb2wgTGF5ZXJUcmVlSG9zdDo6c3VwcG9ydHNB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmgKaW5kZXggZjVjNDMzZi4uOWRiODVi
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVy
VHJlZUhvc3RRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9M
YXllclRyZWVIb3N0UXQuaApAQCAtMzMsOSArMzMsNyBAQCBjbGFzcyBVcGRhdGVJbmZvOwogY2xh
c3MgV2ViUGFnZTsKIAogY2xhc3MgTGF5ZXJUcmVlSG9zdFF0IDogcHVibGljIExheWVyVHJlZUhv
c3QsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbGllbnQKLSNpZiBVU0UoVElMRURfQkFDS0lOR19T
VE9SRSkKICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBXZWJHcmFwaGljc0xheWVyQ2xp
ZW50Ci0jZW5kaWYKIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxMYXllclRyZWVI
b3N0UXQ+IGNyZWF0ZShXZWJQYWdlKik7CkBAIC02NSw3ICs2Myw2IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGludDY0X3QgYWRvcHRJbWFnZUJhY2tpbmdTdG9yZShXZWJDb3JlOjpJbWFnZSopOwog
ICAgIHZpcnR1YWwgdm9pZCByZWxlYXNlSW1hZ2VCYWNraW5nU3RvcmUoaW50NjRfdCk7CiAKLSNp
ZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlVGlsZShX
ZWJMYXllcklELCBpbnQgdGlsZUlELCBjb25zdCBVcGRhdGVJbmZvJik7CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZVRpbGUoV2ViTGF5ZXJJRCwgaW50IHRpbGVJRCwgY29uc3QgVXBkYXRlSW5mbyYp
OwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVUaWxlKFdlYkxheWVySUQsIGludCB0aWxlSUQpOwpA
QCAtNzgsNyArNzUsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFN5bmNDb21wb3Np
dGluZ1N0YXRlRm9yTGF5ZXIoY29uc3QgV2ViTGF5ZXJJbmZvJik7CiAgICAgdmlydHVhbCB2b2lk
IGF0dGFjaExheWVyKFdlYkNvcmU6OldlYkdyYXBoaWNzTGF5ZXIqKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGV0YWNoTGF5ZXIoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllciopOwotI2VuZGlmCiAKIHBy
b3RlY3RlZDoKICAgICBleHBsaWNpdCBMYXllclRyZWVIb3N0UXQoV2ViUGFnZSopOwpAQCAtMTEy
LDEyICsxMDgsMTIgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9ub3RpZnlBZnRlclNjaGVkdWxl
ZExheWVyRmx1c2g7CiAgICAgYm9vbCBtX2lzVmFsaWQ7Ci0jaWYgVVNFKFRJTEVEX0JBQ0tJTkdf
U1RPUkUpCisKICAgICBib29sIG1fd2FpdGluZ0ZvclVJUHJvY2VzczsKICAgICBib29sIG1faXNT
dXNwZW5kZWQ7CiAgICAgV2ViQ29yZTo6SW50UmVjdCBtX3Zpc2libGVDb250ZW50c1JlY3Q7CiAg
ICAgZmxvYXQgbV9jb250ZW50c1NjYWxlOwotI2VuZGlmCisKICAgICBMYXllclRyZWVDb250ZXh0
IG1fbGF5ZXJUcmVlQ29udGV4dDsKICAgICBib29sIG1fc2hvdWxkU3luY0ZyYW1lOwogICAgIGJv
b2wgbV9zaG91bGRTeW5jUm9vdExheWVyOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>