<?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>83465</bug_id>
          
          <creation_ts>2012-04-09 05:32:30 -0700</creation_ts>
          <short_desc>Web Inspector: split nodes and edges array in heap profiler serialization.</short_desc>
          <delta_ts>2012-04-10 14:45:57 -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>
          
          
          <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>598238</commentid>
    <comment_count>0</comment_count>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-04-09 05:32:30 -0700</bug_when>
    <thetext>Make frontend able to read a new serialization format where nodes and edges come in two separate arrays.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598240</commentid>
    <comment_count>1</comment_count>
      <attachid>136214</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-04-09 05:35:04 -0700</bug_when>
    <thetext>Created attachment 136214
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598250</commentid>
    <comment_count>2</comment_count>
      <attachid>136214</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-04-09 06:16:11 -0700</bug_when>
    <thetext>Comment on attachment 136214
Patch

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

Pleas add a test for the new snapshot format, r- for this.

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:184
&gt; +                this._array.push(0);

Can you move the meta node out of the array into its own element?

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:222
&gt; +            // Add an extra node that points at the end of edges array.

Can you do this is a separate change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598393</commentid>
    <comment_count>3</comment_count>
      <attachid>136259</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-04-09 10:23:20 -0700</bug_when>
    <thetext>Created attachment 136259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599080</commentid>
    <comment_count>4</comment_count>
      <attachid>136259</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-04-10 00:45:17 -0700</bug_when>
    <thetext>Comment on attachment 136259
Patch

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

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:92
&gt; +    _parseIntArray: function()

To be precise it is _parseUintArray</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599111</commentid>
    <comment_count>5</comment_count>
      <attachid>136214</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-04-10 02:35:05 -0700</bug_when>
    <thetext>Comment on attachment 136214
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:184
&gt;&gt; +                this._array.push(0);
&gt; 
&gt; Can you move the meta node out of the array into its own element?

This is for the original version. There has to be a zero dummy node.

&gt;&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:222
&gt;&gt; +            // Add an extra node that points at the end of edges array.
&gt; 
&gt; Can you do this is a separate change?

sure. removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599112</commentid>
    <comment_count>6</comment_count>
      <attachid>136259</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-04-10 02:35:30 -0700</bug_when>
    <thetext>Comment on attachment 136259
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:92
&gt;&gt; +    _parseIntArray: function()
&gt; 
&gt; To be precise it is _parseUintArray

I promise to rename it when I&apos;ll be cleaning up the old serialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599244</commentid>
    <comment_count>7</comment_count>
      <attachid>136450</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-04-10 07:15:29 -0700</bug_when>
    <thetext>Created attachment 136450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599663</commentid>
    <comment_count>8</comment_count>
      <attachid>136450</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-10 14:45:51 -0700</bug_when>
    <thetext>Comment on attachment 136450
Patch

Clearing flags on attachment: 136450

Committed r113771: &lt;http://trac.webkit.org/changeset/113771&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599664</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-10 14:45:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136214</attachid>
            <date>2012-04-09 05:35:04 -0700</date>
            <delta_ts>2012-04-10 02:35:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83465-20120409163502.patch</filename>
            <type>text/plain</type>
            <size>5627</size>
            <attacher name="Alexei Filippov">alph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDMwZWE2YzU1ZmYyN2I5
ZTgzOWUyZmFkNGM0OGE4YWE0YThhYjNjNC4uZDhiYmU0M2NjZjVmY2IzNjE1NzE1OTFmZWI1MTli
YmYyODZhM2Q0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA0LTA5ICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzcGxpdCBub2RlcyBhbmQgZWRnZXMgYXJyYXkgaW4gaGVhcCBwcm9maWxlciBzZXJpYWxp
emF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODM0NjUKKworICAgICAgICBGcm9udGVuZCBpcyBub3cgYWJsZSB0byByZWFkIGZvcm1hdCB3aGVu
IG5vZGVzIGFuZCBlZGdlcyBhcnJpdmUKKyAgICAgICAgaW4gdHdvIHNlcGFyYXRlIGFycmF5cy4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdExvYWRlci5wcm90b3R5cGUuX3BhcnNlSW50QXJyYXkpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdExvYWRlci5wcm90b3R5cGUucHVzaEpTT05DaHVuayk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3QucHJvdG90eXBlLl9pbml0KToKKwogMjAxMi0wNC0wOSAgSmFtZXMgUm9i
aW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBwYXJ0aWFsbHkg
aW1wbGVtZW50ZWQgcGVyLUVsZW1lbnQgdmlzaWJpbGl0eSBjaGVja3MgZnJvbSByZXF1ZXN0QW5p
bWF0aW9uRnJhbWUgbG9naWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSGVhcFNuYXBzaG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9IZWFwU25hcHNob3QuanMKaW5kZXggNDBlY2NiMGU4NzQ5NzY4OTlkZWNmNWQ1NzU0ZGY4
MWVkNzA1NmViYi4uNTkyZDAwMzRmMDM5Y2E0NzdkNjhmMzk0OGYzNmY1ZjMwYzFhN2MyMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3Qu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3Qu
anMKQEAgLTg5LDcgKzg5LDcgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdExvYWRlci5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfSwKIAotICAgIF9wYXJzZU5v
ZGVzOiBmdW5jdGlvbigpCisgICAgX3BhcnNlSW50QXJyYXk6IGZ1bmN0aW9uKCkKICAgICB7CiAg
ICAgICAgIHZhciBpbmRleCA9IDA7CiAgICAgICAgIHZhciBjaGFyMCA9ICIwIi5jaGFyQ29kZUF0
KDApLCBjaGFyOSA9ICI5Ii5jaGFyQ29kZUF0KDApLCBjbG9zaW5nQnJhY2tldCA9ICJdIi5jaGFy
Q29kZUF0KDApOwpAQCAtMTAxLDcgKzEwMSw2IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RM
b2FkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgICBlbHNlIGlmIChjb2RlID09PSBjbG9zaW5nQnJhY2tldCkgewogICAgICAgICAgICAg
ICAgICAgICB0aGlzLl9qc29uID0gdGhpcy5fanNvbi5zbGljZShpbmRleCArIDEpOwotICAgICAg
ICAgICAgICAgICAgICB0aGlzLl9zbmFwc2hvdC5ub2RlcyA9IHRoaXMuX25vZGVzLmFycmF5Owog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgICsraW5kZXg7CkBAIC0xMjQsNyArMTIzLDcgQEAgV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdExvYWRlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgdGhpcy5fanNv
biA9IHRoaXMuX2pzb24uc2xpY2Uoc3RhcnRJbmRleCk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aGlzLl9ub2Rlcy5wdXNoKG5leHRO
dW1iZXIpOworICAgICAgICAgICAgdGhpcy5fYXJyYXkucHVzaChuZXh0TnVtYmVyKTsKICAgICAg
ICAgfQogICAgIH0sCiAKQEAgLTE3OCwxNyArMTc3LDUzIEBAIFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RMb2FkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIGNsb3NpbmdCcmFja2V0
SW5kZXggPSB0aGlzLl9maW5kQmFsYW5jZWRDdXJseUJyYWNrZXRzKCk7CiAgICAgICAgICAgICBp
ZiAoY2xvc2luZ0JyYWNrZXRJbmRleCA9PT0gLTEpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgdGhpcy5fbm9kZXMgPSBuZXcgV2ViSW5zcGVjdG9yLlVpbnQzMkFycmF5KCk7
Ci0gICAgICAgICAgICB0aGlzLl9ub2Rlcy5wdXNoKDApOwogICAgICAgICAgICAgdGhpcy5fc25h
cHNob3QubWV0YU5vZGUgPSBKU09OLnBhcnNlKHRoaXMuX2pzb24uc2xpY2UoMCwgY2xvc2luZ0Jy
YWNrZXRJbmRleCkpOwogICAgICAgICAgICAgdGhpcy5fanNvbiA9IHRoaXMuX2pzb24uc2xpY2Uo
Y2xvc2luZ0JyYWNrZXRJbmRleCk7CisgICAgICAgICAgICB0aGlzLl9hcnJheSA9IG5ldyBXZWJJ
bnNwZWN0b3IuVWludDMyQXJyYXkoKTsKKyAgICAgICAgICAgIGlmICghdGhpcy5fc25hcHNob3Qu
bWV0YU5vZGUuc2VwYXJhdGVfZWRnZXMpCisgICAgICAgICAgICAgICAgdGhpcy5fYXJyYXkucHVz
aCgwKTsKICAgICAgICAgICAgIHRoaXMuX3N0YXRlID0gInBhcnNlLW5vZGVzIjsKICAgICAgICAg
ICAgIHRoaXMucHVzaEpTT05DaHVuaygiIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBjYXNlICJwYXJzZS1ub2RlcyI6IHsKLSAgICAgICAgICAgIGlmICh0aGlzLl9w
YXJzZU5vZGVzKCkpCisgICAgICAgICAgICBpZiAodGhpcy5fcGFyc2VJbnRBcnJheSgpKQogICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGlmICh0aGlzLl9zbmFwc2hvdC5tZXRh
Tm9kZS5zZXBhcmF0ZV9lZGdlcykgeworICAgICAgICAgICAgICAgIHRoaXMuX3NuYXBzaG90Lm9u
bHlOb2RlcyA9IHRoaXMuX2FycmF5OworICAgICAgICAgICAgICAgIHRoaXMuX3N0YXRlID0gImZp
bmQtZWRnZXMiOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9z
bmFwc2hvdC5ub2RlcyA9IHRoaXMuX2FycmF5LmFycmF5OworICAgICAgICAgICAgICAgIHRoaXMu
X3N0YXRlID0gImZpbmQtc3RyaW5ncyI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0aGlz
Ll9hcnJheSA9IG51bGw7CisgICAgICAgICAgICB0aGlzLnB1c2hKU09OQ2h1bmsoIiIpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSAiZmluZC1lZGdlcyI6IHsK
KyAgICAgICAgICAgIHZhciBlZGdlc1Rva2VuID0gIlwiZWRnZXNcIiI7CisgICAgICAgICAgICB2
YXIgZWRnZXNUb2tlbkluZGV4ID0gdGhpcy5fanNvbi5pbmRleE9mKGVkZ2VzVG9rZW4pOworICAg
ICAgICAgICAgaWYgKGVkZ2VzVG9rZW5JbmRleCA9PT0gLTEpCisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgdmFyIGJyYWNrZXRJbmRleCA9IHRoaXMuX2pzb24uaW5kZXhPZigi
WyIsIGVkZ2VzVG9rZW5JbmRleCk7CisgICAgICAgICAgICBpZiAoYnJhY2tldEluZGV4ID09PSAt
MSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB0aGlzLl9qc29uID0gdGhp
cy5fanNvbi5zbGljZShicmFja2V0SW5kZXggKyAxKTsKKyAgICAgICAgICAgIHRoaXMuX2FycmF5
ID0gbmV3IFdlYkluc3BlY3Rvci5VaW50MzJBcnJheSgpOworICAgICAgICAgICAgdGhpcy5fc3Rh
dGUgPSAicGFyc2UtZWRnZXMiOworICAgICAgICAgICAgdGhpcy5wdXNoSlNPTkNodW5rKCIiKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgInBhcnNlLWVkZ2Vz
IjogeworICAgICAgICAgICAgaWYgKHRoaXMuX3BhcnNlSW50QXJyYXkoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB0aGlzLl9zbmFwc2hvdC5jb250YWlubWVudEVkZ2Vz
ID0gdGhpcy5fYXJyYXkuYXJyYXk7CisgICAgICAgICAgICB0aGlzLl9hcnJheSA9IG51bGw7Cisg
ICAgICAgICAgICAvLyBBZGQgYW4gZXh0cmEgbm9kZSB0aGF0IHBvaW50cyBhdCB0aGUgZW5kIG9m
IGVkZ2VzIGFycmF5LgorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCB0aGlzLl9zbmFw
c2hvdC5tZXRhTm9kZS5fbm9kZUZpZWxkQ291bnQ7ICsraSkKKyAgICAgICAgICAgICAgICB0aGlz
Ll9zbmFwc2hvdC5vbmx5Tm9kZXMucHVzaCgwKTsKKyAgICAgICAgICAgIHRoaXMuX3NuYXBzaG90
Lm9ubHlOb2Rlcy5wdXNoKHRoaXMuX3NuYXBzaG90LmNvbnRhaW5tZW50RWRnZXMubGVuZ3RoKTsK
KyAgICAgICAgICAgIHRoaXMuX3NuYXBzaG90Lm9ubHlOb2RlcyA9IHRoaXMuX3NuYXBzaG90Lm9u
bHlOb2Rlcy5hcnJheTsKICAgICAgICAgICAgIHRoaXMuX3N0YXRlID0gImZpbmQtc3RyaW5ncyI7
CiAgICAgICAgICAgICB0aGlzLnB1c2hKU09OQ2h1bmsoIiIpOwogICAgICAgICAgICAgYnJlYWs7
CkBAIC03NTcsNiArNzkyLDggQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdCA9IGZ1bmN0aW9u
KHByb2ZpbGUpCiB7CiAgICAgdGhpcy51aWQgPSBwcm9maWxlLnNuYXBzaG90LnVpZDsKICAgICB0
aGlzLl9ub2RlcyA9IHByb2ZpbGUubm9kZXM7CisgICAgdGhpcy5fb25seU5vZGVzID0gcHJvZmls
ZS5vbmx5Tm9kZXM7CisgICAgdGhpcy5fY29udGFpbm1lbnRFZGdlcyA9IHByb2ZpbGUuY29udGFp
bm1lbnRFZGdlczsKICAgICB0aGlzLl9tZXRhTm9kZSA9IHByb2ZpbGUubWV0YU5vZGU7CiAgICAg
dGhpcy5fc3RyaW5ncyA9IHByb2ZpbGUuc3RyaW5nczsKIApAQCAtODA2LDcgKzg0MywxMyBAQCBX
ZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGRldGFj
aGVkRE9NVHJlZU5vZGU6IDIsCiAgICAgICAgIH07CiAKLSAgICAgICAgdGhpcy5fc3BsaXROb2Rl
c0FuZENvbnRhaW5tZW50RWRnZXMoKTsKKyAgICAgICAgaWYgKG1ldGEuc2VwYXJhdGVfZWRnZXMp
IHsKKyAgICAgICAgICAgIHRoaXMuX2VkZ2VDb3VudCA9IHRoaXMuX2NvbnRhaW5tZW50RWRnZXMu
bGVuZ3RoIC8gdGhpcy5fZWRnZUZpZWxkc0NvdW50OworICAgICAgICAgICAgdGhpcy5ub2RlQ291
bnQgPSB0aGlzLl9vbmx5Tm9kZXMubGVuZ3RoIC8gdGhpcy5fbm9kZUZpZWxkQ291bnQgLSAxOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGhpcy5fc3BsaXROb2Rlc0FuZENvbnRhaW5t
ZW50RWRnZXMoKTsKKyAgICAgICAgfQorCiAgICAgICAgIHRoaXMuX3Jvb3ROb2RlSW5kZXggPSAw
OwogCiAgICAgICAgIHRoaXMuX21hcmtJbnZpc2libGVFZGdlcygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136259</attachid>
            <date>2012-04-09 10:23:20 -0700</date>
            <delta_ts>2012-04-10 07:15:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83465-20120409212318.patch</filename>
            <type>text/plain</type>
            <size>9900</size>
            <attacher name="Alexei Filippov">alph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWUxNGNkOWUxMjZiN2Zh
MjdkOWVjZWNiYzNhYTUxYmQwYzA0ZmJhNy4uNTJkNDFlYWMwMWM3MTJlNWYwZTViOGZhNWY0ZmZm
OTM3NGFiNTNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA0LTA5ICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzcGxpdCBub2RlcyBhbmQgZWRnZXMgYXJyYXkgaW4gaGVhcCBwcm9maWxlciBzZXJpYWxp
emF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODM0NjUKKworICAgICAgICBGcm9udGVuZCBpcyBub3cgYWJsZSB0byByZWFkIGZvcm1hdCB3aGVu
IG5vZGVzIGFuZCBlZGdlcyBhcnJpdmUKKyAgICAgICAgaW4gdHdvIHNlcGFyYXRlIGFycmF5cy4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdExvYWRlci5wcm90b3R5cGUuX3BhcnNlSW50QXJyYXkpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdExvYWRlci5wcm90b3R5cGUucHVzaEpTT05DaHVuayk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3QucHJvdG90eXBlLl9pbml0KToKKwogMjAxMi0wNC0wOSAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgZXhwb3NlIGludGVybmFs
IENTU1ZhbHVlcyBpbiBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSGVhcFNuYXBzaG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9IZWFwU25hcHNob3QuanMKaW5kZXggNDBlY2NiMGU4NzQ5NzY4OTlkZWNmNWQ1NzU0ZGY4
MWVkNzA1NmViYi4uNzYyODk4MGNjYjA0MmMzNGUwOGJhYzZmOGYzMGQwYWIyOTBiZjI4YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3Qu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3Qu
anMKQEAgLTg5LDcgKzg5LDcgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdExvYWRlci5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfSwKIAotICAgIF9wYXJzZU5v
ZGVzOiBmdW5jdGlvbigpCisgICAgX3BhcnNlSW50QXJyYXk6IGZ1bmN0aW9uKCkKICAgICB7CiAg
ICAgICAgIHZhciBpbmRleCA9IDA7CiAgICAgICAgIHZhciBjaGFyMCA9ICIwIi5jaGFyQ29kZUF0
KDApLCBjaGFyOSA9ICI5Ii5jaGFyQ29kZUF0KDApLCBjbG9zaW5nQnJhY2tldCA9ICJdIi5jaGFy
Q29kZUF0KDApOwpAQCAtMTAxLDcgKzEwMSw2IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RM
b2FkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgICBlbHNlIGlmIChjb2RlID09PSBjbG9zaW5nQnJhY2tldCkgewogICAgICAgICAgICAg
ICAgICAgICB0aGlzLl9qc29uID0gdGhpcy5fanNvbi5zbGljZShpbmRleCArIDEpOwotICAgICAg
ICAgICAgICAgICAgICB0aGlzLl9zbmFwc2hvdC5ub2RlcyA9IHRoaXMuX25vZGVzLmFycmF5Owog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgICsraW5kZXg7CkBAIC0xMjQsNyArMTIzLDcgQEAgV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdExvYWRlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgdGhpcy5fanNv
biA9IHRoaXMuX2pzb24uc2xpY2Uoc3RhcnRJbmRleCk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aGlzLl9ub2Rlcy5wdXNoKG5leHRO
dW1iZXIpOworICAgICAgICAgICAgdGhpcy5fYXJyYXkucHVzaChuZXh0TnVtYmVyKTsKICAgICAg
ICAgfQogICAgIH0sCiAKQEAgLTE3OCwxNyArMTc3LDQ4IEBAIFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RMb2FkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIGNsb3NpbmdCcmFja2V0
SW5kZXggPSB0aGlzLl9maW5kQmFsYW5jZWRDdXJseUJyYWNrZXRzKCk7CiAgICAgICAgICAgICBp
ZiAoY2xvc2luZ0JyYWNrZXRJbmRleCA9PT0gLTEpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgdGhpcy5fbm9kZXMgPSBuZXcgV2ViSW5zcGVjdG9yLlVpbnQzMkFycmF5KCk7
Ci0gICAgICAgICAgICB0aGlzLl9ub2Rlcy5wdXNoKDApOwogICAgICAgICAgICAgdGhpcy5fc25h
cHNob3QubWV0YU5vZGUgPSBKU09OLnBhcnNlKHRoaXMuX2pzb24uc2xpY2UoMCwgY2xvc2luZ0Jy
YWNrZXRJbmRleCkpOwogICAgICAgICAgICAgdGhpcy5fanNvbiA9IHRoaXMuX2pzb24uc2xpY2Uo
Y2xvc2luZ0JyYWNrZXRJbmRleCk7CisgICAgICAgICAgICB0aGlzLl9hcnJheSA9IG5ldyBXZWJJ
bnNwZWN0b3IuVWludDMyQXJyYXkoKTsKKyAgICAgICAgICAgIGlmICghdGhpcy5fc25hcHNob3Qu
bWV0YU5vZGUuc2VwYXJhdGVfZWRnZXMpCisgICAgICAgICAgICAgICAgdGhpcy5fYXJyYXkucHVz
aCgwKTsKICAgICAgICAgICAgIHRoaXMuX3N0YXRlID0gInBhcnNlLW5vZGVzIjsKICAgICAgICAg
ICAgIHRoaXMucHVzaEpTT05DaHVuaygiIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBjYXNlICJwYXJzZS1ub2RlcyI6IHsKLSAgICAgICAgICAgIGlmICh0aGlzLl9w
YXJzZU5vZGVzKCkpCisgICAgICAgICAgICBpZiAodGhpcy5fcGFyc2VJbnRBcnJheSgpKQogICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGlmICh0aGlzLl9zbmFwc2hvdC5tZXRh
Tm9kZS5zZXBhcmF0ZV9lZGdlcykgeworICAgICAgICAgICAgICAgIHRoaXMuX3NuYXBzaG90Lm9u
bHlOb2RlcyA9IHRoaXMuX2FycmF5LmFycmF5OworICAgICAgICAgICAgICAgIHRoaXMuX3N0YXRl
ID0gImZpbmQtZWRnZXMiOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0
aGlzLl9zbmFwc2hvdC5ub2RlcyA9IHRoaXMuX2FycmF5LmFycmF5OworICAgICAgICAgICAgICAg
IHRoaXMuX3N0YXRlID0gImZpbmQtc3RyaW5ncyI7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICB0aGlzLl9hcnJheSA9IG51bGw7CisgICAgICAgICAgICB0aGlzLnB1c2hKU09OQ2h1bmsoIiIp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSAiZmluZC1lZGdl
cyI6IHsKKyAgICAgICAgICAgIHZhciBlZGdlc1Rva2VuID0gIlwiZWRnZXNcIiI7CisgICAgICAg
ICAgICB2YXIgZWRnZXNUb2tlbkluZGV4ID0gdGhpcy5fanNvbi5pbmRleE9mKGVkZ2VzVG9rZW4p
OworICAgICAgICAgICAgaWYgKGVkZ2VzVG9rZW5JbmRleCA9PT0gLTEpCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgdmFyIGJyYWNrZXRJbmRleCA9IHRoaXMuX2pzb24uaW5k
ZXhPZigiWyIsIGVkZ2VzVG9rZW5JbmRleCk7CisgICAgICAgICAgICBpZiAoYnJhY2tldEluZGV4
ID09PSAtMSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB0aGlzLl9qc29u
ID0gdGhpcy5fanNvbi5zbGljZShicmFja2V0SW5kZXggKyAxKTsKKyAgICAgICAgICAgIHRoaXMu
X2FycmF5ID0gbmV3IFdlYkluc3BlY3Rvci5VaW50MzJBcnJheSgpOworICAgICAgICAgICAgdGhp
cy5fc3RhdGUgPSAicGFyc2UtZWRnZXMiOworICAgICAgICAgICAgdGhpcy5wdXNoSlNPTkNodW5r
KCIiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgInBhcnNl
LWVkZ2VzIjogeworICAgICAgICAgICAgaWYgKHRoaXMuX3BhcnNlSW50QXJyYXkoKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB0aGlzLl9zbmFwc2hvdC5jb250YWlubWVu
dEVkZ2VzID0gdGhpcy5fYXJyYXkuYXJyYXk7CisgICAgICAgICAgICB0aGlzLl9hcnJheSA9IG51
bGw7CiAgICAgICAgICAgICB0aGlzLl9zdGF0ZSA9ICJmaW5kLXN0cmluZ3MiOwogICAgICAgICAg
ICAgdGhpcy5wdXNoSlNPTkNodW5rKCIiKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNzU3LDYg
Kzc4Nyw4IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QgPSBmdW5jdGlvbihwcm9maWxlKQog
ewogICAgIHRoaXMudWlkID0gcHJvZmlsZS5zbmFwc2hvdC51aWQ7CiAgICAgdGhpcy5fbm9kZXMg
PSBwcm9maWxlLm5vZGVzOworICAgIHRoaXMuX29ubHlOb2RlcyA9IHByb2ZpbGUub25seU5vZGVz
OworICAgIHRoaXMuX2NvbnRhaW5tZW50RWRnZXMgPSBwcm9maWxlLmNvbnRhaW5tZW50RWRnZXM7
CiAgICAgdGhpcy5fbWV0YU5vZGUgPSBwcm9maWxlLm1ldGFOb2RlOwogICAgIHRoaXMuX3N0cmlu
Z3MgPSBwcm9maWxlLnN0cmluZ3M7CiAKQEAgLTgwNiw3ICs4MzgsMTMgQEAgV2ViSW5zcGVjdG9y
LkhlYXBTbmFwc2hvdC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBkZXRhY2hlZERPTVRyZWVO
b2RlOiAyLAogICAgICAgICB9OwogCi0gICAgICAgIHRoaXMuX3NwbGl0Tm9kZXNBbmRDb250YWlu
bWVudEVkZ2VzKCk7CisgICAgICAgIGlmIChtZXRhLnNlcGFyYXRlX2VkZ2VzKSB7CisgICAgICAg
ICAgICB0aGlzLm5vZGVDb3VudCA9IHRoaXMuX29ubHlOb2Rlcy5sZW5ndGggLyB0aGlzLl9ub2Rl
RmllbGRDb3VudDsKKyAgICAgICAgICAgIHRoaXMuX2VkZ2VDb3VudCA9IHRoaXMuX2NvbnRhaW5t
ZW50RWRnZXMubGVuZ3RoIC8gdGhpcy5fZWRnZUZpZWxkc0NvdW50OworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgdGhpcy5fc3BsaXROb2Rlc0FuZENvbnRhaW5tZW50RWRnZXMoKTsKKyAg
ICAgICAgfQorCiAgICAgICAgIHRoaXMuX3Jvb3ROb2RlSW5kZXggPSAwOwogCiAgICAgICAgIHRo
aXMuX21hcmtJbnZpc2libGVFZGdlcygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc3YzVmNjYzNjllZGMzZWE2OTNjOTk1
NTUxOGI4MmQ5ZGFlNzc2MTMuLmJjYjUwMmFlMjk3MTBlYjlhMmU0ZTdkMzAzN2UxZGM3NTUxODc2
NmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wNC0wOSAgQWxleGVpIEZpbGlwcG92ICA8
YWxleGVpZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjogc3BsaXQgbm9k
ZXMgYW5kIGVkZ2VzIGFycmF5IGluIGhlYXAgcHJvZmlsZXIgc2VyaWFsaXphdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNDY1CisKKyAgICAg
ICAgRnJvbnRlbmQgaXMgbm93IGFibGUgdG8gcmVhZCBmb3JtYXQgd2hlbiBub2RlcyBhbmQgZWRn
ZXMgYXJyaXZlCisgICAgICAgIGluIHR3byBzZXBhcmF0ZSBhcnJheXMuCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIv
aGVhcC1zbmFwc2hvdC1sb2FkZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9w
cm9maWxlci9oZWFwLXNuYXBzaG90LWxvYWRlci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9w
cm9maWxlci9oZWFwLXNuYXBzaG90LXRlc3QuanM6CisgICAgICAgIChpbml0aWFsaXplX0hlYXBT
bmFwc2hvdFRlc3QuSW5zcGVjdG9yVGVzdC5jcmVhdGVIZWFwU25hcHNob3RTcGxpdE5vZGVzRWRn
ZXNNb2NrUmF3KToKKwogMjAxMi0wNC0wOSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBnZXQgcmlkIG9mIFdlYkluc3BlY3Rv
ci5SZXNvdXJjZS5jYXRlZ29yeSwgdXNlICBXZWJJbnNwZWN0b3IuUmVzb3VyY2UudHlwZSBpbnN0
ZWFkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25h
cHNob3QtbG9hZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LWxvYWRlci1leHBlY3RlZC50eHQKaW5kZXggMjMwYTM5NzUyMWE1YWY1
Y2ZjMzlhN2QyNGU0MTc2MTFlMTljMzZhYS4uZTg3NDc2YWQzNjJjYWE1NDNkOGE3ZGQxYWNmZDQ3
ZTNiMTc1ZTIxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hl
YXAtc25hcHNob3QtbG9hZGVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1sb2FkZXItZXhwZWN0ZWQudHh0CkBAIC0zLDMgKzMs
NSBAQCBUaGlzIHRlc3QgY2hlY2tzIEhlYXBTbmFwc2hvdHMgbG9hZGVyLgogCiBSdW5uaW5nOiBo
ZWFwU25hcHNob3RMb2FkZXJUZXN0CiAKK1J1bm5pbmc6IGhlYXBTbmFwc2hvdFNlcGFyYXRlRWRn
ZXNMb2FkZXJUZXN0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LWxvYWRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2Zp
bGVyL2hlYXAtc25hcHNob3QtbG9hZGVyLmh0bWwKaW5kZXggMWMzMDgyZDAzZTdiYTlmY2YyNmM0
MDhiZjIzNDdkNWJkNmFiZGFhYS4uMmRlYTdlMjVhMWYwZjYzM2NlZjBhNWQ0ZDE1OTIwMjUyMjll
OTYzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25h
cHNob3QtbG9hZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hl
YXAtc25hcHNob3QtbG9hZGVyLmh0bWwKQEAgLTIzLDYgKzIzLDIzIEBAIGZ1bmN0aW9uIHRlc3Qo
KQogICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGxvYWRlci5maW5pc2hMb2FkaW5nKCk7CiAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFNuYXBzaG90RXF1YWxzKG5ldyBXZWJJbnNwZWN0
b3IuSGVhcFNuYXBzaG90KEluc3BlY3RvclRlc3QuY3JlYXRlSGVhcFNuYXBzaG90TW9jaygpKSwg
cmVzdWx0KTsKICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5j
dGlvbiBoZWFwU25hcHNob3RTZXBhcmF0ZUVkZ2VzTG9hZGVyVGVzdChuZXh0KQorICAgICAgICB7
CisgICAgICAgICAgICB2YXIgc291cmNlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVIZWFwU25hcHNo
b3RTcGxpdE5vZGVzRWRnZXNNb2NrUmF3KCk7CisgICAgICAgICAgICB2YXIgc291cmNlU3RyaW5n
aWZpZWQgPSBKU09OLnN0cmluZ2lmeShzb3VyY2UpOworICAgICAgICAgICAgdmFyIHBhcnRTaXpl
ID0gc291cmNlU3RyaW5naWZpZWQubGVuZ3RoID4+IDM7CisgICAgICAgICAgICB2YXIgbG9hZGVy
ID0gbmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RMb2FkZXIoKTsKKyAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwLCBsID0gc291cmNlU3RyaW5naWZpZWQubGVuZ3RoOyBpIDwgbDsgaSArPSBw
YXJ0U2l6ZSkKKyAgICAgICAgICAgICAgICBsb2FkZXIucHVzaEpTT05DaHVuayhzb3VyY2VTdHJp
bmdpZmllZC5zbGljZShpLCBpICsgcGFydFNpemUpKTsKKyAgICAgICAgICAgIHZhciByZXN1bHQg
PSBsb2FkZXIuZmluaXNoTG9hZGluZygpOworICAgICAgICAgICAgLy8gUGF0Y2ggaXQgYSBiaXQg
dG8gbWFrZSBpdCBpZGVudGljYWwgdG8gdGhlIHNwZWNpbWVuLgorICAgICAgICAgICAgcmVzdWx0
Ll9vbmx5Tm9kZXMgPSBuZXcgVWludDMyQXJyYXkocmVzdWx0Ll9vbmx5Tm9kZXMpOworICAgICAg
ICAgICAgcmVzdWx0Ll9jb250YWlubWVudEVkZ2VzID0gbmV3IFVpbnQzMkFycmF5KHJlc3VsdC5f
Y29udGFpbm1lbnRFZGdlcyk7CisgICAgICAgICAgICBkZWxldGUgcmVzdWx0Ll9tZXRhTm9kZS5z
ZXBhcmF0ZV9lZGdlczsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0U25hcHNob3RF
cXVhbHMobmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QoSW5zcGVjdG9yVGVzdC5jcmVhdGVI
ZWFwU25hcHNob3RNb2NrKCkpLCByZXN1bHQpOworICAgICAgICAgICAgbmV4dCgpOwogICAgICAg
ICB9CiAgICAgXSk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmls
ZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVy
L2hlYXAtc25hcHNob3QtdGVzdC5qcwppbmRleCA4NDRiZWJjNjU5OWM5NTk4M2ZiNDU3ZWRhNDRl
N2ZhOTA1NjM4M2RlLi44MDdmMTY1ZWQ2ZDE4NWMyYmEyZjM1OWFlMzYzYzk4NTI4MmIxNTU0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10
ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90
LXRlc3QuanMKQEAgLTczLDYgKzczLDMzIEBAIEluc3BlY3RvclRlc3QuY3JlYXRlSGVhcFNuYXBz
aG90TW9ja1JhdyA9IGZ1bmN0aW9uKCkKICAgICB9OwogfTsKIAorSW5zcGVjdG9yVGVzdC5jcmVh
dGVIZWFwU25hcHNob3RTcGxpdE5vZGVzRWRnZXNNb2NrUmF3ID0gZnVuY3Rpb24oKQoreworICAg
IC8vIFJldHVybiB0aGUgc2FtZSBzbmFwc2hvdCBhcyBhYm92ZSBidXQgaGF2aW5nIHRoZSBub2Rl
cyBhbmQgZWRnZXMKKyAgICAvLyBzZXBhcmF0ZWQuCisgICAgcmV0dXJuIHsKKyAgICAgICAgc25h
cHNob3Q6IHt9LAorICAgICAgICBub2RlczogWworICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIHNlcGFyYXRlX2VkZ2VzOiB0cnVlLAorICAgICAgICAgICAgICAgIGZpZWxkczogWyJ0eXBl
IiwgIm5hbWUiLCAiaWQiLCAic2VsZl9zaXplIiwgInJldGFpbmVkX3NpemUiLCAiZG9taW5hdG9y
IiwgImNoaWxkcmVuX2NvdW50IiwgImNoaWxkcmVuIl0sCisgICAgICAgICAgICAgICAgdHlwZXM6
IFtbImhpZGRlbiIsICJvYmplY3QiXSwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgeyBmaWVsZHM6
IFsidHlwZSIsICJuYW1lX29yX2luZGV4IiwgInRvX25vZGUiXSwgdHlwZXM6IFtbImVsZW1lbnQi
LCAicHJvcGVydHkiXSwgIiIsICIiXSB9XQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIDAs
IDAsIDEsIDAsIDIwLCAgMCwgIDAsCisgICAgICAgICAgICAxLCAxLCAyLCAyLCAgMiwgIDAsICA2
LAorICAgICAgICAgICAgMSwgMiwgMywgMywgIDgsICAwLCAxMiwKKyAgICAgICAgICAgIDEsIDMs
IDQsIDQsIDEwLCAgMCwgMTgsCisgICAgICAgICAgICAxLCA0LCA1LCA1LCAgNSwgMTQsIDIxLAor
ICAgICAgICAgICAgMSwgNSwgNiwgNiwgIDYsIDIxLCAyMV0sCisgICAgICAgIGVkZ2VzOiBbCisg
ICAgICAgICAgICAxLCAgNiwgIDcsIDEsICA3LCAxNCwKKyAgICAgICAgICAgIDAsICAxLCAxNCwg
MSwgIDgsIDIxLAorICAgICAgICAgICAgMSwgIDksIDIxLCAxLCAxMCwgMjgsCisgICAgICAgICAg
ICAxLCAxMSwgMzVdLAorICAgICAgICBzdHJpbmdzOiBbIiIsICJBIiwgIkIiLCAiQyIsICJEIiwg
IkUiLCAiYSIsICJiIiwgImFjIiwgImJjIiwgImJkIiwgImNlIl0KKyAgICB9OworfTsKKwogSW5z
cGVjdG9yVGVzdC5fcG9zdHByb2Nlc3NIZWFwU25hcHNob3RNb2NrID0gZnVuY3Rpb24obW9jaykK
IHsKICAgICBtb2NrLm1ldGFOb2RlID0gbW9jay5ub2Rlc1swXTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136450</attachid>
            <date>2012-04-10 07:15:29 -0700</date>
            <delta_ts>2012-04-10 14:45:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83465-20120410181527.patch</filename>
            <type>text/plain</type>
            <size>17274</size>
            <attacher name="Alexei Filippov">alph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNzExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTdlNmM0ZGQwY2QwNjJj
MGZlZWI4ZTI3OGUzZjE0NmIzZjlkMDM2MS4uZmFmOTAxMGE3NzIwY2RhNGY4NTVjZGVkYTUxZWE1
MWIyMjU5YTY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA0LTA5ICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzcGxpdCBub2RlcyBhbmQgZWRnZXMgYXJyYXkgaW4gaGVhcCBwcm9maWxlciBzZXJpYWxp
emF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODM0NjUKKworICAgICAgICBGcm9udGVuZCBpcyBub3cgYWJsZSB0byByZWFkIGZvcm1hdCB3aGVu
IG5vZGVzIGFuZCBlZGdlcyBhcnJpdmUKKyAgICAgICAgaW4gdHdvIHNlcGFyYXRlIGFycmF5cy4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdExvYWRlci5wcm90b3R5cGUuX3BhcnNlSW50QXJyYXkpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdExvYWRlci5wcm90b3R5cGUucHVzaEpTT05DaHVuayk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3QucHJvdG90eXBlLl9pbml0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5I
ZWFwU25hcHNob3QucHJvdG90eXBlLl9tYXJrUXVlcmlhYmxlSGVhcE9iamVjdHMpOgorCiAyMDEy
LTA0LTEwICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IG1ha2UgZXJyb3IgYSBzdHJpbmcgb24gdGhlIGZyb250LWVuZCBzaWRl
LCBub3QgYW4gb2JqZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9IZWFwU25hcHNob3QuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0hlYXBTbmFwc2hvdC5qcwppbmRleCA2MDgwMmYwY2RlYTIwYjc1ZGE5ODYwZjI0ZWYyOThh
YTRlMjJlNDQyLi40OTAyNjFlZWM5ZmQwYzQ3M2NjMzkxN2UyNzhjZDI2MWVhYjg4MjlkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5q
cwpAQCAtODksNyArODksNyBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90TG9hZGVyLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9LAogCi0gICAgX3BhcnNlTm9k
ZXM6IGZ1bmN0aW9uKCkKKyAgICBfcGFyc2VVaW50QXJyYXk6IGZ1bmN0aW9uKCkKICAgICB7CiAg
ICAgICAgIHZhciBpbmRleCA9IDA7CiAgICAgICAgIHZhciBjaGFyMCA9ICIwIi5jaGFyQ29kZUF0
KDApLCBjaGFyOSA9ICI5Ii5jaGFyQ29kZUF0KDApLCBjbG9zaW5nQnJhY2tldCA9ICJdIi5jaGFy
Q29kZUF0KDApOwpAQCAtMTAxLDcgKzEwMSw2IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RM
b2FkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgICBlbHNlIGlmIChjb2RlID09PSBjbG9zaW5nQnJhY2tldCkgewogICAgICAgICAgICAg
ICAgICAgICB0aGlzLl9qc29uID0gdGhpcy5fanNvbi5zbGljZShpbmRleCArIDEpOwotICAgICAg
ICAgICAgICAgICAgICB0aGlzLl9zbmFwc2hvdC5ub2RlcyA9IHRoaXMuX25vZGVzLmFycmF5Owog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgICsraW5kZXg7CkBAIC0xMjQsNyArMTIzLDcgQEAgV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdExvYWRlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgdGhpcy5fanNv
biA9IHRoaXMuX2pzb24uc2xpY2Uoc3RhcnRJbmRleCk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aGlzLl9ub2Rlcy5wdXNoKG5leHRO
dW1iZXIpOworICAgICAgICAgICAgdGhpcy5fYXJyYXkucHVzaChuZXh0TnVtYmVyKTsKICAgICAg
ICAgfQogICAgIH0sCiAKQEAgLTE3OCwxNyArMTc3LDQ4IEBAIFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RMb2FkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIGNsb3NpbmdCcmFja2V0
SW5kZXggPSB0aGlzLl9maW5kQmFsYW5jZWRDdXJseUJyYWNrZXRzKCk7CiAgICAgICAgICAgICBp
ZiAoY2xvc2luZ0JyYWNrZXRJbmRleCA9PT0gLTEpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgdGhpcy5fbm9kZXMgPSBuZXcgV2ViSW5zcGVjdG9yLlVpbnQzMkFycmF5KCk7
Ci0gICAgICAgICAgICB0aGlzLl9ub2Rlcy5wdXNoKDApOwogICAgICAgICAgICAgdGhpcy5fc25h
cHNob3QubWV0YU5vZGUgPSBKU09OLnBhcnNlKHRoaXMuX2pzb24uc2xpY2UoMCwgY2xvc2luZ0Jy
YWNrZXRJbmRleCkpOwogICAgICAgICAgICAgdGhpcy5fanNvbiA9IHRoaXMuX2pzb24uc2xpY2Uo
Y2xvc2luZ0JyYWNrZXRJbmRleCk7CisgICAgICAgICAgICB0aGlzLl9hcnJheSA9IG5ldyBXZWJJ
bnNwZWN0b3IuVWludDMyQXJyYXkoKTsKKyAgICAgICAgICAgIGlmICghdGhpcy5fc25hcHNob3Qu
bWV0YU5vZGUuc2VwYXJhdGVfZWRnZXMpCisgICAgICAgICAgICAgICAgdGhpcy5fYXJyYXkucHVz
aCgwKTsKICAgICAgICAgICAgIHRoaXMuX3N0YXRlID0gInBhcnNlLW5vZGVzIjsKICAgICAgICAg
ICAgIHRoaXMucHVzaEpTT05DaHVuaygiIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBjYXNlICJwYXJzZS1ub2RlcyI6IHsKLSAgICAgICAgICAgIGlmICh0aGlzLl9w
YXJzZU5vZGVzKCkpCisgICAgICAgICAgICBpZiAodGhpcy5fcGFyc2VVaW50QXJyYXkoKSkKICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBpZiAodGhpcy5fc25hcHNob3QubWV0
YU5vZGUuc2VwYXJhdGVfZWRnZXMpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9zbmFwc2hvdC5v
bmx5Tm9kZXMgPSB0aGlzLl9hcnJheS5hcnJheTsKKyAgICAgICAgICAgICAgICB0aGlzLl9zdGF0
ZSA9ICJmaW5kLWVkZ2VzIjsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
dGhpcy5fc25hcHNob3Qubm9kZXMgPSB0aGlzLl9hcnJheS5hcnJheTsKKyAgICAgICAgICAgICAg
ICB0aGlzLl9zdGF0ZSA9ICJmaW5kLXN0cmluZ3MiOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgdGhpcy5fYXJyYXkgPSBudWxsOworICAgICAgICAgICAgdGhpcy5wdXNoSlNPTkNodW5rKCIi
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgImZpbmQtZWRn
ZXMiOiB7CisgICAgICAgICAgICB2YXIgZWRnZXNUb2tlbiA9ICJcImVkZ2VzXCIiOworICAgICAg
ICAgICAgdmFyIGVkZ2VzVG9rZW5JbmRleCA9IHRoaXMuX2pzb24uaW5kZXhPZihlZGdlc1Rva2Vu
KTsKKyAgICAgICAgICAgIGlmIChlZGdlc1Rva2VuSW5kZXggPT09IC0xKQorICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgIHZhciBicmFja2V0SW5kZXggPSB0aGlzLl9qc29uLmlu
ZGV4T2YoIlsiLCBlZGdlc1Rva2VuSW5kZXgpOworICAgICAgICAgICAgaWYgKGJyYWNrZXRJbmRl
eCA9PT0gLTEpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgdGhpcy5fanNv
biA9IHRoaXMuX2pzb24uc2xpY2UoYnJhY2tldEluZGV4ICsgMSk7CisgICAgICAgICAgICB0aGlz
Ll9hcnJheSA9IG5ldyBXZWJJbnNwZWN0b3IuVWludDMyQXJyYXkoKTsKKyAgICAgICAgICAgIHRo
aXMuX3N0YXRlID0gInBhcnNlLWVkZ2VzIjsKKyAgICAgICAgICAgIHRoaXMucHVzaEpTT05DaHVu
aygiIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlICJwYXJz
ZS1lZGdlcyI6IHsKKyAgICAgICAgICAgIGlmICh0aGlzLl9wYXJzZVVpbnRBcnJheSgpKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHRoaXMuX3NuYXBzaG90LmNvbnRhaW5t
ZW50RWRnZXMgPSB0aGlzLl9hcnJheS5hcnJheTsKKyAgICAgICAgICAgIHRoaXMuX2FycmF5ID0g
bnVsbDsKICAgICAgICAgICAgIHRoaXMuX3N0YXRlID0gImZpbmQtc3RyaW5ncyI7CiAgICAgICAg
ICAgICB0aGlzLnB1c2hKU09OQ2h1bmsoIiIpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC03NTcs
NiArNzg3LDggQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdCA9IGZ1bmN0aW9uKHByb2ZpbGUp
CiB7CiAgICAgdGhpcy51aWQgPSBwcm9maWxlLnNuYXBzaG90LnVpZDsKICAgICB0aGlzLl9ub2Rl
cyA9IHByb2ZpbGUubm9kZXM7CisgICAgdGhpcy5fb25seU5vZGVzID0gcHJvZmlsZS5vbmx5Tm9k
ZXM7CisgICAgdGhpcy5fY29udGFpbm1lbnRFZGdlcyA9IHByb2ZpbGUuY29udGFpbm1lbnRFZGdl
czsKICAgICB0aGlzLl9tZXRhTm9kZSA9IHByb2ZpbGUubWV0YU5vZGU7CiAgICAgdGhpcy5fc3Ry
aW5ncyA9IHByb2ZpbGUuc3RyaW5nczsKIApAQCAtNzY2LDQ4ICs3OTgsODcgQEAgV2ViSW5zcGVj
dG9yLkhlYXBTbmFwc2hvdCA9IGZ1bmN0aW9uKHByb2ZpbGUpCiBXZWJJbnNwZWN0b3IuSGVhcFNu
YXBzaG90LnByb3RvdHlwZSA9IHsKICAgICBfaW5pdDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAg
ICAgdGhpcy5fcm9vdE5vZGVJbmRleCA9IDE7IC8vIEZpcnN0IGNlbGwgY29udGFpbmVkIG1ldGFk
YXRhLCBub3cgd2Ugc2hvdWxkIHNraXAgaXQuCiAgICAgICAgIHZhciBtZXRhID0gdGhpcy5fbWV0
YU5vZGU7Ci0gICAgICAgIHRoaXMuX25vZGVUeXBlT2Zmc2V0ID0gbWV0YS5maWVsZHMuaW5kZXhP
ZigidHlwZSIpOwotICAgICAgICB0aGlzLl9ub2RlTmFtZU9mZnNldCA9IG1ldGEuZmllbGRzLmlu
ZGV4T2YoIm5hbWUiKTsKLSAgICAgICAgdGhpcy5fbm9kZUlkT2Zmc2V0ID0gbWV0YS5maWVsZHMu
aW5kZXhPZigiaWQiKTsKLSAgICAgICAgdGhpcy5fbm9kZVNlbGZTaXplT2Zmc2V0ID0gbWV0YS5m
aWVsZHMuaW5kZXhPZigic2VsZl9zaXplIik7Ci0gICAgICAgIHRoaXMuX25vZGVSZXRhaW5lZFNp
emVPZmZzZXQgPSBtZXRhLmZpZWxkcy5pbmRleE9mKCJyZXRhaW5lZF9zaXplIik7Ci0gICAgICAg
IHRoaXMuX2RvbWluYXRvck9mZnNldCA9IG1ldGEuZmllbGRzLmluZGV4T2YoImRvbWluYXRvciIp
OwotICAgICAgICB0aGlzLl9lZGdlc0NvdW50T2Zmc2V0ID0gbWV0YS5maWVsZHMuaW5kZXhPZigi
Y2hpbGRyZW5fY291bnQiKTsKLSAgICAgICAgLy8gQWZ0ZXIgc3BsaXR0aW5nIG5vZGVzIGFuZCBl
ZGdlcyB3ZSBzdG9yZSBmaXJzdCBlZGdlIGluZGV4IGluIHRoZSBmaWVsZAotICAgICAgICAvLyB3
aGVyZSBlZGdlcyBjb3VudCBpcyBzdG9yZWQgaW4gdGhlIHJhdyBzbmFwc2hvdC4gSGVyZSB3ZSBj
cmVhdGUgYW4gYWxpYXMKLSAgICAgICAgLy8gZm9yIHRoZSBmaWVsZC4KLSAgICAgICAgdGhpcy5f
Zmlyc3RFZGdlSW5kZXhPZmZzZXQgPSB0aGlzLl9lZGdlc0NvdW50T2Zmc2V0OwotICAgICAgICB0
aGlzLl9maXJzdEVkZ2VPZmZzZXQgPSBtZXRhLmZpZWxkcy5pbmRleE9mKCJjaGlsZHJlbiIpOwot
ICAgICAgICB0aGlzLl9ub2RlRmllbGRDb3VudCA9IHRoaXMuX2ZpcnN0RWRnZU9mZnNldDsKLSAg
ICAgICAgdGhpcy5fbm9kZVR5cGVzID0gbWV0YS50eXBlc1t0aGlzLl9ub2RlVHlwZU9mZnNldF07
Ci0gICAgICAgIHRoaXMuX25vZGVIaWRkZW5UeXBlID0gdGhpcy5fbm9kZVR5cGVzLmluZGV4T2Yo
ImhpZGRlbiIpOwotICAgICAgICB0aGlzLl9ub2RlT2JqZWN0VHlwZSA9IHRoaXMuX25vZGVUeXBl
cy5pbmRleE9mKCJvYmplY3QiKTsKLSAgICAgICAgdGhpcy5fbm9kZU5hdGl2ZVR5cGUgPSB0aGlz
Ll9ub2RlVHlwZXMuaW5kZXhPZigibmF0aXZlIik7Ci0gICAgICAgIHRoaXMuX25vZGVDb2RlVHlw
ZSA9IHRoaXMuX25vZGVUeXBlcy5pbmRleE9mKCJjb2RlIik7Ci0gICAgICAgIHRoaXMuX25vZGVT
eW50aGV0aWNUeXBlID0gdGhpcy5fbm9kZVR5cGVzLmluZGV4T2YoInN5bnRoZXRpYyIpOwotICAg
ICAgICB2YXIgZWRnZXNNZXRhID0gbWV0YS50eXBlc1t0aGlzLl9maXJzdEVkZ2VPZmZzZXRdOwot
ICAgICAgICB0aGlzLl9lZGdlRmllbGRzQ291bnQgPSBlZGdlc01ldGEuZmllbGRzLmxlbmd0aDsK
LSAgICAgICAgdGhpcy5fZWRnZVR5cGVPZmZzZXQgPSBlZGdlc01ldGEuZmllbGRzLmluZGV4T2Yo
InR5cGUiKTsKLSAgICAgICAgdGhpcy5fZWRnZU5hbWVPZmZzZXQgPSBlZGdlc01ldGEuZmllbGRz
LmluZGV4T2YoIm5hbWVfb3JfaW5kZXgiKTsKLSAgICAgICAgdGhpcy5fZWRnZVRvTm9kZU9mZnNl
dCA9IGVkZ2VzTWV0YS5maWVsZHMuaW5kZXhPZigidG9fbm9kZSIpOwotICAgICAgICB0aGlzLl9l
ZGdlVHlwZXMgPSBlZGdlc01ldGEudHlwZXNbdGhpcy5fZWRnZVR5cGVPZmZzZXRdOwotICAgICAg
ICB0aGlzLl9lZGdlRWxlbWVudFR5cGUgPSB0aGlzLl9lZGdlVHlwZXMuaW5kZXhPZigiZWxlbWVu
dCIpOwotICAgICAgICB0aGlzLl9lZGdlSGlkZGVuVHlwZSA9IHRoaXMuX2VkZ2VUeXBlcy5pbmRl
eE9mKCJoaWRkZW4iKTsKLSAgICAgICAgdGhpcy5fZWRnZUludGVybmFsVHlwZSA9IHRoaXMuX2Vk
Z2VUeXBlcy5pbmRleE9mKCJpbnRlcm5hbCIpOwotICAgICAgICB0aGlzLl9lZGdlU2hvcnRjdXRU
eXBlID0gdGhpcy5fZWRnZVR5cGVzLmluZGV4T2YoInNob3J0Y3V0Iik7Ci0gICAgICAgIHRoaXMu
X2VkZ2VXZWFrVHlwZSA9IHRoaXMuX2VkZ2VUeXBlcy5pbmRleE9mKCJ3ZWFrIik7Ci0gICAgICAg
IHRoaXMuX2VkZ2VJbnZpc2libGVUeXBlID0gdGhpcy5fZWRnZVR5cGVzLmxlbmd0aDsKLSAgICAg
ICAgdGhpcy5fZWRnZVR5cGVzLnB1c2goImludmlzaWJsZSIpOworICAgICAgICBpZiAobWV0YS5z
ZXBhcmF0ZV9lZGdlcykgeworICAgICAgICAgICAgdGhpcy5fcm9vdE5vZGVJbmRleCA9IDA7CisK
KyAgICAgICAgICAgIHRoaXMuX25vZGVUeXBlT2Zmc2V0ID0gbWV0YS5ub2RlX2ZpZWxkcy5pbmRl
eE9mKCJ0eXBlIik7CisgICAgICAgICAgICB0aGlzLl9ub2RlTmFtZU9mZnNldCA9IG1ldGEubm9k
ZV9maWVsZHMuaW5kZXhPZigibmFtZSIpOworICAgICAgICAgICAgdGhpcy5fbm9kZUlkT2Zmc2V0
ID0gbWV0YS5ub2RlX2ZpZWxkcy5pbmRleE9mKCJpZCIpOworICAgICAgICAgICAgdGhpcy5fbm9k
ZVNlbGZTaXplT2Zmc2V0ID0gbWV0YS5ub2RlX2ZpZWxkcy5pbmRleE9mKCJzZWxmX3NpemUiKTsK
KyAgICAgICAgICAgIHRoaXMuX25vZGVSZXRhaW5lZFNpemVPZmZzZXQgPSBtZXRhLm5vZGVfZmll
bGRzLmluZGV4T2YoInJldGFpbmVkX3NpemUiKTsKKyAgICAgICAgICAgIHRoaXMuX2RvbWluYXRv
ck9mZnNldCA9IG1ldGEubm9kZV9maWVsZHMuaW5kZXhPZigiZG9taW5hdG9yIik7CisgICAgICAg
ICAgICB0aGlzLl9maXJzdEVkZ2VJbmRleE9mZnNldCA9IG1ldGEubm9kZV9maWVsZHMuaW5kZXhP
ZigiZWRnZXNfaW5kZXgiKTsKKyAgICAgICAgICAgIHRoaXMuX25vZGVGaWVsZENvdW50ID0gbWV0
YS5ub2RlX2ZpZWxkcy5sZW5ndGg7CisKKyAgICAgICAgICAgIHRoaXMuX25vZGVUeXBlcyA9IG1l
dGEubm9kZV90eXBlc1t0aGlzLl9ub2RlVHlwZU9mZnNldF07CisgICAgICAgICAgICB0aGlzLl9u
b2RlSGlkZGVuVHlwZSA9IHRoaXMuX25vZGVUeXBlcy5pbmRleE9mKCJoaWRkZW4iKTsKKyAgICAg
ICAgICAgIHRoaXMuX25vZGVPYmplY3RUeXBlID0gdGhpcy5fbm9kZVR5cGVzLmluZGV4T2YoIm9i
amVjdCIpOworICAgICAgICAgICAgdGhpcy5fbm9kZU5hdGl2ZVR5cGUgPSB0aGlzLl9ub2RlVHlw
ZXMuaW5kZXhPZigibmF0aXZlIik7CisgICAgICAgICAgICB0aGlzLl9ub2RlQ29kZVR5cGUgPSB0
aGlzLl9ub2RlVHlwZXMuaW5kZXhPZigiY29kZSIpOworICAgICAgICAgICAgdGhpcy5fbm9kZVN5
bnRoZXRpY1R5cGUgPSB0aGlzLl9ub2RlVHlwZXMuaW5kZXhPZigic3ludGhldGljIik7CisKKyAg
ICAgICAgICAgIHRoaXMuX2VkZ2VGaWVsZHNDb3VudCA9IG1ldGEuZWRnZV9maWVsZHMubGVuZ3Ro
OworICAgICAgICAgICAgdGhpcy5fZWRnZVR5cGVPZmZzZXQgPSBtZXRhLmVkZ2VfZmllbGRzLmlu
ZGV4T2YoInR5cGUiKTsKKyAgICAgICAgICAgIHRoaXMuX2VkZ2VOYW1lT2Zmc2V0ID0gbWV0YS5l
ZGdlX2ZpZWxkcy5pbmRleE9mKCJuYW1lX29yX2luZGV4Iik7CisgICAgICAgICAgICB0aGlzLl9l
ZGdlVG9Ob2RlT2Zmc2V0ID0gbWV0YS5lZGdlX2ZpZWxkcy5pbmRleE9mKCJ0b19ub2RlIik7CisK
KyAgICAgICAgICAgIHRoaXMuX2VkZ2VUeXBlcyA9IG1ldGEuZWRnZV90eXBlc1t0aGlzLl9lZGdl
VHlwZU9mZnNldF07CisgICAgICAgICAgICB0aGlzLl9lZGdlVHlwZXMucHVzaCgiaW52aXNpYmxl
Iik7CisgICAgICAgICAgICB0aGlzLl9lZGdlRWxlbWVudFR5cGUgPSB0aGlzLl9lZGdlVHlwZXMu
aW5kZXhPZigiZWxlbWVudCIpOworICAgICAgICAgICAgdGhpcy5fZWRnZUhpZGRlblR5cGUgPSB0
aGlzLl9lZGdlVHlwZXMuaW5kZXhPZigiaGlkZGVuIik7CisgICAgICAgICAgICB0aGlzLl9lZGdl
SW50ZXJuYWxUeXBlID0gdGhpcy5fZWRnZVR5cGVzLmluZGV4T2YoImludGVybmFsIik7CisgICAg
ICAgICAgICB0aGlzLl9lZGdlU2hvcnRjdXRUeXBlID0gdGhpcy5fZWRnZVR5cGVzLmluZGV4T2Yo
InNob3J0Y3V0Iik7CisgICAgICAgICAgICB0aGlzLl9lZGdlV2Vha1R5cGUgPSB0aGlzLl9lZGdl
VHlwZXMuaW5kZXhPZigid2VhayIpOworICAgICAgICAgICAgdGhpcy5fZWRnZUludmlzaWJsZVR5
cGUgPSB0aGlzLl9lZGdlVHlwZXMuaW5kZXhPZigiaW52aXNpYmxlIik7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICB0aGlzLl9yb290Tm9kZUluZGV4ID0gMTsgLy8gRmlyc3QgY2VsbCBj
b250YWluZWQgbWV0YWRhdGEsIG5vdyB3ZSBzaG91bGQgc2tpcCBpdC4KKyAgICAgICAgICAgIHRo
aXMuX25vZGVUeXBlT2Zmc2V0ID0gbWV0YS5maWVsZHMuaW5kZXhPZigidHlwZSIpOworICAgICAg
ICAgICAgdGhpcy5fbm9kZU5hbWVPZmZzZXQgPSBtZXRhLmZpZWxkcy5pbmRleE9mKCJuYW1lIik7
CisgICAgICAgICAgICB0aGlzLl9ub2RlSWRPZmZzZXQgPSBtZXRhLmZpZWxkcy5pbmRleE9mKCJp
ZCIpOworICAgICAgICAgICAgdGhpcy5fbm9kZVNlbGZTaXplT2Zmc2V0ID0gbWV0YS5maWVsZHMu
aW5kZXhPZigic2VsZl9zaXplIik7CisgICAgICAgICAgICB0aGlzLl9ub2RlUmV0YWluZWRTaXpl
T2Zmc2V0ID0gbWV0YS5maWVsZHMuaW5kZXhPZigicmV0YWluZWRfc2l6ZSIpOworICAgICAgICAg
ICAgdGhpcy5fZG9taW5hdG9yT2Zmc2V0ID0gbWV0YS5maWVsZHMuaW5kZXhPZigiZG9taW5hdG9y
Iik7CisgICAgICAgICAgICB0aGlzLl9lZGdlc0NvdW50T2Zmc2V0ID0gbWV0YS5maWVsZHMuaW5k
ZXhPZigiY2hpbGRyZW5fY291bnQiKTsKKyAgICAgICAgICAgIC8vIEFmdGVyIHNwbGl0dGluZyBu
b2RlcyBhbmQgZWRnZXMgd2Ugc3RvcmUgZmlyc3QgZWRnZSBpbmRleCBpbiB0aGUgZmllbGQKKyAg
ICAgICAgICAgIC8vIHdoZXJlIGVkZ2VzIGNvdW50IGlzIHN0b3JlZCBpbiB0aGUgcmF3IHNuYXBz
aG90LiBIZXJlIHdlIGNyZWF0ZSBhbiBhbGlhcworICAgICAgICAgICAgLy8gZm9yIHRoZSBmaWVs
ZC4KKyAgICAgICAgICAgIHRoaXMuX2ZpcnN0RWRnZUluZGV4T2Zmc2V0ID0gdGhpcy5fZWRnZXND
b3VudE9mZnNldDsKKyAgICAgICAgICAgIHRoaXMuX2ZpcnN0RWRnZU9mZnNldCA9IG1ldGEuZmll
bGRzLmluZGV4T2YoImNoaWxkcmVuIik7CisgICAgICAgICAgICB0aGlzLl9ub2RlRmllbGRDb3Vu
dCA9IHRoaXMuX2ZpcnN0RWRnZU9mZnNldDsKKyAgICAgICAgICAgIHRoaXMuX25vZGVUeXBlcyA9
IG1ldGEudHlwZXNbdGhpcy5fbm9kZVR5cGVPZmZzZXRdOworICAgICAgICAgICAgdGhpcy5fbm9k
ZUhpZGRlblR5cGUgPSB0aGlzLl9ub2RlVHlwZXMuaW5kZXhPZigiaGlkZGVuIik7CisgICAgICAg
ICAgICB0aGlzLl9ub2RlT2JqZWN0VHlwZSA9IHRoaXMuX25vZGVUeXBlcy5pbmRleE9mKCJvYmpl
Y3QiKTsKKyAgICAgICAgICAgIHRoaXMuX25vZGVOYXRpdmVUeXBlID0gdGhpcy5fbm9kZVR5cGVz
LmluZGV4T2YoIm5hdGl2ZSIpOworICAgICAgICAgICAgdGhpcy5fbm9kZUNvZGVUeXBlID0gdGhp
cy5fbm9kZVR5cGVzLmluZGV4T2YoImNvZGUiKTsKKyAgICAgICAgICAgIHRoaXMuX25vZGVTeW50
aGV0aWNUeXBlID0gdGhpcy5fbm9kZVR5cGVzLmluZGV4T2YoInN5bnRoZXRpYyIpOworICAgICAg
ICAgICAgdmFyIGVkZ2VzTWV0YSA9IG1ldGEudHlwZXNbdGhpcy5fZmlyc3RFZGdlT2Zmc2V0XTsK
KyAgICAgICAgICAgIHRoaXMuX2VkZ2VGaWVsZHNDb3VudCA9IGVkZ2VzTWV0YS5maWVsZHMubGVu
Z3RoOworICAgICAgICAgICAgdGhpcy5fZWRnZVR5cGVPZmZzZXQgPSBlZGdlc01ldGEuZmllbGRz
LmluZGV4T2YoInR5cGUiKTsKKyAgICAgICAgICAgIHRoaXMuX2VkZ2VOYW1lT2Zmc2V0ID0gZWRn
ZXNNZXRhLmZpZWxkcy5pbmRleE9mKCJuYW1lX29yX2luZGV4Iik7CisgICAgICAgICAgICB0aGlz
Ll9lZGdlVG9Ob2RlT2Zmc2V0ID0gZWRnZXNNZXRhLmZpZWxkcy5pbmRleE9mKCJ0b19ub2RlIik7
CisgICAgICAgICAgICB0aGlzLl9lZGdlVHlwZXMgPSBlZGdlc01ldGEudHlwZXNbdGhpcy5fZWRn
ZVR5cGVPZmZzZXRdOworICAgICAgICAgICAgdGhpcy5fZWRnZUVsZW1lbnRUeXBlID0gdGhpcy5f
ZWRnZVR5cGVzLmluZGV4T2YoImVsZW1lbnQiKTsKKyAgICAgICAgICAgIHRoaXMuX2VkZ2VIaWRk
ZW5UeXBlID0gdGhpcy5fZWRnZVR5cGVzLmluZGV4T2YoImhpZGRlbiIpOworICAgICAgICAgICAg
dGhpcy5fZWRnZUludGVybmFsVHlwZSA9IHRoaXMuX2VkZ2VUeXBlcy5pbmRleE9mKCJpbnRlcm5h
bCIpOworICAgICAgICAgICAgdGhpcy5fZWRnZVNob3J0Y3V0VHlwZSA9IHRoaXMuX2VkZ2VUeXBl
cy5pbmRleE9mKCJzaG9ydGN1dCIpOworICAgICAgICAgICAgdGhpcy5fZWRnZVdlYWtUeXBlID0g
dGhpcy5fZWRnZVR5cGVzLmluZGV4T2YoIndlYWsiKTsKKyAgICAgICAgICAgIHRoaXMuX2VkZ2VJ
bnZpc2libGVUeXBlID0gdGhpcy5fZWRnZVR5cGVzLmxlbmd0aDsKKyAgICAgICAgICAgIHRoaXMu
X2VkZ2VUeXBlcy5wdXNoKCJpbnZpc2libGUiKTsKKyAgICAgICAgfQogCiAgICAgICAgIHRoaXMu
X25vZGVGbGFncyA9IHsgLy8gYml0IGZsYWdzCiAgICAgICAgICAgICBjYW5CZVF1ZXJpZWQ6IDEs
CiAgICAgICAgICAgICBkZXRhY2hlZERPTVRyZWVOb2RlOiAyLAogICAgICAgICB9OwogCi0gICAg
ICAgIHRoaXMuX3NwbGl0Tm9kZXNBbmRDb250YWlubWVudEVkZ2VzKCk7Ci0gICAgICAgIHRoaXMu
X3Jvb3ROb2RlSW5kZXggPSAwOworICAgICAgICBpZiAobWV0YS5zZXBhcmF0ZV9lZGdlcykgewor
ICAgICAgICAgICAgdGhpcy5ub2RlQ291bnQgPSB0aGlzLl9vbmx5Tm9kZXMubGVuZ3RoIC8gdGhp
cy5fbm9kZUZpZWxkQ291bnQ7CisgICAgICAgICAgICB0aGlzLl9lZGdlQ291bnQgPSB0aGlzLl9j
b250YWlubWVudEVkZ2VzLmxlbmd0aCAvIHRoaXMuX2VkZ2VGaWVsZHNDb3VudDsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIHRoaXMuX3NwbGl0Tm9kZXNBbmRDb250YWlubWVudEVkZ2Vz
KCk7CisgICAgICAgICAgICB0aGlzLl9yb290Tm9kZUluZGV4ID0gMDsKKyAgICAgICAgfQogCiAg
ICAgICAgIHRoaXMuX21hcmtJbnZpc2libGVFZGdlcygpOwogICAgICAgICB0aGlzLl9idWlsZFJl
dGFpbmVycygpOwpAQCAtMTMzNyw3ICsxNDA4LDYgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hv
dC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBu
b2RlLm5vZGVJbmRleCA9IG5vZGVJbmRleDsKICAgICAgICAgICAgIHRoaXMuX2ZsYWdzW25vZGVJ
bmRleF0gfD0gZmxhZzsKLSAgICAgICAgICAgIHZhciBlZGdlc09mZnNldCA9IG5vZGVJbmRleCAr
IHRoaXMuX2ZpcnN0RWRnZU9mZnNldDsKICAgICAgICAgICAgIHZhciBlZGdlc0NvdW50ID0gbm9k
ZS5lZGdlc0NvdW50OwogICAgICAgICAgICAgZWRnZS5fZWRnZXMgPSBub2RlLnJhd0VkZ2VzOwog
ICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBlZGdlc0NvdW50OyArK2opIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCAwMDdhOWQ3N2Q4Zjc3OWM4ZWUxZThhMjY3MjI5YmVlOTFkNWE2MzMxLi44NDcxZGVjNTgxMDMx
MTU1NjA1OWViMjBhZTA4NjYxNTUzNTM1MWY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTIt
MDQtMDkgIEFsZXhlaSBGaWxpcHBvdiAgPGFsZXhlaWZAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IHNwbGl0IG5vZGVzIGFuZCBlZGdlcyBhcnJheSBpbiBoZWFwIHByb2Zp
bGVyIHNlcmlhbGl6YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MzQ2NQorCisgICAgICAgIEZyb250ZW5kIGlzIG5vdyBhYmxlIHRvIHJlYWQg
Zm9ybWF0IHdoZW4gbm9kZXMgYW5kIGVkZ2VzIGFycml2ZQorICAgICAgICBpbiB0d28gc2VwYXJh
dGUgYXJyYXlzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtbG9hZGVyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1sb2FkZXIuaHRt
bDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzOgor
ICAgICAgICAoaW5pdGlhbGl6ZV9IZWFwU25hcHNob3RUZXN0Lkluc3BlY3RvclRlc3QuY3JlYXRl
SGVhcFNuYXBzaG90U3BsaXROb2Rlc0VkZ2VzTW9ja1Jhdyk6CisKIDIwMTItMDQtMTAgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogbWFrZSBlcnJvciBhIHN0cmluZyBvbiB0aGUgZnJvbnQtZW5kIHNpZGUsIG5vdCBhbiBvYmpl
Y3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFw
c2hvdC1sb2FkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVy
L2hlYXAtc25hcHNob3QtbG9hZGVyLWV4cGVjdGVkLnR4dAppbmRleCAyMzBhMzk3NTIxYTVhZjVj
ZmMzOWE3ZDI0ZTQxNzYxMWUxOWMzNmFhLi5lODc0NzZhZDM2MmNhYTU0M2Q4YTdkZDFhY2ZkNDdl
M2IxNzVlMjE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVh
cC1zbmFwc2hvdC1sb2FkZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9wcm9maWxlci9oZWFwLXNuYXBzaG90LWxvYWRlci1leHBlY3RlZC50eHQKQEAgLTMsMyArMyw1
IEBAIFRoaXMgdGVzdCBjaGVja3MgSGVhcFNuYXBzaG90cyBsb2FkZXIuCiAKIFJ1bm5pbmc6IGhl
YXBTbmFwc2hvdExvYWRlclRlc3QKIAorUnVubmluZzogaGVhcFNuYXBzaG90U2VwYXJhdGVFZGdl
c0xvYWRlclRlc3QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVy
L2hlYXAtc25hcHNob3QtbG9hZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmls
ZXIvaGVhcC1zbmFwc2hvdC1sb2FkZXIuaHRtbAppbmRleCAxYzMwODJkMDNlN2JhOWZjZjI2YzQw
OGJmMjM0N2Q1YmQ2YWJkYWFhLi5mNzk1MTkwYmVkYzU4NTEzMjE5NDFkZTQ0ZjUxZjc3Nzg0YzM1
MjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFw
c2hvdC1sb2FkZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVh
cC1zbmFwc2hvdC1sb2FkZXIuaHRtbApAQCAtMjMsNiArMjMsMjcgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gbG9hZGVyLmZpbmlzaExvYWRpbmcoKTsKICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0U25hcHNob3RFcXVhbHMobmV3IFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3QoSW5zcGVjdG9yVGVzdC5jcmVhdGVIZWFwU25hcHNob3RNb2NrKCkpLCBy
ZXN1bHQpOwogICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0
aW9uIGhlYXBTbmFwc2hvdFNlcGFyYXRlRWRnZXNMb2FkZXJUZXN0KG5leHQpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHZhciBzb3VyY2UgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUhlYXBTbmFwc2hv
dFNwbGl0Tm9kZXNFZGdlc01vY2tSYXcoKTsKKyAgICAgICAgICAgIHZhciBzb3VyY2VTdHJpbmdp
ZmllZCA9IEpTT04uc3RyaW5naWZ5KHNvdXJjZSk7CisgICAgICAgICAgICB2YXIgcGFydFNpemUg
PSBzb3VyY2VTdHJpbmdpZmllZC5sZW5ndGggPj4gMzsKKyAgICAgICAgICAgIHZhciBsb2FkZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdExvYWRlcigpOworICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDAsIGwgPSBzb3VyY2VTdHJpbmdpZmllZC5sZW5ndGg7IGkgPCBsOyBpICs9IHBh
cnRTaXplKQorICAgICAgICAgICAgICAgIGxvYWRlci5wdXNoSlNPTkNodW5rKHNvdXJjZVN0cmlu
Z2lmaWVkLnNsaWNlKGksIGkgKyBwYXJ0U2l6ZSkpOworICAgICAgICAgICAgdmFyIHJlc3VsdCA9
IGxvYWRlci5maW5pc2hMb2FkaW5nKCk7CisgICAgICAgICAgICAvLyBQYXRjaCBpdCBhIGJpdCB0
byBtYWtlIGl0IGlkZW50aWNhbCB0byB0aGUgc3BlY2ltZW4uCisgICAgICAgICAgICByZXN1bHQu
X29ubHlOb2RlcyA9IG5ldyBVaW50MzJBcnJheShyZXN1bHQuX29ubHlOb2Rlcyk7CisgICAgICAg
ICAgICByZXN1bHQuX2NvbnRhaW5tZW50RWRnZXMgPSBuZXcgVWludDMyQXJyYXkocmVzdWx0Ll9j
b250YWlubWVudEVkZ2VzKTsKKyAgICAgICAgICAgIHZhciBzcGVjaW1lbiA9IG5ldyBXZWJJbnNw
ZWN0b3IuSGVhcFNuYXBzaG90KEluc3BlY3RvclRlc3QuY3JlYXRlSGVhcFNuYXBzaG90TW9jaygp
KTsKKyAgICAgICAgICAgIGRlbGV0ZSByZXN1bHQuX21ldGFOb2RlOworICAgICAgICAgICAgZGVs
ZXRlIHNwZWNpbWVuLl9tZXRhTm9kZTsKKyAgICAgICAgICAgIGRlbGV0ZSBzcGVjaW1lbi5fZWRn
ZXNDb3VudE9mZnNldDsKKyAgICAgICAgICAgIGRlbGV0ZSBzcGVjaW1lbi5fZmlyc3RFZGdlT2Zm
c2V0OworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRTbmFwc2hvdEVxdWFscyhzcGVj
aW1lbiwgcmVzdWx0KTsKKyAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgfQogICAgIF0pOwog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNo
b3QtdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90
LXRlc3QuanMKaW5kZXggODQ0YmViYzY1OTljOTU5ODNmYjQ1N2VkYTQ0ZTdmYTkwNTYzODNkZS4u
MTBlMTQzOTY5MjJmMzJkYjVjYzA4YTNjNjdkMWMyZmQ1MmUxYTVhNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qcworKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzCkBAIC03
Myw2ICs3MywzNSBAQCBJbnNwZWN0b3JUZXN0LmNyZWF0ZUhlYXBTbmFwc2hvdE1vY2tSYXcgPSBm
dW5jdGlvbigpCiAgICAgfTsKIH07CiAKK0luc3BlY3RvclRlc3QuY3JlYXRlSGVhcFNuYXBzaG90
U3BsaXROb2Rlc0VkZ2VzTW9ja1JhdyA9IGZ1bmN0aW9uKCkKK3sKKyAgICAvLyBSZXR1cm4gdGhl
IHNhbWUgc25hcHNob3QgYXMgYWJvdmUgYnV0IGhhdmluZyB0aGUgbm9kZXMgYW5kIGVkZ2VzCisg
ICAgLy8gc2VwYXJhdGVkLgorICAgIHJldHVybiB7CisgICAgICAgIHNuYXBzaG90OiB7fSwKKyAg
ICAgICAgbm9kZXM6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzZXBhcmF0ZV9l
ZGdlczogdHJ1ZSwKKyAgICAgICAgICAgICAgICBub2RlX2ZpZWxkczogWyJ0eXBlIiwgIm5hbWUi
LCAiaWQiLCAic2VsZl9zaXplIiwgInJldGFpbmVkX3NpemUiLCAiZG9taW5hdG9yIiwgImVkZ2Vz
X2luZGV4Il0sCisgICAgICAgICAgICAgICAgbm9kZV90eXBlczogW1siaGlkZGVuIiwgIm9iamVj
dCJdLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiXSwKKyAgICAgICAgICAgICAgICBlZGdlX2ZpZWxk
czogWyJ0eXBlIiwgIm5hbWVfb3JfaW5kZXgiLCAidG9fbm9kZSJdLAorICAgICAgICAgICAgICAg
IGVkZ2VfdHlwZXM6IFtbImVsZW1lbnQiLCAicHJvcGVydHkiXSwgIiIsICIiXQorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIDAsIDAsIDEsIDAsIDIwLCAgMCwgIDAsCisgICAgICAgICAgICAx
LCAxLCAyLCAyLCAgMiwgIDAsICA2LAorICAgICAgICAgICAgMSwgMiwgMywgMywgIDgsICAwLCAx
MiwKKyAgICAgICAgICAgIDEsIDMsIDQsIDQsIDEwLCAgMCwgMTgsCisgICAgICAgICAgICAxLCA0
LCA1LCA1LCAgNSwgMTQsIDIxLAorICAgICAgICAgICAgMSwgNSwgNiwgNiwgIDYsIDIxLCAyMV0s
CisgICAgICAgIGVkZ2VzOiBbCisgICAgICAgICAgICAxLCAgNiwgIDcsIDEsICA3LCAxNCwKKyAg
ICAgICAgICAgIDAsICAxLCAxNCwgMSwgIDgsIDIxLAorICAgICAgICAgICAgMSwgIDksIDIxLCAx
LCAxMCwgMjgsCisgICAgICAgICAgICAxLCAxMSwgMzVdLAorICAgICAgICBzdHJpbmdzOiBbIiIs
ICJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiYSIsICJiIiwgImFjIiwgImJjIiwgImJkIiwgImNl
Il0KKyAgICB9OworfTsKKwogSW5zcGVjdG9yVGVzdC5fcG9zdHByb2Nlc3NIZWFwU25hcHNob3RN
b2NrID0gZnVuY3Rpb24obW9jaykKIHsKICAgICBtb2NrLm1ldGFOb2RlID0gbW9jay5ub2Rlc1sw
XTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>