<?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>206354</bug_id>
          
          <creation_ts>2020-01-16 07:20:02 -0800</creation_ts>
          <short_desc>Platform.h is out of control Part 6: Split USE_* macro definitions out of Platform.h and into a new PlatformUse.h</short_desc>
          <delta_ts>2020-01-16 19:04:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>andersca</cc>
    
    <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mitz</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1607457</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-16 07:20:02 -0800</bug_when>
    <thetext>Platform.h is out of control Part 6: Split USE_* macro definitions out of Platform.h and into a new PlatformUse.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607458</commentid>
    <comment_count>1</comment_count>
      <attachid>387916</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-16 07:23:14 -0800</bug_when>
    <thetext>Created attachment 387916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607592</commentid>
    <comment_count>2</comment_count>
      <attachid>387916</attachid>
    <who name="">mitz</who>
    <bug_when>2020-01-16 12:32:01 -0800</bug_when>
    <thetext>Comment on attachment 387916
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607595</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-16 12:35:19 -0800</bug_when>
    <thetext>Committed r254701: &lt;https://trac.webkit.org/changeset/254701&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607596</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-16 12:36:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/58653911&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607829</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-01-16 19:04:55 -0800</bug_when>
    <thetext>Build fix in https://trac.webkit.org/changeset/254732/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387916</attachid>
            <date>2020-01-16 07:23:14 -0800</date>
            <delta_ts>2020-01-16 12:32:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206354-20200116072313.patch</filename>
            <type>text/plain</type>
            <size>42939</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTQ2NzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAxLTE2ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBQbGF0Zm9ybS5oIGlzIG91dCBvZiBjb250cm9sIFBhcnQg
NjogU3BsaXQgVVNFXyogbWFjcm8gZGVmaW5pdGlvbnMgb3V0IG9mIFBsYXRmb3JtLmggYW5kIGlu
dG8gYSBuZXcgUGxhdGZvcm1Vc2UuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA2MzU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQXMgYSBhbm90aGVyIHN0ZXAgdG93YXJkcyBjbGVhbmluZyB1cCBQbGF0
Zm9ybS5oLCBzcGxpdCBvdXQgYWxsIHRoZSBsZWdhY3kgcGxhdGZvcm0KKyAgICAgICAgbWFjcm9z
IGludG8gdGhlaXIgb3duIGZpbGUuCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgIEFkZCBuZXcg
ZmlsZS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBJbiBhZGRpdGlvbiB0byByZW1vdmlu
ZyBhbGwgdGhlIFVTRV8qIG1hY3JvcywgY29uc29saWRhdGUKKyAgICAgICAgYWxsIHRoZSBzdWIt
aW5jbHVkZXMgYXQgdGhlIHRvcC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUVuYWJsZS5oOiBN
b3ZlZCBBU1NFUlRfRU5BQkxFRCBoZXJlIGZyb20gUGxhdGZvcm0uaCwgCisgICAgICAgIGFzIGl0
IG1ha2VzIG1vcmUgc2Vuc2UgaGVyZS4gRXZlbnR1YWxseSBzaG91bGQgYmUgcmVuYW1lZCBybyBF
TkFCTEVfQVNTRVJUIAorICAgICAgICBmb3IgY29uc2lzdGVuY3kuCisKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1Vc2UuaDogQ29waWVkIGZyb20gU291cmNlL1dURi93dGYvUGxhdGZvcm0uaC4KKwog
MjAyMC0wMS0xNSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUGxh
dGZvcm0uaCBpcyBvdXQgb2YgY29udHJvbCBQYXJ0IDU6IFNwbGl0IEhBVkVfKiBtYWNybyBkZWZp
bml0aW9ucyBvdXQgb2YgUGxhdGZvcm0uaCBhbmQgaW50byBhIG5ldyBQbGF0Zm9ybUhhdmUuaApJ
bmRleDogU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAy
NTQ2NzYpCisrKyBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NTUsNiArNDU1LDcgQEAKIAkJN0NERDdGRjcxODZEMjkxRTAwNzQzM0NE
IC8qIEl0ZXJhdG9yQWRhcHRvcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SXRlcmF0b3JBZGFwdG9ycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0REN0ZG
OTE4NkQyQTU0MDA3NDMzQ0QgLyogSXRlcmF0b3JSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJdGVyYXRvclJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdDRUFFNUFDMUVBNkUxMEYwMERCNjg5MCAvKiBOb3RGb3VuZC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBOb3RGb3VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3Q0ZBRjNDOTIzRDBBRjE1MDBEMjFCREQgLyogUGxhdGZvcm1Vc2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1Vc2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0UyOUMzM0QxNUZGRDc5QjAwNTE2RDYxIC8qIE9iakNSdW50aW1lRXh0cmFz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9iakNSdW50aW1lRXh0cmFzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgxMzQwMTM2MTVCMDkyRkQwMDFGRjBCOCAv
KiBCYXNlNjQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmFzZTY0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODEzNDAxMzcxNUIwOTJGRDAwMUZG
MEI4IC8qIEJhc2U2NC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCYXNlNjQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExMzIsNiArMTEzMyw3IEBACiAJCQkJ
N0M0MjMwNzMyM0NFMkQ4QjAwNkU1NEQwIC8qIFBsYXRmb3JtT1MuaCAqLywKIAkJCQlGRTFFMkM0
MTIyNDE4N0M2MDBGNkI3MjkgLyogUGxhdGZvcm1SZWdpc3RlcnMuY3BwICovLAogCQkJCUUzMjAw
QUI0MUU5QTUzNkQwMDNCNTlEMiAvKiBQbGF0Zm9ybVJlZ2lzdGVycy5oICovLAorCQkJCTdDRkFG
M0M5MjNEMEFGMTUwMEQyMUJERCAvKiBQbGF0Zm9ybVVzZS5oICovLAogCQkJCTBGRjg2MDk0MUJD
Q0JENzQwMDQ1MTI3RiAvKiBQb2ludGVyQ29tcGFyaXNvbi5oICovLAogCQkJCUZFQjZCMDM1MjAx
QkUwQjYwMEI5NThDMSAvKiBQb2ludGVyUHJlcGFyYXRpb25zLmggKi8sCiAJCQkJMEY5RDMzNUQx
NjVEQkE3MzAwNUFEMzg3IC8qIFByaW50U3RyZWFtLmNwcCAqLywKSW5kZXg6IFNvdXJjZS9XVEYv
d3RmL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0NNYWtlTGlz
dHMudHh0CShyZXZpc2lvbiAyNTQ2NzYpCisrKyBTb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMTc2LDYgKzE3Niw3IEBAIHNldChXVEZfUFVCTElDX0hFQURF
UlMKICAgICBQbGF0Zm9ybUxlZ2FjeS5oCiAgICAgUGxhdGZvcm1PUy5oCiAgICAgUGxhdGZvcm1S
ZWdpc3RlcnMuaAorICAgIFBsYXRmb3JtVXNlLmgKICAgICBQb2ludGVyQ29tcGFyaXNvbi5oCiAg
ICAgUG9pbnRlclByZXBhcmF0aW9ucy5oCiAgICAgUHJpbnRTdHJlYW0uaApJbmRleDogU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bS5oCShyZXZpc2lvbiAyNTQ2NzYpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMCw2ICszMCw5IEBACiAvKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmlj
IG1hY3JvcyAqLwogI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgogCisvKiBfX1BMQVRGT1JNX0lO
RElSRUNUX18gZW5zdXJlcyB0aGF0IHVzZXJzICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4gcmF0
aGVyIHRoYW4gb25lIG9mIHRoZSBoZWxwZXIgZmlsZXMgZmlsZXMgZGlyZWN0bHkuICovCisjZGVm
aW5lIF9fUExBVEZPUk1fSU5ESVJFQ1RfXworCiAvKiA9PT09IFBsYXRmb3JtIGFkYXB0YXRpb24g
bWFjcm9zOiB0aGVzZSBkZXNjcmliZSBwcm9wZXJ0aWVzIG9mIHRoZSB0YXJnZXQgZW52aXJvbm1l
bnQuID09PT0gKi8KIAogLyogQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8K
QEAgLTUwLDM1ICs1MywyNyBAQAogLyogPT09PSBQb2xpY3kgZGVjaXNpb24gbWFjcm9zOiB0aGVz
ZSBkZWZpbmUgcG9saWN5IGNob2ljZXMgZm9yIGEgcGFydGljdWxhciBwb3J0LiA9PT09ICovCiAK
IC8qIFVTRSgpIC0gdXNlIGEgcGFydGljdWxhciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IG9yIG9wdGlv
bmFsIE9TIHNlcnZpY2UgKi8KLSNkZWZpbmUgVVNFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBVU0Vf
IyNXVEZfRkVBVFVSRSAgJiYgVVNFXyMjV1RGX0ZFQVRVUkUpCi0vKiBFTkFCTEUoKSAtIHR1cm4g
b24gYSBzcGVjaWZpYyBmZWF0dXJlIG9mIFdlYktpdCAqLwotI2RlZmluZSBFTkFCTEUoV1RGX0ZF
QVRVUkUpIChkZWZpbmVkIEVOQUJMRV8jI1dURl9GRUFUVVJFICAmJiBFTkFCTEVfIyNXVEZfRkVB
VFVSRSkKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm1Vc2UuaD4KIAorLyogRU5BQkxFKCkgLSB0dXJu
IG9uIGEgc3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KKyNpbmNsdWRlIDx3dGYvUGxhdGZv
cm1FbmFibGUuaD4KIAorI3VuZGVmIF9fUExBVEZPUk1fSU5ESVJFQ1RfXwogCi0jaWYgUExBVEZP
Uk0oQ09DT0EpCi0jaWYgZGVmaW5lZCBfX2hhc19pbmNsdWRlICYmIF9faGFzX2luY2x1ZGUoPENv
cmVGb3VuZGF0aW9uL0NGUHJpdi5oPikKLSNkZWZpbmUgVVNFX0FQUExFX0lOVEVSTkFMX1NESyAx
Ci0jZW5kaWYKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX2hhc19pbmNsdWRlKDxX
ZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25hbFBsYXRmb3JtLmg+KQorI2luY2x1ZGUgPFdlYktpdEFk
ZGl0aW9ucy9BZGRpdGlvbmFsUGxhdGZvcm0uaD4KICNlbmRpZgogCi0vKiBNSVBTIHJlcXVpcmVz
IGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5ICovCi0jaWYgQ1BVKE1JUFMpIHx8IENQ
VShNSVBTNjQpCi0jZGVmaW5lIFVTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19oYXNfaW5jbHVkZSg8V2ViS2l0QWRkaXRp
b25zL0FkZGl0aW9uYWxGZWF0dXJlRGVmaW5lcy5oPikKKyNpbmNsdWRlIDxXZWJLaXRBZGRpdGlv
bnMvQWRkaXRpb25hbEZlYXR1cmVEZWZpbmVzLmg+CiAjZW5kaWYKIAotLypBUk12NVRFIHJlcXVp
cmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KLSNpZiBkZWZpbmVkKF9fQVJN
X0FSQ0hfNUVfXykgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNVRFSl9fKQotI2RlZmluZSBVU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIg
MQotI2VuZGlmCiAKLS8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVk
IG1lbW9yeSovCi0jaWYgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVFKSB8fCBkZWZpbmVkKF9fVEFS
R0VUX0FSQ0hfNVRFKSB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFSikKLSNkZWZpbmUgVVNF
X0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRpZgogCisvKiBGSVhNRTogVGhl
IGZvbGxvd2luZyBhcmUgY3VycmVubHkgcG9zaXRpb25lZCBhdCB0aGUgYm90dG9tIG9mIHRoaXMg
ZmlsZSBhcyB0aGV5IGVpdGhlcgorICAgYXJlIGN1cnJlbnRseSBkZXBlbmRlbnQgb24gbWFjcm9z
IHRoZXkgc2hvdWxkIG5vdCBiZSBhbmQgbmVlZCB0byBiZSByZWZpbmVkIG9yIGRvIG5vdAorICAg
YmVsb25nIGFzIHBhcnQgb2YgUGxhdGZvcm0uaCBhdCBhbGwuICovCiAKLS8qIE9wZXJhdGluZyBl
bnZpcm9ubWVudHMgKi8KIAogCiAvKiBGSVhNRTogUmVuYW1lIFdURl9DUFVfRUZGRUNUSVZFX0FE
RFJFU1NfV0lEVEggdG8gV1RGX09TX0VGRkVDVElWRV9BRERSRVNTX1dJRFRILCBhcyBpdCBpcyBh
biBPUyBmZWF0dXJlLCBub3QgYSBDUFUgZmVhdHVyZS4gKi8KQEAgLTkzLDY0ICs4OCw2IEBACiAj
ZGVmaW5lIFdURl9DUFVfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggMzIKICNlbmRpZgogCi0vKiBF
eHBvcnQgbWFjcm8gc3VwcG9ydC4gRGV0ZWN0cyB0aGUgYXR0cmlidXRlcyBhdmFpbGFibGUgZm9y
IHNoYXJlZCBsaWJyYXJ5IHN5bWJvbCBleHBvcnQKLSAgIGRlY29yYXRpb25zLiAqLwotI2lmIE9T
KFdJTkRPV1MpIHx8IChDT01QSUxFUl9IQVNfQ0xBTkdfREVDTFNQRUMoZGxsaW1wb3J0KSAmJiBD
T01QSUxFUl9IQVNfQ0xBTkdfREVDTFNQRUMoZGxsZXhwb3J0KSkKLSNkZWZpbmUgVVNFX0RFQ0xT
UEVDX0FUVFJJQlVURSAxCi0jZGVmaW5lIFVTRV9WSVNJQklMSVRZX0FUVFJJQlVURSAwCi0jZWxp
ZiBkZWZpbmVkKF9fR05VQ19fKQotI2RlZmluZSBVU0VfREVDTFNQRUNfQVRUUklCVVRFIDAKLSNk
ZWZpbmUgVVNFX1ZJU0lCSUxJVFlfQVRUUklCVVRFIDEKLSNlbHNlCi0jZGVmaW5lIFVTRV9ERUNM
U1BFQ19BVFRSSUJVVEUgMAotI2RlZmluZSBVU0VfVklTSUJJTElUWV9BVFRSSUJVVEUgMAotI2Vu
ZGlmCi0KLS8qIFN0YW5kYXJkIGxpYnJhcmllcyAqLwotCi0vKiBGSVhNRTogQVNTRVJUX0VOQUJM
RUQgc2hvdWxkIGRlZmluZWQgaW4gZGlmZmVyZW50LCBwZXJoYXBzIGl0cyBvd24sIGZpbGUuICov
Ci0vKiBBU1NFUlRfRU5BQkxFRCBzaG91bGQgYmUgdHJ1ZSBpZiB3ZSB3YW50IHRoZSBjdXJyZW50
IGNvbXBpbGF0aW9uIHVuaXQgdG8KLSAgIGRvIGRlYnVnIGFzc2VydGlvbiBjaGVja3MgdW5jb25k
aXRpb25hbGx5IChlLmcuIHRyZWF0IGEgZGVidWcgQVNTRVJUCi0gICBsaWtlIGEgUkVMRUFTRV9B
U1NFUlQuCi0qLwotI2lmbmRlZiBBU1NFUlRfRU5BQkxFRAotI2lmZGVmIE5ERUJVRwotI2RlZmlu
ZSBBU1NFUlRfRU5BQkxFRCAwCi0jZWxzZQotI2RlZmluZSBBU1NFUlRfRU5BQkxFRCAxCi0jZW5k
aWYKLSNlbmRpZgotCi0KLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBVU0VfQ0cgMQot
I2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX0NBIDEKLSNlbmRpZgot
Ci0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCi0jZGVmaW5lIFVTRV9HTElCIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCi0jZGVmaW5lIFVT
RV9GUkVFVFlQRSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BF
KQotI2RlZmluZSBVU0VfSEFSRkJVWlogMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShHVEspIHx8
IFBMQVRGT1JNKFdQRSkKLSNkZWZpbmUgVVNFX1NPVVAgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKFdQRSkKLSNkZWZpbmUgVVNFX1dFQlAgMQotI2VuZGlmCi0KICNp
ZiBQTEFURk9STShHVEspCiAjZGVmaW5lIEdMSUJfVkVSU0lPTl9NSU5fUkVRVUlSRUQgR0xJQl9W
RVJTSU9OXzJfMzYKICNkZWZpbmUgR0RLX1ZFUlNJT05fTUlOX1JFUVVJUkVEIEdES19WRVJTSU9O
XzNfNgpAQCAtMTY0LDI4ICsxMDEsNiBAQAogI2RlZmluZSBTT1VQX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIFNPVVBfVkVSU0lPTl8yXzQyCiAjZW5kaWYKIAotLyogT24gV2luZG93cywgdXNlIFF1ZXJ5
UGVyZm9ybWFuY2VDb3VudGVyIGJ5IGRlZmF1bHQgKi8KLSNpZiBPUyhXSU5ET1dTKQotI2RlZmlu
ZSBVU0VfUVVFUllfUEVSRk9STUFOQ0VfQ09VTlRFUiAgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShDT0NPQSkKLSNkZWZpbmUgVVNFX0NGIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0Ep
IHx8IChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkpCi0jZGVmaW5lIFVTRV9GSUxFX0xP
Q0sgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX0ZPVU5EQVRJ
T04gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX05FVFdPUktf
Q0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKLSNlbmRpZgotCi0KICNpZiBQTEFURk9STShDT0NPQSkK
IC8qIENvY29hIGRlZmluZXMgYSBzZXJpZXMgb2YgcGxhdGZvcm0gbWFjcm9zIGZvciBkZWJ1Z2dp
bmcuICovCiAvKiBTb21lIG9mIHRoZW0gYXJlIHJlYWxseSBhbm5veWluZyBiZWNhdXNlIHRoZXkg
dXNlIGNvbW1vbiBuYW1lcyAoZS5nLiBjaGVjaygpKS4gKi8KQEAgLTE5NCwxNDQgKzEwOSw2IEBA
CiAjZGVmaW5lIF9fQVNTRVJUX01BQ1JPU19ERUZJTkVfVkVSU0lPTlNfV0lUSE9VVF9VTkRFUlND
T1JFUyAwCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgVVNFX0FQUEtJVCAx
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgVVNFX1BBU1NLSVQgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShNQUMpCi0jZGVmaW5lIFVTRV9QTFVHSU5fSE9TVF9QUk9DRVNT
IDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNkZWZpbmUgVVNFX1VJS0lU
X0VESVRJTkcgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotI2RlZmluZSBV
U0VfV0VCX1RIUkVBRCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFVTRV9VSUtJVF9LRVlCT0FS
RF9BRERJVElPTlMpICYmIChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkK
LSNkZWZpbmUgVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUyAxCi0jZW5kaWYKLQotI2lmIE9T
KFVOSVgpCi0jZGVmaW5lIFVTRV9QVEhSRUFEUyAxCi0jZW5kaWYKLQotI2lmIE9TKERBUldJTikg
JiYgIVBMQVRGT1JNKEdUSykKLSNkZWZpbmUgVVNFX0FDQ0VMRVJBVEUgMQotI2VuZGlmCi0KLSNp
ZiBPUyhXSU5ET1dTKQotI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKFVTRV9KU1ZBTFVFNjQpICYmICFkZWZpbmVkKFVTRV9KU1ZBTFVFMzJfNjQpCi0j
aWYgQ1BVKEFERFJFU1M2NCkgfHwgQ1BVKEFSTTY0KQotI2RlZmluZSBVU0VfSlNWQUxVRTY0IDEK
LSNlbHNlCi0jZGVmaW5lIFVTRV9KU1ZBTFVFMzJfNjQgMQotI2VuZGlmCi0jZW5kaWYgLyogIWRl
ZmluZWQoVVNFX0pTVkFMVUU2NCkgJiYgIWRlZmluZWQoVVNFX0pTVkFMVUUzMl82NCkgKi8KLQot
LyogRklYTUU6IFRoaXMgbmFtZSBzaG91bGQgYmUgbW9yZSBzcGVjaWZpYyBpZiBpdCBpcyBvbmx5
IGZvciB1c2Ugd2l0aCBDYWxsRnJhbWUqICovCi0vKiBVc2UgX19idWlsdGluX2ZyYW1lX2FkZHJl
c3MoMSkgdG8gZ2V0IENhbGxGcmFtZSogKi8KLSNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkg
JiYgKENQVShBUk02NCkgfHwgQ1BVKFg4Nl82NCkpCi0jZGVmaW5lIFVTRV9CVUlMVElOX0ZSQU1F
X0FERFJFU1MgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIFVTRV9QQVNT
S0lUIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBVU0VfUVVJQ0tfTE9P
SyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykKLSNkZWZpbmUgVVNFX1NZU1RFTV9QUkVW
SUVXIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIFVTRV9BVkZPVU5E
QVRJT04gMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX1BST1RF
Q1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09B
KQotI2RlZmluZSBVU0VfTUVUQUwgMQotI2VuZGlmCi0KLSNpZiBVU0UoR0xJQikKLSNpbmNsdWRl
IDx3dGYvZ2xpYi9HVHlwZWRlZnMuaD4KLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoVVNFX0VYUE9S
VF9NQUNST1MpICYmIChQTEFURk9STShDT0NPQSkgfHwgT1MoV0lORE9XUykpCi0jZGVmaW5lIFVT
RV9FWFBPUlRfTUFDUk9TIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9S
TShXUEUpCi0jZGVmaW5lIFVTRV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoVVNFX0lNTEFOR19GT05UX0xJTksyKQotI2RlZmluZSBVU0VfSU1MQU5HX0ZPTlRf
TElOSzIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX0NPUkVN
RURJQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBVU0VfVklERU9U
T09MQk9YIDEKLSNlbmRpZgotCi0jaWYgIVBMQVRGT1JNKFdJTikKLSNkZWZpbmUgVVNFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUiAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKE1BQykKLSNkZWZpbmUgVVNFX0NPUkVBVURJTyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KFVTRV9aTElCKQotI2RlZmluZSBVU0VfWkxJQiAxCi0jZW5kaWYKLQotI2RlZmluZSBVU0VfR1JB
TU1BUl9DSEVDS0lORyAxCi0KLSNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKQot
I2RlZmluZSBVU0VfVU5JRklFRF9URVhUX0NIRUNLSU5HIDEKLSNlbmRpZgotCi0jaWYgUExBVEZP
Uk0oTUFDKQotI2RlZmluZSBVU0VfQVVUT01BVElDX1RFWFRfUkVQTEFDRU1FTlQgMQotI2VuZGlm
Ci0KLSNpZiBQTEFURk9STShNQUMpCi0vKiBTb21lIHBsYXRmb3JtcyBwcm92aWRlIFVJIGZvciBz
dWdnZXN0aW5nIGF1dG9jb3JyZWN0aW9uLiAqLwotI2RlZmluZSBVU0VfQVVUT0NPUlJFQ1RJT05f
UEFORUwgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLS8qIFNvbWUgcGxhdGZvcm1z
IHVzZSBzcGVsbGluZyBhbmQgYXV0b2NvcnJlY3Rpb24gbWFya2VycyB0byBwcm92aWRlIHZpc3Vh
bCBjdWUuIE9uIHN1Y2ggcGxhdGZvcm0sIGlmIHdvcmQgd2l0aCBtYXJrZXIgaXMgZWRpdGVkLCB3
ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbWFya2VyLiAqLwotI2RlZmluZSBVU0VfTUFSS0VSX1JFTU9W
QUxfVVBPTl9FRElUSU5HIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBV
U0VfSU5TRVJUSU9OX1VORE9fR1JPVVBJTkcgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NP
QSkKLSNkZWZpbmUgVVNFX0FVRElPX1NFU1NJT04gMQotI2VuZGlmCi0KICNpZiBDT01QSUxFUihN
U1ZDKQogI3VuZGVmIF9fU1REQ19GT1JNQVRfTUFDUk9TCiAjZGVmaW5lIF9fU1REQ19GT1JNQVRf
TUFDUk9TCkBAIC0zMzksMTE5ICsxMTYsMjQgQEAKICNkZWZpbmUgX19TVERDX0xJTUlUX01BQ1JP
UwogI2VuZGlmCiAKKy8qIEZJWE1FOiBBbnkgcmVtYWluaW5nIHVzZSBvZiBUQVJHRVRfT1NfSVBI
T05FIHNob3VsZCBiZSByZW1vdmVkIG91dHNpZGUgb2YgQXBwbGUgb25seSBmaWxlcyBhbmQgcmVw
bGFjZWQgd2l0aCBPUygpIGNoZWNrcy4gKi8KIC8qIFNldCBUQVJHRVRfT1NfSVBIT05FIHRvIDAg
YnkgZGVmYXVsdCB0byBhbGxvdyB1c2luZyBpdCBhcyBhIGd1YXJkCiAgKiBpbiBjcm9zcy1wbGF0
Zm9ybSB0aGUgc2FtZSB3YXkgYXMgaXQgaXMgdXNlZCBpbiBPUyhEQVJXSU4pIGNvZGUuICovIAog
I2lmICFkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICYmICFPUyhEQVJXSU4pCiAjZGVmaW5lIFRB
UkdFVF9PU19JUEhPTkUgMAogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUg
VVNFX01FRElBVE9PTEJPWCAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmlu
ZSBVU0VfT1NfTE9HIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCi0jZGVmaW5lIFVTRV9PU19TVEFURSAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKFdURl9ERUZBVUxUX0VWRU5UX0xPT1ApCi0jZGVmaW5lIFdURl9ERUZBVUxUX0VWRU5U
X0xPT1AgMQotI2VuZGlmCi0KLSNpZiBXVEZfREVGQVVMVF9FVkVOVF9MT09QCi0jaWYgVVNFKEdM
SUIpCi0vKiBVc2UgR0xpYidzIGV2ZW50IGxvb3AgYWJzdHJhY3Rpb24uIFByaW1hcmlseSBHVEsg
cG9ydCB1c2VzIGl0LiAqLwotI2RlZmluZSBVU0VfR0xJQl9FVkVOVF9MT09QIDEKLSNlbGlmIE9T
KFdJTkRPV1MpCi0vKiBVc2UgV2luZG93cyBtZXNzYWdlIHB1bXAgYWJzdHJhY3Rpb24uCi0gKiBF
dmVuIGlmIHRoZSBwb3J0IGlzIEFwcGxlV2luLCB3ZSB1c2UgdGhlIFdpbmRvd3MgbWVzc2FnZSBw
dW1wIHN5c3RlbSBmb3IgdGhlIGV2ZW50IGxvb3AsCi0gKiBzbyB0aGF0IFVTRShXSU5ET1dTX0VW
RU5UX0xPT1ApICYmIFVTRShDRikgY2FuIGJlIHRydWUuCi0gKiBBbmQgUExBVEZPUk0oV0lOKSBh
bmQgUExBVEZPUk0oR1RLKSBhcmUgZXhjbHVzaXZlLiBJZiB0aGUgcG9ydCBpcyBHVEssCi0gKiBQ
TEFURk9STShXSU4pIHNob3VsZCBiZSBmYWxzZS4gQW5kIGluIHRoYXQgY2FzZSwgR0xpYidzIGV2
ZW50IGxvb3AgaXMgdXNlZC4KLSAqLwotI2RlZmluZSBVU0VfV0lORE9XU19FVkVOVF9MT09QIDEK
LSNlbGlmIFBMQVRGT1JNKENPQ09BKQotLyogT1MgWCBhbmQgSU9TLiBVc2UgQ29yZUZvdW5kYXRp
b24gJiBHQ0QgYWJzdHJhY3Rpb24uICovCi0jZGVmaW5lIFVTRV9DT0NPQV9FVkVOVF9MT09QIDEK
LSNlbHNlCi0jZGVmaW5lIFVTRV9HRU5FUklDX0VWRU5UX0xPT1AgMQotI2VuZGlmCi0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBVU0VfTUVESUFSRU1PVEUgMQotI2VuZGlm
Ci0KKy8qIEZJWE1FOiBUaGlzIGRvZXMgbm90IGJlbG9uZyBpbiBQbGF0Zm9ybS5oIGFuZCBzaG91
bGQgaW5zdGVhZCBiZSBpbmNsdWRlZCBpbiBhbm90aGVyIG1lY2hhbmlzbSAoY29tcGlsZXIgb3B0
aW9uLCBwcmVmaXggaGVhZGVyLCBjb25maWcuaCwgZXRjKSAqLwogI2lmIENPTVBJTEVSKE1TVkMp
CiAvKiBFbmFibGUgc3RyaWN0IHJ1bnRpbWUgc3RhY2sgYnVmZmVyIGNoZWNrcy4gKi8KICNwcmFn
bWEgc3RyaWN0X2dzX2NoZWNrKG9uKQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpCi0jZGVm
aW5lIFVTRV9ESUNUQVRJT05fQUxURVJOQVRJVkVTIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JN
KE1BQykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCi0jZGVmaW5lIFVT
RV9TT1VSQ0VfQVBQTElDQVRJT05fQVVESVRfREFUQSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiBVU0UoQ0EpCi0jZGVmaW5lIFVTRV9JT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdf
U1RPUkUgMQotI2VuZGlmCi0KLS8qIFRoZSBvdmVycmlkZSBpc24ndCBuZWVkZWQgb24gaU9TIGZh
bWlseSwgYXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gbm90IHNuaWZmLiAqLwotLyogRklY
TUU6IFRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIGVuYWJsZWQgb24gMTAuMTMuMiBhbmQgbmV3ZXIs
IG5vdCBqdXN0IDEwLjE0IGFuZCBuZXdlci4gKi8KLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCi0jZGVmaW5lIFVTRV9DRk5FVFdP
UktfQ09OVEVOVF9FTkNPRElOR19TTklGRklOR19PVkVSUklERSAxCi0jZW5kaWYKLQotI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV1BFKQotLyogRklYTUU6IFRoaXMgcmVhbGx5IG5lZWRz
IGEgZGVzY3JpcHRpdmUgbmFtZSwgdGhpcyAibmV3IHRoZW1lIiB3YXMgYWRkZWQgaW4gMjAwOC4g
Ki8KLSNkZWZpbmUgVVNFX05FV19USEVNRSAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNTAwCi0jZGVmaW5lIFVTRV9S
RUFMUEFUSF9GT1JfRExPUEVOX1BSRUZMSUdIVCAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElP
UykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCi0jZGVmaW5lIFVTRV9VSUNPTlRFWFRNRU5VIDEK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCBQTEFURk9STShX
QVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQotI2RlZmluZSBVU0VfUExBVEZPUk1fU1lTVEVN
X0ZBTExCQUNLX0xJU1QgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8fCAo
IShkZWZpbmVkKFVTRV9TWVNURU1fTUFMTE9DKSAmJiBVU0VfU1lTVEVNX01BTExPQykgJiYgKE9T
KExJTlVYKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpKSkpCi0jZGVmaW5lIFVT
RV9CTUFMTE9DX01FTU9SWV9GT09UUFJJTlRfQVBJIDEKLSNlbmRpZgotCi0KLQotCi0jaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19oYXNfaW5jbHVkZSg8V2ViS2l0QWRkaXRpb25zL0Fk
ZGl0aW9uYWxQbGF0Zm9ybS5oPikKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25h
bFBsYXRmb3JtLmg+Ci0jZW5kaWYKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIF9f
aGFzX2luY2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsRmVhdHVyZURlZmluZXMuaD4p
Ci0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9uYWxGZWF0dXJlRGVmaW5lcy5oPgor
LyogRklYTUU6IFRoaXMgZG9lcyBub3QgYmVsb25nIGluIFBsYXRmb3JtLmggYW5kIHNob3VsZCBp
bnN0ZWFkIGJlIGluY2x1ZGVkIGluIGFub3RoZXIgbWVjaGFuaXNtIChwcmVmaXggaGVhZGVyLCBj
b25maWcuaCwgZXRjKSAqLworI2lmIFVTRShHTElCKQorI2luY2x1ZGUgPHd0Zi9nbGliL0dUeXBl
ZGVmcy5oPgogI2VuZGlmCiAKLS8qIF9fUExBVEZPUk1fSU5ESVJFQ1RfXyBlbnN1cmVzIHRoYXQg
dXNlcnMgI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPiByYXRoZXIgdGhhbiB3dGYvRmVhdHVyZURl
ZmluZXMuaCBkaXJlY3RseS4gKi8KLSNkZWZpbmUgX19QTEFURk9STV9JTkRJUkVDVF9fCi0KLS8q
IEluY2x1ZGUgZmVhdHVyZSBtYWNyb3MgKi8KLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm1FbmFibGUu
aD4KLQotI3VuZGVmIF9fUExBVEZPUk1fSU5ESVJFQ1RfXwotCi0KLQotLyogRklYTUU6IFRoZSBm
b2xsb3dpbmcgYXJlIGN1cnJlbmx5IHBvc2l0aW9uZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZp
bGUgYXMgdGhleSBhcmUgY3VycmVudGx5IGRlcGVuZGVudCBvbiBFTkFCTEUgb3IgVVNFIG1hY3Jv
cy4gKi8KLQogLyogRklYTUU6IFRoZSBhdmFpbGFiaWxpdHkgb2YgUlNBX1BTUyBzaG91bGQgbm90
IGRlcGVuZCBvbiB0aGUgcG9saWN5IGRlY2lzaW9uIHRvIFVTRShHQ1JZUFQpLiAqLwogI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkgfHwg
VVNFKEdDUllQVCkKICNkZWZpbmUgSEFWRV9SU0FfUFNTIDEKSW5kZXg6IFNvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtRW5hYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxhdGZvcm1F
bmFibGUuaAkocmV2aXNpb24gMjU0Njc1KQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFi
bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAogI2Vycm9yICJQbGVhc2UgI2lu
Y2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPiBpbnN0ZWFkIG9mIHRoaXMgZmlsZSBkaXJlY3RseS4iCiAj
ZW5kaWYKIAorI2RlZmluZSBFTkFCTEUoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIEVOQUJMRV8jI1dU
Rl9GRUFUVVJFICYmIEVOQUJMRV8jI1dURl9GRUFUVVJFKQorCiAvKiBVc2UgdGhpcyBmaWxlIHRv
IGxpc3QgX2FsbF8gRU5BQkxFKCkgbWFjcm9zLiBEZWZpbmUgdGhlIG1hY3JvcyB0byBiZSBvbmUg
b2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgKiAgLSAiMCIgZGlzYWJsZXMgdGhlIGZlYXR1cmUg
YnkgZGVmYXVsdC4gVGhlIGZlYXR1cmUgY2FuIHN0aWxsIGJlIGVuYWJsZWQgZm9yIGEgc3BlY2lm
aWMgcG9ydCBvciBlbnZpcm9ubWVudC4KICAqICAtICIxIiBlbmFibGVzIHRoZSBmZWF0dXJlIGJ5
IGRlZmF1bHQuIFRoZSBmZWF0dXJlIGNhbiBzdGlsbCBiZSBkaXNhYmxlZCBmb3IgYSBzcGVjaWZp
YyBwb3J0IG9yIGVudmlyb25tZW50LgpAQCAtNTIsNiArNTQsMjAgQEAKICAqIEdldCB0aGUgbGlz
dCBvZiBmZWF0dXJlcyBlbmFibGVkIGJ5IGRlZmF1bHQgZm9yIGEgUExBVEZPUk0oWFhYKTogZ2Nj
IC1FIC1kTSAtSS4gLURXVEZfUExBVEZPUk1fWFhYICJ3dGYvUGxhdGZvcm0uaCIgfCBncmVwICJF
TkFCTEVfXHdcKyAxIiB8IGN1dCAtZCcgJyAtZjIgfCBzb3J0CiAgKi8KIAorCisvKiBGSVhNRTog
VGhpcyBzaG91bGQgYmUgcmVuYW1lZCB0byBFTkFCTEVfQVNTRVJUUyBmb3IgY29uc2lzdGVuY3kg
YW5kIHNvIGl0IGNhbiBiZSB1c2VkIGFzIEVOQUJMRShBU1NFUlRTKS4gKi8KKy8qIEFTU0VSVF9F
TkFCTEVEIHNob3VsZCBiZSB0cnVlIGlmIHdlIHdhbnQgdGhlIGN1cnJlbnQgY29tcGlsYXRpb24g
dW5pdCB0bworICAgZG8gZGVidWcgYXNzZXJ0aW9uIGNoZWNrcyB1bmNvbmRpdGlvbmFsbHkgKGUu
Zy4gdHJlYXQgYSBkZWJ1ZyBBU1NFUlQKKyAgIGxpa2UgYSBSRUxFQVNFX0FTU0VSVC4KKyovCisj
aWZuZGVmIEFTU0VSVF9FTkFCTEVECisjaWZkZWYgTkRFQlVHCisjZGVmaW5lIEFTU0VSVF9FTkFC
TEVEIDAKKyNlbHNlCisjZGVmaW5lIEFTU0VSVF9FTkFCTEVEIDEKKyNlbmRpZgorI2VuZGlmCisK
IC8qIEZJWE1FOiBNb3ZlIG91dCB0aGUgUExBVEZPUk0gc3BlY2lmaWMgcnVsZXMgaW50byBwbGF0
Zm9ybSBzcGVjaWZpYyBmaWxlcy4gKi8KIAogLyogLS0tLS0tLS0tIEFwcGxlIGlPUyAoYnV0IG5v
dCBtYWNPUykgcG9ydCAtLS0tLS0tLS0gKi8KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
VXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAkocmV2aXNp
b24gMjU0Njc2KQkoZnJvbSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oOjI1NDY3NikKKysrIFNv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NzAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBNb2JpbGUsIEluYy4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKy8qIEluY2x1ZGUgY29tcGlsZXIgc3BlY2lmaWMgbWFj
cm9zICovCisjaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+CisKKy8qID09PT0gUGxhdGZvcm0gYWRh
cHRhdGlvbiBtYWNyb3M6IHRoZXNlIGRlc2NyaWJlIHByb3BlcnRpZXMgb2YgdGhlIHRhcmdldCBl
bnZpcm9ubWVudC4gPT09PSAqLworCisvKiBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVj
dHVyZSAqLworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybUNQVS5oPgorCisvKiBPUygpIC0gdW5kZXJs
eWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1s
ZXZlbCBzZXJ2aWNlcyBsaWtlCisgICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdV
SSB0b29sa2l0ICovCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtT1MuaD4KKworLyogUExBVEZPUk0o
KSAtIGhhbmRsZXMgT1MsIG9wZXJhdGluZyBlbnZpcm9ubWVudCwgZ3JhcGhpY3MgQVBJLCBhbmQK
KyAgIENQVS4gVGhpcyBtYWNybyB3aWxsIGJlIHBoYXNlZCBvdXQgaW4gZmF2b3Igb2YgcGxhdGZv
cm0gYWRhcHRhdGlvbgorICAgbWFjcm9zLCBwb2xpY3kgZGVjaXNpb24gbWFjcm9zLCBhbmQgdG9w
LWxldmVsIHBvcnQgZGVmaW5pdGlvbnMuICovCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtTGVnYWN5
Lmg+CisKKy8qIEhBVkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAoaGVhZGVycywgZnVu
Y3Rpb25zIG9yIHNpbWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICovCisjaW5jbHVkZSA8
d3RmL1BsYXRmb3JtSGF2ZS5oPgorCisvKiA9PT09IFBvbGljeSBkZWNpc2lvbiBtYWNyb3M6IHRo
ZXNlIGRlZmluZSBwb2xpY3kgY2hvaWNlcyBmb3IgYSBwYXJ0aWN1bGFyIHBvcnQuID09PT0gKi8K
KworLyogVVNFKCkgLSB1c2UgYSBwYXJ0aWN1bGFyIHRoaXJkLXBhcnR5IGxpYnJhcnkgb3Igb3B0
aW9uYWwgT1Mgc2VydmljZSAqLworI2RlZmluZSBVU0UoV1RGX0ZFQVRVUkUpIChkZWZpbmVkIFVT
RV8jI1dURl9GRUFUVVJFICAmJiBVU0VfIyNXVEZfRkVBVFVSRSkKKy8qIEVOQUJMRSgpIC0gdHVy
biBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0ICovCisjZGVmaW5lIEVOQUJMRShXVEZf
RkVBVFVSRSkgKGRlZmluZWQgRU5BQkxFXyMjV1RGX0ZFQVRVUkUgICYmIEVOQUJMRV8jI1dURl9G
RUFUVVJFKQorCisKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2lmIGRlZmluZWQgX19oYXNfaW5j
bHVkZSAmJiBfX2hhc19pbmNsdWRlKDxDb3JlRm91bmRhdGlvbi9DRlByaXYuaD4pCisjZGVmaW5l
IFVTRV9BUFBMRV9JTlRFUk5BTF9TREsgMQorI2VuZGlmCisjZW5kaWYKKworLyogTUlQUyByZXF1
aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAqLworI2lmIENQVShNSVBTKSB8
fCBDUFUoTUlQUzY0KQorI2RlZmluZSBVU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIg
MQorI2VuZGlmCisKKy8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVk
IG1lbW9yeSovCisjaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18pIHx8IGRlZmluZWQoX19BUk1f
QVJDSF81VEVfXykgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykKKyNkZWZpbmUgVVNFX0FS
RU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKKyNlbmRpZgorCisvKkFSTXY1VEUgcmVxdWly
ZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLworI2lmIGRlZmluZWQoX19UQVJH
RVRfQVJDSF81RSkgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURSkgfHwgZGVmaW5lZChfX1RB
UkdFVF9BUkNIXzVURUopCisjZGVmaW5lIFVTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdF
UiAxCisjZW5kaWYKKworCisvKiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCisKKworLyogRklY
TUU6IFJlbmFtZSBXVEZfQ1BVX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIHRvIFdURl9PU19FRkZF
Q1RJVkVfQUREUkVTU19XSURUSCwgYXMgaXQgaXMgYW4gT1MgZmVhdHVyZSwgbm90IGEgQ1BVIGZl
YXR1cmUuICovCisjaWYgQ1BVKEFERFJFU1M2NCkKKyNpZiBPUyhEQVJXSU4pICYmIENQVShBUk02
NCkKKyNkZWZpbmUgV1RGX0NQVV9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAzNgorI2Vsc2UKKy8q
IFdlIHN0cm9uZ2x5IGFzc3VtZSB0aGF0IGVmZmVjdGl2ZSBhZGRyZXNzIHdpZHRoIGlzIDw9IDQ4
IGluIDY0Yml0IGFyY2hpdGVjdHVyZXMgKGUuZy4gTmFOIGJveGluZykuICovCisjZGVmaW5lIFdU
Rl9DUFVfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggNDgKKyNlbmRpZgorI2Vsc2UKKyNkZWZpbmUg
V1RGX0NQVV9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAzMgorI2VuZGlmCisKKy8qIEV4cG9ydCBt
YWNybyBzdXBwb3J0LiBEZXRlY3RzIHRoZSBhdHRyaWJ1dGVzIGF2YWlsYWJsZSBmb3Igc2hhcmVk
IGxpYnJhcnkgc3ltYm9sIGV4cG9ydAorICAgZGVjb3JhdGlvbnMuICovCisjaWYgT1MoV0lORE9X
UykgfHwgKENPTVBJTEVSX0hBU19DTEFOR19ERUNMU1BFQyhkbGxpbXBvcnQpICYmIENPTVBJTEVS
X0hBU19DTEFOR19ERUNMU1BFQyhkbGxleHBvcnQpKQorI2RlZmluZSBVU0VfREVDTFNQRUNfQVRU
UklCVVRFIDEKKyNkZWZpbmUgVVNFX1ZJU0lCSUxJVFlfQVRUUklCVVRFIDAKKyNlbGlmIGRlZmlu
ZWQoX19HTlVDX18pCisjZGVmaW5lIFVTRV9ERUNMU1BFQ19BVFRSSUJVVEUgMAorI2RlZmluZSBV
U0VfVklTSUJJTElUWV9BVFRSSUJVVEUgMQorI2Vsc2UKKyNkZWZpbmUgVVNFX0RFQ0xTUEVDX0FU
VFJJQlVURSAwCisjZGVmaW5lIFVTRV9WSVNJQklMSVRZX0FUVFJJQlVURSAwCisjZW5kaWYKKwor
LyogU3RhbmRhcmQgbGlicmFyaWVzICovCisKKy8qIEZJWE1FOiBBU1NFUlRfRU5BQkxFRCBzaG91
bGQgZGVmaW5lZCBpbiBkaWZmZXJlbnQsIHBlcmhhcHMgaXRzIG93biwgZmlsZS4gKi8KKy8qIEFT
U0VSVF9FTkFCTEVEIHNob3VsZCBiZSB0cnVlIGlmIHdlIHdhbnQgdGhlIGN1cnJlbnQgY29tcGls
YXRpb24gdW5pdCB0bworICAgZG8gZGVidWcgYXNzZXJ0aW9uIGNoZWNrcyB1bmNvbmRpdGlvbmFs
bHkgKGUuZy4gdHJlYXQgYSBkZWJ1ZyBBU1NFUlQKKyAgIGxpa2UgYSBSRUxFQVNFX0FTU0VSVC4K
KyovCisjaWZuZGVmIEFTU0VSVF9FTkFCTEVECisjaWZkZWYgTkRFQlVHCisjZGVmaW5lIEFTU0VS
VF9FTkFCTEVEIDAKKyNlbHNlCisjZGVmaW5lIEFTU0VSVF9FTkFCTEVEIDEKKyNlbmRpZgorI2Vu
ZGlmCisKKworCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9DRyAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBVU0VfQ0EgMQorI2VuZGlmCisKKyNpZiBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKKyNkZWZpbmUgVVNFX0dMSUIgMQorI2VuZGlm
CisKKyNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKKyNkZWZpbmUgVVNFX0ZSRUVU
WVBFIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCisjZGVm
aW5lIFVTRV9IQVJGQlVaWiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oV1BFKQorI2RlZmluZSBVU0VfU09VUCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oV1BFKQorI2RlZmluZSBVU0VfV0VCUCAxCisjZW5kaWYKKworI2lmIFBMQVRG
T1JNKEdUSykKKyNkZWZpbmUgR0xJQl9WRVJTSU9OX01JTl9SRVFVSVJFRCBHTElCX1ZFUlNJT05f
Ml8zNgorI2RlZmluZSBHREtfVkVSU0lPTl9NSU5fUkVRVUlSRUQgR0RLX1ZFUlNJT05fM182Cisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKFdQRSkKKyNkZWZpbmUgR0xJQl9WRVJTSU9OX01JTl9SRVFV
SVJFRCBHTElCX1ZFUlNJT05fMl80MAorI2VuZGlmCisKKyNpZiBVU0UoU09VUCkKKyNkZWZpbmUg
U09VUF9WRVJTSU9OX01JTl9SRVFVSVJFRCBTT1VQX1ZFUlNJT05fMl80MgorI2VuZGlmCisKKy8q
IE9uIFdpbmRvd3MsIHVzZSBRdWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBkZWZhdWx0ICovCisj
aWYgT1MoV0lORE9XUykKKyNkZWZpbmUgVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIgIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9DRiAxCisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKENPQ09BKSB8fCAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUp
KQorI2RlZmluZSBVU0VfRklMRV9MT0NLIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisjZGVmaW5lIFVTRV9GT1VOREFUSU9OIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisjZGVmaW5lIFVTRV9ORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSyAxCisjZW5kaWYKKwor
CisjaWYgUExBVEZPUk0oQ09DT0EpCisvKiBDb2NvYSBkZWZpbmVzIGEgc2VyaWVzIG9mIHBsYXRm
b3JtIG1hY3JvcyBmb3IgZGVidWdnaW5nLiAqLworLyogU29tZSBvZiB0aGVtIGFyZSByZWFsbHkg
YW5ub3lpbmcgYmVjYXVzZSB0aGV5IHVzZSBjb21tb24gbmFtZXMgKGUuZy4gY2hlY2soKSkuICov
CisvKiBEaXNhYmxlIHRob3NlIG1hY3JvcyBzbyB0aGF0IHdlIGFyZSBub3QgbGltaXRlZCBpbiBo
b3cgd2UgbmFtZSBtZXRob2RzIGFuZCBmdW5jdGlvbnMuICovCisjdW5kZWYgX19BU1NFUlRfTUFD
Uk9TX0RFRklORV9WRVJTSU9OU19XSVRIT1VUX1VOREVSU0NPUkVTCisjZGVmaW5lIF9fQVNTRVJU
X01BQ1JPU19ERUZJTkVfVkVSU0lPTlNfV0lUSE9VVF9VTkRFUlNDT1JFUyAwCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgVVNFX0FQUEtJVCAxCisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKE1BQykKKyNkZWZpbmUgVVNFX1BBU1NLSVQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9S
TShNQUMpCisjZGVmaW5lIFVTRV9QTFVHSU5fSE9TVF9QUk9DRVNTIDEKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgVVNFX1VJS0lUX0VESVRJTkcgMQorI2VuZGlm
CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2RlZmluZSBVU0VfV0VCX1RIUkVBRCAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKFVTRV9VSUtJVF9LRVlCT0FSRF9BRERJVElPTlMpICYmIChQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkKKyNkZWZpbmUgVVNFX1VJS0lU
X0tFWUJPQVJEX0FERElUSU9OUyAxCisjZW5kaWYKKworI2lmIE9TKFVOSVgpCisjZGVmaW5lIFVT
RV9QVEhSRUFEUyAxCisjZW5kaWYKKworI2lmIE9TKERBUldJTikgJiYgIVBMQVRGT1JNKEdUSykK
KyNkZWZpbmUgVVNFX0FDQ0VMRVJBVEUgMQorI2VuZGlmCisKKyNpZiBPUyhXSU5ET1dTKQorI2Rl
ZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFVTRV9KU1ZB
TFVFNjQpICYmICFkZWZpbmVkKFVTRV9KU1ZBTFVFMzJfNjQpCisjaWYgQ1BVKEFERFJFU1M2NCkg
fHwgQ1BVKEFSTTY0KQorI2RlZmluZSBVU0VfSlNWQUxVRTY0IDEKKyNlbHNlCisjZGVmaW5lIFVT
RV9KU1ZBTFVFMzJfNjQgMQorI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQoVVNFX0pTVkFMVUU2
NCkgJiYgIWRlZmluZWQoVVNFX0pTVkFMVUUzMl82NCkgKi8KKworLyogRklYTUU6IFRoaXMgbmFt
ZSBzaG91bGQgYmUgbW9yZSBzcGVjaWZpYyBpZiBpdCBpcyBvbmx5IGZvciB1c2Ugd2l0aCBDYWxs
RnJhbWUqICovCisvKiBVc2UgX19idWlsdGluX2ZyYW1lX2FkZHJlc3MoMSkgdG8gZ2V0IENhbGxG
cmFtZSogKi8KKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkgJiYgKENQVShBUk02NCkgfHwg
Q1BVKFg4Nl82NCkpCisjZGVmaW5lIFVTRV9CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQorI2VuZGlm
CisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIFVTRV9QQVNTS0lUIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBVU0VfUVVJQ0tfTE9PSyAxCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKElPUykKKyNkZWZpbmUgVVNFX1NZU1RFTV9QUkVWSUVXIDEKKyNlbmRpZgorCisj
aWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9BVkZPVU5EQVRJT04gMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgVVNFX1BST1RFQ1RJT05fU1BBQ0VfQVVUSF9D
QUxMQkFDSyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBVU0VfTUVU
QUwgMQorI2VuZGlmCisKKyNpZiBVU0UoR0xJQikKKyNpbmNsdWRlIDx3dGYvZ2xpYi9HVHlwZWRl
ZnMuaD4KKyNlbmRpZgorCisjaWYgIWRlZmluZWQoVVNFX0VYUE9SVF9NQUNST1MpICYmIChQTEFU
Rk9STShDT0NPQSkgfHwgT1MoV0lORE9XUykpCisjZGVmaW5lIFVTRV9FWFBPUlRfTUFDUk9TIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCisjZGVmaW5lIFVT
RV9VTklYX0RPTUFJTl9TT0NLRVRTIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoVVNFX0lNTEFO
R19GT05UX0xJTksyKQorI2RlZmluZSBVU0VfSU1MQU5HX0ZPTlRfTElOSzIgMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgVVNFX0NPUkVNRURJQSAxCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBVU0VfVklERU9UT09MQk9YIDEKKyNlbmRpZgor
CisjaWYgIVBMQVRGT1JNKFdJTikKKyNkZWZpbmUgVVNFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
X0RJU1BMQVlfTU9OSVRPUiAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUg
VVNFX0NPUkVBVURJTyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKFVTRV9aTElCKQorI2RlZmlu
ZSBVU0VfWkxJQiAxCisjZW5kaWYKKworI2RlZmluZSBVU0VfR1JBTU1BUl9DSEVDS0lORyAxCisK
KyNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKQorI2RlZmluZSBVU0VfVU5JRklF
RF9URVhUX0NIRUNLSU5HIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBV
U0VfQVVUT01BVElDX1RFWFRfUkVQTEFDRU1FTlQgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShN
QUMpCisvKiBTb21lIHBsYXRmb3JtcyBwcm92aWRlIFVJIGZvciBzdWdnZXN0aW5nIGF1dG9jb3Jy
ZWN0aW9uLiAqLworI2RlZmluZSBVU0VfQVVUT0NPUlJFQ1RJT05fUEFORUwgMQorI2VuZGlmCisK
KyNpZiBQTEFURk9STShDT0NPQSkKKy8qIFNvbWUgcGxhdGZvcm1zIHVzZSBzcGVsbGluZyBhbmQg
YXV0b2NvcnJlY3Rpb24gbWFya2VycyB0byBwcm92aWRlIHZpc3VhbCBjdWUuIE9uIHN1Y2ggcGxh
dGZvcm0sIGlmIHdvcmQgd2l0aCBtYXJrZXIgaXMgZWRpdGVkLCB3ZSBuZWVkIHRvIHJlbW92ZSB0
aGUgbWFya2VyLiAqLworI2RlZmluZSBVU0VfTUFSS0VSX1JFTU9WQUxfVVBPTl9FRElUSU5HIDEK
KyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBVU0VfSU5TRVJUSU9OX1VORE9f
R1JPVVBJTkcgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgVVNFX0FV
RElPX1NFU1NJT04gMQorI2VuZGlmCisKKyNpZiBDT01QSUxFUihNU1ZDKQorI3VuZGVmIF9fU1RE
Q19GT1JNQVRfTUFDUk9TCisjZGVmaW5lIF9fU1REQ19GT1JNQVRfTUFDUk9TCisjdW5kZWYgX19T
VERDX0xJTUlUX01BQ1JPUworI2RlZmluZSBfX1NURENfTElNSVRfTUFDUk9TCisjZW5kaWYKKwor
LyogU2V0IFRBUkdFVF9PU19JUEhPTkUgdG8gMCBieSBkZWZhdWx0IHRvIGFsbG93IHVzaW5nIGl0
IGFzIGEgZ3VhcmQKKyAqIGluIGNyb3NzLXBsYXRmb3JtIHRoZSBzYW1lIHdheSBhcyBpdCBpcyB1
c2VkIGluIE9TKERBUldJTikgY29kZS4gKi8gCisjaWYgIWRlZmluZWQoVEFSR0VUX09TX0lQSE9O
RSkgJiYgIU9TKERBUldJTikKKyNkZWZpbmUgVEFSR0VUX09TX0lQSE9ORSAwCisjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBVU0VfTUVESUFUT09MQk9YIDEKKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIFVTRV9PU19MT0cgMQorI2VuZGlmCisKKyNp
ZiBQTEFURk9STShDT0NPQSkgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNkZWZpbmUgVVNF
X09TX1NUQVRFIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoV1RGX0RFRkFVTFRfRVZFTlRfTE9P
UCkKKyNkZWZpbmUgV1RGX0RFRkFVTFRfRVZFTlRfTE9PUCAxCisjZW5kaWYKKworI2lmIFdURl9E
RUZBVUxUX0VWRU5UX0xPT1AKKyNpZiBVU0UoR0xJQikKKy8qIFVzZSBHTGliJ3MgZXZlbnQgbG9v
cCBhYnN0cmFjdGlvbi4gUHJpbWFyaWx5IEdUSyBwb3J0IHVzZXMgaXQuICovCisjZGVmaW5lIFVT
RV9HTElCX0VWRU5UX0xPT1AgMQorI2VsaWYgT1MoV0lORE9XUykKKy8qIFVzZSBXaW5kb3dzIG1l
c3NhZ2UgcHVtcCBhYnN0cmFjdGlvbi4KKyAqIEV2ZW4gaWYgdGhlIHBvcnQgaXMgQXBwbGVXaW4s
IHdlIHVzZSB0aGUgV2luZG93cyBtZXNzYWdlIHB1bXAgc3lzdGVtIGZvciB0aGUgZXZlbnQgbG9v
cCwKKyAqIHNvIHRoYXQgVVNFKFdJTkRPV1NfRVZFTlRfTE9PUCkgJiYgVVNFKENGKSBjYW4gYmUg
dHJ1ZS4KKyAqIEFuZCBQTEFURk9STShXSU4pIGFuZCBQTEFURk9STShHVEspIGFyZSBleGNsdXNp
dmUuIElmIHRoZSBwb3J0IGlzIEdUSywKKyAqIFBMQVRGT1JNKFdJTikgc2hvdWxkIGJlIGZhbHNl
LiBBbmQgaW4gdGhhdCBjYXNlLCBHTGliJ3MgZXZlbnQgbG9vcCBpcyB1c2VkLgorICovCisjZGVm
aW5lIFVTRV9XSU5ET1dTX0VWRU5UX0xPT1AgMQorI2VsaWYgUExBVEZPUk0oQ09DT0EpCisvKiBP
UyBYIGFuZCBJT1MuIFVzZSBDb3JlRm91bmRhdGlvbiAmIEdDRCBhYnN0cmFjdGlvbi4gKi8KKyNk
ZWZpbmUgVVNFX0NPQ09BX0VWRU5UX0xPT1AgMQorI2Vsc2UKKyNkZWZpbmUgVVNFX0dFTkVSSUNf
RVZFTlRfTE9PUCAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVm
aW5lIFVTRV9NRURJQVJFTU9URSAxCisjZW5kaWYKKworI2lmIENPTVBJTEVSKE1TVkMpCisvKiBF
bmFibGUgc3RyaWN0IHJ1bnRpbWUgc3RhY2sgYnVmZmVyIGNoZWNrcy4gKi8KKyNwcmFnbWEgc3Ry
aWN0X2dzX2NoZWNrKG9uKQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpCisjZGVmaW5lIFVT
RV9ESUNUQVRJT05fQUxURVJOQVRJVkVTIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykg
JiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCisjZGVmaW5lIFVTRV9TT1VS
Q0VfQVBQTElDQVRJT05fQVVESVRfREFUQSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09B
KSAmJiBVU0UoQ0EpCisjZGVmaW5lIFVTRV9JT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RPUkUg
MQorI2VuZGlmCisKKy8qIFRoZSBvdmVycmlkZSBpc24ndCBuZWVkZWQgb24gaU9TIGZhbWlseSwg
YXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gbm90IHNuaWZmLiAqLworLyogRklYTUU6IFRo
aXMgc2hvdWxkIHByb2JhYmx5IGJlIGVuYWJsZWQgb24gMTAuMTMuMiBhbmQgbmV3ZXIsIG5vdCBq
dXN0IDEwLjE0IGFuZCBuZXdlci4gKi8KKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCisjZGVmaW5lIFVTRV9DRk5FVFdPUktfQ09O
VEVOVF9FTkNPRElOR19TTklGRklOR19PVkVSUklERSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oV1BFKQorLyogRklYTUU6IFRoaXMgcmVhbGx5IG5lZWRzIGEgZGVz
Y3JpcHRpdmUgbmFtZSwgdGhpcyAibmV3IHRoZW1lIiB3YXMgYWRkZWQgaW4gMjAwOC4gKi8KKyNk
ZWZpbmUgVVNFX05FV19USEVNRSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNTAwCisjZGVmaW5lIFVTRV9SRUFMUEFU
SF9GT1JfRExPUEVOX1BSRUZMSUdIVCAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPUykgfHwg
UExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjZGVmaW5lIFVTRV9VSUNPTlRFWFRNRU5VIDEKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCBQTEFURk9STShXQVRDSE9T
KSB8fCBQTEFURk9STShBUFBMRVRWKQorI2RlZmluZSBVU0VfUExBVEZPUk1fU1lTVEVNX0ZBTExC
QUNLX0xJU1QgMQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8fCAoIShkZWZp
bmVkKFVTRV9TWVNURU1fTUFMTE9DKSAmJiBVU0VfU1lTVEVNX01BTExPQykgJiYgKE9TKExJTlVY
KSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpKSkpCisjZGVmaW5lIFVTRV9CTUFM
TE9DX01FTU9SWV9GT09UUFJJTlRfQVBJIDEKKyNlbmRpZgorCisKKworCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykgJiYgX19oYXNfaW5jbHVkZSg8V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9u
YWxQbGF0Zm9ybS5oPikKKyNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvQWRkaXRpb25hbFBsYXRm
b3JtLmg+CisjZW5kaWYKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIF9faGFzX2lu
Y2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsRmVhdHVyZURlZmluZXMuaD4pCisjaW5j
bHVkZSA8V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9uYWxGZWF0dXJlRGVmaW5lcy5oPgorI2VuZGlm
CisKKy8qIF9fUExBVEZPUk1fSU5ESVJFQ1RfXyBlbnN1cmVzIHRoYXQgdXNlcnMgI2luY2x1ZGUg
PHd0Zi9QbGF0Zm9ybS5oPiByYXRoZXIgdGhhbiB3dGYvRmVhdHVyZURlZmluZXMuaCBkaXJlY3Rs
eS4gKi8KKyNkZWZpbmUgX19QTEFURk9STV9JTkRJUkVDVF9fCisKKy8qIEluY2x1ZGUgZmVhdHVy
ZSBtYWNyb3MgKi8KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm1FbmFibGUuaD4KKworI3VuZGVmIF9f
UExBVEZPUk1fSU5ESVJFQ1RfXworCisKKworLyogRklYTUU6IFRoZSBmb2xsb3dpbmcgYXJlIGN1
cnJlbmx5IHBvc2l0aW9uZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUgYXMgdGhleSBhcmUg
Y3VycmVudGx5IGRlcGVuZGVudCBvbiBFTkFCTEUgb3IgVVNFIG1hY3Jvcy4gKi8KKworLyogRklY
TUU6IFRoZSBhdmFpbGFiaWxpdHkgb2YgUlNBX1BTUyBzaG91bGQgbm90IGRlcGVuZCBvbiB0aGUg
cG9saWN5IGRlY2lzaW9uIHRvIFVTRShHQ1JZUFQpLiAqLworI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkgfHwgVVNFKEdDUllQVCkKKyNk
ZWZpbmUgSEFWRV9SU0FfUFNTIDEKKyNlbmRpZgorCisvKiBGSVhNRTogUmVtb3ZlIGRlcGVuZGVu
Y2Ugb24gRU5BQkxFKFdFQl9SVEMpLiAqLworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUo
V0VCX1JUQykKKyNkZWZpbmUgVVNFX0xJQldFQlJUQyAxCisjZW5kaWYKKworLyogRklYTUU6IFRo
aXMgaXMgdXNlZCB0byAidHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0Iiwgc28g
c2hvdWxkIGJlIGNvbnZlcnRlZCB0byBhbiBFTkFCTEUgbWFjcm8uICovCisvKiBUaGlzIGZlYXR1
cmUgd29ya3MgYnkgZW1iZWRkaW5nIHRoZSBPcGNvZGVJRCBpbiB0aGUgMzIgYml0IGp1c3QgYmVm
b3JlIHRoZSBnZW5lcmF0ZWQgTExpbnQgY29kZQorICAgdGhhdCBleGVjdXRlcyBlYWNoIG9wY29k
ZS4gSXQgY2Fubm90IGJlIHN1cHBvcnRlZCBieSB0aGUgQ0xvb3Agc2luY2UgdGhlcmUncyBubyB3
YXkgdG8gZW1iZWQgdGhlCisgICBPcGNvZGVJRCB3b3JkIGluIHRoZSBDTG9vcCdzIHN3aXRjaCBz
dGF0ZW1lbnQgY2FzZXMuIEl0IGlzIGFsc28gY3VycmVudGx5IG5vdCBpbXBsZW1lbnRlZCBmb3Ig
TVNWQy4KKyovCisjaWYgIWRlZmluZWQoVVNFX0xMSU5UX0VNQkVEREVEX09QQ09ERV9JRCkgJiYg
IUVOQUJMRShDX0xPT1ApICYmICFDT01QSUxFUihNU1ZDKSAmJiBcCisgICAgKENQVShYODYpIHx8
IENQVShYODZfNjQpIHx8IENQVShBUk02NCkgfHwgKENQVShBUk1fVEhVTUIyKSAmJiBPUyhEQVJX
SU4pKSkKKyNkZWZpbmUgVVNFX0xMSU5UX0VNQkVEREVEX09QQ09ERV9JRCAxCisjZW5kaWYKKwor
CisjaWYgUExBVEZPUk0oQ09DT0EpCisjaWYgRU5BQkxFKFdFQkdMKQorCisvKiBVU0VfQU5HTEU9
MSB1c2VzIEFOR0xFIGZvciB0aGUgV2ViR0wgYmFja2VuZC4KKyAgIEl0IHJlcGxhY2VzIFVTRV9P
UEVOR0wsIFVTRV9PUEVOR0xfRVMgYW5kIFVTRV9FR0wuICovCisjaWYgUExBVEZPUk0oTUFDKSB8
fCAoUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmIF9faGFzX2luY2x1ZGUoPE9wZW5HTC9PcGVuR0wu
aD4pKQorI2RlZmluZSBVU0VfT1BFTkdMIDEKKyNkZWZpbmUgVVNFX09QRU5HTF9FUyAwCisjZGVm
aW5lIFVTRV9BTkdMRSAwCisjZWxzZQorI2RlZmluZSBVU0VfT1BFTkdMIDAKKyNkZWZpbmUgVVNF
X09QRU5HTF9FUyAxCisjZGVmaW5lIFVTRV9BTkdMRSAwCisjZW5kaWYKKworI2lmbmRlZiBHTF9T
SUxFTkNFX0RFUFJFQ0FUSU9OCisjZGVmaW5lIEdMX1NJTEVOQ0VfREVQUkVDQVRJT04gMQorI2Vu
ZGlmCisKKyNpZiBVU0UoT1BFTkdMKSAmJiAhZGVmaW5lZChIQVZFX09QRU5HTF80KQorI2RlZmlu
ZSBIQVZFX09QRU5HTF80IDEKKyNlbmRpZgorCisjaWYgVVNFKE9QRU5HTF9FUykgJiYgIWRlZmlu
ZWQoSEFWRV9PUEVOR0xfRVNfMykKKyNkZWZpbmUgSEFWRV9PUEVOR0xfRVNfMyAxCisjZW5kaWYK
KworI2lmIFVTRV9BTkdMRSAmJiAoVVNFX09QRU5HTCB8fCBVU0VfT1BFTkdMX0VTKQorI2Vycm9y
IFVTRV9BTkdMRSBpcyBpbmNvbXBhdGlibGUgd2l0aCBVU0VfT1BFTkdMIGFuZCBVU0VfT1BFTkdM
X0VTCisjZW5kaWYKKworI2VuZGlmIC8qIEVOQUJMRShXRUJHTCkgKi8KKyNlbmRpZiAvKiBQTEFU
Rk9STShDT0NPQSkgKi8KKworI2lmIEVOQUJMRShXRUJHTCkKKyNpZiAhZGVmaW5lZChVU0VfQU5H
TEUpCisjZGVmaW5lIFVTRV9BTkdMRSAwCisjZW5kaWYKKworI2lmIChVU0VfQU5HTEUgJiYgKFVT
RV9PUEVOR0wgfHwgVVNFX09QRU5HTF9FUyB8fCAoZGVmaW5lZChVU0VfRUdMKSAmJiBVU0VfRUdM
KSkpICYmICFVU0UoVEVYVFVSRV9NQVBQRVIpCisjZXJyb3IgVVNFX0FOR0xFIGlzIGluY29tcGF0
aWJsZSB3aXRoIFVTRV9PUEVOR0wsIFVTRV9PUEVOR0xfRVMgYW5kIFVTRV9FR0wKKyNlbmRpZgor
I2VuZGlmCisKKyNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpICYmIEVOQUJMRShHUkFQSElDU19DT05U
RVhUX0dMKSAmJiAhZGVmaW5lZChVU0VfVEVYVFVSRV9NQVBQRVJfR0wpCisjZGVmaW5lIFVTRV9U
RVhUVVJFX01BUFBFUl9HTCAxCisjZW5kaWYKKworLyogRklYTUU6IFRoaXMgaXMgdXNlZCB0byAi
dHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0Iiwgc28gc2hvdWxkIGJlIGNvbnZl
cnRlZCB0byBhbiBFTkFCTEUgbWFjcm8uICovCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJM
RShBQ0NFU1NJQklMSVRZKQorI2RlZmluZSBVU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVT
IDEKKyNlbmRpZgorCisKKy8qIEZJWE1FOiBUaGVzZSBjYWxsaW5nIGNvbnZlbnRpb24gbWFjcm9z
IHNob3VsZCBtb3ZlIHRvIHRoZWlyIG93biBmaWxlLiBUaGV5IGFyZSBhdCB0aGUgYm90dG9tIGN1
cnJlbnRseSBiZWNhdXNlIHRoZXkgZGVwZW5kIG9uIEZlYXR1cmVEZWZpbmVzLmggKi8KKworI2lm
IENQVShYODYpICYmIENPTVBJTEVSKE1TVkMpCisjZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19mYXN0
Y2FsbAorI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0NDX0NPTVBBVElCTEUpCisjZGVmaW5l
IEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3RjYWxsKSkKKyNlbHNlCisjZGVmaW5l
IEpTQ19IT1NUX0NBTEwKKyNlbmRpZgorCisjaWYgQ1BVKFg4NikgJiYgT1MoV0lORE9XUykKKyNk
ZWZpbmUgQ0FMTElOR19DT05WRU5USU9OX0lTX1NURENBTEwgMQorI2lmbmRlZiBDREVDTAorI2lm
IENPTVBJTEVSKE1TVkMpCisjZGVmaW5lIENERUNMIF9fY2RlY2wKKyNlbHNlCisjZGVmaW5lIENE
RUNMIF9fYXR0cmlidXRlX18gKChfX2NkZWNsKSkKKyNlbmRpZgorI2VuZGlmCisjZWxzZQorI2Rl
ZmluZSBDQUxMSU5HX0NPTlZFTlRJT05fSVNfU1REQ0FMTCAwCisjZW5kaWYKKworI2lmIENQVShY
ODYpCisjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19GQVNUQ0FMTF9DQUxMSU5HX0NPTlZF
TlRJT04gMQorI2lmbmRlZiBGQVNUQ0FMTAorI2lmIENPTVBJTEVSKE1TVkMpCisjZGVmaW5lIEZB
U1RDQUxMIF9fZmFzdGNhbGwKKyNlbHNlCisjZGVmaW5lIEZBU1RDQUxMICBfX2F0dHJpYnV0ZV9f
ICgoZmFzdGNhbGwpKQorI2VuZGlmCisjZW5kaWYKKyNlbHNlCisjZGVmaW5lIFdURl9DT01QSUxF
Ul9TVVBQT1JUU19GQVNUQ0FMTF9DQUxMSU5HX0NPTlZFTlRJT04gMAorI2VuZGlmCisKKyNpZiBF
TkFCTEUoSklUKSAmJiBDQUxMSU5HX0NPTlZFTlRJT05fSVNfU1REQ0FMTAorI2RlZmluZSBKSVRf
T1BFUkFUSU9OIENERUNMCisjZWxzZQorI2RlZmluZSBKSVRfT1BFUkFUSU9OCisjZW5kaWYKClBy
b3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCShyZXZpc2lvbiAyNTQ2
NzYpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NywzNSArMjcsMTYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLS8qIEluY2x1ZGUgY29tcGlsZXIgc3Bl
Y2lmaWMgbWFjcm9zICovCi0jaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+Ci0KLS8qID09PT0gUGxh
dGZvcm0gYWRhcHRhdGlvbiBtYWNyb3M6IHRoZXNlIGRlc2NyaWJlIHByb3BlcnRpZXMgb2YgdGhl
IHRhcmdldCBlbnZpcm9ubWVudC4gPT09PSAqLwotCi0vKiBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BV
IGFyY2hpdGVjdHVyZSAqLwotI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybUNQVS5oPgotCi0vKiBPUygp
IC0gdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRh
dGVkIGxvdy1sZXZlbCBzZXJ2aWNlcyBsaWtlCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNo
b29zZSBhIEdVSSB0b29sa2l0ICovCi0jaW5jbHVkZSA8d3RmL1BsYXRmb3JtT1MuaD4KLQotLyog
UExBVEZPUk0oKSAtIGhhbmRsZXMgT1MsIG9wZXJhdGluZyBlbnZpcm9ubWVudCwgZ3JhcGhpY3Mg
QVBJLCBhbmQKLSAgIENQVS4gVGhpcyBtYWNybyB3aWxsIGJlIHBoYXNlZCBvdXQgaW4gZmF2b3Ig
b2YgcGxhdGZvcm0gYWRhcHRhdGlvbgotICAgbWFjcm9zLCBwb2xpY3kgZGVjaXNpb24gbWFjcm9z
LCBhbmQgdG9wLWxldmVsIHBvcnQgZGVmaW5pdGlvbnMuICovCi0jaW5jbHVkZSA8d3RmL1BsYXRm
b3JtTGVnYWN5Lmg+Ci0KLS8qIEhBVkUoKSAtIHNwZWNpZmljIHN5c3RlbSBmZWF0dXJlcyAoaGVh
ZGVycywgZnVuY3Rpb25zIG9yIHNpbWlsYXIpIHRoYXQgYXJlIHByZXNlbnQgb3Igbm90ICovCi0j
aW5jbHVkZSA8d3RmL1BsYXRmb3JtSGF2ZS5oPgorI2lmbmRlZiBfX1BMQVRGT1JNX0lORElSRUNU
X18KKyNlcnJvciAiUGxlYXNlICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4gaW5zdGVhZCBvZiB0
aGlzIGZpbGUgZGlyZWN0bHkuIgorI2VuZGlmCiAKLS8qID09PT0gUG9saWN5IGRlY2lzaW9uIG1h
Y3JvczogdGhlc2UgZGVmaW5lIHBvbGljeSBjaG9pY2VzIGZvciBhIHBhcnRpY3VsYXIgcG9ydC4g
PT09PSAqLwogCiAvKiBVU0UoKSAtIHVzZSBhIHBhcnRpY3VsYXIgdGhpcmQtcGFydHkgbGlicmFy
eSBvciBvcHRpb25hbCBPUyBzZXJ2aWNlICovCi0jZGVmaW5lIFVTRShXVEZfRkVBVFVSRSkgKGRl
ZmluZWQgVVNFXyMjV1RGX0ZFQVRVUkUgICYmIFVTRV8jI1dURl9GRUFUVVJFKQotLyogRU5BQkxF
KCkgLSB0dXJuIG9uIGEgc3BlY2lmaWMgZmVhdHVyZSBvZiBXZWJLaXQgKi8KLSNkZWZpbmUgRU5B
QkxFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBFTkFCTEVfIyNXVEZfRkVBVFVSRSAgJiYgRU5BQkxF
XyMjV1RGX0ZFQVRVUkUpCi0KKyNkZWZpbmUgVVNFKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBVU0Vf
IyNXVEZfRkVBVFVSRSAmJiBVU0VfIyNXVEZfRkVBVFVSRSkKIAogCisvKiBGSVhNRTogVGhpcyBz
aG91bGQgYmUgcmVuYW1lZCB0byBIQVZFX0FQUExFX0lOVEVSTkFMX1NESywgYXMgaXQgbm90IGEg
cG9saWN5IGRlY2lzaW9uLiAqLwogI2lmIFBMQVRGT1JNKENPQ09BKQogI2lmIGRlZmluZWQgX19o
YXNfaW5jbHVkZSAmJiBfX2hhc19pbmNsdWRlKDxDb3JlRm91bmRhdGlvbi9DRlByaXYuaD4pCiAj
ZGVmaW5lIFVTRV9BUFBMRV9JTlRFUk5BTF9TREsgMQpAQCAtNzcsNTIgKzU4LDE0IEBACiAjZGVm
aW5lIFVTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCiAjZW5kaWYKIAotCi0vKiBP
cGVyYXRpbmcgZW52aXJvbm1lbnRzICovCi0KLQotLyogRklYTUU6IFJlbmFtZSBXVEZfQ1BVX0VG
RkVDVElWRV9BRERSRVNTX1dJRFRIIHRvIFdURl9PU19FRkZFQ1RJVkVfQUREUkVTU19XSURUSCwg
YXMgaXQgaXMgYW4gT1MgZmVhdHVyZSwgbm90IGEgQ1BVIGZlYXR1cmUuICovCi0jaWYgQ1BVKEFE
RFJFU1M2NCkKLSNpZiBPUyhEQVJXSU4pICYmIENQVShBUk02NCkKLSNkZWZpbmUgV1RGX0NQVV9F
RkZFQ1RJVkVfQUREUkVTU19XSURUSCAzNgotI2Vsc2UKLS8qIFdlIHN0cm9uZ2x5IGFzc3VtZSB0
aGF0IGVmZmVjdGl2ZSBhZGRyZXNzIHdpZHRoIGlzIDw9IDQ4IGluIDY0Yml0IGFyY2hpdGVjdHVy
ZXMgKGUuZy4gTmFOIGJveGluZykuICovCi0jZGVmaW5lIFdURl9DUFVfRUZGRUNUSVZFX0FERFJF
U1NfV0lEVEggNDgKLSNlbmRpZgotI2Vsc2UKLSNkZWZpbmUgV1RGX0NQVV9FRkZFQ1RJVkVfQURE
UkVTU19XSURUSCAzMgotI2VuZGlmCi0KIC8qIEV4cG9ydCBtYWNybyBzdXBwb3J0LiBEZXRlY3Rz
IHRoZSBhdHRyaWJ1dGVzIGF2YWlsYWJsZSBmb3Igc2hhcmVkIGxpYnJhcnkgc3ltYm9sIGV4cG9y
dAogICAgZGVjb3JhdGlvbnMuICovCiAjaWYgT1MoV0lORE9XUykgfHwgKENPTVBJTEVSX0hBU19D
TEFOR19ERUNMU1BFQyhkbGxpbXBvcnQpICYmIENPTVBJTEVSX0hBU19DTEFOR19ERUNMU1BFQyhk
bGxleHBvcnQpKQogI2RlZmluZSBVU0VfREVDTFNQRUNfQVRUUklCVVRFIDEKLSNkZWZpbmUgVVNF
X1ZJU0lCSUxJVFlfQVRUUklCVVRFIDAKICNlbGlmIGRlZmluZWQoX19HTlVDX18pCi0jZGVmaW5l
IFVTRV9ERUNMU1BFQ19BVFRSSUJVVEUgMAogI2RlZmluZSBVU0VfVklTSUJJTElUWV9BVFRSSUJV
VEUgMQotI2Vsc2UKLSNkZWZpbmUgVVNFX0RFQ0xTUEVDX0FUVFJJQlVURSAwCi0jZGVmaW5lIFVT
RV9WSVNJQklMSVRZX0FUVFJJQlVURSAwCi0jZW5kaWYKLQotLyogU3RhbmRhcmQgbGlicmFyaWVz
ICovCi0KLS8qIEZJWE1FOiBBU1NFUlRfRU5BQkxFRCBzaG91bGQgZGVmaW5lZCBpbiBkaWZmZXJl
bnQsIHBlcmhhcHMgaXRzIG93biwgZmlsZS4gKi8KLS8qIEFTU0VSVF9FTkFCTEVEIHNob3VsZCBi
ZSB0cnVlIGlmIHdlIHdhbnQgdGhlIGN1cnJlbnQgY29tcGlsYXRpb24gdW5pdCB0bwotICAgZG8g
ZGVidWcgYXNzZXJ0aW9uIGNoZWNrcyB1bmNvbmRpdGlvbmFsbHkgKGUuZy4gdHJlYXQgYSBkZWJ1
ZyBBU1NFUlQKLSAgIGxpa2UgYSBSRUxFQVNFX0FTU0VSVC4KLSovCi0jaWZuZGVmIEFTU0VSVF9F
TkFCTEVECi0jaWZkZWYgTkRFQlVHCi0jZGVmaW5lIEFTU0VSVF9FTkFCTEVEIDAKLSNlbHNlCi0j
ZGVmaW5lIEFTU0VSVF9FTkFCTEVEIDEKLSNlbmRpZgogI2VuZGlmCiAKLQotCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAjZGVmaW5lIFVTRV9DRyAxCiAjZW5kaWYKQEAgLTE1MSwxOSArOTQsNiBAQAog
I2RlZmluZSBVU0VfV0VCUCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEdUSykKLSNkZWZpbmUg
R0xJQl9WRVJTSU9OX01JTl9SRVFVSVJFRCBHTElCX1ZFUlNJT05fMl8zNgotI2RlZmluZSBHREtf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgR0RLX1ZFUlNJT05fM182Ci0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKFdQRSkKLSNkZWZpbmUgR0xJQl9WRVJTSU9OX01JTl9SRVFVSVJFRCBHTElCX1ZFUlNJT05f
Ml80MAotI2VuZGlmCi0KLSNpZiBVU0UoU09VUCkKLSNkZWZpbmUgU09VUF9WRVJTSU9OX01JTl9S
RVFVSVJFRCBTT1VQX1ZFUlNJT05fMl80MgotI2VuZGlmCi0KIC8qIE9uIFdpbmRvd3MsIHVzZSBR
dWVyeVBlcmZvcm1hbmNlQ291bnRlciBieSBkZWZhdWx0ICovCiAjaWYgT1MoV0lORE9XUykKICNk
ZWZpbmUgVVNFX1FVRVJZX1BFUkZPUk1BTkNFX0NPVU5URVIgIDEKQEAgLTE4NSwxNSArMTE1LDYg
QEAKICNkZWZpbmUgVVNFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKICNlbmRpZgog
Ci0KLSNpZiBQTEFURk9STShDT0NPQSkKLS8qIENvY29hIGRlZmluZXMgYSBzZXJpZXMgb2YgcGxh
dGZvcm0gbWFjcm9zIGZvciBkZWJ1Z2dpbmcuICovCi0vKiBTb21lIG9mIHRoZW0gYXJlIHJlYWxs
eSBhbm5veWluZyBiZWNhdXNlIHRoZXkgdXNlIGNvbW1vbiBuYW1lcyAoZS5nLiBjaGVjaygpKS4g
Ki8KLS8qIERpc2FibGUgdGhvc2UgbWFjcm9zIHNvIHRoYXQgd2UgYXJlIG5vdCBsaW1pdGVkIGlu
IGhvdyB3ZSBuYW1lIG1ldGhvZHMgYW5kIGZ1bmN0aW9ucy4gKi8KLSN1bmRlZiBfX0FTU0VSVF9N
QUNST1NfREVGSU5FX1ZFUlNJT05TX1dJVEhPVVRfVU5ERVJTQ09SRVMKLSNkZWZpbmUgX19BU1NF
UlRfTUFDUk9TX0RFRklORV9WRVJTSU9OU19XSVRIT1VUX1VOREVSU0NPUkVTIDAKLSNlbmRpZgot
CiAjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBVU0VfQVBQS0lUIDEKICNlbmRpZgpAQCAtMjY4
LDEwICsxODksNiBAQAogI2RlZmluZSBVU0VfTUVUQUwgMQogI2VuZGlmCiAKLSNpZiBVU0UoR0xJ
QikKLSNpbmNsdWRlIDx3dGYvZ2xpYi9HVHlwZWRlZnMuaD4KLSNlbmRpZgotCiAjaWYgIWRlZmlu
ZWQoVVNFX0VYUE9SVF9NQUNST1MpICYmIChQTEFURk9STShDT0NPQSkgfHwgT1MoV0lORE9XUykp
CiAjZGVmaW5lIFVTRV9FWFBPUlRfTUFDUk9TIDEKICNlbmRpZgpAQCAtMzMyLDE5ICsyNDksNiBA
QAogI2RlZmluZSBVU0VfQVVESU9fU0VTU0lPTiAxCiAjZW5kaWYKIAotI2lmIENPTVBJTEVSKE1T
VkMpCi0jdW5kZWYgX19TVERDX0ZPUk1BVF9NQUNST1MKLSNkZWZpbmUgX19TVERDX0ZPUk1BVF9N
QUNST1MKLSN1bmRlZiBfX1NURENfTElNSVRfTUFDUk9TCi0jZGVmaW5lIF9fU1REQ19MSU1JVF9N
QUNST1MKLSNlbmRpZgotCi0vKiBTZXQgVEFSR0VUX09TX0lQSE9ORSB0byAwIGJ5IGRlZmF1bHQg
dG8gYWxsb3cgdXNpbmcgaXQgYXMgYSBndWFyZAotICogaW4gY3Jvc3MtcGxhdGZvcm0gdGhlIHNh
bWUgd2F5IGFzIGl0IGlzIHVzZWQgaW4gT1MoREFSV0lOKSBjb2RlLiAqLyAKLSNpZiAhZGVmaW5l
ZChUQVJHRVRfT1NfSVBIT05FKSAmJiAhT1MoREFSV0lOKQotI2RlZmluZSBUQVJHRVRfT1NfSVBI
T05FIDAKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIFVTRV9NRURJQVRP
T0xCT1ggMQogI2VuZGlmCkBAIC0zODUsMTEgKzI4OSw2IEBACiAjZGVmaW5lIFVTRV9NRURJQVJF
TU9URSAxCiAjZW5kaWYKIAotI2lmIENPTVBJTEVSKE1TVkMpCi0vKiBFbmFibGUgc3RyaWN0IHJ1
bnRpbWUgc3RhY2sgYnVmZmVyIGNoZWNrcy4gKi8KLSNwcmFnbWEgc3RyaWN0X2dzX2NoZWNrKG9u
KQotI2VuZGlmCi0KICNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIFVTRV9ESUNUQVRJT05fQUxU
RVJOQVRJVkVTIDEKICNlbmRpZgpAQCAtNDI4LDE0MyArMzI3LDMgQEAKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKSB8fCAoIShkZWZpbmVkKFVTRV9TWVNURU1fTUFMTE9DKSAmJiBVU0VfU1lTVEVN
X01BTExPQykgJiYgKE9TKExJTlVYKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUp
KSkpCiAjZGVmaW5lIFVTRV9CTUFMTE9DX01FTU9SWV9GT09UUFJJTlRfQVBJIDEKICNlbmRpZgot
Ci0KLQotCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19oYXNfaW5jbHVkZSg8V2Vi
S2l0QWRkaXRpb25zL0FkZGl0aW9uYWxQbGF0Zm9ybS5oPikKLSNpbmNsdWRlIDxXZWJLaXRBZGRp
dGlvbnMvQWRkaXRpb25hbFBsYXRmb3JtLmg+Ci0jZW5kaWYKLQotI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspICYmIF9faGFzX2luY2x1ZGUoPFdlYktpdEFkZGl0aW9ucy9BZGRpdGlvbmFsRmVh
dHVyZURlZmluZXMuaD4pCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FkZGl0aW9uYWxGZWF0
dXJlRGVmaW5lcy5oPgotI2VuZGlmCi0KLS8qIF9fUExBVEZPUk1fSU5ESVJFQ1RfXyBlbnN1cmVz
IHRoYXQgdXNlcnMgI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPiByYXRoZXIgdGhhbiB3dGYvRmVh
dHVyZURlZmluZXMuaCBkaXJlY3RseS4gKi8KLSNkZWZpbmUgX19QTEFURk9STV9JTkRJUkVDVF9f
Ci0KLS8qIEluY2x1ZGUgZmVhdHVyZSBtYWNyb3MgKi8KLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm1F
bmFibGUuaD4KLQotI3VuZGVmIF9fUExBVEZPUk1fSU5ESVJFQ1RfXwotCi0KLQotLyogRklYTUU6
IFRoZSBmb2xsb3dpbmcgYXJlIGN1cnJlbmx5IHBvc2l0aW9uZWQgYXQgdGhlIGJvdHRvbSBvZiB0
aGlzIGZpbGUgYXMgdGhleSBhcmUgY3VycmVudGx5IGRlcGVuZGVudCBvbiBFTkFCTEUgb3IgVVNF
IG1hY3Jvcy4gKi8KLQotLyogRklYTUU6IFRoZSBhdmFpbGFiaWxpdHkgb2YgUlNBX1BTUyBzaG91
bGQgbm90IGRlcGVuZCBvbiB0aGUgcG9saWN5IGRlY2lzaW9uIHRvIFVTRShHQ1JZUFQpLiAqLwot
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkgfHwgVVNFKEdDUllQVCkKLSNkZWZpbmUgSEFWRV9SU0FfUFNTIDEKLSNlbmRpZgotCi0vKiBG
SVhNRTogUmVtb3ZlIGRlcGVuZGVuY2Ugb24gRU5BQkxFKFdFQl9SVEMpLiAqLwotI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBFTkFCTEUoV0VCX1JUQykKLSNkZWZpbmUgVVNFX0xJQldFQlJUQyAxCi0j
ZW5kaWYKLQotLyogRklYTUU6IFRoaXMgaXMgdXNlZCB0byAidHVybiBvbiBhIHNwZWNpZmljIGZl
YXR1cmUgb2YgV2ViS2l0Iiwgc28gc2hvdWxkIGJlIGNvbnZlcnRlZCB0byBhbiBFTkFCTEUgbWFj
cm8uICovCi0vKiBUaGlzIGZlYXR1cmUgd29ya3MgYnkgZW1iZWRkaW5nIHRoZSBPcGNvZGVJRCBp
biB0aGUgMzIgYml0IGp1c3QgYmVmb3JlIHRoZSBnZW5lcmF0ZWQgTExpbnQgY29kZQotICAgdGhh
dCBleGVjdXRlcyBlYWNoIG9wY29kZS4gSXQgY2Fubm90IGJlIHN1cHBvcnRlZCBieSB0aGUgQ0xv
b3Agc2luY2UgdGhlcmUncyBubyB3YXkgdG8gZW1iZWQgdGhlCi0gICBPcGNvZGVJRCB3b3JkIGlu
IHRoZSBDTG9vcCdzIHN3aXRjaCBzdGF0ZW1lbnQgY2FzZXMuIEl0IGlzIGFsc28gY3VycmVudGx5
IG5vdCBpbXBsZW1lbnRlZCBmb3IgTVNWQy4KLSovCi0jaWYgIWRlZmluZWQoVVNFX0xMSU5UX0VN
QkVEREVEX09QQ09ERV9JRCkgJiYgIUVOQUJMRShDX0xPT1ApICYmICFDT01QSUxFUihNU1ZDKSAm
JiBcCi0gICAgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk02NCkgfHwgKENQVShB
Uk1fVEhVTUIyKSAmJiBPUyhEQVJXSU4pKSkKLSNkZWZpbmUgVVNFX0xMSU5UX0VNQkVEREVEX09Q
Q09ERV9JRCAxCi0jZW5kaWYKLQotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jaWYgRU5BQkxFKFdF
QkdMKQotCi0vKiBVU0VfQU5HTEU9MSB1c2VzIEFOR0xFIGZvciB0aGUgV2ViR0wgYmFja2VuZC4K
LSAgIEl0IHJlcGxhY2VzIFVTRV9PUEVOR0wsIFVTRV9PUEVOR0xfRVMgYW5kIFVTRV9FR0wuICov
Ci0jaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmIF9faGFzX2lu
Y2x1ZGUoPE9wZW5HTC9PcGVuR0wuaD4pKQotI2RlZmluZSBVU0VfT1BFTkdMIDEKLSNkZWZpbmUg
VVNFX09QRU5HTF9FUyAwCi0jZGVmaW5lIFVTRV9BTkdMRSAwCi0jZWxzZQotI2RlZmluZSBVU0Vf
T1BFTkdMIDAKLSNkZWZpbmUgVVNFX09QRU5HTF9FUyAxCi0jZGVmaW5lIFVTRV9BTkdMRSAwCi0j
ZW5kaWYKLQotI2lmbmRlZiBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9OCi0jZGVmaW5lIEdMX1NJTEVO
Q0VfREVQUkVDQVRJT04gMQotI2VuZGlmCi0KLSNpZiBVU0UoT1BFTkdMKSAmJiAhZGVmaW5lZChI
QVZFX09QRU5HTF80KQotI2RlZmluZSBIQVZFX09QRU5HTF80IDEKLSNlbmRpZgotCi0jaWYgVVNF
KE9QRU5HTF9FUykgJiYgIWRlZmluZWQoSEFWRV9PUEVOR0xfRVNfMykKLSNkZWZpbmUgSEFWRV9P
UEVOR0xfRVNfMyAxCi0jZW5kaWYKLQotI2lmIFVTRV9BTkdMRSAmJiAoVVNFX09QRU5HTCB8fCBV
U0VfT1BFTkdMX0VTKQotI2Vycm9yIFVTRV9BTkdMRSBpcyBpbmNvbXBhdGlibGUgd2l0aCBVU0Vf
T1BFTkdMIGFuZCBVU0VfT1BFTkdMX0VTCi0jZW5kaWYKLQotI2VuZGlmIC8qIEVOQUJMRShXRUJH
TCkgKi8KLSNlbmRpZiAvKiBQTEFURk9STShDT0NPQSkgKi8KLQotI2lmIEVOQUJMRShXRUJHTCkK
LSNpZiAhZGVmaW5lZChVU0VfQU5HTEUpCi0jZGVmaW5lIFVTRV9BTkdMRSAwCi0jZW5kaWYKLQot
I2lmIChVU0VfQU5HTEUgJiYgKFVTRV9PUEVOR0wgfHwgVVNFX09QRU5HTF9FUyB8fCAoZGVmaW5l
ZChVU0VfRUdMKSAmJiBVU0VfRUdMKSkpICYmICFVU0UoVEVYVFVSRV9NQVBQRVIpCi0jZXJyb3Ig
VVNFX0FOR0xFIGlzIGluY29tcGF0aWJsZSB3aXRoIFVTRV9PUEVOR0wsIFVTRV9PUEVOR0xfRVMg
YW5kIFVTRV9FR0wKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpICYm
IEVOQUJMRShHUkFQSElDU19DT05URVhUX0dMKSAmJiAhZGVmaW5lZChVU0VfVEVYVFVSRV9NQVBQ
RVJfR0wpCi0jZGVmaW5lIFVTRV9URVhUVVJFX01BUFBFUl9HTCAxCi0jZW5kaWYKLQotLyogRklY
TUU6IFRoaXMgaXMgdXNlZCB0byAidHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0
Iiwgc28gc2hvdWxkIGJlIGNvbnZlcnRlZCB0byBhbiBFTkFCTEUgbWFjcm8uICovCi0jaWYgUExB
VEZPUk0oQ09DT0EpICYmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQotI2RlZmluZSBVU0VfQUNDRVNT
SUJJTElUWV9DT05URVhUX01FTlVTIDEKLSNlbmRpZgotCi0KLS8qIEZJWE1FOiBUaGVzZSBjYWxs
aW5nIGNvbnZlbnRpb24gbWFjcm9zIHNob3VsZCBtb3ZlIHRvIHRoZWlyIG93biBmaWxlLiBUaGV5
IGFyZSBhdCB0aGUgYm90dG9tIGN1cnJlbnRseSBiZWNhdXNlIHRoZXkgZGVwZW5kIG9uIEZlYXR1
cmVEZWZpbmVzLmggKi8KLQotI2lmIENQVShYODYpICYmIENPTVBJTEVSKE1TVkMpCi0jZGVmaW5l
IEpTQ19IT1NUX0NBTEwgX19mYXN0Y2FsbAotI2VsaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoR0ND
X0NPTVBBVElCTEUpCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwgX19hdHRyaWJ1dGVfXyAoKGZhc3Rj
YWxsKSkKLSNlbHNlCi0jZGVmaW5lIEpTQ19IT1NUX0NBTEwKLSNlbmRpZgotCi0jaWYgQ1BVKFg4
NikgJiYgT1MoV0lORE9XUykKLSNkZWZpbmUgQ0FMTElOR19DT05WRU5USU9OX0lTX1NURENBTEwg
MQotI2lmbmRlZiBDREVDTAotI2lmIENPTVBJTEVSKE1TVkMpCi0jZGVmaW5lIENERUNMIF9fY2Rl
Y2wKLSNlbHNlCi0jZGVmaW5lIENERUNMIF9fYXR0cmlidXRlX18gKChfX2NkZWNsKSkKLSNlbmRp
ZgotI2VuZGlmCi0jZWxzZQotI2RlZmluZSBDQUxMSU5HX0NPTlZFTlRJT05fSVNfU1REQ0FMTCAw
Ci0jZW5kaWYKLQotI2lmIENQVShYODYpCi0jZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19G
QVNUQ0FMTF9DQUxMSU5HX0NPTlZFTlRJT04gMQotI2lmbmRlZiBGQVNUQ0FMTAotI2lmIENPTVBJ
TEVSKE1TVkMpCi0jZGVmaW5lIEZBU1RDQUxMIF9fZmFzdGNhbGwKLSNlbHNlCi0jZGVmaW5lIEZB
U1RDQUxMICBfX2F0dHJpYnV0ZV9fICgoZmFzdGNhbGwpKQotI2VuZGlmCi0jZW5kaWYKLSNlbHNl
Ci0jZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19GQVNUQ0FMTF9DQUxMSU5HX0NPTlZFTlRJ
T04gMAotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSklUKSAmJiBDQUxMSU5HX0NPTlZFTlRJT05fSVNf
U1REQ0FMTAotI2RlZmluZSBKSVRfT1BFUkFUSU9OIENERUNMCi0jZWxzZQotI2RlZmluZSBKSVRf
T1BFUkFUSU9OCi0jZW5kaWYK
</data>
<flag name="review"
          id="403673"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>