<?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>158789</bug_id>
          
          <creation_ts>2016-06-15 10:09:10 -0700</creation_ts>
          <short_desc>Improve HashMap and HashSet support for Ref</short_desc>
          <delta_ts>2016-06-23 10:29:26 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1202601</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-06-15 10:09:10 -0700</bug_when>
    <thetext>Improve HashMap and HashSet support for Ref</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202606</commentid>
    <comment_count>1</comment_count>
      <attachid>281369</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-06-15 10:19:49 -0700</bug_when>
    <thetext>Created attachment 281369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202695</commentid>
    <comment_count>2</comment_count>
      <attachid>281369</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-15 14:45:47 -0700</bug_when>
    <thetext>Comment on attachment 281369
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202705</commentid>
    <comment_count>3</comment_count>
      <attachid>281369</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-15 15:07:56 -0700</bug_when>
    <thetext>Comment on attachment 281369
Patch

Clearing flags on attachment: 281369

Committed r202111: &lt;http://trac.webkit.org/changeset/202111&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202706</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-15 15:08:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202980</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-16 13:39:53 -0700</bug_when>
    <thetext>Reverted r202002 and r202111 for reason:

Ryosuke says this was a JSBench regression on iOS

Committed r202136: &lt;http://trac.webkit.org/changeset/202136&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281369</attachid>
            <date>2016-06-15 10:19:49 -0700</date>
            <delta_ts>2016-06-15 15:07:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158789-20160615102126.patch</filename>
            <type>text/plain</type>
            <size>15665</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDIwOTQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDE2LTA2LTE1ICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgSW1wcm92ZSBIYXNoTWFwIGFuZCBIYXNoU2V0IHN1cHBvcnQg
Zm9yIFJlZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4Nzg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHM6IEFkZCBtb3JlIGNhc2VzIHRvIFdURl9IYXNoTWFwLlJlZl9LZXksIFdURl9IYXNoTWFw
LlJlZl9WYWx1ZSBhbmQgV1RGX0hhc2hTZXQuUmVmCisKKyAgICAgICAgKiB3dGYvSGFzaE1hcC5o
OgorICAgICAgICAqIHd0Zi9IYXNoU2V0Lmg6CisgICAgICAgIEFkZCBhIE1hcHBlZFRha2VUeXBl
IHR5cGVkZWYgYW5kIHJld29yayB0aGUgdGFrZSBmdW5jdGlvbnMgdG8gdXNlIGl0IGFuZCBIYXNo
VHJhaXRzOjp0YWtlKC4uLikuCisKKyAgICAgICAgKiB3dGYvSGFzaFRyYWl0cy5oOgorICAgICAg
ICAoV1RGOjpHZW5lcmljSGFzaFRyYWl0czo6YXNzaWduVG9FbXB0eSk6CisgICAgICAgIE1vdmUg
dG8gR2VuZXJpY0hhc2hUcmFpdHMgcmF0aGVyIHRoYW4gR2VuZXJpY0hhc2hUcmFpdHNCYXNlLCBz
aW5jZSBpdCBpcyBub3QgZGlmZmVyZW50CisgICAgICAgIGJldHdlZW4gaW50ZWdyYWwgYW5kIG5v
bi1pbnRlZ3JhbCBIYXNoVHJhaXRzLgorCisgICAgICAgIChXVEY6OkdlbmVyaWNIYXNoVHJhaXRz
Ojp0YWtlKToKKyAgICAgICAgQWRkIGEgdHJhaXQgZnVuY3Rpb24gZm9yIHRha2UgdGhhdCBkZWZh
dWx0cyBhcyBhIGZvcndhcmQuIFRoaXMgYWxsb3dzIHVzIHRvIG92ZXJyaWRlIHRha2UKKyAgICAg
ICAganVzdCBsaWtlIHdlIGRvIHdpdGggZ2V0L3BlZWsuCisKKyAgICAgICAgKFdURjo6SGFzaFRy
YWl0czxSZWY8UD4+OjplbXB0eVZhbHVlKToKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGV4
cGxpY2l0IGNvbnN0cnVjdGlvbi4KKworICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFJlZjxQPj46
OnBlZWspOgorICAgICAgICBGaXggYXNzZXJ0aW9uIHRoYXQgY291bGQgaGFwcGVuIGlmIHlvdSBk
aWQgYSBIYXNoTWFwLmdldCgpIG9uIGFuIGVtcHR5IFJlZiB2YWx1ZS4KKworICAgICAgICAoV1RG
OjpIYXNoVHJhaXRzPFJlZjxQPj46OnRha2UpOgorICAgICAgICBNYWtlIHRoZSBUYWtlVHlwZSBv
ZiBhIFJlZjxQPiBiZSBPcHRpb25hbDxSZWY8UD4+LCB0byBhdm9pZCBoYXZpbmcgZW1wdHkKKyAg
ICAgICAgUmVmcyByZXR1cm5lZCBmcm9tIEhhc2hNYXAgYW5kIEhhc2hTZXQuIEltcGxlbWVudCBh
biBleHBsaWNpdCB0YWtlKCkgZnVuY3Rpb24gdG8KKyAgICAgICAgY29uc3RydWN0IG9uZS4KKwor
ICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFJlZjxQPj46OmN1c3RvbURlbGV0ZUJ1Y2tldCk6IERl
bGV0ZWQuCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBjdXN0b21EZWxldGVCdWNrZXQgaW1w
bGVtZW50YXRpb24uIFJlZiBkb2VzIG5vdCBhc3NpZ24gbnVsbHB0ciB0bworICAgICAgICBpdCdz
IG1fcHRyIGluIGRlc3RydWN0aW9uLCBzbyB0aGVyZSBpcyBubyBkZWFkIHN0b3JlIHRvIGF2b2lk
IGhlcmUuCisKKyAgICAgICAgKiB3dGYvUmVmLmg6CisgICAgICAgIChXVEY6OlJlZjo6cHRyQWxs
b3dpbmdIYXNoVGFibGVFbXB0eVZhbHVlKToKKyAgICAgICAgQWRkIEhhc2hUcmFpdCBoZWxwZXIg
dG8gYWxsb3cgZ2V0dGluZyB0aGUgdmFsdWUgb2YgbV9wdHIgZXZlbiB3aGVuIGl0IGlzIG51bGwu
IFRoaXMKKyAgICAgICAgYWxsb3dzIHVzIHRvIGF2b2lkIGEgYnJhbmNoIGluIEhhc2hUcmFpdHM8
UmVmPFA+Pjo6cGVlaygpLgorCiAyMDE2LTA2LTE1ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50
ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZvbGxvdyB1cCBwYXRjaCBmb3Ig
cjIwMjA5MgpJbmRleDogU291cmNlL1dURi93dGYvSGFzaE1hcC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XVEYvd3RmL0hhc2hNYXAuaAkocmV2aXNpb24gMjAyMDk0KQorKysgU291cmNlL1dURi93
dGYvSGFzaE1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw2ICs1NCw3IEBAIHB1YmxpYzoKIAog
cHJpdmF0ZToKICAgICB0eXBlZGVmIHR5cGVuYW1lIE1hcHBlZFRyYWl0czo6UGVla1R5cGUgTWFw
cGVkUGVla1R5cGU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBNYXBwZWRUcmFpdHM6OlRha2VUeXBl
IE1hcHBlZFRha2VUeXBlOwogCiAgICAgdHlwZWRlZiBIYXNoQXJnIEhhc2hGdW5jdGlvbnM7CiAK
QEAgLTEzMCw3ICsxMzEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVJZihjb25zdCBGdW5j
dG9yJiBmdW5jdG9yKTsKICAgICB2b2lkIGNsZWFyKCk7CiAKLSAgICBNYXBwZWRUeXBlIHRha2Uo
Y29uc3QgS2V5VHlwZSYpOyAvLyBlZmZpY2llbnQgY29tYmluYXRpb24gb2YgZ2V0IHdpdGggcmVt
b3ZlCisgICAgTWFwcGVkVGFrZVR5cGUgdGFrZShjb25zdCBLZXlUeXBlJik7IC8vIGVmZmljaWVu
dCBjb21iaW5hdGlvbiBvZiBnZXQgd2l0aCByZW1vdmUKIAogICAgIC8vIEFuIGFsdGVybmF0ZSB2
ZXJzaW9uIG9mIGZpbmQoKSB0aGF0IGZpbmRzIHRoZSBvYmplY3QgYnkgaGFzaGluZyBhbmQgY29t
cGFyaW5nCiAgICAgLy8gd2l0aCBzb21lIG90aGVyIHR5cGUsIHRvIGF2b2lkIHRoZSBjb3N0IG9m
IHR5cGUgY29udmVyc2lvbi4gSGFzaFRyYW5zbGF0b3IKQEAgLTE1Niw3ICsxNTcsNyBAQCBwdWJs
aWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSyA9IEtleVR5cGU+IHR5cGVuYW1lIHN0ZDo6ZW5h
YmxlX2lmPElzU21hcnRQdHI8Sz46OnZhbHVlLCBNYXBwZWRQZWVrVHlwZT46OnR5cGUgaW5saW5l
R2V0KHR5cGVuYW1lIEdldFB0ckhlbHBlcjxLPjo6UHRyVHlwZSkgY29uc3Q7CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgSyA9IEtleVR5cGU+IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPElzU21hcnRQ
dHI8Sz46OnZhbHVlLCBNYXBwZWRQZWVrVHlwZT46OnR5cGUgZ2V0KHR5cGVuYW1lIEdldFB0ckhl
bHBlcjxLPjo6UHRyVHlwZSkgY29uc3Q7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSyA9IEtleVR5
cGU+IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPElzU21hcnRQdHI8Sz46OnZhbHVlLCBib29sPjo6
dHlwZSByZW1vdmUodHlwZW5hbWUgR2V0UHRySGVscGVyPEs+OjpQdHJUeXBlKTsKLSAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBLID0gS2V5VHlwZT4gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SXNTbWFy
dFB0cjxLPjo6dmFsdWUsIE1hcHBlZFR5cGU+Ojp0eXBlIHRha2UodHlwZW5hbWUgR2V0UHRySGVs
cGVyPEs+OjpQdHJUeXBlKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLID0gS2V5VHlwZT4gdHlw
ZW5hbWUgc3RkOjplbmFibGVfaWY8SXNTbWFydFB0cjxLPjo6dmFsdWUsIE1hcHBlZFRha2VUeXBl
Pjo6dHlwZSB0YWtlKHR5cGVuYW1lIEdldFB0ckhlbHBlcjxLPjo6UHRyVHlwZSk7CiAKICAgICB2
b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKIApAQCAtNDM0LDEyICs0MzUsMTIgQEAgaW5s
aW5lIHZvaWQgSGFzaE1hcDxULCBVLCBWLCBXLCBYPjo6Y2xlYQogfQogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBVLCB0eXBlbmFtZSBWLCB0eXBlbmFtZSBXLCB0eXBlbmFtZSBNYXBw
ZWRUcmFpdHM+Ci1hdXRvIEhhc2hNYXA8VCwgVSwgViwgVywgTWFwcGVkVHJhaXRzPjo6dGFrZShj
b25zdCBLZXlUeXBlJiBrZXkpIC0+IE1hcHBlZFR5cGUKK2F1dG8gSGFzaE1hcDxULCBVLCBWLCBX
LCBNYXBwZWRUcmFpdHM+Ojp0YWtlKGNvbnN0IEtleVR5cGUmIGtleSkgLT4gTWFwcGVkVGFrZVR5
cGUKIHsKICAgICBpdGVyYXRvciBpdCA9IGZpbmQoa2V5KTsKICAgICBpZiAoaXQgPT0gZW5kKCkp
Ci0gICAgICAgIHJldHVybiBNYXBwZWRUcmFpdHM6OmVtcHR5VmFsdWUoKTsKLSAgICBNYXBwZWRU
eXBlIHZhbHVlID0gV1RGTW92ZShpdC0+dmFsdWUpOworICAgICAgICByZXR1cm4gTWFwcGVkVHJh
aXRzOjp0YWtlKE1hcHBlZFRyYWl0czo6ZW1wdHlWYWx1ZSgpKTsKKyAgICBhdXRvIHZhbHVlID0g
TWFwcGVkVHJhaXRzOjp0YWtlKFdURk1vdmUoaXQtPnZhbHVlKSk7CiAgICAgcmVtb3ZlKGl0KTsK
ICAgICByZXR1cm4gdmFsdWU7CiB9CkBAIC00OTEsMTIgKzQ5MiwxMiBAQCBpbmxpbmUgYXV0byBI
YXNoTWFwPFQsIFUsIFYsIFcsIFg+OjpyZW1vCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVu
YW1lIFUsIHR5cGVuYW1lIFYsIHR5cGVuYW1lIFcsIHR5cGVuYW1lIFg+CiB0ZW1wbGF0ZTx0eXBl
bmFtZSBLPgotaW5saW5lIGF1dG8gSGFzaE1hcDxULCBVLCBWLCBXLCBYPjo6dGFrZSh0eXBlbmFt
ZSBHZXRQdHJIZWxwZXI8Sz46OlB0clR5cGUga2V5KSAtPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9p
ZjxJc1NtYXJ0UHRyPEs+Ojp2YWx1ZSwgTWFwcGVkVHlwZT46OnR5cGUKK2lubGluZSBhdXRvIEhh
c2hNYXA8VCwgVSwgViwgVywgWD46OnRha2UodHlwZW5hbWUgR2V0UHRySGVscGVyPEs+OjpQdHJU
eXBlIGtleSkgLT4gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SXNTbWFydFB0cjxLPjo6dmFsdWUs
IE1hcHBlZFRha2VUeXBlPjo6dHlwZQogewogICAgIGl0ZXJhdG9yIGl0ID0gZmluZChrZXkpOwog
ICAgIGlmIChpdCA9PSBlbmQoKSkKLSAgICAgICAgcmV0dXJuIE1hcHBlZFRyYWl0czo6ZW1wdHlW
YWx1ZSgpOwotICAgIE1hcHBlZFR5cGUgdmFsdWUgPSBXVEZNb3ZlKGl0LT52YWx1ZSk7CisgICAg
ICAgIHJldHVybiBNYXBwZWRUcmFpdHM6OnRha2UoTWFwcGVkVHJhaXRzOjplbXB0eVZhbHVlKCkp
OworICAgIGF1dG8gdmFsdWUgPSBNYXBwZWRUcmFpdHM6OnRha2UoV1RGTW92ZShpdC0+dmFsdWUp
KTsKICAgICByZW1vdmUoaXQpOwogICAgIHJldHVybiB2YWx1ZTsKIH0KSW5kZXg6IFNvdXJjZS9X
VEYvd3RmL0hhc2hTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9IYXNoU2V0LmgJ
KHJldmlzaW9uIDIwMjA5NCkKKysrIFNvdXJjZS9XVEYvd3RmL0hhc2hTZXQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzgsNiArMzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICBwcml2YXRlOgogICAg
ICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFp
dHNBcmcgVmFsdWVUcmFpdHM7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgVmFsdWVUcmFpdHM6
OlRha2VUeXBlIFRha2VUeXBlOwogCiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIHR5cGVu
YW1lIFZhbHVlVHJhaXRzOjpUcmFpdFR5cGUgVmFsdWVUeXBlOwpAQCAtMTA1LDE1ICsxMDYsMTUg
QEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHZvaWQgcmVtb3ZlSWYoY29uc3QgRnVuY3RvciYp
OwogICAgICAgICB2b2lkIGNsZWFyKCk7CiAKLSAgICAgICAgVmFsdWVUeXBlIHRha2UoY29uc3Qg
VmFsdWVUeXBlJik7Ci0gICAgICAgIFZhbHVlVHlwZSB0YWtlKGl0ZXJhdG9yKTsKLSAgICAgICAg
VmFsdWVUeXBlIHRha2VBbnkoKTsKKyAgICAgICAgVGFrZVR5cGUgdGFrZShjb25zdCBWYWx1ZVR5
cGUmKTsKKyAgICAgICAgVGFrZVR5cGUgdGFrZShpdGVyYXRvcik7CisgICAgICAgIFRha2VUeXBl
IHRha2VBbnkoKTsKIAogICAgICAgICAvLyBPdmVybG9hZHMgZm9yIHNtYXJ0IHBvaW50ZXIgdmFs
dWVzIHRoYXQgdGFrZSB0aGUgcmF3IHBvaW50ZXIgdHlwZSBhcyB0aGUgcGFyYW1ldGVyLgogICAg
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWID0gVmFsdWVUeXBlPiB0eXBlbmFtZSBzdGQ6OmVuYWJs
ZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwgaXRlcmF0b3I+Ojp0eXBlIGZpbmQodHlwZW5hbWUg
R2V0UHRySGVscGVyPFY+OjpQdHJUeXBlKSBjb25zdDsKICAgICAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgViA9IFZhbHVlVHlwZT4gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SXNTbWFydFB0cjxWPjo6
dmFsdWUsIGJvb2w+Ojp0eXBlIGNvbnRhaW5zKHR5cGVuYW1lIEdldFB0ckhlbHBlcjxWPjo6UHRy
VHlwZSkgY29uc3Q7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFYgPSBWYWx1ZVR5cGU+IHR5
cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPElzU21hcnRQdHI8Vj46OnZhbHVlLCBib29sPjo6dHlwZSBy
ZW1vdmUodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlKTsKLSAgICAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgViA9IFZhbHVlVHlwZT4gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SXNTbWFy
dFB0cjxWPjo6dmFsdWUsIFZhbHVlVHlwZT46OnR5cGUgdGFrZSh0eXBlbmFtZSBHZXRQdHJIZWxw
ZXI8Vj46OlB0clR5cGUpOworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWID0gVmFsdWVUeXBl
PiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwgVGFrZVR5cGU+
Ojp0eXBlIHRha2UodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlKTsKIAogICAgICAg
ICBzdGF0aWMgYm9vbCBpc1ZhbGlkVmFsdWUoY29uc3QgVmFsdWVUeXBlJik7CiAKQEAgLTI2OSwy
NCArMjcwLDI0IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIFUsIHR5cGVuYW1lIFY+Ci0gICAgaW5saW5lIGF1dG8gSGFzaFNldDxU
LCBVLCBWPjo6dGFrZShpdGVyYXRvciBpdCkgLT4gVmFsdWVUeXBlCisgICAgaW5saW5lIGF1dG8g
SGFzaFNldDxULCBVLCBWPjo6dGFrZShpdGVyYXRvciBpdCkgLT4gVGFrZVR5cGUKICAgICB7CiAg
ICAgICAgIGlmIChpdCA9PSBlbmQoKSkKLSAgICAgICAgICAgIHJldHVybiBWYWx1ZVRyYWl0czo6
ZW1wdHlWYWx1ZSgpOworICAgICAgICAgICAgcmV0dXJuIFZhbHVlVHJhaXRzOjp0YWtlKFZhbHVl
VHJhaXRzOjplbXB0eVZhbHVlKCkpOwogCi0gICAgICAgIFZhbHVlVHlwZSByZXN1bHQgPSBXVEZN
b3ZlKGNvbnN0X2Nhc3Q8VmFsdWVUeXBlJj4oKml0KSk7CisgICAgICAgIGF1dG8gcmVzdWx0ID0g
VmFsdWVUcmFpdHM6OnRha2UoV1RGTW92ZShjb25zdF9jYXN0PFZhbHVlVHlwZSY+KCppdCkpKTsK
ICAgICAgICAgcmVtb3ZlKGl0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVLCB0eXBlbmFtZSBWPgotICAgIGlubGlu
ZSBhdXRvIEhhc2hTZXQ8VCwgVSwgVj46OnRha2UoY29uc3QgVmFsdWVUeXBlJiB2YWx1ZSkgLT4g
VmFsdWVUeXBlCisgICAgaW5saW5lIGF1dG8gSGFzaFNldDxULCBVLCBWPjo6dGFrZShjb25zdCBW
YWx1ZVR5cGUmIHZhbHVlKSAtPiBUYWtlVHlwZQogICAgIHsKICAgICAgICAgcmV0dXJuIHRha2Uo
ZmluZCh2YWx1ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1l
IFUsIHR5cGVuYW1lIFY+Ci0gICAgaW5saW5lIGF1dG8gSGFzaFNldDxULCBVLCBWPjo6dGFrZUFu
eSgpIC0+IFZhbHVlVHlwZQorICAgIGlubGluZSBhdXRvIEhhc2hTZXQ8VCwgVSwgVj46OnRha2VB
bnkoKSAtPiBUYWtlVHlwZQogICAgIHsKICAgICAgICAgcmV0dXJuIHRha2UoYmVnaW4oKSk7CiAg
ICAgfQpAQCAtMzE0LDcgKzMxNSw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cz4K
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWPgotICAgIGlubGluZSBhdXRvIEhhc2hTZXQ8VmFsdWUs
IEhhc2hGdW5jdGlvbnMsIFRyYWl0cz46OnRha2UodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQ
dHJUeXBlIHZhbHVlKSAtPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2
YWx1ZSwgVmFsdWVUeXBlPjo6dHlwZQorICAgIGlubGluZSBhdXRvIEhhc2hTZXQ8VmFsdWUsIEhh
c2hGdW5jdGlvbnMsIFRyYWl0cz46OnRha2UodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJU
eXBlIHZhbHVlKSAtPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1
ZSwgVGFrZVR5cGU+Ojp0eXBlCiAgICAgewogICAgICAgICByZXR1cm4gdGFrZShmaW5kKHZhbHVl
KSk7CiAgICAgfQpJbmRleDogU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaAkocmV2aXNpb24gMjAyMDk0KQorKysgU291
cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwxMCArMjEsMTEg
QEAKICNpZm5kZWYgV1RGX0hhc2hUcmFpdHNfaAogI2RlZmluZSBXVEZfSGFzaFRyYWl0c19oCiAK
KyNpbmNsdWRlIDxsaW1pdHM+CisjaW5jbHVkZSA8dXRpbGl0eT4KICNpbmNsdWRlIDx3dGYvSGFz
aEZ1bmN0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KLSNpbmNsdWRlIDx1dGlsaXR5PgotI2luY2x1ZGUgPGxpbWl0cz4KIAog
bmFtZXNwYWNlIFdURiB7CiAKQEAgLTQzLDEyICs0NCw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBHZW5lcmljSGFzaFQKICAgICAvLyBmb3IgY2FzZXMgbGlrZSBTdHJpbmcgdGhhdCBu
ZWVkIHRoZW0uCiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzSXNFbXB0eVZhbHVlRnVuY3Rpb24g
PSBmYWxzZTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUsIHR5cGVuYW1lIFY+IAotICAgIHN0
YXRpYyB2b2lkIGFzc2lnblRvRW1wdHkoVSYgZW1wdHlWYWx1ZSwgViYmIHZhbHVlKQotICAgIHsg
Ci0gICAgICAgIGVtcHR5VmFsdWUgPSBzdGQ6OmZvcndhcmQ8Vj4odmFsdWUpOwotICAgIH0KLQog
ICAgIC8vIFRoZSBzdGFydGluZyB0YWJsZSBzaXplLiBDYW4gYmUgb3ZlcnJpZGRlbiB3aGVuIHdl
IGtub3cgYmVmb3JlaGFuZCB0aGF0CiAgICAgLy8gYSBoYXNoIHRhYmxlIHdpbGwgaGF2ZSBhdCBs
ZWFzdCBOIGVudHJpZXMuCiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1UYWJsZVNp
emUgPSA4OwpAQCAtNjcsOSArNjIsMTggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IEdl
bmVyaWNIYXNoVAogCiAgICAgc3RhdGljIFQgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIFQoKTsgfQog
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVSwgdHlwZW5hbWUgVj4gCisgICAgc3RhdGljIHZvaWQg
YXNzaWduVG9FbXB0eShVJiBlbXB0eVZhbHVlLCBWJiYgdmFsdWUpCisgICAgeyAKKyAgICAgICAg
ZW1wdHlWYWx1ZSA9IHN0ZDo6Zm9yd2FyZDxWPih2YWx1ZSk7CisgICAgfQorCiAgICAgLy8gVHlw
ZSBmb3IgcmV0dXJuIHZhbHVlIG9mIGZ1bmN0aW9ucyB0aGF0IGRvIG5vdCB0cmFuc2ZlciBvd25l
cnNoaXAsIHN1Y2ggYXMgZ2V0LgogICAgIHR5cGVkZWYgVCBQZWVrVHlwZTsKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBVPiBzdGF0aWMgVSYmIHBlZWsoVSYmIHZhbHVlKSB7IHJldHVybiBzdGQ6OmZv
cndhcmQ8VT4odmFsdWUpOyB9CisKKyAgICB0eXBlZGVmIFQgVGFrZVR5cGU7CisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVT4gc3RhdGljIFRha2VUeXBlIHRha2UoVSYmIHZhbHVlKSB7IHJldHVybiBz
dGQ6OmZvcndhcmQ8VT4odmFsdWUpOyB9CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1
Y3QgSGFzaFRyYWl0cyA6IEdlbmVyaWNIYXNoVHJhaXRzPFQ+IHsgfTsKQEAgLTE3MywyOCArMTc3
LDE5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBIYXNoVHJhaXRzPFIKIAogdGVtcGxh
dGU8dHlwZW5hbWUgUD4gc3RydWN0IEhhc2hUcmFpdHM8UmVmPFA+PiA6IFNpbXBsZUNsYXNzSGFz
aFRyYWl0czxSZWY8UD4+IHsKICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJv
ID0gdHJ1ZTsKLSAgICBzdGF0aWMgUmVmPFA+IGVtcHR5VmFsdWUoKSB7IHJldHVybiBSZWY8UD4o
SGFzaFRhYmxlRW1wdHlWYWx1ZSk7IH0KKyAgICBzdGF0aWMgUmVmPFA+IGVtcHR5VmFsdWUoKSB7
IHJldHVybiBIYXNoVGFibGVFbXB0eVZhbHVlOyB9CiAKICAgICBzdGF0aWMgY29uc3QgYm9vbCBo
YXNJc0VtcHR5VmFsdWVGdW5jdGlvbiA9IHRydWU7CiAgICAgc3RhdGljIGJvb2wgaXNFbXB0eVZh
bHVlKGNvbnN0IFJlZjxQPiYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLmlzSGFzaFRhYmxlRW1wdHlW
YWx1ZSgpOyB9CiAKLSAgICBzdGF0aWMgdm9pZCBhc3NpZ25Ub0VtcHR5KFJlZjxQPiYgZW1wdHlW
YWx1ZSwgUmVmPFA+JiYgbmV3VmFsdWUpCi0gICAgewotICAgICAgICBBU1NFUlQoaXNFbXB0eVZh
bHVlKGVtcHR5VmFsdWUpKTsKLSAgICAgICAgZW1wdHlWYWx1ZS5hc3NpZ25Ub0hhc2hUYWJsZUVt
cHR5VmFsdWUoV1RGTW92ZShuZXdWYWx1ZSkpOwotICAgIH0KKyAgICBzdGF0aWMgdm9pZCBhc3Np
Z25Ub0VtcHR5KFJlZjxQPiYgZW1wdHlWYWx1ZSwgUmVmPFA+JiYgbmV3VmFsdWUpIHsgQVNTRVJU
KGlzRW1wdHlWYWx1ZShlbXB0eVZhbHVlKSk7IGVtcHR5VmFsdWUuYXNzaWduVG9IYXNoVGFibGVF
bXB0eVZhbHVlKFdURk1vdmUobmV3VmFsdWUpKTsgfQogCiAgICAgdHlwZWRlZiBQKiBQZWVrVHlw
ZTsKLSAgICBzdGF0aWMgUGVla1R5cGUgcGVlayhjb25zdCBSZWY8UD4mIHZhbHVlKSB7IHJldHVy
biBjb25zdF9jYXN0PFBlZWtUeXBlPih2YWx1ZS5wdHIoKSk7IH0KKyAgICBzdGF0aWMgUGVla1R5
cGUgcGVlayhjb25zdCBSZWY8UD4mIHZhbHVlKSB7IHJldHVybiBjb25zdF9jYXN0PFBlZWtUeXBl
Pih2YWx1ZS5wdHJBbGxvd2luZ0hhc2hUYWJsZUVtcHR5VmFsdWUoKSk7IH0KICAgICBzdGF0aWMg
UGVla1R5cGUgcGVlayhQKiB2YWx1ZSkgeyByZXR1cm4gdmFsdWU7IH0KIAotICAgIHN0YXRpYyB2
b2lkIGN1c3RvbURlbGV0ZUJ1Y2tldChSZWY8UD4mIHZhbHVlKQotICAgIHsKLSAgICAgICAgLy8g
U2VlIHVuaXF1ZV9wdHIncyBjdXN0b21EZWxldGVCdWNrZXQoKSBmb3IgYW4gZXhwbGFuYXRpb24u
Ci0gICAgICAgIEFTU0VSVCghU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFJlZjxQPj46OmlzRGVsZXRl
ZFZhbHVlKHZhbHVlKSk7Ci0gICAgICAgIGF1dG8gdmFsdWVUb0JlRGVzdHJveWVkID0gV1RGTW92
ZSh2YWx1ZSk7Ci0gICAgICAgIFNpbXBsZUNsYXNzSGFzaFRyYWl0czxSZWY8UD4+Ojpjb25zdHJ1
Y3REZWxldGVkVmFsdWUodmFsdWUpOwotICAgIH0KKyAgICB0eXBlZGVmIE9wdGlvbmFsPFJlZjxQ
Pj4gVGFrZVR5cGU7CisgICAgc3RhdGljIFRha2VUeXBlIHRha2UoUmVmPFA+JiYgdmFsdWUpIHsg
cmV0dXJuIGlzRW1wdHlWYWx1ZSh2YWx1ZSkgPyBOdWxsb3B0IDogT3B0aW9uYWw8UmVmPFA+PihX
VEZNb3ZlKHZhbHVlKSk7IH0KIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8U3Ry
aW5nPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxTdHJpbmc+IHsKSW5kZXg6IFNvdXJjZS9XVEYv
d3RmL1JlZi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1JlZi5oCShyZXZpc2lvbiAy
MDIwOTQpCisrKyBTb3VyY2UvV1RGL3d0Zi9SZWYuaAkod29ya2luZyBjb3B5KQpAQCAtMTIzLDYg
KzEyMyw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzSGFzaFRhYmxlRW1wdHlWYWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fcHRyID09IGhhc2hUYWJsZUVtcHR5VmFsdWUoKTsgfQogICAgIHN0YXRpYyBU
KiBoYXNoVGFibGVFbXB0eVZhbHVlKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCisgICAgY29uc3Qg
VCogcHRyQWxsb3dpbmdIYXNoVGFibGVFbXB0eVZhbHVlKCkgY29uc3QgeyBBU1NFUlQobV9wdHIg
fHwgaXNIYXNoVGFibGVFbXB0eVZhbHVlKCkpOyByZXR1cm4gbV9wdHI7IH0KKyAgICBUKiBwdHJB
bGxvd2luZ0hhc2hUYWJsZUVtcHR5VmFsdWUoKSB7IEFTU0VSVChtX3B0ciB8fCBpc0hhc2hUYWJs
ZUVtcHR5VmFsdWUoKSk7IHJldHVybiBtX3B0cjsgfQorCiAgICAgdm9pZCBhc3NpZ25Ub0hhc2hU
YWJsZUVtcHR5VmFsdWUoUmVmJiYgcmVmZXJlbmNlKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1f
cHRyID09IGhhc2hUYWJsZUVtcHR5VmFsdWUoKSk7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDIwOTUpCisrKyBUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wNi0xNSAgU2Ft
IFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIEltcHJvdmUgSGFzaE1hcCBhbmQg
SGFzaFNldCBzdXBwb3J0IGZvciBSZWYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1ODc4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaE1hcC5jcHA6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHA6CisgICAgICAgIEFk
ZCBtb3JlIGNhc2VzIHRvIFdURl9IYXNoTWFwLlJlZl9LZXksIFdURl9IYXNoTWFwLlJlZl9WYWx1
ZSBhbmQgV1RGX0hhc2hTZXQuUmVmCisKIDIwMTYtMDYtMTUgIFBlciBBcm5lIFZvbGxhbiAgPHB2
b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dW0NNYWtlXSBDaGFuZ2VzIGluIFdlYktp
dCBvcHRpb25zIGFyZSBub3QgcmVmbGVjdGVkIGluIGluY3JlbWVudGFsIGJ1aWxkcy4KSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hNYXAuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hNYXAuY3BwCShyZXZpc2lvbiAyMDIw
OTQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoTWFwLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODMzLDI1ICs4MzMsNDIgQEAgVEVTVChXVEZfSGFzaE1hcCwgUmVmX1ZhbHVl
KQogICAgICAgICBSZWY8UmVmTG9nZ2VyPiByZWYoYSk7CiAgICAgICAgIG1hcC5hZGQoMSwgV1RG
TW92ZShyZWYpKTsKICAgICAgICAgCi0gICAgICAgIEFTU0VSVF9FUShtYXAuZ2V0KDEpLCAmYSk7
CisgICAgICAgIGF1dG8gYUdldCA9IG1hcC5nZXQoMSk7CisgICAgICAgIEFTU0VSVF9FUShhR2V0
LCAmYSk7CiAgICAgfQogCiAgICAgQVNTRVJUX1NUUkVRKCJyZWYoYSkgZGVyZWYoYSkgIiwgdGFr
ZUxvZ1N0cigpLmNfc3RyKCkpOwogCiAgICAgewogICAgICAgICBIYXNoTWFwPGludCwgUmVmPFJl
ZkxvZ2dlcj4+IG1hcDsKKyAgICAgICAgCisgICAgICAgIGF1dG8gZW1wdHlHZXQgPSBtYXAuZ2V0
KDEpOworICAgICAgICBBU1NFUlRfVFJVRShlbXB0eUdldCA9PSBudWxscHRyKTsKKyAgICB9CisK
KyAgICB7CisgICAgICAgIEhhc2hNYXA8aW50LCBSZWY8UmVmTG9nZ2VyPj4gbWFwOwogCiAgICAg
ICAgIFJlZkxvZ2dlciBhKCJhIik7CiAgICAgICAgIFJlZjxSZWZMb2dnZXI+IHJlZihhKTsKICAg
ICAgICAgbWFwLmFkZCgxLCBXVEZNb3ZlKHJlZikpOwogICAgICAgICAKLSAgICAgICAgUmVmPFJl
ZkxvZ2dlcj4gYU91dCA9IG1hcC50YWtlKDEpOworICAgICAgICBhdXRvIGFPdXQgPSBtYXAudGFr
ZSgxKTsKKyAgICAgICAgQVNTRVJUX1RSVUUoc3RhdGljX2Nhc3Q8Ym9vbD4oYU91dCkpOworICAg
ICAgICBBU1NFUlRfRVEoJmEsIGFPdXQudmFsdWUoKS5wdHIoKSk7CiAgICAgfQogCiAgICAgQVNT
RVJUX1NUUkVRKCJyZWYoYSkgZGVyZWYoYSkgIiwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOwogCiAg
ICAgewogICAgICAgICBIYXNoTWFwPGludCwgUmVmPFJlZkxvZ2dlcj4+IG1hcDsKKyAgICAgICAg
CisgICAgICAgIGF1dG8gZW1wdHlUYWtlID0gbWFwLnRha2UoMSk7CisgICAgICAgIEFTU0VSVF9G
QUxTRShzdGF0aWNfY2FzdDxib29sPihlbXB0eVRha2UpKTsKKyAgICB9CisKKyAgICB7CisgICAg
ICAgIEhhc2hNYXA8aW50LCBSZWY8UmVmTG9nZ2VyPj4gbWFwOwogCiAgICAgICAgIFJlZkxvZ2dl
ciBhKCJhIik7CiAgICAgICAgIFJlZjxSZWZMb2dnZXI+IHJlZihhKTsKSW5kZXg6IFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3BwCShyZXZpc2lvbiAyMDIwOTQpCisrKyBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoU2V0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzg4LDYgKzM4OCw0MCBAQCBURVNUKFdURl9IYXNoU2V0LCBSZWYpCiAgICAgICAgIFJlZkxv
Z2dlciBhKCJhIik7CiAgICAgICAgIFJlZjxSZWZMb2dnZXI+IHJlZihhKTsKICAgICAgICAgc2V0
LmFkZChXVEZNb3ZlKHJlZikpOworCisgICAgICAgIGF1dG8gYU91dCA9IHNldC50YWtlKCZhKTsK
KyAgICAgICAgQVNTRVJUX1RSVUUoc3RhdGljX2Nhc3Q8Ym9vbD4oYU91dCkpOworICAgICAgICBB
U1NFUlRfRVEoJmEsIGFPdXQudmFsdWUoKS5wdHIoKSk7CisgICAgfQorCisgICAgQVNTRVJUX1NU
UkVRKCJyZWYoYSkgZGVyZWYoYSkgIiwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworCisgICAgewor
ICAgICAgICBIYXNoU2V0PFJlZjxSZWZMb2dnZXI+PiBzZXQ7CisKKyAgICAgICAgUmVmTG9nZ2Vy
IGEoImEiKTsKKyAgICAgICAgUmVmPFJlZkxvZ2dlcj4gcmVmKGEpOworICAgICAgICBzZXQuYWRk
KFdURk1vdmUocmVmKSk7CisKKyAgICAgICAgYXV0byBhT3V0ID0gc2V0LnRha2VBbnkoKTsKKyAg
ICAgICAgQVNTRVJUX1RSVUUoc3RhdGljX2Nhc3Q8Ym9vbD4oYU91dCkpOworICAgICAgICBBU1NF
UlRfRVEoJmEsIGFPdXQudmFsdWUoKS5wdHIoKSk7CisgICAgfQorCisgICAgQVNTRVJUX1NUUkVR
KCJyZWYoYSkgZGVyZWYoYSkgIiwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworCisgICAgeworICAg
ICAgICBIYXNoU2V0PFJlZjxSZWZMb2dnZXI+PiBzZXQ7CisgICAgICAgIGF1dG8gZW1wdHlUYWtl
ID0gc2V0LnRha2VBbnkoKTsKKyAgICAgICAgQVNTRVJUX0ZBTFNFKHN0YXRpY19jYXN0PGJvb2w+
KGVtcHR5VGFrZSkpOworICAgIH0KKworICAgIHsKKyAgICAgICAgSGFzaFNldDxSZWY8UmVmTG9n
Z2VyPj4gc2V0OworCisgICAgICAgIFJlZkxvZ2dlciBhKCJhIik7CisgICAgICAgIFJlZjxSZWZM
b2dnZXI+IHJlZihhKTsKKyAgICAgICAgc2V0LmFkZChXVEZNb3ZlKHJlZikpOwogICAgICAgICAK
ICAgICAgICAgQVNTRVJUX1RSVUUoc2V0LmNvbnRhaW5zKCZhKSk7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>