<?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>227581</bug_id>
          
          <creation_ts>2021-07-01 05:39:24 -0700</creation_ts>
          <short_desc>[Model] Restrict IPC calls to ARKit SPI availability and runtime flag</short_desc>
          <delta_ts>2021-07-01 12:38:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1774079</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-07-01 05:39:24 -0700</bug_when>
    <thetext>[Model] Restrict IPC calls to ARKit SPI availability and runtime flag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774081</commentid>
    <comment_count>1</comment_count>
      <attachid>432682</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-07-01 05:42:28 -0700</bug_when>
    <thetext>Created attachment 432682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774096</commentid>
    <comment_count>2</comment_count>
      <attachid>432686</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-07-01 06:52:39 -0700</bug_when>
    <thetext>Created attachment 432686
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774210</commentid>
    <comment_count>3</comment_count>
      <attachid>432686</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-01 12:31:09 -0700</bug_when>
    <thetext>Comment on attachment 432686
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:59
&gt; +    if (!m_webPageProxy-&gt;preferences().modelElementEnabled())
&gt; +        return;

These could be stronger (like MESSAGE_CHECKs, killing the WP if something unexpected is happening), but this is certainly better than nothing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774214</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-07-01 12:37:27 -0700</bug_when>
    <thetext>Committed r279477 (239330@main): &lt;https://commits.webkit.org/239330@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774215</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-01 12:38:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/80040015&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432682</attachid>
            <date>2021-07-01 05:42:28 -0700</date>
            <delta_ts>2021-07-01 06:57:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227581-20210701144226.patch</filename>
            <type>text/plain</type>
            <size>30539</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDYwNzk4MzAxMWYwYzE1Y2Q3ZDg0NjJk
ODUxODc3N2NiMjg2MTIyOTEuLmQwZGM4NDhjNjdkNmJhNTAyZjg3YTc0YjE1ZDY1YmQzYTI1YTMw
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDctMDEgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBSZXN0cmljdCBJUEMgY2FsbHMgdG8g
QVJLaXQgU1BJIGF2YWlsYWJpbGl0eSBhbmQgcnVudGltZSBmbGFnCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc1ODEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWZpbmUgYSBuZXcgY29tcGlsZS10aW1l
IGZsYWcgd2hlbiBlaXRoZXIgb2YgdGhlIGlPUyBvciBtYWNPUyBBUktpdCBTUElzIGFyZSBhdmFp
bGFibGUuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisKIDIwMjEtMDYtMzAgIEFu
dG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW01vZGVsXSBbbWFj
T1NdIEFkZCBzdXBwb3J0IGZvciByZW5kZXJpbmcgbW9kZWwgcmVzb3VyY2VzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggODc5YmI2ZjhkMTQ3ZDRlMWY2ZWUwNjg3NTdiZjRkZTNjOTllNmVkOC4uZDljZjVhYWNiODEz
OWZjMTc2Y2U0OTBkZTYzODFjMTYxMGZiMGFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBA
CisyMDIxLTA3LTAxICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAg
ICAgIFtNb2RlbF0gUmVzdHJpY3QgSVBDIGNhbGxzIHRvIEFSS2l0IFNQSSBhdmFpbGFiaWxpdHkg
YW5kIHJ1bnRpbWUgZmxhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI3NTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgR3VhcmQgYWxsIElQQyBjYWxscyByZWxhdGVkIHRvIDxtb2RlbD4gYnkgdGhlIG1v
c3QgYXBwcm9wcmlhdGUgcGxhdGZvcm0tc3BlY2lmaWMgZmxhZworICAgICAgICBhbmQgYWxzbyBl
bnN1cmUgdGhhdCB0aG9zZSBjYWxscyBkb24ndCBkbyBhbnl0aGluZyB1bmxlc3MgdGhlIHJ1bnRp
bWUgZmxhZyBpcyBhbHNvCisgICAgICAgIGVuYWJsZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL21v
ZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVs
ZW1lbnQvSFRNTE1vZGVsRWxlbWVudENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1v
ZGVsRWxlbWVudDo6aW5saW5lUHJldmlld0RpZE9idGFpbkNvbnRleHRJZCk6CisgICAgICAgICog
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNs
aWVudDo6bW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyBjb25zdCk6CisgICAgICAgICogbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisKIDIw
MjEtMDYtMzAgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAg
UENNOiBDaGFuZ2UgaW1wb3J0IGZyb20gQ3J5cHRvS2l0Q0JyaWRnaW5nIHRvIENyeXB0b0tpdFBy
aXZhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggMWQxZmFmNzk4YzE1MTY4ZTliOTAwZTNlNzMyODU3OWY3MDQwZTA2
OC4uY2NmNmViNTE4YjNkYzczMWZlZjA0N2RmYjAyZDRhYTIyNDkyMTljNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw0NiBAQAorMjAyMS0wNy0wMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0
Lm9yZz4KKworICAgICAgICBbTW9kZWxdIFJlc3RyaWN0IElQQyBjYWxscyB0byBBUktpdCBTUEkg
YXZhaWxhYmlsaXR5IGFuZCBydW50aW1lIGZsYWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzU4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEd1YXJkIGFsbCBJUEMgY2FsbHMgcmVsYXRlZCB0byA8bW9k
ZWw+IGJ5IHRoZSBtb3N0IGFwcHJvcHJpYXRlIHBsYXRmb3JtLXNwZWNpZmljIGZsYWcKKyAgICAg
ICAgYW5kIGFsc28gZW5zdXJlIHRoYXQgdGhvc2UgY2FsbHMgZG9uJ3QgZG8gYW55dGhpbmcgdW5s
ZXNzIHRoZSBydW50aW1lIGZsYWcgaXMgYWxzbworICAgICAgICBlbmFibGVkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbToKKyAgICAg
ICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6dGFrZU1vZGVsRWxlbWVudEZ1bGxz
Y3JlZW4pOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjptb2RlbEVs
ZW1lbnREaWRDcmVhdGVQcmV2aWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvTW9kZWxFbGVtZW50
Q29udHJvbGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xs
ZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRp
ZEF0dGFjaFRvUnVubmluZ1Byb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OnJlc2V0U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnRha2VNb2RlbEVs
ZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojptb2RlbEVs
ZW1lbnREaWRDcmVhdGVQcmV2aWV3KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpt
b2RlbEVsZW1lbnRQcmV2aWV3RGlkT2J0YWluQ29udGV4dElkKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6d2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3Jl
Q29jb2EubW06CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpyZXNvbHZlRGlyZWN0
b3JpZXNJZk5lY2Vzc2FyeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbjo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24pOgorICAgICAg
ICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y29weSBjb25zdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6Om1vZGVsRWxlbWVudERp
ZENyZWF0ZVByZXZpZXcgY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjptb2RlbEVsZW1lbnRQcmV2aWV3RGlk
T2J0YWluQ29udGV4dElkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAy
MDIxLTA2LTMwICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFtNb2RlbF0gW21hY09TXSBBZGQgc3VwcG9ydCBmb3IgcmVuZGVyaW5nIG1vZGVsIHJlc291cmNl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCAwNmY4ZjlmYTA5NTU1ZDFjMzAzM2E3YjljNDY0MWVi
MTJiNTI1OGE2Li5kMGI4YjUzZjk5ODZkOTUxOWM4ZGIzMWM3NjY2OGZiZGQ4ODZlOWRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUhhdmUuaApAQCAtMTAxOCw2ICsxMDE4LDEwIEBACiAjaWYgUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMAogI2RlZmluZSBI
QVZFX0FSS0lUX0lOTElORV9QUkVWSUVXX01BQyAxCiAjZW5kaWYKKworI2lmIGRlZmluZWQoSEFW
RV9BUktJVF9JTkxJTkVfUFJFVklFV19JT1MpIHx8IGRlZmluZWQoSEFWRV9BUktJVF9JTkxJTkVf
UFJFVklFV19NQUMpCisjZGVmaW5lIEhBVkVfQVJLSVRfSU5MSU5FX1BSRVZJRVcgMQorI2VuZGlm
CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpIHx8
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEw
MDAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hU
TUxNb2RlbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L0hUTUxNb2RlbEVsZW1lbnQuY3BwCmluZGV4IDQ3M2E1ZDM4NTBjZWI4NGVjZmYzNmJmMDQ1NTcw
MTY1NDVjOWEyZGIuLjJmMmIyNDA5Yzk3MDhmYmUzZjZkZGJlYWY0YjAxMTgwOTM0MzZjZTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRN
TE1vZGVsRWxlbWVudC5jcHAKQEAgLTE2Nyw2ICsxNjcsNyBAQCBIVE1MTW9kZWxFbGVtZW50JiBI
VE1MTW9kZWxFbGVtZW50OjpyZWFkeVByb21pc2VSZXNvbHZlKCkKICAgICByZXR1cm4gKnRoaXM7
CiB9CiAKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogc3RhdGljIFN0cmluZyYgc2hh
cmVkTW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxTdHJpbmc+IHNoYXJlZE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5OwpAQCAtMTgyLDYg
KzE4Myw3IEBAIGNvbnN0IFN0cmluZyYgSFRNTE1vZGVsRWxlbWVudDo6bW9kZWxFbGVtZW50Q2Fj
aGVEaXJlY3RvcnkoKQogewogICAgIHJldHVybiBzaGFyZWRNb2RlbEVsZW1lbnRDYWNoZURpcmVj
dG9yeSgpOwogfQorI2VuZGlmCiAKIC8vIE1BUks6IC0gRE9NIG92ZXJyaWRlcy4KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVt
ZW50LmgKaW5kZXggODNmOWVkMWIzZTg1MjQxMWI5M2UyY2E4MGYyNzVhYzIzZjA0YmZkNC4uMDU1
YmI3MTVlM2U3NjVmOThlODY4NDhkMjcxMTY2ZTI4MjJlZWUyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oCkBA
IC02MSw4ICs2MSwxMCBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbW9kZWxE
YXRhKCkgY29uc3Q7CiAgICAgUmVmUHRyPE1vZGVsPiBtb2RlbCgpIGNvbnN0OwogCisjaWYgSEFW
RShBUktJVF9JTkxJTkVfUFJFVklFVykKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBz
ZXRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeShjb25zdCBTdHJpbmcmKTsKICAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgY29uc3QgU3RyaW5nJiBtb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgp
OworI2VuZGlmCiAKICNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICBQbGF0
Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENvY29hLm1tIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDb2NvYS5t
bQppbmRleCAwYjE0ZDAyZDk4NDkyYjNiZjRjNmJlMWEwYzA2NTY2ZTcxNmI0YWQxLi4yN2VhZmM5
MGMwMmFmZWFjY2U2OTkyODVjMTc3NzU0NGFiOTM5NWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q29j
b2EubW0KQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllck1vZGVsT2JqZWN0LmgiCisjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlIDxwYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmg+
CiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CkBAIC0xMDcsNiArMTA4LDkgQEAgdm9pZCBIVE1MTW9kZWxFbGVtZW50Ojptb2RlbERpZENoYW5n
ZSgpCiAKIHZvaWQgSFRNTE1vZGVsRWxlbWVudDo6aW5saW5lUHJldmlld0RpZE9idGFpbkNvbnRl
eHRJZChjb25zdCBTdHJpbmcmIHV1aWQsIHVpbnQzMl90IGNvbnRleHRJZCkKIHsKKyAgICBpZiAo
IWRvY3VtZW50KCkuc2V0dGluZ3MoKS5tb2RlbEVsZW1lbnRFbmFibGVkKCkpCisgICAgICAgIHJl
dHVybjsKKwogICAgIGlmICh1dWlkICE9IChTdHJpbmcpW21faW5saW5lUHJldmlldyB1dWlkXS5V
VUlEU3RyaW5nKSB7CiAgICAgICAgIExPRyhNb2RlbEVsZW1lbnQsICJIVE1MTW9kZWxFbGVtZW50
OjppbmxpbmVQcmV2aWV3RGlkT2J0YWluQ29udGV4dElkKCkgVVVJRCBtaXNtYXRjaCwgcmVjZWl2
ZWQgJXMgYnV0IGV4cGVjdGVkICVzLiIsIHV1aWQudXRmOCgpLmRhdGEoKSwgKChTdHJpbmcpW21f
aW5saW5lUHJldmlldyB1dWlkXS5VVUlEU3RyaW5nKS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCBlZTUwMWI2
MTNhMDNhNjZiZDJkMzY0NGFiNGNmNDNjZTlkM2Q1YzQ4Li4xN2E2ZmE3M2FiZTMwYTY5ZGFiZTJh
ZjQzZmFmZWFiYWQ2YjkwZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNw
cApAQCAtNTc4LDE2ICs1NzgsMTYgQEAgdm9pZCBFbXB0eUNocm9tZUNsaWVudDo6c2hvd1NoYXJl
U2hlZXQoU2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGUKIHsKIH0KIAot
I2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQotCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklF
V19JT1MpCiB2b2lkIEVtcHR5Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVl
bihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQpIGNvbnN0CiB7CiB9Cisj
ZW5kaWYKIAorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogdm9pZCBFbXB0eUNo
cm9tZUNsaWVudDo6bW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhXZWJDb3JlOjpIVE1MTW9k
ZWxFbGVtZW50JiwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRTaXplJikgY29uc3QKIHsKIH0KLQogI2VuZGlmCiAKIHZvaWQgRW1wdHlGcmFtZUxvYWRlckNs
aWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24oY29uc3QgTmF2aWdh
dGlvbkFjdGlvbiYsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIEZvcm1TdGF0ZSosIGNvbnN0IFN0
cmluZyYsIFBvbGljeUNoZWNrSWRlbnRpZmllciwgRnJhbWVQb2xpY3lGdW5jdGlvbiYmKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IGJhNjcxNTQ5OWRmNjE1YzUwOWQyMzQ4
MzllMTIxMDhjNDVhMDZlZDkuLmYzMDljNDk3NWJkNWJjMDk1Yzg1MjI0YTIzMmU1N2E5ZmI3ODQ1
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTIxNiwxMyArMjE2LDEz
IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAg
dm9pZCBkaWRBc3NvY2lhdGVGb3JtQ29udHJvbHMoY29uc3QgVmVjdG9yPFJlZlB0cjxFbGVtZW50
Pj4mLCBGcmFtZSYpIGZpbmFsIHsgfQogICAgIGJvb2wgc2hvdWxkTm90aWZ5T25Gb3JtQ2hhbmdl
cygpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkK
KyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKICAgICB2b2lkIHRha2VNb2RlbEVs
ZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkg
Y29uc3QgZmluYWw7CiAjZW5kaWYKIAogICAgIFJlZlB0cjxJY29uPiBjcmVhdGVJY29uRm9yRmls
ZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIC8qIGZpbGVuYW1lcyAqLykgZmluYWwgeyByZXR1cm4g
bnVsbHB0cjsgfQogCi0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisjaWYgSEFWRShBUktJVF9J
TkxJTkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3
KFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBj
b25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKSBjb25zdCBmaW5hbDsKICNlbmRpZgogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDBmNjIyZmZiOTY5ODBmYjVmMTkxZWQxN2IyNDBi
NmE1ODcwNzVjNTQuLmE4OTY4Yzk0NGU0YTFhYmFjYzhjMmZkMDNiOTcxZmQzYjNmOGU3MmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtNzgsNyArNzgsNyBAQCBjbGFzcyBXQUtS
ZXNwb25kZXI7CiAjaW5jbHVkZSAiTWVkaWFVc2FnZUluZm8uaCIKICNlbmRpZgogCi0jaWYgRU5B
QkxFKE1PREVMX0VMRU1FTlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKIGNsYXNz
IEhUTUxNb2RlbEVsZW1lbnQ7CiAjZW5kaWYKIApAQCAtNjAwLDggKzYwMCwxMCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHRleHRBdXRvc2l6aW5nVXNlc0lkZW1wb3RlbnRNb2RlQ2hhbmdl
ZCgpIHsgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFS
S0lUX0lOTElORV9QUkVWSUVXX0lPUykKICAgICB2aXJ0dWFsIHZvaWQgdGFrZU1vZGVsRWxlbWVu
dEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEKSBjb25z
dCB7IH0KKyNlbmRpZgorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIHZp
cnR1YWwgdm9pZCBtb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFdlYkNvcmU6OkhUTUxNb2Rl
bEVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpGbG9h
dFNpemUmKSBjb25zdCB7IH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tCmluZGV4
IGYyY2ZlODIyZWQzZmZhMTA1NzkzZjk3YmMyYjJiZjBiNmM1NTE4ZGYuLjY1ZWE5OThiOWZmM2Yw
M2ZkMjdiNmNkZGZmMWEzZmRjYzhmNGQwZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0KQEAg
LTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTW9kZWxFbGVtZW50
Q29udHJvbGxlci5oIgogCi0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisjaWYgSEFWRShBUktJ
VF9JTkxJTkVfUFJFVklFVykKIAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiV2ViUGFn
ZVByb3h5LmgiCkBAIC01NSw2ICs1NSw5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB2b2lkIE1v
ZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKIHsKKyAgICBp
ZiAoIW1fd2ViUGFnZVByb3h5LT5wcmVmZXJlbmNlcygpLm1vZGVsRWxlbWVudEVuYWJsZWQoKSkK
KyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKCFpczxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5PihtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKSkKICAgICAgICAgcmV0dXJuOwog
CkBAIC0xMjMsNiArMTI2LDkgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0YWtlTW9k
ZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjoKIAogdm9pZCBNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjptb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KGNvbnN0IFdl
YkNvcmU6OkVsZW1lbnRDb250ZXh0JiBjb250ZXh0LCBjb25zdCBVUkwmIGZpbGVVUkwsIGNvbnN0
IFN0cmluZyYgdXVpZCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplKQogeworICAgIGlm
ICghbV93ZWJQYWdlUHJveHkucHJlZmVyZW5jZXMoKS5tb2RlbEVsZW1lbnRFbmFibGVkKCkpCisg
ICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gcHJldmlldyA9IGFkb3B0TlMoW2FsbG9jQVNWSW5s
aW5lUHJldmlld0luc3RhbmNlKCkgaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIHNpemUu
d2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSkgVVVJRDpbW05TVVVJRCBhbGxvY10gaW5pdFdpdGhVVUlE
U3RyaW5nOnV1aWRdXSk7CiAKICAgICBMT0coTW9kZWxFbGVtZW50LCAiQ3JlYXRlZCByZW1vdGUg
cHJldmlldyB3aXRoIFVVSUQgJXMuIiwgdXVpZC51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5jcHAKaW5kZXggN2Rm
NmRjNzYxMjNmY2UwNTY4OWIzZjc1NDE5ODg4MGQyZTVjMjczNy4uMzgxNWQ4MDBjZDU1N2UyMjZj
ZGM3NjdjN2JmZjM2ZGIwOGY0OTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJNb2RlbEVsZW1lbnRDb250cm9sbGVyLmgiCiAKLSNpZiBF
TkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogCiAj
aW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L01vZGVsRWxlbWVudENvbnRyb2xsZXIuaAppbmRleCA5Yjk3MjI4ZjUzNzIwMzdlNTI2ZThhM2I1
ZmY1NWZmNDJjNzEzNGU5Li45YTA4OGRhMTI4YzViYzZlYzJkMjY1ZTg0NTIyM2JkMzE3N2JjNzkz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9s
bGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxl
ci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE1PREVM
X0VMRU1FTlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKIAogI2luY2x1ZGUgPFdl
YkNvcmUvRWxlbWVudENvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIu
aD4KQEAgLTUxLDcgKzUxLDYgQEAgcHVibGljOgogI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJ
RVdfSU9TKQogICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3Jh
cGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKTsKICNlbmRpZgotCiAj
aWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVsZW1lbnRE
aWRDcmVhdGVQcmV2aWV3KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29uc3QgVVJM
JiwgY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJik7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAwNjUwZjYwY2I3OWVkOTRlOTZjNzA5
YTI2ZDk5MmRkNTRjODc2NGFiLi42NzA0MTY0YTk1M2UwZWY0NWY0YTgyNzg1MDNiMGZiNzhmYTQ5
NjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0xMzIsMTAgKzEzMiw2
IEBAIHN0cnVjdCBQcm9taXNlZEF0dGFjaG1lbnRJbmZvOwogI2lmIEhBVkUoVFJBTlNMQVRJT05f
VUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQogc3RydWN0IFRyYW5zbGF0aW9u
Q29udGV4dE1lbnVJbmZvOwogI2VuZGlmCi0KLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKLXN0
cnVjdCBFbGVtZW50Q29udGV4dDsKLSNlbmRpZgogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDlmZjBjMjQ2ZTFkMzEw
MGIwOGI5OTgxNTMyODdjMTE3ZDI4OGQ0MDEuLjM3ZDZiYTZiY2I2Mjg1NThiZWE3YTVlOGQ5ZjQw
ZGNkNTUwZTBlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApA
QCAtMTAyMyw5ICsxMDIzLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRBdHRhY2hUb1J1bm5p
bmdQcm9jZXNzKCkKICAgICBtX3N5c3RlbVByZXZpZXdDb250cm9sbGVyID0gbWFrZVVuaXF1ZTxT
eXN0ZW1QcmV2aWV3Q29udHJvbGxlcj4oKnRoaXMpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTU9E
RUxfRUxFTUVOVCkKLSAgICBBU1NFUlQoIW1fbW9kZWxFbGVtZW50Q29udHJvbGxlcik7Ci0gICAg
bV9tb2RlbEVsZW1lbnRDb250cm9sbGVyID0gbWFrZVVuaXF1ZTxNb2RlbEVsZW1lbnRDb250cm9s
bGVyPigqdGhpcyk7CisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyAgICBpZiAobV9w
cmVmZXJlbmNlcy0+bW9kZWxFbGVtZW50RW5hYmxlZCgpKSB7CisgICAgICAgIEFTU0VSVCghbV9t
b2RlbEVsZW1lbnRDb250cm9sbGVyKTsKKyAgICAgICAgbV9tb2RlbEVsZW1lbnRDb250cm9sbGVy
ID0gbWFrZVVuaXF1ZTxNb2RlbEVsZW1lbnRDb250cm9sbGVyPigqdGhpcyk7CisgICAgfQogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQpAQCAtNzc3Niw3ICs3Nzc4LDcgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OnJlc2V0U3RhdGUoUmVzZXRTdGF0ZVJlYXNvbiByZXNldFN0YXRlUmVhc29u
KQogICAgIG1fc3lzdGVtUHJldmlld0NvbnRyb2xsZXIgPSBudWxscHRyOwogI2VuZGlmCiAKLSNp
ZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQog
ICAgIG1fbW9kZWxFbGVtZW50Q29udHJvbGxlciA9IG51bGxwdHI7CiAjZW5kaWYKIApAQCAtMTA2
ODgsMjAgKzEwNjkwLDE3IEBAIFdlYkNvcmU6OkNhcHR1cmVTb3VyY2VPckVycm9yIFdlYlBhZ2VQ
cm94eTo6Y3JlYXRlUmVhbHRpbWVNZWRpYVNvdXJjZUZvclNwZWVjaFJlCiAKICNlbmRpZgogCi0j
aWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCi0KKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVX
X0lPUykKIHZvaWQgV2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJD
b3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQpCiB7Ci0j
aWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAgICAgbW9kZWxFbGVtZW50Q29udHJv
bGxlcigpLT50YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihjb250ZW50TGF5ZXJJZCk7Ci0jZW5k
aWYKIH0KKyNlbmRpZgogCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiB2b2lk
IFdlYlBhZ2VQcm94eTo6bW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhjb25zdCBXZWJDb3Jl
OjpFbGVtZW50Q29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
dXVpZCwgY29uc3QgRmxvYXRTaXplJiBzaXplKQogewotI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BS
RVZJRVdfTUFDKQogICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+bW9kZWxFbGVtZW50RGlk
Q3JlYXRlUHJldmlldyhjb250ZXh0LCB1cmwsIHV1aWQsIHNpemUpOwotI2VuZGlmCiB9CiAKIHZv
aWQgV2ViUGFnZVByb3h5Ojptb2RlbEVsZW1lbnRQcmV2aWV3RGlkT2J0YWluQ29udGV4dElkKGNv
bnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIHV1aWQs
IHVpbnQzMl90IGNvbnRleHRJZCkKQEAgLTEwNzA5LDcgKzEwNzA4LDYgQEAgdm9pZCBXZWJQYWdl
UHJveHk6Om1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQoY29uc3QgV2ViQ29y
ZTo6RWxlbWVudEMKICAgICBpZiAoaGFzUnVubmluZ1Byb2Nlc3MoKSkKICAgICAgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6TW9kZWxFbGVtZW50UHJldmlld0RpZE9idGFpbkNvbnRleHRJZChj
b250ZXh0LCB1dWlkLCBjb250ZXh0SWQpKTsKIH0KLQogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0o
Q09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDdhODM3ZjNj
NDViOTk2Zjk3ZmE5NjFlNjBlYTk2YWVjYjhmNzQyMTQuLmI1N2M4MmZkZDBjNDc5NmIyMDcwNmM0
YzI0MWUxNjFmMzA4ZjBlOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CkBAIC0xODksNyArMTg5LDcgQEAgaW50ZXJmYWNlIElEM0QxMURldmljZTE7CiAjaW5jbHVkZSAi
UGxhdGZvcm1YUlN5c3RlbS5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkK
KyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogI2luY2x1ZGUgIk1vZGVsRWxlbWVudENv
bnRyb2xsZXIuaCIKICNlbmRpZgogCkBAIC01NzMsOSArNTczLDEzIEBAIHB1YmxpYzoKICAgICB2
b2lkIHN5c3RlbVByZXZpZXdBY3Rpb25UcmlnZ2VyZWQoY29uc3QgV2ViQ29yZTo6U3lzdGVtUHJl
dmlld0luZm8mLCBjb25zdCBTdHJpbmcmKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1PREVMX0VM
RU1FTlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKICAgICBNb2RlbEVsZW1lbnRD
b250cm9sbGVyKiBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCkgeyByZXR1cm4gbV9tb2RlbEVsZW1l
bnRDb250cm9sbGVyLmdldCgpOyB9CisjZW5kaWYKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVW
SUVXX0lPUykKICAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCk7CisjZW5kaWYKKyNp
ZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICB2b2lkIG1vZGVsRWxlbWVudERp
ZENyZWF0ZVByZXZpZXcoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBjb25zdCBVUkwm
LCBjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIG1v
ZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQoY29uc3QgV2ViQ29yZTo6RWxlbWVu
dENvbnRleHQmLCBjb25zdCBTdHJpbmcmLCB1aW50MzJfdCk7CiAjZW5kaWYKQEAgLTI2MDgsNyAr
MjYxMiw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFN5c3RlbVByZXZpZXdDb250
cm9sbGVyPiBtX3N5c3RlbVByZXZpZXdDb250cm9sbGVyOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUo
TU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogICAgIHN0ZDo6
dW5pcXVlX3B0cjxNb2RlbEVsZW1lbnRDb250cm9sbGVyPiBtX21vZGVsRWxlbWVudENvbnRyb2xs
ZXI7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCmluZGV4IDAyN2E3MGM4ZDgyOTA2MjAxOWEyMTY3MDUzNzhiOGQ4NzI3ZDEw
YWYuLmUzYjY4MGZkNDE3MWE1ZGQ2NTI1MTc0M2VmNWY1NTg2ZDUzOGI4N2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTU5Myw4
ICs1OTMsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBDaGFuZ2VVbml2ZXJz
YWxBY2Nlc3Nab29tRm9jdXMoV2ViQ29yZTo6SW50UmVjdCB2aWV3UmVjdCwgV2ViQ29yZTo6SW50
UmVjdCBjYXJldFJlY3QpCiAjZW5kaWYKIAotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorI2lm
IEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQogICAgIFRha2VNb2RlbEVsZW1lbnRGdWxs
c2NyZWVuKHVpbnQ2NF90IGNvbnRlbnRMYXllcklEKQorI2VuZGlmCisjaWYgSEFWRShBUktJVF9J
TkxJTkVfUFJFVklFV19NQUMpCiAgICAgTW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhzdHJ1
Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENvbnRleHQsIFVSTCB1cmwsIFN0cmlu
ZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGJhOWU3Y2UzNDJkOWU2NjIxZGYz
MDdiMTMwNjM2YmY2MGZjNWM1Y2MuLjk0MjU5ZDVhM2Y3MzU4MGJlYmNkYWFiYzc4YmQ0ODdlODM1
MTBjNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAg
LTY5NSw3ICs2OTUsNyBAQCBXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycyBXZWJQcm9jZXNz
UG9vbDo6d2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMoV2ViUAogICAgIGlmICghamF2YVNj
cmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBTYW5kYm94RXh0
ZW5zaW9uOjpjcmVhdGVIYW5kbGVXaXRob3V0UmVzb2x2aW5nUGF0aChqYXZhU2NyaXB0Q29uZmln
dXJhdGlvbkRpcmVjdG9yeSwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZFdyaXRlLCBqYXZh
U2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAKLSNpZiBFTkFC
TEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogICAgIGF1
dG8gbW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkgPSB3ZWJzaXRlRGF0YVN0b3JlLnJlc29sdmVk
TW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKTsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGUgbW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgaWYgKCFt
b2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeS5pc0VtcHR5KCkpCkBAIC03MTgsNyArNzE4LDcgQEAg
V2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMgV2ViUHJvY2Vzc1Bvb2w6OndlYlByb2Nlc3NE
YXRhU3RvcmVQYXJhbWV0ZXJzKFdlYlAKICAgICAgICAgbV9kb21haW5zV2l0aFVzZXJJbnRlcmFj
dGlvbiwKICAgICAgICAgbV9kb21haW5zV2l0aENyb3NzUGFnZVN0b3JhZ2VBY2Nlc3NRdWlyaywK
ICNlbmRpZgotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5F
X1BSRVZJRVcpCiAgICAgICAgIFdURk1vdmUobW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkpLAog
ICAgICAgICBXVEZNb3ZlKG1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxl
KSwKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IGI4M2Jh
OGZjZWM1ZDAwM2NkOTc3NzA4MjVhZWE1NjFiYTVhOGVlMWIuLjI4MTQ4NGFhZjlhMTk2ZjBlZmFl
ODcyZDkwYzYwOGI3ODRhM2FlNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2Eu
bW0KQEAgLTMyMSw3ICszMjEsNyBAQCBXVEY6OlN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZh
dWx0SmF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoKQogICAgIHJldHVybiB0ZW1wRGly
ZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJKYXZhU2NyaXB0Q29yZURlYnVnIiwgU2hv
dWxkQ3JlYXRlRGlyZWN0b3J5OjpObyk7CiB9CiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkK
KyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogV1RGOjpTdHJpbmcgV2Vic2l0ZURhdGFT
dG9yZTo6ZGVmYXVsdE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCkKIHsKICAgICByZXR1cm4g
dGVtcERpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigiTW9kZWxFbGVtZW50IiwgU2hv
dWxkQ3JlYXRlRGlyZWN0b3J5OjpObyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IGYxNDIxMjI3MDQ3
ZTk0ZDJlYTNhZTBiMDZmYzhhYjM3ZjMwNjZjNzIuLmRjNDQzYWQ1YWM5MTYzYTY2MjQ3N2MyYWYw
OGU3NDM4MzIwMTYxOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBAIC0yNjUsNyArMjY1LDcgQEAgdm9p
ZCBXZWJzaXRlRGF0YVN0b3JlOjpyZXNvbHZlRGlyZWN0b3JpZXNJZk5lY2Vzc2FyeSgpCiAgICAg
ICAgIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5zZXRDYWNoZVN0b3JhZ2VEaXJlY3RvcnkocmVz
b2x2ZVBhdGhGb3JTYW5kYm94RXh0ZW5zaW9uKG1fY29uZmlndXJhdGlvbi0+Y2FjaGVTdG9yYWdl
RGlyZWN0b3J5KCkpKTsKICAgICBpZiAoIW1fY29uZmlndXJhdGlvbi0+aHN0c1N0b3JhZ2VEaXJl
Y3RvcnkoKS5pc0VtcHR5KCkgJiYgbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPmhzdHNTdG9yYWdl
RGlyZWN0b3J5KCkuaXNFbXB0eSgpKQogICAgICAgICBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi0+
c2V0SFNUU1N0b3JhZ2VEaXJlY3RvcnkocmVzb2x2ZVBhdGhGb3JTYW5kYm94RXh0ZW5zaW9uKG1f
Y29uZmlndXJhdGlvbi0+aHN0c1N0b3JhZ2VEaXJlY3RvcnkoKSkpOwotI2lmIEVOQUJMRShNT0RF
TF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgaWYgKCFtX2Nv
bmZpZ3VyYXRpb24tPm1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCkuaXNFbXB0eSgpKQogICAg
ICAgICBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi0+c2V0TW9kZWxFbGVtZW50Q2FjaGVEaXJlY3Rv
cnkocmVzb2x2ZUFuZENyZWF0ZVJlYWRXcml0ZURpcmVjdG9yeUZvclNhbmRib3hFeHRlbnNpb24o
bV9jb25maWd1cmF0aW9uLT5tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpKSk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuaAppbmRleCA2NDhiZDRjZTliODBlMjM1NmVlMmIxOTI4ODc1ZjA0MTMxNzk5NWJh
Li4zMGIyMTdhMjdlYjIxMzc1NzdlZmEyOTE5MzJhZGY1NWUyYTY0ZDM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5o
CkBAIC0yNTMsNyArMjUzLDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9yZXNv
bHZlZENvbmZpZ3VyYXRpb24tPnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKTsg
fQogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0
b3J5KCkgY29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPnJlc291cmNlTG9h
ZFN0YXRpc3RpY3NEaXJlY3RvcnkoKTsgfQogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRIU1RT
U3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9u
LT5oc3RzU3RvcmFnZURpcmVjdG9yeSgpOyB9Ci0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisj
aWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKICAgICBjb25zdCBTdHJpbmcmIHJlc29sdmVk
TW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdmVkQ29u
ZmlndXJhdGlvbi0+bW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKTsgfQogI2VuZGlmCiAKQEAg
LTMzMiw3ICszMzIsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKEdMSUIpCiAgICAgc3RhdGljIFdURjo6
U3RyaW5nIGRlZmF1bHRIU1RTRGlyZWN0b3J5KCk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoTU9ERUxf
RUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogICAgIHN0YXRpYyBXVEY6
OlN0cmluZyBkZWZhdWx0TW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKTsKICNlbmRpZgogICAg
IHN0YXRpYyBXVEY6OlN0cmluZyBkZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcAppbmRleCA3NWFiNWFkOTg2
YzQ4MGVmZGFhZmI1ODEwZmU0ZGE0MDFjNWE2MTFmLi43YmUyYzk0ZWZiOWM2ZDZiYTFiZWRkZjE2
YTc1OWFiMmIzMGE2YWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24u
Y3BwCkBAIC00Nyw3ICs0Nyw3IEBAIFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbihJc1BlcnNpc3RlbnQgaXNQZXJzCiAgICAgICAgIHNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVs
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoKSk7CiAgICAgICAgIHNldERldmljZUlk
SGFzaFNhbHRzU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0RGV2aWNl
SWRIYXNoU2FsdHNTdG9yYWdlRGlyZWN0b3J5KCkpOwogICAgICAgICBzZXRKYXZhU2NyaXB0Q29u
ZmlndXJhdGlvbkRpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0SmF2YVNjcmlwdENv
bmZpZ3VyYXRpb25EaXJlY3RvcnkoKSk7Ci0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisjaWYg
SEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKICAgICAgICAgc2V0TW9kZWxFbGVtZW50Q2FjaGVE
aXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1vZGVsRWxlbWVudENhY2hlRGlyZWN0
b3J5KCkpOwogI2VuZGlmCiAgICAgfQpAQCAtMTAwLDcgKzEwMCw3IEBAIFJlZjxXZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmNvcHko
KSBjb25zdAogICAgIGlmIChtX3Byb3h5Q29uZmlndXJhdGlvbikKICAgICAgICAgY29weS0+bV9w
cm94eUNvbmZpZ3VyYXRpb24gPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZUNvcHkobnVsbHB0
ciwgdGhpcy0+bV9wcm94eUNvbmZpZ3VyYXRpb24uZ2V0KCkpKTsKICNlbmRpZgotI2lmIEVOQUJM
RShNT0RFTF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgY29w
eS0+bV9tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSA9IHRoaXMtPm1fbW9kZWxFbGVtZW50Q2Fj
aGVEaXJlY3Rvcnk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9u
LmgKaW5kZXggZGZhMTY1NmE4NGYwODNiNGI1NGEzZDczZGQzNWMzN2RiMzJmOGFhNy4uMGIwZGI0
ZDQzMGNjNmExNjBlZDc3ZjU0MjU1MGYxZTU5ZDFiNjNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5oCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBT
dHJpbmcmIGxvY2FsU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxTdG9y
YWdlRGlyZWN0b3J5OyB9CiAgICAgdm9pZCBzZXRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoU3RyaW5n
JiYgZGlyZWN0b3J5KSB7IG1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5ID0gV1RGTW92ZShkaXJlY3Rv
cnkpOyB9CiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElO
RV9QUkVWSUVXKQogICAgIGNvbnN0IFN0cmluZyYgbW9kZWxFbGVtZW50Q2FjaGVEaXJlY3Rvcnko
KSBjb25zdCB7IHJldHVybiBtX21vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5OyB9CiAgICAgdm9p
ZCBzZXRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeShTdHJpbmcmJiBkaXJlY3RvcnkpIHsgbV9t
b2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSA9IFdURk1vdmUoZGlyZWN0b3J5KTsgfQogI2VuZGlm
CkBAIC0xODQsNyArMTg0LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9zZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGlyZWN0b3J5OwogICAgIFN0cmluZyBtX3dlYlNRTERhdGFiYXNlRGlyZWN0
b3J5OwogICAgIFN0cmluZyBtX2hzdHNTdG9yYWdlRGlyZWN0b3J5OwotI2lmIEVOQUJMRShNT0RF
TF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgU3RyaW5nIG1f
bW9kZWxFbGVtZW50Q2FjaGVEaXJlY3Rvcnk7CiAjZW5kaWYKICNpZiBVU0UoR0xJQikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKaW5kZXggOGNkNGM4YTAxMjJkNDNjMzA0MDgzYjI2ZTBhYTUxMGIzMzdh
MDBiZC4uODlmMDVkNWNjNzA2NGFjZWU0NWNmMDlhNTMwMTQzYjVlM2EyZmUxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKQEAgLTE1MTUsMTggKzE1MTUsMTggQEAgdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OmRpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50KCkKICAgICBtX3Bh
Z2UuZGlkSGFuZGxlT3JQcmV2ZW50TW91c2VEb3duT3JNb3VzZVVwRXZlbnQoKTsKIH0KIAotI2lm
IEVOQUJMRShNT0RFTF9FTEVNRU5UKQotCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19J
T1MpCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2Vi
Q29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKSBjb25z
dAogewogICAgIG1fcGFnZS50YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihjb250ZW50TGF5ZXJJ
ZCk7CiB9CisjZW5kaWYKIAorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6Om1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoV2ViQ29yZTo6
SFRNTE1vZGVsRWxlbWVudCYgZWxlbWVudCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
dXVpZCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplKSBjb25zdAogewogICAgIG1fcGFn
ZS5tb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KGVsZW1lbnQsIHVybCwgdXVpZCwgc2l6ZSk7
CiB9Ci0KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApp
bmRleCAyYzlkMTI3MzBmZTBhZDk3OWY5NTIwZTkxNTk1N2E5MzYxMWViNzkwLi5lYjVjOWU4ODg3
MDk2ZDc5NjFiMGRiZTM1MDNmOWI4NDYyNmFmNzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC00
NTIsOCArNDUyLDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBlbnVtZXJhdGVJbW1lcnNpdmVYUkRl
dmljZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBQbGF0Zm9ybVhSOjpJbnN0YW5jZTo6
RGV2aWNlTGlzdCYpPiYmKSBmaW5hbDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1PREVMX0VMRU1F
TlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAgICAgdm9pZCB0YWtlTW9k
ZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVy
SUQgY29udGVudExheWVySWQpIGNvbnN0IGZpbmFsOworI2VuZGlmCisjaWYgSEFWRShBUktJVF9J
TkxJTkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3
KFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBj
b25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDcwODBhNzdlNGVj
Y2RhMzRjZWIwMjY4MTczM2IyYTAzZmYwZjQyOTAuLjU3MTg1YTRkMmY5MWEzZmQwMmJhOWRmYjQ2
YjcwNzBjNDVjNTZkZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCkBAIC03Njc4LDEzICs3Njc4LDE0IEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxlQ29u
dGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5m
CiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQotCisjaWYgSEFWRShBUktJ
VF9JTkxJTkVfUFJFVklFV19JT1MpCiB2b2lkIFdlYlBhZ2U6OnRha2VNb2RlbEVsZW1lbnRGdWxs
c2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5
ZXJJZCkKIHsKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlRha2VNb2RlbEVsZW1l
bnRGdWxsc2NyZWVuKGNvbnRlbnRMYXllcklkKSk7CiB9CisjZW5kaWYKIAorI2lmIEhBVkUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogdm9pZCBXZWJQYWdlOjptb2RlbEVsZW1lbnREaWRDcmVh
dGVQcmV2aWV3KFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFVSTCYg
dXJsLCBjb25zdCBTdHJpbmcmIHV1aWQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgc2l6ZSkK
IHsKICAgICBpZiAoYXV0byBlbGVtZW50Q29udGV4dCA9IGNvbnRleHRGb3JFbGVtZW50KGVsZW1l
bnQpKQpAQCAtNzY5MywxNyArNzY5NCwxMCBAQCB2b2lkIFdlYlBhZ2U6Om1vZGVsRWxlbWVudERp
ZENyZWF0ZVByZXZpZXcoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudCYgZWxlbWVudCwgYwogCiB2
b2lkIFdlYlBhZ2U6Om1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQoY29uc3Qg
V2ViQ29yZTo6RWxlbWVudENvbnRleHQmIGVsZW1lbnRDb250ZXh0LCBjb25zdCBTdHJpbmcmIHV1
aWQsIHVpbnQzMl90IGNvbnRleHRJZCkKIHsKLSNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVX
X01BQykKICAgICBhdXRvIGVsZW1lbnQgPSBlbGVtZW50Rm9yQ29udGV4dChlbGVtZW50Q29udGV4
dCk7CiAgICAgaWYgKGlzPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQ+KGVsZW1lbnQpKQogICAg
ICAgICBkb3duY2FzdDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50PigqZWxlbWVudCkuaW5saW5l
UHJldmlld0RpZE9idGFpbkNvbnRleHRJZCh1dWlkLCBjb250ZXh0SWQpOwotI2Vsc2UKLSAgICBV
TlVTRURfUEFSQU0oZWxlbWVudENvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTSh1dWlkKTsKLSAg
ICBVTlVTRURfUEFSQU0oY29udGV4dElkKTsKLSNlbmRpZgogfQotCiAjZW5kaWYKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKaW5kZXggNzkwMWRiMmJhZTMzOTZjZjI5NGIyYmI3ZDA3NGQxZTJhZTJiYTg1Ny4uYTY3YmE0
ZWQ3MTg3ZjdjYWQxZjBkYzg4NjRmMTA4YjY5NjQzMDI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTQ2NSw4ICsxNDY1LDEwIEBAIHB1YmxpYzoK
ICAgICBQbGF0Zm9ybVhSU3lzdGVtUHJveHkmIHhyU3lzdGVtUHJveHkoKTsKICNlbmRpZgogCi0j
aWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19J
T1MpCiAgICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGlj
c0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQpOworI2VuZGlmCisjaWYgSEFW
RShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVsZW1lbnREaWRDcmVh
dGVQcmV2aWV3KFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBT
dHJpbmcmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIG1vZGVsRWxlbWVu
dFByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQm
LCBjb25zdCBTdHJpbmcmLCB1aW50MzJfdCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDMyMGEyN2U3
YWM0NGM3ZDEwNTRjM2QzMzNkNGU2NDUxYzQzZDEzNzcuLjdhZmI5ODk1OWU3ZTRlYjg2NWQwODcx
MDcwNmIxNGU1MDQzY2QwZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNjQ0LDcgKzY0NCw3IEBAIEdlbmVyYXRl
U3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktpdDo6U3ludGhldGljRWRp
dGluZ0NvbW1hbmRUeXBlCiAgICAgVXBkYXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdChzdHJ1
Y3QgV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0IHJlc3VsdCwgc3RydWN0IFdlYkNvcmU6
OkVsZW1lbnRDb250ZXh0IGVsZW1lbnQsIFdlYkNvcmU6OkZsb2F0UG9pbnQgbG9jYXRpb24pIC0+
IChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpUZXh0UmVjb2duaXRpb25VcGRhdGVSZXN1bHQgcmVzdWx0
KSBBc3luYwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFS
S0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICBNb2RlbEVsZW1lbnRQcmV2aWV3RGlkT2J0YWlu
Q29udGV4dElkKHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBlbGVtZW50Q29udGV4dCwg
U3RyaW5nIHV1aWQsIHVpbnQzMl90IGNvbnRleHRJZCkKICNlbmRpZgogfQo=
</data>
<flag name="commit-queue"
          id="454723"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432686</attachid>
            <date>2021-07-01 06:52:39 -0700</date>
            <delta_ts>2021-07-01 12:31:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227581-20210701155238.patch</filename>
            <type>text/plain</type>
            <size>34932</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDYwNzk4MzAxMWYwYzE1Y2Q3ZDg0NjJk
ODUxODc3N2NiMjg2MTIyOTEuLmQwZGM4NDhjNjdkNmJhNTAyZjg3YTc0YjE1ZDY1YmQzYTI1YTMw
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDctMDEgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBSZXN0cmljdCBJUEMgY2FsbHMgdG8g
QVJLaXQgU1BJIGF2YWlsYWJpbGl0eSBhbmQgcnVudGltZSBmbGFnCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc1ODEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZWZpbmUgYSBuZXcgY29tcGlsZS10aW1l
IGZsYWcgd2hlbiBlaXRoZXIgb2YgdGhlIGlPUyBvciBtYWNPUyBBUktpdCBTUElzIGFyZSBhdmFp
bGFibGUuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisKIDIwMjEtMDYtMzAgIEFu
dG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW01vZGVsXSBbbWFj
T1NdIEFkZCBzdXBwb3J0IGZvciByZW5kZXJpbmcgbW9kZWwgcmVzb3VyY2VzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggODc5YmI2ZjhkMTQ3ZDRlMWY2ZWUwNjg3NTdiZjRkZTNjOTllNmVkOC4uZDljZjVhYWNiODEz
OWZjMTc2Y2U0OTBkZTYzODFjMTYxMGZiMGFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBA
CisyMDIxLTA3LTAxICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAg
ICAgIFtNb2RlbF0gUmVzdHJpY3QgSVBDIGNhbGxzIHRvIEFSS2l0IFNQSSBhdmFpbGFiaWxpdHkg
YW5kIHJ1bnRpbWUgZmxhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI3NTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgR3VhcmQgYWxsIElQQyBjYWxscyByZWxhdGVkIHRvIDxtb2RlbD4gYnkgdGhlIG1v
c3QgYXBwcm9wcmlhdGUgcGxhdGZvcm0tc3BlY2lmaWMgZmxhZworICAgICAgICBhbmQgYWxzbyBl
bnN1cmUgdGhhdCB0aG9zZSBjYWxscyBkb24ndCBkbyBhbnl0aGluZyB1bmxlc3MgdGhlIHJ1bnRp
bWUgZmxhZyBpcyBhbHNvCisgICAgICAgIGVuYWJsZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL21v
ZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVs
ZW1lbnQvSFRNTE1vZGVsRWxlbWVudENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1v
ZGVsRWxlbWVudDo6aW5saW5lUHJldmlld0RpZE9idGFpbkNvbnRleHRJZCk6CisgICAgICAgICog
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNs
aWVudDo6bW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyBjb25zdCk6CisgICAgICAgICogbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisKIDIw
MjEtMDYtMzAgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAg
UENNOiBDaGFuZ2UgaW1wb3J0IGZyb20gQ3J5cHRvS2l0Q0JyaWRnaW5nIHRvIENyeXB0b0tpdFBy
aXZhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggMWQxZmFmNzk4YzE1MTY4ZTliOTAwZTNlNzMyODU3OWY3MDQwZTA2
OC4uZmFkY2RiNmEwNGIzZjdjMzI4ZjdlNDk3YjQwNjk5MTFkYmFlNDQ0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw1MyBAQAorMjAyMS0wNy0wMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0
Lm9yZz4KKworICAgICAgICBbTW9kZWxdIFJlc3RyaWN0IElQQyBjYWxscyB0byBBUktpdCBTUEkg
YXZhaWxhYmlsaXR5IGFuZCBydW50aW1lIGZsYWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzU4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEd1YXJkIGFsbCBJUEMgY2FsbHMgcmVsYXRlZCB0byA8bW9k
ZWw+IGJ5IHRoZSBtb3N0IGFwcHJvcHJpYXRlIHBsYXRmb3JtLXNwZWNpZmljIGZsYWcKKyAgICAg
ICAgYW5kIGFsc28gZW5zdXJlIHRoYXQgdGhvc2UgY2FsbHMgZG9uJ3QgZG8gYW55dGhpbmcgdW5s
ZXNzIHRoZSBydW50aW1lIGZsYWcgaXMgYWxzbworICAgICAgICBlbmFibGVkLgorCisgICAgICAg
ICogU2hhcmVkL1dlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzLmg6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0YWtlTW9kZWxFbGVtZW50RnVs
bHNjcmVlbik6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVsRWxlbWVudENvbnRyb2xsZXI6Om1vZGVs
RWxlbWVudERpZENyZWF0ZVByZXZpZXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Nb2RlbEVsZW1l
bnRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJv
bGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGlkQXR0YWNoVG9SdW5uaW5nUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6cmVzZXRTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dGFrZU1vZGVs
RWxlbWVudEZ1bGxzY3JlZW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1vZGVs
RWxlbWVudERpZENyZWF0ZVByZXZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
Om1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp3ZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVy
cyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3Rv
cmVDb2NvYS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnJlc29sdmVEaXJl
Y3Rvcmllc0lmTmVjZXNzYXJ5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uOjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbik6CisgICAg
ICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjb3B5IGNvbnN0KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6bW9kZWxFbGVtZW50
RGlkQ3JlYXRlUHJldmlldyBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Om1vZGVsRWxlbWVudFByZXZpZXdE
aWRPYnRhaW5Db250ZXh0SWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6c2V0V2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzOjpwbGF0Zm9ybVNldFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzKToKKwogMjAyMS0wNi0z
MCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxd
IFttYWNPU10gQWRkIHN1cHBvcnQgZm9yIHJlbmRlcmluZyBtb2RlbCByZXNvdXJjZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm1IYXZlLmgKaW5kZXggMDZmOGY5ZmEwOTU1NWQxYzMwMzNhN2I5YzQ2NDFlYjEyYjUyNThh
Ni4uZDBiOGI1M2Y5OTg2ZDk1MTljOGRiMzFjNzY2NjhmYmRkODg2ZTlkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm1IYXZlLmgKQEAgLTEwMTgsNiArMTAxOCwxMCBAQAogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDAKICNkZWZpbmUgSEFWRV9BUktJ
VF9JTkxJTkVfUFJFVklFV19NQUMgMQogI2VuZGlmCisKKyNpZiBkZWZpbmVkKEhBVkVfQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKSB8fCBkZWZpbmVkKEhBVkVfQVJLSVRfSU5MSU5FX1BSRVZJRVdf
TUFDKQorI2RlZmluZSBIQVZFX0FSS0lUX0lOTElORV9QUkVWSUVXIDEKKyNlbmRpZgogI2VuZGlm
CiAKICNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9k
ZWxFbGVtZW50LmNwcAppbmRleCA0NzNhNWQzODUwY2ViODRlY2ZmMzZiZjA0NTU3MDE2NTQ1Yzlh
MmRiLi4yZjJiMjQwOWM5NzA4ZmJlM2Y2ZGRiZWFmNGIwMTE4MDkzNDM2Y2U4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVs
ZW1lbnQuY3BwCkBAIC0xNjcsNiArMTY3LDcgQEAgSFRNTE1vZGVsRWxlbWVudCYgSFRNTE1vZGVs
RWxlbWVudDo6cmVhZHlQcm9taXNlUmVzb2x2ZSgpCiAgICAgcmV0dXJuICp0aGlzOwogfQogCisj
aWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKIHN0YXRpYyBTdHJpbmcmIHNoYXJlZE1vZGVs
RWxlbWVudENhY2hlRGlyZWN0b3J5KCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3Ry
aW5nPiBzaGFyZWRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeTsKQEAgLTE4Miw2ICsxODMsNyBA
QCBjb25zdCBTdHJpbmcmIEhUTUxNb2RlbEVsZW1lbnQ6Om1vZGVsRWxlbWVudENhY2hlRGlyZWN0
b3J5KCkKIHsKICAgICByZXR1cm4gc2hhcmVkTW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKTsK
IH0KKyNlbmRpZgogCiAvLyBNQVJLOiAtIERPTSBvdmVycmlkZXMuCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oCmlu
ZGV4IDgzZjllZDFiM2U4NTI0MTFiOTNlMmNhODBmMjc1YWMyM2YwNGJmZDQuLjA1NWJiNzE1ZTNl
NzY1Zjk4ZTg2ODQ4ZDI3MTE2NmUyODIyZWVlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaApAQCAtNjEsOCAr
NjEsMTAgQEAgcHVibGljOgogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1vZGVsRGF0YSgpIGNv
bnN0OwogICAgIFJlZlB0cjxNb2RlbD4gbW9kZWwoKSBjb25zdDsKIAorI2lmIEhBVkUoQVJLSVRf
SU5MSU5FX1BSRVZJRVcpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0TW9kZWxF
bGVtZW50Q2FjaGVEaXJlY3RvcnkoY29uc3QgU3RyaW5nJik7CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIGNvbnN0IFN0cmluZyYgbW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKTsKKyNlbmRp
ZgogCiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgUGxhdGZvcm1MYXll
ciogcGxhdGZvcm1MYXllcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDb2NvYS5tbSBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q29jb2EubW0KaW5kZXgg
MGIxNGQwMmQ5ODQ5MmIzYmY0YzZiZTFhMGMwNjU2NmU3MTZiNGFkMS4uMjdlYWZjOTBjMDJhZmVh
Y2NlNjk5Mjg1YzE3Nzc1NDRhYjkzOTVkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENvY29hLm1tCkBA
IC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVy
LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oIgorI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSA8cGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5oPgogI2luY2x1
ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpAQCAtMTA3
LDYgKzEwOCw5IEBAIHZvaWQgSFRNTE1vZGVsRWxlbWVudDo6bW9kZWxEaWRDaGFuZ2UoKQogCiB2
b2lkIEhUTUxNb2RlbEVsZW1lbnQ6OmlubGluZVByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQoY29u
c3QgU3RyaW5nJiB1dWlkLCB1aW50MzJfdCBjb250ZXh0SWQpCiB7CisgICAgaWYgKCFkb2N1bWVu
dCgpLnNldHRpbmdzKCkubW9kZWxFbGVtZW50RW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisK
ICAgICBpZiAodXVpZCAhPSAoU3RyaW5nKVttX2lubGluZVByZXZpZXcgdXVpZF0uVVVJRFN0cmlu
ZykgewogICAgICAgICBMT0coTW9kZWxFbGVtZW50LCAiSFRNTE1vZGVsRWxlbWVudDo6aW5saW5l
UHJldmlld0RpZE9idGFpbkNvbnRleHRJZCgpIFVVSUQgbWlzbWF0Y2gsIHJlY2VpdmVkICVzIGJ1
dCBleHBlY3RlZCAlcy4iLCB1dWlkLnV0ZjgoKS5kYXRhKCksICgoU3RyaW5nKVttX2lubGluZVBy
ZXZpZXcgdXVpZF0uVVVJRFN0cmluZykudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggZWU1MDFiNjEzYTAzYTY2
YmQyZDM2NDRhYjRjZjQzY2U5ZDNkNWM0OC4uMTdhNmZhNzNhYmUzMGE2OWRhYmUyYWY0M2ZhZmVh
YmFkNmI5MGVjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTU3
OCwxNiArNTc4LDE2IEBAIHZvaWQgRW1wdHlDaHJvbWVDbGllbnQ6OnNob3dTaGFyZVNoZWV0KFNo
YXJlRGF0YVdpdGhQYXJzZWRVUkwmLCBDb21wbGV0aW9uSGFuZGxlCiB7CiB9CiAKLSNpZiBFTkFC
TEUoTU9ERUxfRUxFTUVOVCkKLQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQog
dm9pZCBFbXB0eUNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29y
ZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEKSBjb25zdAogewogfQorI2VuZGlmCiAK
KyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKIHZvaWQgRW1wdHlDaHJvbWVDbGll
bnQ6Om1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVu
dCYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYp
IGNvbnN0CiB7CiB9Ci0KICNlbmRpZgogCiB2b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKGNvbnN0IE5hdmlnYXRpb25BY3Rp
b24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBGb3JtU3RhdGUqLCBjb25zdCBTdHJpbmcmLCBQ
b2xpY3lDaGVja0lkZW50aWZpZXIsIEZyYW1lUG9saWN5RnVuY3Rpb24mJikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBiYTY3MTU0OTlkZjYxNWM1MDlkMjM0ODM5ZTEyMTA4
YzQ1YTA2ZWQ5Li5mMzA5YzQ5NzViZDViYzA5NWM4NTIyNGEyMzJlNTdhOWZiNzg0NTA2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0yMTYsMTMgKzIxNiwxMyBAQCBjbGFz
cyBFbXB0eUNocm9tZUNsaWVudCA6IHB1YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgZGlk
QXNzb2NpYXRlRm9ybUNvbnRyb2xzKGNvbnN0IFZlY3RvcjxSZWZQdHI8RWxlbWVudD4+JiwgRnJh
bWUmKSBmaW5hbCB7IH0KICAgICBib29sIHNob3VsZE5vdGlmeU9uRm9ybUNoYW5nZXMoKSBmaW5h
bCB7IHJldHVybiBmYWxzZTsgfQogCi0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisjaWYgSEFW
RShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAgICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVs
bHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQpIGNvbnN0IGZp
bmFsOwogI2VuZGlmCiAKICAgICBSZWZQdHI8SWNvbj4gY3JlYXRlSWNvbkZvckZpbGVzKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiAvKiBmaWxlbmFtZXMgKi8pIGZpbmFsIHsgcmV0dXJuIG51bGxwdHI7
IH0KIAotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BS
RVZJRVdfTUFDKQogICAgIHZvaWQgbW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhXZWJDb3Jl
OjpIVE1MTW9kZWxFbGVtZW50JiwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRTaXplJikgY29uc3QgZmluYWw7CiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaAppbmRleCAwZjYyMmZmYjk2OTgwZmI1ZjE5MWVkMTdiMjQwYjZhNTg3MDc1
YzU0Li5hODk2OGM5NDRlNGExYWJhY2M4YzJmZDAzYjk3MWZkM2IzZjhlNzJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTc4LDcgKzc4LDcgQEAgY2xhc3MgV0FLUmVzcG9uZGVy
OwogI2luY2x1ZGUgIk1lZGlhVXNhZ2VJbmZvLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShNT0RF
TF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiBjbGFzcyBIVE1MTW9k
ZWxFbGVtZW50OwogI2VuZGlmCiAKQEAgLTYwMCw4ICs2MDAsMTAgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCB0ZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZUNoYW5nZWQoKSB7IH0K
ICNlbmRpZgogCi0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisjaWYgSEFWRShBUktJVF9JTkxJ
TkVfUFJFVklFV19JT1MpCiAgICAgdmlydHVhbCB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2Ny
ZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3QgeyB9Cisj
ZW5kaWYKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICB2aXJ0dWFsIHZv
aWQgbW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50
JiwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJikg
Y29uc3QgeyB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycy5oCmluZGV4IGJmYzRhOWMyMTIzNmViZDRkYzY5ZTNl
ZWVmOTc0YjI4ZTczZDUwOWQuLjEyOWJmODY2M2JiN2QxN2ZkYThmYmI4MDBjYmZhMGFjYzY1NDk1
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NEYXRhU3RvcmVQ
YXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0RhdGFTdG9y
ZVBhcmFtZXRlcnMuaApAQCAtNTEsNyArNTEsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0RhdGFTdG9y
ZVBhcmFtZXRlcnMgewogICAgIEhhc2hTZXQ8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IGRv
bWFpbnNXaXRoVXNlckludGVyYWN0aW9uOwogICAgIEhhc2hNYXA8VG9wRnJhbWVEb21haW4sIFN1
YlJlc291cmNlRG9tYWluPiBkb21haW5zV2l0aFN0b3JhZ2VBY2Nlc3NRdWlyazsKICNlbmRpZgot
I2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcp
CiAgICAgU3RyaW5nIG1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5OwogICAgIFNhbmRib3hFeHRl
bnNpb246OkhhbmRsZSBtb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZTsK
ICNlbmRpZgpAQCAtNzksNyArNzksNyBAQCB2b2lkIFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0
ZXJzOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IGRvbWFp
bnNXaXRoVXNlckludGVyYWN0aW9uOwogICAgIGVuY29kZXIgPDwgZG9tYWluc1dpdGhTdG9yYWdl
QWNjZXNzUXVpcms7CiAjZW5kaWYKLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZF
KEFSS0lUX0lOTElORV9QUkVWSUVXKQogICAgIGVuY29kZXIgPDwgbW9kZWxFbGVtZW50Q2FjaGVE
aXJlY3Rvcnk7CiAgICAgZW5jb2RlciA8PCBtb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeUV4dGVu
c2lvbkhhbmRsZTsKICNlbmRpZgpAQCAtMTUwLDcgKzE1MCw3IEBAIHN0ZDo6b3B0aW9uYWw8V2Vi
UHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnM+IFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJz
OjpkZWNvCiAgICAgaWYgKCFkb21haW5zV2l0aFN0b3JhZ2VBY2Nlc3NRdWlyaykKICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKICNlbmRpZgotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQor
I2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgICAgIFN0cmluZyBtb2RlbEVsZW1l
bnRDYWNoZURpcmVjdG9yeTsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShtb2RlbEVsZW1l
bnRDYWNoZURpcmVjdG9yeSkpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAt
MTgxLDcgKzE4MSw3IEBAIHN0ZDo6b3B0aW9uYWw8V2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRl
cnM+IFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzOjpkZWNvCiAgICAgICAgIFdURk1vdmUo
KmRvbWFpbnNXaXRoVXNlckludGVyYWN0aW9uKSwKICAgICAgICAgV1RGTW92ZSgqZG9tYWluc1dp
dGhTdG9yYWdlQWNjZXNzUXVpcmspLAogI2VuZGlmCi0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQp
CisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKICAgICAgICAgV1RGTW92ZShtb2RlbEVs
ZW1lbnRDYWNoZURpcmVjdG9yeSksCiAgICAgICAgIFdURk1vdmUoKm1vZGVsRWxlbWVudENhY2hl
RGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKSwKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1t
CmluZGV4IGYyY2ZlODIyZWQzZmZhMTA1NzkzZjk3YmMyYjJiZjBiNmM1NTE4ZGYuLjY1ZWE5OThi
OWZmM2YwM2ZkMjdiNmNkZGZmMWEzZmRjYzhmNGQwZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2Eu
bW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTW9kZWxF
bGVtZW50Q29udHJvbGxlci5oIgogCi0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCisjaWYgSEFW
RShBUktJVF9JTkxJTkVfUFJFVklFVykKIAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAi
V2ViUGFnZVByb3h5LmgiCkBAIC01NSw2ICs1NSw5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB2
b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKIHsK
KyAgICBpZiAoIW1fd2ViUGFnZVByb3h5LT5wcmVmZXJlbmNlcygpLm1vZGVsRWxlbWVudEVuYWJs
ZWQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKCFpczxSZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYVByb3h5PihtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKSkKICAgICAgICAgcmV0
dXJuOwogCkBAIC0xMjMsNiArMTI2LDkgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0
YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjoKIAogdm9p
ZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjptb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KGNv
bnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiBjb250ZXh0LCBjb25zdCBVUkwmIGZpbGVVUkws
IGNvbnN0IFN0cmluZyYgdXVpZCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplKQogewor
ICAgIGlmICghbV93ZWJQYWdlUHJveHkucHJlZmVyZW5jZXMoKS5tb2RlbEVsZW1lbnRFbmFibGVk
KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gcHJldmlldyA9IGFkb3B0TlMoW2FsbG9j
QVNWSW5saW5lUHJldmlld0luc3RhbmNlKCkgaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAs
IHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSkgVVVJRDpbW05TVVVJRCBhbGxvY10gaW5pdFdp
dGhVVUlEU3RyaW5nOnV1aWRdXSk7CiAKICAgICBMT0coTW9kZWxFbGVtZW50LCAiQ3JlYXRlZCBy
ZW1vdGUgcHJldmlldyB3aXRoIFVVSUQgJXMuIiwgdXVpZC51dGY4KCkuZGF0YSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5jcHAKaW5k
ZXggN2RmNmRjNzYxMjNmY2UwNTY4OWIzZjc1NDE5ODg4MGQyZTVjMjczNy4uMzgxNWQ4MDBjZDU1
N2UyMjZjZGM3NjdjN2JmZjM2ZGIwOGY0OTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNb2RlbEVsZW1lbnRDb250cm9sbGVyLmgiCiAK
LSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVX
KQogCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaAppbmRleCA5Yjk3MjI4ZjUzNzIwMzdlNTI2
ZThhM2I1ZmY1NWZmNDJjNzEzNGU5Li45YTA4OGRhMTI4YzViYzZlYzJkMjY1ZTg0NTIyM2JkMzE3
N2JjNzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRD
b250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29u
dHJvbGxlci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxF
KE1PREVMX0VMRU1FTlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKIAogI2luY2x1
ZGUgPFdlYkNvcmUvRWxlbWVudENvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNz
TGF5ZXIuaD4KQEAgLTUxLDcgKzUxLDYgQEAgcHVibGljOgogI2lmIEhBVkUoQVJLSVRfSU5MSU5F
X1BSRVZJRVdfSU9TKQogICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29y
ZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKTsKICNlbmRp
ZgotCiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVs
ZW1lbnREaWRDcmVhdGVQcmV2aWV3KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29u
c3QgVVJMJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJik7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAwNjUwZjYwY2I3OWVkOTRl
OTZjNzA5YTI2ZDk5MmRkNTRjODc2NGFiLi42NzA0MTY0YTk1M2UwZWY0NWY0YTgyNzg1MDNiMGZi
NzhmYTQ5NjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0xMzIsMTAg
KzEzMiw2IEBAIHN0cnVjdCBQcm9taXNlZEF0dGFjaG1lbnRJbmZvOwogI2lmIEhBVkUoVFJBTlNM
QVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQogc3RydWN0IFRyYW5z
bGF0aW9uQ29udGV4dE1lbnVJbmZvOwogI2VuZGlmCi0KLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVO
VCkKLXN0cnVjdCBFbGVtZW50Q29udGV4dDsKLSNlbmRpZgogfQogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDlmZjBjMjQ2
ZTFkMzEwMGIwOGI5OTgxNTMyODdjMTE3ZDI4OGQ0MDEuLjM3ZDZiYTZiY2I2Mjg1NThiZWE3YTVl
OGQ5ZjQwZGNkNTUwZTBlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcApAQCAtMTAyMyw5ICsxMDIzLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRBdHRhY2hU
b1J1bm5pbmdQcm9jZXNzKCkKICAgICBtX3N5c3RlbVByZXZpZXdDb250cm9sbGVyID0gbWFrZVVu
aXF1ZTxTeXN0ZW1QcmV2aWV3Q29udHJvbGxlcj4oKnRoaXMpOwogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoTU9ERUxfRUxFTUVOVCkKLSAgICBBU1NFUlQoIW1fbW9kZWxFbGVtZW50Q29udHJvbGxlcik7
Ci0gICAgbV9tb2RlbEVsZW1lbnRDb250cm9sbGVyID0gbWFrZVVuaXF1ZTxNb2RlbEVsZW1lbnRD
b250cm9sbGVyPigqdGhpcyk7CisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyAgICBp
ZiAobV9wcmVmZXJlbmNlcy0+bW9kZWxFbGVtZW50RW5hYmxlZCgpKSB7CisgICAgICAgIEFTU0VS
VCghbV9tb2RlbEVsZW1lbnRDb250cm9sbGVyKTsKKyAgICAgICAgbV9tb2RlbEVsZW1lbnRDb250
cm9sbGVyID0gbWFrZVVuaXF1ZTxNb2RlbEVsZW1lbnRDb250cm9sbGVyPigqdGhpcyk7CisgICAg
fQogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQpAQCAtNzc3Niw3ICs3Nzc4LDcgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGUoUmVzZXRTdGF0ZVJlYXNvbiByZXNldFN0YXRl
UmVhc29uKQogICAgIG1fc3lzdGVtUHJldmlld0NvbnRyb2xsZXIgPSBudWxscHRyOwogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVW
SUVXKQogICAgIG1fbW9kZWxFbGVtZW50Q29udHJvbGxlciA9IG51bGxwdHI7CiAjZW5kaWYKIApA
QCAtMTA2ODgsMjAgKzEwNjkwLDE3IEBAIFdlYkNvcmU6OkNhcHR1cmVTb3VyY2VPckVycm9yIFdl
YlBhZ2VQcm94eTo6Y3JlYXRlUmVhbHRpbWVNZWRpYVNvdXJjZUZvclNwZWVjaFJlCiAKICNlbmRp
ZgogCi0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQpCi0KKyNpZiBIQVZFKEFSS0lUX0lOTElORV9Q
UkVWSUVXX0lPUykKIHZvaWQgV2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVl
bihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQp
CiB7Ci0jaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAgICAgbW9kZWxFbGVtZW50
Q29udHJvbGxlcigpLT50YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihjb250ZW50TGF5ZXJJZCk7
Ci0jZW5kaWYKIH0KKyNlbmRpZgogCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMp
CiB2b2lkIFdlYlBhZ2VQcm94eTo6bW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhjb25zdCBX
ZWJDb3JlOjpFbGVtZW50Q29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgdXVpZCwgY29uc3QgRmxvYXRTaXplJiBzaXplKQogewotI2lmIEhBVkUoQVJLSVRfSU5M
SU5FX1BSRVZJRVdfTUFDKQogICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+bW9kZWxFbGVt
ZW50RGlkQ3JlYXRlUHJldmlldyhjb250ZXh0LCB1cmwsIHV1aWQsIHNpemUpOwotI2VuZGlmCiB9
CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojptb2RlbEVsZW1lbnRQcmV2aWV3RGlkT2J0YWluQ29udGV4
dElkKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiBjb250ZXh0LCBjb25zdCBTdHJpbmcm
IHV1aWQsIHVpbnQzMl90IGNvbnRleHRJZCkKQEAgLTEwNzA5LDcgKzEwNzA4LDYgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQoY29uc3Qg
V2ViQ29yZTo6RWxlbWVudEMKICAgICBpZiAoaGFzUnVubmluZ1Byb2Nlc3MoKSkKICAgICAgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TW9kZWxFbGVtZW50UHJldmlld0RpZE9idGFpbkNvbnRl
eHRJZChjb250ZXh0LCB1dWlkLCBjb250ZXh0SWQpKTsKIH0KLQogI2VuZGlmCiAKICNpZiAhUExB
VEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDdh
ODM3ZjNjNDViOTk2Zjk3ZmE5NjFlNjBlYTk2YWVjYjhmNzQyMTQuLmI1N2M4MmZkZDBjNDc5NmIy
MDcwNmM0YzI0MWUxNjFmMzA4ZjBlOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCkBAIC0xODksNyArMTg5LDcgQEAgaW50ZXJmYWNlIElEM0QxMURldmljZTE7CiAjaW5j
bHVkZSAiUGxhdGZvcm1YUlN5c3RlbS5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxF
TUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogI2luY2x1ZGUgIk1vZGVsRWxl
bWVudENvbnRyb2xsZXIuaCIKICNlbmRpZgogCkBAIC01NzMsOSArNTczLDEzIEBAIHB1YmxpYzoK
ICAgICB2b2lkIHN5c3RlbVByZXZpZXdBY3Rpb25UcmlnZ2VyZWQoY29uc3QgV2ViQ29yZTo6U3lz
dGVtUHJldmlld0luZm8mLCBjb25zdCBTdHJpbmcmKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1P
REVMX0VMRU1FTlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKICAgICBNb2RlbEVs
ZW1lbnRDb250cm9sbGVyKiBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCkgeyByZXR1cm4gbV9tb2Rl
bEVsZW1lbnRDb250cm9sbGVyLmdldCgpOyB9CisjZW5kaWYKKyNpZiBIQVZFKEFSS0lUX0lOTElO
RV9QUkVWSUVXX0lPUykKICAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCk7CisjZW5k
aWYKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICB2b2lkIG1vZGVsRWxl
bWVudERpZENyZWF0ZVByZXZpZXcoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBjb25z
dCBVUkwmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2
b2lkIG1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQoY29uc3QgV2ViQ29yZTo6
RWxlbWVudENvbnRleHQmLCBjb25zdCBTdHJpbmcmLCB1aW50MzJfdCk7CiAjZW5kaWYKQEAgLTI2
MDgsNyArMjYxMiw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFN5c3RlbVByZXZp
ZXdDb250cm9sbGVyPiBtX3N5c3RlbVByZXZpZXdDb250cm9sbGVyOwogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogICAg
IHN0ZDo6dW5pcXVlX3B0cjxNb2RlbEVsZW1lbnRDb250cm9sbGVyPiBtX21vZGVsRWxlbWVudENv
bnRyb2xsZXI7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDAyN2E3MGM4ZDgyOTA2MjAxOWEyMTY3MDUzNzhiOGQ4
NzI3ZDEwYWYuLmUzYjY4MGZkNDE3MWE1ZGQ2NTI1MTc0M2VmNWY1NTg2ZDUzOGI4N2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAg
LTU5Myw4ICs1OTMsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBDaGFuZ2VV
bml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMoV2ViQ29yZTo6SW50UmVjdCB2aWV3UmVjdCwgV2ViQ29y
ZTo6SW50UmVjdCBjYXJldFJlY3QpCiAjZW5kaWYKIAotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5U
KQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQogICAgIFRha2VNb2RlbEVsZW1l
bnRGdWxsc2NyZWVuKHVpbnQ2NF90IGNvbnRlbnRMYXllcklEKQorI2VuZGlmCisjaWYgSEFWRShB
UktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgTW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmll
dyhzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENvbnRleHQsIFVSTCB1cmws
IFN0cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkKICNlbmRpZgogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGJhOWU3Y2UzNDJkOWU2
NjIxZGYzMDdiMTMwNjM2YmY2MGZjNWM1Y2MuLjk0MjU5ZDVhM2Y3MzU4MGJlYmNkYWFiYzc4YmQ0
ODdlODM1MTBjNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKQEAgLTY5NSw3ICs2OTUsNyBAQCBXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycyBXZWJQ
cm9jZXNzUG9vbDo6d2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMoV2ViUAogICAgIGlmICgh
amF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVXaXRob3V0UmVzb2x2aW5nUGF0aChqYXZhU2NyaXB0
Q29uZmlndXJhdGlvbkRpcmVjdG9yeSwgU2FuZGJveEV4dGVuc2lvbjo6VHlwZTo6UmVhZFdyaXRl
LCBqYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAKLSNp
ZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQog
ICAgIGF1dG8gbW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkgPSB3ZWJzaXRlRGF0YVN0b3JlLnJl
c29sdmVkTW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKTsKICAgICBTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGUgbW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAg
aWYgKCFtb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeS5pc0VtcHR5KCkpCkBAIC03MTgsNyArNzE4
LDcgQEAgV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMgV2ViUHJvY2Vzc1Bvb2w6OndlYlBy
b2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzKFdlYlAKICAgICAgICAgbV9kb21haW5zV2l0aFVzZXJJ
bnRlcmFjdGlvbiwKICAgICAgICAgbV9kb21haW5zV2l0aENyb3NzUGFnZVN0b3JhZ2VBY2Nlc3NR
dWlyaywKICNlbmRpZgotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRf
SU5MSU5FX1BSRVZJRVcpCiAgICAgICAgIFdURk1vdmUobW9kZWxFbGVtZW50Q2FjaGVEaXJlY3Rv
cnkpLAogICAgICAgICBXVEZNb3ZlKG1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5RXh0ZW5zaW9u
SGFuZGxlKSwKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4
IGI4M2JhOGZjZWM1ZDAwM2NkOTc3NzA4MjVhZWE1NjFiYTVhOGVlMWIuLjI4MTQ4NGFhZjlhMTk2
ZjBlZmFlODcyZDkwYzYwOGI3ODRhM2FlNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3Jl
Q29jb2EubW0KQEAgLTMyMSw3ICszMjEsNyBAQCBXVEY6OlN0cmluZyBXZWJzaXRlRGF0YVN0b3Jl
OjpkZWZhdWx0SmF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoKQogICAgIHJldHVybiB0
ZW1wRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJKYXZhU2NyaXB0Q29yZURlYnVn
IiwgU2hvdWxkQ3JlYXRlRGlyZWN0b3J5OjpObyk7CiB9CiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxF
TUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogV1RGOjpTdHJpbmcgV2Vic2l0
ZURhdGFTdG9yZTo6ZGVmYXVsdE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCkKIHsKICAgICBy
ZXR1cm4gdGVtcERpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigiTW9kZWxFbGVtZW50
IiwgU2hvdWxkQ3JlYXRlRGlyZWN0b3J5OjpObyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IGYxNDIx
MjI3MDQ3ZTk0ZDJlYTNhZTBiMDZmYzhhYjM3ZjMwNjZjNzIuLmRjNDQzYWQ1YWM5MTYzYTY2MjQ3
N2MyYWYwOGU3NDM4MzIwMTYxOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBAIC0yNjUsNyArMjY1LDcg
QEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpyZXNvbHZlRGlyZWN0b3JpZXNJZk5lY2Vzc2FyeSgp
CiAgICAgICAgIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5zZXRDYWNoZVN0b3JhZ2VEaXJlY3Rv
cnkocmVzb2x2ZVBhdGhGb3JTYW5kYm94RXh0ZW5zaW9uKG1fY29uZmlndXJhdGlvbi0+Y2FjaGVT
dG9yYWdlRGlyZWN0b3J5KCkpKTsKICAgICBpZiAoIW1fY29uZmlndXJhdGlvbi0+aHN0c1N0b3Jh
Z2VEaXJlY3RvcnkoKS5pc0VtcHR5KCkgJiYgbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPmhzdHNT
dG9yYWdlRGlyZWN0b3J5KCkuaXNFbXB0eSgpKQogICAgICAgICBtX3Jlc29sdmVkQ29uZmlndXJh
dGlvbi0+c2V0SFNUU1N0b3JhZ2VEaXJlY3RvcnkocmVzb2x2ZVBhdGhGb3JTYW5kYm94RXh0ZW5z
aW9uKG1fY29uZmlndXJhdGlvbi0+aHN0c1N0b3JhZ2VEaXJlY3RvcnkoKSkpOwotI2lmIEVOQUJM
RShNT0RFTF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgaWYg
KCFtX2NvbmZpZ3VyYXRpb24tPm1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCkuaXNFbXB0eSgp
KQogICAgICAgICBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi0+c2V0TW9kZWxFbGVtZW50Q2FjaGVE
aXJlY3RvcnkocmVzb2x2ZUFuZENyZWF0ZVJlYWRXcml0ZURpcmVjdG9yeUZvclNhbmRib3hFeHRl
bnNpb24obV9jb25maWd1cmF0aW9uLT5tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpKSk7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaAppbmRleCA2NDhiZDRjZTliODBlMjM1NmVlMmIxOTI4ODc1ZjA0MTMx
Nzk5NWJhLi4zMGIyMTdhMjdlYjIxMzc1NzdlZmEyOTE5MzJhZGY1NWUyYTY0ZDM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5oCkBAIC0yNTMsNyArMjUzLDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmVz
b2x2ZWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4g
bV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rv
cnkoKTsgfQogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPnJlc291
cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoKTsgfQogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2
ZWRIU1RTU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1
cmF0aW9uLT5oc3RzU3RvcmFnZURpcmVjdG9yeSgpOyB9Ci0jaWYgRU5BQkxFKE1PREVMX0VMRU1F
TlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKICAgICBjb25zdCBTdHJpbmcmIHJl
c29sdmVkTW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3Jlc29s
dmVkQ29uZmlndXJhdGlvbi0+bW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKTsgfQogI2VuZGlm
CiAKQEAgLTMzMiw3ICszMzIsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKEdMSUIpCiAgICAgc3RhdGlj
IFdURjo6U3RyaW5nIGRlZmF1bHRIU1RTRGlyZWN0b3J5KCk7CiAjZW5kaWYKLSNpZiBFTkFCTEUo
TU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogICAgIHN0YXRp
YyBXVEY6OlN0cmluZyBkZWZhdWx0TW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKTsKICNlbmRp
ZgogICAgIHN0YXRpYyBXVEY6OlN0cmluZyBkZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rv
cnkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcAppbmRleCA3NWFi
NWFkOTg2YzQ4MGVmZGFhZmI1ODEwZmU0ZGE0MDFjNWE2MTFmLi43YmUyYzk0ZWZiOWM2ZDZiYTFi
ZWRkZjE2YTc1OWFiMmIzMGE2YWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24uY3BwCkBAIC00Nyw3ICs0Nyw3IEBAIFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9u
OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbihJc1BlcnNpc3RlbnQgaXNQZXJzCiAgICAg
ICAgIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6
ZGVmYXVsdFJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoKSk7CiAgICAgICAgIHNldERl
dmljZUlkSGFzaFNhbHRzU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0
RGV2aWNlSWRIYXNoU2FsdHNTdG9yYWdlRGlyZWN0b3J5KCkpOwogICAgICAgICBzZXRKYXZhU2Ny
aXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0SmF2YVNj
cmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoKSk7Ci0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQp
CisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKICAgICAgICAgc2V0TW9kZWxFbGVtZW50
Q2FjaGVEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1vZGVsRWxlbWVudENhY2hl
RGlyZWN0b3J5KCkpOwogI2VuZGlmCiAgICAgfQpAQCAtMTAwLDcgKzEwMCw3IEBAIFJlZjxXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246
OmNvcHkoKSBjb25zdAogICAgIGlmIChtX3Byb3h5Q29uZmlndXJhdGlvbikKICAgICAgICAgY29w
eS0+bV9wcm94eUNvbmZpZ3VyYXRpb24gPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZUNvcHko
bnVsbHB0ciwgdGhpcy0+bV9wcm94eUNvbmZpZ3VyYXRpb24uZ2V0KCkpKTsKICNlbmRpZgotI2lm
IEVOQUJMRShNT0RFTF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAg
ICAgY29weS0+bV9tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSA9IHRoaXMtPm1fbW9kZWxFbGVt
ZW50Q2FjaGVEaXJlY3Rvcnk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1
cmF0aW9uLmgKaW5kZXggZGZhMTY1NmE4NGYwODNiNGI1NGEzZDczZGQzNWMzN2RiMzJmOGFhNy4u
MGIwZGI0ZDQzMGNjNmExNjBlZDc3ZjU0MjU1MGYxZTU5ZDFiNjNhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAgICBj
b25zdCBTdHJpbmcmIGxvY2FsU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9j
YWxTdG9yYWdlRGlyZWN0b3J5OyB9CiAgICAgdm9pZCBzZXRMb2NhbFN0b3JhZ2VEaXJlY3Rvcnko
U3RyaW5nJiYgZGlyZWN0b3J5KSB7IG1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5ID0gV1RGTW92ZShk
aXJlY3RvcnkpOyB9CiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lU
X0lOTElORV9QUkVWSUVXKQogICAgIGNvbnN0IFN0cmluZyYgbW9kZWxFbGVtZW50Q2FjaGVEaXJl
Y3RvcnkoKSBjb25zdCB7IHJldHVybiBtX21vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5OyB9CiAg
ICAgdm9pZCBzZXRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeShTdHJpbmcmJiBkaXJlY3Rvcnkp
IHsgbV9tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSA9IFdURk1vdmUoZGlyZWN0b3J5KTsgfQog
I2VuZGlmCkBAIC0xODQsNyArMTg0LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9zZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5OwogICAgIFN0cmluZyBtX3dlYlNRTERhdGFiYXNl
RGlyZWN0b3J5OwogICAgIFN0cmluZyBtX2hzdHNTdG9yYWdlRGlyZWN0b3J5OwotI2lmIEVOQUJM
RShNT0RFTF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgU3Ry
aW5nIG1fbW9kZWxFbGVtZW50Q2FjaGVEaXJlY3Rvcnk7CiAjZW5kaWYKICNpZiBVU0UoR0xJQikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggOGNkNGM4YTAxMjJkNDNjMzA0MDgzYjI2ZTBhYTUx
MGIzMzdhMDBiZC4uODlmMDVkNWNjNzA2NGFjZWU0NWNmMDlhNTMwMTQzYjVlM2EyZmUxZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTE1MTUsMTggKzE1MTUsMTggQEAgdm9pZCBXZWJDaHJv
bWVDbGllbnQ6OmRpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50KCkKICAg
ICBtX3BhZ2UuZGlkSGFuZGxlT3JQcmV2ZW50TW91c2VEb3duT3JNb3VzZVVwRXZlbnQoKTsKIH0K
IAotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQotCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJF
VklFV19JT1MpCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3Jl
ZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklk
KSBjb25zdAogewogICAgIG1fcGFnZS50YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihjb250ZW50
TGF5ZXJJZCk7CiB9CisjZW5kaWYKIAorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFD
KQogdm9pZCBXZWJDaHJvbWVDbGllbnQ6Om1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoV2Vi
Q29yZTo6SFRNTE1vZGVsRWxlbWVudCYgZWxlbWVudCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgdXVpZCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplKSBjb25zdAogewogICAg
IG1fcGFnZS5tb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KGVsZW1lbnQsIHVybCwgdXVpZCwg
c2l6ZSk7CiB9Ci0KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAppbmRleCAyYzlkMTI3MzBmZTBhZDk3OWY5NTIwZTkxNTk1N2E5MzYxMWViNzkwLi5lYjVj
OWU4ODg3MDk2ZDc5NjFiMGRiZTM1MDNmOWI4NDYyNmFmNzMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CkBAIC00NTIsOCArNDUyLDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBlbnVtZXJhdGVJbW1lcnNp
dmVYUkRldmljZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBQbGF0Zm9ybVhSOjpJbnN0
YW5jZTo6RGV2aWNlTGlzdCYpPiYmKSBmaW5hbDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1PREVM
X0VMRU1FTlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAgICAgdm9pZCB0
YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9y
bUxheWVySUQgY29udGVudExheWVySWQpIGNvbnN0IGZpbmFsOworI2VuZGlmCisjaWYgSEFWRShB
UktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVsZW1lbnREaWRDcmVhdGVQ
cmV2aWV3KFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJp
bmcmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDcwODBh
NzdlNGVjY2RhMzRjZWIwMjY4MTczM2IyYTAzZmYwZjQyOTAuLmFjZjgyYzk2ZGZiN2FjMmVkZWUw
MWVhODhhNjc2ZGYyMzMzNWIwZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC0yNjksNyArMjY5LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Fw
cEhpZ2hsaWdodFN0b3JhZ2UuaD4KICNlbmRpZgogCi0jaWYgRU5BQkxFKE1PREVMX0VMRU1FTlQp
CisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxN
b2RlbEVsZW1lbnQuaD4KICNlbmRpZgogCkBAIC03Njc4LDEzICs3Njc4LDE0IEBAIHZvaWQgV2Vi
UGFnZTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRl
eHRNZW51SW5mbyYgaW5mCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQot
CisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiB2b2lkIFdlYlBhZ2U6OnRha2VN
b2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5
ZXJJRCBjb250ZW50TGF5ZXJJZCkKIHsKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OlRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKGNvbnRlbnRMYXllcklkKSk7CiB9CisjZW5kaWYK
IAorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogdm9pZCBXZWJQYWdlOjptb2Rl
bEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQmIGVsZW1l
bnQsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHV1aWQsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0U2l6ZSYgc2l6ZSkKIHsKICAgICBpZiAoYXV0byBlbGVtZW50Q29udGV4dCA9IGNvbnRleHRG
b3JFbGVtZW50KGVsZW1lbnQpKQpAQCAtNzY5MywxNyArNzY5NCwxMCBAQCB2b2lkIFdlYlBhZ2U6
Om1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudCYg
ZWxlbWVudCwgYwogCiB2b2lkIFdlYlBhZ2U6Om1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5D
b250ZXh0SWQoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmIGVsZW1lbnRDb250ZXh0LCBj
b25zdCBTdHJpbmcmIHV1aWQsIHVpbnQzMl90IGNvbnRleHRJZCkKIHsKLSNpZiBIQVZFKEFSS0lU
X0lOTElORV9QUkVWSUVXX01BQykKICAgICBhdXRvIGVsZW1lbnQgPSBlbGVtZW50Rm9yQ29udGV4
dChlbGVtZW50Q29udGV4dCk7CiAgICAgaWYgKGlzPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQ+
KGVsZW1lbnQpKQogICAgICAgICBkb3duY2FzdDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Pigq
ZWxlbWVudCkuaW5saW5lUHJldmlld0RpZE9idGFpbkNvbnRleHRJZCh1dWlkLCBjb250ZXh0SWQp
OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZWxlbWVudENvbnRleHQpOwotICAgIFVOVVNFRF9Q
QVJBTSh1dWlkKTsKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dElkKTsKLSNlbmRpZgogfQotCiAj
ZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNzkwMWRiMmJhZTMzOTZjZjI5NGIyYmI3ZDA3NGQxZTJh
ZTJiYTg1Ny4uMjU0NTFmMDk2MjcxYjU0ZjQyYjQ0NGZkYjZlNDVlZTU2NGE3MWUxOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMjEwLDcgKzIxMCw3
IEBAIGNsYXNzIFN1YnN0aXR1dGVEYXRhOwogY2xhc3MgVGV4dENoZWNraW5nUmVxdWVzdDsKIGNs
YXNzIFZpc2libGVQb3NpdGlvbjsKIAotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UKQorI2lmIEhB
VkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiBjbGFzcyBIVE1MTW9kZWxFbGVtZW50OwogI2VuZGlm
CiAKQEAgLTE0NjUsOCArMTQ2NSwxMCBAQCBwdWJsaWM6CiAgICAgUGxhdGZvcm1YUlN5c3RlbVBy
b3h5JiB4clN5c3RlbVByb3h5KCk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5U
KQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQogICAgIHZvaWQgdGFrZU1vZGVs
RWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklE
IGNvbnRlbnRMYXllcklkKTsKKyNlbmRpZgorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
TUFDKQogICAgIHZvaWQgbW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhXZWJDb3JlOjpIVE1M
TW9kZWxFbGVtZW50JiwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6
RmxvYXRTaXplJik7CiAgICAgdm9pZCBtb2RlbEVsZW1lbnRQcmV2aWV3RGlkT2J0YWluQ29udGV4
dElkKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29uc3QgU3RyaW5nJiwgdWludDMy
X3QpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAzMjBhMjdlN2FjNDRjN2QxMDU0YzNkMzMzZDRlNjQ1
MWM0M2QxMzc3Li43YWZiOTg5NTllN2U0ZWI4NjVkMDg3MTA3MDZiMTRlNTA0M2NkMGRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW4KQEAgLTY0NCw3ICs2NDQsNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5k
KGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogICAgIFVw
ZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQoc3RydWN0IFdlYkNvcmU6OlRleHRSZWNvZ25p
dGlvblJlc3VsdCByZXN1bHQsIHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBlbGVtZW50
LCBXZWJDb3JlOjpGbG9hdFBvaW50IGxvY2F0aW9uKSAtPiAoZW51bTp1aW50OF90IFdlYktpdDo6
VGV4dFJlY29nbml0aW9uVXBkYXRlUmVzdWx0IHJlc3VsdCkgQXN5bmMKICNlbmRpZgogCi0jaWYg
RU5BQkxFKE1PREVMX0VMRU1FTlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMp
CiAgICAgTW9kZWxFbGVtZW50UHJldmlld0RpZE9idGFpbkNvbnRleHRJZChzdHJ1Y3QgV2ViQ29y
ZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENvbnRleHQsIFN0cmluZyB1dWlkLCB1aW50MzJfdCBj
b250ZXh0SWQpCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cAppbmRleCA3YzRlZmZkYjc0MzE2ZGFjZGMxYTM0MzFhOTJlM2IyZjljOGI3NDc5Li44N2NjNDIy
YTU5MmRiYjZjNTQ3MjE5MTg5YTU3ODU3ZGE5NGQxMjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNDEsNyArMTQxLDcgQEAKICNpbmNsdWRlIDx3dGYvVVJM
UGFyc2VyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCi0jaWYgRU5BQkxF
KE1PREVMX0VMRU1FTlQpCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFVykKICNpbmNsdWRl
IDxXZWJDb3JlL0hUTUxNb2RlbEVsZW1lbnQuaD4KICNlbmRpZgogCkBAIC01NzIsNyArNTcyLDcg
QEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyhXZWJQcm9j
ZXNzRGF0YVN0b3JlUGFyYW1ldGVycyYmIHAKICAgICAgICAgV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6c2V0TWVkaWFDYWNoZURpcmVjdG9yeShwYXJhbWV0ZXJzLm1lZGlhQ2FjaGVEaXJlY3Rv
cnkpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKKyNpZiBIQVZFKEFSS0lU
X0lOTElORV9QUkVWSUVXKQogICAgIGlmICghcGFyYW1ldGVycy5tb2RlbEVsZW1lbnRDYWNoZURp
cmVjdG9yeS5pc0VtcHR5KCkpCiAgICAgICAgIFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQ6OnNl
dE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KHBhcmFtZXRlcnMubW9kZWxFbGVtZW50Q2FjaGVE
aXJlY3RvcnkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCA3NGY0ZjgzNTdkY2FkNGQyNWQzMzUwNGRiMjZhYjkz
NWEwYjYwNzZkLi5lZGY0MjIxZWJkNTkxMjA1NzNmZTRmYjhjZGQ1YTA1NWJlZTM5ZmQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
QEAgLTQ4MSw3ICs0ODEsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0V2Vic2l0ZURh
dGFTdG9yZVBhcmFtZXRlcnMoV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZQogICAgIFNhbmRib3hF
eHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLm1lZGlhQ2FjaGVEaXJlY3Rv
cnlFeHRlbnNpb25IYW5kbGUpOwogICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5l
bnRseShwYXJhbWV0ZXJzLm1lZGlhS2V5U3RvcmFnZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7
CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMuamF2
YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwotI2lmIEVOQUJM
RShNT0RFTF9FTEVNRU5UKQorI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgU2Fu
ZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMubW9kZWxFbGVtZW50
Q2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlmCiAjZW5kaWYK
</data>
<flag name="review"
          id="454721"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>