<?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>145115</bug_id>
          
          <creation_ts>2015-05-17 23:34:05 -0700</creation_ts>
          <short_desc>[JSC] Speed up URL encode/decode by using bitmaps instead of strchr().</short_desc>
          <delta_ts>2015-05-20 08:31:27 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Performance</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>145206</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1095554</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-05-17 23:34:05 -0700</bug_when>
    <thetext>Patch a-comin&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095555</commentid>
    <comment_count>1</comment_count>
      <attachid>253304</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-05-17 23:34:43 -0700</bug_when>
    <thetext>Created attachment 253304
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095556</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-17 23:36:51 -0700</bug_when>
    <thetext>Attachment 253304 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:139:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:709:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 2 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095558</commentid>
    <comment_count>3</comment_count>
      <attachid>253305</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-05-18 00:11:23 -0700</bug_when>
    <thetext>Created attachment 253305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095560</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-18 00:14:06 -0700</bug_when>
    <thetext>Attachment 253305 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:139:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:709:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 2 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095634</commentid>
    <comment_count>5</comment_count>
      <attachid>253305</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-18 10:46:50 -0700</bug_when>
    <thetext>Comment on attachment 253305
Patch

Clearing flags on attachment: 253305

Committed r184501: &lt;http://trac.webkit.org/changeset/184501&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095635</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-18 10:46:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095974</commentid>
    <comment_count>7</comment_count>
      <attachid>253305</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-19 09:39:40 -0700</bug_when>
    <thetext>Comment on attachment 253305
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=253305&amp;action=review

&gt; Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:75
&gt; +        if (c &amp;&amp; doNotEscape.get(static_cast&lt;LChar&gt;(c)))

No need for the &quot;c &amp;&amp;&quot; part any more.

&gt; Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:139
&gt; +            if (charLen &amp;&amp; (u == 0 || u &gt;= 128 || !doNotUnescape.get(static_cast&lt;LChar&gt;(u)))) {

No need for the &quot;u == 0 ||&quot; part any more.

&gt; Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:690
&gt; +            if (u &amp;&amp; doNotEscape.get(static_cast&lt;LChar&gt;(u)))

No need for the &quot;u &amp;&amp;&quot; part any more.

&gt; Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:709
&gt; +        } else if (u != 0 &amp;&amp; doNotEscape.get(static_cast&lt;LChar&gt;(u)))

No need for the &quot;u != 0 &amp;&amp;&quot; part any more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096163</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-05-19 21:49:44 -0700</bug_when>
    <thetext>Committed r184613: &lt;http://trac.webkit.org/changeset/184613&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096191</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-19 23:03:05 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 145206</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096236</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-20 08:31:27 -0700</bug_when>
    <thetext>Oops. I guess I was wrong about not needing the null checks. Are nulls somehow not supported or something?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253304</attachid>
            <date>2015-05-17 23:34:43 -0700</date>
            <delta_ts>2015-05-17 23:56:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145115.diff</filename>
            <type>text/plain</type>
            <size>6833</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDZlNjMxNjkuLmIyOGU0ZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA1LTE3ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBTcGVlZCB1cCBVUkwgZW5jb2Rl
L2RlY29kZSBieSB1c2luZyBiaXRtYXBzIGluc3RlYWQgb2Ygc3RyY2hyKCkuCisgICAgICAgIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xNDUxMTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZSBjYWxsaW5nIHN0cmNocigpIGZvciBldmVyeSBj
aGFyYWN0ZXIgd2hlbiBkb2luZyBVUkwgZW5jb2RpbmcvZGVjb2RpbmcgYW5kIGl0IHN0b29kIG91
dAorICAgICAgICBsaWtlIGEgc29yZSBPKG4pIHRodW1iIGluIEluc3RydW1lbnRzLiBPcHRpbWl6
ZSB0aGlzIGJ5IHVzaW5nIGEgQml0bWFwPDI1Nj4gaW5zdGVhZC4KKworICAgICAgICA1LjUlIHBy
b2dyZXNzaW9uIG9uIEtyYWtlbi9zdGFuZm9yZC1jcnlwdG8tc2hhMjU2LWl0ZXJhdGl2ZS4KKwor
ICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAo
SlNDOjptYWtlQ2hhcmFjdGVyQml0bWFwKToKKyAgICAgICAgKEpTQzo6ZW5jb2RlKToKKyAgICAg
ICAgKEpTQzo6ZGVjb2RlKToKKyAgICAgICAgKEpTQzo6Z2xvYmFsRnVuY0RlY29kZVVSSSk6Cisg
ICAgICAgIChKU0M6Omdsb2JhbEZ1bmNEZWNvZGVVUklDb21wb25lbnQpOgorICAgICAgICAoSlND
OjpnbG9iYWxGdW5jRW5jb2RlVVJJKToKKyAgICAgICAgKEpTQzo6Z2xvYmFsRnVuY0VuY29kZVVS
SUNvbXBvbmVudCk6CisgICAgICAgIChKU0M6Omdsb2JhbEZ1bmNFc2NhcGUpOgorCiAyMDE1LTA1
LTE2ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTg0NDE1LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCmluZGV4IDk5
ZDg0ZDQuLjZlZjQwMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKQEAgLTUzLDcgKzUzLDE2IEBAIHVz
aW5nIG5hbWVzcGFjZSBVbmljb2RlOwogCiBuYW1lc3BhY2UgSlNDIHsKIAotc3RhdGljIEpTVmFs
dWUgZW5jb2RlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgY2hhciogZG9Ob3RFc2NhcGUpCit0ZW1w
bGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJzQ291bnQ+CitzdGF0aWMgQml0bWFwPDI1Nj4gbWFrZUNo
YXJhY3RlckJpdG1hcChjb25zdCBjaGFyICgmY2hhcmFjdGVycylbY2hhcmFjdGVyc0NvdW50XSkK
K3sKKyAgICBCaXRtYXA8MjU2PiBiaXRtYXA7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGNoYXJhY3RlcnNDb3VudDsgKytpKQorICAgICAgICBiaXRtYXAuc2V0KGNoYXJhY3RlcnNbaV0p
OworICAgIHJldHVybiBiaXRtYXA7Cit9CisKK3N0YXRpYyBKU1ZhbHVlIGVuY29kZShFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IEJpdG1hcDwyNTY+JiBkb05vdEVzY2FwZSkKIHsKICAgICBDU3RyaW5n
IGNzdHIgPSBleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYykudXRm
OChTdHJpY3RDb252ZXJzaW9uKTsKICAgICBpZiAoIWNzdHIuZGF0YSgpKQpAQCAtNjMsNyArNzIs
NyBAQCBzdGF0aWMgSlNWYWx1ZSBlbmNvZGUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBjaGFyKiBk
b05vdEVzY2FwZSkKICAgICBjb25zdCBjaGFyKiBwID0gY3N0ci5kYXRhKCk7CiAgICAgZm9yIChz
aXplX3QgayA9IDA7IGsgPCBjc3RyLmxlbmd0aCgpOyBrKyssIHArKykgewogICAgICAgICBjaGFy
IGMgPSAqcDsKLSAgICAgICAgaWYgKGMgJiYgc3RyY2hyKGRvTm90RXNjYXBlLCBjKSkKKyAgICAg
ICAgaWYgKGMgJiYgZG9Ob3RFc2NhcGUuZ2V0KGMpKQogICAgICAgICAgICAgYnVpbGRlci5hcHBl
bmQoc3RhdGljX2Nhc3Q8TENoYXI+KGMpKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBi
dWlsZGVyLmFwcGVuZChzdGF0aWNfY2FzdDxMQ2hhcj4oJyUnKSk7CkBAIC03NSw3ICs4NCw3IEBA
IHN0YXRpYyBKU1ZhbHVlIGVuY29kZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IGNoYXIqIGRvTm90
RXNjYXBlKQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhclR5cGU+CiBBTFdBWVNfSU5MSU5FCi1z
dGF0aWMgSlNWYWx1ZSBkZWNvZGUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBDaGFyVHlwZSogY2hh
cmFjdGVycywgaW50IGxlbmd0aCwgY29uc3QgY2hhciogZG9Ob3RVbmVzY2FwZSwgYm9vbCBzdHJp
Y3QpCitzdGF0aWMgSlNWYWx1ZSBkZWNvZGUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBDaGFyVHlw
ZSogY2hhcmFjdGVycywgaW50IGxlbmd0aCwgY29uc3QgQml0bWFwPDI1Nj4mIGRvTm90VW5lc2Nh
cGUsIGJvb2wgc3RyaWN0KQogewogICAgIEpTU3RyaW5nQnVpbGRlciBidWlsZGVyOwogICAgIGlu
dCBrID0gMDsKQEAgLTEyNyw3ICsxMzYsNyBAQCBzdGF0aWMgSlNWYWx1ZSBkZWNvZGUoRXhlY1N0
YXRlKiBleGVjLCBjb25zdCBDaGFyVHlwZSogY2hhcmFjdGVycywgaW50IGxlbmd0aCwgYwogICAg
ICAgICAgICAgICAgICAgICB1ID0gTGV4ZXI8VUNoYXI+Ojpjb252ZXJ0VW5pY29kZShwWzJdLCBw
WzNdLCBwWzRdLCBwWzVdKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBpZiAoY2hhckxlbiAmJiAodSA9PSAwIHx8IHUgPj0gMTI4IHx8ICFzdHJjaHIoZG9O
b3RVbmVzY2FwZSwgdSkpKSB7CisgICAgICAgICAgICBpZiAoY2hhckxlbiAmJiAodSA9PSAwIHx8
IHUgPj0gMTI4IHx8ICFkb05vdFVuZXNjYXBlLmdldCh1KSkpIHsKICAgICAgICAgICAgICAgICBi
dWlsZGVyLmFwcGVuZCh1KTsKICAgICAgICAgICAgICAgICBrICs9IGNoYXJMZW47CiAgICAgICAg
ICAgICAgICAgY29udGludWU7CkBAIC0xMzksNyArMTQ4LDcgQEAgc3RhdGljIEpTVmFsdWUgZGVj
b2RlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQ2hhclR5cGUqIGNoYXJhY3RlcnMsIGludCBsZW5n
dGgsIGMKICAgICByZXR1cm4gYnVpbGRlci5idWlsZChleGVjKTsKIH0KIAotc3RhdGljIEpTVmFs
dWUgZGVjb2RlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgY2hhciogZG9Ob3RVbmVzY2FwZSwgYm9v
bCBzdHJpY3QpCitzdGF0aWMgSlNWYWx1ZSBkZWNvZGUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBC
aXRtYXA8MjU2PiYgZG9Ob3RVbmVzY2FwZSwgYm9vbCBzdHJpY3QpCiB7CiAgICAgU3RyaW5nIHN0
ciA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKTsKICAgICAK
QEAgLTYyNiw0NiArNjM1LDUxIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFs
RnVuY0lzRmluaXRlKEV4ZWNTdGF0ZSogZXhlYykKIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBnbG9iYWxGdW5jRGVjb2RlVVJJKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBzdGF0aWMg
Y29uc3QgY2hhciBkb19ub3RfdW5lc2NhcGVfd2hlbl9kZWNvZGluZ19VUklbXSA9Ci0gICAgICAg
ICIjJCYrLC86Oz0/QCI7CisgICAgc3RhdGljIEJpdG1hcDwyNTY+IGRvTm90VW5lc2NhcGVXaGVu
RGVjb2RpbmdVUkkgPSBtYWtlQ2hhcmFjdGVyQml0bWFwKAorICAgICAgICAiIyQmKywvOjs9P0Ai
CisgICAgKTsKIAotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoZGVjb2RlKGV4ZWMsIGRvX25v
dF91bmVzY2FwZV93aGVuX2RlY29kaW5nX1VSSSwgdHJ1ZSkpOworICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoZGVjb2RlKGV4ZWMsIGRvTm90VW5lc2NhcGVXaGVuRGVjb2RpbmdVUkksIHRydWUp
KTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBnbG9iYWxGdW5jRGVjb2RlVVJJ
Q29tcG9uZW50KEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGRlY29kZShleGVjLCAiIiwgdHJ1ZSkpOworICAgIHN0YXRpYyBCaXRtYXA8MjU2PiBlbXB0eUJp
dG1hcDsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGRlY29kZShleGVjLCBlbXB0eUJpdG1h
cCwgdHJ1ZSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNF
bmNvZGVVUkkoRXhlY1N0YXRlKiBleGVjKQogewotICAgIHN0YXRpYyBjb25zdCBjaGFyIGRvX25v
dF9lc2NhcGVfd2hlbl9lbmNvZGluZ19VUklbXSA9CisgICAgc3RhdGljIEJpdG1hcDwyNTY+IGRv
Tm90RXNjYXBlV2hlbkVuY29kaW5nVVJJID0gbWFrZUNoYXJhY3RlckJpdG1hcCgKICAgICAgICAg
IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIgogICAgICAgICAiYWJjZGVmZ2hpamtsbW5vcHFy
c3R1dnd4eXoiCiAgICAgICAgICIwMTIzNDU2Nzg5IgotICAgICAgICAiISMkJicoKSorLC0uLzo7
PT9AX34iOworICAgICAgICAiISMkJicoKSorLC0uLzo7PT9AX34iCisgICAgKTsKIAotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoZW5jb2RlKGV4ZWMsIGRvX25vdF9lc2NhcGVfd2hlbl9lbmNv
ZGluZ19VUkkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGVuY29kZShleGVjLCBkb05v
dEVzY2FwZVdoZW5FbmNvZGluZ1VSSSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGdsb2JhbEZ1bmNFbmNvZGVVUklDb21wb25lbnQoRXhlY1N0YXRlKiBleGVjKQogewotICAg
IHN0YXRpYyBjb25zdCBjaGFyIGRvX25vdF9lc2NhcGVfd2hlbl9lbmNvZGluZ19VUklfY29tcG9u
ZW50W10gPQorICAgIHN0YXRpYyBCaXRtYXA8MjU2PiBkb05vdEVzY2FwZVdoZW5FbmNvZGluZ1VS
SUNvbXBvbmVudCA9IG1ha2VDaGFyYWN0ZXJCaXRtYXAoCiAgICAgICAgICJBQkNERUZHSElKS0xN
Tk9QUVJTVFVWV1hZWiIKICAgICAgICAgImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IgogICAg
ICAgICAiMDEyMzQ1Njc4OSIKLSAgICAgICAgIiEnKCkqLS5ffiI7CisgICAgICAgICIhJygpKi0u
X34iCisgICAgKTsKIAotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoZW5jb2RlKGV4ZWMsIGRv
X25vdF9lc2NhcGVfd2hlbl9lbmNvZGluZ19VUklfY29tcG9uZW50KSk7CisgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShlbmNvZGUoZXhlYywgZG9Ob3RFc2NhcGVXaGVuRW5jb2RpbmdVUklDb21w
b25lbnQpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBnbG9iYWxGdW5jRXNj
YXBlKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBzdGF0aWMgY29uc3QgY2hhciBkb19ub3RfZXNj
YXBlW10gPQorICAgIHN0YXRpYyBCaXRtYXA8MjU2PiBkb05vdEVzY2FwZSA9IG1ha2VDaGFyYWN0
ZXJCaXRtYXAoCiAgICAgICAgICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIKICAgICAgICAg
ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IgogICAgICAgICAiMDEyMzQ1Njc4OSIKLSAgICAg
ICAgIiorLS4vQF8iOworICAgICAgICAiKistLi9AXyIKKyAgICApOwogCiAgICAgSlNTdHJpbmdC
dWlsZGVyIGJ1aWxkZXI7CiAgICAgU3RyaW5nIHN0ciA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvU3Ry
aW5nKGV4ZWMpLT52YWx1ZShleGVjKTsKQEAgLTY3Myw3ICs2ODcsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNFc2NhcGUoRXhlY1N0YXRlKiBleGVjKQogICAgICAg
ICBjb25zdCBMQ2hhciogYyA9IHN0ci5jaGFyYWN0ZXJzOCgpOwogICAgICAgICBmb3IgKHVuc2ln
bmVkIGsgPSAwOyBrIDwgc3RyLmxlbmd0aCgpOyBrKyssIGMrKykgewogICAgICAgICAgICAgaW50
IHUgPSBjWzBdOwotICAgICAgICAgICAgaWYgKHUgJiYgc3RyY2hyKGRvX25vdF9lc2NhcGUsIHN0
YXRpY19jYXN0PGNoYXI+KHUpKSkKKyAgICAgICAgICAgIGlmICh1ICYmIGRvTm90RXNjYXBlLmdl
dChzdGF0aWNfY2FzdDxjaGFyPih1KSkpCiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
KmMpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
c3RhdGljX2Nhc3Q8TENoYXI+KCclJykpOwpAQCAtNjkyLDcgKzcwNiw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY0VzY2FwZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAg
ICAgICAgICBidWlsZGVyLmFwcGVuZChzdGF0aWNfY2FzdDxMQ2hhcj4oJ3UnKSk7CiAgICAgICAg
ICAgICBhcHBlbmRCeXRlQXNIZXgodSA+PiA4LCBidWlsZGVyKTsKICAgICAgICAgICAgIGFwcGVu
ZEJ5dGVBc0hleCh1ICYgMHhGRiwgYnVpbGRlcik7Ci0gICAgICAgIH0gZWxzZSBpZiAodSAhPSAw
ICYmIHN0cmNocihkb19ub3RfZXNjYXBlLCBzdGF0aWNfY2FzdDxjaGFyPih1KSkpCisgICAgICAg
IH0gZWxzZSBpZiAodSAhPSAwICYmIGRvTm90RXNjYXBlLmdldChzdGF0aWNfY2FzdDxjaGFyPih1
KSkpCiAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgqYyk7CiAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgYnVpbGRlci5hcHBlbmQoc3RhdGljX2Nhc3Q8TENoYXI+KCclJykpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253305</attachid>
            <date>2015-05-18 00:11:23 -0700</date>
            <delta_ts>2015-05-18 10:46:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145115.diff</filename>
            <type>text/plain</type>
            <size>6875</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDZlNjMxNjkuLmIyOGU0ZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA1LTE3ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBTcGVlZCB1cCBVUkwgZW5jb2Rl
L2RlY29kZSBieSB1c2luZyBiaXRtYXBzIGluc3RlYWQgb2Ygc3RyY2hyKCkuCisgICAgICAgIDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xNDUxMTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZSBjYWxsaW5nIHN0cmNocigpIGZvciBldmVyeSBj
aGFyYWN0ZXIgd2hlbiBkb2luZyBVUkwgZW5jb2RpbmcvZGVjb2RpbmcgYW5kIGl0IHN0b29kIG91
dAorICAgICAgICBsaWtlIGEgc29yZSBPKG4pIHRodW1iIGluIEluc3RydW1lbnRzLiBPcHRpbWl6
ZSB0aGlzIGJ5IHVzaW5nIGEgQml0bWFwPDI1Nj4gaW5zdGVhZC4KKworICAgICAgICA1LjUlIHBy
b2dyZXNzaW9uIG9uIEtyYWtlbi9zdGFuZm9yZC1jcnlwdG8tc2hhMjU2LWl0ZXJhdGl2ZS4KKwor
ICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAo
SlNDOjptYWtlQ2hhcmFjdGVyQml0bWFwKToKKyAgICAgICAgKEpTQzo6ZW5jb2RlKToKKyAgICAg
ICAgKEpTQzo6ZGVjb2RlKToKKyAgICAgICAgKEpTQzo6Z2xvYmFsRnVuY0RlY29kZVVSSSk6Cisg
ICAgICAgIChKU0M6Omdsb2JhbEZ1bmNEZWNvZGVVUklDb21wb25lbnQpOgorICAgICAgICAoSlND
OjpnbG9iYWxGdW5jRW5jb2RlVVJJKToKKyAgICAgICAgKEpTQzo6Z2xvYmFsRnVuY0VuY29kZVVS
SUNvbXBvbmVudCk6CisgICAgICAgIChKU0M6Omdsb2JhbEZ1bmNFc2NhcGUpOgorCiAyMDE1LTA1
LTE2ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTg0NDE1LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCmluZGV4IDk5
ZDg0ZDQuLjIzMjM5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKQEAgLTUzLDcgKzUzLDE2IEBAIHVz
aW5nIG5hbWVzcGFjZSBVbmljb2RlOwogCiBuYW1lc3BhY2UgSlNDIHsKIAotc3RhdGljIEpTVmFs
dWUgZW5jb2RlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgY2hhciogZG9Ob3RFc2NhcGUpCit0ZW1w
bGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJzQ291bnQ+CitzdGF0aWMgQml0bWFwPDI1Nj4gbWFrZUNo
YXJhY3RlckJpdG1hcChjb25zdCBjaGFyICgmY2hhcmFjdGVycylbY2hhcmFjdGVyc0NvdW50XSkK
K3sKKyAgICBCaXRtYXA8MjU2PiBiaXRtYXA7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGNoYXJhY3RlcnNDb3VudDsgKytpKQorICAgICAgICBiaXRtYXAuc2V0KGNoYXJhY3RlcnNbaV0p
OworICAgIHJldHVybiBiaXRtYXA7Cit9CisKK3N0YXRpYyBKU1ZhbHVlIGVuY29kZShFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IEJpdG1hcDwyNTY+JiBkb05vdEVzY2FwZSkKIHsKICAgICBDU3RyaW5n
IGNzdHIgPSBleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYykudXRm
OChTdHJpY3RDb252ZXJzaW9uKTsKICAgICBpZiAoIWNzdHIuZGF0YSgpKQpAQCAtNjMsNyArNzIs
NyBAQCBzdGF0aWMgSlNWYWx1ZSBlbmNvZGUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBjaGFyKiBk
b05vdEVzY2FwZSkKICAgICBjb25zdCBjaGFyKiBwID0gY3N0ci5kYXRhKCk7CiAgICAgZm9yIChz
aXplX3QgayA9IDA7IGsgPCBjc3RyLmxlbmd0aCgpOyBrKyssIHArKykgewogICAgICAgICBjaGFy
IGMgPSAqcDsKLSAgICAgICAgaWYgKGMgJiYgc3RyY2hyKGRvTm90RXNjYXBlLCBjKSkKKyAgICAg
ICAgaWYgKGMgJiYgZG9Ob3RFc2NhcGUuZ2V0KHN0YXRpY19jYXN0PExDaGFyPihjKSkpCiAgICAg
ICAgICAgICBidWlsZGVyLmFwcGVuZChzdGF0aWNfY2FzdDxMQ2hhcj4oYykpOwogICAgICAgICBl
bHNlIHsKICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHN0YXRpY19jYXN0PExDaGFyPignJScp
KTsKQEAgLTc1LDcgKzg0LDcgQEAgc3RhdGljIEpTVmFsdWUgZW5jb2RlKEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgY2hhciogZG9Ob3RFc2NhcGUpCiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyVHlw
ZT4KIEFMV0FZU19JTkxJTkUKLXN0YXRpYyBKU1ZhbHVlIGRlY29kZShFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IENoYXJUeXBlKiBjaGFyYWN0ZXJzLCBpbnQgbGVuZ3RoLCBjb25zdCBjaGFyKiBkb05v
dFVuZXNjYXBlLCBib29sIHN0cmljdCkKK3N0YXRpYyBKU1ZhbHVlIGRlY29kZShFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IENoYXJUeXBlKiBjaGFyYWN0ZXJzLCBpbnQgbGVuZ3RoLCBjb25zdCBCaXRt
YXA8MjU2PiYgZG9Ob3RVbmVzY2FwZSwgYm9vbCBzdHJpY3QpCiB7CiAgICAgSlNTdHJpbmdCdWls
ZGVyIGJ1aWxkZXI7CiAgICAgaW50IGsgPSAwOwpAQCAtMTI3LDcgKzEzNiw3IEBAIHN0YXRpYyBK
U1ZhbHVlIGRlY29kZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IENoYXJUeXBlKiBjaGFyYWN0ZXJz
LCBpbnQgbGVuZ3RoLCBjCiAgICAgICAgICAgICAgICAgICAgIHUgPSBMZXhlcjxVQ2hhcj46OmNv
bnZlcnRVbmljb2RlKHBbMl0sIHBbM10sIHBbNF0sIHBbNV0pOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChjaGFyTGVuICYmICh1ID09IDAgfHwgdSA+
PSAxMjggfHwgIXN0cmNocihkb05vdFVuZXNjYXBlLCB1KSkpIHsKKyAgICAgICAgICAgIGlmIChj
aGFyTGVuICYmICh1ID09IDAgfHwgdSA+PSAxMjggfHwgIWRvTm90VW5lc2NhcGUuZ2V0KHN0YXRp
Y19jYXN0PExDaGFyPih1KSkpKSB7CiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQodSk7
CiAgICAgICAgICAgICAgICAgayArPSBjaGFyTGVuOwogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwpAQCAtMTM5LDcgKzE0OCw3IEBAIHN0YXRpYyBKU1ZhbHVlIGRlY29kZShFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IENoYXJUeXBlKiBjaGFyYWN0ZXJzLCBpbnQgbGVuZ3RoLCBjCiAgICAgcmV0dXJu
IGJ1aWxkZXIuYnVpbGQoZXhlYyk7CiB9CiAKLXN0YXRpYyBKU1ZhbHVlIGRlY29kZShFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IGNoYXIqIGRvTm90VW5lc2NhcGUsIGJvb2wgc3RyaWN0KQorc3RhdGlj
IEpTVmFsdWUgZGVjb2RlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQml0bWFwPDI1Nj4mIGRvTm90
VW5lc2NhcGUsIGJvb2wgc3RyaWN0KQogewogICAgIFN0cmluZyBzdHIgPSBleGVjLT5hcmd1bWVu
dCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYyk7CiAgICAgCkBAIC02MjYsNDYgKzYzNSw1
MSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGdsb2JhbEZ1bmNJc0Zpbml0ZShFeGVj
U3RhdGUqIGV4ZWMpCiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY0Rl
Y29kZVVSSShFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIgZG9fbm90
X3VuZXNjYXBlX3doZW5fZGVjb2RpbmdfVVJJW10gPQotICAgICAgICAiIyQmKywvOjs9P0AiOwor
ICAgIHN0YXRpYyBCaXRtYXA8MjU2PiBkb05vdFVuZXNjYXBlV2hlbkRlY29kaW5nVVJJID0gbWFr
ZUNoYXJhY3RlckJpdG1hcCgKKyAgICAgICAgIiMkJissLzo7PT9AIgorICAgICk7CiAKLSAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGRlY29kZShleGVjLCBkb19ub3RfdW5lc2NhcGVfd2hlbl9k
ZWNvZGluZ19VUkksIHRydWUpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGRlY29kZShl
eGVjLCBkb05vdFVuZXNjYXBlV2hlbkRlY29kaW5nVVJJLCB0cnVlKSk7CiB9CiAKIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY0RlY29kZVVSSUNvbXBvbmVudChFeGVjU3Rh
dGUqIGV4ZWMpCiB7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShkZWNvZGUoZXhlYywgIiIs
IHRydWUpKTsKKyAgICBzdGF0aWMgQml0bWFwPDI1Nj4gZW1wdHlCaXRtYXA7CisgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShkZWNvZGUoZXhlYywgZW1wdHlCaXRtYXAsIHRydWUpKTsKIH0KIAog
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBnbG9iYWxGdW5jRW5jb2RlVVJJKEV4ZWNTdGF0
ZSogZXhlYykKIHsKLSAgICBzdGF0aWMgY29uc3QgY2hhciBkb19ub3RfZXNjYXBlX3doZW5fZW5j
b2RpbmdfVVJJW10gPQorICAgIHN0YXRpYyBCaXRtYXA8MjU2PiBkb05vdEVzY2FwZVdoZW5FbmNv
ZGluZ1VSSSA9IG1ha2VDaGFyYWN0ZXJCaXRtYXAoCiAgICAgICAgICJBQkNERUZHSElKS0xNTk9Q
UVJTVFVWV1hZWiIKICAgICAgICAgImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IgogICAgICAg
ICAiMDEyMzQ1Njc4OSIKLSAgICAgICAgIiEjJCYnKCkqKywtLi86Oz0/QF9+IjsKKyAgICAgICAg
IiEjJCYnKCkqKywtLi86Oz0/QF9+IgorICAgICk7CiAKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGVuY29kZShleGVjLCBkb19ub3RfZXNjYXBlX3doZW5fZW5jb2RpbmdfVVJJKSk7CisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShlbmNvZGUoZXhlYywgZG9Ob3RFc2NhcGVXaGVuRW5jb2Rp
bmdVUkkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBnbG9iYWxGdW5jRW5j
b2RlVVJJQ29tcG9uZW50KEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBzdGF0aWMgY29uc3QgY2hh
ciBkb19ub3RfZXNjYXBlX3doZW5fZW5jb2RpbmdfVVJJX2NvbXBvbmVudFtdID0KKyAgICBzdGF0
aWMgQml0bWFwPDI1Nj4gZG9Ob3RFc2NhcGVXaGVuRW5jb2RpbmdVUklDb21wb25lbnQgPSBtYWtl
Q2hhcmFjdGVyQml0bWFwKAogICAgICAgICAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiCiAg
ICAgICAgICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIKICAgICAgICAgIjAxMjM0NTY3ODki
Ci0gICAgICAgICIhJygpKi0uX34iOworICAgICAgICAiIScoKSotLl9+IgorICAgICk7CiAKLSAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGVuY29kZShleGVjLCBkb19ub3RfZXNjYXBlX3doZW5f
ZW5jb2RpbmdfVVJJX2NvbXBvbmVudCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoZW5j
b2RlKGV4ZWMsIGRvTm90RXNjYXBlV2hlbkVuY29kaW5nVVJJQ29tcG9uZW50KSk7CiB9CiAKIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY0VzY2FwZShFeGVjU3RhdGUqIGV4
ZWMpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIgZG9fbm90X2VzY2FwZVtdID0KKyAgICBzdGF0
aWMgQml0bWFwPDI1Nj4gZG9Ob3RFc2NhcGUgPSBtYWtlQ2hhcmFjdGVyQml0bWFwKAogICAgICAg
ICAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiCiAgICAgICAgICJhYmNkZWZnaGlqa2xtbm9w
cXJzdHV2d3h5eiIKICAgICAgICAgIjAxMjM0NTY3ODkiCi0gICAgICAgICIqKy0uL0BfIjsKKyAg
ICAgICAgIiorLS4vQF8iCisgICAgKTsKIAogICAgIEpTU3RyaW5nQnVpbGRlciBidWlsZGVyOwog
ICAgIFN0cmluZyBzdHIgPSBleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUo
ZXhlYyk7CkBAIC02NzMsNyArNjg3LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBn
bG9iYWxGdW5jRXNjYXBlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgY29uc3QgTENoYXIqIGMg
PSBzdHIuY2hhcmFjdGVyczgoKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBrID0gMDsgayA8IHN0
ci5sZW5ndGgoKTsgaysrLCBjKyspIHsKICAgICAgICAgICAgIGludCB1ID0gY1swXTsKLSAgICAg
ICAgICAgIGlmICh1ICYmIHN0cmNocihkb19ub3RfZXNjYXBlLCBzdGF0aWNfY2FzdDxjaGFyPih1
KSkpCisgICAgICAgICAgICBpZiAodSAmJiBkb05vdEVzY2FwZS5nZXQoc3RhdGljX2Nhc3Q8TENo
YXI+KHUpKSkKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgqYyk7CiAgICAgICAgICAg
ICBlbHNlIHsKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChzdGF0aWNfY2FzdDxMQ2hh
cj4oJyUnKSk7CkBAIC02OTIsNyArNzA2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBnbG9iYWxGdW5jRXNjYXBlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIGJ1aWxkZXIu
YXBwZW5kKHN0YXRpY19jYXN0PExDaGFyPigndScpKTsKICAgICAgICAgICAgIGFwcGVuZEJ5dGVB
c0hleCh1ID4+IDgsIGJ1aWxkZXIpOwogICAgICAgICAgICAgYXBwZW5kQnl0ZUFzSGV4KHUgJiAw
eEZGLCBidWlsZGVyKTsKLSAgICAgICAgfSBlbHNlIGlmICh1ICE9IDAgJiYgc3RyY2hyKGRvX25v
dF9lc2NhcGUsIHN0YXRpY19jYXN0PGNoYXI+KHUpKSkKKyAgICAgICAgfSBlbHNlIGlmICh1ICE9
IDAgJiYgZG9Ob3RFc2NhcGUuZ2V0KHN0YXRpY19jYXN0PExDaGFyPih1KSkpCiAgICAgICAgICAg
ICBidWlsZGVyLmFwcGVuZCgqYyk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgYnVpbGRl
ci5hcHBlbmQoc3RhdGljX2Nhc3Q8TENoYXI+KCclJykpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>