<?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>78791</bug_id>
          
          <creation_ts>2012-02-16 02:12:09 -0800</creation_ts>
          <short_desc>ENABLE_INTERPRETER should be ENABLE_CLASSIC_INTERPRETER</short_desc>
          <delta_ts>2012-02-16 20:10:34 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>75812</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>557999</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-02-16 02:12:09 -0800</bug_when>
    <thetext>This will reduce confusion when LLINT lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558004</commentid>
    <comment_count>1</comment_count>
      <attachid>127331</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-02-16 02:18:24 -0800</bug_when>
    <thetext>Created attachment 127331
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558252</commentid>
    <comment_count>2</comment_count>
      <attachid>127331</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-02-16 09:09:00 -0800</bug_when>
    <thetext>Comment on attachment 127331
the patch

just rubber stamping this one, rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558843</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-02-16 20:10:34 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/108020</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127331</attachid>
            <date>2012-02-16 02:18:24 -0800</date>
            <delta_ts>2012-02-16 09:09:00 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>renaming_patch_1.diff</filename>
            <type>text/plain</type>
            <size>26868</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTA3OTEzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY1IEBA
CisyMDEyLTAyLTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RU5BQkxFX0lOVEVSUFJFVEVSIHNob3VsZCBiZSBFTkFCTEVfQ0xBU1NJQ19JTlRFUlBSRVRFUgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3OTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEp1
c3QgYSByZW5hbWluZywgbm90aGluZyBtb3JlLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wKToKKyAgICAgICAgKEpTQzo6
Q29kZUJsb2NrOjpzdHJvbmdseVZpc2l0U3Ryb25nUmVmZXJlbmNlcyk6CisgICAgICAgIChKU0Mp
OgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnNocmlua1RvRml0KToKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKENvZGVCbG9jayk6CisgICAgICAgICogYnl0ZWNv
ZGUvSW5zdHJ1Y3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SW5zdHJ1Y3Rpb246Okluc3RydWN0aW9u
KToKKyAgICAgICAgKiBieXRlY29kZS9PcGNvZGUuaDoKKyAgICAgICAgKEpTQzo6cGFkT3Bjb2Rl
TmFtZSk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXNvbHZlKToKKyAgICAgICAgKEpT
Qzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXNvbHZlV2l0aEJhc2UpOgorICAgICAgICAoSlND
OjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEdldEJ5SWQpOgorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdFB1dEJ5SWQpOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRv
cjo6ZW1pdERpcmVjdFB1dEJ5SWQpOgorICAgICAgICAqIGludGVycHJldGVyL0Fic3RyYWN0UEMu
Y3BwOgorICAgICAgICAoSlNDOjpBYnN0cmFjdFBDOjpBYnN0cmFjdFBDKToKKyAgICAgICAgKiBp
bnRlcnByZXRlci9BYnN0cmFjdFBDLmg6CisgICAgICAgIChBYnN0cmFjdFBDKToKKyAgICAgICAg
KiBpbnRlcnByZXRlci9DYWxsRnJhbWUuaDoKKyAgICAgICAgKEV4ZWNTdGF0ZSk6CisgICAgICAg
ICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAg
KEpTQzo6SW50ZXJwcmV0ZXI6OmluaXRpYWxpemUpOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRl
cjo6aXNPcGNvZGUpOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6dW53aW5kQ2FsbEZyYW1l
KToKKyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmV4ZWN1dGUpOgorICAgICAgICAoSlNDOjpJ
bnRlcnByZXRlcjo6cHJpdmF0ZUV4ZWN1dGUpOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6
cmV0cmlldmVMYXN0Q2FsbGVyKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5o
OgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlKToKKyAgICAgICAgKEpTQzo6
SW50ZXJwcmV0ZXI6OmdldE9wY29kZUlEKToKKyAgICAgICAgKEludGVycHJldGVyKToKKyAgICAg
ICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcDoKKyAgICAgICAgKEpT
Qzo6Rml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9yOjpGaXhlZFZNUG9vbEV4ZWN1dGFibGVB
bGxvY2F0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChK
U0M6OkV2YWxFeGVjdXRhYmxlOjpjb21waWxlSW50ZXJuYWwpOgorICAgICAgICAoSlNDOjpQcm9n
cmFtRXhlY3V0YWJsZTo6Y29tcGlsZUludGVybmFsKToKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25F
eGVjdXRhYmxlOjpjb21waWxlRm9yQ2FsbEludGVybmFsKToKKyAgICAgICAgKEpTQzo6RnVuY3Rp
b25FeGVjdXRhYmxlOjpjb21waWxlRm9yQ29uc3RydWN0SW50ZXJuYWwpOgorICAgICAgICAqIHJ1
bnRpbWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAoTmF0aXZlRXhlY3V0YWJsZSk6CisgICAgICAg
ICogcnVudGltZS9KU0dsb2JhbERhdGEuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6
OkpTR2xvYmFsRGF0YSk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsRGF0YTo6Z2V0SG9zdEZ1bmN0
aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgorICAgICAgICAoSlNHbG9i
YWxEYXRhKToKKyAgICAgICAgKiB3dGYvT1NBbGxvY2F0b3JQb3NpeC5jcHA6CisgICAgICAgIChX
VEY6Ok9TQWxsb2NhdG9yOjpyZXNlcnZlQW5kQ29tbWl0KToKKyAgICAgICAgKiB3dGYvUGxhdGZv
cm0uaDoKKwogMjAxMi0wMi0xMyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAg
ICAgICAgIERGRyBzaG91bGQgbm90IGNoZWNrIHRoZSB0eXBlcyBvZiBhcmd1bWVudHMgdGhhdCBh
cmUgZGVhZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5jcHAJKHJldmlzaW9uIDEwNzg3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MTIsNyArNDEyLDcgQEAgdm9pZCBD
b2RlQmxvY2s6OmR1bXAoRXhlY1N0YXRlKiBleGVjKSBjbwogICAgICAgICB9IHdoaWxlIChpIDwg
bV9zdHJ1Y3R1cmVTdHViSW5mb3Muc2l6ZSgpKTsKICAgICB9CiAjZW5kaWYKLSNpZiBFTkFCTEUo
SU5URVJQUkVURVIpCisjaWYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAgICAgaWYgKCFt
X2dsb2JhbFJlc29sdmVJbnN0cnVjdGlvbnMuaXNFbXB0eSgpIHx8ICFtX3Byb3BlcnR5QWNjZXNz
SW5zdHJ1Y3Rpb25zLmlzRW1wdHkoKSkKICAgICAgICAgZGF0YUxvZygiXG5TdHJ1Y3R1cmVzOlxu
Iik7CiAKQEAgLTE4NTEsNyArMTg1MSw3IEBAIHZvaWQgQ29kZUJsb2NrOjpzdHJvbmdseVZpc2l0
U3Ryb25nUmVmZXIKICAgICAgICAgdmlzaXRvci5hcHBlbmQoJm1fZnVuY3Rpb25FeHByc1tpXSk7
CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2Z1bmN0aW9uRGVjbHMuc2l6ZSgpOyArK2kp
CiAgICAgICAgIHZpc2l0b3IuYXBwZW5kKCZtX2Z1bmN0aW9uRGVjbHNbaV0pOwotI2lmIEVOQUJM
RShJTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKICAgICBmb3Ig
KHNpemVfdCBzaXplID0gbV9wcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9ucy5zaXplKCksIGkgPSAw
OyBpIDwgc2l6ZTsgKytpKQogICAgICAgICB2aXNpdFN0cnVjdHVyZXModmlzaXRvciwgJmluc3Ry
dWN0aW9ucygpW21fcHJvcGVydHlBY2Nlc3NJbnN0cnVjdGlvbnNbaV1dKTsKICAgICBmb3IgKHNp
emVfdCBzaXplID0gbV9nbG9iYWxSZXNvbHZlSW5zdHJ1Y3Rpb25zLnNpemUoKSwgaSA9IDA7IGkg
PCBzaXplOyArK2kpCkBAIC0xOTc2LDcgKzE5NzYsNyBAQCB2b2lkIENvZGVCbG9jazo6ZXhwcmVz
c2lvblJhbmdlRm9yQnl0ZWNvCiAgICAgcmV0dXJuOwogfQogCi0jaWYgRU5BQkxFKElOVEVSUFJF
VEVSKQorI2lmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogYm9vbCBDb2RlQmxvY2s6Omhh
c0dsb2JhbFJlc29sdmVJbnN0cnVjdGlvbkF0Qnl0ZWNvZGVPZmZzZXQodW5zaWduZWQgYnl0ZWNv
ZGVPZmZzZXQpCiB7CiAgICAgaWYgKG1fZ2xvYmFsUmVzb2x2ZUluc3RydWN0aW9ucy5pc0VtcHR5
KCkpCkBAIC0yMDIzLDcgKzIwMjMsNyBAQCB2b2lkIENvZGVCbG9jazo6c2hyaW5rVG9GaXQoKQog
ewogICAgIGluc3RydWN0aW9ucygpLnNocmlua1RvRml0KCk7CiAKLSNpZiBFTkFCTEUoSU5URVJQ
UkVURVIpCisjaWYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAgICAgbV9wcm9wZXJ0eUFj
Y2Vzc0luc3RydWN0aW9ucy5zaHJpbmtUb0ZpdCgpOwogICAgIG1fZ2xvYmFsUmVzb2x2ZUluc3Ry
dWN0aW9ucy5zaHJpbmtUb0ZpdCgpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCShyZXZpc2lvbiAxMDc4NzApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzMyw3
ICszMzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoSU5URVJQUkVURVIpCisjaWYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAgICAgICAg
IHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0KEluc3RydWN0aW9uKiByZXR1cm5BZGRyZXNzKQogICAg
ICAgICB7CiAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SW5zdHJ1Y3Rpb24qPihyZXR1
cm5BZGRyZXNzKSAtIGluc3RydWN0aW9ucygpLmJlZ2luKCk7CkBAIC00NjAsNyArNDYwLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdm9pZCBjbGVhckV2YWxDYWNoZSgpOwogCi0jaWYg
RU5BQkxFKElOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogICAg
ICAgICB2b2lkIGFkZFByb3BlcnR5QWNjZXNzSW5zdHJ1Y3Rpb24odW5zaWduZWQgcHJvcGVydHlB
Y2Nlc3NJbnN0cnVjdGlvbikKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFtX2dsb2JhbERh
dGEtPmNhblVzZUpJVCgpKQpAQCAtMTA3NSw3ICsxMDc1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9zb3VyY2U7CiAgICAgICAgIHVuc2lnbmVk
IG1fc291cmNlT2Zmc2V0OwogCi0jaWYgRU5BQkxFKElOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShD
TEFTU0lDX0lOVEVSUFJFVEVSKQogICAgICAgICBWZWN0b3I8dW5zaWduZWQ+IG1fcHJvcGVydHlB
Y2Nlc3NJbnN0cnVjdGlvbnM7CiAgICAgICAgIFZlY3Rvcjx1bnNpZ25lZD4gbV9nbG9iYWxSZXNv
bHZlSW5zdHJ1Y3Rpb25zOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvSW5zdHJ1Y3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAkocmV2aXNpb24gMTA3ODcwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw3
ICsxNDgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBzdHJ1Y3QgSW5zdHJ1Y3Rpb24gewogICAg
ICAgICBJbnN0cnVjdGlvbihPcGNvZGUgb3Bjb2RlKQogICAgICAgICB7Ci0jaWYgIUVOQUJMRShD
T01QVVRFRF9HT1RPX0lOVEVSUFJFVEVSKQorI2lmICFFTkFCTEUoQ09NUFVURURfR09UT19DTEFT
U0lDX0lOVEVSUFJFVEVSKQogICAgICAgICAgICAgLy8gV2UgaGF2ZSB0byBpbml0aWFsaXplIG9u
ZSBvZiB0aGUgcG9pbnRlciBtZW1iZXJzIHRvIGVuc3VyZSB0aGF0CiAgICAgICAgICAgICAvLyB0
aGUgZW50aXJlIHN0cnVjdCBpcyBpbml0aWFsaXplZCwgd2hlbiBvcGNvZGUgaXMgbm90IGEgcG9p
bnRlci4KICAgICAgICAgICAgIHUuanNDZWxsLmNsZWFyKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCShyZXZpc2lvbiAxMDc4NzApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw3ICsy
MTcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRk9SX0VBQ0hfT1BDT0RFX0lEKFZFUklG
WV9PUENPREVfSUQpOwogICAgICN1bmRlZiBWRVJJRllfT1BDT0RFX0lECiAKLSNpZiBFTkFCTEUo
Q09NUFVURURfR09UT19JTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUoQ09NUFVURURfR09UT19DTEFT
U0lDX0lOVEVSUFJFVEVSKQogI2lmIENPTVBJTEVSKFJWQ1QpIHx8IENPTVBJTEVSKElOVEVMKQog
ICAgIHR5cGVkZWYgdm9pZCogT3Bjb2RlOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCShy
ZXZpc2lvbiAxMDc4NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3OCw3ICsxMjc4LDcgQEAg
UmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXNvbAogI2lmIEVOQUJMRShKSVQp
CiAgICAgICAgIG1fY29kZUJsb2NrLT5hZGRHbG9iYWxSZXNvbHZlSW5mbyhpbnN0cnVjdGlvbnMo
KS5zaXplKCkpOwogI2VuZGlmCi0jaWYgRU5BQkxFKElOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShD
TEFTU0lDX0lOVEVSUFJFVEVSKQogICAgICAgICBtX2NvZGVCbG9jay0+YWRkR2xvYmFsUmVzb2x2
ZUluc3RydWN0aW9uKGluc3RydWN0aW9ucygpLnNpemUoKSk7CiAjZW5kaWYKICAgICAgICAgYm9v
bCBkeW5hbWljID0gcmVzb2x2ZVJlc3VsdC5pc0R5bmFtaWMoKSAmJiByZXNvbHZlUmVzdWx0LmRl
cHRoKCk7CkBAIC0xMzcyLDcgKzEzNzIsNyBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRv
cjo6ZW1pdFJlc29sCiAjaWYgRU5BQkxFKEpJVCkKICAgICAgICAgbV9jb2RlQmxvY2stPmFkZEds
b2JhbFJlc29sdmVJbmZvKGluc3RydWN0aW9ucygpLnNpemUoKSk7CiAjZW5kaWYKLSNpZiBFTkFC
TEUoSU5URVJQUkVURVIpCisjaWYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAgICAgICAg
IG1fY29kZUJsb2NrLT5hZGRHbG9iYWxSZXNvbHZlSW5zdHJ1Y3Rpb24oaW5zdHJ1Y3Rpb25zKCku
c2l6ZSgpKTsKICNlbmRpZgogICAgICAgICBWYWx1ZVByb2ZpbGUqIHByb2ZpbGUgPSBlbWl0UHJv
ZmlsZWRPcGNvZGUob3BfcmVzb2x2ZV9nbG9iYWwpOwpAQCAtMTQ5NCw3ICsxNDk0LDcgQEAgdm9p
ZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE1ldGhvZENoZWNrKAogCiBSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdEdldEJ5SWQoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBi
YXNlLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eSkKIHsKLSNpZiBFTkFCTEUoSU5URVJQUkVU
RVIpCisjaWYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAgICAgbV9jb2RlQmxvY2stPmFk
ZFByb3BlcnR5QWNjZXNzSW5zdHJ1Y3Rpb24oaW5zdHJ1Y3Rpb25zKCkuc2l6ZSgpKTsKICNlbmRp
ZgogCkBAIC0xNTIyLDcgKzE1MjIsNyBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6
ZW1pdEdldEFyCiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0QnlJZChS
ZWdpc3RlcklEKiBiYXNlLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eSwgUmVnaXN0ZXJJRCog
dmFsdWUpCiB7Ci0jaWYgRU5BQkxFKElOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShDTEFTU0lDX0lO
VEVSUFJFVEVSKQogICAgIG1fY29kZUJsb2NrLT5hZGRQcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9u
KGluc3RydWN0aW9ucygpLnNpemUoKSk7CiAjZW5kaWYKIApAQCAtMTU0MCw3ICsxNTQwLDcgQEAg
UmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQdXRCeQogCiBSZWdpc3RlcklEKiBC
eXRlY29kZUdlbmVyYXRvcjo6ZW1pdERpcmVjdFB1dEJ5SWQoUmVnaXN0ZXJJRCogYmFzZSwgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHksIFJlZ2lzdGVySUQqIHZhbHVlKQogewotI2lmIEVOQUJM
RShJTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKICAgICBtX2Nv
ZGVCbG9jay0+YWRkUHJvcGVydHlBY2Nlc3NJbnN0cnVjdGlvbihpbnN0cnVjdGlvbnMoKS5zaXpl
KCkpOwogI2VuZGlmCiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvQWJzdHJhY3RQQy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0Fic3RyYWN0UEMuY3BwCShyZXZpc2lvbiAxMDc4NzApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQWJzdHJhY3RQQy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ1LDcgKzQ1LDcgQEAgQWJzdHJhY3RQQzo6QWJzdHJhY3RQQyhKU0dsb2JhbERhdGEmIGdsbwog
ICAgIH0KICNlbmRpZgogICAgIAotI2lmIEVOQUJMRShJTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUo
Q0xBU1NJQ19JTlRFUlBSRVRFUikKICAgICBVTlVTRURfUEFSQU0oZ2xvYmFsRGF0YSk7CiAgICAg
bV9wb2ludGVyID0gZXhlYy0+cmV0dXJuVlBDKCk7CiAgICAgbV9tb2RlID0gSW50ZXJwcmV0ZXI7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQWJzdHJhY3RQQy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9BYnN0cmFjdFBD
LmgJKHJldmlzaW9uIDEwNzg3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9BYnN0cmFjdFBDLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgog
ICAgIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKElOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShDTEFT
U0lDX0lOVEVSUFJFVEVSKQogICAgIEFic3RyYWN0UEMoSW5zdHJ1Y3Rpb24qIHZQQykKICAgICAg
ICAgOiBtX3BvaW50ZXIodlBDKQogICAgICAgICAsIG1fbW9kZShJbnRlcnByZXRlcikKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgJKHJldmlz
aW9uIDEwNzg3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJh
bWUuaAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDcgKzEzMSw3IEBAIG5hbWVzcGFjZSBKU0MgIHsK
ICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAjZW5kaWYKLSNpZiBFTkFCTEUoSU5U
RVJQUkVURVIpCisjaWYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAgICAgICAgIEluc3Ry
dWN0aW9uKiByZXR1cm5WUEMoKSBjb25zdCB7IHJldHVybiB0aGlzW1JlZ2lzdGVyRmlsZTo6UmV0
dXJuUENdLnZQQygpOyB9CiAjZW5kaWYKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0ludGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiAxMDc4NzApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02OSw3ICs2OSw3IEBACiAjaW5jbHVkZSAiSklULmgiCiAjZW5kaWYKIAotI2Rl
ZmluZSBXVEZfVVNFX0dDQ19DT01QVVRFRF9HT1RPX1dPUktBUk9VTkQgKEVOQUJMRShDT01QVVRF
RF9HT1RPX0lOVEVSUFJFVEVSKSAmJiAhZGVmaW5lZChfX2xsdm1fXykpCisjZGVmaW5lIFdURl9V
U0VfR0NDX0NPTVBVVEVEX0dPVE9fV09SS0FST1VORCAoRU5BQkxFKENPTVBVVEVEX0dPVE9fQ0xB
U1NJQ19JTlRFUlBSRVRFUikgJiYgIWRlZmluZWQoX19sbHZtX18pKQogCiB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwogCkBAIC04Myw3ICs4Myw3IEBAIHN0YXRpYyBpbnQgZGVwdGgoQ29kZUJsb2NrKiBj
b2RlQmxvY2ssIFMKICAgICByZXR1cm4gc2MtPmxvY2FsRGVwdGgoKTsKIH0KIAotI2lmIEVOQUJM
RShJTlRFUlBSRVRFUikgCisjaWYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpIAogc3RhdGlj
IE5FVkVSX0lOTElORSBKU1ZhbHVlIGNvbmNhdGVuYXRlU3RyaW5ncyhFeGVjU3RhdGUqIGV4ZWMs
IFJlZ2lzdGVyKiBzdHJpbmdzLCB1bnNpZ25lZCBjb3VudCkKIHsKICAgICByZXR1cm4ganNTdHJp
bmcoZXhlYywgc3RyaW5ncywgY291bnQpOwpAQCAtMzY1LDcgKzM2NSw3IEBAIE5FVkVSX0lOTElO
RSBib29sIEludGVycHJldGVyOjpyZXNvbHZlVGgKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLSNl
bmRpZiAvLyBFTkFCTEUoSU5URVJQUkVURVIpCisjZW5kaWYgLy8gRU5BQkxFKENMQVNTSUNfSU5U
RVJQUkVURVIpCiAKIEFMV0FZU19JTkxJTkUgQ2FsbEZyYW1lKiBJbnRlcnByZXRlcjo6c2xpZGVS
ZWdpc3RlcldpbmRvd0ZvckNhbGwoQ29kZUJsb2NrKiBuZXdDb2RlQmxvY2ssIFJlZ2lzdGVyRmls
ZSogcmVnaXN0ZXJGaWxlLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwgc2l6ZV90IHJlZ2lzdGVyT2Zm
c2V0LCBpbnQgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMpCiB7CkBAIC0zOTQsNyArMzk0LDcg
QEAgQUxXQVlTX0lOTElORSBDYWxsRnJhbWUqIEludGVycHJldGVyOjpzbAogICAgIHJldHVybiBu
ZXdDYWxsRnJhbWU7CiB9CiAKLSNpZiBFTkFCTEUoSU5URVJQUkVURVIpCisjaWYgRU5BQkxFKENM
QVNTSUNfSU5URVJQUkVURVIpCiBzdGF0aWMgTkVWRVJfSU5MSU5FIGJvb2wgaXNJbnZhbGlkUGFy
YW1Gb3JJbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSYgZXhj
ZXB0aW9uRGF0YSkKIHsKICAgICBpZiAodmFsdWUuaXNPYmplY3QoKSkKQEAgLTU0OSw3ICs1NDks
NyBAQCBJbnRlcnByZXRlcjo6SW50ZXJwcmV0ZXIoKQogCiB2b2lkIEludGVycHJldGVyOjppbml0
aWFsaXplKGJvb2wgY2FuVXNlSklUKQogewotI2lmIEVOQUJMRShDT01QVVRFRF9HT1RPX0lOVEVS
UFJFVEVSKQorI2lmIEVOQUJMRShDT01QVVRFRF9HT1RPX0NMQVNTSUNfSU5URVJQUkVURVIpCiAg
ICAgaWYgKGNhblVzZUpJVCkgewogICAgICAgICAvLyBJZiB0aGUgSklUIGlzIHByZXNlbnQsIGRv
bid0IHVzZSBqdW1wIGRlc3RpbmF0aW9ucyBmb3Igb3Bjb2Rlcy4KICAgICAgICAgCkBAIC01Njcs
MTIgKzU2NywxMiBAQCB2b2lkIEludGVycHJldGVyOjppbml0aWFsaXplKGJvb2wgY2FuVXNlCiAg
ICAgfQogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oY2FuVXNlSklUKTsKLSNpZiBFTkFCTEUoSU5U
RVJQUkVURVIpCisjaWYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAgICAgbV9lbmFibGVk
ID0gdHJ1ZTsKICNlbHNlCiAgICAgbV9lbmFibGVkID0gZmFsc2U7CiAjZW5kaWYKLSNlbmRpZiAv
LyBFTkFCTEUoQ09NUFVURURfR09UT19JTlRFUlBSRVRFUikKKyNlbmRpZiAvLyBFTkFCTEUoQ09N
UFVURURfR09UT19DTEFTU0lDX0lOVEVSUFJFVEVSKQogI2lmICFBU1NFUlRfRElTQUJMRUQKICAg
ICBtX2luaXRpYWxpemVkID0gdHJ1ZTsKICNlbmRpZgpAQCAtNjY3LDcgKzY2Nyw3IEBAIHZvaWQg
SW50ZXJwcmV0ZXI6OmR1bXBSZWdpc3RlcnMoQ2FsbEZyYW0KIAogYm9vbCBJbnRlcnByZXRlcjo6
aXNPcGNvZGUoT3Bjb2RlIG9wY29kZSkKIHsKLSNpZiBFTkFCTEUoQ09NUFVURURfR09UT19JTlRF
UlBSRVRFUikKKyNpZiBFTkFCTEUoQ09NUFVURURfR09UT19DTEFTU0lDX0lOVEVSUFJFVEVSKQog
ICAgIGlmICghbV9lbmFibGVkKQogICAgICAgICByZXR1cm4gb3Bjb2RlID49IDAgJiYgc3RhdGlj
X2Nhc3Q8T3Bjb2RlSUQ+KGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KG9wY29kZSkpIDw9IG9wX2Vu
ZDsKICAgICByZXR1cm4gb3Bjb2RlICE9IEhhc2hUcmFpdHM8T3Bjb2RlPjo6ZW1wdHlWYWx1ZSgp
CkBAIC03MjQsNyArNzI0LDcgQEAgTkVWRVJfSU5MSU5FIGJvb2wgSW50ZXJwcmV0ZXI6OnVud2lu
ZENhbAogICAgIC8vIHRoZSBiZWdpbm5pbmcgb2YgbmV4dCBpbnN0cnVjdGlvbiB0byBleGVjdXRl
LiBUbyBnZXQgYW4gb2Zmc2V0CiAgICAgLy8gaW5zaWRlIHRoZSBjYWxsIGluc3RydWN0aW9uIHRo
YXQgdHJpZ2dlcmVkIHRoZSBleGNlcHRpb24gd2UKICAgICAvLyBoYXZlIHRvIHN1YnRyYWN0IDEu
Ci0jaWYgRU5BQkxFKEpJVCkgJiYgRU5BQkxFKElOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShKSVQp
ICYmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogICAgIGlmIChjYWxsZXJGcmFtZS0+Z2xv
YmFsRGF0YSgpLmNhblVzZUpJVCgpKQogICAgICAgICBieXRlY29kZU9mZnNldCA9IGNvZGVCbG9j
ay0+Ynl0ZWNvZGVPZmZzZXQoY2FsbEZyYW1lLT5yZXR1cm5QQygpKTsKICAgICBlbHNlCkBAIC0x
MjgwLDE1ICsxMjgwLDE1IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGUoQ2FsbEZyYW1l
Q2wKICAgICAgICAgCiAgICAgICAgIG1fcmVlbnRyeURlcHRoKys7ICAKICNpZiBFTkFCTEUoSklU
KQotI2lmIEVOQUJMRShJTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRF
UikKICAgICAgICAgaWYgKGNsb3N1cmUubmV3Q2FsbEZyYW1lLT5nbG9iYWxEYXRhKCkuY2FuVXNl
SklUKCkpCiAjZW5kaWYKICAgICAgICAgICAgIHJlc3VsdCA9IGNsb3N1cmUuZnVuY3Rpb25FeGVj
dXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlRm9yQ2FsbCgpLmV4ZWN1dGUoJm1fcmVnaXN0ZXJGaWxl
LCBjbG9zdXJlLm5ld0NhbGxGcmFtZSwgY2xvc3VyZS5nbG9iYWxEYXRhKTsKLSNpZiBFTkFCTEUo
SU5URVJQUkVURVIpCisjaWYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAgICAgICAgIGVs
c2UKICNlbmRpZgogI2VuZGlmCi0jaWYgRU5BQkxFKElOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShD
TEFTU0lDX0lOVEVSUFJFVEVSKQogICAgICAgICAgICAgcmVzdWx0ID0gcHJpdmF0ZUV4ZWN1dGUo
Tm9ybWFsLCAmbV9yZWdpc3RlckZpbGUsIGNsb3N1cmUubmV3Q2FsbEZyYW1lKTsKICNlbmRpZgog
ICAgICAgICBtX3JlZW50cnlEZXB0aC0tOwpAQCAtMTM4NiwxNSArMTM4NiwxNSBAQCBKU1ZhbHVl
IEludGVycHJldGVyOjpleGVjdXRlKEV2YWxFeGVjdXRhCiAgICAgICAgIG1fcmVlbnRyeURlcHRo
Kys7CiAgICAgICAgIAogI2lmIEVOQUJMRShKSVQpCi0jaWYgRU5BQkxFKElOVEVSUFJFVEVSKQor
I2lmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogICAgICAgICBpZiAoY2FsbEZyYW1lLT5n
bG9iYWxEYXRhKCkuY2FuVXNlSklUKCkpCiAjZW5kaWYKICAgICAgICAgICAgIHJlc3VsdCA9IGV2
YWwtPmdlbmVyYXRlZEpJVENvZGUoKS5leGVjdXRlKCZtX3JlZ2lzdGVyRmlsZSwgbmV3Q2FsbEZy
YW1lLCBzY29wZUNoYWluLT5nbG9iYWxEYXRhKTsKLSNpZiBFTkFCTEUoSU5URVJQUkVURVIpCisj
aWYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAgICAgICAgIGVsc2UKICNlbmRpZgogI2Vu
ZGlmCi0jaWYgRU5BQkxFKElOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJF
VEVSKQogICAgICAgICAgICAgcmVzdWx0ID0gcHJpdmF0ZUV4ZWN1dGUoTm9ybWFsLCAmbV9yZWdp
c3RlckZpbGUsIG5ld0NhbGxGcmFtZSk7CiAjZW5kaWYKICAgICAgICAgbV9yZWVudHJ5RGVwdGgt
LTsKQEAgLTE0MzcsNyArMTQzNyw3IEBAIE5FVkVSX0lOTElORSB2b2lkIEludGVycHJldGVyOjpk
ZWJ1ZyhDYWwKICAgICB9CiB9CiAgICAgCi0jaWYgRU5BQkxFKElOVEVSUFJFVEVSKQorI2lmIEVO
QUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogTkVWRVJfSU5MSU5FIFNjb3BlQ2hhaW5Ob2RlKiBJ
bnRlcnByZXRlcjo6Y3JlYXRlRXhjZXB0aW9uU2NvcGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIGNv
bnN0IEluc3RydWN0aW9uKiB2UEMpCiB7CiAgICAgaW50IGRzdCA9IHZQQ1sxXS51Lm9wZXJhbmQ7
CkBAIC0xNjY5LDIwICsxNjY5LDIwIEBAIE5FVkVSX0lOTElORSB2b2lkIEludGVycHJldGVyOjp1
bmNhY2hlR2UKICAgICB2UENbNF0gPSAwOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKElOVEVSUFJF
VEVSKQorI2VuZGlmIC8vIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogCiBKU1ZhbHVlIElu
dGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZShFeGVjdXRpb25GbGFnIGZsYWcsIFJlZ2lzdGVyRmls
ZSogcmVnaXN0ZXJGaWxlLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKICAgICAvLyBPbmUtdGlt
ZSBpbml0aWFsaXphdGlvbiBvZiBvdXIgYWRkcmVzcyB0YWJsZXMuIFdlIGhhdmUgdG8gcHV0IHRo
aXMgY29kZQogICAgIC8vIGhlcmUgYmVjYXVzZSBvdXIgbGFiZWxzIGFyZSBvbmx5IGluIHNjb3Bl
IGluc2lkZSB0aGlzIGZ1bmN0aW9uLgogICAgIGlmIChVTkxJS0VMWShmbGFnID09IEluaXRpYWxp
emVBbmRSZXR1cm4pKSB7Ci0gICAgICAgICNpZiBFTkFCTEUoQ09NUFVURURfR09UT19JTlRFUlBS
RVRFUikKKyAgICAgICAgI2lmIEVOQUJMRShDT01QVVRFRF9HT1RPX0NMQVNTSUNfSU5URVJQUkVU
RVIpCiAgICAgICAgICAgICAjZGVmaW5lIExJU1RfT1BDT0RFX0xBQkVMKGlkLCBsZW5ndGgpICYm
aWQsCiAgICAgICAgICAgICAgICAgc3RhdGljIE9wY29kZSBsYWJlbHNbXSA9IHsgRk9SX0VBQ0hf
T1BDT0RFX0lEKExJU1RfT1BDT0RFX0xBQkVMKSB9OwogICAgICAgICAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdUSChsYWJlbHMpOyArK2kpCiAgICAgICAgICAg
ICAgICAgICAgIG1fb3Bjb2RlVGFibGVbaV0gPSBsYWJlbHNbaV07CiAgICAgICAgICAgICAjdW5k
ZWYgTElTVF9PUENPREVfTEFCRUwKLSAgICAgICAgI2VuZGlmIC8vIEVOQUJMRShDT01QVVRFRF9H
T1RPX0lOVEVSUFJFVEVSKQorICAgICAgICAjZW5kaWYgLy8gRU5BQkxFKENPTVBVVEVEX0dPVE9f
Q0xBU1NJQ19JTlRFUlBSRVRFUikKICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKICAgICB9CiAg
ICAgCkBAIC0xNjkwLDE0ICsxNjkwLDE0IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OnByaXZhdGVF
eGVjdXRlKEV4ZWMKICAgICBBU1NFUlQobV9lbmFibGVkKTsKICAgICAKICNpZiBFTkFCTEUoSklU
KQotI2lmIEVOQUJMRShJTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRF
UikKICAgICAvLyBNaXhpbmcgSW50ZXJwcmV0ZXIgKyBKSVQgaXMgbm90IHN1cHBvcnRlZC4KICAg
ICBpZiAoY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCkuY2FuVXNlSklUKCkpCiAjZW5kaWYKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAjZW5kaWYKIAotI2lmICFFTkFCTEUoSU5URVJQUkVU
RVIpCisjaWYgIUVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogICAgIFVOVVNFRF9QQVJBTShy
ZWdpc3RlckZpbGUpOwogICAgIFVOVVNFRF9QQVJBTShjYWxsRnJhbWUpOwogICAgIHJldHVybiBK
U1ZhbHVlKCk7CkBAIC0xNzQzLDcgKzE3NDMsNyBAQCBKU1ZhbHVlIEludGVycHJldGVyOjpwcml2
YXRlRXhlY3V0ZShFeGVjCiAgICAgI2RlZmluZSBTQU1QTEUoY29kZUJsb2NrLCB2UEMpCiAjZW5k
aWYKIAotI2lmIEVOQUJMRShDT01QVVRFRF9HT1RPX0lOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShD
T01QVVRFRF9HT1RPX0NMQVNTSUNfSU5URVJQUkVURVIpCiAgICAgI2RlZmluZSBORVhUX0lOU1RS
VUNUSU9OKCkgU0FNUExFKGNvZGVCbG9jaywgdlBDKTsgZ290byAqdlBDLT51Lm9wY29kZQogI2lm
IEVOQUJMRShPUENPREVfU1RBVFMpCiAgICAgI2RlZmluZSBERUZJTkVfT1BDT0RFKG9wY29kZSkg
b3Bjb2RlOiBPcGNvZGVTdGF0czo6cmVjb3JkSW5zdHJ1Y3Rpb24ob3Bjb2RlKTsKQEAgLTQ4ODMs
NyArNDg4Myw3IEBAIHNraXBfaWRfY3VzdG9tX3NlbGY6CiAgICAgICAgIHZQQyArPSB0YXJnZXQ7
CiAgICAgICAgIE5FWFRfSU5TVFJVQ1RJT04oKTsKICAgICB9Ci0jaWYgRU5BQkxFKENPTVBVVEVE
X0dPVE9fSU5URVJQUkVURVIpCisjaWYgRU5BQkxFKENPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRF
UlBSRVRFUikKICAgICAvLyBBcHBlYXNlIEdDQwogICAgIGdvdG8gKigmJnNraXBfbmV3X3Njb3Bl
KTsKICNlbmRpZgpAQCAtNDg5OSw3ICs0ODk5LDcgQEAgc2tpcF9pZF9jdXN0b21fc2VsZjoKICAg
ICAgICAgdlBDICs9IE9QQ09ERV9MRU5HVEgob3BfcHVzaF9uZXdfc2NvcGUpOwogICAgICAgICBO
RVhUX0lOU1RSVUNUSU9OKCk7CiAgICAgfQotI2lmIEVOQUJMRShDT01QVVRFRF9HT1RPX0lOVEVS
UFJFVEVSKQorI2lmIEVOQUJMRShDT01QVVRFRF9HT1RPX0NMQVNTSUNfSU5URVJQUkVURVIpCiAg
ICAgc2tpcF9uZXdfc2NvcGU6CiAjZW5kaWYKICAgICBERUZJTkVfT1BDT0RFKG9wX2NhdGNoKSB7
CkBAIC01MDg5LDE0ICs1MDg5LDE0IEBAIHNraXBfaWRfY3VzdG9tX3NlbGY6CiAgICAgICAgIE5F
WFRfSU5TVFJVQ1RJT04oKTsKICAgICB9CiAgICAgfQotI2lmICFFTkFCTEUoQ09NUFVURURfR09U
T19JTlRFUlBSRVRFUikKKyNpZiAhRU5BQkxFKENPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBS
RVRFUikKICAgICB9IC8vIGl0ZXJhdG9yIGxvb3AgZW5kcwogI2VuZGlmCiAgICAgI3VuZGVmIE5F
WFRfSU5TVFJVQ1RJT04KICAgICAjdW5kZWYgREVGSU5FX09QQ09ERQogICAgICN1bmRlZiBDSEVD
S19GT1JfRVhDRVBUSU9OCiAgICAgI3VuZGVmIENIRUNLX0ZPUl9USU1FT1VUCi0jZW5kaWYgLy8g
RU5BQkxFKElOVEVSUFJFVEVSKQorI2VuZGlmIC8vIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVS
KQogfQogCiBKU1ZhbHVlIEludGVycHJldGVyOjpyZXRyaWV2ZUFyZ3VtZW50c0Zyb21WTUNvZGUo
Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTRnVuY3Rpb24qIGZ1bmN0aW9uKSBjb25zdApAQCAtNTE1
NSw3ICs1MTU1LDcgQEAgdm9pZCBJbnRlcnByZXRlcjo6cmV0cmlldmVMYXN0Q2FsbGVyKENhbAog
ICAgIGlmICghY2FsbGVyQ29kZUJsb2NrKQogICAgICAgICByZXR1cm47CiAgICAgdW5zaWduZWQg
Ynl0ZWNvZGVPZmZzZXQgPSAwOwotI2lmIEVOQUJMRShJTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUo
Q0xBU1NJQ19JTlRFUlBSRVRFUikKICAgICBpZiAoIWNhbGxlckZyYW1lLT5nbG9iYWxEYXRhKCku
Y2FuVXNlSklUKCkpCiAgICAgICAgIGJ5dGVjb2RlT2Zmc2V0ID0gY2FsbGVyQ29kZUJsb2NrLT5i
eXRlY29kZU9mZnNldChjYWxsRnJhbWUtPnJldHVyblZQQygpKTsKICNpZiBFTkFCTEUoSklUKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmgJKHJldmlzaW9uIDEwNzg3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9JbnRlcnByZXRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNyArMTEyLDcgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIE9wY29kZSBnZXRPcGNvZGUoT3Bjb2RlSUQgaWQpCiAgICAgICAg
IHsKICAgICAgICAgICAgIEFTU0VSVChtX2luaXRpYWxpemVkKTsKLSNpZiBFTkFCTEUoQ09NUFVU
RURfR09UT19JTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUoQ09NUFVURURfR09UT19DTEFTU0lDX0lO
VEVSUFJFVEVSKQogICAgICAgICAgICAgcmV0dXJuIG1fb3Bjb2RlVGFibGVbaWRdOwogI2Vsc2UK
ICAgICAgICAgICAgIHJldHVybiBpZDsKQEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgT3Bjb2RlSUQgZ2V0T3Bjb2RlSUQoT3Bjb2RlIG9wY29kZSkKICAgICAgICAg
ewogICAgICAgICAgICAgQVNTRVJUKG1faW5pdGlhbGl6ZWQpOwotI2lmIEVOQUJMRShDT01QVVRF
RF9HT1RPX0lOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShDT01QVVRFRF9HT1RPX0NMQVNTSUNfSU5U
RVJQUkVURVIpCiAgICAgICAgICAgICBBU1NFUlQoaXNPcGNvZGUob3Bjb2RlKSk7CiAgICAgICAg
ICAgICBpZiAoIW1fZW5hYmxlZCkKICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
T3Bjb2RlSUQ+KGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KG9wY29kZSkpOwpAQCAtMTYyLDcgKzE2
Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGVuZFJlcGVhdENhbGwoQ2FsbEZy
YW1lQ2xvc3VyZSYpOwogICAgICAgICBKU1ZhbHVlIGV4ZWN1dGUoQ2FsbEZyYW1lQ2xvc3VyZSYp
OwogCi0jaWYgRU5BQkxFKElOVEVSUFJFVEVSKQorI2lmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJF
VEVSKQogICAgICAgICBORVZFUl9JTkxJTkUgYm9vbCByZXNvbHZlKENhbGxGcmFtZSosIEluc3Ry
dWN0aW9uKiwgSlNWYWx1ZSYgZXhjZXB0aW9uVmFsdWUpOwogICAgICAgICBORVZFUl9JTkxJTkUg
Ym9vbCByZXNvbHZlU2tpcChDYWxsRnJhbWUqLCBJbnN0cnVjdGlvbiosIEpTVmFsdWUmIGV4Y2Vw
dGlvblZhbHVlKTsKICAgICAgICAgTkVWRVJfSU5MSU5FIGJvb2wgcmVzb2x2ZUdsb2JhbChDYWxs
RnJhbWUqLCBJbnN0cnVjdGlvbiosIEpTVmFsdWUmIGV4Y2VwdGlvblZhbHVlKTsKQEAgLTE3Niw3
ICsxNzYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCB1bmNhY2hlR2V0QnlJRChD
b2RlQmxvY2sqLCBJbnN0cnVjdGlvbiogdlBDKTsKICAgICAgICAgdm9pZCB0cnlDYWNoZVB1dEJ5
SUQoQ2FsbEZyYW1lKiwgQ29kZUJsb2NrKiwgSW5zdHJ1Y3Rpb24qLCBKU1ZhbHVlIGJhc2VWYWx1
ZSwgY29uc3QgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZvaWQgdW5jYWNoZVB1dEJ5SUQo
Q29kZUJsb2NrKiwgSW5zdHJ1Y3Rpb24qIHZQQyk7ICAgICAgICAKLSNlbmRpZiAvLyBFTkFCTEUo
SU5URVJQUkVURVIpCisjZW5kaWYgLy8gRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAKICAg
ICAgICAgTkVWRVJfSU5MSU5FIGJvb2wgdW53aW5kQ2FsbEZyYW1lKENhbGxGcmFtZSomLCBKU1Zh
bHVlLCB1bnNpZ25lZCYgYnl0ZWNvZGVPZmZzZXQsIENvZGVCbG9jayomKTsKIApAQCAtMTk5LDcg
KzE5OSw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFJlZ2lzdGVyRmlsZSBtX3JlZ2lz
dGVyRmlsZTsKICAgICAgICAgCi0jaWYgRU5BQkxFKENPTVBVVEVEX0dPVE9fSU5URVJQUkVURVIp
CisjaWYgRU5BQkxFKENPTVBVVEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUikKICAgICAgICAg
T3Bjb2RlIG1fb3Bjb2RlVGFibGVbbnVtT3Bjb2RlSURzXTsgLy8gTWFwcyBPcGNvZGVJRCA9PiBP
cGNvZGUgZm9yIGNvbXBpbGluZwogICAgICAgICBIYXNoTWFwPE9wY29kZSwgT3Bjb2RlSUQ+IG1f
b3Bjb2RlSURUYWJsZTsgLy8gTWFwcyBPcGNvZGUgPT4gT3Bjb2RlSUQgZm9yIGRlY29tcGlsaW5n
CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9j
YXRvckZpeGVkVk1Qb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAJKHJldmlzaW9uIDEwNzg3MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Q
b29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgICAg
IDogTWV0YUFsbG9jYXRvcigzMikgLy8gcm91bmQgdXAgYWxsIGFsbG9jYXRpb25zIHRvIDMyIGJ5
dGVzCiAgICAgewogICAgICAgICBtX3Jlc2VydmF0aW9uID0gUGFnZVJlc2VydmF0aW9uOjpyZXNl
cnZlV2l0aEd1YXJkUGFnZXMoZml4ZWRQb29sU2l6ZSwgT1NBbGxvY2F0b3I6OkpTSklUQ29kZVBh
Z2VzLCBFWEVDVVRBQkxFX1BPT0xfV1JJVEFCTEUsIHRydWUpOwotI2lmICFFTkFCTEUoSU5URVJQ
UkVURVIpCisjaWYgIUVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogICAgICAgICBpZiAoIW1f
cmVzZXJ2YXRpb24pCiAgICAgICAgICAgICBDUkFTSCgpOwogI2VuZGlmCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMTA3ODcw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTIyMyw3ICsyMjMsNyBAQCBKU09iamVjdCogRXZhbEV4ZWN1dGFibGU6OmNv
bXBpbGVJbnRlcm5hCiAjZW5kaWYKIAogI2lmIEVOQUJMRShKSVQpCi0jaWYgRU5BQkxFKElOVEVS
UFJFVEVSKQorI2lmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogICAgIGlmICghbV9qaXRD
b2RlRm9yQ2FsbCkKICAgICAgICAgSGVhcDo6aGVhcCh0aGlzKS0+cmVwb3J0RXh0cmFNZW1vcnlD
b3N0KHNpemVvZigqbV9ldmFsQ29kZUJsb2NrKSk7CiAgICAgZWxzZQpAQCAtMzQ5LDcgKzM0OSw3
IEBAIEpTT2JqZWN0KiBQcm9ncmFtRXhlY3V0YWJsZTo6Y29tcGlsZUludGUKICNlbmRpZgogCiAj
aWYgRU5BQkxFKEpJVCkKLSNpZiBFTkFCTEUoSU5URVJQUkVURVIpCisjaWYgRU5BQkxFKENMQVNT
SUNfSU5URVJQUkVURVIpCiAgICAgaWYgKCFtX2ppdENvZGVGb3JDYWxsKQogICAgICAgICBIZWFw
OjpoZWFwKHRoaXMpLT5yZXBvcnRFeHRyYU1lbW9yeUNvc3Qoc2l6ZW9mKCptX3Byb2dyYW1Db2Rl
QmxvY2spKTsKICAgICBlbHNlCkBAIC01MTcsNyArNTE3LDcgQEAgSlNPYmplY3QqIEZ1bmN0aW9u
RXhlY3V0YWJsZTo6Y29tcGlsZUZvcgogI2VuZGlmCiAKICNpZiBFTkFCTEUoSklUKQotI2lmIEVO
QUJMRShJTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKICAgICBp
ZiAoIW1faml0Q29kZUZvckNhbGwpCiAgICAgICAgIEhlYXA6OmhlYXAodGhpcyktPnJlcG9ydEV4
dHJhTWVtb3J5Q29zdChzaXplb2YoKm1fY29kZUJsb2NrRm9yQ2FsbCkpOwogICAgIGVsc2UKQEAg
LTU1OSw3ICs1NTksNyBAQCBKU09iamVjdCogRnVuY3Rpb25FeGVjdXRhYmxlOjpjb21waWxlRm9y
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShKSVQpCi0jaWYgRU5BQkxFKElOVEVSUFJFVEVSKQorI2lm
IEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogICAgIGlmICghbV9qaXRDb2RlRm9yQ29uc3Ry
dWN0KQogICAgICAgICBIZWFwOjpoZWFwKHRoaXMpLT5yZXBvcnRFeHRyYU1lbW9yeUNvc3Qoc2l6
ZW9mKCptX2NvZGVCbG9ja0ZvckNvbnN0cnVjdCkpOwogICAgIGVsc2UKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgJKHJldmlzaW9uIDEwNzg3MCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMTk5LDcgKzE5OSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAjZW5kaWYK
IAotI2lmIEVOQUJMRShJTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRF
UikKICAgICAgICAgc3RhdGljIE5hdGl2ZUV4ZWN1dGFibGUqIGNyZWF0ZShKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIE5hdGl2ZUZ1bmN0aW9uIGZ1bmN0aW9uLCBOYXRpdmVGdW5jdGlvbiBjb25z
dHJ1Y3RvcikKICAgICAgICAgewogICAgICAgICAgICAgQVNTRVJUKCFnbG9iYWxEYXRhLmNhblVz
ZUpJVCgpKTsKQEAgLTIzNyw3ICsyMzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoSU5URVJQUkVURVIpCisjaWYgRU5BQkxFKENMQVNTSUNfSU5U
RVJQUkVURVIpCiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhKQogICAgICAgICB7CiAgICAgICAgICAgICBBU1NFUlQoIWdsb2JhbERhdGEuY2FuVXNl
SklUKCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRh
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bERhdGEuY3BwCShyZXZpc2lvbiAxMDc4NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODksNyArMTg5LDcgQEAg
SlNHbG9iYWxEYXRhOjpKU0dsb2JhbERhdGEoR2xvYmFsRGF0YVR5cAogCiAgICAgd3RmVGhyZWFk
RGF0YSgpLnNldEN1cnJlbnRJZGVudGlmaWVyVGFibGUoZXhpc3RpbmdFbnRyeUlkZW50aWZpZXJU
YWJsZSk7CiAKLSNpZiBFTkFCTEUoSklUKSAmJiBFTkFCTEUoSU5URVJQUkVURVIpCisjaWYgRU5B
QkxFKEpJVCkgJiYgRU5BQkxFKENMQVNTSUNfSU5URVJQUkVURVIpCiAjaWYgVVNFKENGKQogICAg
IENGU3RyaW5nUmVmIGNhblVzZUpJVEtleSA9IENGU3RyaW5nQ3JlYXRlV2l0aENTdHJpbmcoMCAs
ICJKYXZhU2NyaXB0Q29yZVVzZUpJVCIsIGtDRlN0cmluZ0VuY29kaW5nTWFjUm9tYW4pOwogICAg
IENGQm9vbGVhblJlZiBjYW5Vc2VKSVQgPSAoQ0ZCb29sZWFuUmVmKUNGUHJlZmVyZW5jZXNDb3B5
QXBwVmFsdWUoY2FuVXNlSklUS2V5LCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRBcHBsaWNhdGlvbik7
CkBAIC0yMDksNyArMjA5LDcgQEAgSlNHbG9iYWxEYXRhOjpKU0dsb2JhbERhdGEoR2xvYmFsRGF0
YVR5cAogI2VuZGlmCiAjZW5kaWYKICNpZiBFTkFCTEUoSklUKQotI2lmIEVOQUJMRShJTlRFUlBS
RVRFUikKKyNpZiBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKICAgICBpZiAobV9jYW5Vc2VK
SVQpCiAgICAgICAgIG1fY2FuVXNlSklUID0gZXhlY3V0YWJsZUFsbG9jYXRvci5pc1ZhbGlkKCk7
CiAjZW5kaWYKQEAgLTM4Myw3ICszODMsNyBAQCBzdGF0aWMgVGh1bmtHZW5lcmF0b3IgdGh1bmtH
ZW5lcmF0b3JGb3JJCiAKIE5hdGl2ZUV4ZWN1dGFibGUqIEpTR2xvYmFsRGF0YTo6Z2V0SG9zdEZ1
bmN0aW9uKE5hdGl2ZUZ1bmN0aW9uIGZ1bmN0aW9uLCBOYXRpdmVGdW5jdGlvbiBjb25zdHJ1Y3Rv
cikKIHsKLSNpZiBFTkFCTEUoSU5URVJQUkVURVIpCisjaWYgRU5BQkxFKENMQVNTSUNfSU5URVJQ
UkVURVIpCiAgICAgaWYgKCFjYW5Vc2VKSVQoKSkKICAgICAgICAgcmV0dXJuIE5hdGl2ZUV4ZWN1
dGFibGU6OmNyZWF0ZSgqdGhpcywgZnVuY3Rpb24sIGNvbnN0cnVjdG9yKTsKICNlbmRpZgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgJKHJldmlz
aW9uIDEwNzg3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTcsNyArMjE3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICNpZiAhRU5BQkxFKEpJVCkKICAgICAgICAgYm9vbCBjYW5Vc2VKSVQoKSB7IHJldHVybiBmYWxz
ZTsgfSAvLyBpbnRlcnByZXRlciBvbmx5Ci0jZWxpZiAhRU5BQkxFKElOVEVSUFJFVEVSKQorI2Vs
aWYgIUVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQogICAgICAgICBib29sIGNhblVzZUpJVCgp
IHsgcmV0dXJuIHRydWU7IH0gLy8gaml0IG9ubHkKICNlbHNlCiAgICAgICAgIGJvb2wgY2FuVXNl
SklUKCkgeyByZXR1cm4gbV9jYW5Vc2VKSVQ7IH0KQEAgLTM0OSw3ICszNDksNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgSlNHbG9iYWxEYXRhKEdsb2JhbERhdGFUeXBlLCBUaHJlYWRTdGFj
a1R5cGUsIEhlYXBTaXplKTsKICAgICAgICAgc3RhdGljIEpTR2xvYmFsRGF0YSomIHNoYXJlZElu
c3RhbmNlSW50ZXJuYWwoKTsKICAgICAgICAgdm9pZCBjcmVhdGVOYXRpdmVUaHVuaygpOwotI2lm
IEVOQUJMRShKSVQpICYmIEVOQUJMRShJTlRFUlBSRVRFUikKKyNpZiBFTkFCTEUoSklUKSAmJiBF
TkFCTEUoQ0xBU1NJQ19JTlRFUlBSRVRFUikKICAgICAgICAgYm9vbCBtX2NhblVzZUpJVDsKICNl
bmRpZgogI2lmIEVOQUJMRShHQ19WQUxJREFUSU9OKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9PU0FsbG9jYXRvclBvc2l4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL09TQWxsb2NhdG9yUG9zaXguY3BwCShyZXZpc2lvbiAxMDc4NzApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL09TQWxsb2NhdG9yUG9zaXguY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDIsNyArMTAyLDcgQEAgdm9pZCogT1NBbGxvY2F0b3I6OnJlc2VydmVBbmRDb21t
aXQoc2l6ZQogCiAgICAgcmVzdWx0ID0gbW1hcChyZXN1bHQsIGJ5dGVzLCBwcm90ZWN0aW9uLCBm
bGFncywgZmQsIDApOwogICAgIGlmIChyZXN1bHQgPT0gTUFQX0ZBSUxFRCkgewotICAgICNpZiBF
TkFCTEUoSU5URVJQUkVURVIpCisgICAgI2lmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQog
ICAgICAgICBpZiAoZXhlY3V0YWJsZSkKICAgICAgICAgICAgIHJlc3VsdCA9IDA7CiAgICAgICAg
IGVsc2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDEw
Nzg3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkod29ya2luZyBj
b3B5KQpAQCAtNTk3LDExICs1OTcsMTEgQEAKICNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCiAK
ICNpZiBQTEFURk9STShJT1NfU0lNVUxBVE9SKQotICAgICNkZWZpbmUgRU5BQkxFX0lOVEVSUFJF
VEVSIDEKKyAgICAjZGVmaW5lIEVOQUJMRV9DTEFTU0lDX0lOVEVSUFJFVEVSIDEKICAgICAjZGVm
aW5lIEVOQUJMRV9KSVQgMAogICAgICNkZWZpbmUgRU5BQkxFX1lBUlJfSklUIDAKICNlbHNlCi0g
ICAgI2RlZmluZSBFTkFCTEVfSU5URVJQUkVURVIgMQorICAgICNkZWZpbmUgRU5BQkxFX0NMQVNT
SUNfSU5URVJQUkVURVIgMQogICAgICNkZWZpbmUgRU5BQkxFX0pJVCAxCiAgICAgI2RlZmluZSBF
TkFCTEVfWUFSUl9KSVQgMQogI2VuZGlmCkBAIC05NTYsMTAgKzk1NiwxMCBAQAogI2VuZGlmCiAK
IC8qIEVuc3VyZSB0aGF0IGVpdGhlciB0aGUgSklUIG9yIHRoZSBpbnRlcnByZXRlciBoYXMgYmVl
biBlbmFibGVkLiAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9JTlRFUlBSRVRFUikgJiYgIUVOQUJM
RShKSVQpCi0jZGVmaW5lIEVOQUJMRV9JTlRFUlBSRVRFUiAxCisjaWYgIWRlZmluZWQoRU5BQkxF
X0NMQVNTSUNfSU5URVJQUkVURVIpICYmICFFTkFCTEUoSklUKQorI2RlZmluZSBFTkFCTEVfQ0xB
U1NJQ19JTlRFUlBSRVRFUiAxCiAjZW5kaWYKLSNpZiAhKEVOQUJMRShKSVQpIHx8IEVOQUJMRShJ
TlRFUlBSRVRFUikpCisjaWYgIShFTkFCTEUoSklUKSB8fCBFTkFCTEUoQ0xBU1NJQ19JTlRFUlBS
RVRFUikpCiAjZXJyb3IgWW91IGhhdmUgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgZXhlY3V0aW9uIG1v
ZGVsIGVuYWJsZWQgdG8gYnVpbGQgSlNDCiAjZW5kaWYKIApAQCAtOTkyLDggKzk5Miw4IEBACiAj
aWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAsIDApICYm
IGRlZmluZWQoX19HTlVDX18pKQogI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQogI2VuZGlm
Ci0jaWYgSEFWRShDT01QVVRFRF9HT1RPKSAmJiBFTkFCTEUoSU5URVJQUkVURVIpCi0jZGVmaW5l
IEVOQUJMRV9DT01QVVRFRF9HT1RPX0lOVEVSUFJFVEVSIDEKKyNpZiBIQVZFKENPTVBVVEVEX0dP
VE8pICYmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQorI2RlZmluZSBFTkFCTEVfQ09NUFVU
RURfR09UT19DTEFTU0lDX0lOVEVSUFJFVEVSIDEKICNlbmRpZgogCiAvKiBSZWd1bGFyIEV4cHJl
c3Npb24gVHJhY2luZyAtIFNldCB0byAxIHRvIHRyYWNlIFJlZ0V4cCdzIGluIGpzYy4gIFJlc3Vs
dHMgZHVtcGVkIGF0IGV4aXQgKi8K
</data>
<flag name="review"
          id="129427"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>