<?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>157723</bug_id>
          
          <creation_ts>2016-05-15 02:16:15 -0700</creation_ts>
          <short_desc>RegExp /y flag incorrect handling of mixed-length alternation</short_desc>
          <delta_ts>2016-05-16 22:36:53 -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>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>OS X 10.11</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="Steven Levithan">steves_list</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mathias</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1193197</commentid>
    <comment_count>0</comment_count>
    <who name="Steven Levithan">steves_list</who>
    <bug_when>2016-05-15 02:16:15 -0700</bug_when>
    <thetext>This issue broke the XRegExp library. I&apos;ve added a workaround in XRegExp 3.1.1 -- see &lt;https://github.com/slevithan/xregexp/issues/135&gt;.

Safari Technology Preview v9.1.1 has a bug in its handling of the ES 2015 RegExp /y flag. Here is some test output, with the last example showing the bug:

```
/a|b/y.test(&apos;a&apos;); // -&gt; true
/a|b/y.test(&apos;b&apos;); // -&gt; true
/b|a/y.test(&apos;a&apos;); // -&gt; true
/b|a/y.test(&apos;b&apos;); // -&gt; true
/aa|bb/y.test(&apos;aa&apos;); // -&gt; true
/aa|bb/y.test(&apos;bb&apos;); // -&gt; true
/bb|aa/y.test(&apos;aa&apos;); // -&gt; true
/bb|aa/y.test(&apos;bb&apos;); // -&gt; true
/a|bb/y.test(&apos;a&apos;); // -&gt; true
/a|bb/y.test(&apos;bb&apos;); // -&gt; true
/bb|a/y.test(&apos;bb&apos;); // -&gt; true
/bb|a/y.test(&apos;a&apos;); // -&gt; false [should be true]
```

It seems that if a regex with flag y evaluates a path within a regex with more than 1 character, it advances its internal lastIndex that the y flag is anchored to, and does not reset this position when the alternative fails and another path in the regex with fewer characters to match is tried. Or something along those lines.

Safari 9.1 does not have this issue, since 9.1.1 is the first version to support /y. Also, no other current browser that supports /y (Edge, Firefox, Chrome, Opera) has this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193207</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-05-15 07:01:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/26289787&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193335</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-05-15 22:07:46 -0700</bug_when>
    <thetext>The problem is in the YARR JIT, the interpreter works fine.

Seems that the existing alternative backtracking code for dissimilar alternative sizes was bailing for sticky mode.  There was code we didn&apos;t emit for sticky patterns.  Have a patch in the works that emits the code to properly back track for dissimilar alternatives, but it still doesn&apos;t advance to try the next index.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193378</commentid>
    <comment_count>3</comment_count>
      <attachid>279017</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-05-16 07:44:54 -0700</bug_when>
    <thetext>Created attachment 279017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193404</commentid>
    <comment_count>4</comment_count>
      <attachid>279017</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-05-16 10:18:54 -0700</bug_when>
    <thetext>Comment on attachment 279017
Patch

r=filip</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193410</commentid>
    <comment_count>5</comment_count>
      <attachid>279017</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-05-16 10:34:39 -0700</bug_when>
    <thetext>Comment on attachment 279017
Patch

Going to commit manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193413</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-05-16 10:39:20 -0700</bug_when>
    <thetext>Committed r200946: &lt;http://trac.webkit.org/changeset/200946&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193414</commentid>
    <comment_count>7</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2016-05-16 10:40:33 -0700</bug_when>
    <thetext>…That was quick. Thanks, Michael!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193746</commentid>
    <comment_count>8</comment_count>
    <who name="Steven Levithan">steves_list</who>
    <bug_when>2016-05-16 22:36:53 -0700</bug_when>
    <thetext>Thanks for the fast fix! Glad this won&apos;t make it to a stable browser and make adoption of /y harder.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279017</attachid>
            <date>2016-05-16 07:44:54 -0700</date>
            <delta_ts>2016-05-16 10:34:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>157723.patch</filename>
            <type>text/plain</type>
            <size>11047</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjAwOTM3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDE2LTA1LTE1ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlZ0V4cCAveSBmbGFnIGluY29ycmVjdCBoYW5kbGluZyBvZiBtaXhlZC1sZW5ndGggYWx0
ZXJuYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1NzcyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFByZXZpb3VzbHkgZm9yIHN0aWNreSBwYXR0ZXJucywgd2Ugd2VyZSBiYWlsaW5nIG91dCBhbmQg
ZXhpdGluZyB3aGVuIGJhY2t0cmFja2luZworICAgICAgICBhbHRlcm5hdGl2ZXMgd2l0aCBkaXNz
aW1pbGFyIG1hdGNoIGxlbmd0aHMuICBEZWxldGVkIHRoYXQgY29kZS4gIEluc3RlYWQsIGZvcgor
ICAgICAgICBzdGlja3kgcGF0dGVybnMgd2UgbmVlZCB0byBwcm9jZXNzIHRoZSBiYWNrdHJhY2tp
bmcgZXhjZXB0IGZvciBhZHZhbmNpbmcgdG8gdGhlCisgICAgICAgIG5leHQgaW5wdXQgaW5kZXgu
CisKKyAgICAgICAgKiB5YXJyL1lhcnJKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpZYXJy
R2VuZXJhdG9yOjpiYWNrdHJhY2spOgorCiAyMDE2LTA1LTE1ICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHOjpQbGFuIHNob3VsZG4ndCByZWFkIGZyb20gaXRz
IFZNIG9uY2UgaXQncyBiZWVuIGNhbmNlbGxlZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3lhcnIvWWFyckpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3lh
cnIvWWFyckpJVC5jcHAJKHJldmlzaW9uIDIwMDkyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS95YXJyL1lhcnJKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODg4LDIwICsxODg4LDYgQEAg
Y2xhc3MgWWFyckdlbmVyYXRvciA6IHByaXZhdGUgTWFjcm9Bc3NlbQogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgaWYgKG1fcGF0dGVy
bi5zdGlja3koKSkgewotICAgICAgICAgICAgICAgICAgICAvLyBXZSBoYXZlIGZhaWxlZCBtYXRj
aGluZyBmcm9tIHRoZSBpbml0aWFsIGluZGV4IGFuZCB3ZSdyZSBhIHN0aWNreSBleHByZXNzaW9u
LgotICAgICAgICAgICAgICAgICAgICAvLyBXZSBhcmUgZG9uZSBtYXRjaGluZy4gTGluayBmYWls
dXJlcyBmb3IgYW55IHJlYXNvbiB0byBoZXJlLgotICAgICAgICAgICAgICAgICAgICBZYXJyT3Aq
IHRlbXBPcCA9IGJlZ2luT3A7Ci0gICAgICAgICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHRlbXBPcC0+bV9qdW1wcy5saW5rKHRoaXMpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgdGVtcE9wID0gJm1fb3BzW3RlbXBPcC0+bV9uZXh0T3BdOwotICAgICAgICAgICAg
ICAgICAgICB9IHdoaWxlICh0ZW1wT3AtPm1fb3AgIT0gT3BCb2R5QWx0ZXJuYXRpdmVFbmQpOwot
Ci0gICAgICAgICAgICAgICAgICAgIHJlbW92ZUNhbGxGcmFtZSgpOwotICAgICAgICAgICAgICAg
ICAgICBnZW5lcmF0ZUZhaWxSZXR1cm4oKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgfQotCiAgICAgICAgICAgICAgICAgLy8gV2UgY2FuIHJlYWNoIHRoaXMg
cG9pbnQgaW4gdGhlIGNvZGUgaW4gdHdvIHdheXM6CiAgICAgICAgICAgICAgICAgLy8gIC0gRmFs
bHRocm91Z2ggZnJvbSB0aGUgY29kZSBhYm92ZSAoYSByZXBlYXRpbmcgYWx0ZXJuYXRpdmUgYmFj
a3RyYWNrZWQgb3V0IG9mIGl0cwogICAgICAgICAgICAgICAgIC8vICAgIGxhc3QgYWx0ZXJuYXRp
dmUsIGFuZCBkaWQgbm90IGhhdmUgc3VmZmljZW50IGlucHV0IHRvIHJ1biB0aGUgZmlyc3QpLgpA
QCAtMTk2NSw1MiArMTk1MSw1MyBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNy
b0Fzc2VtCiAgICAgICAgICAgICAgICAgICAgIG5lZWRzVG9VcGRhdGVNYXRjaFN0YXJ0ID0gZmFs
c2U7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhl
ciB0aGVyZSBpcyBzdWZmaWNpZW50IGlucHV0IHRvIGxvb3AuIEluY3JlbWVudCB0aGUgaW5wdXQg
cG9zaXRpb24gYnkKLSAgICAgICAgICAgICAgICAvLyBvbmUsIGFuZCBjaGVjay4gQWxzbyBhZGQg
aW4gdGhlIG1pbmltdW0gZGlzanVuY3Rpb24gc2l6ZSBiZWZvcmUgY2hlY2tpbmcgLSB0aGVyZQot
ICAgICAgICAgICAgICAgIC8vIGlzIG5vIHBvaW50IGluIGxvb3BpbmcgaWYgd2UncmUganVzdCBn
b2luZyB0byBmYWlsIGFsbCB0aGUgaW5wdXQgY2hlY2tzIGFyb3VuZAotICAgICAgICAgICAgICAg
IC8vIHRoZSBuZXh0IGl0ZXJhdGlvbi4KLSAgICAgICAgICAgICAgICBBU1NFUlQoYWx0ZXJuYXRp
dmUtPm1fbWluaW11bVNpemUgPj0gbV9wYXR0ZXJuLm1fYm9keS0+bV9taW5pbXVtU2l6ZSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKGFsdGVybmF0aXZlLT5tX21pbmltdW1TaXplID09IG1fcGF0dGVy
bi5tX2JvZHktPm1fbWluaW11bVNpemUpIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhl
IGxhc3QgYWx0ZXJuYXRpdmUgaGFkIHRoZSBzYW1lIG1pbmltdW0gc2l6ZSBhcyB0aGUgZGlzanVu
Y3Rpb24sCi0gICAgICAgICAgICAgICAgICAgIC8vIGp1c3Qgc2ltcGx5IGluY3JlbWVudCBpbnB1
dCBwb3MgYnkgMSwgbm8gYWRqdXN0bWVudCBiYXNlZCBvbiBtaW5pbXVtIHNpemUuCi0gICAgICAg
ICAgICAgICAgICAgIGFkZDMyKFRydXN0ZWRJbW0zMigxKSwgaW5kZXgpOwotICAgICAgICAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBtaW51bXVtIGZvciB0
aGUgbGFzdCBhbHRlcm5hdGl2ZSB3YXMgb25lIGdyZWF0ZXIgdGhhbiB0aGFuIHRoYXQKLSAgICAg
ICAgICAgICAgICAgICAgLy8gZm9yIHRoZSBkaXNqdW5jdGlvbiwgd2UncmUgYWxyZWFkeSBwcm9n
cmVzc2VkIGJ5IDEsIG5vdGhpbmcgdG8gZG8hCi0gICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGRlbHRhID0gKGFsdGVybmF0aXZlLT5tX21pbmltdW1TaXplIC0gbV9wYXR0ZXJuLm1fYm9keS0+
bV9taW5pbXVtU2l6ZSkgLSAxOwotICAgICAgICAgICAgICAgICAgICBpZiAoZGVsdGEpCi0gICAg
ICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihkZWx0YSksIGluZGV4KTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgSnVtcCBtYXRjaEZhaWxlZCA9IGp1bXBJZk5vQXZh
aWxhYmxlSW5wdXQoKTsKKyAgICAgICAgICAgICAgICBpZiAoIW1fcGF0dGVybi5zdGlja3koKSkg
eworICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZXJlIGlzIHN1ZmZpY2ll
bnQgaW5wdXQgdG8gbG9vcC4gSW5jcmVtZW50IHRoZSBpbnB1dCBwb3NpdGlvbiBieQorICAgICAg
ICAgICAgICAgICAgICAvLyBvbmUsIGFuZCBjaGVjay4gQWxzbyBhZGQgaW4gdGhlIG1pbmltdW0g
ZGlzanVuY3Rpb24gc2l6ZSBiZWZvcmUgY2hlY2tpbmcgLSB0aGVyZQorICAgICAgICAgICAgICAg
ICAgICAvLyBpcyBubyBwb2ludCBpbiBsb29waW5nIGlmIHdlJ3JlIGp1c3QgZ29pbmcgdG8gZmFp
bCBhbGwgdGhlIGlucHV0IGNoZWNrcyBhcm91bmQKKyAgICAgICAgICAgICAgICAgICAgLy8gdGhl
IG5leHQgaXRlcmF0aW9uLgorICAgICAgICAgICAgICAgICAgICBBU1NFUlQoYWx0ZXJuYXRpdmUt
Pm1fbWluaW11bVNpemUgPj0gbV9wYXR0ZXJuLm1fYm9keS0+bV9taW5pbXVtU2l6ZSk7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChhbHRlcm5hdGl2ZS0+bV9taW5pbXVtU2l6ZSA9PSBtX3BhdHRl
cm4ubV9ib2R5LT5tX21pbmltdW1TaXplKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBJ
ZiB0aGUgbGFzdCBhbHRlcm5hdGl2ZSBoYWQgdGhlIHNhbWUgbWluaW11bSBzaXplIGFzIHRoZSBk
aXNqdW5jdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGp1c3Qgc2ltcGx5IGluY3Jl
bWVudCBpbnB1dCBwb3MgYnkgMSwgbm8gYWRqdXN0bWVudCBiYXNlZCBvbiBtaW5pbXVtIHNpemUu
CisgICAgICAgICAgICAgICAgICAgICAgICBhZGQzMihUcnVzdGVkSW1tMzIoMSksIGluZGV4KTsK
KyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8v
IElmIHRoZSBtaW51bXVtIGZvciB0aGUgbGFzdCBhbHRlcm5hdGl2ZSB3YXMgb25lIGdyZWF0ZXIg
dGhhbiB0aGFuIHRoYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvciB0aGUgZGlzanVu
Y3Rpb24sIHdlJ3JlIGFscmVhZHkgcHJvZ3Jlc3NlZCBieSAxLCBub3RoaW5nIHRvIGRvIQorICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgZGVsdGEgPSAoYWx0ZXJuYXRpdmUtPm1fbWlu
aW11bVNpemUgLSBtX3BhdHRlcm4ubV9ib2R5LT5tX21pbmltdW1TaXplKSAtIDE7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoZGVsdGEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3ViMzIoSW1tMzIoZGVsdGEpLCBpbmRleCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgSnVtcCBtYXRjaEZhaWxlZCA9IGp1bXBJZk5vQXZhaWxhYmxlSW5wdXQo
KTsKIAotICAgICAgICAgICAgICAgIGlmIChuZWVkc1RvVXBkYXRlTWF0Y2hTdGFydCkgewotICAg
ICAgICAgICAgICAgICAgICBpZiAoIW1fcGF0dGVybi5tX2JvZHktPm1fbWluaW11bVNpemUpCi0g
ICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXRjaFN0YXJ0KGluZGV4KTsKLSAgICAgICAgICAg
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlKGluZGV4LCByZWdU
MCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdWIzMihJbW0zMihtX3BhdHRlcm4ubV9ib2R5
LT5tX21pbmltdW1TaXplKSwgcmVnVDApOwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0
Y2hTdGFydChyZWdUMCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChuZWVkc1RvVXBkYXRlTWF0
Y2hTdGFydCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX3BhdHRlcm4ubV9ib2R5
LT5tX21pbmltdW1TaXplKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1hdGNoU3Rh
cnQoaW5kZXgpOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbW92ZShpbmRleCwgcmVnVDApOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN1YjMyKEltbTMyKG1fcGF0dGVybi5tX2JvZHktPm1fbWluaW11bVNpemUpLCByZWdU
MCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWF0Y2hTdGFydChyZWdUMCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgaG93IG11Y2ggbW9yZSBp
bnB1dCB0aGUgZmlyc3QgYWx0ZXJuYXRpdmUgcmVxdWlyZXMgdGhhbiB0aGUgbWluaW11bQotICAg
ICAgICAgICAgICAgIC8vIGZvciB0aGUgYm9keSBhcyBhIHdob2xlLiBJZiBubyBtb3JlIGlzIG5l
ZWRlZCB0aGVuIHdlIGRvbnQgbmVlZCBhbiBhZGRpdGlvbmFsCi0gICAgICAgICAgICAgICAgLy8g
aW5wdXQgY2hlY2sgaGVyZSAtIGp1bXAgc3RyYWlnaHQgYmFjayB1cCB0byB0aGUgc3RhcnQgb2Yg
dGhlIGZpcnN0IGFsdGVybmF0aXZlLgotICAgICAgICAgICAgICAgIGlmIChiZWdpbk9wLT5tX2Fs
dGVybmF0aXZlLT5tX21pbmltdW1TaXplID09IG1fcGF0dGVybi5tX2JvZHktPm1fbWluaW11bVNp
emUpCi0gICAgICAgICAgICAgICAgICAgIGp1bXAoYmVnaW5PcC0+bV9yZWVudHJ5KTsKLSAgICAg
ICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGJlZ2luT3AtPm1fYWx0
ZXJuYXRpdmUtPm1fbWluaW11bVNpemUgPiBtX3BhdHRlcm4ubV9ib2R5LT5tX21pbmltdW1TaXpl
KQotICAgICAgICAgICAgICAgICAgICAgICAgYWRkMzIoSW1tMzIoYmVnaW5PcC0+bV9hbHRlcm5h
dGl2ZS0+bV9taW5pbXVtU2l6ZSAtIG1fcGF0dGVybi5tX2JvZHktPm1fbWluaW11bVNpemUpLCBp
bmRleCk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAg
IHN1YjMyKEltbTMyKG1fcGF0dGVybi5tX2JvZHktPm1fbWluaW11bVNpemUgLSBiZWdpbk9wLT5t
X2FsdGVybmF0aXZlLT5tX21pbmltdW1TaXplKSwgaW5kZXgpOwotICAgICAgICAgICAgICAgICAg
ICBjaGVja0lucHV0KCkubGlua1RvKGJlZ2luT3AtPm1fcmVlbnRyeSwgdGhpcyk7Ci0gICAgICAg
ICAgICAgICAgICAgIGp1bXAoZmlyc3RJbnB1dENoZWNrRmFpbGVkKTsKLSAgICAgICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgICAgICAvLyBXZSBqdW1wIHRvIGhlcmUgaWYgd2UgaXRlcmF0ZSB0
byB0aGUgcG9pbnQgdGhhdCB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgaW5wdXQgdG8KLSAgICAgICAg
ICAgICAgICAvLyBydW4gYW55IG1hdGNoZXMsIGFuZCBuZWVkIHRvIHJldHVybiBhIGZhaWx1cmUg
c3RhdGUgZnJvbSBKSVQgY29kZS4KLSAgICAgICAgICAgICAgICBtYXRjaEZhaWxlZC5saW5rKHRo
aXMpOworICAgICAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgaG93IG11Y2ggbW9yZSBpbnB1
dCB0aGUgZmlyc3QgYWx0ZXJuYXRpdmUgcmVxdWlyZXMgdGhhbiB0aGUgbWluaW11bQorICAgICAg
ICAgICAgICAgICAgICAvLyBmb3IgdGhlIGJvZHkgYXMgYSB3aG9sZS4gSWYgbm8gbW9yZSBpcyBu
ZWVkZWQgdGhlbiB3ZSBkb250IG5lZWQgYW4gYWRkaXRpb25hbAorICAgICAgICAgICAgICAgICAg
ICAvLyBpbnB1dCBjaGVjayBoZXJlIC0ganVtcCBzdHJhaWdodCBiYWNrIHVwIHRvIHRoZSBzdGFy
dCBvZiB0aGUgZmlyc3QgYWx0ZXJuYXRpdmUuCisgICAgICAgICAgICAgICAgICAgIGlmIChiZWdp
bk9wLT5tX2FsdGVybmF0aXZlLT5tX21pbmltdW1TaXplID09IG1fcGF0dGVybi5tX2JvZHktPm1f
bWluaW11bVNpemUpCisgICAgICAgICAgICAgICAgICAgICAgICBqdW1wKGJlZ2luT3AtPm1fcmVl
bnRyeSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGJlZ2luT3AtPm1fYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUgPiBtX3BhdHRlcm4u
bV9ib2R5LT5tX21pbmltdW1TaXplKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZDMy
KEltbTMyKGJlZ2luT3AtPm1fYWx0ZXJuYXRpdmUtPm1fbWluaW11bVNpemUgLSBtX3BhdHRlcm4u
bV9ib2R5LT5tX21pbmltdW1TaXplKSwgaW5kZXgpOworICAgICAgICAgICAgICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YjMyKEltbTMyKG1fcGF0dGVybi5t
X2JvZHktPm1fbWluaW11bVNpemUgLSBiZWdpbk9wLT5tX2FsdGVybmF0aXZlLT5tX21pbmltdW1T
aXplKSwgaW5kZXgpOworICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tJbnB1dCgpLmxpbmtU
byhiZWdpbk9wLT5tX3JlZW50cnksIHRoaXMpOworICAgICAgICAgICAgICAgICAgICAgICAganVt
cChmaXJzdElucHV0Q2hlY2tGYWlsZWQpOworICAgICAgICAgICAgICAgICAgICB9CiAKKyAgICAg
ICAgICAgICAgICAgICAgLy8gV2UganVtcCB0byBoZXJlIGlmIHdlIGl0ZXJhdGUgdG8gdGhlIHBv
aW50IHRoYXQgdGhlcmUgaXMgaW5zdWZmaWNpZW50IGlucHV0IHRvCisgICAgICAgICAgICAgICAg
ICAgIC8vIHJ1biBhbnkgbWF0Y2hlcywgYW5kIG5lZWQgdG8gcmV0dXJuIGEgZmFpbHVyZSBzdGF0
ZSBmcm9tIEpJVCBjb2RlLgorICAgICAgICAgICAgICAgICAgICBtYXRjaEZhaWxlZC5saW5rKHRo
aXMpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICByZW1vdmVDYWxsRnJhbWUo
KTsKICAgICAgICAgICAgICAgICBnZW5lcmF0ZUZhaWxSZXR1cm4oKTsKICAgICAgICAgICAgICAg
ICBicmVhazsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMDkyNikKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA1LTE1ICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIFJlZ0V4cCAveSBmbGFnIGlu
Y29ycmVjdCBoYW5kbGluZyBvZiBtaXhlZC1sZW5ndGggYWx0ZXJuYXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzcyMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIGZvciBhbHRl
cm5hdGl2ZXMgd2l0aCBzaG9ydGVyIHRvIGxvbmdlciBsZW5ndGhzLgorCisgICAgICAgICoganMv
cmVnZXhwLXN0aWNreS1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL3Jl
Z2V4cC1zdGlja3kuanM6CisKIDIwMTYtMDUtMTQgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJv
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgTGVnYWN5UHJvZmlsZXIKSW5kZXg6IExheW91
dFRlc3RzL2pzL3JlZ2V4cC1zdGlja3ktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2pzL3JlZ2V4cC1zdGlja3ktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMDA5MjYpCisr
KyBMYXlvdXRUZXN0cy9qcy9yZWdleHAtc3RpY2t5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNiw3ICs2LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QQogUEFTUyBSZXBlYXRpbmcgUGF0dGVybgogUEFTUyBUZXN0IGxhc3RJbmRleCByZXNldHMKIFBB
U1MgSWdub3JlIENhc2UKLVBBU1MgQWx0ZXJuYXRlcworUEFTUyBBbHRlcm5hdGVzLCBkaWZmZXJp
bmcgbGVuZ3RocyBsb25nIHRvIHNob3J0CitQQVNTIEFsdGVybmF0ZXMsIGRpZmZlcmluZyBsZW5n
dGhzIGxvbmcgdG8gc2hvcnQgd2l0aCBtdXRsaXBsZSBtYXRjaGVzIAorUEFTUyBBbHRlcm5hdGVz
LCBkaWZmZXJpbmcgbGVuZ3Rocywgc2hvcnQgdG8gbG9uZwogUEFTUyBCT0wgQW5jaG9yZWQsIHN0
YXJ0aW5nIGF0IDAKIFBBU1MgQk9MIEFuY2hvcmVkLCBzdGFydGluZyBhdCAxCiBQQVNTIEVPTCBB
bmNob3JlZCwgbm90IGF0IEVPTApJbmRleDogTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3Jl
Z2V4cC1zdGlja3kuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L3JlZ2V4cC1zdGlja3kuanMJKHJldmlzaW9uIDIwMDkyNikKKysrIExheW91dFRlc3RzL2pzL3Nj
cmlwdC10ZXN0cy9yZWdleHAtc3RpY2t5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC03Miw3ICs3Miw5
IEBAIGZ1bmN0aW9uIHRlc3RTdGlja3lNYXRjaCh0ZXN0RGVzY3JpcHRpb24KIHRlc3RTdGlja3lF
eGVjKCJSZXBlYXRpbmcgUGF0dGVybiIsIG5ldyBSZWdFeHAoImFiYyIsICJ5IiksICJhYmNhYmNh
YmMiLCAwLCBbImFiYyIsICJhYmMiLCAiYWJjIiwgbnVsbF0pOwogdGVzdFN0aWNreUV4ZWMoIlRl
c3QgbGFzdEluZGV4IHJlc2V0cyIsIC9cZC95LCAiMTIzNDUiLCAwLCBbIjEiLCAiMiIsICIzIiwg
IjQiLCAiNSIsIG51bGwsICIxIiwgIjIiLCAiMyIsICI0IiwgIjUiLCBudWxsXSk7CiB0ZXN0U3Rp
Y2t5RXhlYygiSWdub3JlIENhc2UiLCBuZXcgUmVnRXhwKCJ0ZXN0IiwgIml5IiksICJURVNUdGVz
dFRlc3QiLCAwLCBbIlRFU1QiLCAidGVzdCIsICJUZXN0IiwgbnVsbF0pOwotdGVzdFN0aWNreUV4
ZWMoIkFsdGVybmF0ZXMiLCBuZXcgUmVnRXhwKCJEb2cgfENhdCB8TW91c2UgIiwgInkiKSwgIk1v
dXNlIERvZyBDYXQgIiwgMCwgWyJNb3VzZSAiLCAiRG9nICIsICJDYXQgIiwgbnVsbF0pOwordGVz
dFN0aWNreUV4ZWMoIkFsdGVybmF0ZXMsIGRpZmZlcmluZyBsZW5ndGhzIGxvbmcgdG8gc2hvcnQi
LCBuZXcgUmVnRXhwKCJiYnxhIiwgInkiKSwgImEiLCAwLCBbImEiLCBudWxsXSk7Cit0ZXN0U3Rp
Y2t5RXhlYygiQWx0ZXJuYXRlcywgZGlmZmVyaW5nIGxlbmd0aHMgbG9uZyB0byBzaG9ydCB3aXRo
IG11dGxpcGxlIG1hdGNoZXMgIiwgbmV3IFJlZ0V4cCgiYWJjfGFifGEiLCAieSIpLCAiYWFiYWJj
YWFiY2FiIiwgMCwgWyJhIiwgImFiIiwgImFiYyIsICJhIiwgImFiYyIsICJhYiIsIG51bGxdKTsK
K3Rlc3RTdGlja3lFeGVjKCJBbHRlcm5hdGVzLCBkaWZmZXJpbmcgbGVuZ3Rocywgc2hvcnQgdG8g
bG9uZyIsIG5ldyBSZWdFeHAoIkRvZyB8Q2F0IHxNb3VzZSAiLCAieSIpLCAiTW91c2UgRG9nIENh
dCAiLCAwLCBbIk1vdXNlICIsICJEb2cgIiwgIkNhdCAiLCBudWxsXSk7CiB0ZXN0U3RpY2t5RXhl
YygiQk9MIEFuY2hvcmVkLCBzdGFydGluZyBhdCAwIiwgL15YL3ksICJYWFgiLCAwLCBbIlgiLCBu
dWxsXSk7CiB0ZXN0U3RpY2t5RXhlYygiQk9MIEFuY2hvcmVkLCBzdGFydGluZyBhdCAxIiwgL15Y
L3ksICJYWFgiLCAxLCBbbnVsbCwgIlgiLCBudWxsXSk7CiB0ZXN0U3RpY2t5RXhlYygiRU9MIEFu
Y2hvcmVkLCBub3QgYXQgRU9MIiwgLyMkL3ksICIjIyIsIDAsIFtudWxsXSk7Cg==
</data>
<flag name="review"
          id="303081"
          type_id="1"
          status="+"
          setter="msaboff"
    />
    <flag name="commit-queue"
          id="303088"
          type_id="3"
          status="-"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>