<?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>105812</bug_id>
          
          <creation_ts>2012-12-27 19:25:47 -0800</creation_ts>
          <short_desc>Convert a few other WebProcess managers to be WebProcessSupplements</short_desc>
          <delta_ts>2012-12-27 19:36:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>philn</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>797729</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-27 19:25:47 -0800</bug_when>
    <thetext>Convert a few other WebProcess managers to be WebProcessSupplements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797730</commentid>
    <comment_count>1</comment_count>
      <attachid>180835</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-27 19:26:45 -0800</bug_when>
    <thetext>Created attachment 180835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797731</commentid>
    <comment_count>2</comment_count>
      <attachid>180835</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-12-27 19:33:34 -0800</bug_when>
    <thetext>Comment on attachment 180835
Patch

Attachment 180835 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15546715</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797732</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-27 19:36:15 -0800</bug_when>
    <thetext>Committed r138520: &lt;http://trac.webkit.org/changeset/138520&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180835</attachid>
            <date>2012-12-27 19:26:45 -0800</date>
            <delta_ts>2012-12-27 19:34:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105812-20121227222357.patch</filename>
            <type>text/plain</type>
            <size>34622</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODUxOSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc0IEBACisyMDEyLTEyLTI3ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ29udmVydCBhIGZldyBvdGhlciBXZWJQ
cm9jZXNzIG1hbmFnZXJzIHRvIGJlIFdlYlByb2Nlc3NTdXBwbGVtZW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1ODEyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxpY2F0
aW9uQ2FjaGUvV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlcjo6c3VwcGxlbWVudE5hbWUpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZS9XZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5o
OgorICAgICAgICAoV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaDoKKyAg
ICAgICAgKEF1dGhlbnRpY2F0aW9uTWFuYWdlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9Db29r
aWVzL1dlYkNvb2tpZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVNYW5h
Z2VyOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNv
b2tpZU1hbmFnZXIuaDoKKyAgICAgICAgKFdlYkNvb2tpZU1hbmFnZXIpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViR2VvbG9jYXRpb25NYW5hZ2VyOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIuaDoKKyAgICAg
ICAgKFdlYkdlb2xvY2F0aW9uTWFuYWdlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlOjpzZXRBbHdheXNBY2NlcHRDb29raWVzKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGU6OmNsZWFyQXBwbGljYXRpb25DYWNoZSk6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVk
QnVuZGxlOjpzZXRBcHBDYWNoZU1heGltdW1TaXplKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGU6OndlYk5vdGlmaWNhdGlvbklEKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL01lZGlh
Q2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRp
YUNhY2hlTWFuYWdlcjo6c3VwcGxlbWVudE5hbWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTWVk
aWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5oOgorICAgICAgICAoV2ViTWVkaWFDYWNoZU1h
bmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnBlcm1pc3Npb25MZXZlbCk6CisgICAgICAgIChX
ZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6c2V0UGVybWlzc2lv
bkxldmVsRm9yVGVzdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcjo6cmVtb3ZlQWxsUGVybWlzc2lvbnNGb3JUZXN0aW5nKToKKyAgICAg
ICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRSZWNl
aXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OnN1cHBsZW1lbnROYW1lKToKKyAgICAgICAgKFdl
YktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaDoKKyAgICAgICAg
KFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUmVzb3VyY2VD
YWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmg6CisgICAgICAgIChXZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpkaXNwYXRjaERpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2NhdGlvbkNsaWVudC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkdlb2xvY2F0aW9uQ2xpZW50OjpnZW9sb2NhdGlvbkRl
c3Ryb3llZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkdlb2xvY2F0aW9uQ2xpZW50OjpzdGFydFVw
ZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViR2VvbG9jYXRpb25DbGllbnQ6OnN0b3BVcGRh
dGluZyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRp
b25DbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25DbGllbnQ6OnNo
b3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25DbGllbnQ6OmNhbmNlbCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbkNsaWVudDo6Y2xlYXJOb3RpZmljYXRpb25z
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb25P
YmplY3REZXN0cm95ZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpkb3dubG9hZHNBdXRoZW50aWNhdGlvbk1hbmFnZXIpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp0
ZXh0Q2hlY2tlclN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6bmV0d29ya0Fj
Y2Vzc01hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzb3VwUmVxdWVzdE1h
bmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
ICAgICAgICAqIFdlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAg
ICAqIFdlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAxMi0xMi0yNyAg
VmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8c2wub3N0YXBlbmtvQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFtFRkxdW1dLMl0gUmVncmVzc2lvbigxMzg0NjIpIFNvbWV0aW1lcyBnYXJiYWdlIGluIHNu
YXBzaG90cwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCShy
ZXZpc2lvbiAxMzg1MTQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDcsMjEgKzE0NywxMiBAQCBXZWJQcm9jZXNzOjpXZWJQ
cm9jZXNzKCkKICAgICAsIG1fbmV0d29ya0FjY2Vzc01hbmFnZXIoMCkKICNlbmRpZgogICAgICwg
bV90ZXh0Q2hlY2tlclN0YXRlKCkKLSAgICAsIG1fZ2VvbG9jYXRpb25NYW5hZ2VyKG5ldyBXZWJH
ZW9sb2NhdGlvbk1hbmFnZXIodGhpcykpCi0gICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2Vy
KG5ldyBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlcih0aGlzKSkKLSAgICAsIG1fcmVzb3VyY2VD
YWNoZU1hbmFnZXIobmV3IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyKHRoaXMpKQotICAgICwgbV9j
b29raWVNYW5hZ2VyKG5ldyBXZWJDb29raWVNYW5hZ2VyKHRoaXMpKQotICAgICwgbV9tZWRpYUNh
Y2hlTWFuYWdlcihuZXcgV2ViTWVkaWFDYWNoZU1hbmFnZXIodGhpcykpCi0gICAgLCBtX2F1dGhl
bnRpY2F0aW9uTWFuYWdlcihuZXcgQXV0aGVudGljYXRpb25NYW5hZ2VyKHRoaXMpKQogI2lmIEVO
QUJMRShCQVRURVJZX1NUQVRVUykKICAgICAsIG1fYmF0dGVyeU1hbmFnZXIodGhpcykKICNlbmRp
ZgogI2lmIEVOQUJMRShORVRXT1JLX0lORk8pCiAgICAgLCBtX25ldHdvcmtJbmZvTWFuYWdlcih0
aGlzKQogI2VuZGlmCi0jaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKLSAgICAsIG1fbm90aWZpY2F0aW9uTWFuYWdlcihuZXcgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcih0aGlzKSkKLSNlbmRpZgogICAgICwgbV9pY29uRGF0YWJhc2VQcm94eShu
ZXcgV2ViSWNvbkRhdGFiYXNlUHJveHkodGhpcykpCiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VT
UykKICAgICAsIG1fdXNlc05ldHdvcmtQcm9jZXNzKGZhbHNlKQpAQCAtMTkzLDkgKzE4NCwyMCBA
QCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAvLyBzbyB0aGF0IHBvcnRzIGhhdmUgYSBj
aGFuY2UgdG8gY3VzdG9taXplLCBhbmQgaWZkZWZzIGluIHRoaXMgZmlsZSBhcmUKICAgICAvLyBs
aW1pdGVkLgogICAgIGFkZFN1cHBsZW1lbnQ8V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcj4oKTsK
KworICAgIGFkZFN1cHBsZW1lbnQ8V2ViR2VvbG9jYXRpb25NYW5hZ2VyPigpOworICAgIGFkZFN1
cHBsZW1lbnQ8V2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXI+KCk7CisgICAgYWRkU3VwcGxlbWVu
dDxXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcj4oKTsKKyAgICBhZGRTdXBwbGVtZW50PFdlYkNvb2tp
ZU1hbmFnZXI+KCk7CisgICAgYWRkU3VwcGxlbWVudDxXZWJNZWRpYUNhY2hlTWFuYWdlcj4oKTsK
KyAgICBhZGRTdXBwbGVtZW50PEF1dGhlbnRpY2F0aW9uTWFuYWdlcj4oKTsKKyAgICAKICNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIGFkZFN1cHBsZW1lbnQ8V2ViRGF0YWJhc2VNYW5hZ2Vy
PigpOwogI2VuZGlmCisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lf
Tk9USUZJQ0FUSU9OUykKKyAgICBhZGRTdXBwbGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI+
KCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplKENvcmVJUEM6OkNv
bm5lY3Rpb246OklkZW50aWZpZXIgc2VydmVySWRlbnRpZmllciwgUnVuTG9vcCogcnVuTG9vcCkK
QEAgLTIzMSw3ICsyMzMsNyBAQCBDb3JlSVBDOjpDb25uZWN0aW9uKiBXZWJQcm9jZXNzOjpkb3du
bG9hCiAKIEF1dGhlbnRpY2F0aW9uTWFuYWdlciYgV2ViUHJvY2Vzczo6ZG93bmxvYWRzQXV0aGVu
dGljYXRpb25NYW5hZ2VyKCkKIHsKLSAgICByZXR1cm4gKm1fYXV0aGVudGljYXRpb25NYW5hZ2Vy
OworICAgIHJldHVybiAqc3VwcGxlbWVudDxBdXRoZW50aWNhdGlvbk1hbmFnZXI+KCk7CiB9CiAK
IHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRl
Y29kZXIpCkBAIC00MzMsMjYgKzQzNSw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGVzdHJveVByaXZh
dGVCcm93c2luZ1MKICNlbmRpZgogfQogCi1XZWJHZW9sb2NhdGlvbk1hbmFnZXImIFdlYlByb2Nl
c3M6Omdlb2xvY2F0aW9uTWFuYWdlcigpCi17Ci0gICAgcmV0dXJuICptX2dlb2xvY2F0aW9uTWFu
YWdlcjsKLX0KLQotV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXImIFdlYlByb2Nlc3M6OmFwcGxp
Y2F0aW9uQ2FjaGVNYW5hZ2VyKCkKLXsKLSAgICByZXR1cm4gKm1fYXBwbGljYXRpb25DYWNoZU1h
bmFnZXI7Ci19Ci0KLVdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyJiBXZWJQcm9jZXNzOjpyZXNvdXJj
ZUNhY2hlTWFuYWdlcigpCi17Ci0gICAgcmV0dXJuICptX3Jlc291cmNlQ2FjaGVNYW5hZ2VyOwot
fQotCi1XZWJDb29raWVNYW5hZ2VyJiBXZWJQcm9jZXNzOjpjb29raWVNYW5hZ2VyKCkKLXsKLSAg
ICByZXR1cm4gKm1fY29va2llTWFuYWdlcjsKLX0KLQogRG93bmxvYWRNYW5hZ2VyJiBXZWJQcm9j
ZXNzOjpkb3dubG9hZE1hbmFnZXIoKQogewogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCkBA
IC00NjMsMTggKzQ0NSw2IEBAIERvd25sb2FkTWFuYWdlciYgV2ViUHJvY2Vzczo6ZG93bmxvYWRN
YW4KICAgICByZXR1cm4gZG93bmxvYWRNYW5hZ2VyOwogfQogCi1BdXRoZW50aWNhdGlvbk1hbmFn
ZXImIFdlYlByb2Nlc3M6OmF1dGhlbnRpY2F0aW9uTWFuYWdlcigpCi17Ci0gICAgcmV0dXJuICpt
X2F1dGhlbnRpY2F0aW9uTWFuYWdlcjsKLX0KLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi1XZWJOb3RpZmljYXRpb25NYW5hZ2VyJiBX
ZWJQcm9jZXNzOjpub3RpZmljYXRpb25NYW5hZ2VyKCkKLXsKLSAgICByZXR1cm4gKm1fbm90aWZp
Y2F0aW9uTWFuYWdlcjsKLX0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQog
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyJiBXZWJQcm9jZXNzOjpwbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIoKQogewpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgJKHJldmlzaW9uIDEzODUxNCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsMjkgKzE4OCwyMSBAQCBwdWJsaWM6
CiAgICAgYm9vbCBzaG91bGRGb3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRpb24oKSBjb25zdCB7IHJl
dHVybiBtX3Nob3VsZEZvcmNlU2NyZWVuRm9udFN1YnN0aXR1dGlvbjsgfQogI2VuZGlmCiAgICAg
Ci0jaWYgUExBVEZPUk0oUVQpCi0gICAgUU5ldHdvcmtBY2Nlc3NNYW5hZ2VyKiBuZXR3b3JrQWNj
ZXNzTWFuYWdlcigpIHsgcmV0dXJuIG1fbmV0d29ya0FjY2Vzc01hbmFnZXI7IH0KLSNlbmRpZgog
CiAgICAgY29uc3QgVGV4dENoZWNrZXJTdGF0ZSYgdGV4dENoZWNrZXJTdGF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdGV4dENoZWNrZXJTdGF0ZTsgfQotCi0gICAgV2ViR2VvbG9jYXRpb25NYW5hZ2Vy
JiBnZW9sb2NhdGlvbk1hbmFnZXIoKTsKLSAgICBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlciYg
YXBwbGljYXRpb25DYWNoZU1hbmFnZXIoKTsKLSAgICBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlciYg
cmVzb3VyY2VDYWNoZU1hbmFnZXIoKTsKLSAgICBXZWJDb29raWVNYW5hZ2VyJiBjb29raWVNYW5h
Z2VyKCk7CiAgICAgRG93bmxvYWRNYW5hZ2VyJiBkb3dubG9hZE1hbmFnZXIoKTsKLSAgICBBdXRo
ZW50aWNhdGlvbk1hbmFnZXImIGF1dGhlbnRpY2F0aW9uTWFuYWdlcigpOwogCisjaWYgUExBVEZP
Uk0oUVQpCisgICAgUU5ldHdvcmtBY2Nlc3NNYW5hZ2VyKiBuZXR3b3JrQWNjZXNzTWFuYWdlcigp
IHsgcmV0dXJuIG1fbmV0d29ya0FjY2Vzc01hbmFnZXI7IH0KKyNlbmRpZgogI2lmIEVOQUJMRShC
QVRURVJZX1NUQVRVUykKICAgICBXZWJCYXR0ZXJ5TWFuYWdlciYgYmF0dGVyeU1hbmFnZXIoKSB7
IHJldHVybiBtX2JhdHRlcnlNYW5hZ2VyOyB9CiAjZW5kaWYKLQogI2lmIEVOQUJMRShORVRXT1JL
X0lORk8pCiAgICAgV2ViTmV0d29ya0luZm9NYW5hZ2VyJiBuZXR3b3JrSW5mb01hbmFnZXIoKSB7
IHJldHVybiBtX25ldHdvcmtJbmZvTWFuYWdlcjsgfQogI2VuZGlmCi0gICAgCi0jaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBXZWJO
b3RpZmljYXRpb25NYW5hZ2VyJiBub3RpZmljYXRpb25NYW5hZ2VyKCk7CisjaWYgVVNFKFNPVVAp
CisgICAgV2ViU291cFJlcXVlc3RNYW5hZ2VyJiBzb3VwUmVxdWVzdE1hbmFnZXIoKSB7IHJldHVy
biBtX3NvdXBSZXF1ZXN0TWFuYWdlcjsgfQogI2VuZGlmCiAKICAgICB2b2lkIGNsZWFyUmVzb3Vy
Y2VDYWNoZXMoUmVzb3VyY2VDYWNoZXNUb0NsZWFyID0gQWxsUmVzb3VyY2VDYWNoZXMpOwpAQCAt
MjIxLDEwICsyMTMsNiBAQCBwdWJsaWM6CiAKICAgICBFdmVudERpc3BhdGNoZXImIGV2ZW50RGlz
cGF0Y2hlcigpIHsgcmV0dXJuIG1fZXZlbnREaXNwYXRjaGVyOyB9CiAKLSNpZiBVU0UoU09VUCkK
LSAgICBXZWJTb3VwUmVxdWVzdE1hbmFnZXImIHNvdXBSZXF1ZXN0TWFuYWdlcigpIHsgcmV0dXJu
IG1fc291cFJlcXVlc3RNYW5hZ2VyOyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShORVRXT1JLX1BS
T0NFU1MpCiAgICAgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKiBuZXR3b3JrQ29ubmVjdGlvbigp
OwogICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uQ2xvc2VkKE5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbiopOwpAQCAtMzkwLDEyICszNzgsNiBAQCBwcml2YXRlOgogICAgIFdlYlByb2Nl
c3NTdXBwbGVtZW50TWFwIG1fc3VwcGxlbWVudHM7CiAKICAgICBUZXh0Q2hlY2tlclN0YXRlIG1f
dGV4dENoZWNrZXJTdGF0ZTsKLSAgICBXZWJHZW9sb2NhdGlvbk1hbmFnZXIqIG1fZ2VvbG9jYXRp
b25NYW5hZ2VyOwotICAgIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyKiBtX2FwcGxpY2F0aW9u
Q2FjaGVNYW5hZ2VyOwotICAgIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyKiBtX3Jlc291cmNlQ2Fj
aGVNYW5hZ2VyOwotICAgIFdlYkNvb2tpZU1hbmFnZXIqIG1fY29va2llTWFuYWdlcjsKLSAgICBX
ZWJNZWRpYUNhY2hlTWFuYWdlciogbV9tZWRpYUNhY2hlTWFuYWdlcjsKLSAgICBBdXRoZW50aWNh
dGlvbk1hbmFnZXIqIG1fYXV0aGVudGljYXRpb25NYW5hZ2VyOwogCiAjaWYgRU5BQkxFKEJBVFRF
UllfU1RBVFVTKQogICAgIFdlYkJhdHRlcnlNYW5hZ2VyIG1fYmF0dGVyeU1hbmFnZXI7CkBAIC00
MDMsOSArMzg1LDYgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQogICAgIFdl
Yk5ldHdvcmtJbmZvTWFuYWdlciBtX25ldHdvcmtJbmZvTWFuYWdlcjsKICNlbmRpZgotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAg
V2ViTm90aWZpY2F0aW9uTWFuYWdlciogbV9ub3RpZmljYXRpb25NYW5hZ2VyOwotI2VuZGlmCiAg
ICAgV2ViSWNvbkRhdGFiYXNlUHJveHkqIG1faWNvbkRhdGFiYXNlUHJveHk7CiAKICNpZiBFTkFC
TEUoTkVUV09SS19QUk9DRVNTKQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BcHBs
aWNhdGlvbkNhY2hlL1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2FjaGUvV2ViQXBwbGljYXRp
b25DYWNoZU1hbmFnZXIuY3BwCShyZXZpc2lvbiAxMzg1MTApCisrKyBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2FjaGUvV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCwxMiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NvbnN0IEF0b21pY1N0cmluZyYgV2ViQXBwbGlj
YXRpb25DYWNoZU1hbmFnZXI6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlciIs
IEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICByZXR1cm4gbmFtZTsK
K30KKwogV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXI6OldlYkFwcGxpY2F0aW9uQ2FjaGVNYW5h
Z2VyKENoaWxkUHJvY2VzcyogY2hpbGRQcm9jZXNzKQogICAgIDogbV9jaGlsZFByb2Nlc3MoY2hp
bGRQcm9jZXNzKQogewpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BcHBsaWNhdGlv
bkNhY2hlL1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlL1dlYkFwcGxpY2F0aW9uQ2FjaGVN
YW5hZ2VyLmgJKHJldmlzaW9uIDEzODUxMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
QXBwbGljYXRpb25DYWNoZS9XZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2Vy
X2gKICNkZWZpbmUgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJfaAogCi0jaW5jbHVkZSAiTWVz
c2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1N1cHBsZW1lbnQuaCIKICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IApAQCAtMzUsMTEgKzM1LDEzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgQ2hpbGRQcm9j
ZXNzOwogc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YTsKIAotY2xhc3MgV2ViQXBwbGljYXRpb25D
YWNoZU1hbmFnZXIgOiBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CitjbGFzcyBX
ZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIpOwog
cHVibGljOgogICAgIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyKENoaWxkUHJvY2VzcyopOwog
CisgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc3VwcGxlbWVudE5hbWUoKTsKKwogICAg
IHZvaWQgZGVsZXRlQWxsRW50cmllcygpOwogICAgIHZvaWQgc2V0QXBwQ2FjaGVNYXhpbXVtU2l6
ZSh1aW50NjRfdCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAJ
KHJldmlzaW9uIDEzODUxMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGlj
YXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsNiAr
NDcsMTIgQEAgc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQXV0aGVudGljYXRpb25DaAogICAgIHJl
dHVybiB1bmlxdWVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUlEKys7CiB9CiAKK2NvbnN0IEF0b21p
Y1N0cmluZyYgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiQXV0aGVudGljYXRpb25N
YW5hZ2VyIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOworICAgIHJldHVy
biBuYW1lOworfQorCiBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OkF1dGhlbnRpY2F0aW9uTWFuYWdl
cihDaGlsZFByb2Nlc3MqIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKIHsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRp
b25NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BdXRo
ZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaAkocmV2aXNpb24gMTM4NTEwKQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1h
bmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsOCBAQAogI2lmbmRlZiBBdXRoZW50
aWNhdGlvbk1hbmFnZXJfaAogI2RlZmluZSBBdXRoZW50aWNhdGlvbk1hbmFnZXJfaAogCi0jaW5j
bHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1N1cHBsZW1lbnQu
aCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDExICs0MiwxMyBAQCBjbGFzcyBEb3dubG9hZDsK
IGNsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgV2ViRnJhbWU7CiAKLWNsYXNz
IEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVy
IHsKK2NsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxl
bWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXV0aGVudGljYXRpb25NYW5hZ2VyKTsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBBdXRoZW50aWNhdGlvbk1hbmFnZXIoQ2hpbGRQcm9jZXNz
Kik7CiAKKyAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzdXBwbGVtZW50TmFtZSgpOwor
CiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV2ViRnJhbWUqLCBj
b25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogICAgIHZvaWQgZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvd25sb2FkKiwgY29uc3QgV2ViQ29yZTo6QXV0
aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLmNwcAkocmV2aXNpb24gMTM4
NTEwKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFn
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0MywxMiBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogc3RhdGljIFdlYkNvb2tpZU1hbmFnZXIqIHNoYXJlZENvb2tpZU1hbmFnZXI7CiAKK2Nv
bnN0IEF0b21pY1N0cmluZyYgV2ViQ29va2llTWFuYWdlcjo6c3VwcGxlbWVudE5hbWUoKQorewor
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoIldlYkNvb2tpZU1h
bmFnZXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJu
IG5hbWU7Cit9CisKIFdlYkNvb2tpZU1hbmFnZXI6OldlYkNvb2tpZU1hbmFnZXIoQ2hpbGRQcm9j
ZXNzKiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCiB7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLmgJ
KHJldmlzaW9uIDEzODUxMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9X
ZWJDb29raWVNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICNkZWZp
bmUgV2ViQ29va2llTWFuYWdlcl9oCiAKICNpbmNsdWRlICJIVFRQQ29va2llQWNjZXB0UG9saWN5
LmgiCi0jaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1N1
cHBsZW1lbnQuaCIKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDAsMTEgKzQwLDEzIEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3M7CiAKLWNsYXNzIFdlYkNvb2tpZU1h
bmFnZXIgIDogcHJpdmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgV2ViQ29v
a2llTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV2ViQ29va2llTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29va2llTWFu
YWdlcihDaGlsZFByb2Nlc3MqKTsKIAorICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHN1
cHBsZW1lbnROYW1lKCk7CisKICAgICB2b2lkIHNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRU
UENvb2tpZUFjY2VwdFBvbGljeSk7CiAjaWYgVVNFKFNPVVApCiAgICAgdm9pZCBzZXRDb29raWVQ
ZXJzaXN0ZW50U3RvcmFnZShjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCB1aW50MzJfdCBzdG9y
YWdlVHlwZSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dl
Ykdlb2xvY2F0aW9uTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAx
Mzg1MTApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xv
Y2F0aW9uTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDEyIEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorY29uc3QgQXRvbWlj
U3RyaW5nJiBXZWJHZW9sb2NhdGlvbk1hbmFnZXI6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJXZWJHZW9sb2NhdGlvbk1h
bmFnZXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJu
IG5hbWU7Cit9CisKIFdlYkdlb2xvY2F0aW9uTWFuYWdlcjo6V2ViR2VvbG9jYXRpb25NYW5hZ2Vy
KFdlYlByb2Nlc3MqIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKIHsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5h
Z2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlv
bi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIuaAkocmV2aXNpb24gMTM4NTEwKQorKysgU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMjYsOCArMjYsOCBAQAogI2lmbmRlZiBXZWJHZW9sb2NhdGlvbk1hbmFn
ZXJfaAogI2RlZmluZSBXZWJHZW9sb2NhdGlvbk1hbmFnZXJfaAogCi0jaW5jbHVkZSAiTWVzc2Fn
ZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiV2ViR2VvbG9jYXRpb25Qb3NpdGlvbi5oIgorI2luY2x1
ZGUgIldlYlByb2Nlc3NTdXBwbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC00Miwx
MiArNDIsMTQgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJQcm9jZXNzOwogY2xhc3Mg
V2ViUGFnZTsKIAotY2xhc3MgV2ViR2VvbG9jYXRpb25NYW5hZ2VyIDogcHJpdmF0ZSBDb3JlSVBD
OjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgV2ViR2VvbG9jYXRpb25NYW5hZ2VyIDogcHVibGlj
IFdlYlByb2Nlc3NTdXBwbGVtZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJHZW9s
b2NhdGlvbk1hbmFnZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFdlYkdlb2xvY2F0aW9uTWFu
YWdlcihXZWJQcm9jZXNzKik7CiAgICAgfldlYkdlb2xvY2F0aW9uTWFuYWdlcigpOwogCisgICAg
c3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc3VwcGxlbWVudE5hbWUoKTsKKwogICAgIHZvaWQg
cmVnaXN0ZXJXZWJQYWdlKFdlYlBhZ2UqKTsKICAgICB2b2lkIHVucmVnaXN0ZXJXZWJQYWdlKFdl
YlBhZ2UqKTsKIApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHJldmlzaW9uIDEzODUxNCkK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBJbmplY3RlZEJ1
bmRsZTo6c2V0U2hvdWxkVHJhY2tWaXNpdAogCiB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRBbHdh
eXNBY2NlcHRDb29raWVzKGJvb2wgYWNjZXB0KQogewotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgp
LmNvb2tpZU1hbmFnZXIoKS5zZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KGFjY2VwdCA/IEhUVFBD
b29raWVBY2NlcHRQb2xpY3lBbHdheXMgOiBIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21N
YWluRG9jdW1lbnREb21haW4pOworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLnN1cHBsZW1lbnQ8
V2ViQ29va2llTWFuYWdlcj4oKS0+c2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShhY2NlcHQgPyBI
VFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzIDogSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlG
cm9tTWFpbkRvY3VtZW50RG9tYWluKTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6cmVtb3Zl
QWxsVmlzaXRlZExpbmtzKCkKQEAgLTM2NCw3ICszNjQsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxl
OjpzZXREYXRhYmFzZVF1b3RhKHVpCiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmNsZWFyQXBwbGlj
YXRpb25DYWNoZSgpCiB7Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuYXBwbGljYXRpb25DYWNo
ZU1hbmFnZXIoKS5kZWxldGVBbGxFbnRyaWVzKCk7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCku
c3VwcGxlbWVudDxXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlcj4oKS0+ZGVsZXRlQWxsRW50cmll
cygpOwogfQogCiB2b2lkIEluamVjdGVkQnVuZGxlOjpjbGVhckFwcGxpY2F0aW9uQ2FjaGVGb3JP
cmlnaW4oY29uc3QgU3RyaW5nJiBvcmlnaW5TdHJpbmcpCkBAIC0zNzUsNyArMzc1LDcgQEAgdm9p
ZCBJbmplY3RlZEJ1bmRsZTo6Y2xlYXJBcHBsaWNhdGlvbkNhYwogCiB2b2lkIEluamVjdGVkQnVu
ZGxlOjpzZXRBcHBDYWNoZU1heGltdW1TaXplKHVpbnQ2NF90IHNpemUpCiB7Ci0gICAgV2ViUHJv
Y2Vzczo6c2hhcmVkKCkuYXBwbGljYXRpb25DYWNoZU1hbmFnZXIoKS5zZXRBcHBDYWNoZU1heGlt
dW1TaXplKHNpemUpOworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLnN1cHBsZW1lbnQ8V2ViQXBw
bGljYXRpb25DYWNoZU1hbmFnZXI+KCktPnNldEFwcENhY2hlTWF4aW11bVNpemUoc2l6ZSk7CiB9
CiAKIHVpbnQ2NF90IEluamVjdGVkQnVuZGxlOjphcHBDYWNoZVVzYWdlRm9yT3JpZ2luKGNvbnN0
IFN0cmluZyYgb3JpZ2luU3RyaW5nKQpAQCAtNjM1LDcgKzYzNSw3IEBAIHVpbnQ2NF90IEluamVj
dGVkQnVuZGxlOjp3ZWJOb3RpZmljYXRpb24KICAgICBXZWJDb3JlOjpOb3RpZmljYXRpb24qIG5v
dGlmaWNhdGlvbiA9IHRvTm90aWZpY2F0aW9uKHRvSlModG9KUyhqc0NvbnRleHQpLCBqc05vdGlm
aWNhdGlvbikpOwogICAgIGlmICghbm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm4gMDsKLSAg
ICByZXR1cm4gV2ViUHJvY2Vzczo6c2hhcmVkKCkubm90aWZpY2F0aW9uTWFuYWdlcigpLm5vdGlm
aWNhdGlvbklERm9yVGVzdGluZyhub3RpZmljYXRpb24pOworICAgIHJldHVybiBXZWJQcm9jZXNz
OjpzaGFyZWQoKS5zdXBwbGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI+KCktPm5vdGlmaWNh
dGlvbklERm9yVGVzdGluZyhub3RpZmljYXRpb24pOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0o
anNDb250ZXh0KTsKICAgICBVTlVTRURfUEFSQU0oanNOb3RpZmljYXRpb24pOwpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2Vi
TWVkaWFDYWNoZU1hbmFnZXIuY3BwCShyZXZpc2lvbiAxMzg1MTApCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNSw2ICszNSwxMiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKK2NvbnN0IEF0b21pY1N0cmluZyYgV2ViTWVkaWFDYWNoZU1hbmFn
ZXI6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0
cmluZywgbmFtZSwgKCJXZWJNZWRpYUNhY2hlTWFuYWdlciIsIEF0b21pY1N0cmluZzo6Q29uc3Ry
dWN0RnJvbUxpdGVyYWwpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKwogV2ViTWVkaWFDYWNoZU1h
bmFnZXI6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyKFdlYlByb2Nlc3MqIHByb2Nlc3MpCiAgICAgOiBt
X3Byb2Nlc3MocHJvY2VzcykKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVk
aWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5oCShyZXZpc2lv
biAxMzg1MTApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVk
aWFDYWNoZU1hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRl
ZiBXZWJNZWRpYUNhY2hlTWFuYWdlcl9oCiAjZGVmaW5lIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyX2gK
IAotI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NTdXBw
bGVtZW50LmgiCiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTM1LDExICszNSwxMyBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUHJvY2VzczsKIAotY2xhc3MgV2ViTWVkaWFDYWNoZU1h
bmFnZXIgOiBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CitjbGFzcyBXZWJNZWRp
YUNhY2hlTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2ViTWVkaWFDYWNoZU1hbmFnZXIpOwogcHVibGljOgogICAgIGV4cGxp
Y2l0IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyKFdlYlByb2Nlc3MqKTsKIAorICAgIHN0YXRpYyBjb25z
dCBBdG9taWNTdHJpbmcmIHN1cHBsZW1lbnROYW1lKCk7CisKIHByaXZhdGU6CiAgICAgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlE
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogICAgIHZvaWQgZGlkUmVjZWl2
ZVdlYk1lZGlhQ2FjaGVNYW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQ
Qzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAJKHJl
dmlzaW9uIDEzODUxMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjYsNyArMTI2LDcgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIE5vdGlm
aWNhdAogICAgIGlmICghbV9wYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLT5ub3RpZmljYXRp
b25zRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uRGVuaWVkOwogICAgIAotICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaGFyZWQoKS5ub3RpZmlj
YXRpb25NYW5hZ2VyKCkucG9saWN5Rm9yT3JpZ2luKHNlY3VyaXR5T3JpZ2luKTsKKyAgICByZXR1
cm4gV2ViUHJvY2Vzczo6c2hhcmVkKCkuc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
PigpLT5wb2xpY3lGb3JPcmlnaW4oc2VjdXJpdHlPcmlnaW4pOwogI2Vsc2UKICAgICBVTlVTRURf
UEFSQU0oc2VjdXJpdHlPcmlnaW4pOwogICAgIHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6OlBl
cm1pc3Npb25EZW5pZWQ7CkBAIC0xMzYsNyArMTM2LDcgQEAgTm90aWZpY2F0aW9uQ2xpZW50OjpQ
ZXJtaXNzaW9uIE5vdGlmaWNhdAogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXI6OnNldFBlcm1pc3Npb25MZXZlbEZvclRlc3RpbmcoY29uc3QgU3RyaW5nJiBvcmlnaW5T
dHJpbmcsIGJvb2wgYWxsb3dlZCkKIHsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5B
QkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLm5vdGlm
aWNhdGlvbk1hbmFnZXIoKS5kaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbihvcmlnaW5TdHJp
bmcsIGFsbG93ZWQpOworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLnN1cHBsZW1lbnQ8V2ViTm90
aWZpY2F0aW9uTWFuYWdlcj4oKS0+ZGlkVXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24ob3JpZ2lu
U3RyaW5nLCBhbGxvd2VkKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG9yaWdpblN0cmluZyk7
CiAgICAgVU5VU0VEX1BBUkFNKGFsbG93ZWQpOwpAQCAtMTQ2LDcgKzE0Niw3IEBAIHZvaWQgTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2UKIHZvaWQgTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyOjpyZW1vdmVBbGxQZXJtaXNzaW9uc0ZvclRlc3RpbmcoKQogewog
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkubm90aWZpY2F0aW9uTWFuYWdlcigpLnJlbW92ZUFs
bFBlcm1pc3Npb25zRm9yVGVzdGluZygpOworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLnN1cHBs
ZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlcj4oKS0+cmVtb3ZlQWxsUGVybWlzc2lvbnNGb3JU
ZXN0aW5nKCk7CiAjZW5kaWYKIH0KIApAQCAtMTU5LDcgKzE1OSw3IEBAIHZvaWQgTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2UKICAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW4+IG9yaWdpbiA9IG1faWRUb09yaWdpbk1hcC50YWtlKHJlcXVlc3RJRCk7CiAgICAgbV9v
cmlnaW5Ub0lETWFwLnJlbW92ZShvcmlnaW4pOwogCi0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCku
bm90aWZpY2F0aW9uTWFuYWdlcigpLmRpZFVwZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKG9yaWdp
bi0+dG9TdHJpbmcoKSwgYWxsb3dlZCk7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuc3VwcGxl
bWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2VyPigpLT5kaWRVcGRhdGVOb3RpZmljYXRpb25EZWNp
c2lvbihvcmlnaW4tPnRvU3RyaW5nKCksIGFsbG93ZWQpOwogCiAjaWYgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQogICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IHZvaWRDYWxsYmFjayA9IG1f
aWRUb1ZvaWRDYWxsYmFja01hcC50YWtlKHJlcXVlc3RJRCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAxMzg1MTApCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25N
YW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHlN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAi
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1l
bnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGFnZS5oPgpAQCAtNTUsNiArNTYsMTIgQEAgc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlTm90
aWZpY2F0aW9uSUQoKQogfQogI2VuZGlmCiAKK2NvbnN0IEF0b21pY1N0cmluZyYgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6c3VwcGxlbWVudE5hbWUoKQoreworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBuYW1lLCAoIldlYk5vdGlmaWNhdGlvbk1hbmFnZXIiLCBBdG9taWNT
dHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKIFdl
Yk5vdGlmaWNhdGlvbk1hbmFnZXI6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXIoV2ViUHJvY2Vzcyog
cHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogewpAQCAtNzIsMTAgKzc5LDEwIEBA
IHZvaWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6ZGlkUmVjZWl2ZU0KICAgICBkaWRSZWNlaXZl
V2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNv
ZGVyKTsKIH0KIAotdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjppbml0aWFsaXplKGNvbnN0
IEhhc2hNYXA8U3RyaW5nLCBib29sPiYgcGVybWlzc2lvbnMpCit2b2lkIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXI6OmluaXRpYWxpemUoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKIHsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQotICAgIG1fcGVybWlzc2lvbnNNYXAgPSBwZXJtaXNzaW9uczsKKyAg
ICBtX3Blcm1pc3Npb25zTWFwID0gcGFyYW1ldGVycy5ub3RpZmljYXRpb25QZXJtaXNzaW9uczsK
ICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHBlcm1pc3Npb25zKTsKICNlbmRpZgpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFn
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCShyZXZpc2lvbiAxMzg1MTApCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXJfaAogI2RlZmluZSBXZWJOb3RpZmljYXRpb25NYW5hZ2VyX2gKIAotI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NTdXBwbGVtZW50LmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25DbGllbnQuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNDQsMTMgKzQ0LDEzIEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViUGFnZTsKIGNsYXNzIFdlYlByb2Nlc3M7CiAK
LWNsYXNzIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIgOiBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciB7CitjbGFzcyBXZWJOb3RpZmljYXRpb25NYW5hZ2VyIDogcHVibGljIFdlYlByb2Nl
c3NTdXBwbGVtZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJOb3RpZmljYXRpb25N
YW5hZ2VyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyKFdl
YlByb2Nlc3MqKTsKICAgICB+V2ViTm90aWZpY2F0aW9uTWFuYWdlcigpOwogCi0gICAgdm9pZCBp
bml0aWFsaXplKGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBib29sPiYgcGVybWlzc2lvbnMpOworICAg
IHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHN1cHBsZW1lbnROYW1lKCk7CiAgICAgCiAgICAg
Ym9vbCBzaG93KFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiosIFdlYlBhZ2UqKTsKICAgICB2b2lkIGNh
bmNlbChXZWJDb3JlOjpOb3RpZmljYXRpb24qLCBXZWJQYWdlKik7CkBAIC02Nyw4ICs2NywxMSBA
QCBwdWJsaWM6CiAgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSURGb3JUZXN0aW5nKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbiopOwogCiBwcml2YXRlOgorICAgIC8vIFdlYlByb2Nlc3NTdXBwbGVtZW50
CisgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemUoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycyYpIE9WRVJSSURFOworCiAgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCi0g
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6
TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6
TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCiAgICAgLy8g
SW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwCiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3Nh
Z2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVz
c2FnZURlY29kZXImKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VD
YWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmNw
cAkocmV2aXNpb24gMTM4NTEwKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJj
ZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAs
NiArNDAsMTIgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCitjb25zdCBBdG9taWNTdHJpbmcmIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpzdXBwbGVt
ZW50TmFtZSgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUs
ICgiV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21M
aXRlcmFsKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2Vy
OjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcihXZWJQcm9jZXNzKiBwcm9jZXNzKQogICAgIDogbV9w
cm9jZXNzKHByb2Nlc3MpCiB7CkBAIC01MSw3ICs1Nyw2IEBAIHZvaWQgV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXI6OmRpZFJlY2VpdmUKICAgICBkaWRSZWNlaXZlV2ViUmVzb3VyY2VDYWNoZU1hbmFn
ZXJNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7CiB9CiAKLQogdm9pZCBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6Z2V0Q2FjaGVPcmlnaW5zKHVpbnQ2NF90IGNhbGxiYWNr
SUQpIGNvbnN0CiB7CiAgICAgQ2hpbGRQcm9jZXNzOjpMb2NhbFRlcm1pbmF0aW9uRGlzYWJsZXIg
dGVybWluYXRpb25EaXNhYmxlcigqbV9wcm9jZXNzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJj
ZUNhY2hlTWFuYWdlci5oCShyZXZpc2lvbiAxMzg1MTApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1Jlc291cmNlQ2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMjYsOCArMjYsOCBAQAogI2lmbmRlZiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcl9o
CiAjZGVmaW5lIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyX2gKIAotI2luY2x1ZGUgIk1lc3NhZ2VS
ZWNlaXZlci5oIgogI2luY2x1ZGUgIlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgorI2luY2x1ZGUg
IldlYlByb2Nlc3NTdXBwbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgpAQCAtMzcsMTEgKzM3LDEzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViUHJvY2Vz
czsKIHN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiAKLWNsYXNzIFdlYlJlc291cmNlQ2FjaGVN
YW5hZ2VyIDogcHJpdmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXIgOiBwdWJsaWMgV2ViUHJvY2Vzc1N1cHBsZW1lbnQgewogICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyKTsKIHB1YmxpYzoKICAg
ICBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcihXZWJQcm9jZXNzKik7CiAKKyAgICBzdGF0aWMgY29u
c3QgQXRvbWljU3RyaW5nJiBzdXBwbGVtZW50TmFtZSgpOworCiBwcml2YXRlOgogICAgIC8vIENv
cmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQ
Qzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCShyZXZpc2lvbiAx
Mzg1MTApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjExLDcgKzIxMSw3IEBAIHZv
aWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkUmUKICAgICBpZiAoIXdlYlBhZ2Up
CiAgICAgICAgIHJldHVybjsKIAotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmF1dGhlbnRpY2F0
aW9uTWFuYWdlcigpLmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShtX2ZyYW1lLCBj
aGFsbGVuZ2UpOworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLnN1cHBsZW1lbnQ8QXV0aGVudGlj
YXRpb25NYW5hZ2VyPigpLT5kaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UobV9mcmFt
ZSwgY2hhbGxlbmdlKTsKIH0KIAogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hE
aWRDYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVk
IGxvbmcgLyppZGVudGlmaWVyKi8sIGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikgICAg
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xv
Y2F0aW9uQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkdlb2xvY2F0aW9uQ2xpZW50LmNwcAkocmV2aXNpb24gMTM4NTEw
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHZW9sb2Nh
dGlvbkNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDE4ICs0NCwxOCBAQCBXZWJHZW9s
b2NhdGlvbkNsaWVudDo6fldlYkdlb2xvY2F0aW9uQ2xpCiAKIHZvaWQgV2ViR2VvbG9jYXRpb25D
bGllbnQ6Omdlb2xvY2F0aW9uRGVzdHJveWVkKCkKIHsKLSAgICBXZWJQcm9jZXNzOjpzaGFyZWQo
KS5nZW9sb2NhdGlvbk1hbmFnZXIoKS51bnJlZ2lzdGVyV2ViUGFnZShtX3BhZ2UpOworICAgIFdl
YlByb2Nlc3M6OnNoYXJlZCgpLnN1cHBsZW1lbnQ8V2ViR2VvbG9jYXRpb25NYW5hZ2VyPigpLT51
bnJlZ2lzdGVyV2ViUGFnZShtX3BhZ2UpOwogICAgIGRlbGV0ZSB0aGlzOwogfQogCiB2b2lkIFdl
Ykdlb2xvY2F0aW9uQ2xpZW50OjpzdGFydFVwZGF0aW5nKCkKIHsKLSAgICBXZWJQcm9jZXNzOjpz
aGFyZWQoKS5nZW9sb2NhdGlvbk1hbmFnZXIoKS5yZWdpc3RlcldlYlBhZ2UobV9wYWdlKTsKKyAg
ICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5zdXBwbGVtZW50PFdlYkdlb2xvY2F0aW9uTWFuYWdlcj4o
KS0+cmVnaXN0ZXJXZWJQYWdlKG1fcGFnZSk7CiB9CiAKIHZvaWQgV2ViR2VvbG9jYXRpb25DbGll
bnQ6OnN0b3BVcGRhdGluZygpCiB7Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuZ2VvbG9jYXRp
b25NYW5hZ2VyKCkudW5yZWdpc3RlcldlYlBhZ2UobV9wYWdlKTsKKyAgICBXZWJQcm9jZXNzOjpz
aGFyZWQoKS5zdXBwbGVtZW50PFdlYkdlb2xvY2F0aW9uTWFuYWdlcj4oKS0+dW5yZWdpc3Rlcldl
YlBhZ2UobV9wYWdlKTsKIH0KIAogdm9pZCBXZWJHZW9sb2NhdGlvbkNsaWVudDo6c2V0RW5hYmxl
SGlnaEFjY3VyYWN5KGJvb2wpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOb3RpZmljYXRpb25DbGllbnQu
Y3BwCShyZXZpc2lvbiAxMzg1MTApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5
LDIyICs0OSwyMiBAQCBXZWJOb3RpZmljYXRpb25DbGllbnQ6On5XZWJOb3RpZmljYXRpb25DCiAK
IGJvb2wgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpzaG93KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0
aW9uKQogewotICAgIHJldHVybiBXZWJQcm9jZXNzOjpzaGFyZWQoKS5ub3RpZmljYXRpb25NYW5h
Z2VyKCkuc2hvdyhub3RpZmljYXRpb24sIG1fcGFnZSk7CisgICAgcmV0dXJuIFdlYlByb2Nlc3M6
OnNoYXJlZCgpLnN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlcj4oKS0+c2hvdyhub3Rp
ZmljYXRpb24sIG1fcGFnZSk7CiB9CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50OjpjYW5j
ZWwoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiB7Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVk
KCkubm90aWZpY2F0aW9uTWFuYWdlcigpLmNhbmNlbChub3RpZmljYXRpb24sIG1fcGFnZSk7Cisg
ICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuc3VwcGxlbWVudDxXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
PigpLT5jYW5jZWwobm90aWZpY2F0aW9uLCBtX3BhZ2UpOwogfQogCiB2b2lkIFdlYk5vdGlmaWNh
dGlvbkNsaWVudDo6Y2xlYXJOb3RpZmljYXRpb25zKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCiB7Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkubm90aWZpY2F0aW9uTWFuYWdlcigp
LmNsZWFyTm90aWZpY2F0aW9ucyhjb250ZXh0LCBtX3BhZ2UpOworICAgIFdlYlByb2Nlc3M6OnNo
YXJlZCgpLnN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlcj4oKS0+Y2xlYXJOb3RpZmlj
YXRpb25zKGNvbnRleHQsIG1fcGFnZSk7CiB9CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uQ2xpZW50
Ojpub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24p
CiB7Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkubm90aWZpY2F0aW9uTWFuYWdlcigpLmRpZERl
c3Ryb3lOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLCBtX3BhZ2UpOworICAgIFdlYlByb2Nlc3M6
OnNoYXJlZCgpLnN1cHBsZW1lbnQ8V2ViTm90aWZpY2F0aW9uTWFuYWdlcj4oKS0+ZGlkRGVzdHJv
eU5vdGlmaWNhdGlvbihub3RpZmljYXRpb24sIG1fcGFnZSk7CiB9CiAKIHZvaWQgV2ViTm90aWZp
Y2F0aW9uQ2xpZW50Ojpub3RpZmljYXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbQkocmV2aXNp
b24gMTM4NTEwKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01h
Yy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDgsMTAgKzQ4LDYgQEAKICNpbXBvcnQgPG9iamMvcnVu
dGltZS5oPgogI2ltcG9ydCA8c3RkaW8uaD4KIAotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0jaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9u
TWFuYWdlci5oIgotI2VuZGlmCi0KICNpZiBFTkFCTEUoV0VCX1BST0NFU1NfU0FOREJPWCkKICNp
bXBvcnQgPHB3ZC5oPgogI2ltcG9ydCA8c3RkbGliLmg+CkBAIC0yOTMsMTAgKzI4OSw2IEBAIHZv
aWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKIAogICAgIG1fY29tcG9zaXRp
bmdSZW5kZXJTZXJ2ZXJQb3J0ID0gcGFyYW1ldGVycy5hY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9y
dC5wb3J0KCk7CiAKLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9O
T1RJRklDQVRJT05TKQotICAgIG1fbm90aWZpY2F0aW9uTWFuYWdlci0+aW5pdGlhbGl6ZShwYXJh
bWV0ZXJzLm5vdGlmaWNhdGlvblBlcm1pc3Npb25zKTsKLSNlbmRpZgotCiAgICAgbV9wcmVzZW50
ZXJBcHBsaWNhdGlvblBpZCA9IHBhcmFtZXRlcnMucHJlc2VudGVyQXBwbGljYXRpb25QaWQ7CiAK
ICAgICAvLyByZGFyOi8vOTExODYzOSBhY2Nlc3NpYmlsaXR5Rm9jdXNlZFVJRWxlbWVudCBpbiBO
U0FwcGxpY2F0aW9uIGRlZmF1bHRzIHRvIHVzZSB0aGUga2V5V2luZG93LiBTaW5jZSB0aGVyZSdz
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNz
U291cC5jcHAJKHJldmlzaW9uIDEzODUxMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
c291cC9XZWJQcm9jZXNzU291cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MSwxMCArMTcxLDEw
IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKICAgICAgICAgbV9z
b3VwUmVxdWVzdE1hbmFnZXIucmVnaXN0ZXJVUklTY2hlbWUocGFyYW1ldGVycy51cmxTY2hlbWVz
UmVnaXN0ZXJlZFtpXSk7CiAKICAgICBpZiAoIXBhcmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0
b3JhZ2VQYXRoLmlzRW1wdHkoKSkgewotICAgICAgICBjb29raWVNYW5hZ2VyKCkuc2V0Q29va2ll
UGVyc2lzdGVudFN0b3JhZ2UocGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGgs
CisgICAgICAgIHN1cHBsZW1lbnQ8V2ViQ29va2llTWFuYWdlcj4oKS0+c2V0Q29va2llUGVyc2lz
dGVudFN0b3JhZ2UocGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGgsCiAgICAg
ICAgICAgICBwYXJhbWV0ZXJzLmNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSk7CiAgICAgfQot
ICAgIGNvb2tpZU1hbmFnZXIoKS5zZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHBhcmFtZXRlcnMu
Y29va2llQWNjZXB0UG9saWN5KTsKKyAgICBzdXBwbGVtZW50PFdlYkNvb2tpZU1hbmFnZXI+KCkt
PnNldEhUVFBDb29raWVBY2NlcHRQb2xpY3kocGFyYW1ldGVycy5jb29raWVBY2NlcHRQb2xpY3kp
OwogCiAgICAgc2V0SWdub3JlVExTRXJyb3JzKHBhcmFtZXRlcnMuaWdub3JlVExTRXJyb3JzKTsK
IApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1dpbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1dp
bi5jcHAJKHJldmlzaW9uIDEzODUxMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvd2lu
L1dlYlByb2Nlc3NXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDEsNyArMTQxLDcgQEAgdm9p
ZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcgogICAgIFJlc291cmNlSGFuZGxl
OjpzZXREZWZhdWx0U3RvcmFnZVNlc3Npb24oZGVmYXVsdFN0b3JhZ2VTZXNzaW9uLmdldCgpKTsK
ICNlbmRpZgogCi0gICAgY29va2llTWFuYWdlcigpLnNldEhUVFBDb29raWVBY2NlcHRQb2xpY3ko
cGFyYW1ldGVycy5pbml0aWFsSFRUUENvb2tpZUFjY2VwdFBvbGljeSk7CisgICAgc3VwcGxlbWVu
dDxXZWJDb29raWVNYW5hZ2VyPigpLT5zZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHBhcmFtZXRl
cnMuaW5pdGlhbEhUVFBDb29raWVBY2NlcHRQb2xpY3kpOwogCiAgICAgLy8gQnkgdXNpbmcgdGhl
IGRlZmF1bHQgc3RvcmFnZSBzZXNzaW9uIHRoYXQgY2FtZSBmcm9tIHRoZSB1aSBwcm9jZXNzLCB0
aGUgd2ViIHByb2Nlc3MKICAgICAvLyBhdXRvbWF0aWNhbGx5IHVzZXMgdGhlIHNhbWUgdGhlIFVS
TCBDYWNoZSBhcyB1aSBwcm9jZXNzLgo=
</data>
<flag name="review"
          id="198242"
          type_id="1"
          status="+"
          setter="mitz"
    />
    <flag name="commit-queue"
          id="198243"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>