<?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>84498</bug_id>
          
          <creation_ts>2012-04-20 14:53:33 -0700</creation_ts>
          <short_desc>Add explicit patchableBranchPtrWithPatch/patchableJump methods</short_desc>
          <delta_ts>2012-04-24 17:15:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>606935</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-20 14:53:33 -0700</bug_when>
    <thetext>Don&apos;t rely on inUninterruptedSequence to distinguish which jumps we need to be able to repatch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606939</commentid>
    <comment_count>1</comment_count>
      <attachid>138173</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-20 14:58:37 -0700</bug_when>
    <thetext>Created attachment 138173
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609283</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-24 17:15:27 -0700</bug_when>
    <thetext>Fixed in r115141</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138173</attachid>
            <date>2012-04-20 14:58:37 -0700</date>
            <delta_ts>2012-04-20 15:02:08 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>84498.patch</filename>
            <type>text/plain</type>
            <size>26053</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE0Nzg0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcwIEBA
CisyMDEyLTA0LTIwICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgZXhwbGljaXQgcGF0Y2hhYmxlQnJhbmNoUHRyV2l0aFBhdGNoL3BhdGNo
YWJsZUp1bXAgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODQ0OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBEb24ndCByZWx5IG9uIGluVW5pbnRlcnJ1cHRlZFNlcXVlbmNlIHRvIGRpc3Rpbmd1
aXNoIHdoaWNoIGp1bXBzIHdlIG5lZWQgdG8gYmUgYWJsZSB0byByZXBhdGNoLgorCisgICAgICAg
ICogYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6QWJz
dHJhY3RNYWNyb0Fzc2VtYmxlcjo6UGF0Y2hhYmxlSnVtcDo6UGF0Y2hhYmxlSnVtcCk6CisgICAg
ICAgIChQYXRjaGFibGVKdW1wKToKKyAgICAgICAgKEpTQzo6QWJzdHJhY3RNYWNyb0Fzc2VtYmxl
cjo6UGF0Y2hhYmxlSnVtcDo6b3BlcmF0b3IgSnVtcCYpOgorICAgICAgICAoQWJzdHJhY3RNYWNy
b0Fzc2VtYmxlcik6CisgICAgICAgIChKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXI6OkFic3Ry
YWN0TWFjcm9Bc3NlbWJsZXIpOgorICAgICAgICAgICAgLSBBZGRlZCBQYXRjaGFibGVKdW1wIHR5
cGUsIHJlbW92ZWQgaW5VbmludGVycnVwdGVkU2VxdWVuY2UuCisgICAgICAgICogYXNzZW1ibGVy
L0xpbmtCdWZmZXIuaDoKKyAgICAgICAgKExpbmtCdWZmZXIpOgorICAgICAgICAoSlNDOjpMaW5r
QnVmZmVyOjpsb2NhdGlvbk9mKToKKyAgICAgICAgICAgIC0gT25seSBhbGxvdyB0aGUgbG9jYXRp
b24gdG8gYmUgdGFrZW4gb2YgcGF0Y2hhYmxlIGJyYW5jaGVzCisgICAgICAgICogYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyLmg6CisgICAgICAgIChNYWNyb0Fzc2VtYmxlcik6CisgICAgICAgIChK
U0M6Ok1hY3JvQXNzZW1ibGVyOjpwYXRjaGFibGVCcmFuY2hQdHJXaXRoUGF0Y2gpOgorICAgICAg
ICAoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6cGF0Y2hhYmxlSnVtcCk6CisgICAgICAgIChKU0M6Ok1h
Y3JvQXNzZW1ibGVyOjpzaG91bGRCbGluZCk6CisgICAgICAgICAgICAtIEFkZGVkIGRlZmF1bHQg
aW1wbGVtZW50YXRpb24gb2YgcGF0Y2hhYmxlQnJhbmNoUHRyV2l0aFBhdGNoLCBwYXRjaGFibGVK
dW1wLgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3Lmg6CisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6Ok1hY3JvQXNzZW1ibGVyQVJNdjcpOgorICAgICAg
ICAoTWFjcm9Bc3NlbWJsZXJBUk12Nyk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJN
djc6OnBhdGNoYWJsZUJyYW5jaFB0cldpdGhQYXRjaCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNz
ZW1ibGVyQVJNdjc6OnBhdGNoYWJsZUp1bXApOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
ckFSTXY3OjpqdW1wKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6bWFrZUJy
YW5jaCk6CisgICAgICAgICAgICAtIEFkZGVkIEFSTXY3IGltcGxlbWVudGF0aW9uIG9mIHBhdGNo
YWJsZUJyYW5jaFB0cldpdGhQYXRjaCwgcGF0Y2hhYmxlSnVtcC4KKyAgICAgICAgKiBkZmcvREZH
Q29ycmVjdGFibGVKdW1wUG9pbnQuaDoKKyAgICAgICAgKERGRyk6CisgICAgICAgIChKU0M6OkRG
Rzo6Q29ycmVjdGFibGVKdW1wUG9pbnQ6OnN3aXRjaFRvTGF0ZUp1bXApOgorICAgICAgICAgICAg
LSBMYXRlIGp1bXBzIGFyZSBQYXRjaGFibGVKdW1wcy4KKyAgICAgICAgKiBkZmcvREZHSklUQ29t
cGlsZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjpsaW5rT1NSRXhpdHMp
OgorICAgICAgICAgICAgLSByZXBsYWNlIHVzZSBvZiBpblVuaW50ZXJydXB0ZWRTZXF1ZW5jZQor
ICAgICAgICAqIGRmZy9ERkdKSVRDb21waWxlci5oOgorICAgICAgICAoSlNDOjpERkc6OlByb3Bl
cnR5QWNjZXNzUmVjb3JkOjpQcm9wZXJ0eUFjY2Vzc1JlY29yZCk6CisgICAgICAgIChQcm9wZXJ0
eUFjY2Vzc1JlY29yZCk6CisgICAgICAgICAgICAtIHJlcGxhY2UgdXNlIG9mIGluVW5pbnRlcnJ1
cHRlZFNlcXVlbmNlCisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjYWNoZWRHZXRCeUlkKToKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkUHV0QnlJZCk6CisgICAgICAgICAg
ICAtIHJlcGxhY2UgdXNlIG9mIGluVW5pbnRlcnJ1cHRlZFNlcXVlbmNlCisgICAgICAgICogZGZn
L0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjYWNoZWRHZXRCeUlkKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
Y2FjaGVkUHV0QnlJZCk6CisgICAgICAgICAgICAtIHJlcGxhY2UgdXNlIG9mIGluVW5pbnRlcnJ1
cHRlZFNlcXVlbmNlCisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoUHJvcGVydHlTdHVi
Q29tcGlsYXRpb25JbmZvKToKKyAgICAgICAgICAgIC0gcmVwbGFjZSB1c2Ugb2YgaW5VbmludGVy
cnVwdGVkU2VxdWVuY2UKKyAgICAgICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAg
ICAoSlNDOjpKSVQ6OmJlZ2luVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKToKKyAgICAgICAgKEpTQzo6
SklUOjplbmRVbmludGVycnVwdGVkU2VxdWVuY2UpOgorICAgICAgICAgICAgLSByZXBsYWNlIHVz
ZSBvZiBpblVuaW50ZXJydXB0ZWRTZXF1ZW5jZQorICAgICAgICAqIGppdC9KSVRQcm9wZXJ0eUFj
Y2Vzcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6Y29tcGlsZUdldEJ5SWRIb3RQYXRoKToKKyAg
ICAgICAgICAgIC0gcmVwbGFjZSB1c2Ugb2YgaW5VbmludGVycnVwdGVkU2VxdWVuY2UKKyAgICAg
ICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6
Y29tcGlsZUdldEJ5SWRIb3RQYXRoKToKKyAgICAgICAgICAgIC0gcmVwbGFjZSB1c2Ugb2YgaW5V
bmludGVycnVwdGVkU2VxdWVuY2UKKwogMjAxMi0wNC0yMCAgTWFyayBIYWhuZW5iZXJnICA8bWhh
aG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAgIEhlYXAgc2hvdWxkIGNhbmNlbCBHQyB0aW1l
ciBhdCB0aGUgc3RhcnQgb2YgdGhlIGNvbGxlY3Rpb24KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCShy
ZXZpc2lvbiAxMTQ1OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3Ry
YWN0TWFjcm9Bc3NlbWJsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDk3LDYgKzQ5NywyMSBAQCBw
dWJsaWM6CiAjZW5kaWYKICAgICB9OwogCisgICAgc3RydWN0IFBhdGNoYWJsZUp1bXAgeworICAg
ICAgICBQYXRjaGFibGVKdW1wKCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgZXhw
bGljaXQgUGF0Y2hhYmxlSnVtcChKdW1wIGp1bXApCisgICAgICAgICAgICA6IG1fanVtcChqdW1w
KQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICBvcGVyYXRvciBKdW1wJigpIHsgcmV0
dXJuIG1fanVtcDsgfQorCisgICAgICAgIEp1bXAgbV9qdW1wOworICAgIH07CisKICAgICAvLyBK
dW1wTGlzdDoKICAgICAvLwogICAgIC8vIEEgSnVtcExpc3QgaXMgYSBzZXQgb2YgSnVtcCBvYmpl
Y3RzLgpAQCAtNTczLDI3ICs1ODgsMTUgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdDxwdHJkaWZmX3Q+KGIuZXhlY3V0YWJsZUFkZHJlc3MoKSkgLSByZWludGVycHJl
dF9jYXN0PHB0cmRpZmZfdD4oYS5leGVjdXRhYmxlQWRkcmVzcygpKTsKICAgICB9CiAKLSAgICB2
b2lkIGJlZ2luVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKCkgeyBtX2luVW5pbnRlcnJ1cHRlZFNlcXVl
bmNlID0gdHJ1ZTsgfQotICAgIHZvaWQgZW5kVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKCkgeyBtX2lu
VW5pbnRlcnJ1cHRlZFNlcXVlbmNlID0gZmFsc2U7IH0KLQogICAgIHVuc2lnbmVkIGRlYnVnT2Zm
c2V0KCkgeyByZXR1cm4gbV9hc3NlbWJsZXIuZGVidWdPZmZzZXQoKTsgfQogCiBwcm90ZWN0ZWQ6
CiAgICAgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcigpCi0gICAgICAgIDogbV9pblVuaW50ZXJydXB0
ZWRTZXF1ZW5jZShmYWxzZSkKLSAgICAgICAgLCBtX3JhbmRvbVNvdXJjZShjcnlwdG9ncmFwaGlj
YWxseVJhbmRvbU51bWJlcigpKQorICAgICAgICA6IG1fcmFuZG9tU291cmNlKGNyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tTnVtYmVyKCkpCiAgICAgewogICAgIH0KIAogICAgIEFzc2VtYmxlclR5cGUg
bV9hc3NlbWJsZXI7Ci0KLSAgICBib29sIGluVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKCkKLSAgICB7
Ci0gICAgICAgIHJldHVybiBtX2luVW5pbnRlcnJ1cHRlZFNlcXVlbmNlOwotICAgIH0KLQotICAg
IGJvb2wgbV9pblVuaW50ZXJydXB0ZWRTZXF1ZW5jZTsKLSAgICAKICAgICAKICAgICB1aW50MzJf
dCByYW5kb20oKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TGlua0J1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTGlua0J1ZmZlci5oCShyZXZpc2lvbiAxMTQ1OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsNyBA
QCBjbGFzcyBMaW5rQnVmZmVyIHsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBD
b2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIExhYmVsOwogICAgIHR5
cGVkZWYgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgSnVtcDsKKyAgICB0eXBlZGVmIE1hY3JvQXNzZW1i
bGVyOjpQYXRjaGFibGVKdW1wIFBhdGNoYWJsZUp1bXA7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcExpc3QgSnVtcExpc3Q7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlcjo6Q2Fs
bCBDYWxsOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkRhdGFMYWJlbENvbXBhY3QgRGF0
YUxhYmVsQ29tcGFjdDsKQEAgLTE1NCw5ICsxNTUsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBDb2RlTG9jYXRpb25OZWFyQ2FsbChNYWNyb0Fzc2VtYmxlcjo6Z2V0TGlua2VyQWRkcmVzcyhj
b2RlKCksIGFwcGx5T2Zmc2V0KGNhbGwubV9sYWJlbCkpKTsKICAgICB9CiAKLSAgICBDb2RlTG9j
YXRpb25MYWJlbCBsb2NhdGlvbk9mKEp1bXAganVtcCkKKyAgICBDb2RlTG9jYXRpb25MYWJlbCBs
b2NhdGlvbk9mKFBhdGNoYWJsZUp1bXAganVtcCkKICAgICB7Ci0gICAgICAgIHJldHVybiBDb2Rl
TG9jYXRpb25MYWJlbChNYWNyb0Fzc2VtYmxlcjo6Z2V0TGlua2VyQWRkcmVzcyhjb2RlKCksIGFw
cGx5T2Zmc2V0KGp1bXAubV9sYWJlbCkpKTsKKyAgICAgICAgcmV0dXJuIENvZGVMb2NhdGlvbkxh
YmVsKE1hY3JvQXNzZW1ibGVyOjpnZXRMaW5rZXJBZGRyZXNzKGNvZGUoKSwgYXBwbHlPZmZzZXQo
anVtcC5tX2p1bXAubV9sYWJlbCkpKTsKICAgICB9CiAKICAgICBDb2RlTG9jYXRpb25MYWJlbCBs
b2NhdGlvbk9mKExhYmVsIGxhYmVsKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAkocmV2aXNpb24gMTE0NTk5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yMjksNiArMjI5LDE4IEBAIHB1YmxpYzoKICAgICAgICAgYnJhbmNoVGVzdFB0cihjb25k
LCByZWcpLmxpbmtUbyh0YXJnZXQsIHRoaXMpOwogICAgIH0KIAorI2lmICFDUFUoQVJNX1RIVU1C
MikKKyAgICBQYXRjaGFibGVKdW1wIHBhdGNoYWJsZUJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlv
bmFsQ29uZGl0aW9uIGNvbmQsIEFkZHJlc3MgbGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWws
IFRydXN0ZWRJbW1QdHIgaW5pdGlhbFJpZ2h0VmFsdWUgPSBUcnVzdGVkSW1tUHRyKDApKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIFBhdGNoYWJsZUp1bXAoYnJhbmNoUHRyV2l0aFBhdGNoKGNvbmQs
IGxlZnQsIGRhdGFMYWJlbCwgaW5pdGlhbFJpZ2h0VmFsdWUpKTsKKyAgICB9CisKKyAgICBQYXRj
aGFibGVKdW1wIHBhdGNoYWJsZUp1bXAoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFBhdGNoYWJs
ZUp1bXAoanVtcCgpKTsKKyAgICB9CisjZW5kaWYKKwogICAgIHZvaWQganVtcChMYWJlbCB0YXJn
ZXQpCiAgICAgewogICAgICAgICBqdW1wKCkubGlua1RvKHRhcmdldCwgdGhpcyk7CkBAIC01Mjks
NyArNTQxLDYgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgc2hvdWxkQmxpbmQoSW1tUHRyIGlt
bSkKICAgICB7IAotICAgICAgICBBU1NFUlQoIWluVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKCkpOwog
I2lmICFkZWZpbmVkKE5ERUJVRykKICAgICAgICAgVU5VU0VEX1BBUkFNKGltbSk7CiAgICAgICAg
IC8vIERlYnVnIGFsd2F5cyBibGluZCBhbGwgY29uc3RhbnRzLCBpZiBvbmx5IHNvIHdlIGtub3cK
QEAgLTYzNiw3ICs2NDcsNiBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEpJVF9DT05TVEFOVF9CTElO
RElORykKICAgICBib29sIHNob3VsZEJsaW5kKEltbTMyIGltbSkKICAgICB7IAotICAgICAgICBB
U1NFUlQoIWluVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKCkpOwogI2lmICFkZWZpbmVkKE5ERUJVRykK
ICAgICAgICAgVU5VU0VEX1BBUkFNKGltbSk7CiAgICAgICAgIC8vIERlYnVnIGFsd2F5cyBibGlu
ZCBhbGwgY29uc3RhbnRzLCBpZiBvbmx5IHNvIHdlIGtub3cKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCShyZXZp
c2lvbiAxMTQ1OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNdjcuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsMTEgQEAgY2xhc3MgTWFj
cm9Bc3NlbWJsZXJBUk12NyA6IHB1YmxpYyBBYnN0cgogICAgIGlubGluZSBBUk1SZWdpc3RlcnM6
OkZQU2luZ2xlUmVnaXN0ZXJJRCBmcFRlbXBSZWdpc3RlckFzU2luZ2xlKCkgeyByZXR1cm4gQVJN
UmVnaXN0ZXJzOjphc1NpbmdsZShmcFRlbXBSZWdpc3Rlcik7IH0KIAogcHVibGljOgorICAgIE1h
Y3JvQXNzZW1ibGVyQVJNdjcoKQorICAgICAgICA6IG1fbWFrZUp1bXBQYXRjaGFibGUoZmFsc2Up
CisgICAgeworICAgIH0KKwogICAgIHR5cGVkZWYgQVJNdjdBc3NlbWJsZXI6OkxpbmtSZWNvcmQg
TGlua1JlY29yZDsKICAgICB0eXBlZGVmIEFSTXY3QXNzZW1ibGVyOjpKdW1wVHlwZSBKdW1wVHlw
ZTsKICAgICB0eXBlZGVmIEFSTXY3QXNzZW1ibGVyOjpKdW1wTGlua1R5cGUgSnVtcExpbmtUeXBl
OwpAQCAtMTU4Nyw2ICsxNTkyLDIyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGJyYW5jaDMy
KGNvbmQsIGFkZHJlc3NUZW1wUmVnaXN0ZXIsIGRhdGFUZW1wUmVnaXN0ZXIpOwogICAgIH0KIAor
ICAgIFBhdGNoYWJsZUp1bXAgcGF0Y2hhYmxlQnJhbmNoUHRyV2l0aFBhdGNoKFJlbGF0aW9uYWxD
b25kaXRpb24gY29uZCwgQWRkcmVzcyBsZWZ0LCBEYXRhTGFiZWxQdHImIGRhdGFMYWJlbCwgVHJ1
c3RlZEltbVB0ciBpbml0aWFsUmlnaHRWYWx1ZSA9IFRydXN0ZWRJbW1QdHIoMCkpCisgICAgewor
ICAgICAgICBtX21ha2VKdW1wUGF0Y2hhYmxlID0gdHJ1ZTsKKyAgICAgICAgSnVtcCByZXN1bHQg
PSBicmFuY2hQdHJXaXRoUGF0Y2goY29uZCwgbGVmdCwgZGF0YUxhYmVsLCBpbml0aWFsUmlnaHRW
YWx1ZSk7CisgICAgICAgIG1fbWFrZUp1bXBQYXRjaGFibGUgPSBmYWxzZTsKKyAgICAgICAgcmV0
dXJuIFBhdGNoYWJsZUp1bXAocmVzdWx0KTsKKyAgICB9CisKKyAgICBQYXRjaGFibGVKdW1wIHBh
dGNoYWJsZUp1bXAoKQorICAgIHsKKyAgICAgICAgbV9tYWtlSnVtcFBhdGNoYWJsZSA9IHRydWU7
CisgICAgICAgIEp1bXAgcmVzdWx0ID0ganVtcCgpOworICAgICAgICBtX21ha2VKdW1wUGF0Y2hh
YmxlID0gZmFsc2U7CisgICAgICAgIHJldHVybiBQYXRjaGFibGVKdW1wKHJlc3VsdCk7CisgICAg
fQorCiAgICAgQUxXQVlTX0lOTElORSBEYXRhTGFiZWxQdHIgc3RvcmVQdHJXaXRoUGF0Y2goVHJ1
c3RlZEltbVB0ciBpbml0aWFsVmFsdWUsIEltcGxpY2l0QWRkcmVzcyBhZGRyZXNzKQogICAgIHsK
ICAgICAgICAgRGF0YUxhYmVsUHRyIGxhYmVsID0gbW92ZVdpdGhQYXRjaChpbml0aWFsVmFsdWUs
IGRhdGFUZW1wUmVnaXN0ZXIpOwpAQCAtMTYyMSwxOCArMTY0MiwxNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6Ci0KICAgICBBTFdBWVNfSU5MSU5FIEp1bXAganVtcCgpCiAgICAgewog
ICAgICAgICBtb3ZlRml4ZWRXaWR0aEVuY29kaW5nKFRydXN0ZWRJbW0zMigwKSwgZGF0YVRlbXBS
ZWdpc3Rlcik7Ci0gICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmJ4KGRhdGFUZW1wUmVn
aXN0ZXIpLCBpblVuaW50ZXJydXB0ZWRTZXF1ZW5jZSgpID8gQVJNdjdBc3NlbWJsZXI6Okp1bXBO
b0NvbmRpdGlvbkZpeGVkU2l6ZSA6IEFSTXY3QXNzZW1ibGVyOjpKdW1wTm9Db25kaXRpb24pOwor
ICAgICAgICByZXR1cm4gSnVtcChtX2Fzc2VtYmxlci5ieChkYXRhVGVtcFJlZ2lzdGVyKSwgbV9t
YWtlSnVtcFBhdGNoYWJsZSA/IEFSTXY3QXNzZW1ibGVyOjpKdW1wTm9Db25kaXRpb25GaXhlZFNp
emUgOiBBUk12N0Fzc2VtYmxlcjo6SnVtcE5vQ29uZGl0aW9uKTsKICAgICB9CiAKICAgICBBTFdB
WVNfSU5MSU5FIEp1bXAgbWFrZUJyYW5jaChBUk12N0Fzc2VtYmxlcjo6Q29uZGl0aW9uIGNvbmQp
CiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5pdChjb25kLCB0cnVlLCB0cnVlKTsKICAgICAg
ICAgbW92ZUZpeGVkV2lkdGhFbmNvZGluZyhUcnVzdGVkSW1tMzIoMCksIGRhdGFUZW1wUmVnaXN0
ZXIpOwotICAgICAgICByZXR1cm4gSnVtcChtX2Fzc2VtYmxlci5ieChkYXRhVGVtcFJlZ2lzdGVy
KSwgaW5VbmludGVycnVwdGVkU2VxdWVuY2UoKSA/IEFSTXY3QXNzZW1ibGVyOjpKdW1wQ29uZGl0
aW9uRml4ZWRTaXplIDogQVJNdjdBc3NlbWJsZXI6Okp1bXBDb25kaXRpb24sIGNvbmQpOworICAg
ICAgICByZXR1cm4gSnVtcChtX2Fzc2VtYmxlci5ieChkYXRhVGVtcFJlZ2lzdGVyKSwgbV9tYWtl
SnVtcFBhdGNoYWJsZSA/IEFSTXY3QXNzZW1ibGVyOjpKdW1wQ29uZGl0aW9uRml4ZWRTaXplIDog
QVJNdjdBc3NlbWJsZXI6Okp1bXBDb25kaXRpb24sIGNvbmQpOwogICAgIH0KICAgICBBTFdBWVNf
SU5MSU5FIEp1bXAgbWFrZUJyYW5jaChSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQpIHsgcmV0dXJu
IG1ha2VCcmFuY2goYXJtVjdDb25kaXRpb24oY29uZCkpOyB9CiAgICAgQUxXQVlTX0lOTElORSBK
dW1wIG1ha2VCcmFuY2goUmVzdWx0Q29uZGl0aW9uIGNvbmQpIHsgcmV0dXJuIG1ha2VCcmFuY2go
YXJtVjdDb25kaXRpb24oY29uZCkpOyB9CkBAIC0xNzI5LDYgKzE3NDksNyBAQCBwcml2YXRlOgog
ICAgICAgICBBUk12N0Fzc2VtYmxlcjo6cmVsaW5rQ2FsbChjYWxsLmRhdGFMb2NhdGlvbigpLCBk
ZXN0aW5hdGlvbi5leGVjdXRhYmxlQWRkcmVzcygpKTsKICAgICB9CiAKKyAgICBib29sIG1fbWFr
ZUp1bXBQYXRjaGFibGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ29ycmVjdGFibGVKdW1wUG9pbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvcnJlY3RhYmxlSnVtcFBvaW50LmgJKHJl
dmlzaW9uIDExNDU5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29ycmVjdGFi
bGVKdW1wUG9pbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2Ug
SlNDIHsgbmFtZXNwYWNlIERGRyB7CiAvLyBUaHVzIGl0IGdvZXMgdGhyb3VnaCB0aHJlZSBzdGF0
ZXM6CiAvLwogLy8gMSkgTGFiZWwgb2YgdW5wYXRjaGFibGUgYnJhbmNoIG9yIGp1bXAgKGkuZS4g
TWFjcm9Bc3NlbWJsZXI6Okp1bXApLgotLy8gMikgTGFiZWwgb2YgcGF0Y2hhYmxlIGp1bXAgKGku
ZS4gTWFjcm9Bc3NlbWJsZXI6Okp1bXApLgorLy8gMikgTGFiZWwgb2YgcGF0Y2hhYmxlIGp1bXAg
KGkuZS4gTWFjcm9Bc3NlbWJsZXI6OlBhdGNoYWJsZUp1bXApLgogLy8gMykgQ29ycmVjdGVkIHBv
c3QtbGlua2luZyBsYWJlbCBvZiBwYXRjaGFibGUganVtcCAoaS5lLiBDb2RlTG9jYXRpb25KdW1w
KS4KIC8vCiAvLyBUaGUgc2V0dGluZyBvZiBzdGF0ZSAoMSkgY29ycmVzcG9uZHMgdG8gcGxhbnRp
bmcgdGhlIGluLWxpbmUgdW5wYXRjaGFibGUKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogI2Vu
ZGlmCiAgICAgfQogICAgIAotICAgIHZvaWQgc3dpdGNoVG9MYXRlSnVtcChNYWNyb0Fzc2VtYmxl
cjo6SnVtcCBjaGVjaykKKyAgICB2b2lkIHN3aXRjaFRvTGF0ZUp1bXAoTWFjcm9Bc3NlbWJsZXI6
OlBhdGNoYWJsZUp1bXAgY2hlY2spCiAgICAgewogI2lmbmRlZiBOREVCVUcKICAgICAgICAgQVNT
RVJUKG1fbW9kZSA9PSBJbml0aWFsSnVtcCk7CkBAIC03NCwxMiArNzQsMTIgQEAgcHVibGljOgog
I2VuZGlmCiAgICAgICAgIC8vIExhdGUganVtcHMgc2hvdWxkIG9ubHkgZXZlciBiZSByZWFsIGp1
bXBzLgogI2lmIENQVShBUk1fVEhVTUIyKQotICAgICAgICBBU1NFUlQoY2hlY2subV90eXBlID09
IEFSTXY3QXNzZW1ibGVyOjpKdW1wTm9Db25kaXRpb25GaXhlZFNpemUpOwotICAgICAgICBBU1NF
UlQoY2hlY2subV9jb25kaXRpb24gPT0gQVJNdjdBc3NlbWJsZXI6OkNvbmRpdGlvbkludmFsaWQp
OworICAgICAgICBBU1NFUlQoY2hlY2subV9qdW1wLm1fdHlwZSA9PSBBUk12N0Fzc2VtYmxlcjo6
SnVtcE5vQ29uZGl0aW9uRml4ZWRTaXplKTsKKyAgICAgICAgQVNTRVJUKGNoZWNrLm1fanVtcC5t
X2NvbmRpdGlvbiA9PSBBUk12N0Fzc2VtYmxlcjo6Q29uZGl0aW9uSW52YWxpZCk7CiAgICAgICAg
IG1fdHlwZSA9IEFSTXY3QXNzZW1ibGVyOjpKdW1wTm9Db25kaXRpb25GaXhlZFNpemU7CiAgICAg
ICAgIG1fY29uZGl0aW9uID0gQVJNdjdBc3NlbWJsZXI6OkNvbmRpdGlvbkludmFsaWQ7CiAjZW5k
aWYKLSAgICAgICAgbV9jb2RlT2Zmc2V0ID0gY2hlY2subV9sYWJlbC5tX29mZnNldDsKKyAgICAg
ICAgbV9jb2RlT2Zmc2V0ID0gY2hlY2subV9qdW1wLm1fbGFiZWwubV9vZmZzZXQ7CiAgICAgfQog
ICAgIAogICAgIHZvaWQgY29ycmVjdEluaXRpYWxKdW1wKExpbmtCdWZmZXImIGxpbmtCdWZmZXIp
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAko
cmV2aXNpb24gMTE0NTk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21w
aWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDkgKzQ1LDcgQEAgdm9pZCBKSVRDb21waWxl
cjo6bGlua09TUkV4aXRzKCkKICAgICAgICAgT1NSRXhpdCYgZXhpdCA9IGNvZGVCbG9jaygpLT5v
c3JFeGl0KGkpOwogICAgICAgICBleGl0Lm1fY2hlY2suaW5pdGlhbEp1bXAoKS5saW5rKHRoaXMp
OwogICAgICAgICBzdG9yZTMyKFRydXN0ZWRJbW0zMihpKSwgJmdsb2JhbERhdGEoKS0+b3NyRXhp
dEluZGV4KTsKLSAgICAgICAgYmVnaW5VbmludGVycnVwdGVkU2VxdWVuY2UoKTsKLSAgICAgICAg
ZXhpdC5tX2NoZWNrLnN3aXRjaFRvTGF0ZUp1bXAoanVtcCgpKTsKLSAgICAgICAgZW5kVW5pbnRl
cnJ1cHRlZFNlcXVlbmNlKCk7CisgICAgICAgIGV4aXQubV9jaGVjay5zd2l0Y2hUb0xhdGVKdW1w
KHBhdGNoYWJsZUp1bXAoKSk7CiAgICAgfQogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0pJVENvbXBpbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdKSVRDb21waWxlci5oCShyZXZpc2lvbiAxMTQ1OTkpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw5
ICsxMzAsOSBAQCBzdHJ1Y3QgUHJvcGVydHlBY2Nlc3NSZWNvcmQgewogICAgIGVudW0gUmVnaXN0
ZXJNb2RlIHsgUmVnaXN0ZXJzRmx1c2hlZCwgUmVnaXN0ZXJzSW5Vc2UgfTsKICAgICAKICNpZiBV
U0UoSlNWQUxVRTY0KQotICAgIFByb3BlcnR5QWNjZXNzUmVjb3JkKENvZGVPcmlnaW4gY29kZU9y
aWdpbiwgTWFjcm9Bc3NlbWJsZXI6OkRhdGFMYWJlbFB0ciBkZWx0YUNoZWNrSW1tVG9DYWxsLCBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBmdW5jdGlvbkNhbGwsIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGRl
bHRhQ2FsbFRvU3RydWN0Q2hlY2ssIE1hY3JvQXNzZW1ibGVyOjpEYXRhTGFiZWxDb21wYWN0IGRl
bHRhQ2FsbFRvTG9hZE9yU3RvcmUsIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBkZWx0YUNhbGxUb1Ns
b3dDYXNlLCBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgZGVsdGFDYWxsVG9Eb25lLCBpbnQ4X3QgYmFz
ZUdQUiwgaW50OF90IHZhbHVlR1BSLCBpbnQ4X3Qgc2NyYXRjaEdQUiwgUmVnaXN0ZXJNb2RlIHJl
Z2lzdGVyTW9kZSA9IFJlZ2lzdGVyc0luVXNlKQorICAgIFByb3BlcnR5QWNjZXNzUmVjb3JkKENv
ZGVPcmlnaW4gY29kZU9yaWdpbiwgTWFjcm9Bc3NlbWJsZXI6OkRhdGFMYWJlbFB0ciBkZWx0YUNo
ZWNrSW1tVG9DYWxsLCBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBmdW5jdGlvbkNhbGwsIE1hY3JvQXNz
ZW1ibGVyOjpQYXRjaGFibGVKdW1wIGRlbHRhQ2FsbFRvU3RydWN0Q2hlY2ssIE1hY3JvQXNzZW1i
bGVyOjpEYXRhTGFiZWxDb21wYWN0IGRlbHRhQ2FsbFRvTG9hZE9yU3RvcmUsIE1hY3JvQXNzZW1i
bGVyOjpMYWJlbCBkZWx0YUNhbGxUb1Nsb3dDYXNlLCBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgZGVs
dGFDYWxsVG9Eb25lLCBpbnQ4X3QgYmFzZUdQUiwgaW50OF90IHZhbHVlR1BSLCBpbnQ4X3Qgc2Ny
YXRjaEdQUiwgUmVnaXN0ZXJNb2RlIHJlZ2lzdGVyTW9kZSA9IFJlZ2lzdGVyc0luVXNlKQogI2Vs
aWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBQcm9wZXJ0eUFjY2Vzc1JlY29yZChDb2RlT3JpZ2lu
IGNvZGVPcmlnaW4sIE1hY3JvQXNzZW1ibGVyOjpEYXRhTGFiZWxQdHIgZGVsdGFDaGVja0ltbVRv
Q2FsbCwgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgZnVuY3Rpb25DYWxsLCBNYWNyb0Fzc2VtYmxlcjo6
SnVtcCBkZWx0YUNhbGxUb1N0cnVjdENoZWNrLCBNYWNyb0Fzc2VtYmxlcjo6RGF0YUxhYmVsQ29t
cGFjdCBkZWx0YUNhbGxUb1RhZ0xvYWRPclN0b3JlLCBNYWNyb0Fzc2VtYmxlcjo6RGF0YUxhYmVs
Q29tcGFjdCBkZWx0YUNhbGxUb1BheWxvYWRMb2FkT3JTdG9yZSwgTWFjcm9Bc3NlbWJsZXI6Okxh
YmVsIGRlbHRhQ2FsbFRvU2xvd0Nhc2UsIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBkZWx0YUNhbGxU
b0RvbmUsIGludDhfdCBiYXNlR1BSLCBpbnQ4X3QgdmFsdWVUYWdHUFIsIGludDhfdCB2YWx1ZUdQ
UiwgaW50OF90IHNjcmF0Y2hHUFIsIFJlZ2lzdGVyTW9kZSByZWdpc3Rlck1vZGUgPSBSZWdpc3Rl
cnNJblVzZSkKKyAgICBQcm9wZXJ0eUFjY2Vzc1JlY29yZChDb2RlT3JpZ2luIGNvZGVPcmlnaW4s
IE1hY3JvQXNzZW1ibGVyOjpEYXRhTGFiZWxQdHIgZGVsdGFDaGVja0ltbVRvQ2FsbCwgTWFjcm9B
c3NlbWJsZXI6OkNhbGwgZnVuY3Rpb25DYWxsLCBNYWNyb0Fzc2VtYmxlcjo6UGF0Y2hhYmxlSnVt
cCBkZWx0YUNhbGxUb1N0cnVjdENoZWNrLCBNYWNyb0Fzc2VtYmxlcjo6RGF0YUxhYmVsQ29tcGFj
dCBkZWx0YUNhbGxUb1RhZ0xvYWRPclN0b3JlLCBNYWNyb0Fzc2VtYmxlcjo6RGF0YUxhYmVsQ29t
cGFjdCBkZWx0YUNhbGxUb1BheWxvYWRMb2FkT3JTdG9yZSwgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IGRlbHRhQ2FsbFRvU2xvd0Nhc2UsIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBkZWx0YUNhbGxUb0Rv
bmUsIGludDhfdCBiYXNlR1BSLCBpbnQ4X3QgdmFsdWVUYWdHUFIsIGludDhfdCB2YWx1ZUdQUiwg
aW50OF90IHNjcmF0Y2hHUFIsIFJlZ2lzdGVyTW9kZSByZWdpc3Rlck1vZGUgPSBSZWdpc3RlcnNJ
blVzZSkKICNlbmRpZgogICAgICAgICA6IG1fY29kZU9yaWdpbihjb2RlT3JpZ2luKQogICAgICAg
ICAsIG1fZGVsdGFDaGVja0ltbVRvQ2FsbChkZWx0YUNoZWNrSW1tVG9DYWxsKQpAQCAtMTU5LDcg
KzE1OSw3IEBAIHN0cnVjdCBQcm9wZXJ0eUFjY2Vzc1JlY29yZCB7CiAgICAgQ29kZU9yaWdpbiBt
X2NvZGVPcmlnaW47CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkRhdGFMYWJlbFB0ciBtX2RlbHRhQ2hl
Y2tJbW1Ub0NhbGw7CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgbV9mdW5jdGlvbkNhbGw7Ci0g
ICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbV9kZWx0YUNhbGxUb1N0cnVjdENoZWNrOworICAgIE1h
Y3JvQXNzZW1ibGVyOjpQYXRjaGFibGVKdW1wIG1fZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjazsKICNp
ZiBVU0UoSlNWQUxVRTY0KQogICAgIE1hY3JvQXNzZW1ibGVyOjpEYXRhTGFiZWxDb21wYWN0IG1f
ZGVsdGFDYWxsVG9Mb2FkT3JTdG9yZTsKICNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAJKHJldmlzaW9uIDExNDU5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5NSwxMCArNDk1LDgg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6bm9uU3BlY3VsYXRpdmVVSW50MwogCiBKSVRDb21waWxl
cjo6Q2FsbCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZChDb2RlT3JpZ2luIGNvZGVPcmln
aW4sIEdQUlJlZyBiYXNlVGFnR1BST3JOb25lLCBHUFJSZWcgYmFzZVBheWxvYWRHUFIsIEdQUlJl
ZyByZXN1bHRUYWdHUFIsIEdQUlJlZyByZXN1bHRQYXlsb2FkR1BSLCBHUFJSZWcgc2NyYXRjaEdQ
UiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGhU
YXJnZXQsIFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGlsbE1vZGUpCiB7Ci0gICAgbV9qaXQuYmVnaW5V
bmludGVycnVwdGVkU2VxdWVuY2UoKTsKICAgICBKSVRDb21waWxlcjo6RGF0YUxhYmVsUHRyIHN0
cnVjdHVyZVRvQ29tcGFyZTsKLSAgICBKSVRDb21waWxlcjo6SnVtcCBzdHJ1Y3R1cmVDaGVjayA9
IG1faml0LmJyYW5jaFB0cldpdGhQYXRjaChKSVRDb21waWxlcjo6Tm90RXF1YWwsIEpJVENvbXBp
bGVyOjpBZGRyZXNzKGJhc2VQYXlsb2FkR1BSLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgpKSwg
c3RydWN0dXJlVG9Db21wYXJlLCBKSVRDb21waWxlcjo6VHJ1c3RlZEltbVB0cihyZWludGVycHJl
dF9jYXN0PHZvaWQqPigtMSkpKTsKLSAgICBtX2ppdC5lbmRVbmludGVycnVwdGVkU2VxdWVuY2Uo
KTsKKyAgICBKSVRDb21waWxlcjo6UGF0Y2hhYmxlSnVtcCBzdHJ1Y3R1cmVDaGVjayA9IG1faml0
LnBhdGNoYWJsZUJyYW5jaFB0cldpdGhQYXRjaChKSVRDb21waWxlcjo6Tm90RXF1YWwsIEpJVENv
bXBpbGVyOjpBZGRyZXNzKGJhc2VQYXlsb2FkR1BSLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgp
KSwgc3RydWN0dXJlVG9Db21wYXJlLCBKSVRDb21waWxlcjo6VHJ1c3RlZEltbVB0cihyZWludGVy
cHJldF9jYXN0PHZvaWQqPigtMSkpKTsKICAgICAKICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBp
bGVyOjpBZGRyZXNzKGJhc2VQYXlsb2FkR1BSLCBKU09iamVjdDo6b2Zmc2V0T2ZQcm9wZXJ0eVN0
b3JhZ2UoKSksIHJlc3VsdFBheWxvYWRHUFIpOwogICAgIEpJVENvbXBpbGVyOjpEYXRhTGFiZWxD
b21wYWN0IHRhZ0xvYWRXaXRoUGF0Y2ggPSBtX2ppdC5sb2FkMzJXaXRoQ29tcGFjdEFkZHJlc3NP
ZmZzZXRQYXRjaChKSVRDb21waWxlcjo6QWRkcmVzcyhyZXN1bHRQYXlsb2FkR1BSLCBPQkpFQ1Rf
T0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnRhZykpLCByZXN1bHRUYWdH
UFIpOwpAQCAtNTA2LDcgKzUwNCw3IEBAIEpJVENvbXBpbGVyOjpDYWxsIFNwZWN1bGF0aXZlSklU
OjpjYWNoZWQKICAgICAKICAgICBKSVRDb21waWxlcjo6SnVtcCBkb25lID0gbV9qaXQuanVtcCgp
OwogCi0gICAgc3RydWN0dXJlQ2hlY2subGluaygmbV9qaXQpOworICAgIHN0cnVjdHVyZUNoZWNr
Lm1fanVtcC5saW5rKCZtX2ppdCk7CiAgICAgCiAgICAgaWYgKHNsb3dQYXRoVGFyZ2V0LmlzU2V0
KCkpCiAgICAgICAgIHNsb3dQYXRoVGFyZ2V0LmxpbmsoJm1faml0KTsKQEAgLTUzNCwxMCArNTMy
LDggQEAgSklUQ29tcGlsZXI6OkNhbGwgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZAogCiB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjYWNoZWRQdXRCeUlkKENvZGVPcmlnaW4gY29kZU9yaWdpbiwgR1BSUmVn
IGJhc2VQYXlsb2FkR1BSLCBHUFJSZWcgdmFsdWVUYWdHUFIsIEdQUlJlZyB2YWx1ZVBheWxvYWRH
UFIsIEVkZ2UgdmFsdWVVc2UsIEdQUlJlZyBzY3JhdGNoR1BSLCB1bnNpZ25lZCBpZGVudGlmaWVy
TnVtYmVyLCBQdXRLaW5kIHB1dEtpbmQsIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoVGFyZ2V0
KQogewotICAgIG1faml0LmJlZ2luVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKCk7CiAgICAgSklUQ29t
cGlsZXI6OkRhdGFMYWJlbFB0ciBzdHJ1Y3R1cmVUb0NvbXBhcmU7Ci0gICAgSklUQ29tcGlsZXI6
Okp1bXAgc3RydWN0dXJlQ2hlY2sgPSBtX2ppdC5icmFuY2hQdHJXaXRoUGF0Y2goSklUQ29tcGls
ZXI6Ok5vdEVxdWFsLCBKSVRDb21waWxlcjo6QWRkcmVzcyhiYXNlUGF5bG9hZEdQUiwgSlNDZWxs
OjpzdHJ1Y3R1cmVPZmZzZXQoKSksIHN0cnVjdHVyZVRvQ29tcGFyZSwgSklUQ29tcGlsZXI6OlRy
dXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oLTEpKSk7Ci0gICAgbV9qaXQuZW5k
VW5pbnRlcnJ1cHRlZFNlcXVlbmNlKCk7CisgICAgSklUQ29tcGlsZXI6OlBhdGNoYWJsZUp1bXAg
c3RydWN0dXJlQ2hlY2sgPSBtX2ppdC5wYXRjaGFibGVCcmFuY2hQdHJXaXRoUGF0Y2goSklUQ29t
cGlsZXI6Ok5vdEVxdWFsLCBKSVRDb21waWxlcjo6QWRkcmVzcyhiYXNlUGF5bG9hZEdQUiwgSlND
ZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksIHN0cnVjdHVyZVRvQ29tcGFyZSwgSklUQ29tcGlsZXI6
OlRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oLTEpKSk7CiAKICAgICB3cml0
ZUJhcnJpZXIoYmFzZVBheWxvYWRHUFIsIHZhbHVlVGFnR1BSLCB2YWx1ZVVzZSwgV3JpdGVCYXJy
aWVyRm9yUHJvcGVydHlBY2Nlc3MsIHNjcmF0Y2hHUFIpOwogCkBAIC01NDcsNyArNTQzLDcgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkUHV0QnlJZChDb2RlTwogCiAgICAgSklUQ29tcGls
ZXI6Okp1bXAgZG9uZSA9IG1faml0Lmp1bXAoKTsKIAotICAgIHN0cnVjdHVyZUNoZWNrLmxpbmso
Jm1faml0KTsKKyAgICBzdHJ1Y3R1cmVDaGVjay5tX2p1bXAubGluaygmbV9qaXQpOwogCiAgICAg
aWYgKHNsb3dQYXRoVGFyZ2V0LmlzU2V0KCkpCiAgICAgICAgIHNsb3dQYXRoVGFyZ2V0Lmxpbmso
Jm1faml0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMTE0NTk5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgwLDE0
ICs0ODAsMTQgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6bm9uU3BlY3VsYXRpdmVVSW50MwogSklU
Q29tcGlsZXI6OkNhbGwgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5SWQoQ29kZU9yaWdpbiBj
b2RlT3JpZ2luLCBHUFJSZWcgYmFzZUdQUiwgR1BSUmVnIHJlc3VsdEdQUiwgR1BSUmVnIHNjcmF0
Y2hHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQ
YXRoVGFyZ2V0LCBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlKQogewogICAgIEpJVENvbXBp
bGVyOjpEYXRhTGFiZWxQdHIgc3RydWN0dXJlVG9Db21wYXJlOwotICAgIEpJVENvbXBpbGVyOjpK
dW1wIHN0cnVjdHVyZUNoZWNrID0gbV9qaXQuYnJhbmNoUHRyV2l0aFBhdGNoKEpJVENvbXBpbGVy
OjpOb3RFcXVhbCwgSklUQ29tcGlsZXI6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1
cmVPZmZzZXQoKSksIHN0cnVjdHVyZVRvQ29tcGFyZSwgSklUQ29tcGlsZXI6OlRydXN0ZWRJbW1Q
dHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oLTEpKSk7CisgICAgSklUQ29tcGlsZXI6OlBhdGNo
YWJsZUp1bXAgc3RydWN0dXJlQ2hlY2sgPSBtX2ppdC5wYXRjaGFibGVCcmFuY2hQdHJXaXRoUGF0
Y2goSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCBKSVRDb21waWxlcjo6QWRkcmVzcyhiYXNlR1BSLCBK
U0NlbGw6OnN0cnVjdHVyZU9mZnNldCgpKSwgc3RydWN0dXJlVG9Db21wYXJlLCBKSVRDb21waWxl
cjo6VHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPigtMSkpKTsKICAgICAKICAg
ICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGJhc2VHUFIsIEpTT2JqZWN0Ojpv
ZmZzZXRPZlByb3BlcnR5U3RvcmFnZSgpKSwgcmVzdWx0R1BSKTsKICAgICBKSVRDb21waWxlcjo6
RGF0YUxhYmVsQ29tcGFjdCBsb2FkV2l0aFBhdGNoID0gbV9qaXQubG9hZFB0cldpdGhDb21wYWN0
QWRkcmVzc09mZnNldFBhdGNoKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJlc3VsdEdQUiwgMCksIHJl
c3VsdEdQUik7CiAgICAgCiAgICAgSklUQ29tcGlsZXI6Okp1bXAgZG9uZSA9IG1faml0Lmp1bXAo
KTsKIAotICAgIHN0cnVjdHVyZUNoZWNrLmxpbmsoJm1faml0KTsKKyAgICBzdHJ1Y3R1cmVDaGVj
ay5tX2p1bXAubGluaygmbV9qaXQpOwogICAgIAogICAgIGlmIChzbG93UGF0aFRhcmdldC5pc1Nl
dCgpKQogICAgICAgICBzbG93UGF0aFRhcmdldC5saW5rKCZtX2ppdCk7CkBAIC01MTYsNyArNTE2
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkUHV0QnlJZChDb2RlTwogewogICAgIAog
ICAgIEpJVENvbXBpbGVyOjpEYXRhTGFiZWxQdHIgc3RydWN0dXJlVG9Db21wYXJlOwotICAgIEpJ
VENvbXBpbGVyOjpKdW1wIHN0cnVjdHVyZUNoZWNrID0gbV9qaXQuYnJhbmNoUHRyV2l0aFBhdGNo
KEpJVENvbXBpbGVyOjpOb3RFcXVhbCwgSklUQ29tcGlsZXI6OkFkZHJlc3MoYmFzZUdQUiwgSlND
ZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksIHN0cnVjdHVyZVRvQ29tcGFyZSwgSklUQ29tcGlsZXI6
OlRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oLTEpKSk7CisgICAgSklUQ29t
cGlsZXI6OlBhdGNoYWJsZUp1bXAgc3RydWN0dXJlQ2hlY2sgPSBtX2ppdC5wYXRjaGFibGVCcmFu
Y2hQdHJXaXRoUGF0Y2goSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCBKSVRDb21waWxlcjo6QWRkcmVz
cyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgpKSwgc3RydWN0dXJlVG9Db21wYXJl
LCBKSVRDb21waWxlcjo6VHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPigtMSkp
KTsKIAogICAgIHdyaXRlQmFycmllcihiYXNlR1BSLCB2YWx1ZUdQUiwgdmFsdWVVc2UsIFdyaXRl
QmFycmllckZvclByb3BlcnR5QWNjZXNzLCBzY3JhdGNoR1BSKTsKIApAQCAtNTI1LDcgKzUyNSw3
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQoQ29kZU8KIAogICAgIEpJVENv
bXBpbGVyOjpKdW1wIGRvbmUgPSBtX2ppdC5qdW1wKCk7CiAKLSAgICBzdHJ1Y3R1cmVDaGVjay5s
aW5rKCZtX2ppdCk7CisgICAgc3RydWN0dXJlQ2hlY2subV9qdW1wLmxpbmsoJm1faml0KTsKIAog
ICAgIGlmIChzbG93UGF0aFRhcmdldC5pc1NldCgpKQogICAgICAgICBzbG93UGF0aFRhcmdldC5s
aW5rKCZtX2ppdCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHJldmlzaW9uIDExNDU5
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHdvcmtpbmcgY29weSkKQEAg
LTE1Niw3ICsxNTYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbFJldHVybkxvY2F0aW9uOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwg
aG90UGF0aEJlZ2luOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6RGF0YUxhYmVsUHRyIGdldFN0
cnVjdHVyZVRvQ29tcGFyZTsKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgZ2V0U3RydWN0
dXJlQ2hlY2s7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpQYXRjaGFibGVKdW1wIGdldFN0cnVj
dHVyZUNoZWNrOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpE
YXRhTGFiZWxDb21wYWN0IGdldERpc3BsYWNlbWVudExhYmVsOwogI2Vsc2UKQEAgLTE4Nyw5ICsx
ODcsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBQcm9wZXJ0eVN0dWJDb21waWxhdGlv
bkluZm8oUHJvcGVydHlTdHViR2V0QnlJZF9ULCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBNYWNy
b0Fzc2VtYmxlcjo6TGFiZWwgaG90UGF0aEJlZ2luLAogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAg
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6RGF0YUxhYmVsUHRyIHN0cnVjdHVyZVRvQ29tcGFyZSwg
TWFjcm9Bc3NlbWJsZXI6Okp1bXAgc3RydWN0dXJlQ2hlY2ssIE1hY3JvQXNzZW1ibGVyOjpEYXRh
TGFiZWxDb21wYWN0IGRpc3BsYWNlbWVudExhYmVsLCBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgcHV0
UmVzdWx0KQorICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkRhdGFMYWJlbFB0ciBzdHJ1Y3R1
cmVUb0NvbXBhcmUsIE1hY3JvQXNzZW1ibGVyOjpQYXRjaGFibGVKdW1wIHN0cnVjdHVyZUNoZWNr
LCBNYWNyb0Fzc2VtYmxlcjo6RGF0YUxhYmVsQ29tcGFjdCBkaXNwbGFjZW1lbnRMYWJlbCwgTWFj
cm9Bc3NlbWJsZXI6OkxhYmVsIHB1dFJlc3VsdCkKICNlbHNlCi0gICAgICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6RGF0YUxhYmVsUHRyIHN0cnVjdHVyZVRvQ29tcGFyZSwgTWFjcm9Bc3NlbWJsZXI6
Okp1bXAgc3RydWN0dXJlQ2hlY2ssIE1hY3JvQXNzZW1ibGVyOjpEYXRhTGFiZWxDb21wYWN0IGRp
c3BsYWNlbWVudExhYmVsMSwgTWFjcm9Bc3NlbWJsZXI6OkRhdGFMYWJlbENvbXBhY3QgZGlzcGxh
Y2VtZW50TGFiZWwyLCBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgcHV0UmVzdWx0KQorICAgICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6OkRhdGFMYWJlbFB0ciBzdHJ1Y3R1cmVUb0NvbXBhcmUsIE1hY3Jv
QXNzZW1ibGVyOjpQYXRjaGFibGVKdW1wIHN0cnVjdHVyZUNoZWNrLCBNYWNyb0Fzc2VtYmxlcjo6
RGF0YUxhYmVsQ29tcGFjdCBkaXNwbGFjZW1lbnRMYWJlbDEsIE1hY3JvQXNzZW1ibGVyOjpEYXRh
TGFiZWxDb21wYWN0IGRpc3BsYWNlbWVudExhYmVsMiwgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIHB1
dFJlc3VsdCkKICNlbmRpZgogICAgICAgICAgICAgOiBtX3R5cGUoR2V0QnlJZCkKICAgICAgICAg
ICAgICwgYnl0ZWNvZGVJbmRleChieXRlY29kZUluZGV4KQpAQCAtNTY0LDkgKzU2NCw5IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGVuZFVuaW50ZXJydXB0ZWRTZXF1ZW5jZShpbnQs
IGludCwgaW50KTsKIAogI2Vsc2UKLSNkZWZpbmUgQkVHSU5fVU5JTlRFUlJVUFRFRF9TRVFVRU5D
RShuYW1lKSAgZG8geyBiZWdpblVuaW50ZXJydXB0ZWRTZXF1ZW5jZSgpOyB9IHdoaWxlIChmYWxz
ZSkKLSNkZWZpbmUgRU5EX1VOSU5URVJSVVBURURfU0VRVUVOQ0UobmFtZSkgIGRvIHsgZW5kVW5p
bnRlcnJ1cHRlZFNlcXVlbmNlKCk7IH0gd2hpbGUgKGZhbHNlKQotI2RlZmluZSBFTkRfVU5JTlRF
UlJVUFRFRF9TRVFVRU5DRV9GT1JfUFVUKG5hbWUsIGRzdCkgZG8geyBlbmRVbmludGVycnVwdGVk
U2VxdWVuY2UoKTsgfSB3aGlsZSAoZmFsc2UpCisjZGVmaW5lIEJFR0lOX1VOSU5URVJSVVBURURf
U0VRVUVOQ0UobmFtZSkKKyNkZWZpbmUgRU5EX1VOSU5URVJSVVBURURfU0VRVUVOQ0UobmFtZSkK
KyNkZWZpbmUgRU5EX1VOSU5URVJSVVBURURfU0VRVUVOQ0VfRk9SX1BVVChuYW1lLCBkc3QpCiAj
ZW5kaWYKIAogICAgICAgICB2b2lkIGVtaXRfY29tcGFyZUFuZEp1bXAoT3Bjb2RlSUQsIHVuc2ln
bmVkIG9wMSwgdW5zaWduZWQgb3AyLCB1bnNpZ25lZCB0YXJnZXQsIFJlbGF0aW9uYWxDb25kaXRp
b24pOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2RzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2Rz
LmgJKHJldmlzaW9uIDExNDU5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lTWV0aG9kcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsNyArMTMyLDYgQEAgQUxXQVlTX0lO
TElORSBib29sIEpJVDo6YXRKdW1wVGFyZ2V0KCkKIAogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6
YmVnaW5VbmludGVycnVwdGVkU2VxdWVuY2UoaW50IGluc25TcGFjZSwgaW50IGNvbnN0U3BhY2Up
CiB7Ci0gICAgSlNJbnRlcmZhY2VKSVQ6OmJlZ2luVW5pbnRlcnJ1cHRlZFNlcXVlbmNlKCk7CiAj
aWYgQ1BVKEFSTV9UUkFESVRJT05BTCkKICNpZm5kZWYgTkRFQlVHCiAgICAgLy8gRW5zdXJlIHRo
ZSBsYWJlbCBhZnRlciB0aGUgc2VxdWVuY2UgY2FuIGFsc28gZml0CkBAIC0xODIsNyArMTgxLDYg
QEAgQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW5kVW5pbnRlcnJ1cHRlZAogICAgIEFTU0VSVChk
aWZmZXJlbmNlQmV0d2VlbihtX3VuaW50ZXJydXB0ZWRJbnN0cnVjdGlvblNlcXVlbmNlQmVnaW4s
IGxhYmVsKCkpIDw9IGluc25TcGFjZSk7CiAgICAgQVNTRVJUKHNpemVPZkNvbnN0YW50UG9vbCgp
IC0gbV91bmludGVycnVwdGVkQ29uc3RhbnRTZXF1ZW5jZUJlZ2luIDw9IGNvbnN0U3BhY2UpOwog
I2VuZGlmCi0gICAgSlNJbnRlcmZhY2VKSVQ6OmVuZFVuaW50ZXJydXB0ZWRTZXF1ZW5jZSgpOwog
fQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlB
Y2Nlc3MzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAkocmV2aXNpb24gMTE0NTk5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzI5LDcgKzMyOSw3IEBAIHZvaWQgSklUOjpjb21waWxlR2V0QnlJZEhvdFBhdGgoKQog
ICAgIExhYmVsIGhvdFBhdGhCZWdpbih0aGlzKTsKICAgICAKICAgICBEYXRhTGFiZWxQdHIgc3Ry
dWN0dXJlVG9Db21wYXJlOwotICAgIEp1bXAgc3RydWN0dXJlQ2hlY2sgPSBicmFuY2hQdHJXaXRo
UGF0Y2goTm90RXF1YWwsIEFkZHJlc3MocmVnVDAsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkp
LCBzdHJ1Y3R1cmVUb0NvbXBhcmUsIFRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lk
Kj4ocGF0Y2hHZXRCeUlkRGVmYXVsdFN0cnVjdHVyZSkpKTsKKyAgICBQYXRjaGFibGVKdW1wIHN0
cnVjdHVyZUNoZWNrID0gcGF0Y2hhYmxlQnJhbmNoUHRyV2l0aFBhdGNoKE5vdEVxdWFsLCBBZGRy
ZXNzKHJlZ1QwLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgpKSwgc3RydWN0dXJlVG9Db21wYXJl
LCBUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHBhdGNoR2V0QnlJZERlZmF1
bHRTdHJ1Y3R1cmUpKSk7CiAgICAgYWRkU2xvd0Nhc2Uoc3RydWN0dXJlQ2hlY2spOwogICAgIAog
ICAgIGxvYWRQdHIoQWRkcmVzcyhyZWdUMCwgSlNPYmplY3Q6Om9mZnNldE9mUHJvcGVydHlTdG9y
YWdlKCkpLCByZWdUMik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3Bl
cnR5QWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFByb3BlcnR5QWNjZXNzLmNwcAkocmV2aXNpb24gMTE0NTk5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2OSw3
ICszNjksNyBAQCB2b2lkIEpJVDo6Y29tcGlsZUdldEJ5SWRIb3RQYXRoKGludCBiYXNlCiAgICAg
TGFiZWwgaG90UGF0aEJlZ2luKHRoaXMpOwogCiAgICAgRGF0YUxhYmVsUHRyIHN0cnVjdHVyZVRv
Q29tcGFyZTsKLSAgICBKdW1wIHN0cnVjdHVyZUNoZWNrID0gYnJhbmNoUHRyV2l0aFBhdGNoKE5v
dEVxdWFsLCBBZGRyZXNzKHJlZ1QwLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgpKSwgc3RydWN0
dXJlVG9Db21wYXJlLCBUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHBhdGNo
R2V0QnlJZERlZmF1bHRTdHJ1Y3R1cmUpKSk7CisgICAgUGF0Y2hhYmxlSnVtcCBzdHJ1Y3R1cmVD
aGVjayA9IHBhdGNoYWJsZUJyYW5jaFB0cldpdGhQYXRjaChOb3RFcXVhbCwgQWRkcmVzcyhyZWdU
MCwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksIHN0cnVjdHVyZVRvQ29tcGFyZSwgVHJ1c3Rl
ZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihwYXRjaEdldEJ5SWREZWZhdWx0U3RydWN0
dXJlKSkpOwogICAgIGFkZFNsb3dDYXNlKHN0cnVjdHVyZUNoZWNrKTsKIAogICAgIGxvYWRQdHIo
QWRkcmVzcyhyZWdUMCwgSlNPYmplY3Q6Om9mZnNldE9mUHJvcGVydHlTdG9yYWdlKCkpLCByZWdU
MCk7Cg==
</data>
<flag name="review"
          id="143457"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>