<?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>225793</bug_id>
          
          <creation_ts>2021-05-13 17:03:32 -0700</creation_ts>
          <short_desc>Make polymorphic calls play nice with Data Call ICs</short_desc>
          <delta_ts>2021-05-20 17:15:00 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=225321</see_also>
          <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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1759913</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-05-13 17:03:32 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761774</commentid>
    <comment_count>1</comment_count>
      <attachid>429113</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-05-19 16:50:08 -0700</bug_when>
    <thetext>Created attachment 429113
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761785</commentid>
    <comment_count>2</comment_count>
      <attachid>429113</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2021-05-19 17:13:38 -0700</bug_when>
    <thetext>Comment on attachment 429113
patch

r=me, but I don&apos;t know that code well, so if someone else could look at this patch before it lands I&apos;d feel better about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762014</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-05-20 10:15:18 -0700</bug_when>
    <thetext>I think I broke x86. I’ll look into it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762069</commentid>
    <comment_count>4</comment_count>
      <attachid>429197</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-05-20 11:52:48 -0700</bug_when>
    <thetext>Created attachment 429197
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762225</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-20 17:04:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/78284750&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762231</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-20 17:14:58 -0700</bug_when>
    <thetext>Committed r277838 (237982@main): &lt;https://commits.webkit.org/237982@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429197.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429113</attachid>
            <date>2021-05-19 16:50:08 -0700</date>
            <delta_ts>2021-05-20 11:52:48 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>11827</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc3NzYxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDIxLTA1LTE5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IE1ha2UgcG9seW1vcnBoaWMgY2FsbHMgcGxheSBuaWNlIHdpdGggRGF0YSBDYWxsIElDcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NzkzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBt
YWtlcyBpdCBzbyB0aGF0IFBvbHltb3JwaGljIHN0dWJzIGRvbid0IHJlcGF0Y2ggd2hlbiB1c2lu
ZworICAgICAgICBEYXRhIENhbGwgSUNzLiBXZSBhZGQgYSBicmFuY2ggdG8gdGhlIERhdGEgSUMg
ZmFzdCBwYXRoIHRvIHNlZSBpZiB3ZSdyZQorICAgICAgICBwb2x5bW9ycGhpYy4gSWYgd2UgYXJl
LCB0aGVuIHdlIGVpdGhlciBjYWxsIG9yIHRhaWwgY2FsbCB0aGUgcG9seW1vcnBoaWMKKyAgICAg
ICAgc3R1YiwgZGVwZW5kaW5nIG9uIHRoZSBDYWxsTGlua0luZm8ncyBjYWxsIHR5cGUuIFRoaXMg
cGF0Y2ggYWxzbyBjaGFuZ2VzCisgICAgICAgIHRoZSBwb2x5bW9ycGhpYyBzdHViIHRvIGhhbmRs
ZSBiZWluZyBjYWxsZWQgaW5zdGVhZCBvZiBqdW1wZWQgdG8sIHNpbmNlIHRoYXQKKyAgICAgICAg
d2lsbCBub3cgaGFwcGVuIGZvciBEYXRhIElDcyBvZiBub24gdGFpbCBjYWxscy4KKworICAgICAg
ICAqIGJ5dGVjb2RlL0NhbGxMaW5rSW5mby5jcHA6CisgICAgICAgIChKU0M6OkNhbGxMaW5rSW5m
bzo6c2V0TW9ub21vcnBoaWNDYWxsZWUpOgorICAgICAgICAoSlNDOjpDYWxsTGlua0luZm86OmNh
bGxlZSk6CisgICAgICAgIChKU0M6OkNhbGxMaW5rSW5mbzo6dmlzaXRXZWFrKToKKyAgICAgICAg
KEpTQzo6Q2FsbExpbmtJbmZvOjplbWl0RmFzdFBhdGhJbXBsKToKKyAgICAgICAgKEpTQzo6Q2Fs
bExpbmtJbmZvOjpyZXZlcnRDYWxsVG9TdHViKToKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtJbmZv
OjpzZXRTdHViKToKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtJbmZvOjplbWl0Rmlyc3RJbnN0cnVj
dGlvbkZvckRhdGFJQyk6IERlbGV0ZWQuCisgICAgICAgICogYnl0ZWNvZGUvQ2FsbExpbmtJbmZv
Lmg6CisgICAgICAgICogaml0L1JlcGF0Y2guY3BwOgorICAgICAgICAoSlNDOjpsaW5rUG9seW1v
cnBoaWNDYWxsKToKKwogMjAyMS0wNS0xOSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgU3BlZWQgdXAgZGVidWcgdmFsaWRhdGlvbiBpbiBDYWNoZWFibGVJZGVudGlm
aWVyOjpjcmVhdGVGcm9tSWRlbnRpZmllck93bmVkQnlDb2RlQmxvY2soKS4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uY3BwCShyZXZpc2lv
biAyNzc3MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJbmZv
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDkgKzEzMSwxMiBAQCBDb2RlTG9jYXRpb25MYWJl
bDxKU0ludGVybmFsUHRyVGFnPiBDYWxsCiAgICAgcmV0dXJuIG1fZG9uZUxvY2F0aW9uOwogfQog
CitzdGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBwb2x5bW9ycGhpY0NhbGxlZU1hcmtlciA9IDE7
CisKIHZvaWQgQ2FsbExpbmtJbmZvOjpzZXRNb25vbW9ycGhpY0NhbGxlZShWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEpTT2JqZWN0KiBjYWxsZWUsIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxKU0VudHJ5
UHRyVGFnPiBjb2RlUHRyKQogewogICAgIFJFTEVBU0VfQVNTRVJUKCFpc0RpcmVjdCgpKTsKKyAg
ICBSRUxFQVNFX0FTU0VSVChiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihjYWxsZWUpICE9IHBvbHlt
b3JwaGljQ2FsbGVlTWFya2VyKTsKICAgICBtX2NhbGxlZU9yQ29kZUJsb2NrLnNldCh2bSwgb3du
ZXIsIGNhbGxlZSk7CiAKICAgICBpZiAoaXNEYXRhSUMoKSkgCkBAIC0xNTcsNiArMTYwLDcgQEAg
dm9pZCBDYWxsTGlua0luZm86OmNsZWFyQ2FsbGVlKCkKIEpTT2JqZWN0KiBDYWxsTGlua0luZm86
OmNhbGxlZSgpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoIWlzRGlyZWN0KCkpOworICAgIFJFTEVB
U0VfQVNTRVJUKGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KG1fY2FsbGVlT3JDb2RlQmxvY2suZ2V0
KCkpICE9IHBvbHltb3JwaGljQ2FsbGVlTWFya2VyKTsKICAgICByZXR1cm4ganNDYXN0PEpTT2Jq
ZWN0Kj4obV9jYWxsZWVPckNvZGVCbG9jay5nZXQoKSk7CiB9CiAKQEAgLTI1MCwxOCArMjU0LDE5
IEBAIHZvaWQgQ2FsbExpbmtJbmZvOjp2aXNpdFdlYWsoVk0mIHZtKQogICAgICAgICAgICAgICAg
ICAgICAgICAgcG9pbnRlckR1bXAoY29kZUJsb2NrKCkpLCAiKS5cbiIpOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKGNhbGxlZSgp
LT50eXBlKCkgPT0gSlNGdW5jdGlvblR5cGUpIHsKKyAgICAgICAgICAgICAgICBKU09iamVjdCog
Y2FsbGVlID0ganNDYXN0PEpTT2JqZWN0Kj4obV9jYWxsZWVPckNvZGVCbG9jay5nZXQoKSk7Cisg
ICAgICAgICAgICAgICAgaWYgKGNhbGxlZS0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAg
ICAgICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWShPcHRpb25zOjp2ZXJib3NlT1NSKCkpKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJDbGVhcmluZyBjYWxsIHRvICIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
UmF3UG9pbnRlcihjYWxsZWUoKSksICIgKCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RhdGljX2Nhc3Q8SlNGdW5jdGlvbio+KGNhbGxlZSgpKS0+ZXhlY3V0YWJsZSgpLT5oYXNoRm9y
KHNwZWNpYWxpemF0aW9uS2luZCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSYXdQ
b2ludGVyKGNhbGxlZSksICIgKCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGlj
X2Nhc3Q8SlNGdW5jdGlvbio+KGNhbGxlZSktPmV4ZWN1dGFibGUoKS0+aGFzaEZvcihzcGVjaWFs
aXphdGlvbktpbmQoKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIikuXG4iKTsKICAg
ICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBoYW5kbGVTcGVjaWZpY0Nh
bGxlZShzdGF0aWNfY2FzdDxKU0Z1bmN0aW9uKj4oY2FsbGVlKCkpKTsKKyAgICAgICAgICAgICAg
ICAgICAgaGFuZGxlU3BlY2lmaWNDYWxsZWUoc3RhdGljX2Nhc3Q8SlNGdW5jdGlvbio+KGNhbGxl
ZSkpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChV
TkxJS0VMWShPcHRpb25zOjp2ZXJib3NlT1NSKCkpKQotICAgICAgICAgICAgICAgICAgICAgICAg
ZGF0YUxvZygiQ2xlYXJpbmcgY2FsbCB0byAiLCBSYXdQb2ludGVyKGNhbGxlZSgpKSwgIi5cbiIp
OworICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiQ2xlYXJpbmcgY2FsbCB0byAiLCBS
YXdQb2ludGVyKGNhbGxlZSksICIuXG4iKTsKICAgICAgICAgICAgICAgICAgICAgbV9jbGVhcmVk
QnlHQyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpAQCAtMjkzLDE4
ICsyOTgsNiBAQCB2b2lkIENhbGxMaW5rSW5mbzo6c2V0RnJhbWVTaHVmZmxlRGF0YShjCiAgICAg
bV9mcmFtZVNodWZmbGVEYXRhLT5zaHJpbmtUb0ZpdCgpOwogfQogCi12b2lkIENhbGxMaW5rSW5m
bzo6ZW1pdEZpcnN0SW5zdHJ1Y3Rpb25Gb3JEYXRhSUMoQ0NhbGxIZWxwZXJzJiBqaXQsIEdQUlJl
ZyBjYWxsTGlua0luZm9HUFIpCi17Ci0gICAgR1BSUmVnIHNjcmF0Y2hHUFIgPSBqaXQuc2NyYXRj
aFJlZ2lzdGVyKCk7Ci0gICAgRGlzYWxsb3dNYWNyb1NjcmF0Y2hSZWdpc3RlclVzYWdlIGRpc2Fs
bG93U2NyYXRjaChqaXQpOwotICAgIC8vIFdoZW4gcmVwYXRjaGluZywgd2UganVzdCBvdmVyd3Jp
dGUgdGhlIGZpcnN0IGluc3RydWN0aW9uIGJhY2ssIHNpbmNlIGl0J2xsIGhhdmUgYmVlbiByZXBs
YWNlZCB3aXRoIGEganVtcCB0byB0aGUgcG9seW1vcnBoaWMgY2FsbCBzdHViLgotICAgIHNpemVf
dCBzdGFydFNpemUgPSBqaXQubV9hc3NlbWJsZXIuYnVmZmVyKCkuY29kZVNpemUoKTsKLSAgICBq
aXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoY2FsbExpbmtJbmZvR1BSLCBvZmZzZXRP
ZkNhbGxlZSgpKSwgc2NyYXRjaEdQUik7IAotICAgIHNpemVfdCBsb2FkU2l6ZSA9IGppdC5tX2Fz
c2VtYmxlci5idWZmZXIoKS5jb2RlU2l6ZSgpIC0gc3RhcnRTaXplOwotICAgIGlmIChsb2FkU2l6
ZSA8IHN0YXRpY19jYXN0PHNpemVfdD4oQ0NhbGxIZWxwZXJzOjpwYXRjaGFibGVKdW1wU2l6ZSgp
KSkKLSAgICAgICAgaml0LmVtaXROb3BzKHN0YXRpY19jYXN0PHNpemVfdD4oQ0NhbGxIZWxwZXJz
OjpwYXRjaGFibGVKdW1wU2l6ZSgpKSAtIGxvYWRTaXplKTsKLX0KLQogTWFjcm9Bc3NlbWJsZXI6
Okp1bXBMaXN0IENhbGxMaW5rSW5mbzo6ZW1pdEZhc3RQYXRoSW1wbChDQ2FsbEhlbHBlcnMmIGpp
dCwgR1BSUmVnIGNhbGxlZUdQUiwgR1BSUmVnIGNhbGxMaW5rSW5mb0dQUiwgVXNlRGF0YUlDIHVz
ZURhdGFJQywgV1RGOjpGdW5jdGlvbjx2b2lkKCk+IHByZXBhcmVGb3JUYWlsQ2FsbCkKIHsKICAg
ICBzZXRVc2VzRGF0YUlDcyh1c2VEYXRhSUMpOwpAQCAtMzIzLDE2ICszMTYsMjEgQEAgTWFjcm9B
c3NlbWJsZXI6Okp1bXBMaXN0IENhbGxMaW5rSW5mbzo6ZQogCiAgICAgaWYgKGlzRGF0YUlDKCkp
IHsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hHUFIgPSBqaXQuc2NyYXRjaFJlZ2lzdGVyKCk7Ci0g
ICAgICAgIGVtaXRGaXJzdEluc3RydWN0aW9uRm9yRGF0YUlDKGppdCwgY2FsbExpbmtJbmZvR1BS
KTsKKyAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGNhbGxMaW5rSW5m
b0dQUiwgb2Zmc2V0T2ZDYWxsZWUoKSksIHNjcmF0Y2hHUFIpOyAKKyAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpKdW1wIGdvUG9seW1vcnBoaWM7CiAgICAgICAgIHsKICAgICAgICAgICAgIERpc2FsbG93
TWFjcm9TY3JhdGNoUmVnaXN0ZXJVc2FnZSBkaXNhbGxvd1NjcmF0Y2goaml0KTsKKyAgICAgICAg
ICAgIGdvUG9seW1vcnBoaWMgPSBqaXQuYnJhbmNoUHRyKENDYWxsSGVscGVyczo6RXF1YWwsIHNj
cmF0Y2hHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihwb2x5bW9ycGhpY0NhbGxlZU1h
cmtlcikpOwogICAgICAgICAgICAgc2xvd1BhdGguYXBwZW5kKGppdC5icmFuY2hQdHIoQ0NhbGxI
ZWxwZXJzOjpOb3RFcXVhbCwgc2NyYXRjaEdQUiwgY2FsbGVlR1BSKSk7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKGlzVGFpbENhbGwoKSkgewogICAgICAgICAgICAgcHJlcGFyZUZvclRhaWxDYWxs
KCk7CisgICAgICAgICAgICBnb1BvbHltb3JwaGljLmxpbmsoJmppdCk7IC8vIFBvbHltb3JwaGlj
IHN0dWIgaGFuZGxlcyB0YWlsIGNhbGwgc3RhY2sgcHJlcC4KICAgICAgICAgICAgIGppdC5mYXJK
dW1wKENDYWxsSGVscGVyczo6QWRkcmVzcyhjYWxsTGlua0luZm9HUFIsIG9mZnNldE9mTW9ub21v
cnBoaWNDYWxsRGVzdGluYXRpb24oKSksIEpTRW50cnlQdHJUYWcpOwotICAgICAgICB9IGVsc2UK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGdvUG9seW1vcnBoaWMubGluaygmaml0KTsK
ICAgICAgICAgICAgIGppdC5jYWxsKENDYWxsSGVscGVyczo6QWRkcmVzcyhjYWxsTGlua0luZm9H
UFIsIG9mZnNldE9mTW9ub21vcnBoaWNDYWxsRGVzdGluYXRpb24oKSksIEpTRW50cnlQdHJUYWcp
OworICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgQ0NhbGxIZWxwZXJzOjpEYXRhTGFi
ZWxQdHIgY2FsbGVlQ2hlY2s7CiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChqaXQuYnJhbmNoUHRy
V2l0aFBhdGNoKENDYWxsSGVscGVyczo6Tm90RXF1YWwsIGNhbGxlZUdQUiwgY2FsbGVlQ2hlY2ss
IENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihudWxscHRyKSkpOwpAQCAtNDY0LDE0ICs0NjIs
MTMgQEAgdm9pZCBDYWxsTGlua0luZm86OnJldmVydENhbGxUb1N0dWIoKQogICAgIC8vIHdoYXQg
aW4gYWxsIGxpa2VsaWhvb2QgZml0cyBpbiAyNC4gU28gd2UganVzdCBzcGxhdCBvdXQgdGhlIGZp
cnN0IGluc3RydWN0aW9uLiBMb25nIHRlcm0sIHdlCiAgICAgLy8gbmVlZCBzb21ldGhpbmcgY2xl
YW5lci4gQnV0IHRoaXMgd29ya3Mgb24gYXJtNjQgZm9yIG5vdy4KIAotICAgIENDYWxsSGVscGVy
czo6ZW1pdEpJVENvZGVPdmVyKGZhc3RQYXRoU3RhcnQoKSwgWyZdIChDQ2FsbEhlbHBlcnMmIGpp
dCkgewotICAgICAgICBpZiAoaXNEYXRhSUMoKSkKLSAgICAgICAgICAgIGVtaXRGaXJzdEluc3Ry
dWN0aW9uRm9yRGF0YUlDKGppdCwgdS5kYXRhSUMubV9jYWxsTGlua0luZm9HUFIpOwotICAgICAg
ICBlbHNlIHsKLSAgICAgICAgICAgIENDYWxsSGVscGVyczo6cmV2ZXJ0SnVtcFJlcGxhY2VtZW50
VG9CcmFuY2hQdHJXaXRoUGF0Y2goCi0gICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpzdGFy
dE9mQnJhbmNoUHRyV2l0aFBhdGNoT25SZWdpc3Rlcih1LmNvZGVJQy5tX2NhbGxlZUxvY2F0aW9u
KSwgY2FsbGVlR1BSKCksIG51bGxwdHIpOwotICAgICAgICB9Ci0gICAgfSwgICJSZXNldHRpbmcg
UG9seW1vcnBoaWNDYWxsIHN0dWJiZWQgQ2FsbExpbmtJbmZvIik7CisgICAgaWYgKGlzRGF0YUlD
KCkpIHsKKyAgICAgICAgbV9jYWxsZWVPckNvZGVCbG9jay5jbGVhcigpOworICAgICAgICB1LmRh
dGFJQy5tX21vbm9tb3JwaGljQ2FsbERlc3RpbmF0aW9uID0gbnVsbHB0cjsKKyAgICB9IGVsc2Ug
eworICAgICAgICBDQ2FsbEhlbHBlcnM6OnJldmVydEp1bXBSZXBsYWNlbWVudFRvQnJhbmNoUHRy
V2l0aFBhdGNoKAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpzdGFydE9mQnJhbmNoUHRyV2l0
aFBhdGNoT25SZWdpc3Rlcih1LmNvZGVJQy5tX2NhbGxlZUxvY2F0aW9uKSwgY2FsbGVlR1BSKCks
IG51bGxwdHIpOworICAgIH0KIH0KIAogdm9pZCBDYWxsTGlua0luZm86OnNldFN0dWIoUmVmPFBv
bHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lPiYmIG5ld1N0dWIpCkBAIC00NzksMTMgKzQ3NiwxMSBA
QCB2b2lkIENhbGxMaW5rSW5mbzo6c2V0U3R1YihSZWY8UG9seW1vcnBoCiAgICAgY2xlYXJTdHVi
KCk7CiAgICAgbV9zdHViID0gV1RGTW92ZShuZXdTdHViKTsKIAorICAgIG1fY2FsbGVlT3JDb2Rl
QmxvY2suY2xlYXIoKTsKKwogICAgIGlmIChpc0RhdGFJQygpKSB7Ci0gICAgICAgIENDYWxsSGVs
cGVyczo6ZW1pdEpJVENvZGVPdmVyKGZhc3RQYXRoU3RhcnQoKSwgWyZdIChDQ2FsbEhlbHBlcnMm
IGppdCkgewotICAgICAgICAgICAgYXV0byBqdW1wID0gaml0Lmp1bXAoKTsKLSAgICAgICAgICAg
IGppdC5hZGRMaW5rVGFzayhbPV0gKExpbmtCdWZmZXImIGxpbmtCdWZmZXIpIHsKLSAgICAgICAg
ICAgICAgICBsaW5rQnVmZmVyLmxpbmsoanVtcCwgQ29kZUxvY2F0aW9uTGFiZWw8SklUU3R1YlJv
dXRpbmVQdHJUYWc+KG1fc3R1Yi0+Y29kZSgpLmNvZGUoKSkpOwotICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0sICJQYXRjaGluZyBjYWxsIHRvIFBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lIGlu
IENhbGxMaW5rSW5mbyIpOworICAgICAgICAqYml0d2lzZV9jYXN0PHVpbnRwdHJfdCo+KG1fY2Fs
bGVlT3JDb2RlQmxvY2suc2xvdCgpKSA9IHBvbHltb3JwaGljQ2FsbGVlTWFya2VyOworICAgICAg
ICB1LmRhdGFJQy5tX21vbm9tb3JwaGljQ2FsbERlc3RpbmF0aW9uID0gbV9zdHViLT5jb2RlKCku
Y29kZSgpLnJldGFnZ2VkPEpTRW50cnlQdHJUYWc+KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OnJlcGxhY2VXaXRoSnVtcCgKICAgICAgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpzdGFydE9mQnJhbmNoUHRyV2l0aFBhdGNoT25SZWdpc3Rlcih1LmNvZGVJQy5tX2NhbGxl
ZUxvY2F0aW9uKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlu
a0luZm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2Fs
bExpbmtJbmZvLmgJKHJldmlzaW9uIDI3NzczOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9DYWxsTGlua0luZm8uaAkod29ya2luZyBjb3B5KQpAQCAtMTczLDcgKzE3Myw2IEBA
IHB1YmxpYzoKICAgICB9OwogCiBwcml2YXRlOgotICAgIHZvaWQgZW1pdEZpcnN0SW5zdHJ1Y3Rp
b25Gb3JEYXRhSUMoQ0NhbGxIZWxwZXJzJiwgR1BSUmVnIGNhbGxMaW5rSW5mb0dQUik7CiAgICAg
TWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0IGVtaXRGYXN0UGF0aEltcGwoQ0NhbGxIZWxwZXJzJiwg
R1BSUmVnIGNhbGxlZUdQUiwgR1BSUmVnIGNhbGxMaW5rSW5mb0dQUiwgVXNlRGF0YUlDLCBXVEY6
OkZ1bmN0aW9uPHZvaWQoKT4gcHJlcGFyZUZvclRhaWxDYWxsKSBXQVJOX1VOVVNFRF9SRVRVUk47
CiBwdWJsaWM6CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0IGVtaXRGYXN0UGF0aChDQ2Fs
bEhlbHBlcnMmLCBHUFJSZWcgY2FsbGVlR1BSLCBHUFJSZWcgY2FsbExpbmtJbmZvR1BSLCBVc2VE
YXRhSUMpIFdBUk5fVU5VU0VEX1JFVFVSTjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZXBhdGNoLmNwcAkocmV2aXNpb24gMjc3NzM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ1Niw2ICsxNDU2LDcgQEAgdm9pZCBs
aW5rUG9seW1vcnBoaWNDYWxsKEpTR2xvYmFsT2JqZWN0KgogICAgIAogICAgIEdQUlJlZyBjYWxs
ZWVHUFIgPSBjYWxsTGlua0luZm8uY2FsbGVlR1BSKCk7CiAKKyAgICBib29sIGlzRGF0YUlDID0g
Y2FsbExpbmtJbmZvLmlzRGF0YUlDKCk7CiAgICAgQ0NhbGxIZWxwZXJzIHN0dWJKaXQoY2FsbGVy
Q29kZUJsb2NrKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxDYWxsRnJhbWVTaHVmZmxlcj4gZnJh
bWVTaHVmZmxlcjsKQEAgLTE1MzgsMTYgKzE1MzksMjUgQEAgdm9pZCBsaW5rUG9seW1vcnBoaWND
YWxsKEpTR2xvYmFsT2JqZWN0KgogICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbTMyKDEpLAogICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhmYXN0Q291
bnRzQmFzZUdQUiwgY2FzZUluZGV4ICogc2l6ZW9mKHVpbnQzMl90KSkpOwogICAgICAgICB9CisK
KyAgICAgICAgYm9vbCBuZWVkc0RvbmVKdW1wID0gZmFsc2U7CiAgICAgICAgIGlmIChmcmFtZVNo
dWZmbGVyKSB7CiAgICAgICAgICAgICBDYWxsRnJhbWVTaHVmZmxlcihzdHViSml0LCBmcmFtZVNo
dWZmbGVyLT5zbmFwc2hvdCgpKS5wcmVwYXJlRm9yVGFpbENhbGwoKTsKICAgICAgICAgICAgIGNh
bGxzW2Nhc2VJbmRleF0uY2FsbCA9IHN0dWJKaXQubmVhclRhaWxDYWxsKCk7CiAgICAgICAgIH0g
ZWxzZSBpZiAoY2FsbExpbmtJbmZvLmlzVGFpbENhbGwoKSkgewogICAgICAgICAgICAgc3R1Ykpp
dC5wcmVwYXJlRm9yVGFpbENhbGxTbG93KCk7CiAgICAgICAgICAgICBjYWxsc1tjYXNlSW5kZXhd
LmNhbGwgPSBzdHViSml0Lm5lYXJUYWlsQ2FsbCgpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgIGNhbGxzW2Nhc2VJbmRleF0uY2FsbCA9IHN0dWJKaXQubmVhckNhbGwoKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChpc0RhdGFJQykKKyAgICAgICAgICAgICAgICBjYWxs
c1tjYXNlSW5kZXhdLmNhbGwgPSBzdHViSml0Lm5lYXJUYWlsQ2FsbCgpOworICAgICAgICAgICAg
ZWxzZSB7CisgICAgICAgICAgICAgICAgY2FsbHNbY2FzZUluZGV4XS5jYWxsID0gc3R1YkppdC5u
ZWFyQ2FsbCgpOworICAgICAgICAgICAgICAgIG5lZWRzRG9uZUp1bXAgPSB0cnVlOworICAgICAg
ICAgICAgfQorICAgICAgICB9CiAgICAgICAgIGNhbGxzW2Nhc2VJbmRleF0uY29kZVB0ciA9IGNv
ZGVQdHI7Ci0gICAgICAgIGRvbmUuYXBwZW5kKHN0dWJKaXQuanVtcCgpKTsKKyAgICAgICAgaWYg
KG5lZWRzRG9uZUp1bXApCisgICAgICAgICAgICBkb25lLmFwcGVuZChzdHViSml0Lmp1bXAoKSk7
CiAgICAgfQogICAgIAogICAgIHNsb3dQYXRoLmxpbmsoJnN0dWJKaXQpOwpAQCAtMTU3MSw2ICsx
NTgxLDEyIEBAIHZvaWQgbGlua1BvbHltb3JwaGljQ2FsbChKU0dsb2JhbE9iamVjdCoKICAgICB9
CiAgICAgc3R1YkppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihnbG9iYWxPYmpl
Y3QpLCBHUFJJbmZvOjpyZWdUMyk7CiAgICAgc3R1YkppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbVB0cigmY2FsbExpbmtJbmZvKSwgR1BSSW5mbzo6cmVnVDIpOworICAgIGlmIChpc0Rh
dGFJQyAmJiAhY2FsbExpbmtJbmZvLmlzVGFpbENhbGwoKSkgeworICAgICAgICAvLyBXZSB3ZXJl
IGNhbGxlZCBmcm9tIHRoZSBmYXN0IHBhdGgsIGdldCByaWQgb2YgYW55IHJlbW5hbnRzIG9mIHRo
YXQKKyAgICAgICAgLy8gd2hpY2ggbWF5IGV4aXN0LiBUaGlzIHJlYWxseSBvbmx5IG1hdHRlcnMg
Zm9yIHg4Niwgd2hpY2ggYWRqdXN0cworICAgICAgICAvLyBTUCBmb3IgY2FsbHMuCisgICAgICAg
IHN0dWJKaXQucHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKEdQUkluZm86OnJlZ1Q0KTsK
KyAgICB9CiAgICAgc3R1YkppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihjYWxs
TGlua0luZm8uZG9uZUxvY2F0aW9uKCkudW50YWdnZWRFeGVjdXRhYmxlQWRkcmVzcygpKSwgR1BS
SW5mbzo6cmVnVDQpOwogICAgIAogICAgIHN0dWJKaXQucmVzdG9yZVJldHVybkFkZHJlc3NCZWZv
cmVSZXR1cm4oR1BSSW5mbzo6cmVnVDQpOwpAQCAtMTU5NCw3ICsxNjEwLDkgQEAgdm9pZCBsaW5r
UG9seW1vcnBoaWNDYWxsKEpTR2xvYmFsT2JqZWN0KgogICAgICAgICBwYXRjaEJ1ZmZlci5saW5r
KGNhbGxUb0NvZGVQdHIuY2FsbCwgRnVuY3Rpb25QdHI8SlNFbnRyeVB0clRhZz4oY2FsbFRvQ29k
ZVB0ci5jb2RlUHRyKSk7CiAjZW5kaWYKICAgICB9Ci0gICAgcGF0Y2hCdWZmZXIubGluayhkb25l
LCBjYWxsTGlua0luZm8uZG9uZUxvY2F0aW9uKCkpOworCisgICAgaWYgKCFkb25lLmVtcHR5KCkp
CisgICAgICAgIHBhdGNoQnVmZmVyLmxpbmsoZG9uZSwgY2FsbExpbmtJbmZvLmRvbmVMb2NhdGlv
bigpKTsKICAgICBwYXRjaEJ1ZmZlci5saW5rKHNsb3csIENvZGVMb2NhdGlvbkxhYmVsPEpJVFRo
dW5rUHRyVGFnPih2bS5nZXRDVElTdHViKGxpbmtQb2x5bW9ycGhpY0NhbGxUaHVua0dlbmVyYXRv
cikuY29kZSgpKSk7CiAgICAgCiAgICAgYXV0byBzdHViUm91dGluZSA9IGFkb3B0UmVmKCpuZXcg
UG9seW1vcnBoaWNDYWxsU3R1YlJvdXRpbmUoCg==
</data>
<flag name="review"
          id="450200"
          type_id="1"
          status="+"
          setter="rmorisset"
    />
    <flag name="commit-queue"
          id="450218"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429197</attachid>
            <date>2021-05-20 11:52:48 -0700</date>
            <delta_ts>2021-05-20 17:14:59 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>11838</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc3ODAxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDIxLTA1LTIwICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IE1ha2UgcG9seW1vcnBoaWMgY2FsbHMgcGxheSBuaWNlIHdpdGggRGF0YSBDYWxsIElDcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NzkzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUm9iaW4gTW9yaXNzZXQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBt
YWtlcyBpdCBzbyB0aGF0IFBvbHltb3JwaGljIHN0dWJzIGRvbid0IHJlcGF0Y2ggd2hlbiB1c2lu
ZworICAgICAgICBEYXRhIENhbGwgSUNzLiBXZSBhZGQgYSBicmFuY2ggdG8gdGhlIERhdGEgSUMg
ZmFzdCBwYXRoIHRvIHNlZSBpZiB3ZSdyZQorICAgICAgICBwb2x5bW9ycGhpYy4gSWYgd2UgYXJl
LCB0aGVuIHdlIGVpdGhlciBjYWxsIG9yIHRhaWwgY2FsbCB0aGUgcG9seW1vcnBoaWMKKyAgICAg
ICAgc3R1YiwgZGVwZW5kaW5nIG9uIHRoZSBDYWxsTGlua0luZm8ncyBjYWxsIHR5cGUuIFRoaXMg
cGF0Y2ggYWxzbyBjaGFuZ2VzCisgICAgICAgIHRoZSBwb2x5bW9ycGhpYyBzdHViIHRvIGhhbmRs
ZSBiZWluZyBjYWxsZWQgaW5zdGVhZCBvZiBqdW1wZWQgdG8sIHNpbmNlIHRoYXQKKyAgICAgICAg
d2lsbCBub3cgaGFwcGVuIGZvciBEYXRhIElDcyBvZiBub24gdGFpbCBjYWxscy4KKworICAgICAg
ICAqIGJ5dGVjb2RlL0NhbGxMaW5rSW5mby5jcHA6CisgICAgICAgIChKU0M6OkNhbGxMaW5rSW5m
bzo6c2V0TW9ub21vcnBoaWNDYWxsZWUpOgorICAgICAgICAoSlNDOjpDYWxsTGlua0luZm86OmNh
bGxlZSk6CisgICAgICAgIChKU0M6OkNhbGxMaW5rSW5mbzo6dmlzaXRXZWFrKToKKyAgICAgICAg
KEpTQzo6Q2FsbExpbmtJbmZvOjplbWl0RmFzdFBhdGhJbXBsKToKKyAgICAgICAgKEpTQzo6Q2Fs
bExpbmtJbmZvOjpyZXZlcnRDYWxsVG9TdHViKToKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtJbmZv
OjpzZXRTdHViKToKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtJbmZvOjplbWl0Rmlyc3RJbnN0cnVj
dGlvbkZvckRhdGFJQyk6IERlbGV0ZWQuCisgICAgICAgICogYnl0ZWNvZGUvQ2FsbExpbmtJbmZv
Lmg6CisgICAgICAgICogaml0L1JlcGF0Y2guY3BwOgorICAgICAgICAoSlNDOjpsaW5rUG9seW1v
cnBoaWNDYWxsKToKKwogMjAyMS0wNS0yMCAgVHVvbWFzIEthcmtrYWluZW4gIDx0dW9tYXMud2Vi
a2l0QGFwcGxlLmNvbT4KIAogICAgICAgICAkdm0gc2hvdWxkIGhhdmUgYSBmdW5jdGlvbiBmb3Ig
Y2hlY2tpbmcgaWYgQVNhbiBpcyBlbmFibGVkIHNpbWlsYXIgdG8gJHZtLmFzc2VydEVuYWJsZWQK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8u
Y3BwCShyZXZpc2lvbiAyNzc4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q2FsbExpbmtJbmZvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDkgKzEzMSwxMiBAQCBDb2Rl
TG9jYXRpb25MYWJlbDxKU0ludGVybmFsUHRyVGFnPiBDYWxsCiAgICAgcmV0dXJuIG1fZG9uZUxv
Y2F0aW9uOwogfQogCitzdGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBwb2x5bW9ycGhpY0NhbGxl
ZU1hc2sgPSAxOworCiB2b2lkIENhbGxMaW5rSW5mbzo6c2V0TW9ub21vcnBoaWNDYWxsZWUoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogY2FsbGVlLCBNYWNyb0Fzc2VtYmxlckNvZGVQ
dHI8SlNFbnRyeVB0clRhZz4gY29kZVB0cikKIHsKICAgICBSRUxFQVNFX0FTU0VSVCghaXNEaXJl
Y3QoKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoIShiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihjYWxs
ZWUpICYgcG9seW1vcnBoaWNDYWxsZWVNYXNrKSk7CiAgICAgbV9jYWxsZWVPckNvZGVCbG9jay5z
ZXQodm0sIG93bmVyLCBjYWxsZWUpOwogCiAgICAgaWYgKGlzRGF0YUlDKCkpIApAQCAtMTU3LDYg
KzE2MCw3IEBAIHZvaWQgQ2FsbExpbmtJbmZvOjpjbGVhckNhbGxlZSgpCiBKU09iamVjdCogQ2Fs
bExpbmtJbmZvOjpjYWxsZWUoKQogewogICAgIFJFTEVBU0VfQVNTRVJUKCFpc0RpcmVjdCgpKTsK
KyAgICBSRUxFQVNFX0FTU0VSVCghKGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KG1fY2FsbGVlT3JD
b2RlQmxvY2suZ2V0KCkpICYgcG9seW1vcnBoaWNDYWxsZWVNYXNrKSk7CiAgICAgcmV0dXJuIGpz
Q2FzdDxKU09iamVjdCo+KG1fY2FsbGVlT3JDb2RlQmxvY2suZ2V0KCkpOwogfQogCkBAIC0yNTAs
MTggKzI1NCwxOSBAQCB2b2lkIENhbGxMaW5rSW5mbzo6dmlzaXRXZWFrKFZNJiB2bSkKICAgICAg
ICAgICAgICAgICAgICAgICAgIHBvaW50ZXJEdW1wKGNvZGVCbG9jaygpKSwgIikuXG4iKTsKICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlm
IChjYWxsZWUoKS0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CisgICAgICAgICAgICAgICAg
SlNPYmplY3QqIGNhbGxlZSA9IGpzQ2FzdDxKU09iamVjdCo+KG1fY2FsbGVlT3JDb2RlQmxvY2su
Z2V0KCkpOworICAgICAgICAgICAgICAgIGlmIChjYWxsZWUtPnR5cGUoKSA9PSBKU0Z1bmN0aW9u
VHlwZSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6dmVyYm9z
ZU9TUigpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiQ2xlYXJpbmcgY2FsbCB0byAiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFJhd1BvaW50ZXIoY2FsbGVlKCkpLCAiICgiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0YXRpY19jYXN0PEpTRnVuY3Rpb24qPihjYWxsZWUoKSktPmV4ZWN1dGFibGUo
KS0+aGFzaEZvcihzcGVjaWFsaXphdGlvbktpbmQoKSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUmF3UG9pbnRlcihjYWxsZWUpLCAiICgiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0YXRpY19jYXN0PEpTRnVuY3Rpb24qPihjYWxsZWUpLT5leGVjdXRhYmxlKCktPmhhc2hG
b3Ioc3BlY2lhbGl6YXRpb25LaW5kKCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICIp
LlxuIik7CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgaGFuZGxl
U3BlY2lmaWNDYWxsZWUoc3RhdGljX2Nhc3Q8SlNGdW5jdGlvbio+KGNhbGxlZSgpKSk7CisgICAg
ICAgICAgICAgICAgICAgIGhhbmRsZVNwZWNpZmljQ2FsbGVlKHN0YXRpY19jYXN0PEpTRnVuY3Rp
b24qPihjYWxsZWUpKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
ICAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6dmVyYm9zZU9TUigpKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGRhdGFMb2coIkNsZWFyaW5nIGNhbGwgdG8gIiwgUmF3UG9pbnRlcihjYWxsZWUo
KSksICIuXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIkNsZWFyaW5nIGNh
bGwgdG8gIiwgUmF3UG9pbnRlcihjYWxsZWUpLCAiLlxuIik7CiAgICAgICAgICAgICAgICAgICAg
IG1fY2xlYXJlZEJ5R0MgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
QEAgLTI5MywxOCArMjk4LDYgQEAgdm9pZCBDYWxsTGlua0luZm86OnNldEZyYW1lU2h1ZmZsZURh
dGEoYwogICAgIG1fZnJhbWVTaHVmZmxlRGF0YS0+c2hyaW5rVG9GaXQoKTsKIH0KIAotdm9pZCBD
YWxsTGlua0luZm86OmVtaXRGaXJzdEluc3RydWN0aW9uRm9yRGF0YUlDKENDYWxsSGVscGVycyYg
aml0LCBHUFJSZWcgY2FsbExpbmtJbmZvR1BSKQotewotICAgIEdQUlJlZyBzY3JhdGNoR1BSID0g
aml0LnNjcmF0Y2hSZWdpc3RlcigpOwotICAgIERpc2FsbG93TWFjcm9TY3JhdGNoUmVnaXN0ZXJV
c2FnZSBkaXNhbGxvd1NjcmF0Y2goaml0KTsKLSAgICAvLyBXaGVuIHJlcGF0Y2hpbmcsIHdlIGp1
c3Qgb3ZlcndyaXRlIHRoZSBmaXJzdCBpbnN0cnVjdGlvbiBiYWNrLCBzaW5jZSBpdCdsbCBoYXZl
IGJlZW4gcmVwbGFjZWQgd2l0aCBhIGp1bXAgdG8gdGhlIHBvbHltb3JwaGljIGNhbGwgc3R1Yi4K
LSAgICBzaXplX3Qgc3RhcnRTaXplID0gaml0Lm1fYXNzZW1ibGVyLmJ1ZmZlcigpLmNvZGVTaXpl
KCk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGNhbGxMaW5rSW5mb0dQ
Uiwgb2Zmc2V0T2ZDYWxsZWUoKSksIHNjcmF0Y2hHUFIpOyAKLSAgICBzaXplX3QgbG9hZFNpemUg
PSBqaXQubV9hc3NlbWJsZXIuYnVmZmVyKCkuY29kZVNpemUoKSAtIHN0YXJ0U2l6ZTsKLSAgICBp
ZiAobG9hZFNpemUgPCBzdGF0aWNfY2FzdDxzaXplX3Q+KENDYWxsSGVscGVyczo6cGF0Y2hhYmxl
SnVtcFNpemUoKSkpCi0gICAgICAgIGppdC5lbWl0Tm9wcyhzdGF0aWNfY2FzdDxzaXplX3Q+KEND
YWxsSGVscGVyczo6cGF0Y2hhYmxlSnVtcFNpemUoKSkgLSBsb2FkU2l6ZSk7Ci19Ci0KIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wTGlzdCBDYWxsTGlua0luZm86OmVtaXRGYXN0UGF0aEltcGwoQ0NhbGxI
ZWxwZXJzJiBqaXQsIEdQUlJlZyBjYWxsZWVHUFIsIEdQUlJlZyBjYWxsTGlua0luZm9HUFIsIFVz
ZURhdGFJQyB1c2VEYXRhSUMsIFdURjo6RnVuY3Rpb248dm9pZCgpPiBwcmVwYXJlRm9yVGFpbENh
bGwpCiB7CiAgICAgc2V0VXNlc0RhdGFJQ3ModXNlRGF0YUlDKTsKQEAgLTMyMywxNiArMzE2LDIx
IEBAIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCBDYWxsTGlua0luZm86OmUKIAogICAgIGlmIChp
c0RhdGFJQygpKSB7CiAgICAgICAgIEdQUlJlZyBzY3JhdGNoR1BSID0gaml0LnNjcmF0Y2hSZWdp
c3RlcigpOwotICAgICAgICBlbWl0Rmlyc3RJbnN0cnVjdGlvbkZvckRhdGFJQyhqaXQsIGNhbGxM
aW5rSW5mb0dQUik7CisgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhj
YWxsTGlua0luZm9HUFIsIG9mZnNldE9mQ2FsbGVlKCkpLCBzY3JhdGNoR1BSKTsgCisgICAgICAg
IENDYWxsSGVscGVyczo6SnVtcCBnb1BvbHltb3JwaGljOwogICAgICAgICB7CiAgICAgICAgICAg
ICBEaXNhbGxvd01hY3JvU2NyYXRjaFJlZ2lzdGVyVXNhZ2UgZGlzYWxsb3dTY3JhdGNoKGppdCk7
CisgICAgICAgICAgICBnb1BvbHltb3JwaGljID0gaml0LmJyYW5jaFRlc3RQdHIoQ0NhbGxIZWxw
ZXJzOjpOb25aZXJvLCBzY3JhdGNoR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihwb2x5
bW9ycGhpY0NhbGxlZU1hc2spKTsKICAgICAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChqaXQuYnJh
bmNoUHRyKENDYWxsSGVscGVyczo6Tm90RXF1YWwsIHNjcmF0Y2hHUFIsIGNhbGxlZUdQUikpOwog
ICAgICAgICB9CiAgICAgICAgIGlmIChpc1RhaWxDYWxsKCkpIHsKICAgICAgICAgICAgIHByZXBh
cmVGb3JUYWlsQ2FsbCgpOworICAgICAgICAgICAgZ29Qb2x5bW9ycGhpYy5saW5rKCZqaXQpOyAv
LyBQb2x5bW9ycGhpYyBzdHViIGhhbmRsZXMgdGFpbCBjYWxsIHN0YWNrIHByZXAuCiAgICAgICAg
ICAgICBqaXQuZmFySnVtcChDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoY2FsbExpbmtJbmZvR1BSLCBv
ZmZzZXRPZk1vbm9tb3JwaGljQ2FsbERlc3RpbmF0aW9uKCkpLCBKU0VudHJ5UHRyVGFnKTsKLSAg
ICAgICAgfSBlbHNlCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBnb1BvbHltb3JwaGlj
LmxpbmsoJmppdCk7CiAgICAgICAgICAgICBqaXQuY2FsbChDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
Y2FsbExpbmtJbmZvR1BSLCBvZmZzZXRPZk1vbm9tb3JwaGljQ2FsbERlc3RpbmF0aW9uKCkpLCBK
U0VudHJ5UHRyVGFnKTsKKyAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIENDYWxsSGVs
cGVyczo6RGF0YUxhYmVsUHRyIGNhbGxlZUNoZWNrOwogICAgICAgICBzbG93UGF0aC5hcHBlbmQo
aml0LmJyYW5jaFB0cldpdGhQYXRjaChDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBjYWxsZWVHUFIs
IGNhbGxlZUNoZWNrLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIobnVsbHB0cikpKTsKQEAg
LTQ2NCwxNCArNDYyLDEzIEBAIHZvaWQgQ2FsbExpbmtJbmZvOjpyZXZlcnRDYWxsVG9TdHViKCkK
ICAgICAvLyB3aGF0IGluIGFsbCBsaWtlbGlob29kIGZpdHMgaW4gMjQuIFNvIHdlIGp1c3Qgc3Bs
YXQgb3V0IHRoZSBmaXJzdCBpbnN0cnVjdGlvbi4gTG9uZyB0ZXJtLCB3ZQogICAgIC8vIG5lZWQg
c29tZXRoaW5nIGNsZWFuZXIuIEJ1dCB0aGlzIHdvcmtzIG9uIGFybTY0IGZvciBub3cuCiAKLSAg
ICBDQ2FsbEhlbHBlcnM6OmVtaXRKSVRDb2RlT3ZlcihmYXN0UGF0aFN0YXJ0KCksIFsmXSAoQ0Nh
bGxIZWxwZXJzJiBqaXQpIHsKLSAgICAgICAgaWYgKGlzRGF0YUlDKCkpCi0gICAgICAgICAgICBl
bWl0Rmlyc3RJbnN0cnVjdGlvbkZvckRhdGFJQyhqaXQsIHUuZGF0YUlDLm1fY2FsbExpbmtJbmZv
R1BSKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OnJldmVydEp1
bXBSZXBsYWNlbWVudFRvQnJhbmNoUHRyV2l0aFBhdGNoKAotICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6c3RhcnRPZkJyYW5jaFB0cldpdGhQYXRjaE9uUmVnaXN0ZXIodS5jb2RlSUMubV9j
YWxsZWVMb2NhdGlvbiksIGNhbGxlZUdQUigpLCBudWxscHRyKTsKLSAgICAgICAgfQotICAgIH0s
ICAiUmVzZXR0aW5nIFBvbHltb3JwaGljQ2FsbCBzdHViYmVkIENhbGxMaW5rSW5mbyIpOworICAg
IGlmIChpc0RhdGFJQygpKSB7CisgICAgICAgIG1fY2FsbGVlT3JDb2RlQmxvY2suY2xlYXIoKTsK
KyAgICAgICAgdS5kYXRhSUMubV9tb25vbW9ycGhpY0NhbGxEZXN0aW5hdGlvbiA9IG51bGxwdHI7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpyZXZlcnRKdW1wUmVwbGFjZW1l
bnRUb0JyYW5jaFB0cldpdGhQYXRjaCgKKyAgICAgICAgICAgIENDYWxsSGVscGVyczo6c3RhcnRP
ZkJyYW5jaFB0cldpdGhQYXRjaE9uUmVnaXN0ZXIodS5jb2RlSUMubV9jYWxsZWVMb2NhdGlvbiks
IGNhbGxlZUdQUigpLCBudWxscHRyKTsKKyAgICB9CiB9CiAKIHZvaWQgQ2FsbExpbmtJbmZvOjpz
ZXRTdHViKFJlZjxQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZT4mJiBuZXdTdHViKQpAQCAtNDc5
LDEzICs0NzYsMTEgQEAgdm9pZCBDYWxsTGlua0luZm86OnNldFN0dWIoUmVmPFBvbHltb3JwaAog
ICAgIGNsZWFyU3R1YigpOwogICAgIG1fc3R1YiA9IFdURk1vdmUobmV3U3R1Yik7CiAKKyAgICBt
X2NhbGxlZU9yQ29kZUJsb2NrLmNsZWFyKCk7CisKICAgICBpZiAoaXNEYXRhSUMoKSkgewotICAg
ICAgICBDQ2FsbEhlbHBlcnM6OmVtaXRKSVRDb2RlT3ZlcihmYXN0UGF0aFN0YXJ0KCksIFsmXSAo
Q0NhbGxIZWxwZXJzJiBqaXQpIHsKLSAgICAgICAgICAgIGF1dG8ganVtcCA9IGppdC5qdW1wKCk7
Ci0gICAgICAgICAgICBqaXQuYWRkTGlua1Rhc2soWz1dIChMaW5rQnVmZmVyJiBsaW5rQnVmZmVy
KSB7Ci0gICAgICAgICAgICAgICAgbGlua0J1ZmZlci5saW5rKGp1bXAsIENvZGVMb2NhdGlvbkxh
YmVsPEpJVFN0dWJSb3V0aW5lUHRyVGFnPihtX3N0dWItPmNvZGUoKS5jb2RlKCkpKTsKLSAgICAg
ICAgICAgIH0pOwotICAgICAgICB9LCAiUGF0Y2hpbmcgY2FsbCB0byBQb2x5bW9ycGhpY0NhbGxT
dHViUm91dGluZSBpbiBDYWxsTGlua0luZm8iKTsKKyAgICAgICAgKmJpdHdpc2VfY2FzdDx1aW50
cHRyX3QqPihtX2NhbGxlZU9yQ29kZUJsb2NrLnNsb3QoKSkgPSBwb2x5bW9ycGhpY0NhbGxlZU1h
c2s7CisgICAgICAgIHUuZGF0YUlDLm1fbW9ub21vcnBoaWNDYWxsRGVzdGluYXRpb24gPSBtX3N0
dWItPmNvZGUoKS5jb2RlKCkucmV0YWdnZWQ8SlNFbnRyeVB0clRhZz4oKTsKICAgICB9IGVsc2Ug
ewogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6cmVwbGFjZVdpdGhKdW1wKAogICAgICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OnN0YXJ0T2ZCcmFuY2hQdHJXaXRoUGF0Y2hPblJlZ2lzdGVyKHUuY29k
ZUlDLm1fY2FsbGVlTG9jYXRpb24pLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NhbGxMaW5rSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9DYWxsTGlua0luZm8uaAkocmV2aXNpb24gMjc3ODAxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMs
NyArMTczLDYgQEAgcHVibGljOgogICAgIH07CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBlbWl0Rmly
c3RJbnN0cnVjdGlvbkZvckRhdGFJQyhDQ2FsbEhlbHBlcnMmLCBHUFJSZWcgY2FsbExpbmtJbmZv
R1BSKTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcExpc3QgZW1pdEZhc3RQYXRoSW1wbChDQ2Fs
bEhlbHBlcnMmLCBHUFJSZWcgY2FsbGVlR1BSLCBHUFJSZWcgY2FsbExpbmtJbmZvR1BSLCBVc2VE
YXRhSUMsIFdURjo6RnVuY3Rpb248dm9pZCgpPiBwcmVwYXJlRm9yVGFpbENhbGwpIFdBUk5fVU5V
U0VEX1JFVFVSTjsKIHB1YmxpYzoKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcExpc3QgZW1pdEZh
c3RQYXRoKENDYWxsSGVscGVycyYsIEdQUlJlZyBjYWxsZWVHUFIsIEdQUlJlZyBjYWxsTGlua0lu
Zm9HUFIsIFVzZURhdGFJQykgV0FSTl9VTlVTRURfUkVUVVJOOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyNzc4MDEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDU2LDYgKzE0NTYs
NyBAQCB2b2lkIGxpbmtQb2x5bW9ycGhpY0NhbGwoSlNHbG9iYWxPYmplY3QqCiAgICAgCiAgICAg
R1BSUmVnIGNhbGxlZUdQUiA9IGNhbGxMaW5rSW5mby5jYWxsZWVHUFIoKTsKIAorICAgIGJvb2wg
aXNEYXRhSUMgPSBjYWxsTGlua0luZm8uaXNEYXRhSUMoKTsKICAgICBDQ2FsbEhlbHBlcnMgc3R1
YkppdChjYWxsZXJDb2RlQmxvY2spOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPENhbGxGcmFtZVNo
dWZmbGVyPiBmcmFtZVNodWZmbGVyOwpAQCAtMTUzOCwxNiArMTUzOSwyNSBAQCB2b2lkIGxpbmtQ
b2x5bW9ycGhpY0NhbGwoSlNHbG9iYWxPYmplY3QqCiAgICAgICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tMzIoMSksCiAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKGZhc3RDb3VudHNCYXNlR1BSLCBjYXNlSW5kZXggKiBzaXplb2YodWludDMyX3QpKSk7CiAg
ICAgICAgIH0KKworICAgICAgICBib29sIG5lZWRzRG9uZUp1bXAgPSBmYWxzZTsKICAgICAgICAg
aWYgKGZyYW1lU2h1ZmZsZXIpIHsKICAgICAgICAgICAgIENhbGxGcmFtZVNodWZmbGVyKHN0dWJK
aXQsIGZyYW1lU2h1ZmZsZXItPnNuYXBzaG90KCkpLnByZXBhcmVGb3JUYWlsQ2FsbCgpOwogICAg
ICAgICAgICAgY2FsbHNbY2FzZUluZGV4XS5jYWxsID0gc3R1YkppdC5uZWFyVGFpbENhbGwoKTsK
ICAgICAgICAgfSBlbHNlIGlmIChjYWxsTGlua0luZm8uaXNUYWlsQ2FsbCgpKSB7CiAgICAgICAg
ICAgICBzdHViSml0LnByZXBhcmVGb3JUYWlsQ2FsbFNsb3coKTsKICAgICAgICAgICAgIGNhbGxz
W2Nhc2VJbmRleF0uY2FsbCA9IHN0dWJKaXQubmVhclRhaWxDYWxsKCk7Ci0gICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgY2FsbHNbY2FzZUluZGV4XS5jYWxsID0gc3R1YkppdC5uZWFyQ2FsbCgp
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKGlzRGF0YUlDKQorICAgICAgICAg
ICAgICAgIGNhbGxzW2Nhc2VJbmRleF0uY2FsbCA9IHN0dWJKaXQubmVhclRhaWxDYWxsKCk7Cisg
ICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBjYWxsc1tjYXNlSW5kZXhdLmNhbGwg
PSBzdHViSml0Lm5lYXJDYWxsKCk7CisgICAgICAgICAgICAgICAgbmVlZHNEb25lSnVtcCA9IHRy
dWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICAgICAgY2FsbHNbY2FzZUluZGV4XS5j
b2RlUHRyID0gY29kZVB0cjsKLSAgICAgICAgZG9uZS5hcHBlbmQoc3R1YkppdC5qdW1wKCkpOwor
ICAgICAgICBpZiAobmVlZHNEb25lSnVtcCkKKyAgICAgICAgICAgIGRvbmUuYXBwZW5kKHN0dWJK
aXQuanVtcCgpKTsKICAgICB9CiAgICAgCiAgICAgc2xvd1BhdGgubGluaygmc3R1YkppdCk7CkBA
IC0xNTcxLDYgKzE1ODEsMTIgQEAgdm9pZCBsaW5rUG9seW1vcnBoaWNDYWxsKEpTR2xvYmFsT2Jq
ZWN0KgogICAgIH0KICAgICBzdHViSml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRy
KGdsb2JhbE9iamVjdCksIEdQUkluZm86OnJlZ1QzKTsKICAgICBzdHViSml0Lm1vdmUoQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tUHRyKCZjYWxsTGlua0luZm8pLCBHUFJJbmZvOjpyZWdUMik7Cisg
ICAgaWYgKGlzRGF0YUlDICYmICFjYWxsTGlua0luZm8uaXNUYWlsQ2FsbCgpKSB7CisgICAgICAg
IC8vIFdlIHdlcmUgY2FsbGVkIGZyb20gdGhlIGZhc3QgcGF0aCwgZ2V0IHJpZCBvZiBhbnkgcmVt
bmFudHMgb2YgdGhhdAorICAgICAgICAvLyB3aGljaCBtYXkgZXhpc3QuIFRoaXMgcmVhbGx5IG9u
bHkgbWF0dGVycyBmb3IgeDg2LCB3aGljaCBhZGp1c3RzCisgICAgICAgIC8vIFNQIGZvciBjYWxs
cy4KKyAgICAgICAgc3R1YkppdC5wcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwoR1BSSW5m
bzo6cmVnVDQpOworICAgIH0KICAgICBzdHViSml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tUHRyKGNhbGxMaW5rSW5mby5kb25lTG9jYXRpb24oKS51bnRhZ2dlZEV4ZWN1dGFibGVBZGRy
ZXNzKCkpLCBHUFJJbmZvOjpyZWdUNCk7CiAgICAgCiAgICAgc3R1YkppdC5yZXN0b3JlUmV0dXJu
QWRkcmVzc0JlZm9yZVJldHVybihHUFJJbmZvOjpyZWdUNCk7CkBAIC0xNTk0LDcgKzE2MTAsOSBA
QCB2b2lkIGxpbmtQb2x5bW9ycGhpY0NhbGwoSlNHbG9iYWxPYmplY3QqCiAgICAgICAgIHBhdGNo
QnVmZmVyLmxpbmsoY2FsbFRvQ29kZVB0ci5jYWxsLCBGdW5jdGlvblB0cjxKU0VudHJ5UHRyVGFn
PihjYWxsVG9Db2RlUHRyLmNvZGVQdHIpKTsKICNlbmRpZgogICAgIH0KLSAgICBwYXRjaEJ1ZmZl
ci5saW5rKGRvbmUsIGNhbGxMaW5rSW5mby5kb25lTG9jYXRpb24oKSk7CisKKyAgICBpZiAoIWRv
bmUuZW1wdHkoKSkKKyAgICAgICAgcGF0Y2hCdWZmZXIubGluayhkb25lLCBjYWxsTGlua0luZm8u
ZG9uZUxvY2F0aW9uKCkpOwogICAgIHBhdGNoQnVmZmVyLmxpbmsoc2xvdywgQ29kZUxvY2F0aW9u
TGFiZWw8SklUVGh1bmtQdHJUYWc+KHZtLmdldENUSVN0dWIobGlua1BvbHltb3JwaGljQ2FsbFRo
dW5rR2VuZXJhdG9yKS5jb2RlKCkpKTsKICAgICAKICAgICBhdXRvIHN0dWJSb3V0aW5lID0gYWRv
cHRSZWYoKm5ldyBQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZSgK
</data>

          </attachment>
      

    </bug>

</bugzilla>