<?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>140958</bug_id>
          
          <creation_ts>2015-01-27 14:35:11 -0800</creation_ts>
          <short_desc>Removed WTF_MALLOC_VALIDATION</short_desc>
          <delta_ts>2015-01-27 14:41:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1064660</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-27 14:35:11 -0800</bug_when>
    <thetext>Removed WTF_MALLOC_VALIDATION</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064661</commentid>
    <comment_count>1</comment_count>
      <attachid>245472</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-27 14:36:35 -0800</bug_when>
    <thetext>Created attachment 245472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064664</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-27 14:41:45 -0800</bug_when>
    <thetext>Committed r179221: &lt;http://trac.webkit.org/changeset/179221&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245472</attachid>
            <date>2015-01-27 14:36:35 -0800</date>
            <delta_ts>2015-01-27 14:37:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140958-20150127143639.patch</filename>
            <type>text/plain</type>
            <size>18627</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNzkyMTkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE1LTAxLTI3ICBHZW9mZnJleSBHYXJlbiAgPGdn
YXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlZCBXVEZfTUFMTE9DX1ZBTElEQVRJT04K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDk1OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSAjaWZk
ZWZzIHdlcmUgZHJpdmluZyBtZSBjcmF6eS4KKworICAgICAgICBXZSBoYXZlIG90aGVyIG9wdGlv
bnMgZm9yIHZhbGlkYXRpb24gLS0gbGlrZSBNYWxsb2NHdWFyZEVkZ2VzLAorICAgICAgICBNYWxs
b2NDaGVja0hlYXBFYWNoLCBNYWxsb2NTY3JpYmJsZSwgYW5kIEd1YXJkTWFsbG9jLgorCisgICAg
ICAgICogd3RmL0Zhc3RNYWxsb2MuY3BwOgorICAgICAgICAoV1RGOjp0cnlGYXN0TWFsbG9jKToK
KyAgICAgICAgKFdURjo6ZmFzdE1hbGxvYyk6CisgICAgICAgIChXVEY6OnRyeUZhc3RDYWxsb2Mp
OgorICAgICAgICAoV1RGOjpmYXN0Q2FsbG9jKToKKyAgICAgICAgKFdURjo6ZmFzdEZyZWUpOgor
ICAgICAgICAoV1RGOjp0cnlGYXN0UmVhbGxvYyk6CisgICAgICAgIChXVEY6OmZhc3RSZWFsbG9j
KToKKyAgICAgICAgKFdURjo6ZmFzdE1hbGxvY1NpemUpOgorICAgICAgICAoV1RGOjpUQ01hbGxv
Y19UaHJlYWRDYWNoZTo6Q3JlYXRlQ2FjaGVJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXVEY6Oklu
dGVybmFsOjpmYXN0TWFsbG9jTWF0Y2hGYWlsZWQpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9G
YXN0TWFsbG9jLmg6CisgICAgICAgIChXVEY6OkludGVybmFsOjpmYXN0TWFsbG9jVmFsaWRhdGlv
bkhlYWRlcik6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkludGVybmFsOjpmYXN0TWFsbG9jVmFs
aWRhdGlvblN1ZmZpeCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkludGVybmFsOjpmYXN0TWFs
bG9jTWF0Y2hWYWxpZGF0aW9uVHlwZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkludGVybmFs
OjpzZXRGYXN0TWFsbG9jTWF0Y2hWYWxpZGF0aW9uVHlwZSk6IERlbGV0ZWQuCisgICAgICAgIChX
VEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6
ZmFzdE1hbGxvY1ZhbGlkYXRlKTogRGVsZXRlZC4KKwogMjAxNS0wMS0yNyAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjE3OTE5Mi4KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwCShyZXZpc2lvbiAxNzkyMTcp
CisrKyBTb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg1
LDIyICsxODUsNiBAQCB2b2lkIGZhc3RNYWxsb2NBbGxvdygpCiAKIG5hbWVzcGFjZSBXVEYgewog
Ci0KLW5hbWVzcGFjZSBJbnRlcm5hbCB7Ci0jaWYgIUVOQUJMRShXVEZfTUFMTE9DX1ZBTElEQVRJ
T04pCi1XVEZfRVhQT1JUX1BSSVZBVEUgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCB2b2lkIGZhc3RN
YWxsb2NNYXRjaEZhaWxlZCh2b2lkKik7Ci0jZWxzZQotQ09NUElMRV9BU1NFUlQoKChzaXplb2Yo
VmFsaWRhdGlvbkhlYWRlcikgJSBzaXplb2YoQWxsb2NBbGlnbm1lbnRJbnRlZ2VyKSkgPT0gMCks
IFZhbGlkYXRpb25IZWFkZXJfbXVzdF9wcm9kdWNlX2NvcnJlY3RfYWxpZ25tZW50KTsKLSNlbmRp
ZgotCi1OT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZvaWQgZmFzdE1hbGxvY01hdGNoRmFpbGVkKHZv
aWQqKQotewotICAgIENSQVNIKCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIEludGVybmFsCi0KLQog
dm9pZCogZmFzdFplcm9lZE1hbGxvYyhzaXplX3QgbikgCiB7CiAgICAgdm9pZCogcmVzdWx0ID0g
ZmFzdE1hbGxvYyhuKTsKQEAgLTI0OCwzOSArMjMyLDE0IEBAIFRyeU1hbGxvY1JldHVyblZhbHVl
IHRyeUZhc3RNYWxsb2Moc2l6ZV8KIHsKICAgICBBU1NFUlQoIWlzRm9yYmlkZGVuKCkpOwogCi0j
aWYgRU5BQkxFKFdURl9NQUxMT0NfVkFMSURBVElPTikKLSAgICBpZiAoc3RkOjpudW1lcmljX2xp
bWl0czxzaXplX3Q+OjptYXgoKSAtIEludGVybmFsOjpWYWxpZGF0aW9uQnVmZmVyU2l6ZSA8PSBu
KSAgLy8gSWYgb3ZlcmZsb3cgd291bGQgb2NjdXIuLi4KLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAg
ICB2b2lkKiByZXN1bHQgPSBtYWxsb2MobiArIEludGVybmFsOjpWYWxpZGF0aW9uQnVmZmVyU2l6
ZSk7Ci0gICAgaWYgKCFyZXN1bHQpCi0gICAgICAgIHJldHVybiAwOwotICAgIEludGVybmFsOjpW
YWxpZGF0aW9uSGVhZGVyKiBoZWFkZXIgPSBzdGF0aWNfY2FzdDxJbnRlcm5hbDo6VmFsaWRhdGlv
bkhlYWRlcio+KHJlc3VsdCk7Ci0gICAgaGVhZGVyLT5tX3NpemUgPSBuOwotICAgIGhlYWRlci0+
bV90eXBlID0gSW50ZXJuYWw6OkFsbG9jVHlwZU1hbGxvYzsKLSAgICBoZWFkZXItPm1fcHJlZml4
ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEludGVybmFsOjpWYWxpZGF0aW9uUHJlZml4KTsKLSAg
ICByZXN1bHQgPSBoZWFkZXIgKyAxOwotICAgICpJbnRlcm5hbDo6ZmFzdE1hbGxvY1ZhbGlkYXRp
b25TdWZmaXgocmVzdWx0KSA9IEludGVybmFsOjpWYWxpZGF0aW9uU3VmZml4OwotICAgIGZhc3RN
YWxsb2NWYWxpZGF0ZShyZXN1bHQpOwotICAgIHJldHVybiByZXN1bHQ7Ci0jZWxzZQogICAgIHJl
dHVybiBtYWxsb2Mobik7Ci0jZW5kaWYKIH0KIAogdm9pZCogZmFzdE1hbGxvYyhzaXplX3Qgbikg
CiB7CiAgICAgQVNTRVJUKCFpc0ZvcmJpZGRlbigpKTsKIAotI2lmIEVOQUJMRShXVEZfTUFMTE9D
X1ZBTElEQVRJT04pCi0gICAgVHJ5TWFsbG9jUmV0dXJuVmFsdWUgcmV0dXJuVmFsdWUgPSB0cnlG
YXN0TWFsbG9jKG4pOwotICAgIHZvaWQqIHJlc3VsdDsKLSAgICBpZiAoIXJldHVyblZhbHVlLmdl
dFZhbHVlKHJlc3VsdCkpCi0gICAgICAgIENSQVNIKCk7Ci0jZWxzZQogICAgIHZvaWQqIHJlc3Vs
dCA9IG1hbGxvYyhuKTsKLSNlbmRpZgotCiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIENSQVNI
KCk7CiAKQEAgLTI5MCwzNyArMjQ5LDE0IEBAIHZvaWQqIGZhc3RNYWxsb2Moc2l6ZV90IG4pIAog
VHJ5TWFsbG9jUmV0dXJuVmFsdWUgdHJ5RmFzdENhbGxvYyhzaXplX3Qgbl9lbGVtZW50cywgc2l6
ZV90IGVsZW1lbnRfc2l6ZSkKIHsKICAgICBBU1NFUlQoIWlzRm9yYmlkZGVuKCkpOwotCi0jaWYg
RU5BQkxFKFdURl9NQUxMT0NfVkFMSURBVElPTikKLSAgICBzaXplX3QgdG90YWxCeXRlcyA9IG5f
ZWxlbWVudHMgKiBlbGVtZW50X3NpemU7Ci0gICAgaWYgKG5fZWxlbWVudHMgPiAxICYmIGVsZW1l
bnRfc2l6ZSAmJiAodG90YWxCeXRlcyAvIGVsZW1lbnRfc2l6ZSkgIT0gbl9lbGVtZW50cykKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KLSAgICBUcnlNYWxsb2NSZXR1cm5WYWx1ZSByZXR1cm5WYWx1ZSA9
IHRyeUZhc3RNYWxsb2ModG90YWxCeXRlcyk7Ci0gICAgdm9pZCogcmVzdWx0OwotICAgIGlmICgh
cmV0dXJuVmFsdWUuZ2V0VmFsdWUocmVzdWx0KSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgbWVt
c2V0KHJlc3VsdCwgMCwgdG90YWxCeXRlcyk7Ci0gICAgZmFzdE1hbGxvY1ZhbGlkYXRlKHJlc3Vs
dCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSNlbHNlCiAgICAgcmV0dXJuIGNhbGxvYyhuX2VsZW1l
bnRzLCBlbGVtZW50X3NpemUpOwotI2VuZGlmCiB9CiAKIHZvaWQqIGZhc3RDYWxsb2Moc2l6ZV90
IG5fZWxlbWVudHMsIHNpemVfdCBlbGVtZW50X3NpemUpCiB7CiAgICAgQVNTRVJUKCFpc0ZvcmJp
ZGRlbigpKTsKIAotI2lmIEVOQUJMRShXVEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgVHJ5TWFs
bG9jUmV0dXJuVmFsdWUgcmV0dXJuVmFsdWUgPSB0cnlGYXN0Q2FsbG9jKG5fZWxlbWVudHMsIGVs
ZW1lbnRfc2l6ZSk7Ci0gICAgdm9pZCogcmVzdWx0OwotICAgIGlmICghcmV0dXJuVmFsdWUuZ2V0
VmFsdWUocmVzdWx0KSkKLSAgICAgICAgQ1JBU0goKTsKLSNlbHNlCiAgICAgdm9pZCogcmVzdWx0
ID0gY2FsbG9jKG5fZWxlbWVudHMsIGVsZW1lbnRfc2l6ZSk7Ci0jZW5kaWYKLQogICAgIGlmICgh
cmVzdWx0KQogICAgICAgICBDUkFTSCgpOwogCkBAIC0zMzAsNTggKzI2NiwxOSBAQCB2b2lkKiBm
YXN0Q2FsbG9jKHNpemVfdCBuX2VsZW1lbnRzLCBzaXplCiB2b2lkIGZhc3RGcmVlKHZvaWQqIHAp
CiB7CiAgICAgQVNTRVJUKCFpc0ZvcmJpZGRlbigpKTsKLQotI2lmIEVOQUJMRShXVEZfTUFMTE9D
X1ZBTElEQVRJT04pCi0gICAgaWYgKCFwKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgZmFz
dE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIEludGVybmFsOjpBbGxvY1R5cGVNYWxsb2MpOwot
ICAgIEludGVybmFsOjpWYWxpZGF0aW9uSGVhZGVyKiBoZWFkZXIgPSBJbnRlcm5hbDo6ZmFzdE1h
bGxvY1ZhbGlkYXRpb25IZWFkZXIocCk7Ci0gICAgbWVtc2V0KHAsIDB4Q0MsIGhlYWRlci0+bV9z
aXplKTsKLSAgICBmcmVlKGhlYWRlcik7Ci0jZWxzZQogICAgIGZyZWUocCk7Ci0jZW5kaWYKIH0K
IAogVHJ5TWFsbG9jUmV0dXJuVmFsdWUgdHJ5RmFzdFJlYWxsb2Modm9pZCogcCwgc2l6ZV90IG4p
CiB7CiAgICAgQVNTRVJUKCFpc0ZvcmJpZGRlbigpKTsKLQotI2lmIEVOQUJMRShXVEZfTUFMTE9D
X1ZBTElEQVRJT04pCi0gICAgaWYgKHApIHsKLSAgICAgICAgaWYgKHN0ZDo6bnVtZXJpY19saW1p
dHM8c2l6ZV90Pjo6bWF4KCkgLSBJbnRlcm5hbDo6VmFsaWRhdGlvbkJ1ZmZlclNpemUgPD0gbikg
IC8vIElmIG92ZXJmbG93IHdvdWxkIG9jY3VyLi4uCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAg
ICAgICAgZmFzdE1hbGxvY1ZhbGlkYXRlKHApOwotICAgICAgICBJbnRlcm5hbDo6VmFsaWRhdGlv
bkhlYWRlciogcmVzdWx0ID0gc3RhdGljX2Nhc3Q8SW50ZXJuYWw6OlZhbGlkYXRpb25IZWFkZXIq
PihyZWFsbG9jKEludGVybmFsOjpmYXN0TWFsbG9jVmFsaWRhdGlvbkhlYWRlcihwKSwgbiArIElu
dGVybmFsOjpWYWxpZGF0aW9uQnVmZmVyU2l6ZSkpOwotICAgICAgICBpZiAoIXJlc3VsdCkKLSAg
ICAgICAgICAgIHJldHVybiAwOwotICAgICAgICByZXN1bHQtPm1fc2l6ZSA9IG47Ci0gICAgICAg
IHJlc3VsdCA9IHJlc3VsdCArIDE7Ci0gICAgICAgICpmYXN0TWFsbG9jVmFsaWRhdGlvblN1ZmZp
eChyZXN1bHQpID0gSW50ZXJuYWw6OlZhbGlkYXRpb25TdWZmaXg7Ci0gICAgICAgIGZhc3RNYWxs
b2NWYWxpZGF0ZShyZXN1bHQpOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0gZWxzZSB7
Ci0gICAgICAgIHJldHVybiBmYXN0TWFsbG9jKG4pOwotICAgIH0KLSNlbHNlCiAgICAgcmV0dXJu
IHJlYWxsb2MocCwgbik7Ci0jZW5kaWYKIH0KIAogdm9pZCogZmFzdFJlYWxsb2Modm9pZCogcCwg
c2l6ZV90IG4pCiB7CiAgICAgQVNTRVJUKCFpc0ZvcmJpZGRlbigpKTsKLQotI2lmIEVOQUJMRShX
VEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgVHJ5TWFsbG9jUmV0dXJuVmFsdWUgcmV0dXJuVmFs
dWUgPSB0cnlGYXN0UmVhbGxvYyhwLCBuKTsKLSAgICB2b2lkKiByZXN1bHQ7Ci0gICAgaWYgKCFy
ZXR1cm5WYWx1ZS5nZXRWYWx1ZShyZXN1bHQpKQotICAgICAgICBDUkFTSCgpOwotI2Vsc2UKICAg
ICB2b2lkKiByZXN1bHQgPSByZWFsbG9jKHAsIG4pOwotI2VuZGlmCi0KICAgICBpZiAoIXJlc3Vs
dCkKICAgICAgICAgQ1JBU0goKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzk3LDkgKzI5NCw3
IEBAIEZhc3RNYWxsb2NTdGF0aXN0aWNzIGZhc3RNYWxsb2NTdGF0aXN0aWMKIAogc2l6ZV90IGZh
c3RNYWxsb2NTaXplKGNvbnN0IHZvaWQqIHApCiB7Ci0jaWYgRU5BQkxFKFdURl9NQUxMT0NfVkFM
SURBVElPTikKLSAgICByZXR1cm4gSW50ZXJuYWw6OmZhc3RNYWxsb2NWYWxpZGF0aW9uSGVhZGVy
KGNvbnN0X2Nhc3Q8dm9pZCo+KHApKS0+bV9zaXplOwotI2VsaWYgT1MoREFSV0lOKQorI2lmIE9T
KERBUldJTikKICAgICByZXR1cm4gbWFsbG9jX3NpemUocCk7CiAjZWxpZiBPUyhXSU5ET1dTKQog
ICAgIHJldHVybiBfbXNpemUoY29uc3RfY2FzdDx2b2lkKj4ocCkpOwpAQCAtNDM1NiwyNCArNDI1
MSw3IEBAIHRlbXBsYXRlIDxib29sIGNyYXNoT25GYWlsdXJlPgogQUxXQVlTX0lOTElORQogI2Vu
ZGlmCiB2b2lkKiBtYWxsb2Moc2l6ZV90IHNpemUpIHsKLSNpZiBFTkFCTEUoV1RGX01BTExPQ19W
QUxJREFUSU9OKQotICAgIGlmIChzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpIC0g
SW50ZXJuYWw6OlZhbGlkYXRpb25CdWZmZXJTaXplIDw9IHNpemUpICAvLyBJZiBvdmVyZmxvdyB3
b3VsZCBvY2N1ci4uLgotICAgICAgICByZXR1cm4gMDsKLSAgICB2b2lkKiByZXN1bHQgPSBkb19t
YWxsb2Moc2l6ZSArIEludGVybmFsOjpWYWxpZGF0aW9uQnVmZmVyU2l6ZSk7Ci0gICAgaWYgKCFy
ZXN1bHQpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgSW50ZXJuYWw6OlZhbGlkYXRpb25IZWFk
ZXIqIGhlYWRlciA9IHN0YXRpY19jYXN0PEludGVybmFsOjpWYWxpZGF0aW9uSGVhZGVyKj4ocmVz
dWx0KTsKLSAgICBoZWFkZXItPm1fc2l6ZSA9IHNpemU7Ci0gICAgaGVhZGVyLT5tX3R5cGUgPSBJ
bnRlcm5hbDo6QWxsb2NUeXBlTWFsbG9jOwotICAgIGhlYWRlci0+bV9wcmVmaXggPSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSW50ZXJuYWw6OlZhbGlkYXRpb25QcmVmaXgpOwotICAgIHJlc3VsdCA9
IGhlYWRlciArIDE7Ci0gICAgKkludGVybmFsOjpmYXN0TWFsbG9jVmFsaWRhdGlvblN1ZmZpeChy
ZXN1bHQpID0gSW50ZXJuYWw6OlZhbGlkYXRpb25TdWZmaXg7Ci0gICAgZmFzdE1hbGxvY1ZhbGlk
YXRlKHJlc3VsdCk7Ci0jZWxzZQotICAgIHZvaWQqIHJlc3VsdCA9IGRvX21hbGxvYyhzaXplKTsK
LSNlbmRpZgotCisgIHZvaWQqIHJlc3VsdCA9IGRvX21hbGxvYyhzaXplKTsKICAgTWFsbG9jSG9v
azo6SW52b2tlTmV3SG9vayhyZXN1bHQsIHNpemUpOwogICByZXR1cm4gcmVzdWx0OwogfQpAQCAt
NDM4NywxOCArNDI2NSw3IEBAIHZvaWQgZnJlZSh2b2lkKiBwdHIpIHsKICNlbmRpZgogICAgIAog
ICBNYWxsb2NIb29rOjpJbnZva2VEZWxldGVIb29rKHB0cik7Ci0KLSNpZiBFTkFCTEUoV1RGX01B
TExPQ19WQUxJREFUSU9OKQotICAgIGlmICghcHRyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBm
YXN0TWFsbG9jVmFsaWRhdGUocHRyKTsKLSAgICBJbnRlcm5hbDo6VmFsaWRhdGlvbkhlYWRlciog
aGVhZGVyID0gSW50ZXJuYWw6OmZhc3RNYWxsb2NWYWxpZGF0aW9uSGVhZGVyKHB0cik7Ci0gICAg
bWVtc2V0KHB0ciwgMHhDQywgaGVhZGVyLT5tX3NpemUpOwotICAgIGRvX2ZyZWUoaGVhZGVyKTsK
LSNlbHNlCi0gICAgZG9fZnJlZShwdHIpOwotI2VuZGlmCisgIGRvX2ZyZWUocHRyKTsKIH0KIAog
I2lmbmRlZiBXVEZfQ0hBTkdFUwpAQCAtNDQxMCw5ICs0Mjc3LDYgQEAgQUxXQVlTX0lOTElORSB2
b2lkKiBjYWxsb2Moc2l6ZV90LCBzaXplXwogdm9pZCogZmFzdENhbGxvYyhzaXplX3Qgbiwgc2l6
ZV90IGVsZW1fc2l6ZSkKIHsKICAgICB2b2lkKiByZXN1bHQgPSBjYWxsb2M8dHJ1ZT4obiwgZWxl
bV9zaXplKTsKLSNpZiBFTkFCTEUoV1RGX01BTExPQ19WQUxJREFUSU9OKQotICAgIGZhc3RNYWxs
b2NWYWxpZGF0ZShyZXN1bHQpOwotI2VuZGlmCiAjaWYgRU5BQkxFKEFMTE9DQVRJT05fTE9HR0lO
RykKICAgICBkYXRhTG9nRigiZmFzdE1hbGxvYyBjb250aWd1b3VzbHkgYWxsb2NhdGluZyAlbHUg
KiAlbHUgYnl0ZXMgKGZhc3RDYWxsb2MpOiAlcC5cbiIsIG4sIGVsZW1fc2l6ZSwgcmVzdWx0KTsK
ICNlbmRpZgpAQCAtNDQyMiw5ICs0Mjg2LDYgQEAgdm9pZCogZmFzdENhbGxvYyhzaXplX3Qgbiwg
c2l6ZV90IGVsZW1fcwogVHJ5TWFsbG9jUmV0dXJuVmFsdWUgdHJ5RmFzdENhbGxvYyhzaXplX3Qg
biwgc2l6ZV90IGVsZW1fc2l6ZSkKIHsKICAgICB2b2lkKiByZXN1bHQgPSBjYWxsb2M8ZmFsc2U+
KG4sIGVsZW1fc2l6ZSk7Ci0jaWYgRU5BQkxFKFdURl9NQUxMT0NfVkFMSURBVElPTikKLSAgICBm
YXN0TWFsbG9jVmFsaWRhdGUocmVzdWx0KTsKLSNlbmRpZgogI2lmIEVOQUJMRShBTExPQ0FUSU9O
X0xPR0dJTkcpCiAgICAgZGF0YUxvZ0YoImZhc3RNYWxsb2MgY29udGlndW91c2x5IGFsbG9jYXRp
bmcgJWx1ICogJWx1IGJ5dGVzICh0cnlGYXN0Q2FsbG9jKTogJXAuXG4iLCBuLCBlbGVtX3NpemUs
IHJlc3VsdCk7CiAjZW5kaWYKQEAgLTQ0NDEsMTkgKzQzMDIsMTAgQEAgdm9pZCogY2FsbG9jKHNp
emVfdCBuLCBzaXplX3QgZWxlbV9zaXplKQogICBpZiAobiA+IDEgJiYgZWxlbV9zaXplICYmICh0
b3RhbEJ5dGVzIC8gZWxlbV9zaXplKSAhPSBuKQogICAgIHJldHVybiAwOwogCi0jaWYgRU5BQkxF
KFdURl9NQUxMT0NfVkFMSURBVElPTikKLSAgICB2b2lkKiByZXN1bHQgPSBtYWxsb2M8Y3Jhc2hP
bkZhaWx1cmU+KHRvdGFsQnl0ZXMpOwotICAgIGlmICghcmVzdWx0KQotICAgICAgICByZXR1cm4g
MDsKLQotICAgIG1lbXNldChyZXN1bHQsIDAsIHRvdGFsQnl0ZXMpOwotICAgIGZhc3RNYWxsb2NW
YWxpZGF0ZShyZXN1bHQpOwotI2Vsc2UKICAgICB2b2lkKiByZXN1bHQgPSBkb19tYWxsb2ModG90
YWxCeXRlcyk7CiAgICAgaWYgKHJlc3VsdCAhPSBOVUxMKSB7CiAgICAgICAgIG1lbXNldChyZXN1
bHQsIDAsIHRvdGFsQnl0ZXMpOwogICAgIH0KLSNlbmRpZgogCiAgIE1hbGxvY0hvb2s6Okludm9r
ZU5ld0hvb2socmVzdWx0LCB0b3RhbEJ5dGVzKTsKICAgcmV0dXJuIHJlc3VsdDsKQEAgLTQ0ODAs
MTMgKzQzMzIsNyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQqIHJlYWxsb2Modm9pZCosIHNpemVfCiAK
IHZvaWQqIGZhc3RSZWFsbG9jKHZvaWQqIG9sZF9wdHIsIHNpemVfdCBuZXdfc2l6ZSkKIHsKLSNp
ZiBFTkFCTEUoV1RGX01BTExPQ19WQUxJREFUSU9OKQotICAgIGZhc3RNYWxsb2NWYWxpZGF0ZShv
bGRfcHRyKTsKLSNlbmRpZgogICAgIHZvaWQqIHJlc3VsdCA9IHJlYWxsb2M8dHJ1ZT4ob2xkX3B0
ciwgbmV3X3NpemUpOwotI2lmIEVOQUJMRShXVEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgZmFz
dE1hbGxvY1ZhbGlkYXRlKHJlc3VsdCk7Ci0jZW5kaWYKICNpZiBFTkFCTEUoQUxMT0NBVElPTl9M
T0dHSU5HKQogICAgIGRhdGFMb2dGKCJmYXN0TWFsbG9jIHJlYWxsb2NhdGluZyAlbHUgYnl0ZXMg
KGZhc3RSZWFsbG9jKTogJXAgLT4gJXAuXG4iLCBuZXdfc2l6ZSwgb2xkX3B0ciwgcmVzdWx0KTsK
ICNlbmRpZgpAQCAtNDQ5NSwxMyArNDM0MSw3IEBAIHZvaWQqIGZhc3RSZWFsbG9jKHZvaWQqIG9s
ZF9wdHIsIHNpemVfdCAKIAogVHJ5TWFsbG9jUmV0dXJuVmFsdWUgdHJ5RmFzdFJlYWxsb2Modm9p
ZCogb2xkX3B0ciwgc2l6ZV90IG5ld19zaXplKQogewotI2lmIEVOQUJMRShXVEZfTUFMTE9DX1ZB
TElEQVRJT04pCi0gICAgZmFzdE1hbGxvY1ZhbGlkYXRlKG9sZF9wdHIpOwotI2VuZGlmCiAgICAg
dm9pZCogcmVzdWx0ID0gcmVhbGxvYzxmYWxzZT4ob2xkX3B0ciwgbmV3X3NpemUpOwotI2lmIEVO
QUJMRShXVEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgZmFzdE1hbGxvY1ZhbGlkYXRlKHJlc3Vs
dCk7Ci0jZW5kaWYKICNpZiBFTkFCTEUoQUxMT0NBVElPTl9MT0dHSU5HKQogICAgIGRhdGFMb2dG
KCJmYXN0TWFsbG9jIHJlYWxsb2NhdGluZyAlbHUgYnl0ZXMgKHRyeUZhc3RSZWFsbG9jKTogJXAg
LT4gJXAuXG4iLCBuZXdfc2l6ZSwgb2xkX3B0ciwgcmVzdWx0KTsKICNlbmRpZgpAQCAtNDUxMywx
MiArNDM1Myw4IEBAIEFMV0FZU19JTkxJTkUKICNlbmRpZgogdm9pZCogcmVhbGxvYyh2b2lkKiBv
bGRfcHRyLCBzaXplX3QgbmV3X3NpemUpIHsKICAgaWYgKG9sZF9wdHIgPT0gTlVMTCkgewotI2lm
IEVOQUJMRShXVEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgdm9pZCogcmVzdWx0ID0gbWFsbG9j
PGNyYXNoT25GYWlsdXJlPihuZXdfc2l6ZSk7Ci0jZWxzZQogICAgIHZvaWQqIHJlc3VsdCA9IGRv
X21hbGxvYyhuZXdfc2l6ZSk7CiAgICAgTWFsbG9jSG9vazo6SW52b2tlTmV3SG9vayhyZXN1bHQs
IG5ld19zaXplKTsKLSNlbmRpZgogICAgIHJldHVybiByZXN1bHQ7CiAgIH0KICAgaWYgKG5ld19z
aXplID09IDApIHsKQEAgLTQ1MjcsMTYgKzQzNjMsNiBAQCB2b2lkKiByZWFsbG9jKHZvaWQqIG9s
ZF9wdHIsIHNpemVfdCBuZXdfCiAgICAgcmV0dXJuIE5VTEw7CiAgIH0KIAotI2lmIEVOQUJMRShX
VEZfTUFMTE9DX1ZBTElEQVRJT04pCi0gICAgaWYgKHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90
Pjo6bWF4KCkgLSBJbnRlcm5hbDo6VmFsaWRhdGlvbkJ1ZmZlclNpemUgPD0gbmV3X3NpemUpICAv
LyBJZiBvdmVyZmxvdyB3b3VsZCBvY2N1ci4uLgotICAgICAgICByZXR1cm4gMDsKLSAgICBJbnRl
cm5hbDo6VmFsaWRhdGlvbkhlYWRlciogaGVhZGVyID0gSW50ZXJuYWw6OmZhc3RNYWxsb2NWYWxp
ZGF0aW9uSGVhZGVyKG9sZF9wdHIpOwotICAgIGZhc3RNYWxsb2NWYWxpZGF0ZShvbGRfcHRyKTsK
LSAgICBvbGRfcHRyID0gaGVhZGVyOwotICAgIGhlYWRlci0+bV9zaXplID0gbmV3X3NpemU7Ci0g
ICAgbmV3X3NpemUgKz0gSW50ZXJuYWw6OlZhbGlkYXRpb25CdWZmZXJTaXplOwotI2VuZGlmCi0K
ICAgQVNTRVJUKHBhZ2VoZWFwICE9IE5VTEwpOyAgLy8gU2hvdWxkIG5vdCBjYWxsIHJlYWxsb2Mo
KSBiZWZvcmUgbWFsbG9jKCkKICAgQVNTRVJUKGtQYWdlU2hpZnQgJiYga051bUNsYXNzZXMgJiYg
a1BhZ2VTaXplKTsKIApAQCAtNDU3MiwxNiArNDM5OCw4IEBAIHZvaWQqIHJlYWxsb2Modm9pZCog
b2xkX3B0ciwgc2l6ZV90IG5ld18KICAgICAvLyB0aGF0IHdlIGFscmVhZHkga25vdyB0aGUgc2l6
ZWNsYXNzIG9mIG9sZF9wdHIuICBUaGUgYmVuZWZpdAogICAgIC8vIHdvdWxkIGJlIHNtYWxsLCBz
byBkb24ndCBib3RoZXIuCiAgICAgZG9fZnJlZShvbGRfcHRyKTsKLSNpZiBFTkFCTEUoV1RGX01B
TExPQ19WQUxJREFUSU9OKQotICAgIG5ld19wdHIgPSBzdGF0aWNfY2FzdDxJbnRlcm5hbDo6VmFs
aWRhdGlvbkhlYWRlcio+KG5ld19wdHIpICsgMTsKLSAgICAqSW50ZXJuYWw6OmZhc3RNYWxsb2NW
YWxpZGF0aW9uU3VmZml4KG5ld19wdHIpID0gSW50ZXJuYWw6OlZhbGlkYXRpb25TdWZmaXg7Ci0j
ZW5kaWYKICAgICByZXR1cm4gbmV3X3B0cjsKICAgfSBlbHNlIHsKLSNpZiBFTkFCTEUoV1RGX01B
TExPQ19WQUxJREFUSU9OKQotICAgIG9sZF9wdHIgPSBzdGF0aWNfY2FzdDxJbnRlcm5hbDo6VmFs
aWRhdGlvbkhlYWRlcio+KG9sZF9wdHIpICsgMTsgLy8gU2V0IG9sZF9wdHIgYmFjayB0byB0aGUg
dXNlciBwb2ludGVyLgotICAgICpJbnRlcm5hbDo6ZmFzdE1hbGxvY1ZhbGlkYXRpb25TdWZmaXgo
b2xkX3B0cikgPSBJbnRlcm5hbDo6VmFsaWRhdGlvblN1ZmZpeDsKLSNlbmRpZgogICAgIHJldHVy
biBvbGRfcHRyOwogICB9CiB9CkBAIC00NzgwLDEyICs0NTk4LDkgQEAgRmFzdE1hbGxvY1N0YXRp
c3RpY3MgZmFzdE1hbGxvY1N0YXRpc3RpYwogCiBzaXplX3QgZmFzdE1hbGxvY1NpemUoY29uc3Qg
dm9pZCogcHRyKQogewotICBpZiAocGFnZWhlYXAgPT0gTlVMTCkgVENNYWxsb2NfVGhyZWFkQ2Fj
aGU6OkluaXRNb2R1bGUoKTsKLSAgQVNTRVJUKGtQYWdlU2hpZnQgJiYga051bUNsYXNzZXMgJiYg
a1BhZ2VTaXplKTsKKyAgICBpZiAocGFnZWhlYXAgPT0gTlVMTCkgVENNYWxsb2NfVGhyZWFkQ2Fj
aGU6OkluaXRNb2R1bGUoKTsKKyAgICBBU1NFUlQoa1BhZ2VTaGlmdCAmJiBrTnVtQ2xhc3NlcyAm
JiBrUGFnZVNpemUpOwogCi0jaWYgRU5BQkxFKFdURl9NQUxMT0NfVkFMSURBVElPTikKLSAgICBy
ZXR1cm4gSW50ZXJuYWw6OmZhc3RNYWxsb2NWYWxpZGF0aW9uSGVhZGVyKGNvbnN0X2Nhc3Q8dm9p
ZCo+KHB0cikpLT5tX3NpemU7Ci0jZWxzZQogICAgIGNvbnN0IFBhZ2VJRCBwID0gcmVpbnRlcnBy
ZXRfY2FzdDx1aW50cHRyX3Q+KHB0cikgPj4ga1BhZ2VTaGlmdDsKICAgICBTcGFuKiBzcGFuID0g
cGFnZWhlYXAtPkdldERlc2NyaXB0b3JFbnN1cmVTYWZlKHApOwogCkBAIC00ODAxLDcgKzQ2MTYs
NiBAQCBzaXplX3QgZmFzdE1hbGxvY1NpemUoY29uc3Qgdm9pZCogcHRyKQogICAgICAgICByZXR1
cm4gQnl0ZVNpemVGb3JDbGFzcyhjbCk7CiAKICAgICByZXR1cm4gc3Bhbi0+bGVuZ3RoIDw8IGtQ
YWdlU2hpZnQ7Ci0jZW5kaWYKIH0KIAogI2lmIE9TKERBUldJTikKSW5kZXg6IFNvdXJjZS9XVEYv
d3RmL0Zhc3RNYWxsb2MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9j
LmgJKHJldmlzaW9uIDE3OTIxNykKKysrIFNvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuaAkod29y
a2luZyBjb3B5KQpAQCAtOTQsMTI5ICs5NCw2IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8vIHNp
emUgYXMgdGhlIG1pbmltYWxseSBhbGlnbmVkIG1lbW9yeSBhbGxvY2F0aW9uLgogICAgIHR5cGVk
ZWYgdW5zaWduZWQgbG9uZyBsb25nIEFsbG9jQWxpZ25tZW50SW50ZWdlcjsKIAotICAgIG5hbWVz
cGFjZSBJbnRlcm5hbCB7Ci0gICAgICAgIGVudW0gQWxsb2NUeXBlIHsgICAgICAgICAgICAgICAg
ICAgIC8vIFN0YXJ0IHdpdGggYW4gdW51c3VhbCBudW1iZXIgaW5zdGVhZCBvZiB6ZXJvLCBiZWNh
dXNlIHplcm8gaXMgY29tbW9uLgotICAgICAgICAgICAgQWxsb2NUeXBlTWFsbG9jID0gMHgzNzVk
Njc1MCwgICAvLyBFbmNvbXBhc3NlcyBmYXN0TWFsbG9jLCBmYXN0WmVyb2VkTWFsbG9jLCBmYXN0
Q2FsbG9jLCBmYXN0UmVhbGxvYy4KLSAgICAgICAgICAgIEFsbG9jVHlwZUNsYXNzTmV3LCAgICAg
ICAgICAgICAgLy8gRW5jb21wYXNzZXMgY2xhc3Mgb3BlcmF0b3IgbmV3IGZyb20gRmFzdEFsbG9j
QmFzZS4KLSAgICAgICAgICAgIEFsbG9jVHlwZUNsYXNzTmV3QXJyYXksICAgICAgICAgLy8gRW5j
b21wYXNzZXMgY2xhc3Mgb3BlcmF0b3IgbmV3W10gZnJvbSBGYXN0QWxsb2NCYXNlLgotICAgICAg
ICAgICAgQWxsb2NUeXBlTmV3LCAgICAgICAgICAgICAgICAgICAvLyBFbmNvbXBhc3NlcyBnbG9i
YWwgb3BlcmF0b3IgbmV3LgotICAgICAgICAgICAgQWxsb2NUeXBlTmV3QXJyYXkgICAgICAgICAg
ICAgICAvLyBFbmNvbXBhc3NlcyBnbG9iYWwgb3BlcmF0b3IgbmV3W10uCi0gICAgICAgIH07Ci0K
LSAgICAgICAgZW51bSB7Ci0gICAgICAgICAgICBWYWxpZGF0aW9uUHJlZml4ID0gMHhmMDBkZjAw
ZCwKLSAgICAgICAgICAgIFZhbGlkYXRpb25TdWZmaXggPSAweDBiYWRmMDBkCi0gICAgICAgIH07
Ci0KLSAgICAgICAgdHlwZWRlZiB1bnNpZ25lZCBWYWxpZGF0aW9uVGFnOwotCi0gICAgICAgIHN0
cnVjdCBWYWxpZGF0aW9uSGVhZGVyIHsKLSAgICAgICAgICAgIEFsbG9jVHlwZSBtX3R5cGU7Ci0g
ICAgICAgICAgICB1bnNpZ25lZCBtX3NpemU7Ci0gICAgICAgICAgICBWYWxpZGF0aW9uVGFnIG1f
cHJlZml4OwotICAgICAgICAgICAgdW5zaWduZWQgbV9hbGlnbm1lbnQ7Ci0gICAgICAgIH07Ci0K
LSAgICAgICAgc3RhdGljIGNvbnN0IGludCBWYWxpZGF0aW9uQnVmZmVyU2l6ZSA9IHNpemVvZihW
YWxpZGF0aW9uSGVhZGVyKSArIHNpemVvZihWYWxpZGF0aW9uVGFnKTsKLSAgICB9Ci0KLSNpZiBF
TkFCTEUoV1RGX01BTExPQ19WQUxJREFUSU9OKQotCi0gICAgLy8gTWFsbG9jIHZhbGlkYXRpb24g
aXMgYSBzY2hlbWUgd2hlcmVieSBhIHRhZyBpcyBhdHRhY2hlZCB0byBhbgotICAgIC8vIGFsbG9j
YXRpb24gd2hpY2ggaWRlbnRpZmllcyBob3cgaXQgd2FzIG9yaWdpbmFsbHkgYWxsb2NhdGVkLgot
ICAgIC8vIFRoaXMgYWxsb3dzIHVzIHRvIHZlcmlmeSB0aGF0IHRoZSBmcmVlaW5nIG9wZXJhdGlv
biBtYXRjaGVzIHRoZQotICAgIC8vIGFsbG9jYXRpb24gb3BlcmF0aW9uLiBJZiBtZW1vcnkgaXMg
YWxsb2NhdGVkIHdpdGggb3BlcmF0b3IgbmV3W10KLSAgICAvLyBidXQgZnJlZWQgd2l0aCBmcmVl
IG9yIGRlbGV0ZSwgdGhpcyBzeXN0ZW0gd291bGQgZGV0ZWN0IHRoYXQuCi0gICAgLy8gSW4gdGhl
IGltcGxlbWVudGF0aW9uIGhlcmUsIHRoZSB0YWcgaXMgYW4gaW50ZWdlciBwcmVwZW5kZWQgdG8K
LSAgICAvLyB0aGUgYWxsb2NhdGlvbiBtZW1vcnkgd2hpY2ggaXMgYXNzaWduZWQgb25lIG9mIHRo
ZSBBbGxvY1R5cGUKLSAgICAvLyBlbnVtZXJhdGlvbiB2YWx1ZXMuIEFuIGFsdGVybmF0aXZlIGlt
cGxlbWVudGF0aW9uIG9mIHRoaXMKLSAgICAvLyBzY2hlbWUgY291bGQgc3RvcmUgdGhlIHRhZyBz
b21ld2hlcmUgZWxzZSBvciBpZ25vcmUgaXQuCi0gICAgLy8gVXNlcnMgb2YgRmFzdE1hbGxvYyBk
b24ndCBuZWVkIHRvIGtub3cgb3IgY2FyZSBob3cgdGhpcyB0YWdnaW5nCi0gICAgLy8gaXMgaW1w
bGVtZW50ZWQuCi0KLSAgICBuYW1lc3BhY2UgSW50ZXJuYWwgewotICAgIAotICAgICAgICAvLyBI
YW5kbGUgYSBkZXRlY3RlZCBhbGxvYy9mcmVlIG1pc21hdGNoLiBCeSBkZWZhdWx0IHRoaXMgY2Fs
bHMgQ1JBU0goKS4KLSAgICAgICAgdm9pZCBmYXN0TWFsbG9jTWF0Y2hGYWlsZWQodm9pZCogcCk7
Ci0KLSAgICAgICAgaW5saW5lIFZhbGlkYXRpb25IZWFkZXIqIGZhc3RNYWxsb2NWYWxpZGF0aW9u
SGVhZGVyKHZvaWQqIHApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFZhbGlkYXRpb25IZWFkZXIqPihzdGF0aWNfY2FzdDxjaGFyKj4ocCkgLSBzaXplb2Yo
VmFsaWRhdGlvbkhlYWRlcikpOwotICAgICAgICB9Ci0KLSAgICAgICAgaW5saW5lIFZhbGlkYXRp
b25UYWcqIGZhc3RNYWxsb2NWYWxpZGF0aW9uU3VmZml4KHZvaWQqIHApCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIFZhbGlkYXRpb25IZWFkZXIqIGhlYWRlciA9IGZhc3RNYWxsb2NWYWxpZGF0aW9u
SGVhZGVyKHApOwotICAgICAgICAgICAgaWYgKGhlYWRlci0+bV9wcmVmaXggIT0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KFZhbGlkYXRpb25QcmVmaXgpKQotICAgICAgICAgICAgICAgIGZhc3RNYWxs
b2NNYXRjaEZhaWxlZChwKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3Q8VmFsaWRhdGlvblRhZyo+KHN0YXRpY19jYXN0PGNoYXIqPihwKSArIGhlYWRl
ci0+bV9zaXplKTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIFJldHVybiB0aGUgQWxsb2NUeXBl
IHRhZyBhc3NvY2lhdGVkIHdpdGggdGhlIGFsbG9jYXRlZCBibG9jayBwLgotICAgICAgICBpbmxp
bmUgQWxsb2NUeXBlIGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRpb25UeXBlKHZvaWQqIHApCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBmYXN0TWFsbG9jVmFsaWRhdGlvbkhlYWRlcihwKS0+
bV90eXBlOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gU2V0IHRoZSBBbGxvY1R5cGUgdGFnIHRv
IGJlIGFzc29jaWFnZWQgd2l0aCB0aGUgYWxsb2NhdGVkIGJsb2NrIHAuCi0gICAgICAgIGlubGlu
ZSB2b2lkIHNldEZhc3RNYWxsb2NNYXRjaFZhbGlkYXRpb25UeXBlKHZvaWQqIHAsIEFsbG9jVHlw
ZSBhbGxvY1R5cGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZhc3RNYWxsb2NWYWxpZGF0aW9u
SGVhZGVyKHApLT5tX3R5cGUgPSBhbGxvY1R5cGU7Ci0gICAgICAgIH0KLQotICAgIH0gLy8gbmFt
ZXNwYWNlIEludGVybmFsCi0KLSAgICAvLyBUaGlzIGlzIGEgaGlnaGVyIGxldmVsIGZ1bmN0aW9u
IHdoaWNoIGlzIHVzZWQgYnkgRmFzdE1hbGxvYy11c2luZyBjb2RlLgotICAgIGlubGluZSB2b2lk
IGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHZvaWQqIHAsIEludGVybmFsOjpBbGxvY1R5
cGUgYWxsb2NUeXBlKQotICAgIHsKLSAgICAgICAgaWYgKCFwKQotICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgIEludGVybmFsOjpzZXRGYXN0TWFsbG9jTWF0Y2hWYWxpZGF0aW9uVHlwZShw
LCBhbGxvY1R5cGUpOwotICAgIH0KLQotICAgIC8vIFRoaXMgaXMgYSBoaWdoZXIgbGV2ZWwgZnVu
Y3Rpb24gd2hpY2ggaXMgdXNlZCBieSBGYXN0TWFsbG9jLXVzaW5nIGNvZGUuCi0gICAgaW5saW5l
IHZvaWQgZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHZvaWQqIHAsIEludGVybmFsOjpBbGxv
Y1R5cGUpCi0gICAgewotICAgICAgICBpZiAoIXApCi0gICAgICAgICAgICByZXR1cm47Ci0gICAg
Ci0gICAgICAgIEludGVybmFsOjpWYWxpZGF0aW9uSGVhZGVyKiBoZWFkZXIgPSBJbnRlcm5hbDo6
ZmFzdE1hbGxvY1ZhbGlkYXRpb25IZWFkZXIocCk7Ci0gICAgICAgIGlmIChoZWFkZXItPm1fcHJl
Zml4ICE9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihJbnRlcm5hbDo6VmFsaWRhdGlvblByZWZpeCkp
Ci0gICAgICAgICAgICBJbnRlcm5hbDo6ZmFzdE1hbGxvY01hdGNoRmFpbGVkKHApOwotCi0gICAg
ICAgIGlmICgqSW50ZXJuYWw6OmZhc3RNYWxsb2NWYWxpZGF0aW9uU3VmZml4KHApICE9IEludGVy
bmFsOjpWYWxpZGF0aW9uU3VmZml4KQotICAgICAgICAgICAgSW50ZXJuYWw6OmZhc3RNYWxsb2NN
YXRjaEZhaWxlZChwKTsKLQotICAgICAgICBJbnRlcm5hbDo6c2V0RmFzdE1hbGxvY01hdGNoVmFs
aWRhdGlvblR5cGUocCwgSW50ZXJuYWw6OkFsbG9jVHlwZU1hbGxvYyk7ICAvLyBTZXQgaXQgdG8g
dGhpcyBzbyB0aGF0IGZhc3RGcmVlIHRoaW5rcyBpdCdzIE9LLgotICAgIH0KLQotICAgIGlubGlu
ZSB2b2lkIGZhc3RNYWxsb2NWYWxpZGF0ZSh2b2lkKiBwKQotICAgIHsKLSAgICAgICAgaWYgKCFw
KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICAgICAgSW50ZXJuYWw6OlZhbGlk
YXRpb25IZWFkZXIqIGhlYWRlciA9IEludGVybmFsOjpmYXN0TWFsbG9jVmFsaWRhdGlvbkhlYWRl
cihwKTsKLSAgICAgICAgaWYgKGhlYWRlci0+bV9wcmVmaXggIT0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEludGVybmFsOjpWYWxpZGF0aW9uUHJlZml4KSkKLSAgICAgICAgICAgIEludGVybmFsOjpm
YXN0TWFsbG9jTWF0Y2hGYWlsZWQocCk7Ci0gICAgICAgIAotICAgICAgICBpZiAoKkludGVybmFs
OjpmYXN0TWFsbG9jVmFsaWRhdGlvblN1ZmZpeChwKSAhPSBJbnRlcm5hbDo6VmFsaWRhdGlvblN1
ZmZpeCkKLSAgICAgICAgICAgIEludGVybmFsOjpmYXN0TWFsbG9jTWF0Y2hGYWlsZWQocCk7Ci0g
ICAgfQotCi0jZWxzZQotCi0gICAgaW5saW5lIHZvaWQgZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVN
YWxsb2Modm9pZCosIEludGVybmFsOjpBbGxvY1R5cGUpCi0gICAgewotICAgIH0KLQotICAgIGlu
bGluZSB2b2lkIGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZSh2b2lkKiwgSW50ZXJuYWw6OkFs
bG9jVHlwZSkKLSAgICB7Ci0gICAgfQotCi0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV1RGCiAK
IHVzaW5nIFdURjo6ZmFzdENhbGxvYzsKQEAgLTI1NCwyNyArMTMxLDIxIEBAIHB1YmxpYzogXAog
ICAgIFwKICAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKICAgICB7IFwKLSAg
ICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCi0gICAgICAgIDo6V1RG
OjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9j
VHlwZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAorICAgICAgICByZXR1cm4gOjpX
VEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKICAgICB9IFwKICAgICBcCiAgICAgdm9pZCBvcGVyYXRv
ciBkZWxldGUodm9pZCogcCkgXAogICAgIHsgXAotICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01h
dGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBc
CiAgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAogICAgIH0gXAogICAgIFwKICAgICB2b2lk
KiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAogICAgIHsgXAotICAgICAgICB2b2lkKiBw
ID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NN
YXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdB
cnJheSk7IFwKLSAgICAgICAgcmV0dXJuIHA7IFwKKyAgICAgICAgcmV0dXJuIDo6V1RGOjpmYXN0
TWFsbG9jKHNpemUpOyBcCiAgICAgfSBcCiAgICAgXAogICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRl
W10odm9pZCogcCkgXAogICAgIHsgXAotICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFs
aWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwK
ICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCiAgICAgfSBcCiAgICAgdm9pZCogb3BlcmF0
b3IgbmV3KHNpemVfdCwgTm90TnVsbFRhZywgdm9pZCogbG9jYXRpb24pIFwK
</data>
<flag name="review"
          id="270414"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>