<?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>206240</bug_id>
          
          <creation_ts>2020-01-14 09:16:17 -0800</creation_ts>
          <short_desc>Plaform.h helper files should have a consistent naming scheme</short_desc>
          <delta_ts>2020-01-14 16:28:21 -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>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1606428</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-14 09:16:17 -0800</bug_when>
    <thetext>Plaform.h helper files should have a consistent naming scheme</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606465</commentid>
    <comment_count>1</comment_count>
      <attachid>387672</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-14 10:20:19 -0800</bug_when>
    <thetext>Created attachment 387672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606677</commentid>
    <comment_count>2</comment_count>
      <attachid>387672</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-14 16:27:00 -0800</bug_when>
    <thetext>Comment on attachment 387672
Patch

Clearing flags on attachment: 387672

Committed r254544: &lt;https://trac.webkit.org/changeset/254544&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606678</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-14 16:27:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606679</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-14 16:28:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/58587280&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387672</attachid>
            <date>2020-01-14 10:20:19 -0800</date>
            <delta_ts>2020-01-14 16:27:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206240-20200114102018.patch</filename>
            <type>text/plain</type>
            <size>100103</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNTQ1MTQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAxLTE0ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBQbGFmb3JtLmggaGVscGVyIGZpbGVzIHNob3VsZCBoYXZl
IGEgY29uc2lzdGVudCBuYW1pbmcgc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyNDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUGxhZm9ybS5oIGhlbHBlciBmaWxlcyB0byB1c2Ug
dGhlIHByZWZpeCAiUGxhdGZvcm0iIGNvbnNpc3RlbnRseS4KKworICAgICAgICAqIFdURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiB3dGYvQ1BVLmg6IFJlbW92ZWQuCisgICAgICAgICogd3RmL0ZlYXR1cmVEZWZpbmVz
Lmg6IFJlbW92ZWQuCisgICAgICAgICogd3RmL09TLmg6IFJlbW92ZWQuCisgICAgICAgICogd3Rm
L1BsYXRmb3JtLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtQ1BVLmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XVEYvd3RmL0NQVS5oLgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUVuYWJsZS5oOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oLgorICAgICAgICAqIHd0Zi9Q
bGF0Zm9ybU9TLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XVEYvd3RmL09TLmguCisKIDIwMjAtMDEt
MTMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBldmVuIG1v
cmUgInNob3J0ZXN0IGZvcm0iIGZvcm1hdHRpbmcsIGFuZCBsZXNzICJmaXhlZCBwcmVjaXNpb24i
IGFuZCAiZml4ZWQgd2lkdGgiCkluZGV4OiBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDI1NDQ4MCkKKysrIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTQ0NCw5ICs0NDQsMTAgQEAKIAkJN0Mx
Mzc5NDIyMjIzMjZENTAwRDdBODI0IC8qIGllZWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gaWVlZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzEzNzk0MzIyMjMyNkQ1MDBEN0E4MjQgLyog
UkVBRE1FLm1kICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gbmV0LmRhcmluZ2ZpcmViYWxsLm1hcmtkb3duOyBwYXRoID0gUkVBRE1FLm1kOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3QzNGNzIzOTFENzg4MTE5MDA2NzRFMjYgLyogQnJpZ2Fu
ZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCcmlnYW5kLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDOEI2MzMwMjNDQUM3NkQwMEJCNDYyMCAvKiBPUy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3QzQyMzA3MTIzQ0UyRDhBMDA2RTU0RDAgLyogUGxhdGZvcm1FbmFibGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1FbmFibGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M0MjMwNzIyM0NFMkQ4QTAwNkU1NEQwIC8qIFBsYXRm
b3JtQ1BVLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ1BVLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDNDIzMDczMjNDRTJEOEIwMDZFNTREMCAv
KiBQbGF0Zm9ybU9TLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3Jt
T1MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M5NjkyOTQxRjY2MzA2RTAwMjY3
QTlFIC8qIEtleVZhbHVlUGFpci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBL
ZXlWYWx1ZVBhaXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0NBODQyRTkyM0M5
OENCNzAwNTE0Q0FGIC8qIENQVS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
UFUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NCQkEwNzMxOUJCN0ZEQzAwQkJG
MDI1IC8qIE9TT2JqZWN0UHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9T
T2JqZWN0UHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDRDBENUE3MUQ1NTMy
MkEwMDBDQzlFMSAvKiBWYXJpYW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFZhcmlhbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NENEMyNkYxRTJDODJC
OTAwOTI5NDcwIC8qIFN0cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTY2MSw3ICs2NjIsNiBAQAogCQlBRDg5QjZCOTFFNjQxNTBGMDA5
MDcwN0YgLyogTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQURGMkNFNjQxRTM5RjEwNjAwNjg4OURCIC8qIE1l
bW9yeUZvb3RwcmludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlG
b290cHJpbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQURGMkNFNjUxRTM5RjEw
NjAwNjg4OURCIC8qIE1lbW9yeUZvb3RwcmludENvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE1lbW9yeUZvb3RwcmludENvY29hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJQjM4RkQ3QkMxNjg5NTNFODAwNjVDOTY5IC8qIEZlYXR1cmVEZWZp
bmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZlYXR1cmVEZWZpbmVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyQkNGQzNFMUY2MUQxMzAwMEM5MjIyQyAv
KiBMYW5ndWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYW5n
dWFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyQkNGQzNGMUY2MUQxMzAw
MEM5MjIyQyAvKiBMYW5ndWFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
YW5ndWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMkJDRkM0MTFGNjFENjE2
MDBDOTIyMkMgLyogTGFuZ3VhZ2VDRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBMYW5ndWFnZUNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk1
Niw3ICs5NTYsNiBAQAogCQkJCTBGREI2OThEMUI3QzY0M0EwMDBDMTA3OCAvKiBDb25kaXRpb24u
aCAqLywKIAkJCQkwRjhFODVEQTFGRDQ4NUIwMDA2OTE4ODkgLyogQ291bnRpbmdMb2NrLmNwcCAq
LywKIAkJCQkwRkZCQ0JGQTFGRDM3RTBGMDA3MkFBRjAgLyogQ291bnRpbmdMb2NrLmggKi8sCi0J
CQkJN0NBODQyRTkyM0M5OENCNzAwNTE0Q0FGIC8qIENQVS5oICovLAogCQkJCUUzOEM0MTI2MUVC
NEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmNwcCAqLywKIAkJCQlFMzhDNDEyNzFFQjRFMDY4MDA0
Mjk1N0QgLyogQ1BVVGltZS5oICovLAogCQkJCTUxNUY3OTRCMUNGQzlGNEEwMENDRUQ5MyAvKiBD
cm9zc1RocmVhZENvcGllci5jcHAgKi8sCkBAIC05OTUsNyArOTk0LDYgQEAKIAkJCQlBOEE0NzJB
MTE1MUE4MjVBMDA0MTIzRkYgLyogRmFzdE1hbGxvYy5jcHAgKi8sCiAJCQkJQThBNDcyQTIxNTFB
ODI1QTAwNDEyM0ZGIC8qIEZhc3RNYWxsb2MuaCAqLywKIAkJCQkwRjc5QzdDMzFFNzM1MTE4MDBF
QjM0RDEgLyogRmFzdFRMUy5oICovLAotCQkJCUIzOEZEN0JDMTY4OTUzRTgwMDY1Qzk2OSAvKiBG
ZWF0dXJlRGVmaW5lcy5oICovLAogCQkJCUEzMzFEOTU4MjFGMjQ5NzgwMDlGMDJBQSAvKiBGaWxl
TWV0YWRhdGEuaCAqLywKIAkJCQkwRjlEMzM1QjE2NURCQTczMDA1QUQzODcgLyogRmlsZVByaW50
U3RyZWFtLmNwcCAqLywKIAkJCQkwRjlEMzM1QzE2NURCQTczMDA1QUQzODcgLyogRmlsZVByaW50
U3RyZWFtLmggKi8sCkBAIC0xMTA3LDcgKzExMDUsNiBAQAogCQkJCTFBNDY1NjE4MUM3RkM2OEUw
MEY1OTIwRiAvKiBPcHRpb25TZXQuaCAqLywKIAkJCQkyNzVERkI2QjIzOEJERjcyMDAxMjMwRTIg
LyogT3B0aW9uU2V0SGFzaC5oICovLAogCQkJCTBGOTQ5NTgzMUM1NzFDQzkwMDQxM0E0OCAvKiBP
cmRlck1ha2VyLmggKi8sCi0JCQkJN0M4QjYzMzAyM0NBQzc2RDAwQkI0NjIwIC8qIE9TLmggKi8s
CiAJCQkJQThBNDcyRDcxNTFBODI1QjAwNDEyM0ZGIC8qIE9TQWxsb2NhdG9yLmggKi8sCiAJCQkJ
N0NCQkEwNzMxOUJCN0ZEQzAwQkJGMDI1IC8qIE9TT2JqZWN0UHRyLmggKi8sCiAJCQkJQThBNDcy
REExNTFBODI1QjAwNDEyM0ZGIC8qIE9TUmFuZG9tU291cmNlLmNwcCAqLywKQEAgLTExMjgsNiAr
MTEyNSw5IEBACiAJCQkJMEY4MjRBNjQxQjc0NDNBMDAwMkUzNDVEIC8qIFBhcmtpbmdMb3QuY3Bw
ICovLAogCQkJCTBGODI0QTY1MUI3NDQzQTAwMDJFMzQ1RCAvKiBQYXJraW5nTG90LmggKi8sCiAJ
CQkJQTg3NkRCRDcxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3JtLmggKi8sCisJCQkJN0M0MjMw
NzIyM0NFMkQ4QTAwNkU1NEQwIC8qIFBsYXRmb3JtQ1BVLmggKi8sCisJCQkJN0M0MjMwNzEyM0NF
MkQ4QTAwNkU1NEQwIC8qIFBsYXRmb3JtRW5hYmxlLmggKi8sCisJCQkJN0M0MjMwNzMyM0NFMkQ4
QjAwNkU1NEQwIC8qIFBsYXRmb3JtT1MuaCAqLywKIAkJCQlGRTFFMkM0MTIyNDE4N0M2MDBGNkI3
MjkgLyogUGxhdGZvcm1SZWdpc3RlcnMuY3BwICovLAogCQkJCUUzMjAwQUI0MUU5QTUzNkQwMDNC
NTlEMiAvKiBQbGF0Zm9ybVJlZ2lzdGVycy5oICovLAogCQkJCTBGRjg2MDk0MUJDQ0JENzQwMDQ1
MTI3RiAvKiBQb2ludGVyQ29tcGFyaXNvbi5oICovLApJbmRleDogU291cmNlL1dURi93dGYvQ01h
a2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQJ
KHJldmlzaW9uIDI1NDQ4MCkKKysrIFNvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw2IEBAIHNldChXVEZfUFVCTElDX0hFQURFUlMKICAgICBC
dWJibGVTb3J0LmgKICAgICBCdW1wUG9pbnRlckFsbG9jYXRvci5oCiAgICAgQnl0ZU9yZGVyLmgK
LSAgICBDUFUuaAogICAgIENQVVRpbWUuaAogICAgIENhZ2VkUHRyLmgKICAgICBDYWdlZFVuaXF1
ZVB0ci5oCkBAIC02NCw3ICs2Myw2IEBAIHNldChXVEZfUFVCTElDX0hFQURFUlMKICAgICBGYXN0
Qml0VmVjdG9yLmgKICAgICBGYXN0TWFsbG9jLmgKICAgICBGYXN0VExTLmgKLSAgICBGZWF0dXJl
RGVmaW5lcy5oCiAgICAgRmlsZU1ldGFkYXRhLmgKICAgICBGaWxlUHJpbnRTdHJlYW0uaAogICAg
IEZpbGVTeXN0ZW0uaApAQCAtMTQ5LDcgKzE0Nyw2IEBAIHNldChXVEZfUFVCTElDX0hFQURFUlMK
ICAgICBOb25tb3ZhYmxlLmgKICAgICBOb3RGb3VuZC5oCiAgICAgTnVtYmVyT2ZDb3Jlcy5oCi0g
ICAgT1MuaAogICAgIE9TQWxsb2NhdG9yLmgKICAgICBPU09iamVjdFB0ci5oCiAgICAgT1NSYW5k
b21Tb3VyY2UuaApAQCAtMTc0LDYgKzE3MSw5IEBAIHNldChXVEZfUFVCTElDX0hFQURFUlMKICAg
ICBQYXJhbGxlbFZlY3Rvckl0ZXJhdG9yLmgKICAgICBQYXJraW5nTG90LmgKICAgICBQbGF0Zm9y
bS5oCisgICAgUGxhdGZvcm1DUFUuaAorICAgIFBsYXRmb3JtRW5hYmxlLmgKKyAgICBQbGF0Zm9y
bU9TLmgKICAgICBQbGF0Zm9ybVJlZ2lzdGVycy5oCiAgICAgUG9pbnRlckNvbXBhcmlzb24uaAog
ICAgIFBvaW50ZXJQcmVwYXJhdGlvbnMuaApJbmRleDogU291cmNlL1dURi93dGYvQ1BVLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQ1BVLmgJKHJldmlzaW9uIDI1NDQ4MCkKKysrIFNv
dXJjZS9XVEYvd3RmL0NQVS5oCShub25leGlzdGVudCkKQEAgLTEsMzYzICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQot
LyogSW5jbHVkZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KLSNpbmNsdWRlIDx3dGYvQ29t
cGlsZXIuaD4KLQotLyogQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KLSNk
ZWZpbmUgQ1BVKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYm
IFdURl9DUFVfIyNXVEZfRkVBVFVSRSkKLQotLyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BV
IGFyY2hpdGVjdHVyZSA9PT09ICovCi0vKiBDUFUoS05PV04pIGJlY29tZXMgdHJ1ZSBpZiB3ZSBl
eHBsaWNpdGx5IHN1cHBvcnQgYSB0YXJnZXQgQ1BVLiAqLwotCi0vKiBDUFUoTUlQUykgLSBNSVBT
IDMyLWJpdCBhbmQgNjQtYml0ICovCi0jaWYgKGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21p
cHNfXykgfHwgZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykgfHwgZGVmaW5lZChfX21p
cHM2NCkpCi0jaWYgZGVmaW5lZChfQUJJNjQpICYmIChfTUlQU19TSU0gPT0gX0FCSTY0KQotI2Rl
ZmluZSBXVEZfQ1BVX01JUFM2NCAxCi0jZGVmaW5lIFdURl9NSVBTX0FSQ0ggX19taXBzNjQKLSNl
bHNlCi0jZGVmaW5lIFdURl9DUFVfTUlQUyAxCi0jZGVmaW5lIFdURl9NSVBTX0FSQ0ggX19taXBz
Ci0jZW5kaWYKLSNkZWZpbmUgV1RGX0NQVV9LTk9XTiAxCi0jZGVmaW5lIFdURl9NSVBTX1BJQyAo
ZGVmaW5lZCBfX1BJQ19fKQotI2RlZmluZSBXVEZfTUlQU19JU0EodikgKGRlZmluZWQgV1RGX01J
UFNfQVJDSCAmJiBXVEZfTUlQU19BUkNIID09IHYpCi0jZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9M
RUFTVCh2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKLSNk
ZWZpbmUgV1RGX01JUFNfQVJDSF9SRVYgX19taXBzX2lzYV9yZXYKLSNkZWZpbmUgV1RGX01JUFNf
SVNBX1JFVih2KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JF
ViA9PSB2KQotI2RlZmluZSBXVEZfTUlQU19JU0FfUkVWX0FUX0xFQVNUKHYpIChkZWZpbmVkIFdU
Rl9NSVBTX0FSQ0hfUkVWICYmIFdURl9NSVBTX0FSQ0hfUkVWID49IHYpCi0jZGVmaW5lIFdURl9N
SVBTX0RPVUJMRV9GTE9BVCAoZGVmaW5lZCBfX21pcHNfaGFyZF9mbG9hdCAmJiAhZGVmaW5lZCBf
X21pcHNfc2luZ2xlX2Zsb2F0KQotI2RlZmluZSBXVEZfTUlQU19GUDY0IChkZWZpbmVkIF9fbWlw
c19mcHIgJiYgX19taXBzX2ZwciA9PSA2NCkKLSNlbmRpZgotCi0vKiBDUFUoUFBDNjQpIC0gUG93
ZXJQQyA2NC1iaXQgQmlnIEVuZGlhbiAqLwotI2lmICggIGRlZmluZWQoX19wcGM2NF9fKSAgICAg
IFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDNjRfXykpICAgICBcCi0gICAgJiYgZGVmaW5lZChfX0JZ
VEVfT1JERVJfXykgXAotICAgICYmIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0JJR19FTkRJ
QU5fXykKLSNkZWZpbmUgV1RGX0NQVV9QUEM2NCAxCi0jZGVmaW5lIFdURl9DUFVfS05PV04gMQot
I2VuZGlmCi0KLS8qIENQVShQUEM2NExFKSAtIFBvd2VyUEMgNjQtYml0IExpdHRsZSBFbmRpYW4g
Ki8KLSNpZiAoICAgZGVmaW5lZChfX3BwYzY0X18pICAgICBcCi0gICAgfHwgZGVmaW5lZChfX1BQ
QzY0X18pICAgICAgXAotICAgIHx8IGRlZmluZWQoX19wcGM2NGxlX18pICAgIFwKLSAgICB8fCBk
ZWZpbmVkKF9fUFBDNjRMRV9fKSkgICBcCi0gICAgJiYgZGVmaW5lZChfX0JZVEVfT1JERVJfXykg
XAotICAgICYmIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXykKLSNk
ZWZpbmUgV1RGX0NQVV9QUEM2NExFIDEKLSNkZWZpbmUgV1RGX0NQVV9LTk9XTiAxCi0jZW5kaWYK
LQotLyogQ1BVKFBQQykgLSBQb3dlclBDIDMyLWJpdCAqLwotI2lmICggIGRlZmluZWQoX19wcGNf
XykgICAgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICAgICBcCi0gICAgfHwgZGVm
aW5lZChfX3Bvd2VycGNfXykgICAgXAotICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgICAgIFwK
LSAgICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSAgICBcCi0gICAgfHwgZGVmaW5lZChfTV9QUEMp
ICAgICAgICAgXAotICAgIHx8IGRlZmluZWQoX19QUEMpKSAgICAgICAgIFwKLSAgICAmJiAhQ1BV
KFBQQzY0KSAgICAgICAgICAgICBcCi0gICAgJiYgQ1BVKEJJR19FTkRJQU4pCi0jZGVmaW5lIFdU
Rl9DUFVfUFBDIDEKLSNkZWZpbmUgV1RGX0NQVV9LTk9XTiAxCi0jZW5kaWYKLQotLyogQ1BVKFg4
NikgLSBpMzg2IC8geDg2IDMyLWJpdCAqLwotI2lmICAgZGVmaW5lZChfX2kzODZfXykgXAotICAg
IHx8IGRlZmluZWQoaTM4NikgICAgIFwKLSAgICB8fCBkZWZpbmVkKF9NX0lYODYpICBcCi0gICAg
fHwgZGVmaW5lZChfWDg2XykgICAgXAotICAgIHx8IGRlZmluZWQoX19USFdfSU5URUwpCi0jZGVm
aW5lIFdURl9DUFVfWDg2IDEKLSNkZWZpbmUgV1RGX0NQVV9LTk9XTiAxCi0KLSNpZiBkZWZpbmVk
KF9fU1NFMl9fKSB8fCAoZGVmaW5lZChfTV9JWDg2X0ZQKSAmJiBfTV9JWDg2X0ZQID49IDIpCi0j
ZGVmaW5lIFdURl9DUFVfWDg2X1NTRTIgMQotI2VuZGlmCi0KLSNlbmRpZgotCi0vKiBDUFUoWDg2
XzY0KSAtIEFNRDY0IC8gSW50ZWw2NCAvIHg4Nl82NCA2NC1iaXQgKi8KLSNpZiAgIGRlZmluZWQo
X194ODZfNjRfXykgXAotICAgIHx8IGRlZmluZWQoX01fWDY0KQotI2RlZmluZSBXVEZfQ1BVX1g4
Nl82NCAxCi0jZGVmaW5lIFdURl9DUFVfWDg2X1NTRTIgMQotI2RlZmluZSBXVEZfQ1BVX0tOT1dO
IDEKLSNlbmRpZgotCi0vKiBDUFUoQVJNNjQpIC0gQXBwbGUgKi8KLSNpZiAoZGVmaW5lZChfX2Fy
bTY0X18pICYmIGRlZmluZWQoX19BUFBMRV9fKSkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykKLSNk
ZWZpbmUgV1RGX0NQVV9BUk02NCAxCi0jZGVmaW5lIFdURl9DUFVfS05PV04gMQotCi0jaWYgZGVm
aW5lZChfX2FybTY0ZV9fKQotI2RlZmluZSBXVEZfQ1BVX0FSTTY0RSAxCi0jZW5kaWYKLSNlbmRp
ZgotCi0vKiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNpb24qLwotI2RlZmluZSBXVEZfQVJNX0FS
Q0hfQVRfTEVBU1QoTikgKENQVShBUk0pICYmIFdURl9BUk1fQVJDSF9WRVJTSU9OID49IE4pCi0K
LSNpZiAgIGRlZmluZWQoYXJtKSBcCi0gICAgfHwgZGVmaW5lZChfX2FybV9fKSBcCi0gICAgfHwg
ZGVmaW5lZChBUk0pIFwKLSAgICB8fCBkZWZpbmVkKF9BUk1fKQotI2RlZmluZSBXVEZfQ1BVX0FS
TSAxCi0jZGVmaW5lIFdURl9DUFVfS05PV04gMQotCi0jaWYgZGVmaW5lZChfX0FSTV9QQ1NfVkZQ
KQotI2RlZmluZSBXVEZfQ1BVX0FSTV9IQVJERlAgMQotI2VuZGlmCi0KLS8qIFNldCBXVEZfQVJN
X0FSQ0hfVkVSU0lPTiAqLwotI2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRfXykgXAotICAgIHx8
IGRlZmluZWQoX19BUk1fQVJDSF80VF9fKSBcCi0gICAgfHwgZGVmaW5lZChfX01BUk1fQVJNVjRf
XykKLSNkZWZpbmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNAotCi0jZWxpZiBkZWZpbmVkKF9fQVJN
X0FSQ0hfNV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKLSAgICB8fCBk
ZWZpbmVkKF9fTUFSTV9BUk1WNV9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1Ci0K
LSNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF81RV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzVURV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykKLSNkZWZpbmUg
V1RGX0FSTV9BUkNIX1ZFUlNJT04gNQotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfNktfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCi0gICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZU
Ml9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTVY2X18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9W
RVJTSU9OIDYKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKLSAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfN0tfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBc
Ci0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdTX18pCi0jZGVmaW5lIFdURl9BUk1fQVJDSF9W
RVJTSU9OIDcKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzhfXykgXAotICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF84QV9fKQotI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA4Ci0KLS8q
IE1TVkMgc2V0cyBfTV9BUk0gKi8KLSNlbGlmIGRlZmluZWQoX01fQVJNKQotI2RlZmluZSBXVEZf
QVJNX0FSQ0hfVkVSU0lPTiBfTV9BUk0KLQotLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0g
Ki8KLSNlbGlmIGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCi0jZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIF9fVEFSR0VUX0FSQ0hfQVJNCi0KLSNlbHNlCi0jZGVmaW5lIFdURl9BUk1fQVJD
SF9WRVJTSU9OIDAKLQotI2VuZGlmCi0KLS8qIEZJWE1FOiBXVEZfVEhVTUJfQVJDSF9WRVJTSU9O
IHNlZW1zIHVudXNlZC4gUmVtb3ZlLiAqLwotLyogU2V0IFdURl9USFVNQl9BUkNIX1ZFUlNJT04g
Ki8KLSNpZiAgIGRlZmluZWQoX19BUk1fQVJDSF80VF9fKQotI2RlZmluZSBXVEZfVEhVTUJfQVJD
SF9WRVJTSU9OIDEKLQotI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKLSAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfNVRFX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRF
Sl9fKQotI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDIKLQotI2VsaWYgZGVmaW5lZChf
X0FSTV9BUkNIXzZKX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAotICAg
IHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzZaS19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZNX18pCi0jZGVmaW5lIFdURl9U
SFVNQl9BUkNIX1ZFUlNJT04gMwotCi0jZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwK
LSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN19fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9B
UkNIXzdBX18pIFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0tfXykgXAotICAgIHx8IGRl
ZmluZWQoX19BUk1fQVJDSF83TV9fKSBcCi0gICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18p
IFwKLSAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN1NfXykKLSNkZWZpbmUgV1RGX1RIVU1CX0FS
Q0hfVkVSU0lPTiA0Ci0KLS8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1CICovCi0jZWxp
ZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfVEhVTUIpCi0jZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZF
UlNJT04gX19UQVJHRVRfQVJDSF9USFVNQgotCi0jZWxzZQotI2RlZmluZSBXVEZfVEhVTUJfQVJD
SF9WRVJTSU9OIDAKLSNlbmRpZgotCi0KLS8qIEZJWE1FOiBDUFUoQVJNVjVfT1JfTE9XRVIpIHNl
ZW1zIHVudXNlZC4gUmVtb3ZlLiAqLwotLyogQ1BVKEFSTVY1X09SX0xPV0VSKSAtIEFSTSBpbnN0
cnVjdGlvbiBzZXQgdjUgb3IgZWFybGllciAqLwotLyogT24gQVJNdjUgYW5kIGJlbG93IHRoZSBu
YXR1cmFsIGFsaWdubWVudCBpcyByZXF1aXJlZC4gCi0gICBBbmQgdGhlcmUgYXJlIHNvbWUgb3Ro
ZXIgZGlmZmVyZW5jZXMgZm9yIHY1IG9yIGVhcmxpZXIuICovCi0jaWYgIWRlZmluZWQoQVJNVjVf
T1JfTE9XRVIpICYmICFXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNikKLSNkZWZpbmUgV1RGX0NQVV9B
Uk1WNV9PUl9MT1dFUiAxCi0jZW5kaWYKLQotCi0vKiBDUFUoQVJNX1RSQURJVElPTkFMKSAtIFRo
dW1iMiBpcyBub3QgYXZhaWxhYmxlLCBvbmx5IHRyYWRpdGlvbmFsIEFSTSAodjQgb3IgZ3JlYXRl
cikgKi8KLS8qIENQVShBUk1fVEhVTUIyKSAtIFRodW1iMiBpbnN0cnVjdGlvbiBzZXQgaXMgYXZh
aWxhYmxlICovCi0vKiBPbmx5IG9uZSBvZiB0aGVzZSB3aWxsIGJlIGRlZmluZWQuICovCi0jaWYg
IWRlZmluZWQoV1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJN
X1RIVU1CMikKLSMgIGlmIGRlZmluZWQodGh1bWIyKSB8fCBkZWZpbmVkKF9fdGh1bWIyX18pIFwK
LSAgICB8fCAoKGRlZmluZWQoX190aHVtYikgfHwgZGVmaW5lZChfX3RodW1iX18pKSAmJiBXVEZf
VEhVTUJfQVJDSF9WRVJTSU9OID09IDQpCi0jICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJ
T05BTCAwCi0jICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIgMQotIyAgZWxpZiBXVEZfQVJN
X0FSQ0hfQVRfTEVBU1QoNCkKLSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDEK
LSMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RIVU1CMiAwCi0jICBlbHNlCi0jICAgIGVycm9yICJO
b3Qgc3VwcG9ydGVkIEFSTSBhcmNoaXRlY3R1cmUiCi0jICBlbmRpZgotI2VsaWYgQ1BVKEFSTV9U
UkFESVRJT05BTCkgJiYgQ1BVKEFSTV9USFVNQjIpIC8qIFNhbml0eSBDaGVjayAqLwotIyAgZXJy
b3IgIkNhbm5vdCB1c2UgYm90aCBvZiBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCBhbmQgV1RGX0NQ
VV9BUk1fVEhVTUIyIHBsYXRmb3JtcyIKLSNlbmRpZiAvKiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9U
UkFESVRJT05BTCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKSAqLwotCi0jaWYgZGVm
aW5lZChfX0FSTV9ORU9OX18pICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX05FT04pCi0jZGVmaW5l
IFdURl9DUFVfQVJNX05FT04gMQotI2VuZGlmCi0KLSNpZiAoZGVmaW5lZChfX1ZGUF9GUF9fKSAm
JiAhZGVmaW5lZChfX1NPRlRGUF9fKSkKLSNkZWZpbmUgV1RGX0NQVV9BUk1fVkZQIDEKLSNlbmRp
ZgotCi0vKiBJZiBDUFUoQVJNX05FT04pIGlzIG5vdCBlbmFibGVkLCB3ZSdsbCBjb25zZXJ2YXRp
dmVseSBhc3N1bWUgb25seSBWRlAyIG9yIFZGUHYzRDE2Ci0gICBzdXBwb3J0IGlzIGF2YWlsYWJs
ZS4gSGVuY2UsIG9ubHkgdGhlIGZpcnN0IDE2IDY0LWJpdCBmbG9hdGluZyBwb2ludCByZWdpc3Rl
cnMKLSAgIGFyZSBhdmFpbGFibGUuIFNlZToKLSAgIE5FT04gcmVnaXN0ZXJzOiBodHRwOi8vaW5m
b2NlbnRlci5hcm0uY29tL2hlbHAvaW5kZXguanNwP3RvcGljPS9jb20uYXJtLmRvYy5kdWkwNDcz
Yy9DSkFDQUJFSi5odG1sCi0gICBWRlAyIGFuZCBWRlAzIHJlZ2lzdGVyczogaHR0cDovL2luZm9j
ZW50ZXIuYXJtLmNvbS9oZWxwL2luZGV4LmpzcD90b3BpYz0vY29tLmFybS5kb2MuZHVpMDQ3M2Mv
Q0lIRElCREcuaHRtbAotICAgTkVPTiB0byBWRlAgcmVnaXN0ZXIgbWFwcGluZzogaHR0cDovL2lu
Zm9jZW50ZXIuYXJtLmNvbS9oZWxwL2luZGV4LmpzcD90b3BpYz0vY29tLmFybS5kb2MuZHVpMDQ3
M2MvQ0pBSUpIRkMuaHRtbAotKi8KLSNpZiBDUFUoQVJNX05FT04pCi0jZGVmaW5lIFdURl9DUFVf
QVJNX1ZGUF9WM19EMzIgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX0NQVV9BUk1fVkZQX1YyIDEKLSNl
bmRpZgotCi0jaWYgZGVmaW5lZChfX0FSTV9BUkNIXzdLX18pCi0jZGVmaW5lIFdURl9DUFVfQVBQ
TEVfQVJNVjdLIDEKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChfX0FSTV9BUkNIXzdTX18pCi0jZGVm
aW5lIFdURl9DUFVfQVBQTEVfQVJNVjdTIDEKLSNlbmRpZgotCi0jZW5kaWYgLyogQVJNICovCi0K
LSNpZiAhQ1BVKEtOT1dOKQotI2RlZmluZSBXVEZfQ1BVX1VOS05PV04gMQotI2VuZGlmCi0KLSNp
ZiBDUFUoQVJNKSB8fCBDUFUoTUlQUykgfHwgQ1BVKFVOS05PV04pCi0jZGVmaW5lIFdURl9DUFVf
TkVFRFNfQUxJR05FRF9BQ0NFU1MgMQotI2VuZGlmCi0KLSNpZiBDT01QSUxFUihHQ0NfQ09NUEFU
SUJMRSkKLS8qIF9fTFA2NF9fIGlzIG5vdCBkZWZpbmVkIG9uIDY0Yml0IFdpbmRvd3Mgc2luY2Ug
aXQgdXNlcyBMTFA2NC4gVXNpbmcgX19TSVpFT0ZfUE9JTlRFUl9fIGlzIHNpbXBsZXIuICovCi0j
aWYgX19TSVpFT0ZfUE9JTlRFUl9fID09IDgKLSNkZWZpbmUgV1RGX0NQVV9BRERSRVNTNjQgMQot
I2VsaWYgX19TSVpFT0ZfUE9JTlRFUl9fID09IDQKLSNkZWZpbmUgV1RGX0NQVV9BRERSRVNTMzIg
MQotI2Vsc2UKLSNlcnJvciAiVW5zdXBwb3J0ZWQgcG9pbnRlciB3aWR0aCIKLSNlbmRpZgotI2Vs
aWYgQ09NUElMRVIoTVNWQykKLSNpZiBkZWZpbmVkKF9XSU42NCkKLSNkZWZpbmUgV1RGX0NQVV9B
RERSRVNTNjQgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX0NQVV9BRERSRVNTMzIgMQotI2VuZGlmCi0j
ZWxzZQotLyogVGhpcyBpcyB0aGUgbW9zdCBnZW5lcmljIHdheS4gQnV0IGluIE9TKERBUldJTiks
IFBsYXRmb3JtLmggY2FuIGJlIGluY2x1ZGVkIGJ5IHNhbmRib3ggZGVmaW5pdGlvbiBmaWxlICgu
c2IpLgotICogQXQgdGhhdCB0aW1lLCB3ZSBjYW5ub3QgaW5jbHVkZSAic3RkaW50LmgiIGhlYWRl
ci4gU28gaW4gdGhlIGNhc2Ugb2Yga25vd24gY29tcGlsZXJzLCB3ZSB1c2UgcHJlZGVmaW5lZCBj
b25zdGFudHMgaW5zdGVhZC4gKi8KLSNpbmNsdWRlIDxzdGRpbnQuaD4KLSNpZiBVSU5UUFRSX01B
WCA+IFVJTlQzMl9NQVgKLSNkZWZpbmUgV1RGX0NQVV9BRERSRVNTNjQgMQotI2Vsc2UKLSNkZWZp
bmUgV1RGX0NQVV9BRERSRVNTMzIgMQotI2VuZGlmCi0jZW5kaWYKLQotLyogQ1BVKEJJR19FTkRJ
QU4pIG9yIENQVShNSURETEVfRU5ESUFOKSBvciBuZWl0aGVyLCBhcyBhcHByb3ByaWF0ZS4gKi8K
LQotI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQotI2lmIF9fQllURV9PUkRFUl9fID09IF9f
T1JERVJfQklHX0VORElBTl9fCi0jZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCi0jZWxpZiBf
X0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXwotI2RlZmluZSBXVEZfQ1BV
X0xJVFRMRV9FTkRJQU4gMQotI2VsaWYgX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9QRFBfRU5E
SUFOX18KLSNkZWZpbmUgV1RGX0NQVV9NSURETEVfRU5ESUFOIDEKLSNlbHNlCi0jZXJyb3IgIlVu
a25vd24gZW5kaWFuIgotI2VuZGlmCi0jZWxzZQotI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmlu
ZWQoX1dJTjMyKQotLyogV2luZG93cyBvbmx5IGhhdmUgbGl0dGxlIGVuZGlhbiBhcmNoaXRlY3R1
cmUuICovCi0jZGVmaW5lIFdURl9DUFVfTElUVExFX0VORElBTiAxCi0jZWxzZQotI2luY2x1ZGUg
PHN5cy90eXBlcy5oPgotI2lmIF9faGFzX2luY2x1ZGUoPGVuZGlhbi5oPikKLSNpbmNsdWRlIDxl
bmRpYW4uaD4KLSNpZiBfX0JZVEVfT1JERVIgPT0gX19CSUdfRU5ESUFOCi0jZGVmaW5lIFdURl9D
UFVfQklHX0VORElBTiAxCi0jZWxpZiBfX0JZVEVfT1JERVIgPT0gX19MSVRUTEVfRU5ESUFOCi0j
ZGVmaW5lIFdURl9DUFVfTElUVExFX0VORElBTiAxCi0jZWxpZiBfX0JZVEVfT1JERVIgPT0gX19Q
RFBfRU5ESUFOCi0jZGVmaW5lIFdURl9DUFVfTUlERExFX0VORElBTiAxCi0jZWxzZQotI2Vycm9y
ICJVbmtub3duIGVuZGlhbiIKLSNlbmRpZgotI2Vsc2UKLSNpZiBfX2hhc19pbmNsdWRlKDxtYWNo
aW5lL2VuZGlhbi5oPikKLSNpbmNsdWRlIDxtYWNoaW5lL2VuZGlhbi5oPgotI2Vsc2UKLSNpbmNs
dWRlIDxzeXMvZW5kaWFuLmg+Ci0jZW5kaWYKLSNpZiBCWVRFX09SREVSID09IEJJR19FTkRJQU4K
LSNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKLSNlbGlmIEJZVEVfT1JERVIgPT0gTElUVExF
X0VORElBTgotI2RlZmluZSBXVEZfQ1BVX0xJVFRMRV9FTkRJQU4gMQotI2VsaWYgQllURV9PUkRF
UiA9PSBQRFBfRU5ESUFOCi0jZGVmaW5lIFdURl9DUFVfTUlERExFX0VORElBTiAxCi0jZWxzZQot
I2Vycm9yICJVbmtub3duIGVuZGlhbiIKLSNlbmRpZgotI2VuZGlmCi0jZW5kaWYKLSNlbmRpZgot
Ci0jaWYgIUNQVShMSVRUTEVfRU5ESUFOKSAmJiAhQ1BVKEJJR19FTkRJQU4pCi0jZXJyb3IgIlVu
c3VwcG9ydGVkIGVuZGlhbiIKLSNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dU
Ri93dGYvQ1BVLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAg
IyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2Uv
V1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0Zl
YXR1cmVEZWZpbmVzLmgJKHJldmlzaW9uIDI1NDQ4MCkKKysrIFNvdXJjZS9XVEYvd3RmL0ZlYXR1
cmVEZWZpbmVzLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMDQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KLSAqIENvcHlyaWdodCAo
QykgMjAxMCwgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jcHJhZ21hIG9uY2UKLQotI2lmbmRlZiBfX1BMQVRGT1JNX0lORElSRUNUX18KLSNlcnJvciAi
UGxlYXNlICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4gaW5zdGVhZCBvZiB0aGlzIGZpbGUgZGly
ZWN0bHkuIgotI2VuZGlmCi0KLS8qIFVzZSB0aGlzIGZpbGUgdG8gbGlzdCBfYWxsXyBFTkFCTEUo
KSBtYWNyb3MuIERlZmluZSB0aGUgbWFjcm9zIHRvIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZh
bHVlczoKLSAqICAtICIwIiBkaXNhYmxlcyB0aGUgZmVhdHVyZSBieSBkZWZhdWx0LiBUaGUgZmVh
dHVyZSBjYW4gc3RpbGwgYmUgZW5hYmxlZCBmb3IgYSBzcGVjaWZpYyBwb3J0IG9yIGVudmlyb25t
ZW50LgotICogIC0gIjEiIGVuYWJsZXMgdGhlIGZlYXR1cmUgYnkgZGVmYXVsdC4gVGhlIGZlYXR1
cmUgY2FuIHN0aWxsIGJlIGRpc2FibGVkIGZvciBhIHNwZWNpZmljIHBvcnQgb3IgZW52aXJvbm1l
bnQuCi0gKgotICogVGhlIGZlYXR1cmUgZGVmYXVsdHMgaW4gdGhpcyBmaWxlIGFyZSBvbmx5IHRh
a2VuIGludG8gYWNjb3VudCBpZiB0aGUgKHBvcnQgc3BlY2lmaWMpIGJ1aWxkIHN5c3RlbQotICog
aGFzIG5vdCBlbmFibGVkIG9yIGRpc2FibGVkIGEgcGFydGljdWxhciBmZWF0dXJlLgotICoKLSAq
IFVzZSB0aGlzIGZpbGUgdG8gZGVmaW5lIEVOQUJMRSgpIG1hY3JvcyBvbmx5LiBEbyBub3QgdXNl
IHRoaXMgZmlsZSB0byBkZWZpbmUgVVNFKCkgb3IgbWFjcm9zICEKLSAqCi0gKiBPbmx5IGRlZmlu
ZSBhIG1hY3JvIGlmIGl0IHdhcyBub3QgZGVmaW5lZCBiZWZvcmUgLSBhbHdheXMgY2hlY2sgZm9y
ICFkZWZpbmVkIGZpcnN0LgotICoKLSAqIEtlZXAgdGhlIGZpbGUgc29ydGVkIGJ5IHRoZSBuYW1l
IG9mIHRoZSBkZWZpbmVzLiBBcyBhbiBleGNlcHRpb24geW91IGNhbiBjaGFuZ2UgdGhlIG9yZGVy
Ci0gKiB0byBhbGxvdyBpbnRlcmRlcGVuZGVuY2llcyBiZXR3ZWVuIHRoZSBkZWZhdWx0IHZhbHVl
cy4KLSAqCi0gKiBCZWxvdyBhcmUgYSBmZXcgcG90ZW50aWFsIGNvbW1hbmRzIHRvIHRha2UgYWR2
YW50YWdlIG9mIHRoaXMgZmlsZSBydW5uaW5nIGZyb20gdGhlIFNvdXJjZS9XVEYgZGlyZWN0b3J5
Ci0gKgotICogR2V0IHRoZSBsaXN0IG9mIGZlYXR1cmUgZGVmaW5lczogZ3JlcCAtbyAiRU5BQkxF
X1woXHdcK1wpIiB3dGYvRmVhdHVyZURlZmluZXMuaCB8IHNvcnQgfCB1bmlxCi0gKiBHZXQgdGhl
IGxpc3Qgb2YgZmVhdHVyZXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBhIFBMQVRGT1JNKFhYWCk6
IGdjYyAtRSAtZE0gLUkuIC1EV1RGX1BMQVRGT1JNX1hYWCAid3RmL1BsYXRmb3JtLmgiIHwgZ3Jl
cCAiRU5BQkxFX1x3XCsgMSIgfCBjdXQgLWQnICcgLWYyIHwgc29ydAotICovCi0KLS8qIEZJWE1F
OiBNb3ZlIG91dCB0aGUgUExBVEZPUk0gc3BlY2lmaWMgcnVsZXMgaW50byBwbGF0Zm9ybSBzcGVj
aWZpYyBmaWxlcy4gKi8KLQotLyogLS0tLS0tLS0tIEFwcGxlIGlPUyAoYnV0IG5vdCBtYWNPUykg
cG9ydCAtLS0tLS0tLS0gKi8KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0FJUlBMQVlfUElDS0VSKQotI2lmICFQTEFURk9STShNQUNDQVRBTFlTVCkKLSNk
ZWZpbmUgRU5BQkxFX0FJUlBMQVlfUElDS0VSIDEKLSNlbmRpZgotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChFTkFCTEVfQVBQTEVfUEFZX1JFTU9URV9VSSkKLSNpZiAhUExBVEZPUk0oQVBQTEVUVikg
JiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykKLSNkZWZpbmUg
RU5BQkxFX0FQUExFX1BBWV9SRU1PVEVfVUkgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9DT05URU5UX0VYVEVOU0lPTlMpCi0jZGVmaW5lIEVOQUJMRV9DT05URU5UX0VY
VEVOU0lPTlMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVYVF9NRU5VUykK
LSNkZWZpbmUgRU5BQkxFX0NPTlRFWFRfTUVOVVMgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChF
TkFCTEVfQ09OVEVYVF9NRU5VX0VWRU5UKQotI2lmICFQTEFURk9STShNQUNDQVRBTFlTVCkKLSNk
ZWZpbmUgRU5BQkxFX0NPTlRFWFRfTUVOVV9FVkVOVCAwCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0NVU1RPTV9DVVJTT1JfU1VQUE9SVCkKLSNkZWZpbmUgRU5BQkxFX0NV
U1RPTV9DVVJTT1JfU1VQUE9SVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpCi0jZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAotI2VuZGlmCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAx
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BB
VENIRVJTKQotI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUyAx
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKQotI2Rl
ZmluZSBFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9MRVRURVJQUkVTUykKLSNkZWZpbmUgRU5BQkxFX0xFVFRFUlBSRVNTIDEKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FVVE9DT1JSRUNUKQotI2RlZmluZSBFTkFCTEVfQVVU
T0NPUlJFQ1QgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQVVUT0NBUElUQUxJWkUp
Ci0jZGVmaW5lIEVOQUJMRV9BVVRPQ0FQSVRBTElaRSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0j
ZGVmaW5lIEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKQotI2RlZmluZSBFTkFCTEVfVEVYVF9BVVRPU0laSU5H
IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICYmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCi0jZGVmaW5lIEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTIDEK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX01FVEVSX0VMRU1FTlQpCi0jZGVmaW5lIEVO
QUJMRV9NRVRFUl9FTEVNRU5UIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX05FVFND
QVBFX1BMVUdJTl9BUEkpCi0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKLSNkZWZpbmUg
RU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spCi0jZGVmaW5lIEVOQUJMRV9QT0lOVEVSX0xPQ0sgMAotI2VuZGlmCi0K
LSNpZiAhZGVmaW5lZChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikKLSNkZWZpbmUgRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUkVTUEVDVF9F
WElGX09SSUVOVEFUSU9OKQotI2RlZmluZSBFTkFCTEVfUkVTUEVDVF9FWElGX09SSUVOVEFUSU9O
IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1RFWFRfQ0FSRVQpCi0jZGVmaW5lIEVO
QUJMRV9URVhUX0NBUkVUIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1RFWFRfU0VM
RUNUSU9OKQotI2RlZmluZSBFTkFCTEVfVEVYVF9TRUxFQ1RJT04gMAotI2VuZGlmCi0KLS8qIEZJ
WE1FOiBSZW1vdmUgdGhlIFVTRShBUFBMRV9JTlRFUk5BTF9TREspIGNvbmp1bmN0IG9uY2Ugd2Ug
c3VwcG9ydCB0b3VjaCBldmVudHMgd2hlbiBidWlsZGluZyBhZ2FpbnN0Ci10aGUgcHVibGljIGlP
UyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTc5MTY3Pi4gKi8KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2RlZmlu
ZSBFTkFCTEVfVE9VQ0hfRVZFTlRTIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dF
Ql9BUkNISVZFKQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQotI2VuZGlmCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfV0VCR0wpCi0jZGVmaW5lIEVOQUJMRV9XRUJHTCAxCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9QUklNQVJZX1NOQVBTSE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMp
Ci0jZGVmaW5lIEVOQUJMRV9QUklNQVJZX1NOQVBTSE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMgMQot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRE9XTkxPQURfQVRUUklCVVRFKQotI2RlZmlu
ZSBFTkFCTEVfRE9XTkxPQURfQVRUUklCVVRFIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5B
QkxFX1dLUERGVklFVykKLSNpZiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExF
VFYpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTIwMDAwCi0jZGVmaW5lIEVOQUJMRV9XS1BERlZJRVcgMQotI2VuZGlmCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9NRURJQV9TT1VSQ0UpCi0jZGVmaW5lIEVOQUJM
RV9NRURJQV9TT1VSQ0UgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUFJFVklFV19D
T05WRVJURVIpCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBFTkFCTEVfUFJFVklFV19DT05W
RVJURVIgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9NRVRBX1ZJRVdQ
T1JUKQotI2RlZmluZSBFTkFCTEVfTUVUQV9WSUVXUE9SVCAxCi0jZW5kaWYKLQotLyogRklYTUU6
IFRoaXMgc2VlbXMgdW51c2VkLiBJZiBzbywgaXQgc2hvdWxkIGJlIHJlbW92ZWQuICovCi0jaWYg
Q1BVKEFSTTY0KQotI2RlZmluZSBFTkFCTEVfSklUX0NPTlNUQU5UX0JMSU5ESU5HIDAKLSNlbmRp
ZgotCi0jZW5kaWYgLyogUExBVEZPUk0oSU9TX0ZBTUlMWSkgKi8KLQotLyogLS0tLS0tLS0tIEFw
cGxlIHdhdGNoT1MgcG9ydCAtLS0tLS0tLS0gKi8KLSNpZiBQTEFURk9STShXQVRDSE9TKQotCi0j
ZW5kaWYgLyogUExBVEZPUk0oV0FUQ0hPUykgKi8KLQotLyogLS0tLS0tLS0tIEFwcGxlIG1hY09T
IHBvcnQgKG5vdCBpT1MpIC0tLS0tLS0tLSAqLwotI2lmIFBMQVRGT1JNKE1BQykKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9DT05URU5UX0VYVEVOU0lPTlMpCi0jZGVmaW5lIEVOQUJMRV9DT05URU5U
X0VYVEVOU0lPTlMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpCi0jZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKQotI2RlZmluZSBFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRF
X0RJU1BBVENIRVJTKQotI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRD
SEVSUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZ
KQotI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HKQotI2RlZmluZSBFTkFCTEVfU01PT1RIX1ND
Uk9MTElORyAxCi0jZW5kaWYKLQotI2lmIEVOQUJMRShWSURFTykKLSNpZiAhZGVmaW5lZChFTkFC
TEVfVklERU9fVFJBQ0spCi0jZGVmaW5lIEVOQUJMRV9WSURFT19UUkFDSyAxCi0jZW5kaWYKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQotI2RlZmluZSBFTkFCTEVf
V0VCX0FSQ0hJVkUgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FVRElPKQot
I2RlZmluZSBFTkFCTEVfV0VCX0FVRElPIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKQotI2RlZmluZSBFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkgMQot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUFJJTUFSWV9TTkFQU0hPVFRFRF9QTFVHSU5f
SEVVUklTVElDKQotI2RlZmluZSBFTkFCTEVfUFJJTUFSWV9TTkFQU0hPVFRFRF9QTFVHSU5fSEVV
UklTVElDIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5U
UykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNkZWZpbmUgRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJQUk9DRVNTX05TUlVO
TE9PUCkKLSNkZWZpbmUgRU5BQkxFX1dFQlBST0NFU1NfTlNSVU5MT09QIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJM
RV9XRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKLSNkZWZpbmUgRU5BQkxFX1dFQlBS
T0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HIEVOQUJMRV9XRUJQUk9DRVNTX05TUlVOTE9PUAot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTUVESUFfU09VUkNFKQotI2RlZmluZSBFTkFC
TEVfTUVESUFfU09VUkNFIDEKLSNlbmRpZgotCi0jZW5kaWYgLyogUExBVEZPUk0oTUFDKSAqLwot
Ci0vKiAtLS0tLS0tLS0gQXBwbGUgQ29jb2EgcGxhdGZvcm1zIC0tLS0tLS0tLSAqLwotCi0jaWYg
UExBVEZPUk0oQ09DT0EpCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9N
RURJQSkKLSNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEgMAotI2Vsc2UKLSNkZWZpbmUgRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEgMQotI2VuZGlmCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9GSUxFX1JFUExB
Q0VNRU5UKQotI2RlZmluZSBFTkFCTEVfRklMRV9SRVBMQUNFTUVOVCAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpCi0jZGVmaW5lIEVOQUJMRV9QQVlNRU5U
X1JFUVVFU1QgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQVNZTkNfU0NST0xMSU5H
KQotI2RlZmluZSBFTkFCTEVfQVNZTkNfU0NST0xMSU5HIDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX1VJX1NJREVfQ09NUE9TSVRJTkcpCi0jZGVmaW5lIEVOQUJMRV9VSV9TSURFX0NP
TVBPU0lUSU5HIDEKLSNlbmRpZgotCi0jZW5kaWYgLyogUExBVEZPUk0oQ09DT0EpICovCi0KLSNp
ZiAhUExBVEZPUk0oQ09DT0EpCi0KLSNpZiAhZGVmaW5lZChKU0NfT0JKQ19BUElfRU5BQkxFRCkK
LSNkZWZpbmUgSlNDX09CSkNfQVBJX0VOQUJMRUQgMAotI2VuZGlmCi0KLSNlbmRpZiAvKiAhUExB
VEZPUk0oQ09DT0EpICovCi0KLQotLyogLS0tLS0tLS0tIEFwcGxlIFdpbmRvd3MgcG9ydCAtLS0t
LS0tLS0gKi8KLSNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShXSU5fQ0FJUk8pCi0KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpCi0jZGVmaW5lIEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKLSNk
ZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxF
X1dFQkdMKQotI2RlZmluZSBFTkFCTEVfV0VCR0wgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChF
TkFCTEVfR0VPTE9DQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAxCi0jZW5kaWYK
LQotI2VuZGlmIC8qIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgKi8KLQot
LyogLS0tLS0tLS0tIFdpbmRvd3MgQ0FJUk8gcG9ydCAtLS0tLS0tLS0gKi8KLS8qIFBMQVRGT1JN
KFdJTl9DQUlSTykgaXMgYSBzcGVjaWFsaXphdGlvbiBvZiBQTEFURk9STShXSU4pLiAqLwotLyog
UExBVEZPUk0oV0lOKSBpcyBhbHdheXMgZW5hYmxlZCB3aGVuIFBMQVRGT1JNKFdJTl9DQUlSTykg
aXMgZW5hYmxlZC4gKi8KLSNpZiBQTEFURk9STShXSU5fQ0FJUk8pCi0KLSNpZiAhZGVmaW5lZChF
TkFCTEVfV0VCX0FSQ0hJVkUpCi0jZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJHTCkKLSNkZWZpbmUgRU5BQkxFX1dFQkdMIDEKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKQotI2RlZmluZSBFTkFCTEVf
R0VPTE9DQVRJT04gMQotI2VuZGlmCi0KLSNlbmRpZiAvKiBQTEFURk9STShXSU5fQ0FJUk8pICov
Ci0KLS8qIEVOQUJMRSBtYWNybyBkZWZhdWx0cyBmb3IgV2ViQ29yZSAqLwotLyogRG8gbm90IHVz
ZSBQTEFURk9STSgpIHRlc3RzIGluIHRoaXMgc2VjdGlvbiAhICovCi0KLSNpZiAhZGVmaW5lZChF
TkFCTEVfM0RfVFJBTlNGT1JNUykKLSNkZWZpbmUgRU5BQkxFXzNEX1RSQU5TRk9STVMgMAotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQUNDRVNTSUJJTElUWSkKLSNkZWZpbmUgRU5BQkxF
X0FDQ0VTU0lCSUxJVFkgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKQotI2RlZmluZSBFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCkKLSNk
ZWZpbmUgRU5BQkxFX09WRVJGTE9XX1NDUk9MTElOR19UT1VDSCAwCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9BUE5HKQotI2RlZmluZSBFTkFCTEVfQVBORyAxCi0jZW5kaWYKLQotI2lm
ICFkZWZpbmVkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykKLSNkZWZpbmUgRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NPTlRFTlRfRVhU
RU5TSU9OUykKLSNkZWZpbmUgRU5BQkxFX0NPTlRFTlRfRVhURU5TSU9OUyAwCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9DT05URVhUX01FTlVTKQotI2RlZmluZSBFTkFCTEVfQ09OVEVY
VF9NRU5VUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9DT05URVhUX01FTlVfRVZF
TlQpCi0jZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVfRVZFTlQgMQotI2VuZGlmCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfQ1NTM19URVhUKQotI2RlZmluZSBFTkFCTEVfQ1NTM19URVhUIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykKLSNk
ZWZpbmUgRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyAxCi0jZW5kaWYKLQotI2lmICFk
ZWZpbmVkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pCi0jZGVmaW5lIEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04gMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKQotI2RlZmluZSBFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKQotI2RlZmluZSBFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04gMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUykKLSNkZWZpbmUgRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMgMAot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQ1VTVE9NX0NVUlNPUl9TVVBQT1JUKQotI2Rl
ZmluZSBFTkFCTEVfQ1VTVE9NX0NVUlNPUl9TVVBQT1JUIDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikKLSNkZWZpbmUgRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUiAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9EQVJLX01PREVf
Q1NTKQotI2RlZmluZSBFTkFCTEVfREFSS19NT0RFX0NTUyAwCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKQotI2RlZmluZSBFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
Ci0jZGVmaW5lIEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04gMAotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChFTkFCTEVfRE9XTkxPQURfQVRUUklCVVRFKQotI2RlZmluZSBFTkFCTEVfRE9XTkxPQURf
QVRUUklCVVRFIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkK
LSNkZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpCi0jZGVmaW5lIEVOQUJMRV9FTkNSWVBURURfTUVESUEgMAot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfRklMVEVSU19MRVZFTF8yKQotI2RlZmluZSBF
TkFCTEVfRklMVEVSU19MRVZFTF8yIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0ZU
UERJUikKLSNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkKLSNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDAKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0dBTUVQQUQpCi0jZGVmaW5lIEVOQUJMRV9HQU1F
UEFEIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKQotI2RlZmlu
ZSBFTkFCTEVfR0VPTE9DQVRJT04gMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkKLSNkZWZpbmUgRU5BQkxFX0lOREVYRURfREFUQUJBU0UgMAotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKQotI2Rl
ZmluZSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTIDAKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpCi0jZGVmaW5lIEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkKLSNkZWZpbmUgRU5BQkxFX0lOUFVUX1RZUEVfREFURSAwCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpCi0jZGVmaW5lIEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKQotI2RlZmluZSBFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpCi0jZGVmaW5lIEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIIDAKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkKLSNkZWZpbmUgRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspCi0jZGVmaW5lIEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsgMAotI2VuZGlmCi0KLSNpZiBF
TkFCTEUoSU5QVVRfVFlQRV9EQVRFKSB8fCBFTkFCTEUoSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSB8fCBFTkFCTEUoSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSB8fCBFTkFCTEUoSU5Q
VVRfVFlQRV9NT05USCkgfHwgRU5BQkxFKElOUFVUX1RZUEVfVElNRSkgfHwgRU5BQkxFKElOUFVU
X1RZUEVfV0VFSykKLSNpZiAhZGVmaW5lZChFTkFCTEVfREFURV9BTkRfVElNRV9JTlBVVF9UWVBF
UykKLSNkZWZpbmUgRU5BQkxFX0RBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMgMQotI2VuZGlmCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENI
RVJTKQotI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUyAwCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZKQotI2RlZmlu
ZSBFTkFCTEVfSU5TUEVDVE9SX1RFTEVNRVRSWSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9JTlRMKQotI2RlZmluZSBFTkFCTEVfSU5UTCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVk
KEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotI2RlZmluZSBFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykKLSNkZWZpbmUgRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0xFVFRFUlBSRVNTKQot
I2RlZmluZSBFTkFCTEVfTEVUVEVSUFJFU1MgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfTUFUSE1MKQotI2RlZmluZSBFTkFCTEVfTUFUSE1MIDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX01FRElBX0NBUFRVUkUpCi0jZGVmaW5lIEVOQUJMRV9NRURJQV9DQVBUVVJFIDAK
LSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkKLSNk
ZWZpbmUgRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCAwCi0jZW5kaWYKLQotI2lmICFkZWZp
bmVkKEVOQUJMRV9NRURJQV9TT1VSQ0UpCi0jZGVmaW5lIEVOQUJMRV9NRURJQV9TT1VSQ0UgMAot
I2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTUVESUFfU1RBVElTVElDUykKLSNkZWZpbmUg
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
TUVESUFfU1RSRUFNKQotI2RlZmluZSBFTkFCTEVfTUVESUFfU1RSRUFNIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX01FVEVSX0VMRU1FTlQpCi0jZGVmaW5lIEVOQUJMRV9NRVRFUl9F
TEVNRU5UIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX01IVE1MKQotI2RlZmluZSBF
TkFCTEVfTUhUTUwgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKQotI2RlZmluZSBFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX01PVVNFX0ZPUkNFX0VWRU5UUykKLSNkZWZpbmUgRU5BQkxFX01P
VVNFX0ZPUkNFX0VWRU5UUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ORVRTQ0FQ
RV9QTFVHSU5fQVBJKQotI2RlZmluZSBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSAxCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUp
Ci0jZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUgMAotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfTk9USUZJQ0FUSU9OUykKLSNkZWZpbmUgRU5BQkxFX05P
VElGSUNBVElPTlMgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfT0ZGU0NSRUVOX0NB
TlZBUykKLSNkZWZpbmUgRU5BQkxFX09GRlNDUkVFTl9DQU5WQVMgMAotI2VuZGlmCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfT1BFTlRZUEVfVkVSVElDQUwpCi0jZGVmaW5lIEVOQUJMRV9PUEVOVFlQ
RV9WRVJUSUNBTCAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9PUklFTlRBVElPTl9F
VkVOVFMpCi0jZGVmaW5lIEVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFMgMAotI2VuZGlmCi0KLSNp
ZiBPUyhXSU5ET1dTKQotI2lmICFkZWZpbmVkKEVOQUJMRV9QQU5fU0NST0xMSU5HKQotI2RlZmlu
ZSBFTkFCTEVfUEFOX1NDUk9MTElORyAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkKLSNkZWZpbmUgRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCAw
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9QT0lOVEVSX0xPQ0spCi0jZGVmaW5lIEVO
QUJMRV9QT0lOVEVSX0xPQ0sgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfUVVPVEEp
Ci0jZGVmaW5lIEVOQUJMRV9RVU9UQSAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKQotI2RlZmluZSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUiAwCi0jZW5k
aWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9SVUJCRVJfQkFORElORykKLSNkZWZpbmUgRU5BQkxF
X1JVQkJFUl9CQU5ESU5HIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NFQ1VSSVRZ
X0FTU0VSVElPTlMpCi0vKiBFbmFibGUgc2VjdXJpdHkgYXNzZXJ0aW9ucyBvbiBhbGwgQVNBTiBi
dWlsZHMgYW5kIGRlYnVnIGJ1aWxkcy4gKi8KLSNpZiBBU0FOX0VOQUJMRUQgfHwgIWRlZmluZWQo
TkRFQlVHKQotI2RlZmluZSBFTkFCTEVfU0VDVVJJVFlfQVNTRVJUSU9OUyAxCi0jZW5kaWYKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NNT09USF9TQ1JPTExJTkcpCi0jZGVmaW5lIEVO
QUJMRV9TTU9PVEhfU0NST0xMSU5HIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpCi0jZGVmaW5lIEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTIDAKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NQRUxMQ0hFQ0spCi0jZGVmaW5lIEVOQUJMRV9TUEVM
TENIRUNLIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1NUUkVBTVNfQVBJKQotI2Rl
ZmluZSBFTkFCTEVfU1RSRUFNU19BUEkgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVf
U1ZHX0ZPTlRTKQotI2RlZmluZSBFTkFCTEVfU1ZHX0ZPTlRTIDEKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX1RFWFRfQ0FSRVQpCi0jZGVmaW5lIEVOQUJMRV9URVhUX0NBUkVUIDEKLSNl
bmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1RFWFRfU0VMRUNUSU9OKQotI2RlZmluZSBFTkFC
TEVfVEVYVF9TRUxFQ1RJT04gMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQVNZTkNf
U0NST0xMSU5HKQotI2RlZmluZSBFTkFCTEVfQVNZTkNfU0NST0xMSU5HIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykKLSNkZWZpbmUgRU5BQkxFX1RPVUNIX0VW
RU5UUyAwCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9WSURFTykKLSNkZWZpbmUgRU5B
QkxFX1ZJREVPIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1ZJREVPX1RSQUNLKQot
I2RlZmluZSBFTkFCTEVfVklERU9fVFJBQ0sgMAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfREFUQUNVRV9WQUxVRSkKLSNkZWZpbmUgRU5BQkxFX0RBVEFDVUVfVkFMVUUgMAotI2VuZGlm
Ci0KLSNpZiAhZGVmaW5lZChFTkFCTEVfV0VCR0wpCi0jZGVmaW5lIEVOQUJMRV9XRUJHTCAwCi0j
ZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9HUkFQSElDU19DT05URVhUX0dMKQotI2RlZmlu
ZSBFTkFCTEVfR1JBUEhJQ1NfQ09OVEVYVF9HTCBFTkFCTEVfV0VCR0wKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQotI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUg
MAotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FVRElPKQotI2RlZmluZSBFTkFC
TEVfV0VCX0FVRElPIDAKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX1hTTFQpCi0jZGVm
aW5lIEVOQUJMRV9YU0xUIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RBVEFfSU5U
RVJBQ1RJT04pCi0jZGVmaW5lIEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OIDAKLSNlbmRpZgotCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKQotI2RlZmluZSBFTkFCTEVfU0VSVklD
RV9XT1JLRVIgMQotI2VuZGlmCi0KLQotLyogSklUIEZlYXR1cmVzICovCi0KLS8qIFRoZSBKSVQg
aXMgZW5hYmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYtNjQgJiBBUk02NCBwbGF0Zm9ybXMuICov
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkgJiYgIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQp
KSAmJiAhQ1BVKEFQUExFX0FSTVY3SykKLSNkZWZpbmUgRU5BQkxFX0pJVCAxCi0jZW5kaWYKLQot
I2lmIFVTRShKU1ZBTFVFMzJfNjQpCi0jaWYgKENQVShBUk1fVEhVTUIyKSB8fCBDUFUoTUlQUykp
ICYmIE9TKExJTlVYKQotLyogT24gQVJNdjcgYW5kIE1JUFMgb24gTGludXggdGhlIEpJVCBpcyBl
bmFibGVkIHVubGVzcyBleHBsaWNpdGx5IGRpc2FibGVkLiAqLwotI2lmICFkZWZpbmVkKEVOQUJM
RV9KSVQpCi0jZGVmaW5lIEVOQUJMRV9KSVQgMQotI2VuZGlmCi0jZWxzZQotLyogRGlzYWJsZSBK
SVQgYW5kIGZvcmNlIENfTE9PUCBvbiBhbGwgb3RoZXIgMzJiaXQgYXJjaGl0ZWN0dXJlcy4gKi8K
LSN1bmRlZiBFTkFCTEVfSklUCi0jZGVmaW5lIEVOQUJMRV9KSVQgMAotI3VuZGVmIEVOQUJMRV9D
X0xPT1AKLSNkZWZpbmUgRU5BQkxFX0NfTE9PUCAxCi0jZW5kaWYKLSNlbmRpZgotCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0NfTE9PUCkKLSNpZiBFTkFCTEUoSklUKSB8fCBDUFUoWDg2XzY0KSB8fCAo
Q1BVKEFSTTY0KSAmJiAhZGVmaW5lZChfX0lMUDMyX18pKQotI2RlZmluZSBFTkFCTEVfQ19MT09Q
IDAKLSNlbHNlCi0jZGVmaW5lIEVOQUJMRV9DX0xPT1AgMQotI2VuZGlmCi0jZW5kaWYKLQotLyog
RklYTUU6IFRoaXMgc2hvdWxkIGJlIHR1cm5lZCBpbnRvIGFuICNlcnJvciBpbnZhcmlhbnQgKi8K
LS8qIFRoZSBGVEwgKmRvZXMgbm90KiB3b3JrIG9uIDMyLWJpdCBwbGF0Zm9ybXMuIERpc2FibGUg
aXQgZXZlbiBpZiBzb21lb25lIGFza2VkIHVzIHRvIGVuYWJsZSBpdC4gKi8KLSNpZiBVU0UoSlNW
QUxVRTMyXzY0KQotI3VuZGVmIEVOQUJMRV9GVExfSklUCi0jZGVmaW5lIEVOQUJMRV9GVExfSklU
IDAKLSNlbmRpZgotCi0vKiBGSVhNRTogVGhpcyBzaG91bGQgYmUgdHVybmVkIGludG8gYW4gI2Vy
cm9yIGludmFyaWFudCAqLwotLyogVGhlIEZUTCBpcyBkaXNhYmxlZCBvbiB0aGUgaU9TIHNpbXVs
YXRvciwgbW9zdGx5IGZvciBzaW1wbGljaXR5LiAqLwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFlf
U0lNVUxBVE9SKQotI3VuZGVmIEVOQUJMRV9GVExfSklUCi0jZGVmaW5lIEVOQUJMRV9GVExfSklU
IDAKLSNlbmRpZgotCi0vKiBGSVhNRTogVGhpcyBpcyB1c2VkIHRvICJ0dXJuIG9uIGEgc3BlY2lm
aWMgZmVhdHVyZSBvZiBXZWJLaXQiLCBzbyBzaG91bGQgYmUgY29udmVydGVkIHRvIGFuIEVOQUJM
RSBtYWNyby4gKi8KLS8qIElmIHBvc3NpYmxlLCB0cnkgdG8gZW5hYmxlIGEgZGlzYXNzZW1ibGVy
LiBUaGlzIGlzIG9wdGlvbmFsLiBXZSBwcm9jZWVkIGluIHR3bwotICAgc3RlcHM6IGZpcnN0IHdl
IHRyeSB0byBmaW5kIHNvbWUgZGlzYXNzZW1ibGVyIHRoYXQgd2UgY2FuIHVzZSwgYW5kIHRoZW4g
d2UKLSAgIGRlY2lkZSBpZiB0aGUgaGlnaC1sZXZlbCBkaXNhc3NlbWJsZXIgQVBJIGNhbiBiZSBl
bmFibGVkLiAqLwotI2lmICFkZWZpbmVkKFVTRV9VRElTODYpICYmIEVOQUJMRShKSVQpICYmIENQ
VShYODZfNjQpICYmICFVU0UoQ0FQU1RPTkUpCi0jZGVmaW5lIFVTRV9VRElTODYgMQotI2VuZGlm
Ci0KLS8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJl
IG9mIFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3JvLiAq
LwotI2lmICFkZWZpbmVkKFVTRV9BUk02NF9ESVNBU1NFTUJMRVIpICYmIEVOQUJMRShKSVQpICYm
IENQVShBUk02NCkgJiYgIVVTRShDQVBTVE9ORSkKLSNkZWZpbmUgVVNFX0FSTTY0X0RJU0FTU0VN
QkxFUiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9ESVNBU1NFTUJMRVIpICYmIChV
U0UoVURJUzg2KSB8fCBVU0UoQVJNNjRfRElTQVNTRU1CTEVSKSB8fCAoRU5BQkxFKEpJVCkgJiYg
VVNFKENBUFNUT05FKSkpCi0jZGVmaW5lIEVOQUJMRV9ESVNBU1NFTUJMRVIgMQotI2VuZGlmCi0K
LSNpZiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJVCkKLQotLyogRW5hYmxl
IHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAqLwotI2lmIENQVShYODZfNjQpICYmIChP
UyhEQVJXSU4pIHx8IE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKSB8fCBPUyhIVVJEKSB8fCBPUyhX
SU5ET1dTKSkKLSNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQotI2VuZGlmCi0KLS8qIEVuYWJsZSB0
aGUgREZHIEpJVCBvbiBBUk12Ny4gIE9ubHkgdGVzdGVkIG9uIGlPUywgTGludXgsIGFuZCBGcmVl
QlNELiAqLwotI2lmIChDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTTY0KSkgJiYgKFBMQVRGT1JN
KElPU19GQU1JTFkpIHx8IE9TKExJTlVYKSB8fCBPUyhGUkVFQlNEKSkKLSNkZWZpbmUgRU5BQkxF
X0RGR19KSVQgMQotI2VuZGlmCi0vKiBFbmFibGUgdGhlIERGRyBKSVQgb24gTUlQUy4gKi8KLSNp
ZiBDUFUoTUlQUykKLSNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQotI2VuZGlmCi0KLSNlbmRpZiAv
KiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJVCkgKi8KLQotLyogQ29uY3Vy
cmVudCBKUyBvbmx5IHdvcmtzIG9uIDY0LWJpdCBwbGF0Zm9ybXMgYmVjYXVzZSBpdCByZXF1aXJl
cyB0aGF0Ci0gICB2YWx1ZXMgZ2V0IHN0b3JlZCB0byBhdG9taWNhbGx5LiBUaGlzIGlzIHRyaXZp
YWxseSB0cnVlIG9uIDY0LWJpdCBwbGF0Zm9ybXMsCi0gICBidXQgbm90IHRydWUgYXQgYWxsIG9u
IDMyLWJpdCBwbGF0Zm9ybXMgd2hlcmUgdmFsdWVzIGFyZSBjb21wb3NlZCBvZiB0d28KLSAgIHNl
cGFyYXRlIHN1Yi12YWx1ZXMuICovCi0jaWYgRU5BQkxFKEpJVCkgJiYgVVNFKEpTVkFMVUU2NCkK
LSNkZWZpbmUgRU5BQkxFX0NPTkNVUlJFTlRfSlMgMQotI2VuZGlmCi0KLSNpZiAoQ1BVKFg4Nl82
NCkgfHwgQ1BVKEFSTTY0KSkgJiYgSEFWRShGQVNUX1RMUykKLSNkZWZpbmUgRU5BQkxFX0ZBU1Rf
VExTX0pJVCAxCi0jZW5kaWYKLQotI2lmIEVOQUJMRShKSVQpICYmIChDUFUoWDg2KSB8fCBDUFUo
WDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykpCi0j
ZGVmaW5lIEVOQUJMRV9NQVNNX1BST0JFIDEKLSNlbmRpZgotCi0vKiBGSVhNRTogVGhpcyBzaG91
bGQgYmUgdHVybmVkIGludG8gYW4gI2Vycm9yIGludmFyaWFudCAqLwotLyogSWYgdGhlIGJhc2Vs
aW5lIGppdCBpcyBub3QgYXZhaWxhYmxlLCB0aGVuIGRpc2FibGUgdXBwZXIgdGllcnMgYXMgd2Vs
bC4KLSAgIFRoZSBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoKSBpcyBhbHNvIHJlcXVpcmVkIGZvciBz
dXBwb3J0aW5nIHRoZSB1cHBlciB0aWVycy4gKi8KLSNpZiAhRU5BQkxFKEpJVCkgfHwgIUVOQUJM
RShNQVNNX1BST0JFKQotI3VuZGVmIEVOQUJMRV9ERkdfSklUCi0jdW5kZWYgRU5BQkxFX0ZUTF9K
SVQKLSNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMAotI2RlZmluZSBFTkFCTEVfRlRMX0pJVCAwCi0j
ZW5kaWYKLQotLyogRklYTUU6IFRoaXMgc2hvdWxkIGJlIHR1cm5lZCBpbnRvIGFuICNlcnJvciBp
bnZhcmlhbnQgKi8KLS8qIElmIHRoZSBERkcgaml0IGlzIG5vdCBhdmFpbGFibGUsIHRoZW4gZGlz
YWJsZSB1cHBlciB0aWVycyBhcyB3ZWxsOiAqLwotI2lmICFFTkFCTEUoREZHX0pJVCkKLSN1bmRl
ZiBFTkFCTEVfRlRMX0pJVAotI2RlZmluZSBFTkFCTEVfRlRMX0pJVCAwCi0jZW5kaWYKLQotLyog
VGhpcyBjb250cm9scyB3aGV0aGVyIEIzIGlzIGJ1aWx0LiBCMyBpcyBuZWVkZWQgZm9yIEZUTCBK
SVQgYW5kIFdlYkFzc2VtYmx5ICovCi0jaWYgRU5BQkxFKEZUTF9KSVQpCi0jZGVmaW5lIEVOQUJM
RV9CM19KSVQgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfV0VCQVNTRU1CTFkpICYm
IChFTkFCTEUoQjNfSklUKSAmJiBQTEFURk9STShDT0NPQSkgJiYgQ1BVKEFERFJFU1M2NCkpCi0j
ZGVmaW5lIEVOQUJMRV9XRUJBU1NFTUJMWSAxCi0jZW5kaWYKLQotLyogVGhlIFNhbXBsaW5nUHJv
ZmlsZXIgaXMgdGhlIHByb2JhYmlsaXN0aWMgYW5kIGxvdy1vdmVyaGVhZCBwcm9maWxlciB1c2Vk
IGJ5Ci0gKiBKU0MgdG8gbWVhc3VyZSB3aGVyZSB0aW1lIGlzIHNwZW50IGluc2lkZSBhIEphdmFT
Y3JpcHQgcHJvZ3JhbS4KLSAqIEluIGNvbmZpZ3VyYXRpb25zIG90aGVyIHRoYW4gV2luZG93cyBh
bmQgRGFyd2luLCBiZWNhdXNlIGxheW91dCBvZiBtY29udGV4dF90IGRlcGVuZHMgb24gc3RhbmRh
cmQgbGlicmFyaWVzIChsaWtlIGdsaWJjKSwKLSAqIHNhbXBsaW5nIHByb2ZpbGVyIGlzIGVuYWJs
ZWQgaWYgV2ViS2l0IHVzZXMgcHRocmVhZHMgYW5kIGdsaWJjLiAqLwotI2lmICFkZWZpbmVkKEVO
QUJMRV9TQU1QTElOR19QUk9GSUxFUikgJiYgKCFFTkFCTEUoQ19MT09QKSAmJiAoT1MoV0lORE9X
UykgfHwgSEFWRShNQUNISU5FX0NPTlRFWFQpKSkKLSNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1BS
T0ZJTEVSIDEKLSNlbmRpZgotCi0jaWYgRU5BQkxFKFdFQkFTU0VNQkxZKSAmJiBIQVZFKE1BQ0hJ
TkVfQ09OVEVYVCkKLSNkZWZpbmUgRU5BQkxFX1dFQkFTU0VNQkxZX0ZBU1RfTUVNT1JZIDEKLSNl
bmRpZgotCi0vKiBDb3VudHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGluZyBj
b3VudGVycy4gQmUgc3VyZSB0byBhbHNvCi0gICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJT
IHRvIDEuICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQot
I2RlZmluZSBFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcgMAotI2VuZGlmCi0KLS8qIExv
Z3MgYWxsIGFsbG9jYXRpb24tcmVsYXRlZCBhY3Rpdml0eSB0aGF0IGdvZXMgdGhyb3VnaCBmYXN0
TWFsbG9jIG9yIHRoZQotICAgSlNDIEdDIChib3RoIGNlbGxzIGFuZCBidXR0ZXJmbGllcykuIEFs
c28gbG9ncyBtYXJraW5nLiBOb3RlIHRoYXQgdGhpcwotICAgaXNuJ3QgYSBjb21wbGV0ZWx5IGFj
Y3VyYXRlIHZpZXcgb2YgdGhlIGhlYXAgc2luY2UgaXQgZG9lc24ndCBpbmNsdWRlIGFsbAotICAg
YnV0dGVyZmx5IHJlc2l6ZSBvcGVyYXRpb25zLCBkb2Vzbid0IHRlbGwgeW91IHdoYXQgaXMgZ29p
bmcgb24gd2l0aCB3ZWFrCi0gICByZWZlcmVuY2VzIChvdGhlciB0aGFuIHRvIHRlbGwgeW91IHdo
ZW4gdGhleSdyZSBtYXJrZWQpLCBhbmQgZG9lc24ndAotICAgdHJhY2sgZGlyZWN0IG1tYXAoKSBh
bGxvY2F0aW9ucyBvciB0aGluZ3MgbGlrZSBKSVQgYWxsb2NhdGlvbi4gKi8KLSNpZiAhZGVmaW5l
ZChFTkFCTEVfQUxMT0NBVElPTl9MT0dHSU5HKQotI2RlZmluZSBFTkFCTEVfQUxMT0NBVElPTl9M
T0dHSU5HIDAKLSNlbmRpZgotCi0vKiBFbmFibGUgdmVyaWZpY2F0aW9uIHRoYXQgdGhhdCByZWdp
c3RlciBhbGxvY2F0aW9ucyBhcmUgbm90IG1hZGUgd2l0aGluIGdlbmVyYXRlZCBjb250cm9sIGZs
b3cuCi0gICBUdXJuZWQgb24gZm9yIGRlYnVnIGJ1aWxkcy4gKi8KLSNpZiAhZGVmaW5lZChFTkFC
TEVfREZHX1JFR0lTVEVSX0FMTE9DQVRJT05fVkFMSURBVElPTikgJiYgRU5BQkxFKERGR19KSVQp
ICYmICFkZWZpbmVkKE5ERUJVRykKLSNkZWZpbmUgRU5BQkxFX0RGR19SRUdJU1RFUl9BTExPQ0FU
SU9OX1ZBTElEQVRJT04gMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfU0VQQVJBVEVE
X1dYX0hFQVApICYmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIENQVShBUk02NCkgJiYgKCFFTkFC
TEUoRkFTVF9KSVRfUEVSTUlTU0lPTlMpIHx8ICFDUFUoQVJNNjRFKSkKLSNkZWZpbmUgRU5BQkxF
X1NFUEFSQVRFRF9XWF9IRUFQIDEKLSNlbmRpZgotCi0vKiBEZXRlcm1pbmUgaWYgd2UgbmVlZCB0
byBlbmFibGUgQ29tcHV0ZWQgR290byBPcGNvZGVzIG9yIG5vdDogKi8KLSNpZiBIQVZFKENPTVBV
VEVEX0dPVE8pIHx8ICFFTkFCTEUoQ19MT09QKQotI2RlZmluZSBFTkFCTEVfQ09NUFVURURfR09U
T19PUENPREVTIDEKLSNlbmRpZgotCi0vKiBSZWd1bGFyIEV4cHJlc3Npb24gVHJhY2luZyAtIFNl
dCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGluIGpzYy4gIFJlc3VsdHMgZHVtcGVkIGF0IGV4aXQg
Ki8KLSNpZiAhZGVmaW5lZChFTkFCTEVfUkVHRVhQX1RSQUNJTkcpCi0jZGVmaW5lIEVOQUJMRV9S
RUdFWFBfVFJBQ0lORyAwCi0jZW5kaWYKLQotLyogWWV0IEFub3RoZXIgUmVnZXggUnVudGltZSAt
IHR1cm5lZCBvbiBieSBkZWZhdWx0IGZvciBKSVQgZW5hYmxlZCBwb3J0cy4gKi8KLSNpZiAhZGVm
aW5lZChFTkFCTEVfWUFSUl9KSVQpICYmIEVOQUJMRShKSVQpCi0jZGVmaW5lIEVOQUJMRV9ZQVJS
X0pJVCAxCi0jZW5kaWYKLQotLyogU2V0dGluZyB0aGlzIGZsYWcgY29tcGFyZXMgSklUIHJlc3Vs
dHMgd2l0aCBpbnRlcnByZXRlciByZXN1bHRzLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9ZQVJS
X0pJVCkgJiYgRU5BQkxFKEpJVCkKLSNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0RFQlVHIDAKLSNl
bmRpZgotCi0vKiBFbmFibGUgSklUJ2luZyBSZWd1bGFyIEV4cHJlc3Npb25zIHRoYXQgaGF2ZSBu
ZXN0ZWQgcGFyZW50aGVzaXMgLiAqLwotI2lmIEVOQUJMRShZQVJSX0pJVCkgJiYgKENQVShBUk02
NCkgfHwgKENQVShYODZfNjQpICYmICFPUyhXSU5ET1dTKSkpCi0jZGVmaW5lIEVOQUJMRV9ZQVJS
X0pJVF9BTExfUEFSRU5TX0VYUFJFU1NJT05TIDEKLSNlbmRpZgotCi0vKiBFbmFibGUgSklUJ2lu
ZyBSZWd1bGFyIEV4cHJlc3Npb25zIHRoYXQgaGF2ZSBuZXN0ZWQgYmFjayByZWZlcmVuY2VzLiAq
LwotI2lmIEVOQUJMRShZQVJSX0pJVCkgJiYgKENQVShBUk02NCkgfHwgKENQVShYODZfNjQpICYm
ICFPUyhXSU5ET1dTKSkpCi0jZGVmaW5lIEVOQUJMRV9ZQVJSX0pJVF9CQUNLUkVGRVJFTkNFUyAx
Ci0jZW5kaWYKLQotLyogSWYgZWl0aGVyIHRoZSBKSVQgb3IgdGhlIFJlZ0V4cCBKSVQgaXMgZW5h
YmxlZCwgdGhlbiB0aGUgQXNzZW1ibGVyIG11c3QgYmUKLSAgIGVuYWJsZWQgYXMgd2VsbDogKi8K
LSNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpIHx8ICFFTkFCTEUoQ19MT09QKQot
I2lmIGRlZmluZWQoRU5BQkxFX0FTU0VNQkxFUikgJiYgIUVOQUJMRV9BU1NFTUJMRVIKLSNlcnJv
ciAiQ2Fubm90IGVuYWJsZSB0aGUgSklUIG9yIFJlZ0V4cCBKSVQgd2l0aG91dCBlbmFibGluZyB0
aGUgQXNzZW1ibGVyIgotI2Vsc2UKLSN1bmRlZiBFTkFCTEVfQVNTRU1CTEVSCi0jZGVmaW5lIEVO
QUJMRV9BU1NFTUJMRVIgMQotI2VuZGlmCi0jZW5kaWYKLQotLyogSWYgdGhlIERpc2Fzc2VtYmxl
ciBpcyBlbmFibGVkLCB0aGVuIHRoZSBBc3NlbWJsZXIgbXVzdCBiZSBlbmFibGVkIGFzIHdlbGw6
ICovCi0jaWYgRU5BQkxFKERJU0FTU0VNQkxFUikKLSNpZiBkZWZpbmVkKEVOQUJMRV9BU1NFTUJM
RVIpICYmICFFTkFCTEVfQVNTRU1CTEVSCi0jZXJyb3IgIkNhbm5vdCBlbmFibGUgdGhlIERpc2Fz
c2VtYmxlciB3aXRob3V0IGVuYWJsaW5nIHRoZSBBc3NlbWJsZXIiCi0jZWxzZQotI3VuZGVmIEVO
QUJMRV9BU1NFTUJMRVIKLSNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCi0jZW5kaWYKLSNlbmRp
ZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0VYQ0VQVElPTl9TQ09QRV9WRVJJRklDQVRJT04pCi0j
ZGVmaW5lIEVOQUJMRV9FWENFUFRJT05fU0NPUEVfVkVSSUZJQ0FUSU9OIEFTU0VSVF9FTkFCTEVE
Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShERkdfSklUKSAmJiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkg
JiYgKENQVShYODZfNjQpIHx8IENQVShBUk02NCkpCi0jZGVmaW5lIEVOQUJMRV9TSUdOQUxfQkFT
RURfVk1fVFJBUFMgMQotI2VuZGlmCi0KLS8qIENTUyBTZWxlY3RvciBKSVQgQ29tcGlsZXIgKi8K
LSNpZiAhZGVmaW5lZChFTkFCTEVfQ1NTX1NFTEVDVE9SX0pJVCkgJiYgKChDUFUoWDg2XzY0KSB8
fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkp
KSAmJiBFTkFCTEUoSklUKSAmJiAoT1MoREFSV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKFdQRSkpKQotI2RlZmluZSBFTkFCTEVfQ1NTX1NFTEVDVE9SX0pJVCAxCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQ
UExFVFYpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKLSNkZWZpbmUgRU5BQkxFX0RBVEFfREVU
RUNUSU9OIDEKLSNlbmRpZgotCi0jaWYgQ1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk02NCkKLSNk
ZWZpbmUgRU5BQkxFX0JSQU5DSF9DT01QQUNUSU9OIDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQo
RU5BQkxFX1RIUkVBRElOR19MSUJESVNQQVRDSCkgJiYgSEFWRShESVNQQVRDSF9IKQotI2RlZmlu
ZSBFTkFCTEVfVEhSRUFESU5HX0xJQkRJU1BBVENIIDEKLSNlbGlmICFkZWZpbmVkKEVOQUJMRV9U
SFJFQURJTkdfT1BFTk1QKSAmJiBkZWZpbmVkKF9PUEVOTVApCi0jZGVmaW5lIEVOQUJMRV9USFJF
QURJTkdfT1BFTk1QIDEKLSNlbGlmICFkZWZpbmVkKFRIUkVBRElOR19HRU5FUklDKQotI2RlZmlu
ZSBFTkFCTEVfVEhSRUFESU5HX0dFTkVSSUMgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFC
TEVfR0NfVkFMSURBVElPTikgJiYgIWRlZmluZWQoTkRFQlVHKQotI2RlZmluZSBFTkFCTEVfR0Nf
VkFMSURBVElPTiAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9CSU5ESU5HX0lOVEVH
UklUWSkgJiYgIU9TKFdJTkRPV1MpCi0jZGVmaW5lIEVOQUJMRV9CSU5ESU5HX0lOVEVHUklUWSAx
Ci0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVOQUJMRV9UUkVFX0RFQlVHR0lORykgJiYgIWRlZmlu
ZWQoTkRFQlVHKQotI2RlZmluZSBFTkFCTEVfVFJFRV9ERUJVR0dJTkcgMQotI2VuZGlmCi0KLSNp
ZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgRU5BQkxFX1JFU09VUkNFX1VTQUdFIDEKLSNlbmRp
ZgotCi0vKiBGSVhNRTogRG9jdW1lbnQgb3IgcmVtb3ZlIGV4cGxpY2l0IHVuZGVmLiAqLwotI2lm
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQotI3VuZGVmIEVOQUJMRV9PUEVOVFlQRV9W
RVJUSUNBTAotI2RlZmluZSBFTkFCTEVfT1BFTlRZUEVfVkVSVElDQUwgMQotI2VuZGlmCi0KLS8q
IEZJWE1FOiBEb2N1bWVudCBvciByZW1vdmUgZXhwbGljaXQgdW5kZWYuICovCi0jaWYgKE9TKERB
UldJTikgJiYgVVNFKENHKSkgfHwgKFVTRShGUkVFVFlQRSkgJiYgIVBMQVRGT1JNKEdUSykpIHx8
IChQTEFURk9STShXSU4pICYmIChVU0UoQ0cpIHx8IFVTRShDQUlSTykpKQotI3VuZGVmIEVOQUJM
RV9PUEVOVFlQRV9NQVRICi0jZGVmaW5lIEVOQUJMRV9PUEVOVFlQRV9NQVRIIDEKLSNlbmRpZgot
Ci0vKgotICogRW5hYmxlIHRoaXMgdG8gcHV0IGVhY2ggSXNvSGVhcCBhbmQgb3RoZXIgYWxsb2Nh
dGlvbiBjYXRlZ29yaWVzIGludG8gdGhlaXIgb3duIG1hbGxvYyBoZWFwcywgc28gdGhhdCB0b29s
cyBsaWtlIHZtbWFwIGNhbiBzaG93IGhvdyBiaWcgZWFjaCBoZWFwIGlzLgotICogVHVybiBCRU5B
QkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTiBvbiBpbiBibWFsbG9jIHRvZ2V0aGVyIHdoZW4gdXNp
bmcgdGhpcy4KLSAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9NQUxMT0NfSEVBUF9CUkVBS0RPV04p
Ci0jZGVmaW5lIEVOQUJMRV9NQUxMT0NfSEVBUF9CUkVBS0RPV04gMAotI2VuZGlmCi0KLS8qIERp
c2FibGUgU2hhcmVkQXJyYXlCdWZmZXJzIHVudGlsIFNwZWN0cmUgc2VjdXJpdHkgY29uY2VybnMg
YXJlIG1pdGlnYXRlZC4gKi8KLSNkZWZpbmUgRU5BQkxFX1NIQVJFRF9BUlJBWV9CVUZGRVIgMAot
Ci0vKiBGSVhNRTogX19MUDY0X18gY2FuIHByb2JhYmx5IGJlIHJlbW92ZWQgbm93IHRoYXQgMzIt
Yml0IG1hY09TIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuICovCi0jaWYgUExBVEZPUk0oTUFDKSAm
JiBkZWZpbmVkKF9fTFA2NF9fKQotI2RlZmluZSBFTkFCTEVfV0VCX1BMQVlCQUNLX0NPTlRST0xT
X01BTkFHRVIgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLS8qIEZJWE1FOiBUaGlz
IGlzIGEgVVNFIHN0eWxlIG1hY3JvLCBhcyBpdCB0cmlnZ2VycyB0aGUgdXNlIG9mIENGVVJMQ29u
bmVjdGlvbiBmcmFtZXdvcmsgc3R1YnMuICovCi0vKiBGSVhNRTogSXMgdGhpcyBzdGlsbCBuZWNl
c3Nhcnk/IENGVVJMQ29ubmVjdGlvbiBpc24ndCB1c2VkIG9uIENvY29hIHBsYXRmb3JtcyBhbnkg
bW9yZS4gKi8KLSNkZWZpbmUgRU5BQkxFX1NFQ19JVEVNX1NISU0gMQotI2VuZGlmCi0KLSNpZiBQ
TEFURk9STShNQUMpCi0jZGVmaW5lIEVOQUJMRV9GVUxMX0tFWUJPQVJEX0FDQ0VTUyAxCi0jZW5k
aWYKLQotI2lmICgoUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKFBMQVlTVEFUSU9OKSB8fCBQ
TEFURk9STShXUEUpKSAmJiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSkgfHwgUExBVEZPUk0oR1RL
KQotI2RlZmluZSBFTkFCTEVfS0lORVRJQ19TQ1JPTExJTkcgMQotI2VuZGlmCi0KLSNpZiAhZGVm
aW5lZChFTkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhDRVBUSU9OKSAmJiAoKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgfHwgKFBMQVRGT1JN
KElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTMwMDAw
KSkKLSNkZWZpbmUgRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTiAxCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9QTEFURk9STV9EUklWRU5fVEVYVF9DSEVDS0lORykgJiYgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCi0jZGVmaW5lIEVOQUJMRV9QTEFURk9STV9EUklWRU5fVEVYVF9D
SEVDS0lORyAxCi0jZW5kaWYKLQotCi0vKiBBc3NlcnRzLCBpbnZhcmlhbnRzIGZvciBtYWNybyBk
ZWZpbml0aW9ucyAqLwotCi0jaWYgRU5BQkxFKFZJREVPX1RSQUNLKSAmJiAhRU5BQkxFKFZJREVP
KQotI2Vycm9yICJFTkFCTEUoVklERU9fVFJBQ0spIHJlcXVpcmVzIEVOQUJMRShWSURFTykiCi0j
ZW5kaWYKLQotI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpICYmICFFTkFCTEUoVklE
RU8pCi0jZXJyb3IgIkVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpIHJlcXVpcmVzIEVOQUJM
RShWSURFTykiCi0jZW5kaWYKLQotI2lmIEVOQUJMRShJTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BB
VENIRVJTKSAmJiAhRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCi0jZXJyb3IgIkVOQUJMRShJTlNQ
RUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSByZXF1aXJlcyBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikiCi0jZW5kaWYKLQotI2lmIEVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKSAmJiAhRU5BQkxF
KFRPVUNIX0VWRU5UUykKLSNlcnJvciAiRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpIHJlcXVpcmVz
IEVOQUJMRShUT1VDSF9FVkVOVFMpIgotI2VuZGlmCi0KLSNpZiBFTkFCTEUoV0VCR0wpICYmICFF
TkFCTEUoR1JBUEhJQ1NfQ09OVEVYVF9HTCkKLSNlcnJvciAiRU5BQkxFKFdFQkdMKSByZXF1aXJl
cyBFTkFCTEUoR1JBUEhJQ1NfQ09OVEVYVF9HTCkiCi0jZW5kaWYKLQotI2lmIEVOQUJMRShXRUJH
TDIpICYmICFFTkFCTEUoV0VCR0wpCi0jZXJyb3IgIkVOQUJMRShXRUJHTDIpIHJlcXVpcmVzIEVO
QUJMRShXRUJHTCkiCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL09TLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dURi93dGYvT1MuaAkocmV2aXNpb24gMjU0NDgwKQorKysgU291cmNlL1dU
Ri93dGYvT1MuaAkobm9uZXhpc3RlbnQpCkBAIC0xLDEyOSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDA2LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29w
eXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0vKiBJbmNsdWRlIGNvbXBpbGVyIHNwZWNpZmljIG1hY3JvcyAqLwotI2luY2x1ZGUg
PHd0Zi9Db21waWxlci5oPgotCi0jaWYgZGVmaW5lZChfX0FQUExFX18pCi0jaW5jbHVkZSA8QXZh
aWxhYmlsaXR5Lmg+Ci0jaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9zLmg+Ci0jaW5jbHVkZSA8
VGFyZ2V0Q29uZGl0aW9uYWxzLmg+Ci0jZW5kaWYKLQotCi0vKiBPUygpIC0gdW5kZXJseWluZyBv
cGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1sZXZlbCBz
ZXJ2aWNlcyBsaWtlCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdVSSB0b29s
a2l0ICovCi0jZGVmaW5lIE9TKFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfT1NfIyNXVEZfRkVB
VFVSRSAgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCi0KLQotLyogPT09PSBPUygpIC0gdW5kZXJs
eWluZyBvcGVyYXRpbmcgc3lzdGVtOyBvbmx5IHRvIGJlIHVzZWQgZm9yIG1hbmRhdGVkIGxvdy1s
ZXZlbCBzZXJ2aWNlcyBsaWtlCi0gICB2aXJ0dWFsIG1lbW9yeSwgbm90IHRvIGNob29zZSBhIEdV
SSB0b29sa2l0ID09PT0gKi8KLQotLyogT1MoQUlYKSAtIEFJWCAqLwotI2lmIGRlZmluZWQoX0FJ
WCkKLSNkZWZpbmUgV1RGX09TX0FJWCAxCi0jZW5kaWYKLQotLyogT1MoREFSV0lOKSAtIEFueSBE
YXJ3aW4tYmFzZWQgT1MsIGluY2x1ZGluZyBtYWNPUywgaU9TLCBtYWNDYXRhbHlzdCwgdHZPUywg
YW5kIHdhdGNoT1MgKi8KLSNpZiBkZWZpbmVkKF9fQVBQTEVfXykKLSNkZWZpbmUgV1RGX09TX0RB
UldJTiAxCi0jZW5kaWYKLQotLyogT1MoSU9TX0ZBTUlMWSkgLSBpT1MgZmFtaWx5LCBpbmNsdWRp
bmcgaU9TLCBtYWNDYXRhbHlzdCwgdHZPUywgd2F0Y2hPUyAqLwotI2lmIE9TKERBUldJTikgJiYg
VEFSR0VUX09TX0lQSE9ORQotI2RlZmluZSBXVEZfT1NfSU9TX0ZBTUlMWSAxCi0jZW5kaWYKLQot
LyogT1MoSU9TKSAtIGlPUyBvbmx5LCBub3QgaW5jbHVkaW5nIG1hY0NhdGFseXN0ICovCi0jaWYg
T1MoREFSV0lOKSAmJiAoVEFSR0VUX09TX0lPUyAmJiAhKGRlZmluZWQoVEFSR0VUX09TX01BQ0NB
VEFMWVNUKSAmJiBUQVJHRVRfT1NfTUFDQ0FUQUxZU1QpKQotI2RlZmluZSBXVEZfT1NfSU9TIDEK
LSNlbmRpZgotCi0vKiBGSVhNRTogUmVuYW1lIHRoaXMgdG8gZHJvcCB0aGUgWCwgYXMgdGhhdCBp
cyBubyBsb25nZXIgdGhlIG5hbWUgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0uICovCi0vKiBPUyhN
QUNfT1NfWCkgLSBtYWNPUyAobm90IGluY2x1ZGluZyBpT1MgZmFtaWx5KSAqLwotI2lmIE9TKERB
UldJTikgJiYgVEFSR0VUX09TX09TWAotI2RlZmluZSBXVEZfT1NfTUFDX09TX1ggMQotI2VuZGlm
Ci0KLS8qIE9TKEZSRUVCU0QpIC0gRnJlZUJTRCAqLwotI2lmIGRlZmluZWQoX19GcmVlQlNEX18p
IHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18p
Ci0jZGVmaW5lIFdURl9PU19GUkVFQlNEIDEKLSNlbmRpZgotCi0vKiBPUyhGVUNIU0lBKSAtIEZ1
Y2hzaWEgKi8KLSNpZiBkZWZpbmVkKF9fRnVjaHNpYV9fKQotI2RlZmluZSBXVEZfT1NfRlVDSFNJ
QSAxCi0jZW5kaWYKLQotLyogT1MoSFVSRCkgLSBHTlUvSHVyZCAqLwotI2lmIGRlZmluZWQoX19H
TlVfXykKLSNkZWZpbmUgV1RGX09TX0hVUkQgMQotI2VuZGlmCi0KLS8qIE9TKExJTlVYKSAtIExp
bnV4ICovCi0jaWYgZGVmaW5lZChfX2xpbnV4X18pCi0jZGVmaW5lIFdURl9PU19MSU5VWCAxCi0j
ZW5kaWYKLQotLyogT1MoTkVUQlNEKSAtIE5ldEJTRCAqLwotI2lmIGRlZmluZWQoX19OZXRCU0Rf
XykKLSNkZWZpbmUgV1RGX09TX05FVEJTRCAxCi0jZW5kaWYKLQotLyogT1MoT1BFTkJTRCkgLSBP
cGVuQlNEICovCi0jaWYgZGVmaW5lZChfX09wZW5CU0RfXykKLSNkZWZpbmUgV1RGX09TX09QRU5C
U0QgMQotI2VuZGlmCi0KLS8qIE9TKFdJTkRPV1MpIC0gQW55IHZlcnNpb24gb2YgV2luZG93cyAq
LwotI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMyKQotI2RlZmluZSBXVEZfT1Nf
V0lORE9XUyAxCi0jZW5kaWYKLQotCi0vKiBPUyhVTklYKSAtIEFueSBVbml4LWxpa2Ugc3lzdGVt
ICovCi0jaWYgICAgT1MoQUlYKSAgICAgICAgICAgICAgXAotICAgIHx8IE9TKERBUldJTikgICAg
ICAgICAgIFwKLSAgICB8fCBPUyhGUkVFQlNEKSAgICAgICAgICBcCi0gICAgfHwgT1MoRlVDSFNJ
QSkgICAgICAgICAgXAotICAgIHx8IE9TKEhVUkQpICAgICAgICAgICAgIFwKLSAgICB8fCBPUyhM
SU5VWCkgICAgICAgICAgICBcCi0gICAgfHwgT1MoTkVUQlNEKSAgICAgICAgICAgXAotICAgIHx8
IE9TKE9QRU5CU0QpICAgICAgICAgIFwKLSAgICB8fCBkZWZpbmVkKHVuaXgpICAgICAgICBcCi0g
ICAgfHwgZGVmaW5lZChfX3VuaXgpICAgICAgXAotICAgIHx8IGRlZmluZWQoX191bml4X18pCi0j
ZGVmaW5lIFdURl9PU19VTklYIDEKLSNlbmRpZgotCi0KLS8qIEFzc2VydHMsIGludmFyaWFudHMg
Zm9yIG1hY3JvIGRlZmluaXRpb25zICovCi0KLSNkZWZpbmUgV1RGX09TX1dJTiBFUlJPUiAiVVNF
IFdJTkRPV1MgV0lUSCBPUyBOT1QgV0lOIgotI2RlZmluZSBXVEZfT1NfTUFDIEVSUk9SICJVU0Ug
TUFDX09TX1ggV0lUSCBPUyBOT1QgTUFDIgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dU
Ri93dGYvT1MuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAj
IwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxhdGZvcm0u
aAkocmV2aXNpb24gMjU0NDgwKQorKysgU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsMTAgKzMxLDEwIEBACiAjaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+CiAK
IC8qIEluY2x1ZGUgQ1BVIHNwZWNpZmljIG1hY3JvcyAqLwotI2luY2x1ZGUgPHd0Zi9DUFUuaD4K
KyNpbmNsdWRlIDx3dGYvUGxhdGZvcm1DUFUuaD4KIAogLyogSW5jbHVkZSB1bmRlcmx5aW5nIG9w
ZXJhdGluZyBzeXN0ZW0gc3BlY2lmaWMgbWFjcm9zICovCi0jaW5jbHVkZSA8d3RmL09TLmg+Cisj
aW5jbHVkZSA8d3RmL1BsYXRmb3JtT1MuaD4KIAogLyogPT09PSBQTEFURk9STSBoYW5kbGVzIE9T
LCBvcGVyYXRpbmcgZW52aXJvbm1lbnQsIGdyYXBoaWNzIEFQSSwgYW5kCiAgICBDUFUuIFRoaXMg
bWFjcm8gd2lsbCBiZSBwaGFzZWQgb3V0IGluIGZhdm9yIG9mIHBsYXRmb3JtIGFkYXB0YXRpb24K
QEAgLTEwNDcsNyArMTA0Nyw3IEBACiAjZGVmaW5lIF9fUExBVEZPUk1fSU5ESVJFQ1RfXwogCiAv
KiBJbmNsdWRlIGZlYXR1cmUgbWFjcm9zICovCi0jaW5jbHVkZSA8d3RmL0ZlYXR1cmVEZWZpbmVz
Lmg+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtRW5hYmxlLmg+CiAKICN1bmRlZiBfX1BMQVRGT1JN
X0lORElSRUNUX18KIApJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1DUFUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUNQVS5oCShyZXZpc2lvbiAyNTQ0ODApCShm
cm9tIFNvdXJjZS9XVEYvd3RmL0NQVS5oOjI1NDQ4MCkKKysrIFNvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtQ1BVLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNjMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworLyogSW5jbHVk
ZSBjb21waWxlciBzcGVjaWZpYyBtYWNyb3MgKi8KKyNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4K
KworLyogQ1BVKCkgLSB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgKi8KKyNkZWZpbmUgQ1BV
KFdURl9GRUFUVVJFKSAoZGVmaW5lZCBXVEZfQ1BVXyMjV1RGX0ZFQVRVUkUgICYmIFdURl9DUFVf
IyNXVEZfRkVBVFVSRSkKKworLyogPT09PSBDUFUoKSAtIHRoZSB0YXJnZXQgQ1BVIGFyY2hpdGVj
dHVyZSA9PT09ICovCisvKiBDUFUoS05PV04pIGJlY29tZXMgdHJ1ZSBpZiB3ZSBleHBsaWNpdGx5
IHN1cHBvcnQgYSB0YXJnZXQgQ1BVLiAqLworCisvKiBDUFUoTUlQUykgLSBNSVBTIDMyLWJpdCBh
bmQgNjQtYml0ICovCisjaWYgKGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwg
ZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykgfHwgZGVmaW5lZChfX21pcHM2NCkpCisj
aWYgZGVmaW5lZChfQUJJNjQpICYmIChfTUlQU19TSU0gPT0gX0FCSTY0KQorI2RlZmluZSBXVEZf
Q1BVX01JUFM2NCAxCisjZGVmaW5lIFdURl9NSVBTX0FSQ0ggX19taXBzNjQKKyNlbHNlCisjZGVm
aW5lIFdURl9DUFVfTUlQUyAxCisjZGVmaW5lIFdURl9NSVBTX0FSQ0ggX19taXBzCisjZW5kaWYK
KyNkZWZpbmUgV1RGX0NQVV9LTk9XTiAxCisjZGVmaW5lIFdURl9NSVBTX1BJQyAoZGVmaW5lZCBf
X1BJQ19fKQorI2RlZmluZSBXVEZfTUlQU19JU0EodikgKGRlZmluZWQgV1RGX01JUFNfQVJDSCAm
JiBXVEZfTUlQU19BUkNIID09IHYpCisjZGVmaW5lIFdURl9NSVBTX0lTQV9BVF9MRUFTVCh2KSAo
ZGVmaW5lZCBXVEZfTUlQU19BUkNIICYmIFdURl9NSVBTX0FSQ0ggPj0gdikKKyNkZWZpbmUgV1RG
X01JUFNfQVJDSF9SRVYgX19taXBzX2lzYV9yZXYKKyNkZWZpbmUgV1RGX01JUFNfSVNBX1JFVih2
KSAoZGVmaW5lZCBXVEZfTUlQU19BUkNIX1JFViAmJiBXVEZfTUlQU19BUkNIX1JFViA9PSB2KQor
I2RlZmluZSBXVEZfTUlQU19JU0FfUkVWX0FUX0xFQVNUKHYpIChkZWZpbmVkIFdURl9NSVBTX0FS
Q0hfUkVWICYmIFdURl9NSVBTX0FSQ0hfUkVWID49IHYpCisjZGVmaW5lIFdURl9NSVBTX0RPVUJM
RV9GTE9BVCAoZGVmaW5lZCBfX21pcHNfaGFyZF9mbG9hdCAmJiAhZGVmaW5lZCBfX21pcHNfc2lu
Z2xlX2Zsb2F0KQorI2RlZmluZSBXVEZfTUlQU19GUDY0IChkZWZpbmVkIF9fbWlwc19mcHIgJiYg
X19taXBzX2ZwciA9PSA2NCkKKyNlbmRpZgorCisvKiBDUFUoUFBDNjQpIC0gUG93ZXJQQyA2NC1i
aXQgQmlnIEVuZGlhbiAqLworI2lmICggIGRlZmluZWQoX19wcGM2NF9fKSAgICAgIFwKKyAgICB8
fCBkZWZpbmVkKF9fUFBDNjRfXykpICAgICBcCisgICAgJiYgZGVmaW5lZChfX0JZVEVfT1JERVJf
XykgXAorICAgICYmIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0JJR19FTkRJQU5fXykKKyNk
ZWZpbmUgV1RGX0NQVV9QUEM2NCAxCisjZGVmaW5lIFdURl9DUFVfS05PV04gMQorI2VuZGlmCisK
Ky8qIENQVShQUEM2NExFKSAtIFBvd2VyUEMgNjQtYml0IExpdHRsZSBFbmRpYW4gKi8KKyNpZiAo
ICAgZGVmaW5lZChfX3BwYzY0X18pICAgICBcCisgICAgfHwgZGVmaW5lZChfX1BQQzY0X18pICAg
ICAgXAorICAgIHx8IGRlZmluZWQoX19wcGM2NGxlX18pICAgIFwKKyAgICB8fCBkZWZpbmVkKF9f
UFBDNjRMRV9fKSkgICBcCisgICAgJiYgZGVmaW5lZChfX0JZVEVfT1JERVJfXykgXAorICAgICYm
IChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXykKKyNkZWZpbmUgV1RG
X0NQVV9QUEM2NExFIDEKKyNkZWZpbmUgV1RGX0NQVV9LTk9XTiAxCisjZW5kaWYKKworLyogQ1BV
KFBQQykgLSBQb3dlclBDIDMyLWJpdCAqLworI2lmICggIGRlZmluZWQoX19wcGNfXykgICAgICAg
IFwKKyAgICB8fCBkZWZpbmVkKF9fUFBDX18pICAgICAgICBcCisgICAgfHwgZGVmaW5lZChfX3Bv
d2VycGNfXykgICAgXAorICAgIHx8IGRlZmluZWQoX19wb3dlcnBjKSAgICAgIFwKKyAgICB8fCBk
ZWZpbmVkKF9fUE9XRVJQQ19fKSAgICBcCisgICAgfHwgZGVmaW5lZChfTV9QUEMpICAgICAgICAg
XAorICAgIHx8IGRlZmluZWQoX19QUEMpKSAgICAgICAgIFwKKyAgICAmJiAhQ1BVKFBQQzY0KSAg
ICAgICAgICAgICBcCisgICAgJiYgQ1BVKEJJR19FTkRJQU4pCisjZGVmaW5lIFdURl9DUFVfUFBD
IDEKKyNkZWZpbmUgV1RGX0NQVV9LTk9XTiAxCisjZW5kaWYKKworLyogQ1BVKFg4NikgLSBpMzg2
IC8geDg2IDMyLWJpdCAqLworI2lmICAgZGVmaW5lZChfX2kzODZfXykgXAorICAgIHx8IGRlZmlu
ZWQoaTM4NikgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9NX0lYODYpICBcCisgICAgfHwgZGVmaW5l
ZChfWDg2XykgICAgXAorICAgIHx8IGRlZmluZWQoX19USFdfSU5URUwpCisjZGVmaW5lIFdURl9D
UFVfWDg2IDEKKyNkZWZpbmUgV1RGX0NQVV9LTk9XTiAxCisKKyNpZiBkZWZpbmVkKF9fU1NFMl9f
KSB8fCAoZGVmaW5lZChfTV9JWDg2X0ZQKSAmJiBfTV9JWDg2X0ZQID49IDIpCisjZGVmaW5lIFdU
Rl9DUFVfWDg2X1NTRTIgMQorI2VuZGlmCisKKyNlbmRpZgorCisvKiBDUFUoWDg2XzY0KSAtIEFN
RDY0IC8gSW50ZWw2NCAvIHg4Nl82NCA2NC1iaXQgKi8KKyNpZiAgIGRlZmluZWQoX194ODZfNjRf
XykgXAorICAgIHx8IGRlZmluZWQoX01fWDY0KQorI2RlZmluZSBXVEZfQ1BVX1g4Nl82NCAxCisj
ZGVmaW5lIFdURl9DUFVfWDg2X1NTRTIgMQorI2RlZmluZSBXVEZfQ1BVX0tOT1dOIDEKKyNlbmRp
ZgorCisvKiBDUFUoQVJNNjQpIC0gQXBwbGUgKi8KKyNpZiAoZGVmaW5lZChfX2FybTY0X18pICYm
IGRlZmluZWQoX19BUFBMRV9fKSkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykKKyNkZWZpbmUgV1RG
X0NQVV9BUk02NCAxCisjZGVmaW5lIFdURl9DUFVfS05PV04gMQorCisjaWYgZGVmaW5lZChfX2Fy
bTY0ZV9fKQorI2RlZmluZSBXVEZfQ1BVX0FSTTY0RSAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBD
UFUoQVJNKSAtIEFSTSwgYW55IHZlcnNpb24qLworI2RlZmluZSBXVEZfQVJNX0FSQ0hfQVRfTEVB
U1QoTikgKENQVShBUk0pICYmIFdURl9BUk1fQVJDSF9WRVJTSU9OID49IE4pCisKKyNpZiAgIGRl
ZmluZWQoYXJtKSBcCisgICAgfHwgZGVmaW5lZChfX2FybV9fKSBcCisgICAgfHwgZGVmaW5lZChB
Uk0pIFwKKyAgICB8fCBkZWZpbmVkKF9BUk1fKQorI2RlZmluZSBXVEZfQ1BVX0FSTSAxCisjZGVm
aW5lIFdURl9DUFVfS05PV04gMQorCisjaWYgZGVmaW5lZChfX0FSTV9QQ1NfVkZQKQorI2RlZmlu
ZSBXVEZfQ1BVX0FSTV9IQVJERlAgMQorI2VuZGlmCisKKy8qIFNldCBXVEZfQVJNX0FSQ0hfVkVS
U0lPTiAqLworI2lmICAgZGVmaW5lZChfX0FSTV9BUkNIXzRfXykgXAorICAgIHx8IGRlZmluZWQo
X19BUk1fQVJDSF80VF9fKSBcCisgICAgfHwgZGVmaW5lZChfX01BUk1fQVJNVjRfXykKKyNkZWZp
bmUgV1RGX0FSTV9BUkNIX1ZFUlNJT04gNAorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNV9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
TUFSTV9BUk1WNV9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CisKKyNlbGlmIGRl
ZmluZWQoX19BUk1fQVJDSF81RV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9f
KSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykKKyNkZWZpbmUgV1RGX0FSTV9B
UkNIX1ZFUlNJT04gNQorCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBcCisgICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktf
XykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82Wl9fKSBcCisgICAgfHwgZGVmaW5lZChf
X0FSTV9BUkNIXzZaS19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZUMl9fKSBcCisg
ICAgfHwgZGVmaW5lZChfX0FSTVY2X18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDYK
KworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJN
X0FSQ0hfN0tfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF83Ul9fKSBcCisgICAgfHwg
ZGVmaW5lZChfX0FSTV9BUkNIXzdTX18pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDcK
KworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzhfXykgXAorICAgIHx8IGRlZmluZWQoX19BUk1f
QVJDSF84QV9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA4CisKKy8qIE1TVkMgc2V0
cyBfTV9BUk0gKi8KKyNlbGlmIGRlZmluZWQoX01fQVJNKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hf
VkVSU0lPTiBfTV9BUk0KKworLyogUlZDVCBzZXRzIF9UQVJHRVRfQVJDSF9BUk0gKi8KKyNlbGlm
IGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9O
IF9fVEFSR0VUX0FSQ0hfQVJNCisKKyNlbHNlCisjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9O
IDAKKworI2VuZGlmCisKKy8qIEZJWE1FOiBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIHNlZW1zIHVu
dXNlZC4gUmVtb3ZlLiAqLworLyogU2V0IFdURl9USFVNQl9BUkNIX1ZFUlNJT04gKi8KKyNpZiAg
IGRlZmluZWQoX19BUk1fQVJDSF80VF9fKQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9O
IDEKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKKyAgICB8fCBkZWZpbmVkKF9f
QVJNX0FSQ0hfNVRFX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNVRFSl9fKQorI2Rl
ZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDIKKworI2VsaWYgZGVmaW5lZChfX0FSTV9BUkNI
XzZKX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNktfXykgXAorICAgIHx8IGRlZmlu
ZWQoX19BUk1fQVJDSF82Wl9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZaS19fKSBc
CisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzZNX18pCisjZGVmaW5lIFdURl9USFVNQl9BUkNI
X1ZFUlNJT04gMworCisjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNlQyX18pIFwKKyAgICB8fCBk
ZWZpbmVkKF9fQVJNX0FSQ0hfN19fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18p
IFwKKyAgICB8fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN0tfXykgXAorICAgIHx8IGRlZmluZWQoX19B
Uk1fQVJDSF83TV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pIFwKKyAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfN1NfXykKKyNkZWZpbmUgV1RGX1RIVU1CX0FSQ0hfVkVSU0lP
TiA0CisKKy8qIFJWQ1Qgc2V0cyBfX1RBUkdFVF9BUkNIX1RIVU1CICovCisjZWxpZiBkZWZpbmVk
KF9fVEFSR0VUX0FSQ0hfVEhVTUIpCisjZGVmaW5lIFdURl9USFVNQl9BUkNIX1ZFUlNJT04gX19U
QVJHRVRfQVJDSF9USFVNQgorCisjZWxzZQorI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9O
IDAKKyNlbmRpZgorCisKKy8qIEZJWE1FOiBDUFUoQVJNVjVfT1JfTE9XRVIpIHNlZW1zIHVudXNl
ZC4gUmVtb3ZlLiAqLworLyogQ1BVKEFSTVY1X09SX0xPV0VSKSAtIEFSTSBpbnN0cnVjdGlvbiBz
ZXQgdjUgb3IgZWFybGllciAqLworLyogT24gQVJNdjUgYW5kIGJlbG93IHRoZSBuYXR1cmFsIGFs
aWdubWVudCBpcyByZXF1aXJlZC4gCisgICBBbmQgdGhlcmUgYXJlIHNvbWUgb3RoZXIgZGlmZmVy
ZW5jZXMgZm9yIHY1IG9yIGVhcmxpZXIuICovCisjaWYgIWRlZmluZWQoQVJNVjVfT1JfTE9XRVIp
ICYmICFXVEZfQVJNX0FSQ0hfQVRfTEVBU1QoNikKKyNkZWZpbmUgV1RGX0NQVV9BUk1WNV9PUl9M
T1dFUiAxCisjZW5kaWYKKworCisvKiBDUFUoQVJNX1RSQURJVElPTkFMKSAtIFRodW1iMiBpcyBu
b3QgYXZhaWxhYmxlLCBvbmx5IHRyYWRpdGlvbmFsIEFSTSAodjQgb3IgZ3JlYXRlcikgKi8KKy8q
IENQVShBUk1fVEhVTUIyKSAtIFRodW1iMiBpbnN0cnVjdGlvbiBzZXQgaXMgYXZhaWxhYmxlICov
CisvKiBPbmx5IG9uZSBvZiB0aGVzZSB3aWxsIGJlIGRlZmluZWQuICovCisjaWYgIWRlZmluZWQo
V1RGX0NQVV9BUk1fVFJBRElUSU9OQUwpICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX1RIVU1CMikK
KyMgIGlmIGRlZmluZWQodGh1bWIyKSB8fCBkZWZpbmVkKF9fdGh1bWIyX18pIFwKKyAgICB8fCAo
KGRlZmluZWQoX190aHVtYikgfHwgZGVmaW5lZChfX3RodW1iX18pKSAmJiBXVEZfVEhVTUJfQVJD
SF9WRVJTSU9OID09IDQpCisjICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCAwCisj
ICAgIGRlZmluZSBXVEZfQ1BVX0FSTV9USFVNQjIgMQorIyAgZWxpZiBXVEZfQVJNX0FSQ0hfQVRf
TEVBU1QoNCkKKyMgICAgZGVmaW5lIFdURl9DUFVfQVJNX1RSQURJVElPTkFMIDEKKyMgICAgZGVm
aW5lIFdURl9DUFVfQVJNX1RIVU1CMiAwCisjICBlbHNlCisjICAgIGVycm9yICJOb3Qgc3VwcG9y
dGVkIEFSTSBhcmNoaXRlY3R1cmUiCisjICBlbmRpZgorI2VsaWYgQ1BVKEFSTV9UUkFESVRJT05B
TCkgJiYgQ1BVKEFSTV9USFVNQjIpIC8qIFNhbml0eSBDaGVjayAqLworIyAgZXJyb3IgIkNhbm5v
dCB1c2UgYm90aCBvZiBXVEZfQ1BVX0FSTV9UUkFESVRJT05BTCBhbmQgV1RGX0NQVV9BUk1fVEhV
TUIyIHBsYXRmb3JtcyIKKyNlbmRpZiAvKiAhZGVmaW5lZChXVEZfQ1BVX0FSTV9UUkFESVRJT05B
TCkgJiYgIWRlZmluZWQoV1RGX0NQVV9BUk1fVEhVTUIyKSAqLworCisjaWYgZGVmaW5lZChfX0FS
TV9ORU9OX18pICYmICFkZWZpbmVkKFdURl9DUFVfQVJNX05FT04pCisjZGVmaW5lIFdURl9DUFVf
QVJNX05FT04gMQorI2VuZGlmCisKKyNpZiAoZGVmaW5lZChfX1ZGUF9GUF9fKSAmJiAhZGVmaW5l
ZChfX1NPRlRGUF9fKSkKKyNkZWZpbmUgV1RGX0NQVV9BUk1fVkZQIDEKKyNlbmRpZgorCisvKiBJ
ZiBDUFUoQVJNX05FT04pIGlzIG5vdCBlbmFibGVkLCB3ZSdsbCBjb25zZXJ2YXRpdmVseSBhc3N1
bWUgb25seSBWRlAyIG9yIFZGUHYzRDE2CisgICBzdXBwb3J0IGlzIGF2YWlsYWJsZS4gSGVuY2Us
IG9ubHkgdGhlIGZpcnN0IDE2IDY0LWJpdCBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMKKyAgIGFy
ZSBhdmFpbGFibGUuIFNlZToKKyAgIE5FT04gcmVnaXN0ZXJzOiBodHRwOi8vaW5mb2NlbnRlci5h
cm0uY29tL2hlbHAvaW5kZXguanNwP3RvcGljPS9jb20uYXJtLmRvYy5kdWkwNDczYy9DSkFDQUJF
Si5odG1sCisgICBWRlAyIGFuZCBWRlAzIHJlZ2lzdGVyczogaHR0cDovL2luZm9jZW50ZXIuYXJt
LmNvbS9oZWxwL2luZGV4LmpzcD90b3BpYz0vY29tLmFybS5kb2MuZHVpMDQ3M2MvQ0lIRElCREcu
aHRtbAorICAgTkVPTiB0byBWRlAgcmVnaXN0ZXIgbWFwcGluZzogaHR0cDovL2luZm9jZW50ZXIu
YXJtLmNvbS9oZWxwL2luZGV4LmpzcD90b3BpYz0vY29tLmFybS5kb2MuZHVpMDQ3M2MvQ0pBSUpI
RkMuaHRtbAorKi8KKyNpZiBDUFUoQVJNX05FT04pCisjZGVmaW5lIFdURl9DUFVfQVJNX1ZGUF9W
M19EMzIgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX0NQVV9BUk1fVkZQX1YyIDEKKyNlbmRpZgorCisj
aWYgZGVmaW5lZChfX0FSTV9BUkNIXzdLX18pCisjZGVmaW5lIFdURl9DUFVfQVBQTEVfQVJNVjdL
IDEKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX0FSTV9BUkNIXzdTX18pCisjZGVmaW5lIFdURl9D
UFVfQVBQTEVfQVJNVjdTIDEKKyNlbmRpZgorCisjZW5kaWYgLyogQVJNICovCisKKyNpZiAhQ1BV
KEtOT1dOKQorI2RlZmluZSBXVEZfQ1BVX1VOS05PV04gMQorI2VuZGlmCisKKyNpZiBDUFUoQVJN
KSB8fCBDUFUoTUlQUykgfHwgQ1BVKFVOS05PV04pCisjZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJ
R05FRF9BQ0NFU1MgMQorI2VuZGlmCisKKyNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKKy8q
IF9fTFA2NF9fIGlzIG5vdCBkZWZpbmVkIG9uIDY0Yml0IFdpbmRvd3Mgc2luY2UgaXQgdXNlcyBM
TFA2NC4gVXNpbmcgX19TSVpFT0ZfUE9JTlRFUl9fIGlzIHNpbXBsZXIuICovCisjaWYgX19TSVpF
T0ZfUE9JTlRFUl9fID09IDgKKyNkZWZpbmUgV1RGX0NQVV9BRERSRVNTNjQgMQorI2VsaWYgX19T
SVpFT0ZfUE9JTlRFUl9fID09IDQKKyNkZWZpbmUgV1RGX0NQVV9BRERSRVNTMzIgMQorI2Vsc2UK
KyNlcnJvciAiVW5zdXBwb3J0ZWQgcG9pbnRlciB3aWR0aCIKKyNlbmRpZgorI2VsaWYgQ09NUElM
RVIoTVNWQykKKyNpZiBkZWZpbmVkKF9XSU42NCkKKyNkZWZpbmUgV1RGX0NQVV9BRERSRVNTNjQg
MQorI2Vsc2UKKyNkZWZpbmUgV1RGX0NQVV9BRERSRVNTMzIgMQorI2VuZGlmCisjZWxzZQorLyog
VGhpcyBpcyB0aGUgbW9zdCBnZW5lcmljIHdheS4gQnV0IGluIE9TKERBUldJTiksIFBsYXRmb3Jt
LmggY2FuIGJlIGluY2x1ZGVkIGJ5IHNhbmRib3ggZGVmaW5pdGlvbiBmaWxlICguc2IpLgorICog
QXQgdGhhdCB0aW1lLCB3ZSBjYW5ub3QgaW5jbHVkZSAic3RkaW50LmgiIGhlYWRlci4gU28gaW4g
dGhlIGNhc2Ugb2Yga25vd24gY29tcGlsZXJzLCB3ZSB1c2UgcHJlZGVmaW5lZCBjb25zdGFudHMg
aW5zdGVhZC4gKi8KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpZiBVSU5UUFRSX01BWCA+IFVJTlQz
Ml9NQVgKKyNkZWZpbmUgV1RGX0NQVV9BRERSRVNTNjQgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX0NQ
VV9BRERSRVNTMzIgMQorI2VuZGlmCisjZW5kaWYKKworLyogQ1BVKEJJR19FTkRJQU4pIG9yIENQ
VShNSURETEVfRU5ESUFOKSBvciBuZWl0aGVyLCBhcyBhcHByb3ByaWF0ZS4gKi8KKworI2lmIENP
TVBJTEVSKEdDQ19DT01QQVRJQkxFKQorI2lmIF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfQklH
X0VORElBTl9fCisjZGVmaW5lIFdURl9DUFVfQklHX0VORElBTiAxCisjZWxpZiBfX0JZVEVfT1JE
RVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXworI2RlZmluZSBXVEZfQ1BVX0xJVFRMRV9F
TkRJQU4gMQorI2VsaWYgX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9QRFBfRU5ESUFOX18KKyNk
ZWZpbmUgV1RGX0NQVV9NSURETEVfRU5ESUFOIDEKKyNlbHNlCisjZXJyb3IgIlVua25vd24gZW5k
aWFuIgorI2VuZGlmCisjZWxzZQorI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMy
KQorLyogV2luZG93cyBvbmx5IGhhdmUgbGl0dGxlIGVuZGlhbiBhcmNoaXRlY3R1cmUuICovCisj
ZGVmaW5lIFdURl9DUFVfTElUVExFX0VORElBTiAxCisjZWxzZQorI2luY2x1ZGUgPHN5cy90eXBl
cy5oPgorI2lmIF9faGFzX2luY2x1ZGUoPGVuZGlhbi5oPikKKyNpbmNsdWRlIDxlbmRpYW4uaD4K
KyNpZiBfX0JZVEVfT1JERVIgPT0gX19CSUdfRU5ESUFOCisjZGVmaW5lIFdURl9DUFVfQklHX0VO
RElBTiAxCisjZWxpZiBfX0JZVEVfT1JERVIgPT0gX19MSVRUTEVfRU5ESUFOCisjZGVmaW5lIFdU
Rl9DUFVfTElUVExFX0VORElBTiAxCisjZWxpZiBfX0JZVEVfT1JERVIgPT0gX19QRFBfRU5ESUFO
CisjZGVmaW5lIFdURl9DUFVfTUlERExFX0VORElBTiAxCisjZWxzZQorI2Vycm9yICJVbmtub3du
IGVuZGlhbiIKKyNlbmRpZgorI2Vsc2UKKyNpZiBfX2hhc19pbmNsdWRlKDxtYWNoaW5lL2VuZGlh
bi5oPikKKyNpbmNsdWRlIDxtYWNoaW5lL2VuZGlhbi5oPgorI2Vsc2UKKyNpbmNsdWRlIDxzeXMv
ZW5kaWFuLmg+CisjZW5kaWYKKyNpZiBCWVRFX09SREVSID09IEJJR19FTkRJQU4KKyNkZWZpbmUg
V1RGX0NQVV9CSUdfRU5ESUFOIDEKKyNlbGlmIEJZVEVfT1JERVIgPT0gTElUVExFX0VORElBTgor
I2RlZmluZSBXVEZfQ1BVX0xJVFRMRV9FTkRJQU4gMQorI2VsaWYgQllURV9PUkRFUiA9PSBQRFBf
RU5ESUFOCisjZGVmaW5lIFdURl9DUFVfTUlERExFX0VORElBTiAxCisjZWxzZQorI2Vycm9yICJV
bmtub3duIGVuZGlhbiIKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIUNQ
VShMSVRUTEVfRU5ESUFOKSAmJiAhQ1BVKEJJR19FTkRJQU4pCisjZXJyb3IgIlVuc3VwcG9ydGVk
IGVuZGlhbiIKKyNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dURi93dGYvUGxh
dGZvcm1DUFUuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMK
K25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUVuYWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtRW5hYmxlLmgJKHJldmlzaW9uIDI1NDQ4MCkJKGZyb20gU291cmNlL1dURi93dGYvRmVhdHVy
ZURlZmluZXMuaDoyNTQ0ODApCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTA0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAw
Ni0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEx
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWZuZGVmIF9fUExBVEZPUk1fSU5ESVJFQ1RfXworI2Vycm9yICJQbGVhc2UgI2luY2x1
ZGUgPHd0Zi9QbGF0Zm9ybS5oPiBpbnN0ZWFkIG9mIHRoaXMgZmlsZSBkaXJlY3RseS4iCisjZW5k
aWYKKworLyogVXNlIHRoaXMgZmlsZSB0byBsaXN0IF9hbGxfIEVOQUJMRSgpIG1hY3Jvcy4gRGVm
aW5lIHRoZSBtYWNyb3MgdG8gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICogIC0g
IjAiIGRpc2FibGVzIHRoZSBmZWF0dXJlIGJ5IGRlZmF1bHQuIFRoZSBmZWF0dXJlIGNhbiBzdGls
bCBiZSBlbmFibGVkIGZvciBhIHNwZWNpZmljIHBvcnQgb3IgZW52aXJvbm1lbnQuCisgKiAgLSAi
MSIgZW5hYmxlcyB0aGUgZmVhdHVyZSBieSBkZWZhdWx0LiBUaGUgZmVhdHVyZSBjYW4gc3RpbGwg
YmUgZGlzYWJsZWQgZm9yIGEgc3BlY2lmaWMgcG9ydCBvciBlbnZpcm9ubWVudC4KKyAqCisgKiBU
aGUgZmVhdHVyZSBkZWZhdWx0cyBpbiB0aGlzIGZpbGUgYXJlIG9ubHkgdGFrZW4gaW50byBhY2Nv
dW50IGlmIHRoZSAocG9ydCBzcGVjaWZpYykgYnVpbGQgc3lzdGVtCisgKiBoYXMgbm90IGVuYWJs
ZWQgb3IgZGlzYWJsZWQgYSBwYXJ0aWN1bGFyIGZlYXR1cmUuCisgKgorICogVXNlIHRoaXMgZmls
ZSB0byBkZWZpbmUgRU5BQkxFKCkgbWFjcm9zIG9ubHkuIERvIG5vdCB1c2UgdGhpcyBmaWxlIHRv
IGRlZmluZSBVU0UoKSBvciBtYWNyb3MgIQorICoKKyAqIE9ubHkgZGVmaW5lIGEgbWFjcm8gaWYg
aXQgd2FzIG5vdCBkZWZpbmVkIGJlZm9yZSAtIGFsd2F5cyBjaGVjayBmb3IgIWRlZmluZWQgZmly
c3QuCisgKgorICogS2VlcCB0aGUgZmlsZSBzb3J0ZWQgYnkgdGhlIG5hbWUgb2YgdGhlIGRlZmlu
ZXMuIEFzIGFuIGV4Y2VwdGlvbiB5b3UgY2FuIGNoYW5nZSB0aGUgb3JkZXIKKyAqIHRvIGFsbG93
IGludGVyZGVwZW5kZW5jaWVzIGJldHdlZW4gdGhlIGRlZmF1bHQgdmFsdWVzLgorICoKKyAqIEJl
bG93IGFyZSBhIGZldyBwb3RlbnRpYWwgY29tbWFuZHMgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhp
cyBmaWxlIHJ1bm5pbmcgZnJvbSB0aGUgU291cmNlL1dURiBkaXJlY3RvcnkKKyAqCisgKiBHZXQg
dGhlIGxpc3Qgb2YgZmVhdHVyZSBkZWZpbmVzOiBncmVwIC1vICJFTkFCTEVfXChcd1wrXCkiIHd0
Zi9GZWF0dXJlRGVmaW5lcy5oIHwgc29ydCB8IHVuaXEKKyAqIEdldCB0aGUgbGlzdCBvZiBmZWF0
dXJlcyBlbmFibGVkIGJ5IGRlZmF1bHQgZm9yIGEgUExBVEZPUk0oWFhYKTogZ2NjIC1FIC1kTSAt
SS4gLURXVEZfUExBVEZPUk1fWFhYICJ3dGYvUGxhdGZvcm0uaCIgfCBncmVwICJFTkFCTEVfXHdc
KyAxIiB8IGN1dCAtZCcgJyAtZjIgfCBzb3J0CisgKi8KKworLyogRklYTUU6IE1vdmUgb3V0IHRo
ZSBQTEFURk9STSBzcGVjaWZpYyBydWxlcyBpbnRvIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzLiAq
LworCisvKiAtLS0tLS0tLS0gQXBwbGUgaU9TIChidXQgbm90IG1hY09TKSBwb3J0IC0tLS0tLS0t
LSAqLworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQUlS
UExBWV9QSUNLRVIpCisjaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2RlZmluZSBFTkFCTEVf
QUlSUExBWV9QSUNLRVIgMQorI2VuZGlmCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9B
UFBMRV9QQVlfUkVNT1RFX1VJKQorI2lmICFQTEFURk9STShBUFBMRVRWKSAmJiAhUExBVEZPUk0o
TUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShXQVRDSE9TKQorI2RlZmluZSBFTkFCTEVfQVBQTEVf
UEFZX1JFTU9URV9VSSAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0NP
TlRFTlRfRVhURU5TSU9OUykKKyNkZWZpbmUgRU5BQkxFX0NPTlRFTlRfRVhURU5TSU9OUyAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DT05URVhUX01FTlVTKQorI2RlZmluZSBFTkFC
TEVfQ09OVEVYVF9NRU5VUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DT05URVhU
X01FTlVfRVZFTlQpCisjaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2RlZmluZSBFTkFCTEVf
Q09OVEVYVF9NRU5VX0VWRU5UIDAKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfQ1VTVE9NX0NVUlNPUl9TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfQ1VTVE9NX0NVUlNPUl9T
VVBQT1JUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKKyNk
ZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9HRU9MT0NBVElPTikKKyNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDEKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCisjZGVm
aW5lIEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTIDEKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpCisjZGVmaW5lIEVOQUJMRV9J
TlNQRUNUT1JfVEVMRU1FVFJZIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0xFVFRF
UlBSRVNTKQorI2RlZmluZSBFTkFCTEVfTEVUVEVSUFJFU1MgMQorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfQVVUT0NPUlJFQ1QpCisjZGVmaW5lIEVOQUJMRV9BVVRPQ09SUkVDVCAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9BVVRPQ0FQSVRBTElaRSkKKyNkZWZpbmUgRU5B
QkxFX0FVVE9DQVBJVEFMSVpFIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNkZWZpbmUgRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpCisjZGVmaW5lIEVOQUJMRV9URVhUX0FVVE9TSVpJTkcgMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJiYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNkZWZpbmUgRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMgMQorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfTUVURVJfRUxFTUVOVCkKKyNkZWZpbmUgRU5BQkxFX01FVEVSX0VM
RU1FTlQgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQ
SSkKKyNkZWZpbmUgRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgMAorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTKQorI2RlZmluZSBFTkFCTEVfT1JJRU5U
QVRJT05fRVZFTlRTIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9D
SykKKyNkZWZpbmUgRU5BQkxFX1BPSU5URVJfTE9DSyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKQorI2RlZmluZSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9SRVNQRUNUX0VYSUZfT1JJRU5UQVRJ
T04pCisjZGVmaW5lIEVOQUJMRV9SRVNQRUNUX0VYSUZfT1JJRU5UQVRJT04gMQorI2VuZGlmCisK
KyNpZiAhZGVmaW5lZChFTkFCTEVfVEVYVF9DQVJFVCkKKyNkZWZpbmUgRU5BQkxFX1RFWFRfQ0FS
RVQgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVEVYVF9TRUxFQ1RJT04pCisjZGVm
aW5lIEVOQUJMRV9URVhUX1NFTEVDVElPTiAwCisjZW5kaWYKKworLyogRklYTUU6IFJlbW92ZSB0
aGUgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgY29uanVuY3Qgb25jZSB3ZSBzdXBwb3J0IHRvdWNo
IGV2ZW50cyB3aGVuIGJ1aWxkaW5nIGFnYWluc3QKK3RoZSBwdWJsaWMgaU9TIFNESy4gU2VlIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xNzkxNjc+LiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZGVmaW5lIEVOQUJMRV9UT1VD
SF9FVkVOVFMgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FSQ0hJVkUpCisj
ZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9XRUJHTCkKKyNkZWZpbmUgRU5BQkxFX1dFQkdMIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX1BSSU1BUllfU05BUFNIT1RURURfUExVR0lOX0hFVVJJU1RJQykKKyNkZWZpbmUgRU5B
QkxFX1BSSU1BUllfU05BUFNIT1RURURfUExVR0lOX0hFVVJJU1RJQyAxCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUpCisjZGVmaW5lIEVOQUJMRV9ET1dO
TE9BRF9BVFRSSUJVVEUgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0tQREZWSUVX
KQorI2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikgJiYgIVBMQVRG
T1JNKE1BQ0NBVEFMWVNUKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MjAwMDAKKyNkZWZpbmUgRU5BQkxFX1dLUERGVklFVyAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX01FRElBX1NPVVJDRSkKKyNkZWZpbmUgRU5BQkxFX01FRElBX1NPVVJD
RSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9QUkVWSUVXX0NPTlZFUlRFUikKKyNp
ZiBQTEFURk9STShJT1MpCisjZGVmaW5lIEVOQUJMRV9QUkVWSUVXX0NPTlZFUlRFUiAxCisjZW5k
aWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX01FVEFfVklFV1BPUlQpCisjZGVmaW5l
IEVOQUJMRV9NRVRBX1ZJRVdQT1JUIDEKKyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBzZWVtcyB1
bnVzZWQuIElmIHNvLCBpdCBzaG91bGQgYmUgcmVtb3ZlZC4gKi8KKyNpZiBDUFUoQVJNNjQpCisj
ZGVmaW5lIEVOQUJMRV9KSVRfQ09OU1RBTlRfQkxJTkRJTkcgMAorI2VuZGlmCisKKyNlbmRpZiAv
KiBQTEFURk9STShJT1NfRkFNSUxZKSAqLworCisvKiAtLS0tLS0tLS0gQXBwbGUgd2F0Y2hPUyBw
b3J0IC0tLS0tLS0tLSAqLworI2lmIFBMQVRGT1JNKFdBVENIT1MpCisKKyNlbmRpZiAvKiBQTEFU
Rk9STShXQVRDSE9TKSAqLworCisvKiAtLS0tLS0tLS0gQXBwbGUgbWFjT1MgcG9ydCAobm90IGlP
UykgLS0tLS0tLS0tICovCisjaWYgUExBVEZPUk0oTUFDKQorCisjaWYgIWRlZmluZWQoRU5BQkxF
X0NPTlRFTlRfRVhURU5TSU9OUykKKyNkZWZpbmUgRU5BQkxFX0NPTlRFTlRfRVhURU5TSU9OUyAx
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkKKyNkZWZpbmUg
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpCisjZGVmaW5lIEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMp
CisjZGVmaW5lIEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpCisjZGVmaW5lIEVO
QUJMRV9JTlNQRUNUT1JfVEVMRU1FVFJZIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X1NNT09USF9TQ1JPTExJTkcpCisjZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDEKKyNl
bmRpZgorCisjaWYgRU5BQkxFKFZJREVPKQorI2lmICFkZWZpbmVkKEVOQUJMRV9WSURFT19UUkFD
SykKKyNkZWZpbmUgRU5BQkxFX1ZJREVPX1RSQUNLIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfV0VCX0FSQ0hJVkUpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAx
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVVESU8pCisjZGVmaW5lIEVOQUJM
RV9XRUJfQVVESU8gMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpCisjZGVmaW5lIEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSAxCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9QUklNQVJZX1NOQVBTSE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMpCisj
ZGVmaW5lIEVOQUJMRV9QUklNQVJZX1NOQVBTSE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMgMQorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAmJiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2RlZmluZSBFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTIDEKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQlBST0NFU1NfTlNSVU5MT09QKQorI2RlZmlu
ZSBFTkFCTEVfV0VCUFJPQ0VTU19OU1JVTkxPT1AgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE0MDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQlBST0NFU1Nf
V0lORE9XU0VSVkVSX0JMT0NLSU5HKQorI2RlZmluZSBFTkFCTEVfV0VCUFJPQ0VTU19XSU5ET1dT
RVJWRVJfQkxPQ0tJTkcgRU5BQkxFX1dFQlBST0NFU1NfTlNSVU5MT09QCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9NRURJQV9TT1VSQ0UpCisjZGVmaW5lIEVOQUJMRV9NRURJQV9TT1VS
Q0UgMQorI2VuZGlmCisKKyNlbmRpZiAvKiBQTEFURk9STShNQUMpICovCisKKy8qIC0tLS0tLS0t
LSBBcHBsZSBDb2NvYSBwbGF0Zm9ybXMgLS0tLS0tLS0tICovCisKKyNpZiBQTEFURk9STShDT0NP
QSkKKworI2lmICFkZWZpbmVkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKQorI2lmIFBM
QVRGT1JNKE1BQ0NBVEFMWVNUKQorI2RlZmluZSBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSAwCisjZWxzZQorI2RlZmluZSBFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSAxCisjZW5k
aWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZJTEVfUkVQTEFDRU1FTlQpCisjZGVm
aW5lIEVOQUJMRV9GSUxFX1JFUExBQ0VNRU5UIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX1BBWU1FTlRfUkVRVUVTVCkKKyNkZWZpbmUgRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9BU1lOQ19TQ1JPTExJTkcpCisjZGVmaW5lIEVO
QUJMRV9BU1lOQ19TQ1JPTExJTkcgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVUlf
U0lERV9DT01QT1NJVElORykKKyNkZWZpbmUgRU5BQkxFX1VJX1NJREVfQ09NUE9TSVRJTkcgMQor
I2VuZGlmCisKKyNlbmRpZiAvKiBQTEFURk9STShDT0NPQSkgKi8KKworI2lmICFQTEFURk9STShD
T0NPQSkKKworI2lmICFkZWZpbmVkKEpTQ19PQkpDX0FQSV9FTkFCTEVEKQorI2RlZmluZSBKU0Nf
T0JKQ19BUElfRU5BQkxFRCAwCisjZW5kaWYKKworI2VuZGlmIC8qICFQTEFURk9STShDT0NPQSkg
Ki8KKworCisvKiAtLS0tLS0tLS0gQXBwbGUgV2luZG93cyBwb3J0IC0tLS0tLS0tLSAqLworI2lm
IFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkKKyNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9BUkNISVZFKQorI2RlZmluZSBFTkFCTEVf
V0VCX0FSQ0hJVkUgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0VCR0wpCisjZGVm
aW5lIEVOQUJMRV9XRUJHTCAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9HRU9MT0NB
VElPTikKKyNkZWZpbmUgRU5BQkxFX0dFT0xPQ0FUSU9OIDEKKyNlbmRpZgorCisjZW5kaWYgLyog
UExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSAqLworCisvKiAtLS0tLS0tLS0g
V2luZG93cyBDQUlSTyBwb3J0IC0tLS0tLS0tLSAqLworLyogUExBVEZPUk0oV0lOX0NBSVJPKSBp
cyBhIHNwZWNpYWxpemF0aW9uIG9mIFBMQVRGT1JNKFdJTikuICovCisvKiBQTEFURk9STShXSU4p
IGlzIGFsd2F5cyBlbmFibGVkIHdoZW4gUExBVEZPUk0oV0lOX0NBSVJPKSBpcyBlbmFibGVkLiAq
LworI2lmIFBMQVRGT1JNKFdJTl9DQUlSTykKKworI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJD
SElWRSkKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX1dFQkdMKQorI2RlZmluZSBFTkFCTEVfV0VCR0wgMQorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pCisjZGVmaW5lIEVOQUJMRV9HRU9MT0NBVElPTiAx
CisjZW5kaWYKKworI2VuZGlmIC8qIFBMQVRGT1JNKFdJTl9DQUlSTykgKi8KKworLyogRU5BQkxF
IG1hY3JvIGRlZmF1bHRzIGZvciBXZWJDb3JlICovCisvKiBEbyBub3QgdXNlIFBMQVRGT1JNKCkg
dGVzdHMgaW4gdGhpcyBzZWN0aW9uICEgKi8KKworI2lmICFkZWZpbmVkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKQorI2RlZmluZSBFTkFCTEVfM0RfVFJBTlNGT1JNUyAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9BQ0NFU1NJQklMSVRZKQorI2RlZmluZSBFTkFCTEVfQUNDRVNTSUJJTElU
WSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
CisjZGVmaW5lIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgMAorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIKQorI2RlZmluZSBFTkFCTEVf
T1ZFUkZMT1dfU0NST0xMSU5HX1RPVUNIIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X0FQTkcpCisjZGVmaW5lIEVOQUJMRV9BUE5HIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKQorI2RlZmluZSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcg
MQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVOVF9FWFRFTlNJT05TKQorI2Rl
ZmluZSBFTkFCTEVfQ09OVEVOVF9FWFRFTlNJT05TIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX0NPTlRFWFRfTUVOVVMpCisjZGVmaW5lIEVOQUJMRV9DT05URVhUX01FTlVTIDEKKyNl
bmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0NPTlRFWFRfTUVOVV9FVkVOVCkKKyNkZWZpbmUg
RU5BQkxFX0NPTlRFWFRfTUVOVV9FVkVOVCAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9DU1MzX1RFWFQpCisjZGVmaW5lIEVOQUJMRV9DU1MzX1RFWFQgMAorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKQorI2RlZmluZSBFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikKKyNkZWZpbmUgRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpCisj
ZGVmaW5lIEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pCisjZGVmaW5lIEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElF
TlRTKQorI2RlZmluZSBFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUyAwCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9DVVNUT01fQ1VSU09SX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJMRV9D
VVNUT01fQ1VSU09SX1NVUFBPUlQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKQorI2RlZmluZSBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
IDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RBUktfTU9ERV9DU1MpCisjZGVmaW5l
IEVOQUJMRV9EQVJLX01PREVfQ1NTIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpCisjZGVmaW5lIEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UIDAKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikKKyNkZWZpbmUgRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9E
T1dOTE9BRF9BVFRSSUJVVEUpCisjZGVmaW5lIEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgMQor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRFJBR19TVVBQT1JUKQorI2RlZmluZSBFTkFC
TEVfRFJBR19TVVBQT1JUIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkKKyNkZWZpbmUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSAwCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpCisjZGVmaW5lIEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfRlRQRElSKQorI2RlZmlu
ZSBFTkFCTEVfRlRQRElSIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKQorI2RlZmluZSBFTkFCTEVfRlVMTFNDUkVFTl9BUEkgMAorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfR0FNRVBBRCkKKyNkZWZpbmUgRU5BQkxFX0dBTUVQQUQgMAorI2VuZGlm
CisKKyNpZiAhZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pCisjZGVmaW5lIEVOQUJMRV9HRU9M
T0NBVElPTiAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KQorI2RlZmluZSBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSAwCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpCisjZGVmaW5lIEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikKKyNkZWZpbmUgRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IgMQor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKQorI2RlZmluZSBF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkKKyNkZWZpbmUgRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpCisjZGVmaW5lIEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkK
KyNkZWZpbmUgRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEggMAorI2VuZGlmCisKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKQorI2RlZmluZSBFTkFCTEVfSU5QVVRfVFlQRV9USU1F
IDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykKKyNkZWZp
bmUgRU5BQkxFX0lOUFVUX1RZUEVfV0VFSyAwCisjZW5kaWYKKworI2lmIEVOQUJMRShJTlBVVF9U
WVBFX0RBVEUpIHx8IEVOQUJMRShJTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpIHx8IEVO
QUJMRShJTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpIHx8IEVOQUJMRShJTlBVVF9UWVBFX01PTlRI
KSB8fCBFTkFCTEUoSU5QVVRfVFlQRV9USU1FKSB8fCBFTkFCTEUoSU5QVVRfVFlQRV9XRUVLKQor
I2lmICFkZWZpbmVkKEVOQUJMRV9EQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQorI2RlZmluZSBF
TkFCTEVfREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUyAxCisjZW5kaWYKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCisjZGVmaW5l
IEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTIDAKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX0lOU1BFQ1RPUl9URUxFTUVUUlkpCisjZGVmaW5lIEVOQUJMRV9JTlNQ
RUNUT1JfVEVMRU1FVFJZIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0lOVEwpCisj
ZGVmaW5lIEVOQUJMRV9JTlRMIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0xBWU9V
VF9GT1JNQVRUSU5HX0NPTlRFWFQpCisjZGVmaW5lIEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKQorI2RlZmluZSBFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMgMAor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTEVUVEVSUFJFU1MpCisjZGVmaW5lIEVOQUJM
RV9MRVRURVJQUkVTUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9NQVRITUwpCisj
ZGVmaW5lIEVOQUJMRV9NQVRITUwgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkKKyNkZWZpbmUgRU5BQkxFX01FRElBX0NBUFRVUkUgMAorI2VuZGlmCisKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKQorI2RlZmluZSBFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX01F
RElBX1NPVVJDRSkKKyNkZWZpbmUgRU5BQkxFX01FRElBX1NPVVJDRSAwCisjZW5kaWYKKworI2lm
ICFkZWZpbmVkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKQorI2RlZmluZSBFTkFCTEVfTUVESUFf
U1RBVElTVElDUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0p
CisjZGVmaW5lIEVOQUJMRV9NRURJQV9TVFJFQU0gMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfTUVURVJfRUxFTUVOVCkKKyNkZWZpbmUgRU5BQkxFX01FVEVSX0VMRU1FTlQgMQorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfTUhUTUwpCisjZGVmaW5lIEVOQUJMRV9NSFRNTCAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpCisjZGVm
aW5lIEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfTU9VU0VfRk9SQ0VfRVZFTlRTKQorI2RlZmluZSBFTkFCTEVfTU9VU0VfRk9SQ0VfRVZF
TlRTIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkp
CisjZGVmaW5lIEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIDEKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSkKKyNkZWZpbmUgRU5B
QkxFX05FVFNDQVBFX1BMVUdJTl9NRVRBREFUQV9DQUNIRSAwCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKEVOQUJMRV9OT1RJRklDQVRJT05TKQorI2RlZmluZSBFTkFCTEVfTk9USUZJQ0FUSU9OUyAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9PRkZTQ1JFRU5fQ0FOVkFTKQorI2RlZmlu
ZSBFTkFCTEVfT0ZGU0NSRUVOX0NBTlZBUyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJM
RV9PUEVOVFlQRV9WRVJUSUNBTCkKKyNkZWZpbmUgRU5BQkxFX09QRU5UWVBFX1ZFUlRJQ0FMIDAK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUykKKyNkZWZp
bmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAwCisjZW5kaWYKKworI2lmIE9TKFdJTkRPV1Mp
CisjaWYgIWRlZmluZWQoRU5BQkxFX1BBTl9TQ1JPTExJTkcpCisjZGVmaW5lIEVOQUJMRV9QQU5f
U0NST0xMSU5HIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfUEFZTUVO
VF9SRVFVRVNUKQorI2RlZmluZSBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUIDAKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoRU5BQkxFX1BPSU5URVJfTE9DSykKKyNkZWZpbmUgRU5BQkxFX1BPSU5URVJf
TE9DSyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9RVU9UQSkKKyNkZWZpbmUgRU5B
QkxFX1FVT1RBIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpCisjZGVmaW5lIEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SIDAKKyNlbmRpZgorCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKQorI2RlZmluZSBFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU0VDVVJJVFlfQVNTRVJUSU9OUykK
Ky8qIEVuYWJsZSBzZWN1cml0eSBhc3NlcnRpb25zIG9uIGFsbCBBU0FOIGJ1aWxkcyBhbmQgZGVi
dWcgYnVpbGRzLiAqLworI2lmIEFTQU5fRU5BQkxFRCB8fCAhZGVmaW5lZChOREVCVUcpCisjZGVm
aW5lIEVOQUJMRV9TRUNVUklUWV9BU1NFUlRJT05TIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfU01PT1RIX1NDUk9MTElORykKKyNkZWZpbmUgRU5BQkxFX1NNT09USF9T
Q1JPTExJTkcgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykKKyNkZWZpbmUgRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMgMAorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfU1BFTExDSEVDSykKKyNkZWZpbmUgRU5BQkxFX1NQRUxMQ0hFQ0sgMAorI2Vu
ZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfU1RSRUFNU19BUEkpCisjZGVmaW5lIEVOQUJMRV9T
VFJFQU1TX0FQSSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TVkdfRk9OVFMpCisj
ZGVmaW5lIEVOQUJMRV9TVkdfRk9OVFMgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVf
VEVYVF9DQVJFVCkKKyNkZWZpbmUgRU5BQkxFX1RFWFRfQ0FSRVQgMQorI2VuZGlmCisKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfVEVYVF9TRUxFQ1RJT04pCisjZGVmaW5lIEVOQUJMRV9URVhUX1NFTEVD
VElPTiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9BU1lOQ19TQ1JPTExJTkcpCisj
ZGVmaW5lIEVOQUJMRV9BU1lOQ19TQ1JPTExJTkcgMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfVE9VQ0hfRVZFTlRTKQorI2RlZmluZSBFTkFCTEVfVE9VQ0hfRVZFTlRTIDAKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1ZJREVPKQorI2RlZmluZSBFTkFCTEVfVklERU8gMAor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVklERU9fVFJBQ0spCisjZGVmaW5lIEVOQUJM
RV9WSURFT19UUkFDSyAwCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKQorI2RlZmluZSBFTkFCTEVfREFUQUNVRV9WQUxVRSAwCisjZW5kaWYKKworI2lmICFkZWZp
bmVkKEVOQUJMRV9XRUJHTCkKKyNkZWZpbmUgRU5BQkxFX1dFQkdMIDAKKyNlbmRpZgorCisjaWYg
IWRlZmluZWQoRU5BQkxFX0dSQVBISUNTX0NPTlRFWFRfR0wpCisjZGVmaW5lIEVOQUJMRV9HUkFQ
SElDU19DT05URVhUX0dMIEVOQUJMRV9XRUJHTAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFC
TEVfV0VCX0FSQ0hJVkUpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAwCisjZW5kaWYKKwor
I2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVVESU8pCisjZGVmaW5lIEVOQUJMRV9XRUJfQVVESU8g
MAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfWFNMVCkKKyNkZWZpbmUgRU5BQkxFX1hT
TFQgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikKKyNk
ZWZpbmUgRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04gMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpCisjZGVmaW5lIEVOQUJMRV9TRVJWSUNFX1dPUktFUiAxCisj
ZW5kaWYKKworCisvKiBKSVQgRmVhdHVyZXMgKi8KKworLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5
IGRlZmF1bHQgb24gYWxsIHg4Ni02NCAmIEFSTTY0IHBsYXRmb3Jtcy4gKi8KKyNpZiAhZGVmaW5l
ZChFTkFCTEVfSklUKSAmJiAgKENQVShYODZfNjQpIHx8IENQVShBUk02NCkpICYmICFDUFUoQVBQ
TEVfQVJNVjdLKQorI2RlZmluZSBFTkFCTEVfSklUIDEKKyNlbmRpZgorCisjaWYgVVNFKEpTVkFM
VUUzMl82NCkKKyNpZiAoQ1BVKEFSTV9USFVNQjIpIHx8IENQVShNSVBTKSkgJiYgT1MoTElOVVgp
CisvKiBPbiBBUk12NyBhbmQgTUlQUyBvbiBMaW51eCB0aGUgSklUIGlzIGVuYWJsZWQgdW5sZXNz
IGV4cGxpY2l0bHkgZGlzYWJsZWQuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX0pJVCkKKyNkZWZp
bmUgRU5BQkxFX0pJVCAxCisjZW5kaWYKKyNlbHNlCisvKiBEaXNhYmxlIEpJVCBhbmQgZm9yY2Ug
Q19MT09QIG9uIGFsbCBvdGhlciAzMmJpdCBhcmNoaXRlY3R1cmVzLiAqLworI3VuZGVmIEVOQUJM
RV9KSVQKKyNkZWZpbmUgRU5BQkxFX0pJVCAwCisjdW5kZWYgRU5BQkxFX0NfTE9PUAorI2RlZmlu
ZSBFTkFCTEVfQ19MT09QIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVf
Q19MT09QKQorI2lmIEVOQUJMRShKSVQpIHx8IENQVShYODZfNjQpIHx8IChDUFUoQVJNNjQpICYm
ICFkZWZpbmVkKF9fSUxQMzJfXykpCisjZGVmaW5lIEVOQUJMRV9DX0xPT1AgMAorI2Vsc2UKKyNk
ZWZpbmUgRU5BQkxFX0NfTE9PUCAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBGSVhNRTogVGhpcyBz
aG91bGQgYmUgdHVybmVkIGludG8gYW4gI2Vycm9yIGludmFyaWFudCAqLworLyogVGhlIEZUTCAq
ZG9lcyBub3QqIHdvcmsgb24gMzItYml0IHBsYXRmb3Jtcy4gRGlzYWJsZSBpdCBldmVuIGlmIHNv
bWVvbmUgYXNrZWQgdXMgdG8gZW5hYmxlIGl0LiAqLworI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisj
dW5kZWYgRU5BQkxFX0ZUTF9KSVQKKyNkZWZpbmUgRU5BQkxFX0ZUTF9KSVQgMAorI2VuZGlmCisK
Ky8qIEZJWE1FOiBUaGlzIHNob3VsZCBiZSB0dXJuZWQgaW50byBhbiAjZXJyb3IgaW52YXJpYW50
ICovCisvKiBUaGUgRlRMIGlzIGRpc2FibGVkIG9uIHRoZSBpT1Mgc2ltdWxhdG9yLCBtb3N0bHkg
Zm9yIHNpbXBsaWNpdHkuICovCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpCisj
dW5kZWYgRU5BQkxFX0ZUTF9KSVQKKyNkZWZpbmUgRU5BQkxFX0ZUTF9KSVQgMAorI2VuZGlmCisK
Ky8qIEZJWE1FOiBUaGlzIGlzIHVzZWQgdG8gInR1cm4gb24gYSBzcGVjaWZpYyBmZWF0dXJlIG9m
IFdlYktpdCIsIHNvIHNob3VsZCBiZSBjb252ZXJ0ZWQgdG8gYW4gRU5BQkxFIG1hY3JvLiAqLwor
LyogSWYgcG9zc2libGUsIHRyeSB0byBlbmFibGUgYSBkaXNhc3NlbWJsZXIuIFRoaXMgaXMgb3B0
aW9uYWwuIFdlIHByb2NlZWQgaW4gdHdvCisgICBzdGVwczogZmlyc3Qgd2UgdHJ5IHRvIGZpbmQg
c29tZSBkaXNhc3NlbWJsZXIgdGhhdCB3ZSBjYW4gdXNlLCBhbmQgdGhlbiB3ZQorICAgZGVjaWRl
IGlmIHRoZSBoaWdoLWxldmVsIGRpc2Fzc2VtYmxlciBBUEkgY2FuIGJlIGVuYWJsZWQuICovCisj
aWYgIWRlZmluZWQoVVNFX1VESVM4NikgJiYgRU5BQkxFKEpJVCkgJiYgQ1BVKFg4Nl82NCkgJiYg
IVVTRShDQVBTVE9ORSkKKyNkZWZpbmUgVVNFX1VESVM4NiAxCisjZW5kaWYKKworLyogRklYTUU6
IFRoaXMgaXMgdXNlZCB0byAidHVybiBvbiBhIHNwZWNpZmljIGZlYXR1cmUgb2YgV2ViS2l0Iiwg
c28gc2hvdWxkIGJlIGNvbnZlcnRlZCB0byBhbiBFTkFCTEUgbWFjcm8uICovCisjaWYgIWRlZmlu
ZWQoVVNFX0FSTTY0X0RJU0FTU0VNQkxFUikgJiYgRU5BQkxFKEpJVCkgJiYgQ1BVKEFSTTY0KSAm
JiAhVVNFKENBUFNUT05FKQorI2RlZmluZSBVU0VfQVJNNjRfRElTQVNTRU1CTEVSIDEKKyNlbmRp
ZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0RJU0FTU0VNQkxFUikgJiYgKFVTRShVRElTODYpIHx8
IFVTRShBUk02NF9ESVNBU1NFTUJMRVIpIHx8IChFTkFCTEUoSklUKSAmJiBVU0UoQ0FQU1RPTkUp
KSkKKyNkZWZpbmUgRU5BQkxFX0RJU0FTU0VNQkxFUiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVk
KEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKQorCisvKiBFbmFibGUgdGhlIERGRyBKSVQg
b24gWDg2IGFuZCBYODZfNjQuICovCisjaWYgQ1BVKFg4Nl82NCkgJiYgKE9TKERBUldJTikgfHwg
T1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpIHx8IE9TKEhVUkQpIHx8IE9TKFdJTkRPV1MpKQorI2Rl
ZmluZSBFTkFCTEVfREZHX0pJVCAxCisjZW5kaWYKKworLyogRW5hYmxlIHRoZSBERkcgSklUIG9u
IEFSTXY3LiAgT25seSB0ZXN0ZWQgb24gaU9TLCBMaW51eCwgYW5kIEZyZWVCU0QuICovCisjaWYg
KENQVShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNNjQpKSAmJiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkg
fHwgT1MoTElOVVgpIHx8IE9TKEZSRUVCU0QpKQorI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCisj
ZW5kaWYKKy8qIEVuYWJsZSB0aGUgREZHIEpJVCBvbiBNSVBTLiAqLworI2lmIENQVShNSVBTKQor
I2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCisjZW5kaWYKKworI2VuZGlmIC8qICFkZWZpbmVkKEVO
QUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKSAqLworCisvKiBDb25jdXJyZW50IEpTIG9ubHkg
d29ya3Mgb24gNjQtYml0IHBsYXRmb3JtcyBiZWNhdXNlIGl0IHJlcXVpcmVzIHRoYXQKKyAgIHZh
bHVlcyBnZXQgc3RvcmVkIHRvIGF0b21pY2FsbHkuIFRoaXMgaXMgdHJpdmlhbGx5IHRydWUgb24g
NjQtYml0IHBsYXRmb3JtcywKKyAgIGJ1dCBub3QgdHJ1ZSBhdCBhbGwgb24gMzItYml0IHBsYXRm
b3JtcyB3aGVyZSB2YWx1ZXMgYXJlIGNvbXBvc2VkIG9mIHR3bworICAgc2VwYXJhdGUgc3ViLXZh
bHVlcy4gKi8KKyNpZiBFTkFCTEUoSklUKSAmJiBVU0UoSlNWQUxVRTY0KQorI2RlZmluZSBFTkFC
TEVfQ09OQ1VSUkVOVF9KUyAxCisjZW5kaWYKKworI2lmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJN
NjQpKSAmJiBIQVZFKEZBU1RfVExTKQorI2RlZmluZSBFTkFCTEVfRkFTVF9UTFNfSklUIDEKKyNl
bmRpZgorCisjaWYgRU5BQkxFKEpJVCkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQ
VShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNNjQpIHx8IENQVShNSVBTKSkKKyNkZWZpbmUgRU5BQkxF
X01BU01fUFJPQkUgMQorI2VuZGlmCisKKy8qIEZJWE1FOiBUaGlzIHNob3VsZCBiZSB0dXJuZWQg
aW50byBhbiAjZXJyb3IgaW52YXJpYW50ICovCisvKiBJZiB0aGUgYmFzZWxpbmUgaml0IGlzIG5v
dCBhdmFpbGFibGUsIHRoZW4gZGlzYWJsZSB1cHBlciB0aWVycyBhcyB3ZWxsLgorICAgVGhlIE1h
Y3JvQXNzZW1ibGVyOjpwcm9iZSgpIGlzIGFsc28gcmVxdWlyZWQgZm9yIHN1cHBvcnRpbmcgdGhl
IHVwcGVyIHRpZXJzLiAqLworI2lmICFFTkFCTEUoSklUKSB8fCAhRU5BQkxFKE1BU01fUFJPQkUp
CisjdW5kZWYgRU5BQkxFX0RGR19KSVQKKyN1bmRlZiBFTkFCTEVfRlRMX0pJVAorI2RlZmluZSBF
TkFCTEVfREZHX0pJVCAwCisjZGVmaW5lIEVOQUJMRV9GVExfSklUIDAKKyNlbmRpZgorCisvKiBG
SVhNRTogVGhpcyBzaG91bGQgYmUgdHVybmVkIGludG8gYW4gI2Vycm9yIGludmFyaWFudCAqLwor
LyogSWYgdGhlIERGRyBqaXQgaXMgbm90IGF2YWlsYWJsZSwgdGhlbiBkaXNhYmxlIHVwcGVyIHRp
ZXJzIGFzIHdlbGw6ICovCisjaWYgIUVOQUJMRShERkdfSklUKQorI3VuZGVmIEVOQUJMRV9GVExf
SklUCisjZGVmaW5lIEVOQUJMRV9GVExfSklUIDAKKyNlbmRpZgorCisvKiBUaGlzIGNvbnRyb2xz
IHdoZXRoZXIgQjMgaXMgYnVpbHQuIEIzIGlzIG5lZWRlZCBmb3IgRlRMIEpJVCBhbmQgV2ViQXNz
ZW1ibHkgKi8KKyNpZiBFTkFCTEUoRlRMX0pJVCkKKyNkZWZpbmUgRU5BQkxFX0IzX0pJVCAxCisj
ZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJiYgKEVOQUJMRShCM19K
SVQpICYmIFBMQVRGT1JNKENPQ09BKSAmJiBDUFUoQUREUkVTUzY0KSkKKyNkZWZpbmUgRU5BQkxF
X1dFQkFTU0VNQkxZIDEKKyNlbmRpZgorCisvKiBUaGUgU2FtcGxpbmdQcm9maWxlciBpcyB0aGUg
cHJvYmFiaWxpc3RpYyBhbmQgbG93LW92ZXJoZWFkIHByb2ZpbGVyIHVzZWQgYnkKKyAqIEpTQyB0
byBtZWFzdXJlIHdoZXJlIHRpbWUgaXMgc3BlbnQgaW5zaWRlIGEgSmF2YVNjcmlwdCBwcm9ncmFt
LgorICogSW4gY29uZmlndXJhdGlvbnMgb3RoZXIgdGhhbiBXaW5kb3dzIGFuZCBEYXJ3aW4sIGJl
Y2F1c2UgbGF5b3V0IG9mIG1jb250ZXh0X3QgZGVwZW5kcyBvbiBzdGFuZGFyZCBsaWJyYXJpZXMg
KGxpa2UgZ2xpYmMpLAorICogc2FtcGxpbmcgcHJvZmlsZXIgaXMgZW5hYmxlZCBpZiBXZWJLaXQg
dXNlcyBwdGhyZWFkcyBhbmQgZ2xpYmMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX1NBTVBMSU5H
X1BST0ZJTEVSKSAmJiAoIUVOQUJMRShDX0xPT1ApICYmIChPUyhXSU5ET1dTKSB8fCBIQVZFKE1B
Q0hJTkVfQ09OVEVYVCkpKQorI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIgMQorI2Vu
ZGlmCisKKyNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpICYmIEhBVkUoTUFDSElORV9DT05URVhUKQor
I2RlZmluZSBFTkFCTEVfV0VCQVNTRU1CTFlfRkFTVF9NRU1PUlkgMQorI2VuZGlmCisKKy8qIENv
dW50cyB1c2VzIG9mIHdyaXRlIGJhcnJpZXJzIHVzaW5nIHNhbXBsaW5nIGNvdW50ZXJzLiBCZSBz
dXJlIHRvIGFsc28KKyAgIHNldCBFTkFCTEVfU0FNUExJTkdfQ09VTlRFUlMgdG8gMS4gKi8KKyNp
ZiAhZGVmaW5lZChFTkFCTEVfV1JJVEVfQkFSUklFUl9QUk9GSUxJTkcpCisjZGVmaW5lIEVOQUJM
RV9XUklURV9CQVJSSUVSX1BST0ZJTElORyAwCisjZW5kaWYKKworLyogTG9ncyBhbGwgYWxsb2Nh
dGlvbi1yZWxhdGVkIGFjdGl2aXR5IHRoYXQgZ29lcyB0aHJvdWdoIGZhc3RNYWxsb2Mgb3IgdGhl
CisgICBKU0MgR0MgKGJvdGggY2VsbHMgYW5kIGJ1dHRlcmZsaWVzKS4gQWxzbyBsb2dzIG1hcmtp
bmcuIE5vdGUgdGhhdCB0aGlzCisgICBpc24ndCBhIGNvbXBsZXRlbHkgYWNjdXJhdGUgdmlldyBv
ZiB0aGUgaGVhcCBzaW5jZSBpdCBkb2Vzbid0IGluY2x1ZGUgYWxsCisgICBidXR0ZXJmbHkgcmVz
aXplIG9wZXJhdGlvbnMsIGRvZXNuJ3QgdGVsbCB5b3Ugd2hhdCBpcyBnb2luZyBvbiB3aXRoIHdl
YWsKKyAgIHJlZmVyZW5jZXMgKG90aGVyIHRoYW4gdG8gdGVsbCB5b3Ugd2hlbiB0aGV5J3JlIG1h
cmtlZCksIGFuZCBkb2Vzbid0CisgICB0cmFjayBkaXJlY3QgbW1hcCgpIGFsbG9jYXRpb25zIG9y
IHRoaW5ncyBsaWtlIEpJVCBhbGxvY2F0aW9uLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9BTExP
Q0FUSU9OX0xPR0dJTkcpCisjZGVmaW5lIEVOQUJMRV9BTExPQ0FUSU9OX0xPR0dJTkcgMAorI2Vu
ZGlmCisKKy8qIEVuYWJsZSB2ZXJpZmljYXRpb24gdGhhdCB0aGF0IHJlZ2lzdGVyIGFsbG9jYXRp
b25zIGFyZSBub3QgbWFkZSB3aXRoaW4gZ2VuZXJhdGVkIGNvbnRyb2wgZmxvdy4KKyAgIFR1cm5l
ZCBvbiBmb3IgZGVidWcgYnVpbGRzLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfUkVHSVNU
RVJfQUxMT0NBVElPTl9WQUxJREFUSU9OKSAmJiBFTkFCTEUoREZHX0pJVCkgJiYgIWRlZmluZWQo
TkRFQlVHKQorI2RlZmluZSBFTkFCTEVfREZHX1JFR0lTVEVSX0FMTE9DQVRJT05fVkFMSURBVElP
TiAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9TRVBBUkFURURfV1hfSEVBUCkgJiYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgQ1BVKEFSTTY0KSAmJiAoIUVOQUJMRShGQVNUX0pJVF9Q
RVJNSVNTSU9OUykgfHwgIUNQVShBUk02NEUpKQorI2RlZmluZSBFTkFCTEVfU0VQQVJBVEVEX1dY
X0hFQVAgMQorI2VuZGlmCisKKy8qIERldGVybWluZSBpZiB3ZSBuZWVkIHRvIGVuYWJsZSBDb21w
dXRlZCBHb3RvIE9wY29kZXMgb3Igbm90OiAqLworI2lmIEhBVkUoQ09NUFVURURfR09UTykgfHwg
IUVOQUJMRShDX0xPT1ApCisjZGVmaW5lIEVOQUJMRV9DT01QVVRFRF9HT1RPX09QQ09ERVMgMQor
I2VuZGlmCisKKy8qIFJlZ3VsYXIgRXhwcmVzc2lvbiBUcmFjaW5nIC0gU2V0IHRvIDEgdG8gdHJh
Y2UgUmVnRXhwJ3MgaW4ganNjLiAgUmVzdWx0cyBkdW1wZWQgYXQgZXhpdCAqLworI2lmICFkZWZp
bmVkKEVOQUJMRV9SRUdFWFBfVFJBQ0lORykKKyNkZWZpbmUgRU5BQkxFX1JFR0VYUF9UUkFDSU5H
IDAKKyNlbmRpZgorCisvKiBZZXQgQW5vdGhlciBSZWdleCBSdW50aW1lIC0gdHVybmVkIG9uIGJ5
IGRlZmF1bHQgZm9yIEpJVCBlbmFibGVkIHBvcnRzLiAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9Z
QVJSX0pJVCkgJiYgRU5BQkxFKEpJVCkKKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDEKKyNlbmRp
ZgorCisvKiBTZXR0aW5nIHRoaXMgZmxhZyBjb21wYXJlcyBKSVQgcmVzdWx0cyB3aXRoIGludGVy
cHJldGVyIHJlc3VsdHMuICovCisjaWYgIWRlZmluZWQoRU5BQkxFX1lBUlJfSklUKSAmJiBFTkFC
TEUoSklUKQorI2RlZmluZSBFTkFCTEVfWUFSUl9KSVRfREVCVUcgMAorI2VuZGlmCisKKy8qIEVu
YWJsZSBKSVQnaW5nIFJlZ3VsYXIgRXhwcmVzc2lvbnMgdGhhdCBoYXZlIG5lc3RlZCBwYXJlbnRo
ZXNpcyAuICovCisjaWYgRU5BQkxFKFlBUlJfSklUKSAmJiAoQ1BVKEFSTTY0KSB8fCAoQ1BVKFg4
Nl82NCkgJiYgIU9TKFdJTkRPV1MpKSkKKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0FMTF9QQVJF
TlNfRVhQUkVTU0lPTlMgMQorI2VuZGlmCisKKy8qIEVuYWJsZSBKSVQnaW5nIFJlZ3VsYXIgRXhw
cmVzc2lvbnMgdGhhdCBoYXZlIG5lc3RlZCBiYWNrIHJlZmVyZW5jZXMuICovCisjaWYgRU5BQkxF
KFlBUlJfSklUKSAmJiAoQ1BVKEFSTTY0KSB8fCAoQ1BVKFg4Nl82NCkgJiYgIU9TKFdJTkRPV1Mp
KSkKKyNkZWZpbmUgRU5BQkxFX1lBUlJfSklUX0JBQ0tSRUZFUkVOQ0VTIDEKKyNlbmRpZgorCisv
KiBJZiBlaXRoZXIgdGhlIEpJVCBvciB0aGUgUmVnRXhwIEpJVCBpcyBlbmFibGVkLCB0aGVuIHRo
ZSBBc3NlbWJsZXIgbXVzdCBiZQorICAgZW5hYmxlZCBhcyB3ZWxsOiAqLworI2lmIEVOQUJMRShK
SVQpIHx8IEVOQUJMRShZQVJSX0pJVCkgfHwgIUVOQUJMRShDX0xPT1ApCisjaWYgZGVmaW5lZChF
TkFCTEVfQVNTRU1CTEVSKSAmJiAhRU5BQkxFX0FTU0VNQkxFUgorI2Vycm9yICJDYW5ub3QgZW5h
YmxlIHRoZSBKSVQgb3IgUmVnRXhwIEpJVCB3aXRob3V0IGVuYWJsaW5nIHRoZSBBc3NlbWJsZXIi
CisjZWxzZQorI3VuZGVmIEVOQUJMRV9BU1NFTUJMRVIKKyNkZWZpbmUgRU5BQkxFX0FTU0VNQkxF
UiAxCisjZW5kaWYKKyNlbmRpZgorCisvKiBJZiB0aGUgRGlzYXNzZW1ibGVyIGlzIGVuYWJsZWQs
IHRoZW4gdGhlIEFzc2VtYmxlciBtdXN0IGJlIGVuYWJsZWQgYXMgd2VsbDogKi8KKyNpZiBFTkFC
TEUoRElTQVNTRU1CTEVSKQorI2lmIGRlZmluZWQoRU5BQkxFX0FTU0VNQkxFUikgJiYgIUVOQUJM
RV9BU1NFTUJMRVIKKyNlcnJvciAiQ2Fubm90IGVuYWJsZSB0aGUgRGlzYXNzZW1ibGVyIHdpdGhv
dXQgZW5hYmxpbmcgdGhlIEFzc2VtYmxlciIKKyNlbHNlCisjdW5kZWYgRU5BQkxFX0FTU0VNQkxF
UgorI2RlZmluZSBFTkFCTEVfQVNTRU1CTEVSIDEKKyNlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfRVhDRVBUSU9OX1NDT1BFX1ZFUklGSUNBVElPTikKKyNkZWZpbmUgRU5BQkxF
X0VYQ0VQVElPTl9TQ09QRV9WRVJJRklDQVRJT04gQVNTRVJUX0VOQUJMRUQKKyNlbmRpZgorCisj
aWYgRU5BQkxFKERGR19KSVQpICYmIEhBVkUoTUFDSElORV9DT05URVhUKSAmJiAoQ1BVKFg4Nl82
NCkgfHwgQ1BVKEFSTTY0KSkKKyNkZWZpbmUgRU5BQkxFX1NJR05BTF9CQVNFRF9WTV9UUkFQUyAx
CisjZW5kaWYKKworLyogQ1NTIFNlbGVjdG9yIEpJVCBDb21waWxlciAqLworI2lmICFkZWZpbmVk
KEVOQUJMRV9DU1NfU0VMRUNUT1JfSklUKSAmJiAoKENQVShYODZfNjQpIHx8IENQVShBUk02NCkg
fHwgKENQVShBUk1fVEhVTUIyKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKSkpICYmIEVOQUJMRShK
SVQpICYmIChPUyhEQVJXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKSkpCisj
ZGVmaW5lIEVOQUJMRV9DU1NfU0VMRUNUT1JfSklUIDEKKyNlbmRpZgorCisjaWYgUExBVEZPUk0o
Q09DT0EpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikgJiYgIVBM
QVRGT1JNKE1BQ0NBVEFMWVNUKQorI2RlZmluZSBFTkFCTEVfREFUQV9ERVRFQ1RJT04gMQorI2Vu
ZGlmCisKKyNpZiBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTTY0KQorI2RlZmluZSBFTkFCTEVf
QlJBTkNIX0NPTVBBQ1RJT04gMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfVEhSRUFE
SU5HX0xJQkRJU1BBVENIKSAmJiBIQVZFKERJU1BBVENIX0gpCisjZGVmaW5lIEVOQUJMRV9USFJF
QURJTkdfTElCRElTUEFUQ0ggMQorI2VsaWYgIWRlZmluZWQoRU5BQkxFX1RIUkVBRElOR19PUEVO
TVApICYmIGRlZmluZWQoX09QRU5NUCkKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19PUEVOTVAg
MQorI2VsaWYgIWRlZmluZWQoVEhSRUFESU5HX0dFTkVSSUMpCisjZGVmaW5lIEVOQUJMRV9USFJF
QURJTkdfR0VORVJJQyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9HQ19WQUxJREFU
SU9OKSAmJiAhZGVmaW5lZChOREVCVUcpCisjZGVmaW5lIEVOQUJMRV9HQ19WQUxJREFUSU9OIDEK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0JJTkRJTkdfSU5URUdSSVRZKSAmJiAhT1Mo
V0lORE9XUykKKyNkZWZpbmUgRU5BQkxFX0JJTkRJTkdfSU5URUdSSVRZIDEKKyNlbmRpZgorCisj
aWYgIWRlZmluZWQoRU5BQkxFX1RSRUVfREVCVUdHSU5HKSAmJiAhZGVmaW5lZChOREVCVUcpCisj
ZGVmaW5lIEVOQUJMRV9UUkVFX0RFQlVHR0lORyAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENP
Q09BKQorI2RlZmluZSBFTkFCTEVfUkVTT1VSQ0VfVVNBR0UgMQorI2VuZGlmCisKKy8qIEZJWE1F
OiBEb2N1bWVudCBvciByZW1vdmUgZXhwbGljaXQgdW5kZWYuICovCisjaWYgUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShXUEUpCisjdW5kZWYgRU5BQkxFX09QRU5UWVBFX1ZFUlRJQ0FMCisjZGVm
aW5lIEVOQUJMRV9PUEVOVFlQRV9WRVJUSUNBTCAxCisjZW5kaWYKKworLyogRklYTUU6IERvY3Vt
ZW50IG9yIHJlbW92ZSBleHBsaWNpdCB1bmRlZi4gKi8KKyNpZiAoT1MoREFSV0lOKSAmJiBVU0Uo
Q0cpKSB8fCAoVVNFKEZSRUVUWVBFKSAmJiAhUExBVEZPUk0oR1RLKSkgfHwgKFBMQVRGT1JNKFdJ
TikgJiYgKFVTRShDRykgfHwgVVNFKENBSVJPKSkpCisjdW5kZWYgRU5BQkxFX09QRU5UWVBFX01B
VEgKKyNkZWZpbmUgRU5BQkxFX09QRU5UWVBFX01BVEggMQorI2VuZGlmCisKKy8qCisgKiBFbmFi
bGUgdGhpcyB0byBwdXQgZWFjaCBJc29IZWFwIGFuZCBvdGhlciBhbGxvY2F0aW9uIGNhdGVnb3Jp
ZXMgaW50byB0aGVpciBvd24gbWFsbG9jIGhlYXBzLCBzbyB0aGF0IHRvb2xzIGxpa2Ugdm1tYXAg
Y2FuIHNob3cgaG93IGJpZyBlYWNoIGhlYXAgaXMuCisgKiBUdXJuIEJFTkFCTEVfTUFMTE9DX0hF
QVBfQlJFQUtET1dOIG9uIGluIGJtYWxsb2MgdG9nZXRoZXIgd2hlbiB1c2luZyB0aGlzLgorICov
CisjaWYgIWRlZmluZWQoRU5BQkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTikKKyNkZWZpbmUgRU5B
QkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTiAwCisjZW5kaWYKKworLyogRGlzYWJsZSBTaGFyZWRB
cnJheUJ1ZmZlcnMgdW50aWwgU3BlY3RyZSBzZWN1cml0eSBjb25jZXJucyBhcmUgbWl0aWdhdGVk
LiAqLworI2RlZmluZSBFTkFCTEVfU0hBUkVEX0FSUkFZX0JVRkZFUiAwCisKKy8qIEZJWE1FOiBf
X0xQNjRfXyBjYW4gcHJvYmFibHkgYmUgcmVtb3ZlZCBub3cgdGhhdCAzMi1iaXQgbWFjT1MgaXMg
bm8gbG9uZ2VyIHN1cHBvcnRlZC4gKi8KKyNpZiBQTEFURk9STShNQUMpICYmIGRlZmluZWQoX19M
UDY0X18pCisjZGVmaW5lIEVOQUJMRV9XRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUiAxCisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorLyogRklYTUU6IFRoaXMgaXMgYSBVU0Ugc3R5
bGUgbWFjcm8sIGFzIGl0IHRyaWdnZXJzIHRoZSB1c2Ugb2YgQ0ZVUkxDb25uZWN0aW9uIGZyYW1l
d29yayBzdHVicy4gKi8KKy8qIEZJWE1FOiBJcyB0aGlzIHN0aWxsIG5lY2Vzc2FyeT8gQ0ZVUkxD
b25uZWN0aW9uIGlzbid0IHVzZWQgb24gQ29jb2EgcGxhdGZvcm1zIGFueSBtb3JlLiAqLworI2Rl
ZmluZSBFTkFCTEVfU0VDX0lURU1fU0hJTSAxCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykK
KyNkZWZpbmUgRU5BQkxFX0ZVTExfS0VZQk9BUkRfQUNDRVNTIDEKKyNlbmRpZgorCisjaWYgKChQ
TEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oUExBWVNUQVRJT04pIHx8IFBMQVRGT1JNKFdQRSkp
ICYmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpKSB8fCBQTEFURk9STShHVEspCisjZGVmaW5lIEVO
QUJMRV9LSU5FVElDX1NDUk9MTElORyAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9N
T05PU1BBQ0VfRk9OVF9FWENFUFRJT04pICYmICgoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMzAwMDApKQorI2RlZmluZSBF
TkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhDRVBUSU9OIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQo
RU5BQkxFX1BMQVRGT1JNX0RSSVZFTl9URVhUX0NIRUNLSU5HKSAmJiBQTEFURk9STShNQUNDQVRB
TFlTVCkKKyNkZWZpbmUgRU5BQkxFX1BMQVRGT1JNX0RSSVZFTl9URVhUX0NIRUNLSU5HIDEKKyNl
bmRpZgorCisKKy8qIEFzc2VydHMsIGludmFyaWFudHMgZm9yIG1hY3JvIGRlZmluaXRpb25zICov
CisKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spICYmICFFTkFCTEUoVklERU8pCisjZXJyb3IgIkVO
QUJMRShWSURFT19UUkFDSykgcmVxdWlyZXMgRU5BQkxFKFZJREVPKSIKKyNlbmRpZgorCisjaWYg
RU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkgJiYgIUVOQUJMRShWSURFTykKKyNlcnJvciAi
RU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkgcmVxdWlyZXMgRU5BQkxFKFZJREVPKSIKKyNl
bmRpZgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpICYmICFF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyNlcnJvciAiRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5B
VEVfRElTUEFUQ0hFUlMpIHJlcXVpcmVzIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSIKKyNlbmRp
ZgorCisjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpICYmICFFTkFCTEUoVE9VQ0hfRVZFTlRT
KQorI2Vycm9yICJFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykgcmVxdWlyZXMgRU5BQkxFKFRPVUNI
X0VWRU5UUykiCisjZW5kaWYKKworI2lmIEVOQUJMRShXRUJHTCkgJiYgIUVOQUJMRShHUkFQSElD
U19DT05URVhUX0dMKQorI2Vycm9yICJFTkFCTEUoV0VCR0wpIHJlcXVpcmVzIEVOQUJMRShHUkFQ
SElDU19DT05URVhUX0dMKSIKKyNlbmRpZgorCisjaWYgRU5BQkxFKFdFQkdMMikgJiYgIUVOQUJM
RShXRUJHTCkKKyNlcnJvciAiRU5BQkxFKFdFQkdMMikgcmVxdWlyZXMgRU5BQkxFKFdFQkdMKSIK
KyNlbmRpZgpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oCShyZXZpc2lvbiAyNTQ0ODApCisr
KyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3
ICs0OCw3IEBACiAgKgogICogQmVsb3cgYXJlIGEgZmV3IHBvdGVudGlhbCBjb21tYW5kcyB0byB0
YWtlIGFkdmFudGFnZSBvZiB0aGlzIGZpbGUgcnVubmluZyBmcm9tIHRoZSBTb3VyY2UvV1RGIGRp
cmVjdG9yeQogICoKLSAqIEdldCB0aGUgbGlzdCBvZiBmZWF0dXJlIGRlZmluZXM6IGdyZXAgLW8g
IkVOQUJMRV9cKFx3XCtcKSIgd3RmL0ZlYXR1cmVEZWZpbmVzLmggfCBzb3J0IHwgdW5pcQorICog
R2V0IHRoZSBsaXN0IG9mIGZlYXR1cmUgZGVmaW5lczogZ3JlcCAtbyAiRU5BQkxFX1woXHdcK1wp
IiB3dGYvUGxhdGZvcm1FbmFibGUuaCB8IHNvcnQgfCB1bmlxCiAgKiBHZXQgdGhlIGxpc3Qgb2Yg
ZmVhdHVyZXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBhIFBMQVRGT1JNKFhYWCk6IGdjYyAtRSAt
ZE0gLUkuIC1EV1RGX1BMQVRGT1JNX1hYWCAid3RmL1BsYXRmb3JtLmgiIHwgZ3JlcCAiRU5BQkxF
X1x3XCsgMSIgfCBjdXQgLWQnICcgLWYyIHwgc29ydAogICovCiAKSW5kZXg6IFNvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtT1MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU9T
LmgJKHJldmlzaW9uIDI1NDQ4MCkJKGZyb20gU291cmNlL1dURi93dGYvT1MuaDoyNTQ0ODApCisr
KyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU9TLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBNb2JpbGUsIElu
Yy4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRl
ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKy8qIEluY2x1ZGUgY29tcGlsZXIgc3BlY2lmaWMg
bWFjcm9zICovCisjaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+CisKKyNpZiBkZWZpbmVkKF9fQVBQ
TEVfXykKKyNpbmNsdWRlIDxBdmFpbGFiaWxpdHkuaD4KKyNpbmNsdWRlIDxBdmFpbGFiaWxpdHlN
YWNyb3MuaD4KKyNpbmNsdWRlIDxUYXJnZXRDb25kaXRpb25hbHMuaD4KKyNlbmRpZgorCisKKy8q
IE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNlZCBmb3Ig
bWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UKKyAgIHZpcnR1YWwgbWVtb3J5LCBub3Qg
dG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KKyNkZWZpbmUgT1MoV1RGX0ZFQVRVUkUpIChkZWZp
bmVkIFdURl9PU18jI1dURl9GRUFUVVJFICAmJiBXVEZfT1NfIyNXVEZfRkVBVFVSRSkKKworCisv
KiA9PT09IE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9ubHkgdG8gYmUgdXNl
ZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UKKyAgIHZpcnR1YWwgbWVtb3J5
LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgPT09PSAqLworCisvKiBPUyhBSVgpIC0gQUlY
ICovCisjaWYgZGVmaW5lZChfQUlYKQorI2RlZmluZSBXVEZfT1NfQUlYIDEKKyNlbmRpZgorCisv
KiBPUyhEQVJXSU4pIC0gQW55IERhcndpbi1iYXNlZCBPUywgaW5jbHVkaW5nIG1hY09TLCBpT1Ms
IG1hY0NhdGFseXN0LCB0dk9TLCBhbmQgd2F0Y2hPUyAqLworI2lmIGRlZmluZWQoX19BUFBMRV9f
KQorI2RlZmluZSBXVEZfT1NfREFSV0lOIDEKKyNlbmRpZgorCisvKiBPUyhJT1NfRkFNSUxZKSAt
IGlPUyBmYW1pbHksIGluY2x1ZGluZyBpT1MsIG1hY0NhdGFseXN0LCB0dk9TLCB3YXRjaE9TICov
CisjaWYgT1MoREFSV0lOKSAmJiBUQVJHRVRfT1NfSVBIT05FCisjZGVmaW5lIFdURl9PU19JT1Nf
RkFNSUxZIDEKKyNlbmRpZgorCisvKiBPUyhJT1MpIC0gaU9TIG9ubHksIG5vdCBpbmNsdWRpbmcg
bWFjQ2F0YWx5c3QgKi8KKyNpZiBPUyhEQVJXSU4pICYmIChUQVJHRVRfT1NfSU9TICYmICEoZGVm
aW5lZChUQVJHRVRfT1NfTUFDQ0FUQUxZU1QpICYmIFRBUkdFVF9PU19NQUNDQVRBTFlTVCkpCisj
ZGVmaW5lIFdURl9PU19JT1MgMQorI2VuZGlmCisKKy8qIEZJWE1FOiBSZW5hbWUgdGhpcyB0byBk
cm9wIHRoZSBYLCBhcyB0aGF0IGlzIG5vIGxvbmdlciB0aGUgbmFtZSBvZiB0aGUgb3BlcmF0aW5n
IHN5c3RlbS4gKi8KKy8qIE9TKE1BQ19PU19YKSAtIG1hY09TIChub3QgaW5jbHVkaW5nIGlPUyBm
YW1pbHkpICovCisjaWYgT1MoREFSV0lOKSAmJiBUQVJHRVRfT1NfT1NYCisjZGVmaW5lIFdURl9P
U19NQUNfT1NfWCAxCisjZW5kaWYKKworLyogT1MoRlJFRUJTRCkgLSBGcmVlQlNEICovCisjaWYg
ZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVk
KF9fRnJlZUJTRF9rZXJuZWxfXykKKyNkZWZpbmUgV1RGX09TX0ZSRUVCU0QgMQorI2VuZGlmCisK
Ky8qIE9TKEZVQ0hTSUEpIC0gRnVjaHNpYSAqLworI2lmIGRlZmluZWQoX19GdWNoc2lhX18pCisj
ZGVmaW5lIFdURl9PU19GVUNIU0lBIDEKKyNlbmRpZgorCisvKiBPUyhIVVJEKSAtIEdOVS9IdXJk
ICovCisjaWYgZGVmaW5lZChfX0dOVV9fKQorI2RlZmluZSBXVEZfT1NfSFVSRCAxCisjZW5kaWYK
KworLyogT1MoTElOVVgpIC0gTGludXggKi8KKyNpZiBkZWZpbmVkKF9fbGludXhfXykKKyNkZWZp
bmUgV1RGX09TX0xJTlVYIDEKKyNlbmRpZgorCisvKiBPUyhORVRCU0QpIC0gTmV0QlNEICovCisj
aWYgZGVmaW5lZChfX05ldEJTRF9fKQorI2RlZmluZSBXVEZfT1NfTkVUQlNEIDEKKyNlbmRpZgor
CisvKiBPUyhPUEVOQlNEKSAtIE9wZW5CU0QgKi8KKyNpZiBkZWZpbmVkKF9fT3BlbkJTRF9fKQor
I2RlZmluZSBXVEZfT1NfT1BFTkJTRCAxCisjZW5kaWYKKworLyogT1MoV0lORE9XUykgLSBBbnkg
dmVyc2lvbiBvZiBXaW5kb3dzICovCisjaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lO
MzIpCisjZGVmaW5lIFdURl9PU19XSU5ET1dTIDEKKyNlbmRpZgorCisKKy8qIE9TKFVOSVgpIC0g
QW55IFVuaXgtbGlrZSBzeXN0ZW0gKi8KKyNpZiAgICBPUyhBSVgpICAgICAgICAgICAgICBcCisg
ICAgfHwgT1MoREFSV0lOKSAgICAgICAgICAgXAorICAgIHx8IE9TKEZSRUVCU0QpICAgICAgICAg
IFwKKyAgICB8fCBPUyhGVUNIU0lBKSAgICAgICAgICBcCisgICAgfHwgT1MoSFVSRCkgICAgICAg
ICAgICAgXAorICAgIHx8IE9TKExJTlVYKSAgICAgICAgICAgIFwKKyAgICB8fCBPUyhORVRCU0Qp
ICAgICAgICAgICBcCisgICAgfHwgT1MoT1BFTkJTRCkgICAgICAgICAgXAorICAgIHx8IGRlZmlu
ZWQodW5peCkgICAgICAgIFwKKyAgICB8fCBkZWZpbmVkKF9fdW5peCkgICAgICBcCisgICAgfHwg
ZGVmaW5lZChfX3VuaXhfXykKKyNkZWZpbmUgV1RGX09TX1VOSVggMQorI2VuZGlmCisKKworLyog
QXNzZXJ0cywgaW52YXJpYW50cyBmb3IgbWFjcm8gZGVmaW5pdGlvbnMgKi8KKworI2RlZmluZSBX
VEZfT1NfV0lOIEVSUk9SICJVU0UgV0lORE9XUyBXSVRIIE9TIE5PVCBXSU4iCisjZGVmaW5lIFdU
Rl9PU19NQUMgRVJST1IgIlVTRSBNQUNfT1NfWCBXSVRIIE9TIE5PVCBNQUMiCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU9TLmgKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBwcm9wZXJ0eQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>