<?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>180779</bug_id>
          
          <creation_ts>2017-12-13 16:06:57 -0800</creation_ts>
          <short_desc>Arrow functions need their own structure because they have different properties than sloppy functions</short_desc>
          <delta_ts>2017-12-14 09:12:56 -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>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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1381347</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-13 16:06:57 -0800</bug_when>
    <thetext>What we do now invalidates our caching policies. For example, arrow functions and normal vanilla sloppy functions share a structure.
If we do:
```
function foo() { }
let bar = () =&gt; undefined;

bar.hasOwnProperty(&quot;prototype&quot;); // false. This is expected
foo.hasOwnProperty(&quot;prototype&quot;); // false. This is wrong!
```

This is probably broken in get ICs as well. The bug is we either can&apos;t cache this property, or we need different structures to represent the difference in type here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381349</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-13 16:09:11 -0800</bug_when>
    <thetext>Here is an example of get being broken:

```
function assert(b) {
    if (!b)
        throw new Error;
}

function foo(f) {
    return f.prototype;
}

{
    let f1 = function () { };
    let f2 = () =&gt; undefined;
    for (let i = 0; i &lt; 100; ++i)
        assert(foo(f2) === undefined);
    assert(foo(f1) !== undefined);
}
```

I think JF recently fixed a similar issue w/ strict vs sloppy mode functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381353</commentid>
    <comment_count>2</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-13 16:16:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/35814591&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381354</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-13 16:18:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/36035267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381431</commentid>
    <comment_count>4</comment_count>
      <attachid>329298</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-13 17:51:23 -0800</bug_when>
    <thetext>Created attachment 329298
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381434</commentid>
    <comment_count>5</comment_count>
      <attachid>329298</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-12-13 17:55:52 -0800</bug_when>
    <thetext>Comment on attachment 329298
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381478</commentid>
    <comment_count>6</comment_count>
      <attachid>329298</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-13 20:10:06 -0800</bug_when>
    <thetext>Comment on attachment 329298
patch

Clearing flags on attachment: 329298

Committed r225891: &lt;https://trac.webkit.org/changeset/225891&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381479</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-13 20:10:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381642</commentid>
    <comment_count>8</comment_count>
      <attachid>329298</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-12-14 09:12:56 -0800</bug_when>
    <thetext>Comment on attachment 329298
patch

Belated r=me too</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329298</attachid>
            <date>2017-12-13 17:51:23 -0800</date>
            <delta_ts>2017-12-13 20:10:06 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>14961</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjU4ODcpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDE3LTEyLTEzICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEFycm93IGZ1bmN0aW9ucyBuZWVkIHRoZWlyIG93biBzdHJ1Y3R1cmUg
YmVjYXVzZSB0aGV5IGhhdmUgZGlmZmVyZW50IHByb3BlcnRpZXMgdGhhbiBzbG9wcHkgZnVuY3Rp
b25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA3
NzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1ODE0NTkxPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2Fycm93LWZ1bmN0aW9uLW5l
ZWRzLWl0cy1vd24tc3RydWN0dXJlLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAg
ICAgIChyZWFkUHJvdG90eXBlKToKKyAgICAgICAgKG5vSW5saW5lLmxldC5mMSk6CisgICAgICAg
IChub0lubGluZSk6CisKIDIwMTctMTItMTMgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgRml4IGhvdyBKU0Z1bmN0aW9uIGhhbmRsZXMgImNhbGxlciIgYW5kICJh
cmd1bWVudHMiIGZvciBmdW5jdGlvbnMgdGhhdCBkb24ndCBoYXZlIHRob3NlIHByb3BlcnRpZXMK
SW5kZXg6IEpTVGVzdHMvc3RyZXNzL2Fycm93LWZ1bmN0aW9uLW5lZWRzLWl0cy1vd24tc3RydWN0
dXJlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2Fycm93LWZ1bmN0aW9uLW5lZWRz
LWl0cy1vd24tc3RydWN0dXJlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL2Fy
cm93LWZ1bmN0aW9uLW5lZWRzLWl0cy1vd24tc3RydWN0dXJlLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMjMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3I7Cit9CisKK2Z1bmN0aW9uIHJlYWRQcm90b3R5cGUoZikgeworICAg
IHJldHVybiBmLnByb3RvdHlwZTsKK30KK25vSW5saW5lKHJlYWRQcm90b3R5cGUpOworCit7Cisg
ICAgbGV0IGYxID0gZnVuY3Rpb24gKCkgeyB9OworICAgIGxldCBmMiA9ICgpID0+IHVuZGVmaW5l
ZDsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgICAgIGFzc2VydCgh
ZjIuaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIpKTsKKyAgICAgICAgYXNzZXJ0KGYxLmhhc093
blByb3BlcnR5KCJwcm90b3R5cGUiKSk7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDA7ICsraSkKKyAgICAgICAgYXNzZXJ0KHJlYWRQcm90b3R5cGUoZjIpID09PSB1bmRlZmlu
ZWQpOworICAgIGFzc2VydChyZWFkUHJvdG90eXBlKGYxKSAhPT0gdW5kZWZpbmVkKTsKKyAgICBh
c3NlcnQocmVhZFByb3RvdHlwZShmMSkgPT09IGYxLnByb3RvdHlwZSk7Cit9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyNTg3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzNiBAQAorMjAxNy0xMi0x
MyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBBcnJvdyBmdW5j
dGlvbnMgbmVlZCB0aGVpciBvd24gc3RydWN0dXJlIGJlY2F1c2UgdGhleSBoYXZlIGRpZmZlcmVu
dCBwcm9wZXJ0aWVzIHRoYW4gc2xvcHB5IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwNzc5CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zNTgxNDU5MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSB3ZXJlIHVzaW5nIHRoZSBzYW1lIHN0cnVjdHVyZSBmb3Igc2xvcHB5IGZ1bmN0aW9u
cyBhbmQKKyAgICAgICAgYXJyb3cgZnVuY3Rpb25zLiBUaGlzIGJyb2tlIG91ciBJQyBjYWNoaW5n
IG1hY2hpbmVyeSBiZWNhdXNlCisgICAgICAgIHRoZXNlIHR3byB0eXBlcyBvZiBmdW5jdGlvbnMg
YWN0dWFsbHkgaGF2ZSBkaWZmZXJlbnQgcHJvcGVydGllcy4KKyAgICAgICAgVGhpcyBwYXRjaCBn
aXZlcyB0aGVtIGRpZmZlcmVudCBzdHJ1Y3R1cmVzLgorCisgICAgICAgICogZGZnL0RGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRl
cnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlTmV3RnVuY3Rpb24pOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMu
Y3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTmV3RnVu
Y3Rpb24pOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgIChKU0M6OmNvbnN0cnVjdEZ1bmN0aW9uU2tpcHBpbmdFdmFsRW5hYmxlZENoZWNrKToKKyAg
ICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9u
OjpzZWxlY3RTdHJ1Y3R1cmVGb3JOZXdGdW5jRXhwKToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlv
bjo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKiBy
dW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OmNy
ZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6
aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKToKKyAg
ICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTR2xvYmFs
T2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlIGNvbnN0KToKKwogMjAxNy0xMi0xMyAgU2Fh
bSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMjU4
NDQpOiBBcm91bmQgODUwIG5ldyBKU0MgZmFpbHVyZXMgb24gMzItYml0CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVy
SW5saW5lcy5oCShyZXZpc2lvbiAyMjU4NzMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIyOTgs
MTUgKzIyOTgsMTIgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQog
ICAgICAgICAgICAgbV9ncmFwaCwgbV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdEZvcihub2RlLT5v
cmlnaW4uc2VtYW50aWMpLT5hc3luY0Z1bmN0aW9uU3RydWN0dXJlKCkpOwogICAgICAgICBicmVh
azsKIAotICAgIGNhc2UgTmV3RnVuY3Rpb246Ci0gICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFu
ZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpLT5pc1N0cmljdE1vZGUoKSkgewotICAgICAgICAgICAg
Zm9yTm9kZShub2RlKS5zZXQoCi0gICAgICAgICAgICAgICAgbV9ncmFwaCwgbV9jb2RlQmxvY2st
Pmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5zdHJpY3RGdW5jdGlvblN0
cnVjdHVyZSgpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZvck5vZGUobm9kZSku
c2V0KAotICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3RG
b3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+c2xvcHB5RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7Ci0g
ICAgICAgIH0KKyAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7CisgICAgICAgIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QgPSBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdp
bi5zZW1hbnRpYyk7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gSlNGdW5jdGlvbjo6
c2VsZWN0U3RydWN0dXJlRm9yTmV3RnVuY0V4cChnbG9iYWxPYmplY3QsIG5vZGUtPmNhc3RPcGVy
YW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCkpOworICAgICAgICBmb3JOb2RlKG5vZGUpLnNldCht
X2dyYXBoLCBzdHJ1Y3R1cmUpOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgICAgIAogICAg
IGNhc2UgR2V0Q2FsbGVlOgogICAgICAgICBpZiAoRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRh
YmxlID0ganNEeW5hbWljQ2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihtX3ZtLCBtX2NvZGVCbG9j
ay0+b3duZXJFeGVjdXRhYmxlKCkpKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMjI1ODczKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY3ODIsMTcgKzY3ODIsMTYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld0Z1
bmN0aW9uKAogCiAgICAgUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1cmUgPSBtX2ppdC5ncmFw
aCgpLnJlZ2lzdGVyU3RydWN0dXJlKAogICAgICAgICBbJl0gKCkgeworICAgICAgICAgICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9y
KG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CiAgICAgICAgICAgICBzd2l0Y2ggKG5vZGVUeXBlKSB7
CiAgICAgICAgICAgICBjYXNlIE5ld0dlbmVyYXRvckZ1bmN0aW9uOgotICAgICAgICAgICAgICAg
IHJldHVybiBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50
aWMpLT5nZW5lcmF0b3JGdW5jdGlvblN0cnVjdHVyZSgpOworICAgICAgICAgICAgICAgIHJldHVy
biBnbG9iYWxPYmplY3QtPmdlbmVyYXRvckZ1bmN0aW9uU3RydWN0dXJlKCk7CiAgICAgICAgICAg
ICBjYXNlIE5ld0FzeW5jRnVuY3Rpb246Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG1faml0Lmdy
YXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFzeW5jRnVuY3Rp
b25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hc3lu
Y0Z1bmN0aW9uU3RydWN0dXJlKCk7CiAgICAgICAgICAgICBjYXNlIE5ld0FzeW5jR2VuZXJhdG9y
RnVuY3Rpb246Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG1faml0LmdyYXBoKCkuZ2xvYmFsT2Jq
ZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFzeW5jR2VuZXJhdG9yRnVuY3Rpb25TdHJ1
Y3R1cmUoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hc3luY0dlbmVy
YXRvckZ1bmN0aW9uU3RydWN0dXJlKCk7CiAgICAgICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgot
ICAgICAgICAgICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUq
PigpLT5pc1N0cmljdE1vZGUoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1faml0Lmdy
YXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPnN0cmljdEZ1bmN0
aW9uU3RydWN0dXJlKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG1faml0LmdyYXBoKCkuZ2xv
YmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPnNsb3BweUZ1bmN0aW9uU3RydWN0
dXJlKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIEpTRnVuY3Rpb246OnNlbGVjdFN0cnVjdHVy
ZUZvck5ld0Z1bmNFeHAoZ2xvYmFsT2JqZWN0LCBub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4
ZWN1dGFibGUqPigpKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyNTg3
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDczNiwyMiArNDczNiwxOSBAQCBwcml2YXRlOgogICAgICAgICAgICAg
c2V0SlNWYWx1ZShjYWxsUmVzdWx0KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQot
ICAgICAgICAKIAogICAgICAgICBSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSA9IG1fZ3Jh
cGgucmVnaXN0ZXJTdHJ1Y3R1cmUoCiAgICAgICAgICAgICBbJl0gKCkgeworICAgICAgICAgICAg
ICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZv
cihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CiAgICAgICAgICAgICAgICAgc3dpdGNoIChtX25v
ZGUtPm9wKCkpIHsKICAgICAgICAgICAgICAgICBjYXNlIE5ld0dlbmVyYXRvckZ1bmN0aW9uOgot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gbV9ncmFwaC5nbG9iYWxPYmplY3RGb3IobV9ub2Rl
LT5vcmlnaW4uc2VtYW50aWMpLT5nZW5lcmF0b3JGdW5jdGlvblN0cnVjdHVyZSgpOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5nZW5lcmF0b3JGdW5jdGlvblN0cnVj
dHVyZSgpOwogICAgICAgICAgICAgICAgIGNhc2UgTmV3QXN5bmNGdW5jdGlvbjoKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG1fbm9kZS0+b3JpZ2lu
LnNlbWFudGljKS0+YXN5bmNGdW5jdGlvblN0cnVjdHVyZSgpOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hc3luY0Z1bmN0aW9uU3RydWN0dXJlKCk7CiAgICAgICAg
ICAgICAgICAgY2FzZSBOZXdBc3luY0dlbmVyYXRvckZ1bmN0aW9uOgotICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gbV9ncmFwaC5nbG9iYWxPYmplY3RGb3IobV9ub2RlLT5vcmlnaW4uc2VtYW50
aWMpLT5hc3luY0dlbmVyYXRvckZ1bmN0aW9uU3RydWN0dXJlKCk7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmFzeW5jR2VuZXJhdG9yRnVuY3Rpb25TdHJ1Y3R1cmUo
KTsKICAgICAgICAgICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgotICAgICAgICAgICAgICAgICAg
ICBpZiAobV9ub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpLT5pc1N0cmlj
dE1vZGUoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmdsb2JhbE9i
amVjdEZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyktPnN0cmljdEZ1bmN0aW9uU3RydWN0dXJl
KCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmdsb2JhbE9iamVjdEZvciht
X25vZGUtPm9yaWdpbi5zZW1hbnRpYyktPnNsb3BweUZ1bmN0aW9uU3RydWN0dXJlKCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNGdW5j
dGlvbjo6c2VsZWN0U3RydWN0dXJlRm9yTmV3RnVuY0V4cChnbG9iYWxPYmplY3QsIG1fbm9kZS0+
Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKSk7CiAgICAgICAgICAgICAgICAgZGVm
YXVsdDoKICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
dW5jdGlvbkNvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMjI1ODczKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NSwxMCArMTc1LDcgQEAgSlNPYmplY3QqIGNvbnN0cnVjdEZ1bmN0
aW9uU2tpcHBpbmdFdmFsRQogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKICAg
ICBzd2l0Y2ggKGZ1bmN0aW9uQ29uc3RydWN0aW9uTW9kZSkgewogICAgIGNhc2UgRnVuY3Rpb25D
b25zdHJ1Y3Rpb25Nb2RlOjpGdW5jdGlvbjoKLSAgICAgICAgaWYgKGZ1bmN0aW9uLT5pc1N0cmlj
dE1vZGUoKSkKLSAgICAgICAgICAgIHN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+c3RyaWN0RnVu
Y3Rpb25TdHJ1Y3R1cmUoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc3RydWN0dXJlID0g
Z2xvYmFsT2JqZWN0LT5zbG9wcHlGdW5jdGlvblN0cnVjdHVyZSgpOworICAgICAgICBzdHJ1Y3R1
cmUgPSBKU0Z1bmN0aW9uOjpzZWxlY3RTdHJ1Y3R1cmVGb3JOZXdGdW5jRXhwKGdsb2JhbE9iamVj
dCwgZnVuY3Rpb24pOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEZ1bmN0aW9uQ29uc3RydWN0
aW9uTW9kZTo6R2VuZXJhdG9yOgogICAgICAgICBzdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmdl
bmVyYXRvckZ1bmN0aW9uU3RydWN0dXJlKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjI1ODczKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1
LDEwICs2NSwxOCBAQCBib29sIEpTRnVuY3Rpb246OmlzSG9zdEZ1bmN0aW9uTm9uSW5saW5lCiAg
ICAgcmV0dXJuIGlzSG9zdEZ1bmN0aW9uKCk7CiB9CiAKK1N0cnVjdHVyZSogSlNGdW5jdGlvbjo6
c2VsZWN0U3RydWN0dXJlRm9yTmV3RnVuY0V4cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUpCit7CisgICAgaWYgKGV4ZWN1dGFibGUt
PmlzQXJyb3dGdW5jdGlvbigpKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1
bmN0aW9uU3RydWN0dXJlKCk7CisgICAgaWYgKGV4ZWN1dGFibGUtPmlzU3RyaWN0TW9kZSgpKQor
ICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpY3RGdW5jdGlvblN0cnVjdHVyZSgpOwor
ICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnNsb3BweUZ1bmN0aW9uU3RydWN0dXJlKCk7Cit9CisK
IEpTRnVuY3Rpb24qIEpTRnVuY3Rpb246OmNyZWF0ZShWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJs
ZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUpCiB7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBleGVjdXRhYmxlLT5pc1N0cmljdE1vZGUoKSA/IHNjb3BlLT5nbG9iYWxPYmplY3Qodm0p
LT5zdHJpY3RGdW5jdGlvblN0cnVjdHVyZSgpIDogc2NvcGUtPmdsb2JhbE9iamVjdCh2bSktPnNs
b3BweUZ1bmN0aW9uU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIGNyZWF0ZSh2bSwgZXhlY3V0YWJs
ZSwgc2NvcGUsIHN0cnVjdHVyZSk7CisgICAgcmV0dXJuIGNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwg
c2NvcGUsIHNlbGVjdFN0cnVjdHVyZUZvck5ld0Z1bmNFeHAoc2NvcGUtPmdsb2JhbE9iamVjdCh2
bSksIGV4ZWN1dGFibGUpKTsKIH0KIAogSlNGdW5jdGlvbiogSlNGdW5jdGlvbjo6Y3JlYXRlKFZN
JiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5oCShyZXZpc2lvbiAyMjU4NzMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDYgKzcwLDggQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gc2l6ZW9mKEpTRnVuY3Rpb24pOwogICAgIH0KIAorICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIHNlbGVjdFN0cnVjdHVyZUZvck5ld0Z1bmNFeHAoSlNHbG9iYWxPYmpl
Y3QqLCBGdW5jdGlvbkV4ZWN1dGFibGUqKTsKKwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBKU0Z1bmN0aW9uKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIGludCBsZW5ndGgsIGNv
bnN0IFN0cmluZyYgbmFtZSwgTmF0aXZlRnVuY3Rpb24sIEludHJpbnNpYyA9IE5vSW50cmluc2lj
LCBOYXRpdmVGdW5jdGlvbiBuYXRpdmVDb25zdHJ1Y3RvciA9IGNhbGxIb3N0RnVuY3Rpb25Bc0Nv
bnN0cnVjdG9yLCBjb25zdCBET01KSVQ6OlNpZ25hdHVyZSogPSBudWxscHRyKTsKICAgICAKICAg
ICBzdGF0aWMgSlNGdW5jdGlvbiogY3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0
Y2hwb2ludChWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAkocmV2
aXNpb24gMjI1ODczKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bklubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsOCArMzUsNyBAQCBpbmxpbmUgSlNGdW5j
dGlvbiogSlNGdW5jdGlvbjo6Y3JlYXRlV2l0CiAgICAgVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFi
bGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHNjb3BlKQogewogICAgIEFTU0VSVChleGVjdXRhYmxl
LT5zaW5nbGV0b25GdW5jdGlvbigpLT5oYXNCZWVuSW52YWxpZGF0ZWQoKSk7Ci0gICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBleGVjdXRhYmxlLT5pc1N0cmljdE1vZGUoKSA/IHNjb3BlLT5nbG9i
YWxPYmplY3Qodm0pLT5zdHJpY3RGdW5jdGlvblN0cnVjdHVyZSgpIDogc2NvcGUtPmdsb2JhbE9i
amVjdCh2bSktPnNsb3BweUZ1bmN0aW9uU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIGNyZWF0ZUlt
cGwodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUpOworICAgIHJldHVybiBjcmVhdGVJ
bXBsKHZtLCBleGVjdXRhYmxlLCBzY29wZSwgc2VsZWN0U3RydWN0dXJlRm9yTmV3RnVuY0V4cChz
Y29wZS0+Z2xvYmFsT2JqZWN0KHZtKSwgZXhlY3V0YWJsZSkpOwogfQogCiBpbmxpbmUgSlNGdW5j
dGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwg
SlNTY29wZSogc2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkocmV2aXNpb24gMjI1
ODczKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zODgsNiArMzg4LDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
aW5pdChWTSYgdm0pCiAKICAgICBtX3N0cmljdEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhp
cywgSlNGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90
eXBlLmdldCgpKSk7CiAgICAgbV9zbG9wcHlGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMs
IEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlw
ZS5nZXQoKSkpOworICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpT
RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSkpOwogICAgIG1fY3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb25TdHJ1Y3R1cmUuaW5pdExh
dGVyKAogICAgICAgICBbXSAoY29uc3QgSW5pdGlhbGl6ZXI8U3RydWN0dXJlPiYgaW5pdCkgewog
ICAgICAgICAgICAgaW5pdC5zZXQoSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbjo6Y3JlYXRl
U3RydWN0dXJlKGluaXQudm0sIGluaXQub3duZXIsIGluaXQub3duZXItPm1fZnVuY3Rpb25Qcm90
b3R5cGUuZ2V0KCkpKTsKQEAgLTEzMTQsNiArMTMxNSw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6
OnZpc2l0Q2hpbGRyZW4oSlNDZWwKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2Nh
bGxlZVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zdHJpY3RG
dW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zbG9w
cHlGdW5jdGlvblN0cnVjdHVyZSk7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9h
cnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB0aGlzT2JqZWN0LT5tX2N1c3RvbUdldHRlclNl
dHRlckZ1bmN0aW9uU3RydWN0dXJlLnZpc2l0KHZpc2l0b3IpOwogICAgIHRoaXNPYmplY3QtPm1f
Ym91bmRGdW5jdGlvblN0cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCh0aGlzT2JqZWN0LT5tX2dldHRlclNldHRlclN0cnVjdHVyZSk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHJldmlzaW9uIDIyNTg3
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTMyMiw2ICszMjIsNyBAQCBwdWJsaWM6CiAgICAgTGF6eVByb3BlcnR5
PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+IG1fbnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVy
ZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cmljdEZ1bmN0aW9uU3RydWN0dXJlOworICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKICAgICBXcml0
ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3Nsb3BweUZ1bmN0aW9uU3RydWN0dXJlOwogICAgIExhenlQ
cm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJlPiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1
cmU7CiAgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+IG1fY3VzdG9t
R2V0dGVyU2V0dGVyRnVuY3Rpb25TdHJ1Y3R1cmU7CkBAIC02MzEsNiArNjMyLDcgQEAgcHVibGlj
OgogICAgIFN0cnVjdHVyZSogY2FsbGVlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxs
ZWVTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIHN0cmljdEZ1bmN0aW9uU3RydWN0
dXJlKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpY3RGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQog
ICAgIFN0cnVjdHVyZSogc2xvcHB5RnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X3Nsb3BweUZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisgICAgU3RydWN0dXJlKiBhcnJvd0Z1
bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJl
LmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBib3VuZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3Qg
eyByZXR1cm4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLmdldCh0aGlzKTsgfQogICAgIFN0cnVj
dHVyZSogY3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVy
biBtX2N1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uU3RydWN0dXJlLmdldCh0aGlzKTsgfQogICAg
IFN0cnVjdHVyZSogZ2V0dGVyU2V0dGVyU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9nZXR0
ZXJTZXR0ZXJTdHJ1Y3R1cmUuZ2V0KCk7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>