<?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>159690</bug_id>
          
          <creation_ts>2016-07-12 14:52:44 -0700</creation_ts>
          <short_desc>More stack limit and reserved zone renaming.</short_desc>
          <delta_ts>2016-07-12 15:07:46 -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>WebKit Local 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>
          
          <blocked>159442</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1210173</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-07-12 14:52:44 -0700</bug_when>
    <thetext>We should rename the following:
    osStackLimitWithReserve =&gt; softStackLimit
    reservedZoneSize =&gt; softReservedZoneSize
    errorModeReservedZoneSize =&gt; reservedZoneSize</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210175</commentid>
    <comment_count>1</comment_count>
      <attachid>283451</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-07-12 14:55:55 -0700</bug_when>
    <thetext>Created attachment 283451
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210181</commentid>
    <comment_count>2</comment_count>
      <attachid>283451</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-07-12 15:01:28 -0700</bug_when>
    <thetext>Comment on attachment 283451
proposed patch.

Geoff rubber-stamped this offline.  Will land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210189</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-07-12 15:07:46 -0700</bug_when>
    <thetext>Landed in r203130: &lt;http://trac.webkit.org/r203130&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283451</attachid>
            <date>2016-07-12 14:55:55 -0700</date>
            <delta_ts>2016-07-12 15:01:28 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-159690.patch</filename>
            <type>text/plain</type>
            <size>25489</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjAzMTI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDczIEBA
CisyMDE2LTA3LTEyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBN
b3JlIHN0YWNrIGxpbWl0IGFuZCByZXNlcnZlZCB6b25lIHJlbmFtaW5nLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NjkwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugc2hvdWxkIHJlbmFtZSB0aGUg
Zm9sbG93aW5nOgorICAgICAgICAgICAgb3NTdGFja0xpbWl0V2l0aFJlc2VydmUgPT4gc29mdFN0
YWNrTGltaXQKKyAgICAgICAgICAgIHJlc2VydmVkWm9uZVNpemUgPT4gc29mdFJlc2VydmVkWm9u
ZVNpemUKKyAgICAgICAgICAgIGVycm9yTW9kZVJlc2VydmVkWm9uZVNpemUgPT4gcmVzZXJ2ZWRa
b25lU2l6ZQorCisgICAgICAgICogQVBJL3Rlc3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3Qu
Y3BwOgorICAgICAgICAodGVzdFBpbmdQb25nU3RhY2tPdmVyZmxvdyk6CisgICAgICAgICogZGZn
L0RGR0pJVENvbXBpbGVyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6Y29t
cGlsZSk6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29tcGlsZXI6OmNvbXBpbGVGdW5jdGlvbik6
CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
REZHOjpMb3dlckRGR1RvQjM6Omxvd2VyKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9DTG9vcFN0
YWNrLmNwcDoKKyAgICAgICAgKEpTQzo6Q0xvb3BTdGFjazo6Q0xvb3BTdGFjayk6CisgICAgICAg
IChKU0M6OkNMb29wU3RhY2s6Omdyb3cpOgorICAgICAgICAoSlNDOjpDTG9vcFN0YWNrOjpyZWxl
YXNlRXhjZXNzQ2FwYWNpdHkpOgorICAgICAgICAoSlNDOjpDTG9vcFN0YWNrOjphZGRUb0NvbW1p
dHRlZEJ5dGVDb3VudCk6CisgICAgICAgIChKU0M6OkNMb29wU3RhY2s6OnNldFNvZnRSZXNlcnZl
ZFpvbmVTaXplKToKKyAgICAgICAgKEpTQzo6Q0xvb3BTdGFjazo6c2V0UmVzZXJ2ZWRab25lU2l6
ZSk6IERlbGV0ZWQuCisgICAgICAgICogaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oOgorICAgICAg
ICAoSlNDOjpDTG9vcFN0YWNrOjpzaXplKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9DTG9vcFN0
YWNrSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpDTG9vcFN0YWNrOjpzaHJpbmspOgorICAgICAg
ICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVXaXRob3V0TGlua2lu
Zyk6CisgICAgICAgICogaml0L1NldHVwVmFyYXJnc0ZyYW1lLmNwcDoKKyAgICAgICAgKEpTQzo6
ZW1pdFNldHVwVmFyYXJnc0ZyYW1lRmFzdENhc2UpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xv
d1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9ERUNMKToK
KyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBsbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorICAgICAgICAqIGxsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206CisgICAgICAgICogcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUu
Y3BwOgorICAgICAgICAoSlNDOjpFcnJvckhhbmRsaW5nU2NvcGU6OkVycm9ySGFuZGxpbmdTY29w
ZSk6CisgICAgICAgIChKU0M6OkVycm9ySGFuZGxpbmdTY29wZTo6fkVycm9ySGFuZGxpbmdTY29w
ZSk6CisgICAgICAgICogcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuaDoKKyAgICAgICAgKiBy
dW50aW1lL09wdGlvbnMuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cC5jcHA6CisgICAgICAg
IChKU0M6OlJlZ0V4cDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpSZWdFeHA6OmNv
bXBpbGUpOgorICAgICAgICAoSlNDOjpSZWdFeHA6OmNvbXBpbGVNYXRjaE9ubHkpOgorICAgICAg
ICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0pOgorICAgICAgICAoSlND
OjpWTTo6c2V0U3RhY2tQb2ludGVyQXRWTUVudHJ5KToKKyAgICAgICAgKEpTQzo6Vk06OnVwZGF0
ZVNvZnRSZXNlcnZlZFpvbmVTaXplKToKKyAgICAgICAgKEpTQzo6Vk06OnVwZGF0ZVN0YWNrTGlt
aXQpOgorICAgICAgICAoSlNDOjpWTTo6dXBkYXRlUmVzZXJ2ZWRab25lU2l6ZSk6IERlbGV0ZWQu
CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAoSlNDOjpWTTo6c3RhY2tQb2ludGVy
QXRWTUVudHJ5KToKKyAgICAgICAgKEpTQzo6Vk06OnNvZnRSZXNlcnZlZFpvbmVTaXplKToKKyAg
ICAgICAgKEpTQzo6Vk06OnNvZnRTdGFja0xpbWl0KToKKyAgICAgICAgKEpTQzo6Vk06OmFkZHJl
c3NPZlNvZnRTdGFja0xpbWl0KToKKyAgICAgICAgKEpTQzo6Vk06OmNsb29wU3RhY2tMaW1pdCk6
CisgICAgICAgIChKU0M6OlZNOjpzZXRDTG9vcFN0YWNrTGltaXQpOgorICAgICAgICAoSlNDOjpW
TTo6aXNTYWZlVG9SZWN1cnNlKToKKyAgICAgICAgKEpTQzo6Vk06OnJlc2VydmVkWm9uZVNpemUp
OiBEZWxldGVkLgorICAgICAgICAoSlNDOjpWTTo6b3NTdGFja0xpbWl0V2l0aFJlc2VydmUpOiBE
ZWxldGVkLgorICAgICAgICAoSlNDOjpWTTo6YWRkcmVzc09mT1NTdGFja0xpbWl0V2l0aFJlc2Vy
dmUpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvVk1JbmxpbmVzLmg6CisgICAgICAgIChK
U0M6OlZNOjplbnN1cmVTdGFja0NhcGFjaXR5Rm9yKToKKyAgICAgICAgKiB3YXNtL1dBU01GdW5j
dGlvbkNvbXBpbGVyLmg6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvbkNvbXBpbGVyOjpzdGFy
dEZ1bmN0aW9uKToKKwogMjAxNi0wNy0xMiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyBm
bGFnCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL1BpbmdQb25nU3RhY2tP
dmVyZmxvd1Rlc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
dGVzdHMvUGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAJKHJldmlzaW9uIDIwMzEyNikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvUGluZ1BvbmdTdGFja092ZXJmbG93VGVz
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMCwxMyArMTIwLDEzIEBAIGludCB0ZXN0UGluZ1Bv
bmdTdGFja092ZXJmbG93KCkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKICAgICBP
cHRpb25zOjppbml0aWFsaXplKCk7IC8vIEVuc3VyZSBvcHRpb25zIGlzIGluaXRpYWxpemVkIGZp
cnN0LgogCisgICAgYXV0byBvcmlnU29mdFJlc2VydmVkWm9uZVNpemUgPSBPcHRpb25zOjpzb2Z0
UmVzZXJ2ZWRab25lU2l6ZSgpOwogICAgIGF1dG8gb3JpZ1Jlc2VydmVkWm9uZVNpemUgPSBPcHRp
b25zOjpyZXNlcnZlZFpvbmVTaXplKCk7Ci0gICAgYXV0byBvcmlnRXJyb3JNb2RlUmVzZXJ2ZWRa
b25lU2l6ZSA9IE9wdGlvbnM6OmVycm9yTW9kZVJlc2VydmVkWm9uZVNpemUoKTsKICAgICBhdXRv
IG9yaWdVc2VMTEludCA9IE9wdGlvbnM6OnVzZUxMSW50KCk7CiAgICAgYXV0byBvcmlnTWF4UGVy
VGhyZWFkU3RhY2tVc2FnZSA9IE9wdGlvbnM6Om1heFBlclRocmVhZFN0YWNrVXNhZ2UoKTsKIAot
ICAgIE9wdGlvbnM6OnJlc2VydmVkWm9uZVNpemUoKSA9IDEyOCAqIEtCOwotICAgIE9wdGlvbnM6
OmVycm9yTW9kZVJlc2VydmVkWm9uZVNpemUoKSA9IDY0ICogS0I7CisgICAgT3B0aW9uczo6c29m
dFJlc2VydmVkWm9uZVNpemUoKSA9IDEyOCAqIEtCOworICAgIE9wdGlvbnM6OnJlc2VydmVkWm9u
ZVNpemUoKSA9IDY0ICogS0I7CiAjaWYgRU5BQkxFKEpJVCkKICAgICAvLyBOb3JtYWxseSwgd2Ug
d2FudCB0byBkaXNhYmxlIHRoZSBMTElOVCB0byBmb3JjZSB0aGUgdXNlIG9mIEpJVHRlZCBjb2Rl
IHdoaWNoIGlzIG5lY2Vzc2FyeSBmb3IKICAgICAvLyByZXByb2R1Y2luZyB0aGUgcmVncmVzc2lv
biBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NzQ5LiBIb3dl
dmVyLCB3ZSBvbmx5CkBAIC0xNTgsNyArMTU4LDcgQEAgaW50IHRlc3RQaW5nUG9uZ1N0YWNrT3Zl
cmZsb3coKQogICAgIEpTU3RyaW5nUmVsZWFzZShQaW5nUG9uZ1N0YWNrT3ZlcmZsb3dPYmplY3RT
dHJpbmcpOwogCiAgICAgdW5zaWduZWQgc3RhY2tTaXplID0gMzIgKiBLQjsKLSAgICBPcHRpb25z
OjptYXhQZXJUaHJlYWRTdGFja1VzYWdlKCkgPSBzdGFja1NpemUgKyBPcHRpb25zOjpyZXNlcnZl
ZFpvbmVTaXplKCk7CisgICAgT3B0aW9uczo6bWF4UGVyVGhyZWFkU3RhY2tVc2FnZSgpID0gc3Rh
Y2tTaXplICsgT3B0aW9uczo6c29mdFJlc2VydmVkWm9uZVNpemUoKTsKIAogICAgIGV4Y2VwdGlv
biA9IG51bGxwdHI7CiAgICAgc2NyaXB0UmVzdWx0ID0gSlNFdmFsdWF0ZVNjcmlwdChjb250ZXh0
LCBzY3JpcHQsIG51bGxwdHIsIG51bGxwdHIsIDEsICZleGNlcHRpb24pOwpAQCAtMTczLDggKzE3
Myw4IEBAIGludCB0ZXN0UGluZ1BvbmdTdGFja092ZXJmbG93KCkKICAgICAgICAgcHJpbnRmKCJQ
QVNTOiBQaW5nUG9uZ1N0YWNrT3ZlcmZsb3cgdGVzdC5cbiIpOwogICAgIH0KIAorICAgIE9wdGlv
bnM6OnNvZnRSZXNlcnZlZFpvbmVTaXplKCkgPSBvcmlnU29mdFJlc2VydmVkWm9uZVNpemU7CiAg
ICAgT3B0aW9uczo6cmVzZXJ2ZWRab25lU2l6ZSgpID0gb3JpZ1Jlc2VydmVkWm9uZVNpemU7Ci0g
ICAgT3B0aW9uczo6ZXJyb3JNb2RlUmVzZXJ2ZWRab25lU2l6ZSgpID0gb3JpZ0Vycm9yTW9kZVJl
c2VydmVkWm9uZVNpemU7CiAgICAgT3B0aW9uczo6dXNlTExJbnQoKSA9IG9yaWdVc2VMTEludDsK
ICAgICBPcHRpb25zOjptYXhQZXJUaHJlYWRTdGFja1VzYWdlKCkgPSBvcmlnTWF4UGVyVGhyZWFk
U3RhY2tVc2FnZTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21w
aWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRD
b21waWxlci5jcHAJKHJldmlzaW9uIDIwMzEyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHSklUQ29tcGlsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDIsNyArMzQyLDcgQEAg
dm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZSgpCiAKICAgICAvLyBQbGFudCBhIGNoZWNrIHRoYXQg
c3VmZmljaWVudCBzcGFjZSBpcyBhdmFpbGFibGUgaW4gdGhlIEpTU3RhY2suCiAgICAgYWRkUHRy
KFRydXN0ZWRJbW0zMih2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChtX2dyYXBoLnJlcXVpcmVkUmVn
aXN0ZXJDb3VudEZvckV4ZWN1dGlvbkFuZEV4aXQoKSAtIDEpLm9mZnNldCgpICogc2l6ZW9mKFJl
Z2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjpyZWdUMSk7Ci0g
ICAgSnVtcCBzdGFja092ZXJmbG93ID0gYnJhbmNoUHRyKEFib3ZlLCBBYnNvbHV0ZUFkZHJlc3Mo
bV92bS0+YWRkcmVzc09mT1NTdGFja0xpbWl0V2l0aFJlc2VydmUoKSksIEdQUkluZm86OnJlZ1Qx
KTsKKyAgICBKdW1wIHN0YWNrT3ZlcmZsb3cgPSBicmFuY2hQdHIoQWJvdmUsIEFic29sdXRlQWRk
cmVzcyhtX3ZtLT5hZGRyZXNzT2ZTb2Z0U3RhY2tMaW1pdCgpKSwgR1BSSW5mbzo6cmVnVDEpOwog
CiAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihtX2dyYXBoLnN0YWNrUG9pbnRlck9mZnNldCgpICog
c2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50
ZXJSZWdpc3Rlcik7CiAgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKQEAgLTQwNSw3
ICs0MDUsNyBAQCB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlRnVuY3Rpb24oKQogICAgIExhYmVs
IGZyb21Bcml0eUNoZWNrKHRoaXMpOwogICAgIC8vIFBsYW50IGEgY2hlY2sgdGhhdCBzdWZmaWNp
ZW50IHNwYWNlIGlzIGF2YWlsYWJsZSBpbiB0aGUgSlNTdGFjay4KICAgICBhZGRQdHIoVHJ1c3Rl
ZEltbTMyKHZpcnR1YWxSZWdpc3RlckZvckxvY2FsKG1fZ3JhcGgucmVxdWlyZWRSZWdpc3RlckNv
dW50Rm9yRXhlY3V0aW9uQW5kRXhpdCgpIC0gMSkub2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIp
KSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEdQUkluZm86OnJlZ1QxKTsKLSAgICBKdW1w
IHN0YWNrT3ZlcmZsb3cgPSBicmFuY2hQdHIoQWJvdmUsIEFic29sdXRlQWRkcmVzcyhtX3ZtLT5h
ZGRyZXNzT2ZPU1N0YWNrTGltaXRXaXRoUmVzZXJ2ZSgpKSwgR1BSSW5mbzo6cmVnVDEpOworICAg
IEp1bXAgc3RhY2tPdmVyZmxvdyA9IGJyYW5jaFB0cihBYm92ZSwgQWJzb2x1dGVBZGRyZXNzKG1f
dm0tPmFkZHJlc3NPZlNvZnRTdGFja0xpbWl0KCkpLCBHUFJJbmZvOjpyZWdUMSk7CiAKICAgICAv
LyBNb3ZlIHRoZSBzdGFjayBwb2ludGVyIGRvd24gdG8gYWNjb21tb2RhdGUgbG9jYWxzCiAgICAg
YWRkUHRyKFRydXN0ZWRJbW0zMihtX2dyYXBoLnN0YWNrUG9pbnRlck9mZnNldCgpICogc2l6ZW9m
KFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdp
c3Rlcik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
QjMuY3BwCShyZXZpc2lvbiAyMDMxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4OSw3ICsxODksNyBAQCBwdWJs
aWM6CiAKICAgICAgICAgLy8gU3RhY2sgT3ZlcmZsb3cgQ2hlY2suCiAgICAgICAgIHVuc2lnbmVk
IGV4aXRGcmFtZVNpemUgPSBtX2dyYXBoLnJlcXVpcmVkUmVnaXN0ZXJDb3VudEZvckV4aXQoKSAq
IHNpemVvZihSZWdpc3Rlcik7Ci0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBYnNvbHV0ZUFkZHJl
c3MgYWRkcmVzc09mU3RhY2tMaW1pdCh2bSgpLmFkZHJlc3NPZk9TU3RhY2tMaW1pdFdpdGhSZXNl
cnZlKCkpOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWJzb2x1dGVBZGRyZXNzIGFkZHJlc3NP
ZlN0YWNrTGltaXQodm0oKS5hZGRyZXNzT2ZTb2Z0U3RhY2tMaW1pdCgpKTsKICAgICAgICAgUGF0
Y2hwb2ludFZhbHVlKiBzdGFja092ZXJmbG93SGFuZGxlciA9IG1fb3V0LnBhdGNocG9pbnQoVm9p
ZCk7CiAgICAgICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGVJbmRleCA9IGNhbGxTaXRlSW5kZXhG
b3JDb2RlT3JpZ2luKG1fZnRsU3RhdGUsIENvZGVPcmlnaW4oMCkpOwogICAgICAgICBzdGFja092
ZXJmbG93SGFuZGxlci0+YXBwZW5kU29tZVJlZ2lzdGVyKG1fY2FsbEZyYW1lKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5jcHAJKHJl
dmlzaW9uIDIwMzEyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9v
cFN0YWNrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQCBDTG9vcFN0YWNrOjpD
TG9vcFN0YWNrKFZNJiB2bSkKICAgICA6IG1fdm0odm0pCiAgICAgLCBtX3RvcENhbGxGcmFtZSh2
bS50b3BDYWxsRnJhbWUpCiAgICAgLCBtX2VuZCgwKQotICAgICwgbV9yZXNlcnZlZFpvbmVTaXpl
SW5SZWdpc3RlcnMoMCkKKyAgICAsIG1fc29mdFJlc2VydmVkWm9uZVNpemVJblJlZ2lzdGVycygw
KQogewogICAgIHNpemVfdCBjYXBhY2l0eSA9IE9wdGlvbnM6Om1heFBlclRocmVhZFN0YWNrVXNh
Z2UoKTsKICAgICBBU1NFUlQoY2FwYWNpdHkgJiYgaXNQYWdlQWxpZ25lZChjYXBhY2l0eSkpOwpA
QCAtNzgsNyArNzgsNyBAQCBDTG9vcFN0YWNrOjp+Q0xvb3BTdGFjaygpCiAKIGJvb2wgQ0xvb3BT
dGFjazo6Z3JvdyhSZWdpc3RlciogbmV3VG9wT2ZTdGFjaykKIHsKLSAgICBSZWdpc3RlciogbmV3
VG9wT2ZTdGFja1dpdGhSZXNlcnZlZFpvbmUgPSBuZXdUb3BPZlN0YWNrIC0gbV9yZXNlcnZlZFpv
bmVTaXplSW5SZWdpc3RlcnM7CisgICAgUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2tXaXRoUmVzZXJ2
ZWRab25lID0gbmV3VG9wT2ZTdGFjayAtIG1fc29mdFJlc2VydmVkWm9uZVNpemVJblJlZ2lzdGVy
czsKIAogICAgIC8vIElmIHdlIGhhdmUgYWxyZWFkeSBjb21taXR0ZWQgZW5vdWdoIG1lbW9yeSB0
byBzYXRpc2Z5IHRoaXMgcmVxdWVzdCwKICAgICAvLyBqdXN0IHVwZGF0ZSB0aGUgZW5kIHBvaW50
ZXIgYW5kIHJldHVybi4KQEAgLTEyNiw3ICsxMjYsNyBAQCB2b2lkIENMb29wU3RhY2s6OnNhbml0
aXplU3RhY2soKQogCiB2b2lkIENMb29wU3RhY2s6OnJlbGVhc2VFeGNlc3NDYXBhY2l0eSgpCiB7
Ci0gICAgUmVnaXN0ZXIqIGhpZ2hBZGRyZXNzV2l0aFJlc2VydmVkWm9uZSA9IGhpZ2hBZGRyZXNz
KCkgLSBtX3Jlc2VydmVkWm9uZVNpemVJblJlZ2lzdGVyczsKKyAgICBSZWdpc3RlciogaGlnaEFk
ZHJlc3NXaXRoUmVzZXJ2ZWRab25lID0gaGlnaEFkZHJlc3MoKSAtIG1fc29mdFJlc2VydmVkWm9u
ZVNpemVJblJlZ2lzdGVyczsKICAgICBwdHJkaWZmX3QgZGVsdGEgPSByZWludGVycHJldF9jYXN0
PGNoYXIqPihoaWdoQWRkcmVzc1dpdGhSZXNlcnZlZFpvbmUpIC0gcmVpbnRlcnByZXRfY2FzdDxj
aGFyKj4obV9jb21taXRUb3ApOwogICAgIG1fcmVzZXJ2YXRpb24uZGVjb21taXQobV9jb21taXRU
b3AsIGRlbHRhKTsKICAgICBhZGRUb0NvbW1pdHRlZEJ5dGVDb3VudCgtZGVsdGEpOwpAQCAtMTQw
LDEwICsxNDAsMTAgQEAgdm9pZCBDTG9vcFN0YWNrOjphZGRUb0NvbW1pdHRlZEJ5dGVDb3VudAog
ICAgIGNvbW1pdHRlZEJ5dGVzQ291bnQgKz0gYnl0ZUNvdW50OwogfQogCi12b2lkIENMb29wU3Rh
Y2s6OnNldFJlc2VydmVkWm9uZVNpemUoc2l6ZV90IHJlc2VydmVkWm9uZVNpemUpCit2b2lkIENM
b29wU3RhY2s6OnNldFNvZnRSZXNlcnZlZFpvbmVTaXplKHNpemVfdCByZXNlcnZlZFpvbmVTaXpl
KQogewotICAgIG1fcmVzZXJ2ZWRab25lU2l6ZUluUmVnaXN0ZXJzID0gcmVzZXJ2ZWRab25lU2l6
ZSAvIHNpemVvZihSZWdpc3Rlcik7Ci0gICAgaWYgKG1fY29tbWl0VG9wID49IChtX2VuZCArIDEp
IC0gbV9yZXNlcnZlZFpvbmVTaXplSW5SZWdpc3RlcnMpCisgICAgbV9zb2Z0UmVzZXJ2ZWRab25l
U2l6ZUluUmVnaXN0ZXJzID0gcmVzZXJ2ZWRab25lU2l6ZSAvIHNpemVvZihSZWdpc3Rlcik7Cisg
ICAgaWYgKG1fY29tbWl0VG9wID49IChtX2VuZCArIDEpIC0gbV9zb2Z0UmVzZXJ2ZWRab25lU2l6
ZUluUmVnaXN0ZXJzKQogICAgICAgICBncm93KG1fZW5kICsgMSk7CiB9CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suaAkocmV2aXNpb24g
MjAzMTI2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2su
aAkod29ya2luZyBjb3B5KQpAQCAtNjcsNyArNjcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGhpZ2hBZGRyZXNzKCkgLSBsb3dBZGRy
ZXNzKCk7IH0KIAotICAgICAgICB2b2lkIHNldFJlc2VydmVkWm9uZVNpemUoc2l6ZV90KTsKKyAg
ICAgICAgdm9pZCBzZXRTb2Z0UmVzZXJ2ZWRab25lU2l6ZShzaXplX3QpOwogCiAgICAgICAgIGlu
bGluZSBSZWdpc3RlciogdG9wT2ZTdGFjaygpOwogCkBAIC0xMDQsNyArMTA0LDcgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVyKiBtX2NvbW1pdFRvcDsKICAgICAgICAgUGFnZVJl
c2VydmF0aW9uIG1fcmVzZXJ2YXRpb247CiAgICAgICAgIFJlZ2lzdGVyKiBtX2xhc3RTdGFja1Rv
cDsKLSAgICAgICAgcHRyZGlmZl90IG1fcmVzZXJ2ZWRab25lU2l6ZUluUmVnaXN0ZXJzOworICAg
ICAgICBwdHJkaWZmX3QgbV9zb2Z0UmVzZXJ2ZWRab25lU2l6ZUluUmVnaXN0ZXJzOwogCiAgICAg
ICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CiAgICAgfTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrSW5saW5lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrSW5s
aW5lcy5oCShyZXZpc2lvbiAyMDMxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvQ0xvb3BTdGFja0lubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNyBA
QCBpbmxpbmUgdm9pZCBDTG9vcFN0YWNrOjpzaHJpbmsoUmVnaXN0ZXIqCiAgICAgLy8gaW52b2tl
IHN0ZDo6bWF4KCkgd2l0aCBpdCBhcyBhbiBhcmd1bWVudC4gVG8gd29yayBhcm91bmQgdGhpcywg
d2UgZmlyc3QKICAgICAvLyBhc3NpZ24gdGhlIGNvbnN0YW50IHRvIGEgbG9jYWwgdmFyaWFibGUs
IGFuZCB1c2UgdGhlIGxvY2FsIGluc3RlYWQuCiAgICAgcHRyZGlmZl90IG1heEV4Y2Vzc0NhcGFj
aXR5ID0gQ0xvb3BTdGFjazo6bWF4RXhjZXNzQ2FwYWNpdHk7Ci0gICAgcHRyZGlmZl90IG1heEV4
Y2Vzc0luUmVnaXN0ZXJzID0gc3RkOjptYXgobWF4RXhjZXNzQ2FwYWNpdHksIG1fcmVzZXJ2ZWRa
b25lU2l6ZUluUmVnaXN0ZXJzKTsKKyAgICBwdHJkaWZmX3QgbWF4RXhjZXNzSW5SZWdpc3RlcnMg
PSBzdGQ6Om1heChtYXhFeGNlc3NDYXBhY2l0eSwgbV9zb2Z0UmVzZXJ2ZWRab25lU2l6ZUluUmVn
aXN0ZXJzKTsKICAgICBpZiAobV9lbmQgPT0gYmFzZU9mU3RhY2soKSAmJiAoaGlnaEFkZHJlc3Mo
KSAtIG1fY29tbWl0VG9wKSA+PSBtYXhFeGNlc3NJblJlZ2lzdGVycykKICAgICAgICAgcmVsZWFz
ZUV4Y2Vzc0NhcGFjaXR5KCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCShy
ZXZpc2lvbiAyMDMxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU5OSw3ICs1OTksNyBAQCB2b2lkIEpJVDo6Y29tcGlsZVdpdGhvdXRM
aW5raW5nKEpJVENvbXBpCiAgICAgfQogCiAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja1Bv
aW50ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFt
ZVJlZ2lzdGVyLCByZWdUMSk7Ci0gICAgSnVtcCBzdGFja092ZXJmbG93ID0gYnJhbmNoUHRyKEFi
b3ZlLCBBYnNvbHV0ZUFkZHJlc3MobV92bS0+YWRkcmVzc09mT1NTdGFja0xpbWl0V2l0aFJlc2Vy
dmUoKSksIHJlZ1QxKTsKKyAgICBKdW1wIHN0YWNrT3ZlcmZsb3cgPSBicmFuY2hQdHIoQWJvdmUs
IEFic29sdXRlQWRkcmVzcyhtX3ZtLT5hZGRyZXNzT2ZTb2Z0U3RhY2tMaW1pdCgpKSwgcmVnVDEp
OwogCiAgICAgbW92ZShyZWdUMSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogICAgIGNoZWNrU3Rh
Y2tQb2ludGVyQWxpZ25tZW50KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Nl
dHVwVmFyYXJnc0ZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1NldHVwVmFyYXJnc0ZyYW1lLmNwcAkocmV2aXNpb24gMjAzMTI2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9TZXR1cFZhcmFyZ3NGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTgyLDcgKzgyLDcgQEAgdm9pZCBlbWl0U2V0dXBWYXJhcmdzRnJhbWVGYXN0Q2FzZShDQ2FsbAog
ICAgIAogICAgIGVtaXRTZXRWYXJhcmdzRnJhbWUoaml0LCBzY3JhdGNoR1BSMSwgdHJ1ZSwgbnVt
VXNlZFNsb3RzR1BSLCBzY3JhdGNoR1BSMik7CiAKLSAgICBzbG93Q2FzZS5hcHBlbmQoaml0LmJy
YW5jaFB0cihDQ2FsbEhlbHBlcnM6OkFib3ZlLCBDQ2FsbEhlbHBlcnM6OkFic29sdXRlQWRkcmVz
cyhqaXQudm0oKS0+YWRkcmVzc09mT1NTdGFja0xpbWl0V2l0aFJlc2VydmUoKSksIHNjcmF0Y2hH
UFIyKSk7CisgICAgc2xvd0Nhc2UuYXBwZW5kKGppdC5icmFuY2hQdHIoQ0NhbGxIZWxwZXJzOjpB
Ym92ZSwgQ0NhbGxIZWxwZXJzOjpBYnNvbHV0ZUFkZHJlc3Moaml0LnZtKCktPmFkZHJlc3NPZlNv
ZnRTdGFja0xpbWl0KCkpLCBzY3JhdGNoR1BSMikpOwogCiAgICAgLy8gSW5pdGlhbGl6ZSBBcmd1
bWVudENvdW50LgogICAgIGppdC5zdG9yZTMyKHNjcmF0Y2hHUFIxLCBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3Moc2NyYXRjaEdQUjIsIENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnQgKiBzdGF0aWNf
Y2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsgUGF5bG9hZE9mZnNldCkpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZpc2lv
biAyMDMxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODMsNyArNDgzLDcgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc3RhY2tfY2hlY2spCiAgICAgZGF0YUxvZ0YoIk51bSB2YXJzID0gJXUuXG4iLCBleGVjLT5j
b2RlQmxvY2soKS0+bV9udW1WYXJzKTsKIAogI2lmIEVOQUJMRShKSVQpCi0gICAgZGF0YUxvZ0Yo
IkN1cnJlbnQgZW5kIGlzIGF0ICVwLlxuIiwgZXhlYy0+dm0oKS5vc1N0YWNrTGltaXRXaXRoUmVz
ZXJ2ZSgpKTsKKyAgICBkYXRhTG9nRigiQ3VycmVudCBlbmQgaXMgYXQgJXAuXG4iLCBleGVjLT52
bSgpLnNvZnRTdGFja0xpbWl0KCkpOwogI2Vsc2UKICAgICBkYXRhTG9nRigiQ3VycmVudCBlbmQg
aXMgYXQgJXAuXG4iLCBleGVjLT52bSgpLmNsb29wU3RhY2tMaW1pdCgpKTsKICNlbmRpZgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5h
c20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIzMl82NC5hc20JKHJldmlzaW9uIDIwMzEyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCSh3b3JraW5nIGNvcHkpCkBA
IC0xNTUsNyArMTU1LDcgQEAgbWFjcm8gZG9WTUVudHJ5KG1ha2VDYWxsKQogICAgIGlmIENfTE9P
UAogICAgICAgICBicGFlcSB0MywgVk06Om1fY2xvb3BTdGFja0xpbWl0W3ZtXSwgLnN0YWNrSGVp
Z2h0T0sKICAgICBlbHNlCi0gICAgICAgIGJwYWVxIHQzLCBWTTo6bV9vc1N0YWNrTGltaXRXaXRo
UmVzZXJ2ZVt2bV0sIC5zdGFja0hlaWdodE9LCisgICAgICAgIGJwYWVxIHQzLCBWTTo6bV9zb2Z0
U3RhY2tMaW1pdFt2bV0sIC5zdGFja0hlaWdodE9LCiAgICAgZW5kCiAKICAgICBpZiBDX0xPT1AK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtCShyZXZpc2lvbiAyMDMxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkod29ya2luZyBjb3B5KQpAQCAtMTQz
LDcgKzE0Myw3IEBAIG1hY3JvIGRvVk1FbnRyeShtYWtlQ2FsbCkKICAgICBpZiBDX0xPT1AKICAg
ICAgICAgYnBhZXEgdDMsIFZNOjptX2Nsb29wU3RhY2tMaW1pdFt2bV0sIC5zdGFja0hlaWdodE9L
CiAgICAgZWxzZQotICAgICAgICBicGFlcSB0MywgVk06Om1fb3NTdGFja0xpbWl0V2l0aFJlc2Vy
dmVbdm1dLCAuc3RhY2tIZWlnaHRPSworICAgICAgICBicGFlcSB0MywgVk06Om1fc29mdFN0YWNr
TGltaXRbdm1dLCAuc3RhY2tIZWlnaHRPSwogICAgIGVuZAogCiAgICAgaWYgQ19MT09QCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtCShyZXZpc2lvbiAyMDMxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc20JKHdvcmtpbmcgY29weSkKQEAgLTk1NCw3ICs5NTQsNyBA
QCBtYWNybyBwcm9sb2d1ZShjb2RlQmxvY2tHZXR0ZXIsIGNvZGVCbG9jCiAgICAgaWYgQ19MT09Q
CiAgICAgICAgIGJwYmVxIFZNOjptX2Nsb29wU3RhY2tMaW1pdFt0Ml0sIHQwLCAuc3RhY2tIZWln
aHRPSwogICAgIGVsc2UKLSAgICAgICAgYnBiZXEgVk06Om1fb3NTdGFja0xpbWl0V2l0aFJlc2Vy
dmVbdDJdLCB0MCwgLnN0YWNrSGVpZ2h0T0sKKyAgICAgICAgYnBiZXEgVk06Om1fc29mdFN0YWNr
TGltaXRbdDJdLCB0MCwgLnN0YWNrSGVpZ2h0T0sKICAgICBlbmQKIAogICAgICMgU3RhY2sgaGVp
Z2h0IGNoZWNrIGZhaWxlZCAtIG5lZWQgdG8gY2FsbCBhIHNsb3dfcGF0aC4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySGFuZGxpbmdTY29wZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JIYW5kbGluZ1Njb3BlLmNw
cAkocmV2aXNpb24gMjAzMTI2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JIYW5kbGluZ1Njb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTQgKzM1LDE0IEBAIEVy
cm9ySGFuZGxpbmdTY29wZTo6RXJyb3JIYW5kbGluZ1Njb3BlKFYKICAgICA6IG1fdm0odm0pCiB7
CiAgICAgUkVMRUFTRV9BU1NFUlQobV92bS5zdGFja1BvaW50ZXJBdFZNRW50cnkoKSk7Ci0gICAg
c2l6ZV90IG5ld1Jlc2VydmVkWm9uZVNpemUgPSBPcHRpb25zOjplcnJvck1vZGVSZXNlcnZlZFpv
bmVTaXplKCk7Ci0gICAgbV9zYXZlZFJlc2VydmVkWm9uZVNpemUgPSBtX3ZtLnVwZGF0ZVJlc2Vy
dmVkWm9uZVNpemUobmV3UmVzZXJ2ZWRab25lU2l6ZSk7CisgICAgc2l6ZV90IG5ld1NvZnRSZXNl
cnZlZFpvbmVTaXplID0gT3B0aW9uczo6cmVzZXJ2ZWRab25lU2l6ZSgpOworICAgIG1fc2F2ZWRT
b2Z0UmVzZXJ2ZWRab25lU2l6ZSA9IG1fdm0udXBkYXRlU29mdFJlc2VydmVkWm9uZVNpemUobmV3
U29mdFJlc2VydmVkWm9uZVNpemUpOwogfQogCiBFcnJvckhhbmRsaW5nU2NvcGU6On5FcnJvckhh
bmRsaW5nU2NvcGUoKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG1fdm0uc3RhY2tQb2ludGVyQXRW
TUVudHJ5KCkpOwotICAgIG1fdm0udXBkYXRlUmVzZXJ2ZWRab25lU2l6ZShtX3NhdmVkUmVzZXJ2
ZWRab25lU2l6ZSk7CisgICAgbV92bS51cGRhdGVTb2Z0UmVzZXJ2ZWRab25lU2l6ZShtX3NhdmVk
U29mdFJlc2VydmVkWm9uZVNpemUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySGFuZGxpbmdTY29wZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySGFuZGxpbmdTY29wZS5o
CShyZXZpc2lvbiAyMDMxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ckhhbmRsaW5nU2NvcGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBwdWJsaWM6
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgfkVycm9ySGFuZGxpbmdTY29wZSgpOwogcHJpdmF0ZToK
ICAgICBWTSYgbV92bTsKLSAgICBzaXplX3QgbV9zYXZlZFJlc2VydmVkWm9uZVNpemU7CisgICAg
c2l6ZV90IG1fc2F2ZWRTb2Z0UmVzZXJ2ZWRab25lU2l6ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNp
b24gMjAzMTI2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTIsOSArMTEyLDkgQEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRp
b25TdHJpbmc7CiAgICAgXAogICAgIHYoYm9vbCwgcmVwb3J0TXVzdFN1Y2NlZWRFeGVjdXRhYmxl
QWxsb2NhdGlvbnMsIGZhbHNlLCBOb3JtYWwsIG51bGxwdHIpIFwKICAgICBcCi0gICAgdih1bnNp
Z25lZCwgbWF4UGVyVGhyZWFkU3RhY2tVc2FnZSwgNCAqIE1CLCBOb3JtYWwsIG51bGxwdHIpIFwK
LSAgICB2KHVuc2lnbmVkLCByZXNlcnZlZFpvbmVTaXplLCAxMjggKiBLQiwgTm9ybWFsLCBudWxs
cHRyKSBcCi0gICAgdih1bnNpZ25lZCwgZXJyb3JNb2RlUmVzZXJ2ZWRab25lU2l6ZSwgNjQgKiBL
QiwgTm9ybWFsLCBudWxscHRyKSBcCisgICAgdih1bnNpZ25lZCwgbWF4UGVyVGhyZWFkU3RhY2tV
c2FnZSwgNCAqIE1CLCBOb3JtYWwsICJNYXggYWxsb3dlZCBzdGFjayB1c2FnZSBieSB0aGUgVk0i
KSBcCisgICAgdih1bnNpZ25lZCwgc29mdFJlc2VydmVkWm9uZVNpemUsIDEyOCAqIEtCLCBOb3Jt
YWwsICJUaGUgYW1vdW50IG9mIHN0YWNrIEpTQyB1c3VhbGx5IHJlc2VydmVzIGZvciBob3N0IGNv
ZGUuIikgXAorICAgIHYodW5zaWduZWQsIHJlc2VydmVkWm9uZVNpemUsIDY0ICogS0IsIE5vcm1h
bCwgIlRoaXMgaXMgdGhlIGFtb3VudCBvZiBzdGFjayBKU0MgZ3VhcmFudGVlcyBmb3IgY2xpZW50
IGFuZCBWTSBjb2RlLiIpIFwKICAgICBcCiAgICAgdihib29sLCBjcmFzaElmQ2FudEFsbG9jYXRl
SklUTWVtb3J5LCBmYWxzZSwgTm9ybWFsLCBudWxscHRyKSBcCiAgICAgdih1bnNpZ25lZCwgaml0
TWVtb3J5UmVzZXJ2YXRpb25TaXplLCAwLCBOb3JtYWwsICJTZXQgdGhpcyBudW1iZXIgdG8gY2hh
bmdlIHRoZSBleGVjdXRhYmxlIGFsbG9jYXRpb24gc2l6ZSBpbiBFeGVjdXRhYmxlQWxsb2NhdG9y
Rml4ZWRWTVBvb2wuIChJbiBieXRlcy4pIikgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHAuY3BwCShyZXZpc2lvbiAyMDMxMjYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjIsNyArMjIyLDcg
QEAgUmVnRXhwOjpSZWdFeHAoVk0mIHZtLCBjb25zdCBTdHJpbmcmIHBhdAogdm9pZCBSZWdFeHA6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7
Ci0gICAgWWFycjo6WWFyclBhdHRlcm4gcGF0dGVybihtX3BhdHRlcm5TdHJpbmcsIG1fZmxhZ3Ms
ICZtX2NvbnN0cnVjdGlvbkVycm9yLCB2bS5vc1N0YWNrTGltaXRXaXRoUmVzZXJ2ZSgpKTsKKyAg
ICBZYXJyOjpZYXJyUGF0dGVybiBwYXR0ZXJuKG1fcGF0dGVyblN0cmluZywgbV9mbGFncywgJm1f
Y29uc3RydWN0aW9uRXJyb3IsIHZtLnNvZnRTdGFja0xpbWl0KCkpOwogICAgIGlmIChtX2NvbnN0
cnVjdGlvbkVycm9yKQogICAgICAgICBtX3N0YXRlID0gUGFyc2VFcnJvcjsKICAgICBlbHNlCkBA
IC0yNjQsNyArMjY0LDcgQEAgdm9pZCBSZWdFeHA6OmNvbXBpbGUoVk0qIHZtLCBZYXJyOjpZYXJy
QwogewogICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgCi0gICAg
WWFycjo6WWFyclBhdHRlcm4gcGF0dGVybihtX3BhdHRlcm5TdHJpbmcsIG1fZmxhZ3MsICZtX2Nv
bnN0cnVjdGlvbkVycm9yLCB2bS0+b3NTdGFja0xpbWl0V2l0aFJlc2VydmUoKSk7CisgICAgWWFy
cjo6WWFyclBhdHRlcm4gcGF0dGVybihtX3BhdHRlcm5TdHJpbmcsIG1fZmxhZ3MsICZtX2NvbnN0
cnVjdGlvbkVycm9yLCB2bS0+c29mdFN0YWNrTGltaXQoKSk7CiAgICAgaWYgKG1fY29uc3RydWN0
aW9uRXJyb3IpIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNpZiBD
T01QSUxFUl9RVUlSSyhDT05TSURFUlNfVU5SRUFDSEFCTEVfQ09ERSkKQEAgLTMxNyw3ICszMTcs
NyBAQCB2b2lkIFJlZ0V4cDo6Y29tcGlsZU1hdGNoT25seShWTSogdm0sIFlhCiB7CiAgICAgQ29u
Y3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAKLSAgICBZYXJyOjpZYXJyUGF0
dGVybiBwYXR0ZXJuKG1fcGF0dGVyblN0cmluZywgbV9mbGFncywgJm1fY29uc3RydWN0aW9uRXJy
b3IsIHZtLT5vc1N0YWNrTGltaXRXaXRoUmVzZXJ2ZSgpKTsKKyAgICBZYXJyOjpZYXJyUGF0dGVy
biBwYXR0ZXJuKG1fcGF0dGVyblN0cmluZywgbV9mbGFncywgJm1fY29uc3RydWN0aW9uRXJyb3Is
IHZtLT5zb2Z0U3RhY2tMaW1pdCgpKTsKICAgICBpZiAobV9jb25zdHJ1Y3Rpb25FcnJvcikgewog
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogI2lmIENPTVBJTEVSX1FVSVJL
KENPTlNJREVSU19VTlJFQUNIQUJMRV9DT0RFKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmNwcAkocmV2aXNpb24gMjAzMTI2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsNyArMTk3LDcgQEAgVk06OlZNKFZN
VHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogewogICAgIGludGVycHJldGVyID0gbmV3
IEludGVycHJldGVyKCp0aGlzKTsKICAgICBTdGFja0JvdW5kcyBzdGFjayA9IHd0ZlRocmVhZERh
dGEoKS5zdGFjaygpOwotICAgIHVwZGF0ZVJlc2VydmVkWm9uZVNpemUoT3B0aW9uczo6cmVzZXJ2
ZWRab25lU2l6ZSgpKTsKKyAgICB1cGRhdGVTb2Z0UmVzZXJ2ZWRab25lU2l6ZShPcHRpb25zOjpz
b2Z0UmVzZXJ2ZWRab25lU2l6ZSgpKTsKICAgICBzZXRMYXN0U3RhY2tUb3Aoc3RhY2sub3JpZ2lu
KCkpOwogCiAgICAgLy8gTmVlZCB0byBiZSBjYXJlZnVsIHRvIGtlZXAgZXZlcnl0aGluZyBjb25z
aXN0ZW50IGhlcmUKQEAgLTYxMywxNyArNjEzLDE3IEBAIHZvaWQgVk06OnNldFN0YWNrUG9pbnRl
ckF0Vk1FbnRyeSh2b2lkKiAKICAgICB1cGRhdGVTdGFja0xpbWl0KCk7CiB9CiAKLXNpemVfdCBW
TTo6dXBkYXRlUmVzZXJ2ZWRab25lU2l6ZShzaXplX3QgcmVzZXJ2ZWRab25lU2l6ZSkKK3NpemVf
dCBWTTo6dXBkYXRlU29mdFJlc2VydmVkWm9uZVNpemUoc2l6ZV90IHNvZnRSZXNlcnZlZFpvbmVT
aXplKQogewotICAgIHNpemVfdCBvbGRSZXNlcnZlZFpvbmVTaXplID0gbV9yZXNlcnZlZFpvbmVT
aXplOwotICAgIG1fcmVzZXJ2ZWRab25lU2l6ZSA9IHJlc2VydmVkWm9uZVNpemU7CisgICAgc2l6
ZV90IG9sZFNvZnRSZXNlcnZlZFpvbmVTaXplID0gbV9jdXJyZW50U29mdFJlc2VydmVkWm9uZVNp
emU7CisgICAgbV9jdXJyZW50U29mdFJlc2VydmVkWm9uZVNpemUgPSBzb2Z0UmVzZXJ2ZWRab25l
U2l6ZTsKICNpZiAhRU5BQkxFKEpJVCkKLSAgICBpbnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLnNl
dFJlc2VydmVkWm9uZVNpemUocmVzZXJ2ZWRab25lU2l6ZSk7CisgICAgaW50ZXJwcmV0ZXItPmNs
b29wU3RhY2soKS5zZXRTb2Z0UmVzZXJ2ZWRab25lU2l6ZShzb2Z0UmVzZXJ2ZWRab25lU2l6ZSk7
CiAjZW5kaWYKIAogICAgIHVwZGF0ZVN0YWNrTGltaXQoKTsKIAotICAgIHJldHVybiBvbGRSZXNl
cnZlZFpvbmVTaXplOworICAgIHJldHVybiBvbGRTb2Z0UmVzZXJ2ZWRab25lU2l6ZTsKIH0KIAog
I2lmIFBMQVRGT1JNKFdJTikKQEAgLTY1NCwyMCArNjU0LDIwIEBAIHN0YXRpYyB2b2lkIHByZUNv
bW1pdFN0YWNrTWVtb3J5KHZvaWQqIHMKIGlubGluZSB2b2lkIFZNOjp1cGRhdGVTdGFja0xpbWl0
KCkKIHsKICNpZiBQTEFURk9STShXSU4pCi0gICAgdm9pZCogbGFzdE9TU3RhY2tMaW1pdFdpdGhS
ZXNlcnZlID0gbV9vc1N0YWNrTGltaXRXaXRoUmVzZXJ2ZTsKKyAgICB2b2lkKiBsYXN0U29mdFN0
YWNrTGltaXQgPSBtX3NvZnRTdGFja0xpbWl0OwogI2VuZGlmCiAKICAgICBpZiAobV9zdGFja1Bv
aW50ZXJBdFZNRW50cnkpIHsKICAgICAgICAgQVNTRVJUKHd0ZlRocmVhZERhdGEoKS5zdGFjaygp
LmlzR3Jvd2luZ0Rvd253YXJkKCkpOwogICAgICAgICBjaGFyKiBzdGFydE9mU3RhY2sgPSByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihtX3N0YWNrUG9pbnRlckF0Vk1FbnRyeSk7Ci0gICAgICAgIG1f
b3NTdGFja0xpbWl0V2l0aFJlc2VydmUgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5yZWN1cnNp
b25MaW1pdChzdGFydE9mU3RhY2ssIE9wdGlvbnM6Om1heFBlclRocmVhZFN0YWNrVXNhZ2UoKSwg
bV9yZXNlcnZlZFpvbmVTaXplKTsKKyAgICAgICAgbV9zb2Z0U3RhY2tMaW1pdCA9IHd0ZlRocmVh
ZERhdGEoKS5zdGFjaygpLnJlY3Vyc2lvbkxpbWl0KHN0YXJ0T2ZTdGFjaywgT3B0aW9uczo6bWF4
UGVyVGhyZWFkU3RhY2tVc2FnZSgpLCBtX2N1cnJlbnRTb2Z0UmVzZXJ2ZWRab25lU2l6ZSk7CiAg
ICAgfSBlbHNlIHsKLSAgICAgICAgbV9vc1N0YWNrTGltaXRXaXRoUmVzZXJ2ZSA9IHd0ZlRocmVh
ZERhdGEoKS5zdGFjaygpLnJlY3Vyc2lvbkxpbWl0KG1fcmVzZXJ2ZWRab25lU2l6ZSk7CisgICAg
ICAgIG1fc29mdFN0YWNrTGltaXQgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5yZWN1cnNpb25M
aW1pdChtX2N1cnJlbnRTb2Z0UmVzZXJ2ZWRab25lU2l6ZSk7CiAgICAgfQogCiAjaWYgUExBVEZP
Uk0oV0lOKQotICAgIGlmIChsYXN0T1NTdGFja0xpbWl0V2l0aFJlc2VydmUgIT0gbV9vc1N0YWNr
TGltaXRXaXRoUmVzZXJ2ZSkKLSAgICAgICAgcHJlQ29tbWl0U3RhY2tNZW1vcnkobV9vc1N0YWNr
TGltaXRXaXRoUmVzZXJ2ZSk7CisgICAgaWYgKGxhc3RTb2Z0U3RhY2tMaW1pdCAhPSBtX3NvZnRT
dGFja0xpbWl0KQorICAgICAgICBwcmVDb21taXRTdGFja01lbW9yeShtX3NvZnRTdGFja0xpbWl0
KTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHJldmlz
aW9uIDIwMzEyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ1OSwxNCArNDU5LDE0IEBAIHB1YmxpYzoKICAgICB2b2lkKiBzdGFja1Bv
aW50ZXJBdFZNRW50cnkoKSBjb25zdCB7IHJldHVybiBtX3N0YWNrUG9pbnRlckF0Vk1FbnRyeTsg
fQogICAgIHZvaWQgc2V0U3RhY2tQb2ludGVyQXRWTUVudHJ5KHZvaWQqKTsKIAotICAgIHNpemVf
dCByZXNlcnZlZFpvbmVTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yZXNlcnZlZFpvbmVTaXplOyB9
Ci0gICAgc2l6ZV90IHVwZGF0ZVJlc2VydmVkWm9uZVNpemUoc2l6ZV90IHJlc2VydmVkWm9uZVNp
emUpOworICAgIHNpemVfdCBzb2Z0UmVzZXJ2ZWRab25lU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y3VycmVudFNvZnRSZXNlcnZlZFpvbmVTaXplOyB9CisgICAgc2l6ZV90IHVwZGF0ZVNvZnRSZXNl
cnZlZFpvbmVTaXplKHNpemVfdCBzb2Z0UmVzZXJ2ZWRab25lU2l6ZSk7CiAKICAgICBzdGF0aWMg
c2l6ZV90IGNvbW1pdHRlZFN0YWNrQnl0ZUNvdW50KCk7CiAgICAgaW5saW5lIGJvb2wgZW5zdXJl
U3RhY2tDYXBhY2l0eUZvcihSZWdpc3RlciogbmV3VG9wT2ZTdGFjayk7CiAKLSAgICB2b2lkKiBv
c1N0YWNrTGltaXRXaXRoUmVzZXJ2ZSgpIHsgcmV0dXJuIG1fb3NTdGFja0xpbWl0V2l0aFJlc2Vy
dmU7IH0KLSAgICB2b2lkKiogYWRkcmVzc09mT1NTdGFja0xpbWl0V2l0aFJlc2VydmUoKSB7IHJl
dHVybiAmbV9vc1N0YWNrTGltaXRXaXRoUmVzZXJ2ZTsgfQorICAgIHZvaWQqIHNvZnRTdGFja0xp
bWl0KCkgeyByZXR1cm4gbV9zb2Z0U3RhY2tMaW1pdDsgfQorICAgIHZvaWQqKiBhZGRyZXNzT2ZT
b2Z0U3RhY2tMaW1pdCgpIHsgcmV0dXJuICZtX3NvZnRTdGFja0xpbWl0OyB9CiAjaWYgIUVOQUJM
RShKSVQpCiAgICAgdm9pZCogY2xvb3BTdGFja0xpbWl0KCkgeyByZXR1cm4gbV9jbG9vcFN0YWNr
TGltaXQ7IH0KICAgICB2b2lkIHNldENMb29wU3RhY2tMaW1pdCh2b2lkKiBsaW1pdCkgeyBtX2Ns
b29wU3RhY2tMaW1pdCA9IGxpbWl0OyB9CkBAIC00NzYsNyArNDc2LDcgQEAgcHVibGljOgogICAg
IHsKICAgICAgICAgQVNTRVJUKHd0ZlRocmVhZERhdGEoKS5zdGFjaygpLmlzR3Jvd2luZ0Rvd253
YXJkKCkpOwogICAgICAgICBpbnQ4X3QqIGN1cnIgPSByZWludGVycHJldF9jYXN0PGludDhfdCo+
KCZjdXJyKTsKLSAgICAgICAgaW50OF90KiBsaW1pdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50OF90
Kj4obV9vc1N0YWNrTGltaXRXaXRoUmVzZXJ2ZSk7CisgICAgICAgIGludDhfdCogbGltaXQgPSBy
ZWludGVycHJldF9jYXN0PGludDhfdCo+KG1fc29mdFN0YWNrTGltaXQpOwogICAgICAgICByZXR1
cm4gY3VyciA+PSBsaW1pdCAmJiBzdGF0aWNfY2FzdDxzaXplX3Q+KGN1cnIgLSBsaW1pdCkgPj0g
bmVlZGVkU3RhY2tJbkJ5dGVzOwogICAgIH0KIApAQCAtNjQ4LDggKzY0OCw4IEBAIHByaXZhdGU6
CiAjZW5kaWYKIAogICAgIHZvaWQqIG1fc3RhY2tQb2ludGVyQXRWTUVudHJ5OwotICAgIHNpemVf
dCBtX3Jlc2VydmVkWm9uZVNpemU7Ci0gICAgdm9pZCogbV9vc1N0YWNrTGltaXRXaXRoUmVzZXJ2
ZSB7IG51bGxwdHIgfTsKKyAgICBzaXplX3QgbV9jdXJyZW50U29mdFJlc2VydmVkWm9uZVNpemU7
CisgICAgdm9pZCogbV9zb2Z0U3RhY2tMaW1pdCB7IG51bGxwdHIgfTsKICNpZiAhRU5BQkxFKEpJ
VCkKICAgICB2b2lkKiBtX2Nsb29wU3RhY2tMaW1pdCB7IG51bGxwdHIgfTsKICNlbmRpZgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1JbmxpbmVzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1JbmxpbmVzLmgJKHJldmlzaW9uIDIw
MzEyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNSW5saW5lcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIGJvb2wgVk06OmVuc3VyZVN0YWNrQ2FwYWNpdHlG
b3IoUmVnaXN0ZXIKIHsKICNpZiBFTkFCTEUoSklUKQogICAgIEFTU0VSVCh3dGZUaHJlYWREYXRh
KCkuc3RhY2soKS5pc0dyb3dpbmdEb3dud2FyZCgpKTsKLSAgICByZXR1cm4gbmV3VG9wT2ZTdGFj
ayA+PSBtX29zU3RhY2tMaW1pdFdpdGhSZXNlcnZlOworICAgIHJldHVybiBuZXdUb3BPZlN0YWNr
ID49IG1fc29mdFN0YWNrTGltaXQ7CiAjZWxzZQogICAgIHJldHVybiBpbnRlcnByZXRlci0+Y2xv
b3BTdGFjaygpLmVuc3VyZUNhcGFjaXR5Rm9yKG5ld1RvcE9mU3RhY2spOwogI2VuZGlmCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVy
LmgJKHJldmlzaW9uIDIwMzEyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01G
dW5jdGlvbkNvbXBpbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw3ICsxMzUsNyBAQCBwdWJs
aWM6CiAgICAgICAgIG1fYmVnaW5MYWJlbCA9IGxhYmVsKCk7CiAKICAgICAgICAgYWRkUHRyKFRy
dXN0ZWRJbW0zMigtbV9jYWxsZWVTYXZlU3BhY2UgLSBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yo
c3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwgbV9zdGFja0hlaWdodCkgKiBzaXplb2YoU3RhY2tT
bG90KSAtIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKSwgR1BSSW5mbzo6Y2FsbEZyYW1l
UmVnaXN0ZXIsIEdQUkluZm86OnJlZ1QxKTsKLSAgICAgICAgbV9zdGFja092ZXJmbG93ID0gYnJh
bmNoUHRyKEFib3ZlLCBBYnNvbHV0ZUFkZHJlc3MobV92bS0+YWRkcmVzc09mT1NTdGFja0xpbWl0
V2l0aFJlc2VydmUoKSksIEdQUkluZm86OnJlZ1QxKTsKKyAgICAgICAgbV9zdGFja092ZXJmbG93
ID0gYnJhbmNoUHRyKEFib3ZlLCBBYnNvbHV0ZUFkZHJlc3MobV92bS0+YWRkcmVzc09mU29mdFN0
YWNrTGltaXQoKSksIEdQUkluZm86OnJlZ1QxKTsKIAogICAgICAgICBtb3ZlKEdQUkluZm86OnJl
Z1QxLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgICAgIGNoZWNrU3RhY2tQb2ludGVyQWxp
Z25tZW50KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>