<?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>212773</bug_id>
          
          <creation_ts>2020-06-04 13:15:36 -0700</creation_ts>
          <short_desc>Add Options::validateDoesGC() for turning DoesGC validation on/off.</short_desc>
          <delta_ts>2020-06-04 14:10:15 -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 Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1659282</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-04 13:15:36 -0700</bug_when>
    <thetext>It will default to on if ASSERT_ENABLED because we want testing to be done with the validation on.  When needed, we can turn it off if we need to e.g. to de-clutter disassembly dumps while debugging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659294</commentid>
    <comment_count>1</comment_count>
      <attachid>401073</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-04 13:28:21 -0700</bug_when>
    <thetext>Created attachment 401073
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659321</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-04 14:09:30 -0700</bug_when>
    <thetext>Thanks for the review.  I added some details to the ChangeLog.

Landed in r262570: &lt;http://trac.webkit.org/r262570&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1659322</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-04 14:10:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/63994958&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401073</attachid>
            <date>2020-06-04 13:28:21 -0700</date>
            <delta_ts>2020-06-04 13:55:59 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-212773.patch</filename>
            <type>text/plain</type>
            <size>21910</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYyNTY0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBA
CisyMDIwLTA2LTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgT3B0aW9uczo6dmFsaWRhdGVEb2VzR0MoKSBmb3IgdHVybmluZyBEb2VzR0MgdmFsaWRhdGlv
biBvbi9vZmYuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTI3NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJdCB3aWxsIGRlZmF1bHQgdG8gb24gaWYgQVNTRVJUX0VOQUJMRUQgYmVjYXVzZSB3ZSB3YW50
IHRlc3RpbmcgdG8gYmUgZG9uZSB3aXRoCisgICAgICAgIHRoZSB2YWxpZGF0aW9uIG9uLiAgV2hl
biBuZWVkZWQsIHdlIGNhbiB0dXJuIGl0IG9mZiBpZiB3ZSBuZWVkIHRvIGUuZy4gdG8KKyAgICAg
ICAgZGUtY2x1dHRlciBkaXNhc3NlbWJseSBkdW1wcyB3aGlsZSBkZWJ1Z2dpbmcuCisKKyAgICAg
ICAgQWxzbyBtYWRlIGl0IGV4cGxpY2l0IHRoYXQgdGhlIGNoZWNrIG9uIHZhbGlkYXRlREZHRG9l
c0dDIGlzIGEgY29uc3RleHByIGNoZWNrLgorCisgICAgICAgICogZGZnL0RGR0RvZXNHQ0NoZWNr
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpEb2VzR0NDaGVjazo6dmVyaWZ5Q2FuR0MpOgorICAg
ICAgICAqIGRmZy9ERkdPU1JFeGl0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpPU1JFeGl0Ojpj
b21waWxlRXhpdCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAg
ICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTm9kZSk6CisgICAgICAg
ICogZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y29tcGls
ZVN0dWIpOgorICAgICAgICAqIHJ1bnRpbWUvT3B0aW9uc0xpc3QuaDoKKwogMjAyMC0wNi0wNCAg
TWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVkdWNlIERGR0RvZXNH
Q0NoZWNrIHRvIG9ubHkgc3RvcmluZyBhIHVpbnQzMl90LgpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdEb2VzR0NDaGVjay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdEb2VzR0NDaGVjay5jcHAJKHJldmlzaW9uIDI2MjU2MikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDQ2hlY2suY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiREZH
Tm9kZVR5cGUuaCIKICNpbmNsdWRlICJIZWFwLmgiCisjaW5jbHVkZSAiT3B0aW9ucy5oIgogI2lu
Y2x1ZGUgIlZNSW5zcGVjdG9yLmgiCiAjaW5jbHVkZSA8d3RmL0RhdGFMb2cuaD4KIApAQCAtNDYs
NiArNDcsOSBAQCB2b2lkIERvZXNHQ0NoZWNrOjp2ZXJpZnlDYW5HQyhWTSYgdm0pCiAgICAgLy8g
aW4gdGhlIGhlYWRlciBmaWxlLgogICAgIHN0YXRpY19hc3NlcnQobnVtYmVyT2ZOb2RlVHlwZXMg
PD0gKDEgPDwgbm9kZU9wQml0cykpOwogCisgICAgaWYgKCFPcHRpb25zOjp2YWxpZGF0ZURvZXNH
QygpKQorICAgICAgICByZXR1cm47CisKICAgICBpZiAoIWV4cGVjdERvZXNHQygpKSB7CiAgICAg
ICAgIGRhdGFMb2coIkVycm9yOiBEb2VzR0MgZmFpbGVkIik7CiAgICAgICAgIGlmIChpc1NwZWNp
YWwoKSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuY3BwCShy
ZXZpc2lvbiAyNjI1NjIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsNyArMTQzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkNvbXBpbGVPU1JFeAogICAgIFZNJiB2bSA9IGNhbGxGcmFtZS0+ZGVwcmVjYXRl
ZFZNKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAg
aWYgKHZhbGlkYXRlREZHRG9lc0dDKSB7CisgICAgaWYgY29uc3RleHByICh2YWxpZGF0ZURGR0Rv
ZXNHQykgewogICAgICAgICAvLyBXZSdyZSBhYm91dCB0byBleGl0IG9wdGltaXplZCBjb2RlLiBT
bywgdGhlcmUncyBubyBsb25nZXIgYW55IG9wdGltaXplZAogICAgICAgICAvLyBjb2RlIHJ1bm5p
bmcgdGhhdCBleHBlY3RzIG5vIEdDLgogICAgICAgICB2bS5oZWFwLnNldERvZXNHQ0V4cGVjdGF0
aW9uKHRydWUsIERvZXNHQ0NoZWNrOjpTcGVjaWFsOjpERkdPU1JFeGl0KTsKQEAgLTU1MSwxNiAr
NTUxLDE4IEBAIHZvaWQgT1NSRXhpdDo6Y29tcGlsZUV4aXQoQ0NhbGxIZWxwZXJzJiAKICAgICB9
CiAKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgIGlmICh2YWxpZGF0ZURGR0RvZXNHQykgewotICAg
ICAgICAvLyBXZSdyZSBhYm91dCB0byBleGl0IG9wdGltaXplZCBjb2RlLiBTbywgdGhlcmUncyBu
byBsb25nZXIgYW55IG9wdGltaXplZAotICAgICAgICAvLyBjb2RlIHJ1bm5pbmcgdGhhdCBleHBl
Y3RzIG5vIEdDLiBXZSBuZWVkIHRvIHNldCB0aGlzIGJlZm9yZSBhcmd1bWVudHMKLSAgICAgICAg
Ly8gbWF0ZXJpYWxpemF0aW9uIGJlbG93IChzZWUgZW1pdFJlc3RvcmVBcmd1bWVudHMoKSkuCi0K
LSAgICAgICAgLy8gRXZlbiB0aG91Z2ggd2Ugc2V0IEhlYXA6Om1fZG9lc0dDIGluIGNvbXBpbGVP
U1JFeGl0KCksIHdlIGFsc28gbmVlZAotICAgICAgICAvLyB0byBzZXQgaXQgaGVyZSBiZWNhdXNl
IGNvbXBpbGVPU1JFeGl0KCkgaXMgb25seSBjYWxsZWQgb24gdGhlIGZpcnN0IHRpbWUKLSAgICAg
ICAgLy8gd2UgZXhpdCBmcm9tIHRoaXMgc2l0ZSwgYnV0IGFsbCBzdWJzZXF1ZW50IGV4aXRzIHdp
bGwgdGFrZSB0aGlzIGNvbXBpbGVkCi0gICAgICAgIC8vIHJhbXAgd2l0aG91dCBjYWxsaW5nIGNv
bXBpbGVPU1JFeGl0KCkgZmlyc3QuCi0gICAgICAgIGppdC5zdG9yZTMyKENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbTMyKERvZXNHQ0NoZWNrOjplbmNvZGUodHJ1ZSwgRG9lc0dDQ2hlY2s6OlNwZWNp
YWw6OkRGR09TUkV4aXQpKSwgdm0uaGVhcC5hZGRyZXNzT2ZEb2VzR0MoKSk7CisgICAgaWYgY29u
c3RleHByICh2YWxpZGF0ZURGR0RvZXNHQykgeworICAgICAgICBpZiAoT3B0aW9uczo6dmFsaWRh
dGVEb2VzR0MoKSkgeworICAgICAgICAgICAgLy8gV2UncmUgYWJvdXQgdG8gZXhpdCBvcHRpbWl6
ZWQgY29kZS4gU28sIHRoZXJlJ3Mgbm8gbG9uZ2VyIGFueSBvcHRpbWl6ZWQKKyAgICAgICAgICAg
IC8vIGNvZGUgcnVubmluZyB0aGF0IGV4cGVjdHMgbm8gR0MuIFdlIG5lZWQgdG8gc2V0IHRoaXMg
YmVmb3JlIGFyZ3VtZW50cworICAgICAgICAgICAgLy8gbWF0ZXJpYWxpemF0aW9uIGJlbG93IChz
ZWUgZW1pdFJlc3RvcmVBcmd1bWVudHMoKSkuCisKKyAgICAgICAgICAgIC8vIEV2ZW4gdGhvdWdo
IHdlIHNldCBIZWFwOjptX2RvZXNHQyBpbiBjb21waWxlT1NSRXhpdCgpLCB3ZSBhbHNvIG5lZWQK
KyAgICAgICAgICAgIC8vIHRvIHNldCBpdCBoZXJlIGJlY2F1c2UgY29tcGlsZU9TUkV4aXQoKSBp
cyBvbmx5IGNhbGxlZCBvbiB0aGUgZmlyc3QgdGltZQorICAgICAgICAgICAgLy8gd2UgZXhpdCBm
cm9tIHRoaXMgc2l0ZSwgYnV0IGFsbCBzdWJzZXF1ZW50IGV4aXRzIHdpbGwgdGFrZSB0aGlzIGNv
bXBpbGVkCisgICAgICAgICAgICAvLyByYW1wIHdpdGhvdXQgY2FsbGluZyBjb21waWxlT1NSRXhp
dCgpIGZpcnN0LgorICAgICAgICAgICAgaml0LnN0b3JlMzIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tMzIoRG9lc0dDQ2hlY2s6OmVuY29kZSh0cnVlLCBEb2VzR0NDaGVjazo6U3BlY2lhbDo6REZH
T1NSRXhpdCkpLCB2bS5oZWFwLmFkZHJlc3NPZkRvZXNHQygpKTsKKyAgICAgICAgfQogICAgIH0K
ICNlbmRpZgogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiAyNjI1NjIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xODA3LDkgKzE4MDcsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShO
b2RlKiBub2RlKQogewogICAgIE5vZGVUeXBlIG9wID0gbm9kZS0+b3AoKTsKIAotICAgIGlmICh2
YWxpZGF0ZURGR0RvZXNHQykgewotICAgICAgICBib29sIGV4cGVjdERvZXNHQyA9IGRvZXNHQyht
X2ppdC5ncmFwaCgpLCBub2RlKTsKLSAgICAgICAgbV9qaXQuc3RvcmUzMihUcnVzdGVkSW1tMzIo
RG9lc0dDQ2hlY2s6OmVuY29kZShleHBlY3REb2VzR0MsIG5vZGUtPmluZGV4KCksIG5vZGUtPm9w
KCkpKSwgdm0oKS5oZWFwLmFkZHJlc3NPZkRvZXNHQygpKTsKKyAgICBpZiBjb25zdGV4cHIgKHZh
bGlkYXRlREZHRG9lc0dDKSB7CisgICAgICAgIGlmIChPcHRpb25zOjp2YWxpZGF0ZURvZXNHQygp
KSB7CisgICAgICAgICAgICBib29sIGV4cGVjdERvZXNHQyA9IGRvZXNHQyhtX2ppdC5ncmFwaCgp
LCBub2RlKTsKKyAgICAgICAgICAgIG1faml0LnN0b3JlMzIoVHJ1c3RlZEltbTMyKERvZXNHQ0No
ZWNrOjplbmNvZGUoZXhwZWN0RG9lc0dDLCBub2RlLT5pbmRleCgpLCBub2RlLT5vcCgpKSksIHZt
KCkuaGVhcC5hZGRyZXNzT2ZEb2VzR0MoKSk7CisgICAgICAgIH0KICAgICB9CiAKICNpZiBFTkFC
TEUoREZHX1JFR0lTVEVSX0FMTE9DQVRJT05fVkFMSURBVElPTikKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24g
MjYyNTYyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEzNiw5ICsyMTM2LDExIEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKIHsKICAgICBOb2RlVHlwZSBvcCA9IG5vZGUtPm9w
KCk7CiAKLSAgICBpZiAodmFsaWRhdGVERkdEb2VzR0MpIHsKLSAgICAgICAgYm9vbCBleHBlY3RE
b2VzR0MgPSBkb2VzR0MobV9qaXQuZ3JhcGgoKSwgbm9kZSk7Ci0gICAgICAgIG1faml0LnN0b3Jl
MzIoVHJ1c3RlZEltbTMyKERvZXNHQ0NoZWNrOjplbmNvZGUoZXhwZWN0RG9lc0dDLCBub2RlLT5p
bmRleCgpLCBub2RlLT5vcCgpKSksIHZtKCkuaGVhcC5hZGRyZXNzT2ZEb2VzR0MoKSk7CisgICAg
aWYgY29uc3RleHByICh2YWxpZGF0ZURGR0RvZXNHQykgeworICAgICAgICBpZiAoT3B0aW9uczo6
dmFsaWRhdGVEb2VzR0MoKSkgeworICAgICAgICAgICAgYm9vbCBleHBlY3REb2VzR0MgPSBkb2Vz
R0MobV9qaXQuZ3JhcGgoKSwgbm9kZSk7CisgICAgICAgICAgICBtX2ppdC5zdG9yZTMyKFRydXN0
ZWRJbW0zMihEb2VzR0NDaGVjazo6ZW5jb2RlKGV4cGVjdERvZXNHQywgbm9kZS0+aW5kZXgoKSwg
bm9kZS0+b3AoKSkpLCB2bSgpLmhlYXAuYWRkcmVzc09mRG9lc0dDKCkpOworICAgICAgICB9CiAg
ICAgfQogCiAjaWYgRU5BQkxFKERGR19SRUdJU1RFUl9BTExPQ0FUSU9OX1ZBTElEQVRJT04pCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShy
ZXZpc2lvbiAyNjI1NjIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwMiw5ICs3MDIsMTEgQEAgcHJpdmF0ZToKICAg
ICAgICAgaWYgKE9wdGlvbnM6OnZhbGlkYXRlQWJzdHJhY3RJbnRlcnByZXRlclN0YXRlKCkpCiAg
ICAgICAgICAgICB2YWxpZGF0ZUFJU3RhdGUobV9ub2RlKTsKIAotICAgICAgICBpZiAodmFsaWRh
dGVERkdEb2VzR0MpIHsKLSAgICAgICAgICAgIGJvb2wgZXhwZWN0RG9lc0dDID0gZG9lc0dDKG1f
Z3JhcGgsIG1fbm9kZSk7Ci0gICAgICAgICAgICBtX291dC5zdG9yZShtX291dC5jb25zdEludDMy
KERvZXNHQ0NoZWNrOjplbmNvZGUoZXhwZWN0RG9lc0dDLCBtX25vZGUtPmluZGV4KCksIG1fbm9k
ZS0+b3AoKSkpLCBtX291dC5hYnNvbHV0ZSh2bSgpLmhlYXAuYWRkcmVzc09mRG9lc0dDKCkpKTsK
KyAgICAgICAgaWYgY29uc3RleHByICh2YWxpZGF0ZURGR0RvZXNHQykgeworICAgICAgICAgICAg
aWYgKE9wdGlvbnM6OnZhbGlkYXRlRG9lc0dDKCkpIHsKKyAgICAgICAgICAgICAgICBib29sIGV4
cGVjdERvZXNHQyA9IGRvZXNHQyhtX2dyYXBoLCBtX25vZGUpOworICAgICAgICAgICAgICAgIG1f
b3V0LnN0b3JlKG1fb3V0LmNvbnN0SW50MzIoRG9lc0dDQ2hlY2s6OmVuY29kZShleHBlY3REb2Vz
R0MsIG1fbm9kZS0+aW5kZXgoKSwgbV9ub2RlLT5vcCgpKSksIG1fb3V0LmFic29sdXRlKHZtKCku
aGVhcC5hZGRyZXNzT2ZEb2VzR0MoKSkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAg
ICAgICAgc3dpdGNoIChtX25vZGUtPm9wKCkpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAJKHJldmlzaW9uIDI2MjU2MikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjA2LDE2ICsyMDYsMTggQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIoVk0m
IHZtLCB1bnNpZ25lZAogCiAgICAgc2F2ZUFsbFJlZ2lzdGVycyhqaXQsIHJlZ2lzdGVyU2NyYXRj
aCk7CiAgICAgCi0gICAgaWYgKHZhbGlkYXRlREZHRG9lc0dDKSB7Ci0gICAgICAgIC8vIFdlJ3Jl
IGFib3V0IHRvIGV4aXQgb3B0aW1pemVkIGNvZGUuIFNvLCB0aGVyZSdzIG5vIGxvbmdlciBhbnkg
b3B0aW1pemVkCi0gICAgICAgIC8vIGNvZGUgcnVubmluZyB0aGF0IGV4cGVjdHMgbm8gR0MuIFdl
IG5lZWQgdG8gc2V0IHRoaXMgYmVmb3JlIG9iamVjdAotICAgICAgICAvLyBtYXRlcmlhbGl6YXRp
b24gYmVsb3cuCi0KLSAgICAgICAgLy8gRXZlbiB0aG91Z2ggd2Ugc2V0IEhlYXA6Om1fZG9lc0dD
IGluIGNvbXBpbGVGVExPU1JFeGl0KCksIHdlIGFsc28gbmVlZAotICAgICAgICAvLyB0byBzZXQg
aXQgaGVyZSBiZWNhdXNlIGNvbXBpbGVGVExPU1JFeGl0KCkgaXMgb25seSBjYWxsZWQgb24gdGhl
IGZpcnN0IHRpbWUKLSAgICAgICAgLy8gd2UgZXhpdCBmcm9tIHRoaXMgc2l0ZSwgYnV0IGFsbCBz
dWJzZXF1ZW50IGV4aXRzIHdpbGwgdGFrZSB0aGlzIGNvbXBpbGVkCi0gICAgICAgIC8vIHJhbXAg
d2l0aG91dCBjYWxsaW5nIGNvbXBpbGVGVExPU1JFeGl0KCkgZmlyc3QuCi0gICAgICAgIGppdC5z
dG9yZTMyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKERvZXNHQ0NoZWNrOjplbmNvZGUodHJ1
ZSwgRG9lc0dDQ2hlY2s6OlNwZWNpYWw6OkZUTE9TUkV4aXQpKSwgdm0uaGVhcC5hZGRyZXNzT2ZE
b2VzR0MoKSk7CisgICAgaWYgY29uc3RleHByICh2YWxpZGF0ZURGR0RvZXNHQykgeworICAgICAg
ICBpZiAoT3B0aW9uczo6dmFsaWRhdGVEb2VzR0MoKSkgeworICAgICAgICAgICAgLy8gV2UncmUg
YWJvdXQgdG8gZXhpdCBvcHRpbWl6ZWQgY29kZS4gU28sIHRoZXJlJ3Mgbm8gbG9uZ2VyIGFueSBv
cHRpbWl6ZWQKKyAgICAgICAgICAgIC8vIGNvZGUgcnVubmluZyB0aGF0IGV4cGVjdHMgbm8gR0Mu
IFdlIG5lZWQgdG8gc2V0IHRoaXMgYmVmb3JlIG9iamVjdAorICAgICAgICAgICAgLy8gbWF0ZXJp
YWxpemF0aW9uIGJlbG93LgorCisgICAgICAgICAgICAvLyBFdmVuIHRob3VnaCB3ZSBzZXQgSGVh
cDo6bV9kb2VzR0MgaW4gY29tcGlsZUZUTE9TUkV4aXQoKSwgd2UgYWxzbyBuZWVkCisgICAgICAg
ICAgICAvLyB0byBzZXQgaXQgaGVyZSBiZWNhdXNlIGNvbXBpbGVGVExPU1JFeGl0KCkgaXMgb25s
eSBjYWxsZWQgb24gdGhlIGZpcnN0IHRpbWUKKyAgICAgICAgICAgIC8vIHdlIGV4aXQgZnJvbSB0
aGlzIHNpdGUsIGJ1dCBhbGwgc3Vic2VxdWVudCBleGl0cyB3aWxsIHRha2UgdGhpcyBjb21waWxl
ZAorICAgICAgICAgICAgLy8gcmFtcCB3aXRob3V0IGNhbGxpbmcgY29tcGlsZUZUTE9TUkV4aXQo
KSBmaXJzdC4KKyAgICAgICAgICAgIGppdC5zdG9yZTMyKENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTMyKERvZXNHQ0NoZWNrOjplbmNvZGUodHJ1ZSwgRG9lc0dDQ2hlY2s6OlNwZWNpYWw6OkZUTE9T
UkV4aXQpKSwgdm0uaGVhcC5hZGRyZXNzT2ZEb2VzR0MoKSk7CisgICAgICAgIH0KICAgICB9CiAK
ICAgICAvLyBCcmluZyB0aGUgc3RhY2sgYmFjayBpbnRvIGEgc2FuZSBmb3JtIGFuZCBhc3NlcnQg
dGhhdCBpdCdzIHNhbmUuCkBAIC01NDUsNyArNTQ3LDcgQEAgZXh0ZXJuICJDIiBKSVRfT1BFUkFU
SU9OIHZvaWQqIG9wZXJhdGlvbgogCiAgICAgVk0mIHZtID0gY2FsbEZyYW1lLT5kZXByZWNhdGVk
Vk0oKTsKIAotICAgIGlmICh2YWxpZGF0ZURGR0RvZXNHQykgeworICAgIGlmIGNvbnN0ZXhwciAo
dmFsaWRhdGVERkdEb2VzR0MpIHsKICAgICAgICAgLy8gV2UncmUgYWJvdXQgdG8gZXhpdCBvcHRp
bWl6ZWQgY29kZS4gU28sIHRoZXJlJ3Mgbm8gbG9uZ2VyIGFueSBvcHRpbWl6ZWQKICAgICAgICAg
Ly8gY29kZSBydW5uaW5nIHRoYXQgZXhwZWN0cyBubyBHQy4KICAgICAgICAgdm0uaGVhcC5zZXRE
b2VzR0NFeHBlY3RhdGlvbih0cnVlLCBEb2VzR0NDaGVjazo6U3BlY2lhbDo6RlRMT1NSRXhpdCk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db21wbGV0ZVN1YnNwYWNlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db21wbGV0ZVN1YnNwYWNl
LmNwcAkocmV2aXNpb24gMjYyNTYwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29t
cGxldGVTdWJzcGFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsxMTksNyBAQCB2b2lk
KiBDb21wbGV0ZVN1YnNwYWNlOjphbGxvY2F0ZVNsb3coVk0mCiAKIHZvaWQqIENvbXBsZXRlU3Vi
c3BhY2U6OnRyeUFsbG9jYXRlU2xvdyhWTSYgdm0sIHNpemVfdCBzaXplLCBHQ0RlZmVycmFsQ29u
dGV4dCogZGVmZXJyYWxDb250ZXh0KQogewotICAgIGlmICh2YWxpZGF0ZURGR0RvZXNHQykKKyAg
ICBpZiBjb25zdGV4cHIgKHZhbGlkYXRlREZHRG9lc0dDKQogICAgICAgICB2bS5oZWFwLnZlcmlm
eUNhbkdDKCk7CiAKICAgICBzYW5pdGl6ZVN0YWNrRm9yVk0odm0pOwpAQCAtMTU1LDcgKzE1NSw3
IEBAIHZvaWQqIENvbXBsZXRlU3Vic3BhY2U6OnRyeUFsbG9jYXRlU2xvdygKIAogdm9pZCogQ29t
cGxldGVTdWJzcGFjZTo6cmVhbGxvY2F0ZVByZWNpc2VBbGxvY2F0aW9uTm9uVmlydHVhbChWTSYg
dm0sIEhlYXBDZWxsKiBvbGRDZWxsLCBzaXplX3Qgc2l6ZSwgR0NEZWZlcnJhbENvbnRleHQqIGRl
ZmVycmFsQ29udGV4dCwgQWxsb2NhdGlvbkZhaWx1cmVNb2RlIGZhaWx1cmVNb2RlKQogewotICAg
IGlmICh2YWxpZGF0ZURGR0RvZXNHQykKKyAgICBpZiBjb25zdGV4cHIgKHZhbGlkYXRlREZHRG9l
c0dDKQogICAgICAgICB2bS5oZWFwLnZlcmlmeUNhbkdDKCk7CiAKICAgICAvLyBUaGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldCBpbiBCdXR0ZXJmbHkgZm9yIGV4YW1wbGUuCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db21wbGV0ZVN1YnNwYWNlSW5saW5lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvbXBsZXRlU3Vic3BhY2VJbmxp
bmVzLmgJKHJldmlzaW9uIDI2MjU2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0Nv
bXBsZXRlU3Vic3BhY2VJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAKIEFMV0FZU19JTkxJTkUgdm9pZCogQ29tcGxldGVTdWJzcGFjZTo6
YWxsb2NhdGVOb25WaXJ0dWFsKFZNJiB2bSwgc2l6ZV90IHNpemUsIEdDRGVmZXJyYWxDb250ZXh0
KiBkZWZlcnJhbENvbnRleHQsIEFsbG9jYXRpb25GYWlsdXJlTW9kZSBmYWlsdXJlTW9kZSkKIHsK
LSAgICBpZiAodmFsaWRhdGVERkdEb2VzR0MpCisgICAgaWYgY29uc3RleHByICh2YWxpZGF0ZURG
R0RvZXNHQykKICAgICAgICAgdm0uaGVhcC52ZXJpZnlDYW5HQygpOwogCiAgICAgaWYgKEFsbG9j
YXRvciBhbGxvY2F0b3IgPSBhbGxvY2F0b3JGb3JOb25WaXJ0dWFsKHNpemUsIEFsbG9jYXRvckZv
ck1vZGU6OkFsbG9jYXRvcklmRXhpc3RzKSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0RlZmVyR0MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9E
ZWZlckdDLmgJKHJldmlzaW9uIDI2MjU2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0RlZmVyR0MuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAg
CiAgICAgfkRlZmVyR0MoKQogICAgIHsKLSAgICAgICAgaWYgKHZhbGlkYXRlREZHRG9lc0dDKQor
ICAgICAgICBpZiBjb25zdGV4cHIgKHZhbGlkYXRlREZHRG9lc0dDKQogICAgICAgICAgICAgbV9o
ZWFwLnZlcmlmeUNhbkdDKCk7CiAgICAgICAgIG1faGVhcC5kZWNyZW1lbnREZWZlcnJhbERlcHRo
QW5kR0NJZk5lZWRlZCgpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0dDRGVmZXJyYWxDb250ZXh0SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0dDRGVmZXJyYWxDb250ZXh0SW5saW5lcy5oCShyZXZpc2lvbiAyNjI1NjAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9HQ0RlZmVycmFsQ29udGV4dElubGluZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBBTFdBWVNfSU5MSU5FIEdDRGVmZXJy
YWxDb250ZXh0OjpHQ0RlZmVyCiAKIEFMV0FZU19JTkxJTkUgR0NEZWZlcnJhbENvbnRleHQ6On5H
Q0RlZmVycmFsQ29udGV4dCgpCiB7Ci0gICAgaWYgKHZhbGlkYXRlREZHRG9lc0dDKQorICAgIGlm
IGNvbnN0ZXhwciAodmFsaWRhdGVERkdEb2VzR0MpCiAgICAgICAgIG1faGVhcC52ZXJpZnlDYW5H
QygpOwogCiAgICAgaWYgKFVOTElLRUxZKG1fc2hvdWxkR0MpKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAJKHJldmlzaW9uIDI2MjU2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0hlYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYzLDcgKzEwNjMsNyBAQCB2
b2lkIEhlYXA6OmNvbGxlY3QoU3luY2hyb25vdXNuZXNzIHN5bmNoCiAKIHZvaWQgSGVhcDo6Y29s
bGVjdE5vdyhTeW5jaHJvbm91c25lc3Mgc3luY2hyb25vdXNuZXNzLCBHQ1JlcXVlc3QgcmVxdWVz
dCkKIHsKLSAgICBpZiAodmFsaWRhdGVERkdEb2VzR0MpCisgICAgaWYgY29uc3RleHByICh2YWxp
ZGF0ZURGR0RvZXNHQykKICAgICAgICAgdmVyaWZ5Q2FuR0MoKTsKIAogICAgIHN3aXRjaCAoc3lu
Y2hyb25vdXNuZXNzKSB7CkBAIC0xMDk2LDcgKzEwOTYsNyBAQCB2b2lkIEhlYXA6OmNvbGxlY3RO
b3coU3luY2hyb25vdXNuZXNzIHN5CiAKIHZvaWQgSGVhcDo6Y29sbGVjdEFzeW5jKEdDUmVxdWVz
dCByZXF1ZXN0KQogewotICAgIGlmICh2YWxpZGF0ZURGR0RvZXNHQykKKyAgICBpZiBjb25zdGV4
cHIgKHZhbGlkYXRlREZHRG9lc0dDKQogICAgICAgICB2ZXJpZnlDYW5HQygpOwogCiAgICAgaWYg
KCFtX2lzU2FmZVRvQ29sbGVjdCkKQEAgLTExMjAsNyArMTEyMCw3IEBAIHZvaWQgSGVhcDo6Y29s
bGVjdEFzeW5jKEdDUmVxdWVzdCByZXF1ZXMKIAogdm9pZCBIZWFwOjpjb2xsZWN0U3luYyhHQ1Jl
cXVlc3QgcmVxdWVzdCkKIHsKLSAgICBpZiAodmFsaWRhdGVERkdEb2VzR0MpCisgICAgaWYgY29u
c3RleHByICh2YWxpZGF0ZURGR0RvZXNHQykKICAgICAgICAgdmVyaWZ5Q2FuR0MoKTsKIAogICAg
IGlmICghbV9pc1NhZmVUb0NvbGxlY3QpCkBAIC0xNzgzLDcgKzE3ODMsNyBAQCBORVZFUl9JTkxJ
TkUgdm9pZCBIZWFwOjpyZXN1bWVUaGVNdXRhdG9yCiAKIHZvaWQgSGVhcDo6c3RvcElmTmVjZXNz
YXJ5U2xvdygpCiB7Ci0gICAgaWYgKHZhbGlkYXRlREZHRG9lc0dDKQorICAgIGlmIGNvbnN0ZXhw
ciAodmFsaWRhdGVERkdEb2VzR0MpCiAgICAgICAgIHZlcmlmeUNhbkdDKCk7CiAKICAgICB3aGls
ZSAoc3RvcElmTmVjZXNzYXJ5U2xvdyhtX3dvcmxkU3RhdGUubG9hZCgpKSkgeyB9CkBAIC0xNzk4
LDcgKzE3OTgsNyBAQCB2b2lkIEhlYXA6OnN0b3BJZk5lY2Vzc2FyeVNsb3coKQogCiBib29sIEhl
YXA6OnN0b3BJZk5lY2Vzc2FyeVNsb3codW5zaWduZWQgb2xkU3RhdGUpCiB7Ci0gICAgaWYgKHZh
bGlkYXRlREZHRG9lc0dDKQorICAgIGlmIGNvbnN0ZXhwciAodmFsaWRhdGVERkdEb2VzR0MpCiAg
ICAgICAgIHZlcmlmeUNhbkdDKCk7CiAKICAgICBSRUxFQVNFX0FTU0VSVChvbGRTdGF0ZSAmIGhh
c0FjY2Vzc0JpdCk7CkBAIC0yNjAwLDcgKzI2MDAsNyBAQCB2b2lkIEhlYXA6OnJlcG9ydEV4dGVy
bmFsTWVtb3J5VmlzaXRlZChzCiB2b2lkIEhlYXA6OmNvbGxlY3RJZk5lY2Vzc2FyeU9yRGVmZXIo
R0NEZWZlcnJhbENvbnRleHQqIGRlZmVycmFsQ29udGV4dCkKIHsKICAgICBBU1NFUlQoZGVmZXJy
YWxDb250ZXh0IHx8IGlzRGVmZXJyZWQoKSB8fCAhRGlzYWxsb3dHQzo6aXNJbkVmZmVjdE9uQ3Vy
cmVudFRocmVhZCgpKTsKLSAgICBpZiAodmFsaWRhdGVERkdEb2VzR0MpCisgICAgaWYgY29uc3Rl
eHByICh2YWxpZGF0ZURGR0RvZXNHQykKICAgICAgICAgdmVyaWZ5Q2FuR0MoKTsKIAogICAgIGlm
ICghbV9pc1NhZmVUb0NvbGxlY3QpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hl
YXBJbmxpbmVzLmgJKHJldmlzaW9uIDI2MjU2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0hlYXBJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDE0LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMzUsNyArMjM1LDcgQEAgaW5s
aW5lIHZvaWQgSGVhcDo6ZGVwcmVjYXRlZFJlcG9ydEV4dHJhTQogCiBpbmxpbmUgdm9pZCBIZWFw
OjphY3F1aXJlQWNjZXNzKCkKIHsKLSAgICBpZiAodmFsaWRhdGVERkdEb2VzR0MpCisgICAgaWYg
Y29uc3RleHByICh2YWxpZGF0ZURGR0RvZXNHQykKICAgICAgICAgdmVyaWZ5Q2FuR0MoKTsKIAog
ICAgIGlmIChtX3dvcmxkU3RhdGUuY29tcGFyZUV4Y2hhbmdlV2VhaygwLCBoYXNBY2Nlc3NCaXQp
KQpAQCAtMjYyLDcgKzI2Miw3IEBAIGlubGluZSBib29sIEhlYXA6Om1heU5lZWRUb1N0b3AoKQog
CiBpbmxpbmUgdm9pZCBIZWFwOjpzdG9wSWZOZWNlc3NhcnkoKQogewotICAgIGlmICh2YWxpZGF0
ZURGR0RvZXNHQykKKyAgICBpZiBjb25zdGV4cHIgKHZhbGlkYXRlREZHRG9lc0dDKQogICAgICAg
ICB2ZXJpZnlDYW5HQygpOwogCiAgICAgaWYgKG1heU5lZWRUb1N0b3AoKSkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0xvY2FsQWxsb2NhdG9ySW5saW5lcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0xvY2FsQWxsb2NhdG9ySW5saW5lcy5oCShy
ZXZpc2lvbiAyNjI1NjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Mb2NhbEFsbG9j
YXRvcklubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTgtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTgtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKIEFMV0FZU19JTkxJTkUgdm9pZCogTG9jYWxBbGxvY2F0b3I6OmFsbG9jYXRlKEhl
YXAmIGhlYXAsIEdDRGVmZXJyYWxDb250ZXh0KiBkZWZlcnJhbENvbnRleHQsIEFsbG9jYXRpb25G
YWlsdXJlTW9kZSBmYWlsdXJlTW9kZSkKIHsKLSAgICBpZiAodmFsaWRhdGVERkdEb2VzR0MpCisg
ICAgaWYgY29uc3RleHByICh2YWxpZGF0ZURGR0RvZXNHQykKICAgICAgICAgaGVhcC52ZXJpZnlD
YW5HQygpOwogICAgIHJldHVybiBtX2ZyZWVMaXN0LmFsbG9jYXRlKAogICAgICAgICBbJl0gKCkg
LT4gSGVhcENlbGwqIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1ByZWNpc2VB
bGxvY2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Q
cmVjaXNlQWxsb2NhdGlvbi5jcHAJKHJldmlzaW9uIDI2MjU2MCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL1ByZWNpc2VBbGxvY2F0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQy
LDcgKzQyLDcgQEAgc3RhdGljIGlubGluZSBib29sIGlzQWxpZ25lZEZvclByZWNpc2VBbAogCiBQ
cmVjaXNlQWxsb2NhdGlvbiogUHJlY2lzZUFsbG9jYXRpb246OnRyeUNyZWF0ZShIZWFwJiBoZWFw
LCBzaXplX3Qgc2l6ZSwgU3Vic3BhY2UqIHN1YnNwYWNlLCB1bnNpZ25lZCBpbmRleEluU3BhY2Up
CiB7Ci0gICAgaWYgKHZhbGlkYXRlREZHRG9lc0dDKQorICAgIGlmIGNvbnN0ZXhwciAodmFsaWRh
dGVERkdEb2VzR0MpCiAgICAgICAgIGhlYXAudmVyaWZ5Q2FuR0MoKTsKIAogICAgIHNpemVfdCBh
ZGp1c3RlZEFsaWdubWVudEFsbG9jYXRpb25TaXplID0gaGVhZGVyU2l6ZSgpICsgc2l6ZSArIGhh
bGZBbGlnbm1lbnQ7CkBAIC0xMjIsNyArMTIyLDcgQEAgUHJlY2lzZUFsbG9jYXRpb24qIFByZWNp
c2VBbGxvY2F0aW9uOjp0cgogCiBQcmVjaXNlQWxsb2NhdGlvbiogUHJlY2lzZUFsbG9jYXRpb246
OmNyZWF0ZUZvckxvd2VyVGllcihIZWFwJiBoZWFwLCBzaXplX3Qgc2l6ZSwgU3Vic3BhY2UqIHN1
YnNwYWNlLCB1aW50OF90IGxvd2VyVGllckluZGV4KQogewotICAgIGlmICh2YWxpZGF0ZURGR0Rv
ZXNHQykKKyAgICBpZiBjb25zdGV4cHIgKHZhbGlkYXRlREZHRG9lc0dDKQogICAgICAgICBoZWFw
LnZlcmlmeUNhbkdDKCk7CiAKICAgICBzaXplX3QgYWRqdXN0ZWRBbGlnbm1lbnRBbGxvY2F0aW9u
U2l6ZSA9IGhlYWRlclNpemUoKSArIHNpemUgKyBoYWxmQWxpZ25tZW50OwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oCShyZXZpc2lvbiAyNjI1NjApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5oCSh3b3JraW5nIGNvcHkpCkBA
IC03MzIsNyArNzMyLDcgQEAgaW5saW5lIEpTU3RyaW5nKiBqc0VtcHR5U3RyaW5nKFZNJiB2bSkK
IAogQUxXQVlTX0lOTElORSBKU1N0cmluZyoganNTaW5nbGVDaGFyYWN0ZXJTdHJpbmcoVk0mIHZt
LCBVQ2hhciBjKQogewotICAgIGlmICh2YWxpZGF0ZURGR0RvZXNHQykKKyAgICBpZiBjb25zdGV4
cHIgKHZhbGlkYXRlREZHRG9lc0dDKQogICAgICAgICB2bS5oZWFwLnZlcmlmeUNhbkdDKCk7CiAg
ICAgaWYgKGMgPD0gbWF4U2luZ2xlQ2hhcmFjdGVyU3RyaW5nKQogICAgICAgICByZXR1cm4gdm0u
c21hbGxTdHJpbmdzLnNpbmdsZUNoYXJhY3RlclN0cmluZyhjKTsKQEAgLTc2Miw3ICs3NjIsNyBA
QCBBTFdBWVNfSU5MSU5FIElkZW50aWZpZXIgSlNTdHJpbmc6OnRvSWRlCiAKIEFMV0FZU19JTkxJ
TkUgQXRvbVN0cmluZyBKU1N0cmluZzo6dG9BdG9tU3RyaW5nKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpIGNvbnN0CiB7Ci0gICAgaWYgKHZhbGlkYXRlREZHRG9lc0dDKQorICAgIGlmIGNv
bnN0ZXhwciAodmFsaWRhdGVERkdEb2VzR0MpCiAgICAgICAgIHZtKCkuaGVhcC52ZXJpZnlDYW5H
QygpOwogICAgIGlmIChpc1JvcGUoKSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0
IEpTUm9wZVN0cmluZyo+KHRoaXMpLT5yZXNvbHZlUm9wZVRvQXRvbVN0cmluZyhnbG9iYWxPYmpl
Y3QpOwpAQCAtNzcxLDcgKzc3MSw3IEBAIEFMV0FZU19JTkxJTkUgQXRvbVN0cmluZyBKU1N0cmlu
Zzo6dG9BdG8KIAogQUxXQVlTX0lOTElORSBSZWZQdHI8QXRvbVN0cmluZ0ltcGw+IEpTU3RyaW5n
Ojp0b0V4aXN0aW5nQXRvbVN0cmluZyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25z
dAogewotICAgIGlmICh2YWxpZGF0ZURGR0RvZXNHQykKKyAgICBpZiBjb25zdGV4cHIgKHZhbGlk
YXRlREZHRG9lc0dDKQogICAgICAgICB2bSgpLmhlYXAudmVyaWZ5Q2FuR0MoKTsKICAgICBpZiAo
aXNSb3BlKCkpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBKU1JvcGVTdHJpbmcq
Pih0aGlzKS0+cmVzb2x2ZVJvcGVUb0V4aXN0aW5nQXRvbVN0cmluZyhnbG9iYWxPYmplY3QpOwpA
QCAtNzgyLDcgKzc4Miw3IEBAIEFMV0FZU19JTkxJTkUgUmVmUHRyPEF0b21TdHJpbmdJbXBsPiBK
U1MKIAogaW5saW5lIGNvbnN0IFN0cmluZyYgSlNTdHJpbmc6OnZhbHVlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpIGNvbnN0CiB7Ci0gICAgaWYgKHZhbGlkYXRlREZHRG9lc0dDKQorICAg
IGlmIGNvbnN0ZXhwciAodmFsaWRhdGVERkdEb2VzR0MpCiAgICAgICAgIHZtKCkuaGVhcC52ZXJp
ZnlDYW5HQygpOwogICAgIGlmIChpc1JvcGUoKSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IEpTUm9wZVN0cmluZyo+KHRoaXMpLT5yZXNvbHZlUm9wZShnbG9iYWxPYmplY3QpOwpA
QCAtNzkyLDcgKzc5Miw3IEBAIGlubGluZSBjb25zdCBTdHJpbmcmIEpTU3RyaW5nOjp2YWx1ZShK
U0cKIGlubGluZSBjb25zdCBTdHJpbmcmIEpTU3RyaW5nOjp0cnlHZXRWYWx1ZShib29sIGFsbG9j
YXRpb25BbGxvd2VkKSBjb25zdAogewogICAgIGlmIChhbGxvY2F0aW9uQWxsb3dlZCkgewotICAg
ICAgICBpZiAodmFsaWRhdGVERkdEb2VzR0MpCisgICAgICAgIGlmIGNvbnN0ZXhwciAodmFsaWRh
dGVERkdEb2VzR0MpCiAgICAgICAgICAgICB2bSgpLmhlYXAudmVyaWZ5Q2FuR0MoKTsKICAgICAg
ICAgaWYgKGlzUm9wZSgpKSB7CiAgICAgICAgICAgICAvLyBQYXNzIG51bGxwdHIgZm9yIHRoZSBK
U0dsb2JhbE9iamVjdCBzbyB0aGF0IHJlc29sdmVSb3BlIGRvZXMgbm90IHRocm93IGluIHRoZSBl
dmVudCBvZiBhbiBPT00gZXJyb3IuCkBAIC05ODIsNyArOTgyLDcgQEAgaW5saW5lIGJvb2wgaXNK
U1N0cmluZyhKU1ZhbHVlIHYpCiAKIEFMV0FZU19JTkxJTkUgU3RyaW5nVmlldyBKU1JvcGVTdHJp
bmc6OnVuc2FmZVZpZXcoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKIHsKLSAg
ICBpZiAodmFsaWRhdGVERkdEb2VzR0MpCisgICAgaWYgY29uc3RleHByICh2YWxpZGF0ZURGR0Rv
ZXNHQykKICAgICAgICAgdm0oKS5oZWFwLnZlcmlmeUNhbkdDKCk7CiAgICAgaWYgKGlzU3Vic3Ry
aW5nKCkpIHsKICAgICAgICAgYXV0byYgYmFzZSA9IHN1YnN0cmluZ0Jhc2UoKS0+dmFsdWVJbnRl
cm5hbCgpOwpAQCAtOTk1LDcgKzk5NSw3IEBAIEFMV0FZU19JTkxJTkUgU3RyaW5nVmlldyBKU1Jv
cGVTdHJpbmc6OnUKIAogQUxXQVlTX0lOTElORSBTdHJpbmdWaWV3V2l0aFVuZGVybHlpbmdTdHJp
bmcgSlNSb3BlU3RyaW5nOjp2aWV3V2l0aFVuZGVybHlpbmdTdHJpbmcoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkgY29uc3QKIHsKLSAgICBpZiAodmFsaWRhdGVERkdEb2VzR0MpCisgICAg
aWYgY29uc3RleHByICh2YWxpZGF0ZURGR0RvZXNHQykKICAgICAgICAgdm0oKS5oZWFwLnZlcmlm
eUNhbkdDKCk7CiAgICAgaWYgKGlzU3Vic3RyaW5nKCkpIHsKICAgICAgICAgYXV0byYgYmFzZSA9
IHN1YnN0cmluZ0Jhc2UoKS0+dmFsdWVJbnRlcm5hbCgpOwpAQCAtMTAwOSw3ICsxMDA5LDcgQEAg
QUxXQVlTX0lOTElORSBTdHJpbmdWaWV3V2l0aFVuZGVybHlpbmdTdAogCiBBTFdBWVNfSU5MSU5F
IFN0cmluZ1ZpZXcgSlNTdHJpbmc6OnVuc2FmZVZpZXcoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkgY29uc3QKIHsKLSAgICBpZiAodmFsaWRhdGVERkdEb2VzR0MpCisgICAgaWYgY29uc3Rl
eHByICh2YWxpZGF0ZURGR0RvZXNHQykKICAgICAgICAgdm0oKS5oZWFwLnZlcmlmeUNhbkdDKCk7
CiAgICAgaWYgKGlzUm9wZSgpKQogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgSlNS
b3BlU3RyaW5nKj4odGhpcyktPnVuc2FmZVZpZXcoZ2xvYmFsT2JqZWN0KTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAkocmV2aXNpb24gMjYyNTYw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTUzLDYgKzE1Myw3IEBAIGNvbnN0ZXhwciBib29sIGVuYWJsZVdlYkFzc2Vt
Ymx5U3RyZWFtaW4KICAgICB2KEJvb2wsIGxvZ0NvbXBpbGF0aW9uQ2hhbmdlcywgZmFsc2UsIE5v
cm1hbCwgbnVsbHB0cikgXAogICAgIHYoQm9vbCwgdXNlUHJvYmVPU1JFeGl0LCBmYWxzZSwgTm9y
bWFsLCBudWxscHRyKSBcCiAgICAgdihCb29sLCBwcmludEVhY2hPU1JFeGl0LCBmYWxzZSwgTm9y
bWFsLCBudWxscHRyKSBcCisgICAgdihCb29sLCB2YWxpZGF0ZURvZXNHQywgQVNTRVJUX0VOQUJM
RUQsIE5vcm1hbCwgbnVsbHB0cikgXAogICAgIHYoQm9vbCwgdmFsaWRhdGVHcmFwaCwgZmFsc2Us
IE5vcm1hbCwgbnVsbHB0cikgXAogICAgIHYoQm9vbCwgdmFsaWRhdGVHcmFwaEF0RWFjaFBoYXNl
LCBmYWxzZSwgTm9ybWFsLCBudWxscHRyKSBcCiAgICAgdihCb29sLCB2ZXJib3NlVmFsaWRhdGlv
bkZhaWx1cmUsIGZhbHNlLCBOb3JtYWwsIG51bGxwdHIpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5oCShyZXZpc2lvbiAy
NjI1NjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJy
YXkuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiAgQ29weXJpZ2h0IChD
KSAyMDA4LTIwMTkgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogIENvcHlyaWdo
dCAoQykgMjAwOC0yMDIwIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiAg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTYzLDcgKzYzLDcgQEAgQUxXQVlTX0lOTElORSBKU0FycmF5KiBjcmVh
dGVSZWdFeHBNYXRjaAogICAgIFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNTdHJpbmcqIGlucHV0LCBjb25zdCBTdHJpbmcmIGlucHV0VmFsdWUsCiAgICAgUmVnRXhwKiBy
ZWdFeHAsIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCBNYXRjaFJlc3VsdCYgcmVzdWx0KQogewotICAg
IGlmICh2YWxpZGF0ZURGR0RvZXNHQykKKyAgICBpZiBjb25zdGV4cHIgKHZhbGlkYXRlREZHRG9l
c0dDKQogICAgICAgICB2bS5oZWFwLnZlcmlmeUNhbkdDKCk7CiAKICAgICBWZWN0b3I8aW50LCAz
Mj4gc3VicGF0dGVyblJlc3VsdHM7Cg==
</data>
<flag name="review"
          id="416468"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>