<?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>81763</bug_id>
          
          <creation_ts>2012-03-21 05:04:54 -0700</creation_ts>
          <short_desc>Web Inspector: build retainers phase it too slow in heap profiler</short_desc>
          <delta_ts>2012-03-26 07:33:12 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>81912</dependson>
          <blocked>78411</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Alexei Filippov">alph</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>584008</commentid>
    <comment_count>0</comment_count>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-03-21 05:04:54 -0700</bug_when>
    <thetext>the phase takes more than 4 secs on gmail.com</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584037</commentid>
    <comment_count>1</comment_count>
      <attachid>133023</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-03-21 05:33:27 -0700</bug_when>
    <thetext>Created attachment 133023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584095</commentid>
    <comment_count>2</comment_count>
      <attachid>133023</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-03-21 06:56:13 -0700</bug_when>
    <thetext>Comment on attachment 133023
Patch

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

looks good with nits

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:969
&gt; +        if (!this._nodeIndex)
&gt; +            this._buildNodeIndex();

unnecessary check

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:976
&gt; +        var indexArray = this[&quot;_retainerIndex&quot;] = new Int32Array(this._nodeIndex.length);

nodeCount

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:979
&gt; +        var nodeCount = this.nodeCount;

move it 4 lines up

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:998
&gt; +        for (i = 0, l = indexArray.length; i &lt; l; ++i)

nodeCount

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:1004
&gt; +        for (i = 0, l = indexArray.length; i &lt; l; ++i) {

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584130</commentid>
    <comment_count>3</comment_count>
      <attachid>133041</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-03-21 07:53:32 -0700</bug_when>
    <thetext>Created attachment 133041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584137</commentid>
    <comment_count>4</comment_count>
      <attachid>133023</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-21 08:09:51 -0700</bug_when>
    <thetext>Comment on attachment 133023
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:976
&gt;&gt; +        var indexArray = this[&quot;_retainerIndex&quot;] = new Int32Array(this._nodeIndex.length);
&gt; 
&gt; nodeCount

Please use this._retainerIndex syntax

&gt;&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:979
&gt;&gt; +        var nodeCount = this.nodeCount;
&gt; 
&gt; move it 4 lines up

Remember that this._nodeIndex.length !== nodeCount :)

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:999
&gt; +            backRefsCount += indexArray[i];

backRefsCount === total edges count so you can calculate this in the previous loop and avoid additional pass through all elements.

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:1017
&gt; +                var retNode = nodePositions[nodes[j * edgeFieldsCount + edgesOffset + edgeToNodeOffset]];

j * edgeFieldsCount + edgesOffset + edgeToNodeOffset -&gt; edgeIndex + edgeToNodeOffset</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584158</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-21 08:33:57 -0700</bug_when>
    <thetext>I would like to see a test with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584382</commentid>
    <comment_count>6</comment_count>
      <attachid>133080</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-03-21 11:14:45 -0700</bug_when>
    <thetext>Created attachment 133080
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584463</commentid>
    <comment_count>7</comment_count>
      <attachid>133080</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-21 12:05:58 -0700</bug_when>
    <thetext>Comment on attachment 133080
Patch

Rejecting attachment 133080 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
 /mnt/git/webkit-commit-queue/

Parsed 2 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/inspector/front-end/HeapSnapshot.js
Hunk #1 FAILED at 965.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebCore/inspector/front-end/HeapSnapshot.js.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Yury Semik...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12071554</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585215</commentid>
    <comment_count>8</comment_count>
      <attachid>133249</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-03-22 06:57:13 -0700</bug_when>
    <thetext>Created attachment 133249
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585229</commentid>
    <comment_count>9</comment_count>
      <attachid>133249</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-22 07:12:42 -0700</bug_when>
    <thetext>Comment on attachment 133249
Patch

Clearing flags on attachment: 133249

Committed r111688: &lt;http://trac.webkit.org/changeset/111688&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585230</commentid>
    <comment_count>10</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-22 07:12:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587711</commentid>
    <comment_count>11</comment_count>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-03-26 07:22:32 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587712</commentid>
    <comment_count>12</comment_count>
      <attachid>133804</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-03-26 07:22:37 -0700</bug_when>
    <thetext>Created attachment 133804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587721</commentid>
    <comment_count>13</comment_count>
      <attachid>133804</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-26 07:33:03 -0700</bug_when>
    <thetext>Comment on attachment 133804
Patch

Clearing flags on attachment: 133804

Committed r112090: &lt;http://trac.webkit.org/changeset/112090&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587722</commentid>
    <comment_count>14</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-26 07:33:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133023</attachid>
            <date>2012-03-21 05:33:27 -0700</date>
            <delta_ts>2012-03-21 11:14:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81763-20120321133325.patch</filename>
            <type>text/plain</type>
            <size>4971</size>
            <attacher name="Alexei Filippov">alph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFiNWFlZjdjOGY0MGFm
MGQ0MGVmMzI2MDdiMzRkZjE5ZmExZmRiNi4uZDQ5NDNiNTJjMWMzMmU2Nzc4ODg2Mjk3YjU0M2E5
NGNiMDM0ZTM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTIxICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBTcGVlZCB1cCB0aGUgYnVpbGQgcmV0YWluZXJzIHBoYXNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE3NjMKKworICAgICAgICBSZXBsYWNp
bmcgdGhlIGVkZ2UgaXRlcmF0b3Igd2l0aCBhIHJhdyBsb29wIG1ha2VzIGl0CisgICAgICAgIGZh
c3RlciBieSBtb3JlIHRoYW4gMTAgdGltZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBlLl9idWlsZFJl
dGFpbmVycyk6CisKIDIwMTItMDMtMjAgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY2FsbCAubGVuZ3RoIGFzIHRoZSBsYXN0
IGNoZWNrIHdoZW4gZGV0ZWN0aW5nIGFycmF5cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKaW5kZXggNjk4MDNhMmE1OGFjMjU4NmYw
Nzc0OTY3NTc0NjNhOTE5NTUzMWUwNy4uZGQwNTI3MDA5YmRjOTEyNmZiMzc1MTFhNzA3ZDY5NjJi
ZWE4ZWIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
ZWFwU25hcHNob3QuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
ZWFwU25hcHNob3QuanMKQEAgLTk2NSwyMiArOTY1LDYxIEBAIFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3QucHJvdG90eXBlID0gewogCiAgICAgX2J1aWxkUmV0YWluZXJzOiBmdW5jdGlvbigpCiAg
ICAgewotICAgICAgICB0aGlzLl9idWlsZFJldmVyc2VJbmRleCgKLSAgICAgICAgICAgICJfcmV0
YWluZXJJbmRleCIsCi0gICAgICAgICAgICAiX3JldGFpbmVycyIsCi0gICAgICAgICAgICAoZnVu
Y3Rpb24gKG5vZGUsIGNhbGxiYWNrKQotICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
Zm9yICh2YXIgZWRnZXNJdGVyID0gbm9kZS5lZGdlczsgZWRnZXNJdGVyLmhhc05leHQoKTsgZWRn
ZXNJdGVyLm5leHQoKSkKLSAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMuX25vZGVQ
b3NpdGlvbltlZGdlc0l0ZXIuZWRnZS5ub2RlSW5kZXhdKTsKLSAgICAgICAgICAgICB9KS5iaW5k
KHRoaXMpLAotICAgICAgICAgICAgKGZ1bmN0aW9uIChub2RlLCBpbmRleENhbGxiYWNrLCBkYXRh
Q2FsbGJhY2spCi0gICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICBmb3IgKHZhciBlZGdl
c0l0ZXIgPSBub2RlLmVkZ2VzOyBlZGdlc0l0ZXIuaGFzTmV4dCgpOyBlZGdlc0l0ZXIubmV4dCgp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICB2YXIgZWRnZSA9IGVkZ2VzSXRlci5lZGdlOwotICAg
ICAgICAgICAgICAgICAgICAgdmFyIHJldEluZGV4ID0gdGhpcy5fZ2V0UmV0YWluZXJJbmRleChl
ZGdlLm5vZGVJbmRleCk7Ci0gICAgICAgICAgICAgICAgICAgICBkYXRhQ2FsbGJhY2soaW5kZXhD
YWxsYmFjayhyZXRJbmRleCksIG5vZGUubm9kZUluZGV4ICsgdGhpcy5fZmlyc3RFZGdlT2Zmc2V0
ICsgZWRnZS5lZGdlSW5kZXgpOwotICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgfSku
YmluZCh0aGlzKSk7CisgICAgICAgIGlmICghdGhpcy5fbm9kZUluZGV4KQorICAgICAgICAgICAg
dGhpcy5fYnVpbGROb2RlSW5kZXgoKTsKKworICAgICAgICAvLyBCdWlsZHMgdXAgdHdvIGFycmF5
czoKKyAgICAgICAgLy8gIC0gImJhY2tSZWZzQXJyYXkiIGlzIGEgY29udGludW91cyBhcnJheSwg
d2hlcmUgZWFjaCBub2RlIG93bnMgYW4KKyAgICAgICAgLy8gICAgaW50ZXJ2YWwgKGNhbiBiZSBl
bXB0eSkgd2l0aCBjb3JyZXNwb25kaW5nIGJhY2sgcmVmZXJlbmNlcy4KKyAgICAgICAgLy8gIC0g
ImluZGV4QXJyYXkiIGlzIGFuIGFycmF5IG9mIGluZGV4ZXMgaW4gdGhlICJiYWNrUmVmc0FycmF5
IgorICAgICAgICAvLyAgICB3aXRoIHRoZSBzYW1lIHBvc2l0aW9ucyBhcyBpbiB0aGUgX25vZGVJ
bmRleC4KKyAgICAgICAgdmFyIGluZGV4QXJyYXkgPSB0aGlzWyJfcmV0YWluZXJJbmRleCJdID0g
bmV3IEludDMyQXJyYXkodGhpcy5fbm9kZUluZGV4Lmxlbmd0aCk7CisgICAgICAgIHZhciBub2Rl
SW5kZXhlcyA9IHRoaXMubm9kZUluZGV4ZXM7CisgICAgICAgIHZhciBub2RlUG9zaXRpb25zID0g
dGhpcy5fbm9kZVBvc2l0aW9uOworICAgICAgICB2YXIgbm9kZUNvdW50ID0gdGhpcy5ub2RlQ291
bnQ7CisgICAgICAgIHZhciBub2RlID0gbmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3ROb2Rl
KHRoaXMsIG5vZGVJbmRleGVzWzBdKTsKKyAgICAgICAgdmFyIG5vZGVzID0gdGhpcy5fbm9kZXM7
CisKKyAgICAgICAgdmFyIGVkZ2VzQ291bnRPZmZzZXQgPSB0aGlzLl9lZGdlc0NvdW50T2Zmc2V0
OworICAgICAgICB2YXIgZmlyc3RFZGdlT2Zmc2V0ID0gdGhpcy5fZmlyc3RFZGdlT2Zmc2V0Owor
ICAgICAgICB2YXIgZWRnZUZpZWxkc0NvdW50ID0gdGhpcy5fZWRnZUZpZWxkc0NvdW50OworICAg
ICAgICB2YXIgZWRnZVRvTm9kZU9mZnNldCA9IHRoaXMuX2VkZ2VUb05vZGVPZmZzZXQ7CisgICAg
ICAgIC8vIENvdW50IHRoZSBudW1iZXIgb2YgcmV0YWluZXJzIGZvciBlYWNoIG5vZGUKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlQ291bnQ7ICsraSkgeworICAgICAgICAgICAgdmFy
IG5vZGVJbmRleCA9IG5vZGVJbmRleGVzW2ldOworICAgICAgICAgICAgdmFyIGVkZ2VzT2Zmc2V0
ID0gbm9kZUluZGV4ICsgZmlyc3RFZGdlT2Zmc2V0ICsgZWRnZVRvTm9kZU9mZnNldDsKKyAgICAg
ICAgICAgIHZhciBlZGdlc0NvdW50ID0gbm9kZXNbbm9kZUluZGV4ICsgZWRnZXNDb3VudE9mZnNl
dF07CisgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGVkZ2VzQ291bnQ7ICsraikgewor
ICAgICAgICAgICAgICB2YXIgdGFyZ2V0Tm9kZUluZGV4ID0gbm9kZXNbaiAqIGVkZ2VGaWVsZHND
b3VudCArIGVkZ2VzT2Zmc2V0XTsKKyAgICAgICAgICAgICAgKytpbmRleEFycmF5W25vZGVQb3Np
dGlvbnNbdGFyZ2V0Tm9kZUluZGV4XV07CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgdmFyIGJhY2tSZWZzQ291bnQgPSAwOworICAgICAgICBmb3IgKGkgPSAwLCBsID0gaW5kZXhB
cnJheS5sZW5ndGg7IGkgPCBsOyArK2kpCisgICAgICAgICAgICBiYWNrUmVmc0NvdW50ICs9IGlu
ZGV4QXJyYXlbaV07CisgICAgICAgIHZhciBiYWNrUmVmc0FycmF5ID0gdGhpc1siX3JldGFpbmVy
cyJdID0gbmV3IEludDMyQXJyYXkoYmFja1JlZnNDb3VudCArIDEpOworICAgICAgICAvLyBQdXQg
aW4gdGhlIGZpcnN0IHNsb3Qgb2YgZWFjaCBiYWNrUmVmc0FycmF5IHNsaWNlIHRoZSBjb3VudCBv
ZiBlbnRyaWVzCisgICAgICAgIC8vIHRoYXQgd2lsbCBiZSBmaWxsZWQuCisgICAgICAgIHZhciBi
YWNrUmVmc1Bvc2l0aW9uID0gMDsKKyAgICAgICAgZm9yIChpID0gMCwgbCA9IGluZGV4QXJyYXku
bGVuZ3RoOyBpIDwgbDsgKytpKSB7CisgICAgICAgICAgICBiYWNrUmVmc0NvdW50ID0gYmFja1Jl
ZnNBcnJheVtiYWNrUmVmc1Bvc2l0aW9uXSA9IGluZGV4QXJyYXlbaV07CisgICAgICAgICAgICBp
bmRleEFycmF5W2ldID0gYmFja1JlZnNQb3NpdGlvbjsKKyAgICAgICAgICAgIGJhY2tSZWZzUG9z
aXRpb24gKz0gYmFja1JlZnNDb3VudDsKKyAgICAgICAgfQorICAgICAgICB2YXIgcmV0YWluZXJJ
bmRleCA9IHRoaXMuX3JldGFpbmVySW5kZXg7CisgICAgICAgIC8vIEZpbGwgdXAgdGhlIHJldGFp
bmVycyBhcnJheSB3aXRoIGluZGV4ZXMgb2YgZWRnZXMuCisgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbm9kZUNvdW50OyArK2kpIHsKKyAgICAgICAgICAgIHZhciBub2RlSW5kZXggPSBub2Rl
SW5kZXhlc1tpXTsKKyAgICAgICAgICAgIHZhciBlZGdlc09mZnNldCA9IG5vZGVJbmRleCArIGZp
cnN0RWRnZU9mZnNldDsKKyAgICAgICAgICAgIHZhciBlZGdlc0NvdW50ID0gbm9kZXNbbm9kZUlu
ZGV4ICsgZWRnZXNDb3VudE9mZnNldF07CisgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8
IGVkZ2VzQ291bnQ7ICsraikgeworICAgICAgICAgICAgICAgIHZhciBlZGdlSW5kZXggPSBqICog
ZWRnZUZpZWxkc0NvdW50ICsgZWRnZXNPZmZzZXQ7CisgICAgICAgICAgICAgICAgdmFyIHJldE5v
ZGUgPSBub2RlUG9zaXRpb25zW25vZGVzW2ogKiBlZGdlRmllbGRzQ291bnQgKyBlZGdlc09mZnNl
dCArIGVkZ2VUb05vZGVPZmZzZXRdXTsKKyAgICAgICAgICAgICAgICB2YXIgcmV0SW5kZXggPSBp
bmRleEFycmF5W3JldE5vZGVdOworICAgICAgICAgICAgICAgIHZhciBiYWNrUmVmSW5kZXggPSBy
ZXRJbmRleCArICgtLWJhY2tSZWZzQXJyYXlbcmV0SW5kZXhdKTsKKyAgICAgICAgICAgICAgICBi
YWNrUmVmc0FycmF5W2JhY2tSZWZJbmRleF0gPSBlZGdlSW5kZXg7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KICAgICAgICAgdGhpcy5fY2FsY3VsYXRlT2JqZWN0VG9XaW5kb3dEaXN0YW5jZSgp
OwogICAgIH0sCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133041</attachid>
            <date>2012-03-21 07:53:32 -0700</date>
            <delta_ts>2012-03-21 11:14:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81763-20120321155330.patch</filename>
            <type>text/plain</type>
            <size>4781</size>
            <attacher name="Alexei Filippov">alph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFiNWFlZjdjOGY0MGFm
MGQ0MGVmMzI2MDdiMzRkZjE5ZmExZmRiNi4uZDQ5NDNiNTJjMWMzMmU2Nzc4ODg2Mjk3YjU0M2E5
NGNiMDM0ZTM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTIxICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBTcGVlZCB1cCB0aGUgYnVpbGQgcmV0YWluZXJzIHBoYXNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE3NjMKKworICAgICAgICBSZXBsYWNp
bmcgdGhlIGVkZ2UgaXRlcmF0b3Igd2l0aCBhIHJhdyBsb29wIG1ha2VzIGl0CisgICAgICAgIGZh
c3RlciBieSBtb3JlIHRoYW4gMTAgdGltZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBlLl9idWlsZFJl
dGFpbmVycyk6CisKIDIwMTItMDMtMjAgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY2FsbCAubGVuZ3RoIGFzIHRoZSBsYXN0
IGNoZWNrIHdoZW4gZGV0ZWN0aW5nIGFycmF5cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKaW5kZXggNjk4MDNhMmE1OGFjMjU4NmYw
Nzc0OTY3NTc0NjNhOTE5NTUzMWUwNy4uMTEwMGViNmU2OTA1Y2E4N2VkNDUxMTNjYjI2YWM1NTFj
MTY3NGY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
ZWFwU25hcHNob3QuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
ZWFwU25hcHNob3QuanMKQEAgLTk2NSwyMiArOTY1LDU3IEBAIFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3QucHJvdG90eXBlID0gewogCiAgICAgX2J1aWxkUmV0YWluZXJzOiBmdW5jdGlvbigpCiAg
ICAgewotICAgICAgICB0aGlzLl9idWlsZFJldmVyc2VJbmRleCgKLSAgICAgICAgICAgICJfcmV0
YWluZXJJbmRleCIsCi0gICAgICAgICAgICAiX3JldGFpbmVycyIsCi0gICAgICAgICAgICAoZnVu
Y3Rpb24gKG5vZGUsIGNhbGxiYWNrKQotICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg
Zm9yICh2YXIgZWRnZXNJdGVyID0gbm9kZS5lZGdlczsgZWRnZXNJdGVyLmhhc05leHQoKTsgZWRn
ZXNJdGVyLm5leHQoKSkKLSAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMuX25vZGVQ
b3NpdGlvbltlZGdlc0l0ZXIuZWRnZS5ub2RlSW5kZXhdKTsKLSAgICAgICAgICAgICB9KS5iaW5k
KHRoaXMpLAotICAgICAgICAgICAgKGZ1bmN0aW9uIChub2RlLCBpbmRleENhbGxiYWNrLCBkYXRh
Q2FsbGJhY2spCi0gICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICBmb3IgKHZhciBlZGdl
c0l0ZXIgPSBub2RlLmVkZ2VzOyBlZGdlc0l0ZXIuaGFzTmV4dCgpOyBlZGdlc0l0ZXIubmV4dCgp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICB2YXIgZWRnZSA9IGVkZ2VzSXRlci5lZGdlOwotICAg
ICAgICAgICAgICAgICAgICAgdmFyIHJldEluZGV4ID0gdGhpcy5fZ2V0UmV0YWluZXJJbmRleChl
ZGdlLm5vZGVJbmRleCk7Ci0gICAgICAgICAgICAgICAgICAgICBkYXRhQ2FsbGJhY2soaW5kZXhD
YWxsYmFjayhyZXRJbmRleCksIG5vZGUubm9kZUluZGV4ICsgdGhpcy5fZmlyc3RFZGdlT2Zmc2V0
ICsgZWRnZS5lZGdlSW5kZXgpOwotICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgfSku
YmluZCh0aGlzKSk7CisgICAgICAgIHZhciBub2RlSW5kZXhlcyA9IHRoaXMubm9kZUluZGV4ZXM7
CisgICAgICAgIHZhciBub2RlUG9zaXRpb25zID0gdGhpcy5fbm9kZVBvc2l0aW9uOworICAgICAg
ICB2YXIgbm9kZUNvdW50ID0gdGhpcy5ub2RlQ291bnQ7CisgICAgICAgIHZhciBub2RlcyA9IHRo
aXMuX25vZGVzOworCisgICAgICAgIC8vIEJ1aWxkcyB1cCB0d28gYXJyYXlzOgorICAgICAgICAv
LyAgLSAiYmFja1JlZnNBcnJheSIgaXMgYSBjb250aW51b3VzIGFycmF5LCB3aGVyZSBlYWNoIG5v
ZGUgb3ducyBhbgorICAgICAgICAvLyAgICBpbnRlcnZhbCAoY2FuIGJlIGVtcHR5KSB3aXRoIGNv
cnJlc3BvbmRpbmcgYmFjayByZWZlcmVuY2VzLgorICAgICAgICAvLyAgLSAiaW5kZXhBcnJheSIg
aXMgYW4gYXJyYXkgb2YgaW5kZXhlcyBpbiB0aGUgImJhY2tSZWZzQXJyYXkiCisgICAgICAgIC8v
ICAgIHdpdGggdGhlIHNhbWUgcG9zaXRpb25zIGFzIGluIHRoZSBfbm9kZUluZGV4LgorICAgICAg
ICB2YXIgaW5kZXhBcnJheSA9IHRoaXNbIl9yZXRhaW5lckluZGV4Il0gPSBuZXcgSW50MzJBcnJh
eShub2RlQ291bnQpOworICAgICAgICB2YXIgZWRnZXNDb3VudE9mZnNldCA9IHRoaXMuX2VkZ2Vz
Q291bnRPZmZzZXQ7CisgICAgICAgIHZhciBmaXJzdEVkZ2VPZmZzZXQgPSB0aGlzLl9maXJzdEVk
Z2VPZmZzZXQ7CisgICAgICAgIHZhciBlZGdlRmllbGRzQ291bnQgPSB0aGlzLl9lZGdlRmllbGRz
Q291bnQ7CisgICAgICAgIHZhciBlZGdlVG9Ob2RlT2Zmc2V0ID0gdGhpcy5fZWRnZVRvTm9kZU9m
ZnNldDsKKyAgICAgICAgLy8gQ291bnQgdGhlIG51bWJlciBvZiByZXRhaW5lcnMgZm9yIGVhY2gg
bm9kZQorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVDb3VudDsgKytpKSB7CisgICAg
ICAgICAgICB2YXIgbm9kZUluZGV4ID0gbm9kZUluZGV4ZXNbaV07CisgICAgICAgICAgICB2YXIg
ZWRnZXNPZmZzZXQgPSBub2RlSW5kZXggKyBmaXJzdEVkZ2VPZmZzZXQgKyBlZGdlVG9Ob2RlT2Zm
c2V0OworICAgICAgICAgICAgdmFyIGVkZ2VzQ291bnQgPSBub2Rlc1tub2RlSW5kZXggKyBlZGdl
c0NvdW50T2Zmc2V0XTsKKyAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZWRnZXNDb3Vu
dDsgKytqKSB7CisgICAgICAgICAgICAgIHZhciB0YXJnZXROb2RlSW5kZXggPSBub2Rlc1tqICog
ZWRnZUZpZWxkc0NvdW50ICsgZWRnZXNPZmZzZXRdOworICAgICAgICAgICAgICArK2luZGV4QXJy
YXlbbm9kZVBvc2l0aW9uc1t0YXJnZXROb2RlSW5kZXhdXTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICB2YXIgYmFja1JlZnNDb3VudCA9IDA7CisgICAgICAgIGZvciAoaSA9IDA7
IGkgPCBub2RlQ291bnQ7ICsraSkKKyAgICAgICAgICAgIGJhY2tSZWZzQ291bnQgKz0gaW5kZXhB
cnJheVtpXTsKKyAgICAgICAgdmFyIGJhY2tSZWZzQXJyYXkgPSB0aGlzWyJfcmV0YWluZXJzIl0g
PSBuZXcgSW50MzJBcnJheShiYWNrUmVmc0NvdW50ICsgMSk7CisgICAgICAgIC8vIFB1dCBpbiB0
aGUgZmlyc3Qgc2xvdCBvZiBlYWNoIGJhY2tSZWZzQXJyYXkgc2xpY2UgdGhlIGNvdW50IG9mIGVu
dHJpZXMKKyAgICAgICAgLy8gdGhhdCB3aWxsIGJlIGZpbGxlZC4KKyAgICAgICAgdmFyIGJhY2tS
ZWZzUG9zaXRpb24gPSAwOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbm9kZUNvdW50OyArK2kp
IHsKKyAgICAgICAgICAgIGJhY2tSZWZzQ291bnQgPSBiYWNrUmVmc0FycmF5W2JhY2tSZWZzUG9z
aXRpb25dID0gaW5kZXhBcnJheVtpXTsKKyAgICAgICAgICAgIGluZGV4QXJyYXlbaV0gPSBiYWNr
UmVmc1Bvc2l0aW9uOworICAgICAgICAgICAgYmFja1JlZnNQb3NpdGlvbiArPSBiYWNrUmVmc0Nv
dW50OworICAgICAgICB9CisgICAgICAgIHZhciByZXRhaW5lckluZGV4ID0gdGhpcy5fcmV0YWlu
ZXJJbmRleDsKKyAgICAgICAgLy8gRmlsbCB1cCB0aGUgcmV0YWluZXJzIGFycmF5IHdpdGggaW5k
ZXhlcyBvZiBlZGdlcy4KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlQ291bnQ7ICsr
aSkgeworICAgICAgICAgICAgdmFyIG5vZGVJbmRleCA9IG5vZGVJbmRleGVzW2ldOworICAgICAg
ICAgICAgdmFyIGVkZ2VzT2Zmc2V0ID0gbm9kZUluZGV4ICsgZmlyc3RFZGdlT2Zmc2V0OworICAg
ICAgICAgICAgdmFyIGVkZ2VzQ291bnQgPSBub2Rlc1tub2RlSW5kZXggKyBlZGdlc0NvdW50T2Zm
c2V0XTsKKyAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZWRnZXNDb3VudDsgKytqKSB7
CisgICAgICAgICAgICAgICAgdmFyIGVkZ2VJbmRleCA9IGogKiBlZGdlRmllbGRzQ291bnQgKyBl
ZGdlc09mZnNldDsKKyAgICAgICAgICAgICAgICB2YXIgcmV0Tm9kZSA9IG5vZGVQb3NpdGlvbnNb
bm9kZXNbaiAqIGVkZ2VGaWVsZHNDb3VudCArIGVkZ2VzT2Zmc2V0ICsgZWRnZVRvTm9kZU9mZnNl
dF1dOworICAgICAgICAgICAgICAgIHZhciByZXRJbmRleCA9IGluZGV4QXJyYXlbcmV0Tm9kZV07
CisgICAgICAgICAgICAgICAgdmFyIGJhY2tSZWZJbmRleCA9IHJldEluZGV4ICsgKC0tYmFja1Jl
ZnNBcnJheVtyZXRJbmRleF0pOworICAgICAgICAgICAgICAgIGJhY2tSZWZzQXJyYXlbYmFja1Jl
ZkluZGV4XSA9IGVkZ2VJbmRleDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgICAgICB0
aGlzLl9jYWxjdWxhdGVPYmplY3RUb1dpbmRvd0Rpc3RhbmNlKCk7CiAgICAgfSwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133080</attachid>
            <date>2012-03-21 11:14:45 -0700</date>
            <delta_ts>2012-03-22 06:57:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81763-20120321191443.patch</filename>
            <type>text/plain</type>
            <size>4705</size>
            <attacher name="Alexei Filippov">alph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhkOTMwZDFlMjI3MjVk
MGE4N2QzYmE4MjVmMmY5ZjY5NDY2ZWM5Yy4uYjQzYjMzYjViYjViYTgzOTg2NjZjNzM4NjVmMDU2
ZTcwZjQ1MGFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTIxICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBTcGVlZCB1cCB0aGUgYnVpbGQgcmV0YWluZXJzIHBoYXNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE3NjMKKworICAgICAgICBSZXBsYWNp
bmcgdGhlIGVkZ2UgaXRlcmF0b3Igd2l0aCBhIHJhdyBsb29wIG1ha2VzIGl0CisgICAgICAgIGZh
c3RlciBieSBtb3JlIHRoYW4gMTAgdGltZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBlLl9idWlsZFJl
dGFpbmVycyk6CisKIDIwMTItMDMtMjEgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNv
bT4KIAogICAgICAgICBXVEYgaGVhZGVycyBzaG91bGQgYmUgaW4gJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXGluY2x1ZGVccHJpdmF0ZVx3dGYsIG5vdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcwppbmRleCA4NmUyNmE5NTQ1OTJjODky
YzJjMDk0YjBjMDVlODJiNGNhMjM3OTE1Li4yZjU5NWI1YzMyYmM1NmQwMmRmMGE5MjViOTUwMDE1
M2U4NDA1OGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0hlYXBTbmFwc2hvdC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0hlYXBTbmFwc2hvdC5qcwpAQCAtOTY1LDIyICs5NjUsNTYgQEAgV2ViSW5zcGVjdG9yLkhlYXBT
bmFwc2hvdC5wcm90b3R5cGUgPSB7CiAKICAgICBfYnVpbGRSZXRhaW5lcnM6IGZ1bmN0aW9uKCkK
ICAgICB7Ci0gICAgICAgIHRoaXMuX2J1aWxkUmV2ZXJzZUluZGV4KAotICAgICAgICAgICAgIl9y
ZXRhaW5lckluZGV4IiwKLSAgICAgICAgICAgICJfcmV0YWluZXJzIiwKLSAgICAgICAgICAgIChm
dW5jdGlvbiAobm9kZSwgY2FsbGJhY2spCi0gICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICBmb3IgKHZhciBlZGdlc0l0ZXIgPSBub2RlLmVkZ2VzOyBlZGdlc0l0ZXIuaGFzTmV4dCgpOyBl
ZGdlc0l0ZXIubmV4dCgpKQotICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sodGhpcy5fbm9k
ZVBvc2l0aW9uW2VkZ2VzSXRlci5lZGdlLm5vZGVJbmRleF0pOwotICAgICAgICAgICAgIH0pLmJp
bmQodGhpcyksCi0gICAgICAgICAgICAoZnVuY3Rpb24gKG5vZGUsIGluZGV4Q2FsbGJhY2ssIGRh
dGFDYWxsYmFjaykKLSAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIGZvciAodmFyIGVk
Z2VzSXRlciA9IG5vZGUuZWRnZXM7IGVkZ2VzSXRlci5oYXNOZXh0KCk7IGVkZ2VzSXRlci5uZXh0
KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgIHZhciBlZGdlID0gZWRnZXNJdGVyLmVkZ2U7Ci0g
ICAgICAgICAgICAgICAgICAgICB2YXIgcmV0SW5kZXggPSB0aGlzLl9nZXRSZXRhaW5lckluZGV4
KGVkZ2Uubm9kZUluZGV4KTsKLSAgICAgICAgICAgICAgICAgICAgIGRhdGFDYWxsYmFjayhpbmRl
eENhbGxiYWNrKHJldEluZGV4KSwgbm9kZS5ub2RlSW5kZXggKyB0aGlzLl9maXJzdEVkZ2VPZmZz
ZXQgKyBlZGdlLmVkZ2VJbmRleCk7Ci0gICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICB9
KS5iaW5kKHRoaXMpKTsKKyAgICAgICAgdmFyIG5vZGVJbmRleGVzID0gdGhpcy5ub2RlSW5kZXhl
czsKKyAgICAgICAgdmFyIG5vZGVQb3NpdGlvbnMgPSB0aGlzLl9ub2RlUG9zaXRpb247CisgICAg
ICAgIHZhciBub2RlQ291bnQgPSB0aGlzLm5vZGVDb3VudDsKKyAgICAgICAgdmFyIG5vZGVzID0g
dGhpcy5fbm9kZXM7CisKKyAgICAgICAgLy8gQnVpbGRzIHVwIHR3byBhcnJheXM6CisgICAgICAg
IC8vICAtICJiYWNrUmVmc0FycmF5IiBpcyBhIGNvbnRpbnVvdXMgYXJyYXksIHdoZXJlIGVhY2gg
bm9kZSBvd25zIGFuCisgICAgICAgIC8vICAgIGludGVydmFsIChjYW4gYmUgZW1wdHkpIHdpdGgg
Y29ycmVzcG9uZGluZyBiYWNrIHJlZmVyZW5jZXMuCisgICAgICAgIC8vICAtICJpbmRleEFycmF5
IiBpcyBhbiBhcnJheSBvZiBpbmRleGVzIGluIHRoZSAiYmFja1JlZnNBcnJheSIKKyAgICAgICAg
Ly8gICAgd2l0aCB0aGUgc2FtZSBwb3NpdGlvbnMgYXMgaW4gdGhlIF9ub2RlSW5kZXguCisgICAg
ICAgIHZhciBpbmRleEFycmF5ID0gdGhpcy5fcmV0YWluZXJJbmRleCA9IG5ldyBJbnQzMkFycmF5
KG5vZGVDb3VudCk7CisgICAgICAgIHZhciBlZGdlc0NvdW50T2Zmc2V0ID0gdGhpcy5fZWRnZXND
b3VudE9mZnNldDsKKyAgICAgICAgdmFyIGZpcnN0RWRnZU9mZnNldCA9IHRoaXMuX2ZpcnN0RWRn
ZU9mZnNldDsKKyAgICAgICAgdmFyIGVkZ2VGaWVsZHNDb3VudCA9IHRoaXMuX2VkZ2VGaWVsZHND
b3VudDsKKyAgICAgICAgdmFyIGVkZ2VUb05vZGVPZmZzZXQgPSB0aGlzLl9lZGdlVG9Ob2RlT2Zm
c2V0OworICAgICAgICB2YXIgYmFja1JlZnNDb3VudCA9IDA7CisgICAgICAgIC8vIENvdW50IHRo
ZSBudW1iZXIgb2YgcmV0YWluZXJzIGZvciBlYWNoIG5vZGUKKyAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBub2RlQ291bnQ7ICsraSkgeworICAgICAgICAgICAgdmFyIG5vZGVJbmRleCA9IG5v
ZGVJbmRleGVzW2ldOworICAgICAgICAgICAgdmFyIGVkZ2VzT2Zmc2V0ID0gbm9kZUluZGV4ICsg
Zmlyc3RFZGdlT2Zmc2V0ICsgZWRnZVRvTm9kZU9mZnNldDsKKyAgICAgICAgICAgIHZhciBlZGdl
c0NvdW50ID0gbm9kZXNbbm9kZUluZGV4ICsgZWRnZXNDb3VudE9mZnNldF07CisgICAgICAgICAg
ICBiYWNrUmVmc0NvdW50ICs9IGVkZ2VzQ291bnQ7CisgICAgICAgICAgICBmb3IgKHZhciBqID0g
MDsgaiA8IGVkZ2VzQ291bnQ7ICsraikgeworICAgICAgICAgICAgICB2YXIgdGFyZ2V0Tm9kZUlu
ZGV4ID0gbm9kZXNbaiAqIGVkZ2VGaWVsZHNDb3VudCArIGVkZ2VzT2Zmc2V0XTsKKyAgICAgICAg
ICAgICAgKytpbmRleEFycmF5W25vZGVQb3NpdGlvbnNbdGFyZ2V0Tm9kZUluZGV4XV07CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgdmFyIGJhY2tSZWZzQXJyYXkgPSB0aGlzLl9y
ZXRhaW5lcnMgPSBuZXcgSW50MzJBcnJheShiYWNrUmVmc0NvdW50KTsKKyAgICAgICAgLy8gUHV0
IGluIHRoZSBmaXJzdCBzbG90IG9mIGVhY2ggYmFja1JlZnNBcnJheSBzbGljZSB0aGUgY291bnQg
b2YgZW50cmllcworICAgICAgICAvLyB0aGF0IHdpbGwgYmUgZmlsbGVkLgorICAgICAgICB2YXIg
YmFja1JlZnNQb3NpdGlvbiA9IDA7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBub2RlQ291bnQ7
ICsraSkgeworICAgICAgICAgICAgYmFja1JlZnNDb3VudCA9IGJhY2tSZWZzQXJyYXlbYmFja1Jl
ZnNQb3NpdGlvbl0gPSBpbmRleEFycmF5W2ldOworICAgICAgICAgICAgaW5kZXhBcnJheVtpXSA9
IGJhY2tSZWZzUG9zaXRpb247CisgICAgICAgICAgICBiYWNrUmVmc1Bvc2l0aW9uICs9IGJhY2tS
ZWZzQ291bnQ7CisgICAgICAgIH0KKyAgICAgICAgdmFyIHJldGFpbmVySW5kZXggPSB0aGlzLl9y
ZXRhaW5lckluZGV4OworICAgICAgICAvLyBGaWxsIHVwIHRoZSByZXRhaW5lcnMgYXJyYXkgd2l0
aCBpbmRleGVzIG9mIGVkZ2VzLgorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVDb3Vu
dDsgKytpKSB7CisgICAgICAgICAgICB2YXIgbm9kZUluZGV4ID0gbm9kZUluZGV4ZXNbaV07Cisg
ICAgICAgICAgICB2YXIgZWRnZXNPZmZzZXQgPSBub2RlSW5kZXggKyBmaXJzdEVkZ2VPZmZzZXQ7
CisgICAgICAgICAgICB2YXIgZWRnZXNDb3VudCA9IG5vZGVzW25vZGVJbmRleCArIGVkZ2VzQ291
bnRPZmZzZXRdOworICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBlZGdlc0NvdW50OyAr
K2opIHsKKyAgICAgICAgICAgICAgICB2YXIgZWRnZUluZGV4ID0gaiAqIGVkZ2VGaWVsZHNDb3Vu
dCArIGVkZ2VzT2Zmc2V0OworICAgICAgICAgICAgICAgIHZhciByZXROb2RlID0gbm9kZVBvc2l0
aW9uc1tub2Rlc1tlZGdlSW5kZXggKyBlZGdlVG9Ob2RlT2Zmc2V0XV07CisgICAgICAgICAgICAg
ICAgdmFyIHJldEluZGV4ID0gaW5kZXhBcnJheVtyZXROb2RlXTsKKyAgICAgICAgICAgICAgICB2
YXIgYmFja1JlZkluZGV4ID0gcmV0SW5kZXggKyAoLS1iYWNrUmVmc0FycmF5W3JldEluZGV4XSk7
CisgICAgICAgICAgICAgICAgYmFja1JlZnNBcnJheVtiYWNrUmVmSW5kZXhdID0gZWRnZUluZGV4
OworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIHRoaXMuX2NhbGN1bGF0ZU9iamVj
dFRvV2luZG93RGlzdGFuY2UoKTsKICAgICB9LAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133249</attachid>
            <date>2012-03-22 06:57:13 -0700</date>
            <delta_ts>2012-03-26 07:22:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81763-20120322145710.patch</filename>
            <type>text/plain</type>
            <size>4700</size>
            <attacher name="Alexei Filippov">alph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Q3Yjg3YjAwOThkNTkx
MzljODA4NzNkYTMwODllNTI5ZTAwYWMyZi4uYzg3YjFiMWVjNmMxNmQ2NDdmMGU4YTM1NGY3YWIw
YmRkNDgyMTZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTIxICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBTcGVlZCB1cCB0aGUgYnVpbGQgcmV0YWluZXJzIHBoYXNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE3NjMKKworICAgICAgICBSZXBsYWNp
bmcgdGhlIGVkZ2UgaXRlcmF0b3Igd2l0aCBhIHJhdyBsb29wIG1ha2VzIGl0CisgICAgICAgIGZh
c3RlciBieSBtb3JlIHRoYW4gMTAgdGltZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBlLl9idWlsZFJl
dGFpbmVycyk6CisKIDIwMTItMDMtMjIgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogbWFrZSBDU1MgYW5kIEphdmFTY3JpcHQg
ZmlsZXMgZWRpdGFibGUgYnkgZGVmYXVsdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKaW5kZXggOWQ3ODQ5NzE0MGY4NzgxYjkxYzgz
YjY3ZjNiZWY3ZjNmNTc1ZWJhYy4uMDE3OTU4ODMzNzQyOTA3NTA5MTFhNjI2ZTBjNTBhNTdjNGZk
YzI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFw
U25hcHNob3QuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFw
U25hcHNob3QuanMKQEAgLTk1OSwyMiArOTU5LDU2IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNo
b3QucHJvdG90eXBlID0gewogCiAgICAgX2J1aWxkUmV0YWluZXJzOiBmdW5jdGlvbigpCiAgICAg
ewotICAgICAgICB0aGlzLl9idWlsZFJldmVyc2VJbmRleCgKLSAgICAgICAgICAgICJfcmV0YWlu
ZXJJbmRleCIsCi0gICAgICAgICAgICAiX3JldGFpbmVycyIsCi0gICAgICAgICAgICAoZnVuY3Rp
b24gKG5vZGUsIGNhbGxiYWNrKQotICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgZm9y
ICh2YXIgZWRnZXNJdGVyID0gbm9kZS5lZGdlczsgZWRnZXNJdGVyLmhhc05leHQoKTsgZWRnZXNJ
dGVyLm5leHQoKSkKLSAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMuX25vZGVQb3Np
dGlvbltlZGdlc0l0ZXIuZWRnZS5ub2RlSW5kZXhdKTsKLSAgICAgICAgICAgICB9KS5iaW5kKHRo
aXMpLAotICAgICAgICAgICAgKGZ1bmN0aW9uIChub2RlLCBpbmRleENhbGxiYWNrLCBkYXRhQ2Fs
bGJhY2spCi0gICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICBmb3IgKHZhciBlZGdlc0l0
ZXIgPSBub2RlLmVkZ2VzOyBlZGdlc0l0ZXIuaGFzTmV4dCgpOyBlZGdlc0l0ZXIubmV4dCgpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICB2YXIgZWRnZSA9IGVkZ2VzSXRlci5lZGdlOwotICAgICAg
ICAgICAgICAgICAgICAgdmFyIHJldEluZGV4ID0gdGhpcy5fZ2V0UmV0YWluZXJJbmRleChlZGdl
Lm5vZGVJbmRleCk7Ci0gICAgICAgICAgICAgICAgICAgICBkYXRhQ2FsbGJhY2soaW5kZXhDYWxs
YmFjayhyZXRJbmRleCksIG5vZGUubm9kZUluZGV4ICsgdGhpcy5fZmlyc3RFZGdlT2Zmc2V0ICsg
ZWRnZS5lZGdlSW5kZXgpOwotICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgfSkuYmlu
ZCh0aGlzKSk7CisgICAgICAgIHZhciBub2RlSW5kZXhlcyA9IHRoaXMubm9kZUluZGV4ZXM7Cisg
ICAgICAgIHZhciBub2RlUG9zaXRpb25zID0gdGhpcy5fbm9kZVBvc2l0aW9uOworICAgICAgICB2
YXIgbm9kZUNvdW50ID0gdGhpcy5ub2RlQ291bnQ7CisgICAgICAgIHZhciBub2RlcyA9IHRoaXMu
X25vZGVzOworCisgICAgICAgIC8vIEJ1aWxkcyB1cCB0d28gYXJyYXlzOgorICAgICAgICAvLyAg
LSAiYmFja1JlZnNBcnJheSIgaXMgYSBjb250aW51b3VzIGFycmF5LCB3aGVyZSBlYWNoIG5vZGUg
b3ducyBhbgorICAgICAgICAvLyAgICBpbnRlcnZhbCAoY2FuIGJlIGVtcHR5KSB3aXRoIGNvcnJl
c3BvbmRpbmcgYmFjayByZWZlcmVuY2VzLgorICAgICAgICAvLyAgLSAiaW5kZXhBcnJheSIgaXMg
YW4gYXJyYXkgb2YgaW5kZXhlcyBpbiB0aGUgImJhY2tSZWZzQXJyYXkiCisgICAgICAgIC8vICAg
IHdpdGggdGhlIHNhbWUgcG9zaXRpb25zIGFzIGluIHRoZSBfbm9kZUluZGV4LgorICAgICAgICB2
YXIgaW5kZXhBcnJheSA9IHRoaXMuX3JldGFpbmVySW5kZXggPSBuZXcgSW50MzJBcnJheShub2Rl
Q291bnQpOworICAgICAgICB2YXIgZWRnZXNDb3VudE9mZnNldCA9IHRoaXMuX2VkZ2VzQ291bnRP
ZmZzZXQ7CisgICAgICAgIHZhciBmaXJzdEVkZ2VPZmZzZXQgPSB0aGlzLl9maXJzdEVkZ2VPZmZz
ZXQ7CisgICAgICAgIHZhciBlZGdlRmllbGRzQ291bnQgPSB0aGlzLl9lZGdlRmllbGRzQ291bnQ7
CisgICAgICAgIHZhciBlZGdlVG9Ob2RlT2Zmc2V0ID0gdGhpcy5fZWRnZVRvTm9kZU9mZnNldDsK
KyAgICAgICAgdmFyIGJhY2tSZWZzQ291bnQgPSAwOworICAgICAgICAvLyBDb3VudCB0aGUgbnVt
YmVyIG9mIHJldGFpbmVycyBmb3IgZWFjaCBub2RlCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgbm9kZUNvdW50OyArK2kpIHsKKyAgICAgICAgICAgIHZhciBub2RlSW5kZXggPSBub2RlSW5k
ZXhlc1tpXTsKKyAgICAgICAgICAgIHZhciBlZGdlc09mZnNldCA9IG5vZGVJbmRleCArIGZpcnN0
RWRnZU9mZnNldCArIGVkZ2VUb05vZGVPZmZzZXQ7CisgICAgICAgICAgICB2YXIgZWRnZXNDb3Vu
dCA9IG5vZGVzW25vZGVJbmRleCArIGVkZ2VzQ291bnRPZmZzZXRdOworICAgICAgICAgICAgYmFj
a1JlZnNDb3VudCArPSBlZGdlc0NvdW50OworICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGog
PCBlZGdlc0NvdW50OyArK2opIHsKKyAgICAgICAgICAgICAgdmFyIHRhcmdldE5vZGVJbmRleCA9
IG5vZGVzW2ogKiBlZGdlRmllbGRzQ291bnQgKyBlZGdlc09mZnNldF07CisgICAgICAgICAgICAg
ICsraW5kZXhBcnJheVtub2RlUG9zaXRpb25zW3RhcmdldE5vZGVJbmRleF1dOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgIHZhciBiYWNrUmVmc0FycmF5ID0gdGhpcy5fcmV0YWlu
ZXJzID0gbmV3IEludDMyQXJyYXkoYmFja1JlZnNDb3VudCk7CisgICAgICAgIC8vIFB1dCBpbiB0
aGUgZmlyc3Qgc2xvdCBvZiBlYWNoIGJhY2tSZWZzQXJyYXkgc2xpY2UgdGhlIGNvdW50IG9mIGVu
dHJpZXMKKyAgICAgICAgLy8gdGhhdCB3aWxsIGJlIGZpbGxlZC4KKyAgICAgICAgdmFyIGJhY2tS
ZWZzUG9zaXRpb24gPSAwOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbm9kZUNvdW50OyArK2kp
IHsKKyAgICAgICAgICAgIGJhY2tSZWZzQ291bnQgPSBiYWNrUmVmc0FycmF5W2JhY2tSZWZzUG9z
aXRpb25dID0gaW5kZXhBcnJheVtpXTsKKyAgICAgICAgICAgIGluZGV4QXJyYXlbaV0gPSBiYWNr
UmVmc1Bvc2l0aW9uOworICAgICAgICAgICAgYmFja1JlZnNQb3NpdGlvbiArPSBiYWNrUmVmc0Nv
dW50OworICAgICAgICB9CisgICAgICAgIHZhciByZXRhaW5lckluZGV4ID0gdGhpcy5fcmV0YWlu
ZXJJbmRleDsKKyAgICAgICAgLy8gRmlsbCB1cCB0aGUgcmV0YWluZXJzIGFycmF5IHdpdGggaW5k
ZXhlcyBvZiBlZGdlcy4KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlQ291bnQ7ICsr
aSkgeworICAgICAgICAgICAgdmFyIG5vZGVJbmRleCA9IG5vZGVJbmRleGVzW2ldOworICAgICAg
ICAgICAgdmFyIGVkZ2VzT2Zmc2V0ID0gbm9kZUluZGV4ICsgZmlyc3RFZGdlT2Zmc2V0OworICAg
ICAgICAgICAgdmFyIGVkZ2VzQ291bnQgPSBub2Rlc1tub2RlSW5kZXggKyBlZGdlc0NvdW50T2Zm
c2V0XTsKKyAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZWRnZXNDb3VudDsgKytqKSB7
CisgICAgICAgICAgICAgICAgdmFyIGVkZ2VJbmRleCA9IGogKiBlZGdlRmllbGRzQ291bnQgKyBl
ZGdlc09mZnNldDsKKyAgICAgICAgICAgICAgICB2YXIgcmV0Tm9kZSA9IG5vZGVQb3NpdGlvbnNb
bm9kZXNbZWRnZUluZGV4ICsgZWRnZVRvTm9kZU9mZnNldF1dOworICAgICAgICAgICAgICAgIHZh
ciByZXRJbmRleCA9IGluZGV4QXJyYXlbcmV0Tm9kZV07CisgICAgICAgICAgICAgICAgdmFyIGJh
Y2tSZWZJbmRleCA9IHJldEluZGV4ICsgKC0tYmFja1JlZnNBcnJheVtyZXRJbmRleF0pOworICAg
ICAgICAgICAgICAgIGJhY2tSZWZzQXJyYXlbYmFja1JlZkluZGV4XSA9IGVkZ2VJbmRleDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0sCiAKICAgICBfY2FsY3VsYXRlT2JqZWN0VG9X
aW5kb3dEaXN0YW5jZTogZnVuY3Rpb24oKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133804</attachid>
            <date>2012-03-26 07:22:37 -0700</date>
            <delta_ts>2012-03-26 07:33:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81763-20120326182235.patch</filename>
            <type>text/plain</type>
            <size>4879</size>
            <attacher name="Alexei Filippov">alph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjczMjUwOTdhZmYxNTUy
MGU0MWM2MTkyNmFkZjMyZDBkNTM2YzRlYS4uMzVhN2E4MTFiYzg4ZTU4YWZmN2M3YjgzMjIxOTU1
OGEwNWRjMDI0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTI2ICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBTcGVlZCB1cCB0aGUgcmV0YWluZXJzIGJ1aWxkIHBoYXNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE3NjMKKworICAgICAgICBSZXBsYWNp
bmcgdGhlIGVkZ2UgaXRlcmF0b3IgaW4gcmV0YWluZXJzIGJ1aWxkaW5nIHBoYXNlCisgICAgICAg
IG1ha2VzIGl0IHJ1biAxMCB0aW1lcyBmYXN0ZXIgKDQwMCBtcyB2cy4gNCBzZWMpLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9IZWFwU25hcHNob3QuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90LnByb3RvdHlwZS5fYnVpbGRSZXRhaW5lcnMpOgorCiAyMDEyLTAzLTIyICBBbGV4YW5kZXIg
UGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
TWlncmF0ZSBJbnNwZWN0b3JDU1NBZ2VudCB0byBzdHJpY3QgcHJvdG9jb2wgdHlwZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90Lmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKaW5k
ZXggOTFhZWMxNWU1N2VhNjNlNjE0Njg0ZWVhMDMyZmIyY2MwODFkOTBlZi4uN2UzYjRkNmQ5N2Yw
OTE0NzAwMDY4ODRkOTJlMDc4MWQ5YmNiNThkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKQEAgLTEwNjksMjIgKzEwNjksNTgg
QEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUgPSB7CiAKICAgICBfYnVpbGRS
ZXRhaW5lcnM6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHRoaXMuX2J1aWxkUmV2ZXJzZUlu
ZGV4KAotICAgICAgICAgICAgIl9yZXRhaW5lckluZGV4IiwKLSAgICAgICAgICAgICJfcmV0YWlu
ZXJzIiwKLSAgICAgICAgICAgIChmdW5jdGlvbiAobm9kZSwgY2FsbGJhY2spCi0gICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICBmb3IgKHZhciBlZGdlc0l0ZXIgPSBub2RlLmVkZ2VzOyBl
ZGdlc0l0ZXIuaGFzTmV4dCgpOyBlZGdlc0l0ZXIubmV4dCgpKQotICAgICAgICAgICAgICAgICAg
ICAgY2FsbGJhY2sodGhpcy5fbm9kZVBvc2l0aW9uW2VkZ2VzSXRlci5lZGdlLm5vZGVJbmRleF0p
OwotICAgICAgICAgICAgIH0pLmJpbmQodGhpcyksCi0gICAgICAgICAgICAoZnVuY3Rpb24gKG5v
ZGUsIGluZGV4Q2FsbGJhY2ssIGRhdGFDYWxsYmFjaykKLSAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIGZvciAodmFyIGVkZ2VzSXRlciA9IG5vZGUuZWRnZXM7IGVkZ2VzSXRlci5oYXNO
ZXh0KCk7IGVkZ2VzSXRlci5uZXh0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgIHZhciBlZGdl
ID0gZWRnZXNJdGVyLmVkZ2U7Ci0gICAgICAgICAgICAgICAgICAgICB2YXIgcmV0SW5kZXggPSB0
aGlzLl9nZXRSZXRhaW5lckluZGV4KGVkZ2Uubm9kZUluZGV4KTsKLSAgICAgICAgICAgICAgICAg
ICAgIGRhdGFDYWxsYmFjayhpbmRleENhbGxiYWNrKHJldEluZGV4KSwgbm9kZS5ub2RlSW5kZXgg
KyB0aGlzLl9maXJzdEVkZ2VPZmZzZXQgKyBlZGdlLmVkZ2VJbmRleCk7Ci0gICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICB9KS5iaW5kKHRoaXMpKTsKKyAgICAgICAgdmFyIG5vZGVJbmRl
eGVzID0gdGhpcy5ub2RlSW5kZXhlczsKKyAgICAgICAgdmFyIG5vZGVQb3NpdGlvbnMgPSB0aGlz
Ll9ub2RlUG9zaXRpb247CisgICAgICAgIHZhciBub2RlQ291bnQgPSB0aGlzLm5vZGVDb3VudDsK
KyAgICAgICAgdmFyIG5vZGVzID0gdGhpcy5fbm9kZXM7CisKKyAgICAgICAgLy8gQnVpbGRzIHVw
IHR3byBhcnJheXM6CisgICAgICAgIC8vICAtICJiYWNrUmVmc0FycmF5IiBpcyBhIGNvbnRpbnVv
dXMgYXJyYXksIHdoZXJlIGVhY2ggbm9kZSBvd25zIGFuCisgICAgICAgIC8vICAgIGludGVydmFs
IChjYW4gYmUgZW1wdHkpIHdpdGggY29ycmVzcG9uZGluZyBiYWNrIHJlZmVyZW5jZXMuCisgICAg
ICAgIC8vICAtICJpbmRleEFycmF5IiBpcyBhbiBhcnJheSBvZiBpbmRleGVzIGluIHRoZSAiYmFj
a1JlZnNBcnJheSIKKyAgICAgICAgLy8gICAgd2l0aCB0aGUgc2FtZSBwb3NpdGlvbnMgYXMgaW4g
dGhlIF9ub2RlSW5kZXguCisgICAgICAgIHZhciBpbmRleEFycmF5ID0gdGhpcy5fcmV0YWluZXJJ
bmRleCA9IG5ldyBJbnQzMkFycmF5KG5vZGVDb3VudCArIDEpOworICAgICAgICB2YXIgZWRnZXND
b3VudE9mZnNldCA9IHRoaXMuX2VkZ2VzQ291bnRPZmZzZXQ7CisgICAgICAgIHZhciBmaXJzdEVk
Z2VPZmZzZXQgPSB0aGlzLl9maXJzdEVkZ2VPZmZzZXQ7CisgICAgICAgIHZhciBlZGdlRmllbGRz
Q291bnQgPSB0aGlzLl9lZGdlRmllbGRzQ291bnQ7CisgICAgICAgIHZhciBlZGdlVG9Ob2RlT2Zm
c2V0ID0gdGhpcy5fZWRnZVRvTm9kZU9mZnNldDsKKyAgICAgICAgdmFyIGJhY2tSZWZzQ291bnQg
PSAwOworICAgICAgICAvLyBDb3VudCB0aGUgbnVtYmVyIG9mIHJldGFpbmVycyBmb3IgZWFjaCBu
b2RlCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZUNvdW50OyArK2kpIHsKKyAgICAg
ICAgICAgIHZhciBub2RlSW5kZXggPSBub2RlSW5kZXhlc1tpXTsKKyAgICAgICAgICAgIHZhciBl
ZGdlc09mZnNldCA9IG5vZGVJbmRleCArIGZpcnN0RWRnZU9mZnNldCArIGVkZ2VUb05vZGVPZmZz
ZXQ7CisgICAgICAgICAgICB2YXIgZWRnZXNDb3VudCA9IG5vZGVzW25vZGVJbmRleCArIGVkZ2Vz
Q291bnRPZmZzZXRdOworICAgICAgICAgICAgYmFja1JlZnNDb3VudCArPSBlZGdlc0NvdW50Owor
ICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBlZGdlc0NvdW50OyArK2opIHsKKyAgICAg
ICAgICAgICAgdmFyIHRhcmdldE5vZGVJbmRleCA9IG5vZGVzW2ogKiBlZGdlRmllbGRzQ291bnQg
KyBlZGdlc09mZnNldF07CisgICAgICAgICAgICAgICsraW5kZXhBcnJheVtub2RlUG9zaXRpb25z
W3RhcmdldE5vZGVJbmRleF1dOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHZh
ciBiYWNrUmVmc0FycmF5ID0gdGhpcy5fcmV0YWluZXJzID0gbmV3IEludDMyQXJyYXkoYmFja1Jl
ZnNDb3VudCk7CisgICAgICAgIC8vIFB1dCBpbiB0aGUgZmlyc3Qgc2xvdCBvZiBlYWNoIGJhY2tS
ZWZzQXJyYXkgc2xpY2UgdGhlIGNvdW50IG9mIGVudHJpZXMKKyAgICAgICAgLy8gdGhhdCB3aWxs
IGJlIGZpbGxlZC4KKyAgICAgICAgdmFyIGJhY2tSZWZzUG9zaXRpb24gPSAwOworICAgICAgICAv
LyBUaGUgb25lIGV4dHJhIHNsb3QgaW4gdGhlIF9yZXRhaW5lckluZGV4IGFycmF5IGlzIHNldCB0
byB0aGUKKyAgICAgICAgLy8gZW5kIG9mIF9yZXRhaW5lcnMgYXJyYXkuIEl0IGlzIHVzZWQgaW4g
dGhlIHJldGFpbmVycyBpdGVyYXRvci4KKyAgICAgICAgZm9yIChpID0gMDsgaSA8PSBub2RlQ291
bnQ7ICsraSkgeworICAgICAgICAgICAgYmFja1JlZnNDb3VudCA9IGJhY2tSZWZzQXJyYXlbYmFj
a1JlZnNQb3NpdGlvbl0gPSBpbmRleEFycmF5W2ldOworICAgICAgICAgICAgaW5kZXhBcnJheVtp
XSA9IGJhY2tSZWZzUG9zaXRpb247CisgICAgICAgICAgICBiYWNrUmVmc1Bvc2l0aW9uICs9IGJh
Y2tSZWZzQ291bnQ7CisgICAgICAgIH0KKyAgICAgICAgdmFyIHJldGFpbmVySW5kZXggPSB0aGlz
Ll9yZXRhaW5lckluZGV4OworICAgICAgICAvLyBGaWxsIHVwIHRoZSByZXRhaW5lcnMgYXJyYXkg
d2l0aCBpbmRleGVzIG9mIGVkZ2VzLgorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVD
b3VudDsgKytpKSB7CisgICAgICAgICAgICB2YXIgbm9kZUluZGV4ID0gbm9kZUluZGV4ZXNbaV07
CisgICAgICAgICAgICB2YXIgZWRnZXNPZmZzZXQgPSBub2RlSW5kZXggKyBmaXJzdEVkZ2VPZmZz
ZXQ7CisgICAgICAgICAgICB2YXIgZWRnZXNDb3VudCA9IG5vZGVzW25vZGVJbmRleCArIGVkZ2Vz
Q291bnRPZmZzZXRdOworICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBlZGdlc0NvdW50
OyArK2opIHsKKyAgICAgICAgICAgICAgICB2YXIgZWRnZUluZGV4ID0gaiAqIGVkZ2VGaWVsZHND
b3VudCArIGVkZ2VzT2Zmc2V0OworICAgICAgICAgICAgICAgIHZhciByZXROb2RlID0gbm9kZVBv
c2l0aW9uc1tub2Rlc1tlZGdlSW5kZXggKyBlZGdlVG9Ob2RlT2Zmc2V0XV07CisgICAgICAgICAg
ICAgICAgdmFyIHJldEluZGV4ID0gaW5kZXhBcnJheVtyZXROb2RlXTsKKyAgICAgICAgICAgICAg
ICB2YXIgYmFja1JlZkluZGV4ID0gcmV0SW5kZXggKyAoLS1iYWNrUmVmc0FycmF5W3JldEluZGV4
XSk7CisgICAgICAgICAgICAgICAgYmFja1JlZnNBcnJheVtiYWNrUmVmSW5kZXhdID0gZWRnZUlu
ZGV4OworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgfSwKIAogICAgIF9jYWxjdWxhdGVP
YmplY3RUb1dpbmRvd0Rpc3RhbmNlOiBmdW5jdGlvbigpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>