<?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>81588</bug_id>
          
          <creation_ts>2012-03-19 16:26:19 -0700</creation_ts>
          <short_desc>Array.prototype.toString should be generic</short_desc>
          <delta_ts>2012-04-17 11:59:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>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>83967</dependson>
          <blocked>81573</blocked>
    
    <blocked>83787</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Erik Arvidsson">arv</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>barraclough</cc>
    
    <cc>hojong.han</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>582420</commentid>
    <comment_count>0</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-19 16:26:19 -0700</bug_when>
    <thetext>The following fails in JSC

Array.prototype.toString.call(document.getElementsByTagName(&apos;*&apos;))

with a TypeError.

The spec is pretty clear here that the above should work.

15.4.4.2	Array.prototype.toString ( )

NOTE	The toString function is intentionally generic; it does not require that its this value be an Array object. Therefore it can be transferred to other kinds of objects for use as a method. Whether the toString function can be applied successfully to a host object is implementation-dependent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591874</commentid>
    <comment_count>1</comment_count>
      <attachid>134723</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-03-29 22:09:15 -0700</bug_when>
    <thetext>Created attachment 134723
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592315</commentid>
    <comment_count>2</comment_count>
      <attachid>134723</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-30 11:09:33 -0700</bug_when>
    <thetext>Comment on attachment 134723
Patch

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

Please add tests that ensures the correct behavior.

var obj = {__proto__: Array.prototype, 0: &apos;a&apos;, 1: &apos;b&apos;, 2: &apos;c&apos;, length: 3}
shouldBeEqualToString(&apos;obj.toString()&apos;, &apos;a,b,c&apos;);

var join = {join: function() { return &apos;join&apos; }}
shouldBeEqualToString(&apos;Array.prototype.toString.call(join)&apos;, &apos;join&apos;)

shouldBeEqualToString(&apos;Array.prototype.toString.call(new Date)&apos;, &apos;[object Date]&apos;)

&gt; Source/JavaScriptCore/runtime/ArrayPrototype.cpp:260
&gt; +            JSValue value = thisValue.asCell()-&gt;toPrimitive(exec, PreferString);

This does not look correct. How does this check for &quot;join&quot; etc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593150</commentid>
    <comment_count>3</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-01 20:24:59 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 134723 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134723&amp;action=review
&gt; 
&gt; Please add tests that ensures the correct behavior.
&gt; 
&gt; var obj = {__proto__: Array.prototype, 0: &apos;a&apos;, 1: &apos;b&apos;, 2: &apos;c&apos;, length: 3}
&gt; shouldBeEqualToString(&apos;obj.toString()&apos;, &apos;a,b,c&apos;);
&gt; 
&gt; var join = {join: function() { return &apos;join&apos; }}
&gt; shouldBeEqualToString(&apos;Array.prototype.toString.call(join)&apos;, &apos;join&apos;)
&gt; 
&gt; shouldBeEqualToString(&apos;Array.prototype.toString.call(new Date)&apos;, &apos;[object Date]&apos;)
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/ArrayPrototype.cpp:260
&gt; &gt; +            JSValue value = thisValue.asCell()-&gt;toPrimitive(exec, PreferString);
&gt; 
&gt; This does not look correct. How does this check for &quot;join&quot; etc?

Could you explain how Array.prototype.toString.call(join) results join , not [object Object]?
(and also Array.prototype.toString.call(new Date) results [object Date], not current date information like Mon Apr 02 2012 12:24:05 GMT+0900 (KST))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593156</commentid>
    <comment_count>4</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-04-01 21:11:58 -0700</bug_when>
    <thetext>The spec is pretty clear here. (Sorry for the brevity, I&apos;m using my phone)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593187</commentid>
    <comment_count>5</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-01 23:03:20 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; The spec is pretty clear here. (Sorry for the brevity, I&apos;m using my phone)

I did misunderstand the spec. It&apos;s clear now. thanks, Erik.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593390</commentid>
    <comment_count>6</comment_count>
      <attachid>135074</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-02 05:26:33 -0700</bug_when>
    <thetext>Created attachment 135074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593468</commentid>
    <comment_count>7</comment_count>
      <attachid>135074</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-04-02 07:49:43 -0700</bug_when>
    <thetext>Comment on attachment 135074
Patch

A bug fix like this needs test cases. And it needs performance testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593469</commentid>
    <comment_count>8</comment_count>
      <attachid>135074</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-04-02 07:50:20 -0700</bug_when>
    <thetext>Comment on attachment 135074
Patch

Please submit a new patch that adds tests for all the new code paths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593549</commentid>
    <comment_count>9</comment_count>
      <attachid>135074</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-04-02 09:55:01 -0700</bug_when>
    <thetext>Comment on attachment 135074
Patch

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

&gt; Source/JavaScriptCore/runtime/ArrayPrototype.cpp:270
&gt; +                return JSValue::encode(jsMakeNontrivialString(exec, &quot;[object &quot;, thisObject-&gt;methodTable()-&gt;className(thisObject), &quot;]&quot;));

This does not seem right. You should call the original Object.prototype.toString instead of duplicating its implementation.


...and add tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594098</commentid>
    <comment_count>10</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-02 18:00:55 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 135074 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135074&amp;action=review
&gt; &gt; Source/JavaScriptCore/runtime/ArrayPrototype.cpp:270
&gt; &gt; +                return JSValue::encode(jsMakeNontrivialString(exec, &quot;[object &quot;, thisObject-&gt;methodTable()-&gt;className(thisObject), &quot;]&quot;));
&gt; This does not seem right. You should call the original Object.prototype.toString instead of duplicating its implementation.
&gt; ...and add tests

Thanks for reveiw. I&apos;ll apply what you recommend and tests to the new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595354</commentid>
    <comment_count>11</comment_count>
      <attachid>135542</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-04 03:04:13 -0700</bug_when>
    <thetext>Created attachment 135542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595358</commentid>
    <comment_count>12</comment_count>
      <attachid>135542</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-04 03:08:19 -0700</bug_when>
    <thetext>Comment on attachment 135542
Patch

Attachment 135542 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12317837</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595363</commentid>
    <comment_count>13</comment_count>
      <attachid>135542</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-04 03:12:46 -0700</bug_when>
    <thetext>Comment on attachment 135542
Patch

Attachment 135542 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12320742</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595365</commentid>
    <comment_count>14</comment_count>
      <attachid>135546</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-04 03:13:28 -0700</bug_when>
    <thetext>Created attachment 135546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596983</commentid>
    <comment_count>15</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-04-05 16:00:55 -0700</bug_when>
    <thetext>Olli, Gavin: This bug is blocking 81573 so your feedback is highly appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597716</commentid>
    <comment_count>16</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-04-06 15:19:37 -0700</bug_when>
    <thetext>The reason why this is blocking 81573 is that NodeList now has Array.prototype on its prototype chain. This will cause toString on a NodeList to call Array.prototype.toString which throws in JSC. I&apos;m tempted to submit 81573 without waiting for this but the JSC behavior until this one is fixed is pretty much unacceptable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597728</commentid>
    <comment_count>17</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-04-06 15:26:04 -0700</bug_when>
    <thetext>I think this patch might not be sufficient. If someone overrides Array.prototype.join, arrays need to reflect that. For example:

Array.prototype.join = function() { return &apos;join&apos; }
shouldBeEqualToString(&apos;[0, 1, 2].toString()&apos;, &apos;join&apos;);

It seems like the right thing to do is to not special case real arrays and always call join as the spec says.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597970</commentid>
    <comment_count>18</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-07 07:35:44 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; I think this patch might not be sufficient. If someone overrides Array.prototype.join, arrays need to reflect that. For example:
&gt; 
&gt; Array.prototype.join = function() { return &apos;join&apos; }
&gt; shouldBeEqualToString(&apos;[0, 1, 2].toString()&apos;, &apos;join&apos;);
&gt; 
&gt; It seems like the right thing to do is to not special case real arrays and always call join as the spec says.

I think you are right on the basic principle. It&apos;d better call join as your explanation.
but some considerations, such as arguments, will be necessay if join were called in toString.
I&apos;ll patch again with these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598015</commentid>
    <comment_count>19</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-07 19:44:07 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; I think this patch might not be sufficient. If someone overrides Array.prototype.join, arrays need to reflect that. For example:
&gt; 
&gt; Array.prototype.join = function() { return &apos;join&apos; }
&gt; shouldBeEqualToString(&apos;[0, 1, 2].toString()&apos;, &apos;join&apos;);

Agreed - please add this test case.  Also, due to the &apos;if (thisValue.isCell()) {&apos;check, I think this will do the wrong think for non-cell this values, e.g.:

Number.prototype.join = function() { return &quot;number join&quot;; }
Array.prototype.toString.call(42);

&gt; It seems like the right thing to do is to not special case real arrays and always call join as the spec says.

From a quick glance it looks like toString is more optimized that join, we could look at similarly optimizing join, but without doing so we wouldn&apos;t want to ditch the optimization from toString, and changing functionality and introducing optimizations in the same patch is a bad plan.  So it would be best for this patch to fix toString without either removing optimizations from toString or introducing them to join.

The &apos;inherits&apos; check in the current patch is also bogus (not all functions inherit from JSFunction).  If we did need to check for functions, the right thing to do would be to would be to check .isFunction - however in this case the spec does not ask for the value to be a function, rather that it is callable (these may be one and the same for objects defined in the ES spec, but is not the same thing in the DOM).  The way to check for this is to check the returned CallType for CallTypeNone.  Rather than creating a new Identifier every time toString is called, one should be added to CommonIdentifiers.  The function call is passing undefined as the this value, this is also wrong.  When implementing something like this, I&apos;d suggest the easiest way is to start by copying the text from the spec, and using this a comments to follow, to help make sure your steps are all correct!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598016</commentid>
    <comment_count>20</comment_count>
      <attachid>136143</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-07 19:47:09 -0700</bug_when>
    <thetext>Created attachment 136143
partial patch

Thought I&apos;d try to help, think this might be a useful starting point.  I haven&apos;t run the existing regression tests, the new tests from your patch, Erik&apos;s proposed test case, or the one I suggest from my patch.  So there may be bugs. :-)  But hope this is useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598193</commentid>
    <comment_count>21</comment_count>
      <attachid>136203</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-09 02:45:26 -0700</bug_when>
    <thetext>Created attachment 136203
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598210</commentid>
    <comment_count>22</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-09 03:20:58 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Created an attachment (id=136143) [details]
&gt; partial patch
&gt; 
&gt; Thought I&apos;d try to help, think this might be a useful starting point.  I haven&apos;t run the existing regression tests, the new tests from your patch, Erik&apos;s proposed test case, or the one I suggest from my patch.  So there may be bugs. :-)  But hope this is useful.

Thanks a lot, Gavin. I patched by steps you&apos;d taught.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598223</commentid>
    <comment_count>23</comment_count>
      <attachid>136209</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-09 03:58:10 -0700</bug_when>
    <thetext>Created attachment 136209
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598227</commentid>
    <comment_count>24</comment_count>
      <attachid>136211</attachid>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-09 04:26:06 -0700</bug_when>
    <thetext>Created attachment 136211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598334</commentid>
    <comment_count>25</comment_count>
      <attachid>136211</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-04-09 09:30:08 -0700</bug_when>
    <thetext>Comment on attachment 136211
Patch

This looks pretty good to me. I&apos;ll let Gavin or someone else that knows JSC take care of the r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600794</commentid>
    <comment_count>26</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-04-11 18:47:08 -0700</bug_when>
    <thetext>[ArrayClass] landed so when this lands JSC ports need some rebaselines</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600822</commentid>
    <comment_count>27</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-11 19:59:40 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; [ArrayClass] landed so when this lands JSC ports need some rebaselines
When was it landed? I cannot find any landed codes affects this latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600912</commentid>
    <comment_count>28</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-11 23:07:43 -0700</bug_when>
    <thetext>&gt; &gt; [ArrayClass] landed so when this lands JSC ports need some rebaselines
&gt;
&gt; When was it landed? I cannot find any landed codes affects this latest patch.

http://trac.webkit.org/changeset/113931</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600914</commentid>
    <comment_count>29</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-04-11 23:11:17 -0700</bug_when>
    <thetext>The following tests probably needs rebaselines:

LayoutTests/fast/dom/HTMLSelectElement/named-options.html
LayoutTests/fast/dom/NodeList/node-list-array-class.html
LayoutTests/fast/dom/NodeList/nodelist-item-call-as-function.html

since they depend on the toString behavior of NodeList.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602321</commentid>
    <comment_count>30</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-04-13 12:32:18 -0700</bug_when>
    <thetext>This is now causing Gmail to not working when building with JSC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602534</commentid>
    <comment_count>31</comment_count>
      <attachid>136211</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-13 17:26:40 -0700</bug_when>
    <thetext>Comment on attachment 136211
Patch

Clearing flags on attachment: 136211

Committed r114185: &lt;http://trac.webkit.org/changeset/114185&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602535</commentid>
    <comment_count>32</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-13 17:26:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602573</commentid>
    <comment_count>33</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-04-13 18:23:07 -0700</bug_when>
    <thetext>Unfortunately, this broke a bunch of JavaScript tests on the Mac bots (probably more bots as well):

fast/dom/HTMLSelectElement/named-options.html
fast/dom/NodeList/nodelist-item-call-as-function.html
fast/dom/everything-to-string.html
fast/js/array-functions-non-arrays.html
fast/js/array-prototype-properties.html
fast/js/recursion-limit-equal.html
fast/js/toString-overrides.html
inspector/console/command-line-api.html
inspector/console/console-dir.html
inspector/console/console-format-collections.html
jquery/traversing.html
sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.2_Array_prototype_toString/S15.4.4.2_A2_T1.html
sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A1_T1.html

I don&apos;t know if all of them are progressions so I&apos;m going to roll out the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602740</commentid>
    <comment_count>34</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-04-15 00:03:35 -0700</bug_when>
    <thetext>This fix was rolled out in &lt;http://trac.webkit.org/changeset/114195&gt;, so reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602835</commentid>
    <comment_count>35</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-15 18:21:49 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; This is now causing Gmail to not working when building with JSC.
Erik, could you let me know which one is &quot;This&quot;, patch or bug?
Layout test has not been run under my development environmen
so that I&apos;ve not been able to update the patch with rebaseline...
Sorry for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603236</commentid>
    <comment_count>36</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-16 10:02:05 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; Layout test has not been run under my development environmen

If you want to contribute patches to WebKit, we do require that you run the regression tests on your changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603557</commentid>
    <comment_count>37</comment_count>
      <attachid>137427</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-16 16:35:37 -0700</bug_when>
    <thetext>Created attachment 137427
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603561</commentid>
    <comment_count>38</comment_count>
      <attachid>137430</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-16 16:36:59 -0700</bug_when>
    <thetext>Created attachment 137430
Fix inc layout test changes!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603582</commentid>
    <comment_count>39</comment_count>
    <who name="Hojong Han">hojong.han</who>
    <bug_when>2012-04-16 17:03:23 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; (In reply to comment #35)
&gt; &gt; Layout test has not been run under my development environmen
&gt; 
&gt; If you want to contribute patches to WebKit, we do require that you run the regression tests on your changes.

Yes, of course. What I meant is that my system had some problems while running layout tests for rebaseline so that I couldn&apos;t patch right away. I should have let people know this before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604211</commentid>
    <comment_count>40</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-17 11:59:15 -0700</bug_when>
    <thetext>Fixed in r114405</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134723</attachid>
            <date>2012-03-29 22:09:15 -0700</date>
            <delta_ts>2012-04-02 05:26:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81588-20120330140910.patch</filename>
            <type>text/plain</type>
            <size>1690</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
Yjk4NjlmYjkxMzMyMTgyOWM3Mzk4MWU1OTljZmMyY2Y5NzQ1MTQ0Li4yMDk3ZDUzZWFjMWM5ZGYz
MGQ3NTYxODkxZjQ0MTJlN2IwNzE2NmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wMy0yOSAgSG9qb25nIEhhbiAgPGhvam9uZy5oYW5Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nIHNob3VsZCBiZSBnZW5lcmlj
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTU4OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jVG9TdHJp
bmcpOgorCiAyMDEyLTAzLTI5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5j
b20+CiAKICAgICAgICAgUmVmYWN0b3IgcmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKSB0byBiZSBs
ZXNzIGV4cGVuc2l2ZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQ
cm90b3R5cGUuY3BwCmluZGV4IGFlNWI5YzYyMzVjMjM3MGY1YWE2MzgxYTFmZmY0MDI3MDFiY2Iw
NTkuLmY1Y2IxODQyODEyYTc1ZThmY2I5MmZlMjBjYjQzZDhjNjNkYTY1MWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTI1NSw4
ICsyNTUsMTMgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRnVuY1Rv
U3RyaW5nKEV4ZWNTdGF0ZSogZXhlYykKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhv
c3RUaGlzVmFsdWUoKTsKIAogICAgIGJvb2wgaXNSZWFsQXJyYXkgPSBpc0pTQXJyYXkodGhpc1Zh
bHVlKTsKLSAgICBpZiAoIWlzUmVhbEFycmF5ICYmICF0aGlzVmFsdWUuaW5oZXJpdHMoJkpTQXJy
YXk6OnNfaW5mbykpCisgICAgaWYgKCFpc1JlYWxBcnJheSAmJiAhdGhpc1ZhbHVlLmluaGVyaXRz
KCZKU0FycmF5OjpzX2luZm8pKSB7CisgICAgICAgIGlmICh0aGlzVmFsdWUuaXNDZWxsKCkpIHsK
KyAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSB0aGlzVmFsdWUuYXNDZWxsKCktPnRvUHJpbWl0
aXZlKGV4ZWMsIFByZWZlclN0cmluZyk7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHZhbHVlKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihl
eGVjKTsKKyAgICB9CiAgICAgSlNBcnJheSogdGhpc09iaiA9IGFzQXJyYXkodGhpc1ZhbHVlKTsK
ICAgICAKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5nZXQoZXhlYywgZXhlYy0+cHJv
cGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135074</attachid>
            <date>2012-04-02 05:26:33 -0700</date>
            <delta_ts>2012-04-04 03:04:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81588-20120402212624.patch</filename>
            <type>text/plain</type>
            <size>2340</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyODQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NDJlNzhiNDcxNjU0MTM1NzRiZWJmN2Y3NTgyYzhmMWYyYTIxNDg0Li42M2QzNGRhMGFiMDMzZDcw
ZmZkYzI4NjA2ZTk0MDRhY2FhMDM2OTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wNC0wMiAgSG9qb25nIEhhbiAgPGhvam9uZy5oYW5Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nIHNob3VsZCBiZSBnZW5lcmlj
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTU4OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jVG9TdHJp
bmcpOgorCiAyMDEyLTA0LTAxICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggaW5jb3JyZWN0IHBhdGggZm9yIGxpYldURi5hIGluIE1hYyBwcm9qZWN0IGZpbGUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlw
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAK
aW5kZXggYWU1YjljNjIzNWMyMzcwZjVhYTYzODFhMWZmZjQwMjcwMWJjYjA1OS4uYTJlNDY5Mjcx
Y2FlNDY4MTA1MzM1ZDIwMDFlZWRmNzc0ZmE0ZmE2NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApAQCAtMjU1LDkgKzI1NSwyNCBAQCBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jVG9TdHJpbmcoRXhlY1N0
YXRlKiBleGVjKQogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgp
OwogCiAgICAgYm9vbCBpc1JlYWxBcnJheSA9IGlzSlNBcnJheSh0aGlzVmFsdWUpOwotICAgIGlm
ICghaXNSZWFsQXJyYXkgJiYgIXRoaXNWYWx1ZS5pbmhlcml0cygmSlNBcnJheTo6c19pbmZvKSkK
KyAgICBpZiAodGhpc1ZhbHVlLmlzQ2VsbCgpKSB7CisgICAgICAgIGlmICghaXNSZWFsQXJyYXkg
JiYgIXRoaXNWYWx1ZS5pbmhlcml0cygmSlNBcnJheTo6c19pbmZvKSkgeworICAgICAgICAgICAg
SlNPYmplY3QqIHRoaXNPYmplY3QgPSB0aGlzVmFsdWUudG9PYmplY3QoZXhlYyk7CisgICAgICAg
ICAgICBJZGVudGlmaWVyIGlkZW50aWZpZXIoZXhlYywgImpvaW4iKTsKKyAgICAgICAgICAgIEpT
VmFsdWUgZnVuY3Rpb24gPSB0aGlzVmFsdWUuZ2V0KGV4ZWMsIGlkZW50aWZpZXIpOworICAgICAg
ICAgICAgaWYgKGZ1bmN0aW9uLmluaGVyaXRzKCZKU0Z1bmN0aW9uOjpzX2luZm8pKSB7CisgICAg
ICAgICAgICAgICAgQXJnTGlzdCBhcmdzOworICAgICAgICAgICAgICAgIENhbGxEYXRhIGNhbGxE
YXRhOworICAgICAgICAgICAgICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVu
Y3Rpb24sIGNhbGxEYXRhKTsKKyAgICAgICAgICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5
cGVKUykKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYWxsKGV4
ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGpzVW5kZWZpbmVkKCksIGFyZ3MpKTsK
KyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNNYWtlTm9udHJpdmlhbFN0cmluZyhleGVjLCAiW29iamVjdCAiLCB0aGlzT2JqZWN0LT5t
ZXRob2RUYWJsZSgpLT5jbGFzc05hbWUodGhpc09iamVjdCksICJdIikpOworICAgICAgICB9Cisg
ICAgfSBlbHNlCiAgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwotICAgIEpT
QXJyYXkqIHRoaXNPYmogPSBhc0FycmF5KHRoaXNWYWx1ZSk7CisKKyAgICBKU0FycmF5KiB0aGlz
T2JqID0gc3RhdGljX2Nhc3Q8SlNBcnJheSo+KHRoaXNWYWx1ZS5hc0NlbGwoKSk7CiAgICAgCiAg
ICAgdW5zaWduZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFt
ZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4ZWMpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24o
KSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135542</attachid>
            <date>2012-04-04 03:04:13 -0700</date>
            <delta_ts>2012-04-04 03:13:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81588-20120404190405.patch</filename>
            <type>text/plain</type>
            <size>4268</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MTI3NWNiZTcwODViYWQ3NDE1ZmQ2NTEyMDhjYWRlMmYzMGUzYTgxLi41YmFlZmJjNzViMDk3YjNm
NzA2NTU5OWU3ZjZmMTcyZWI1MzU1NzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMi0wNC0wNCAgSG9qb25nIEhhbiAgPGhvam9uZy5oYW5Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nIHNob3VsZCBiZSBnZW5lcmlj
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTU4OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jVG9TdHJp
bmcpOgorICAgICAgICAqIHRlc3RzL21vemlsbGEvZWNtYS9BcnJheS8xNS40LjQuMi5qczoKKyAg
ICAgICAgKGdldFRlc3RDYXNlcy5hcnJheS5pdGVtLm5ldy5UZXN0Q2FzZSk6CisgICAgICAgIChn
ZXRUZXN0Q2FzZXMpOgorCiAyMDEyLTA0LTAzICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXBkYXRlZCBKU0MgZXhwZWN0ZWQgdGVzdCByZXN1bHRzIHRvIHJl
ZmxlY3QgcmVjZW50IGJ1ZyBmaXhlcyA8ZGlzYXBwcm92aW5nIGxvb2s+LgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCmluZGV4IGFlNWI5YzYy
MzVjMjM3MGY1YWE2MzgxYTFmZmY0MDI3MDFiY2IwNTkuLjY3YWFjYTAyZDVhM2Y4NTQ3NWJhNTQ3
OGRjYTY0NGQ5Nzc3ZGFjNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTI1NSwxMCArMjU1LDI1IEBAIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNUb1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7CiAKICAgICBib29s
IGlzUmVhbEFycmF5ID0gaXNKU0FycmF5KHRoaXNWYWx1ZSk7Ci0gICAgaWYgKCFpc1JlYWxBcnJh
eSAmJiAhdGhpc1ZhbHVlLmluaGVyaXRzKCZKU0FycmF5OjpzX2luZm8pKQorICAgIGlmICh0aGlz
VmFsdWUuaXNDZWxsKCkpIHsKKyAgICAgICAgaWYgKCFpc1JlYWxBcnJheSAmJiAhdGhpc1ZhbHVl
LmluaGVyaXRzKCZKU0FycmF5OjpzX2luZm8pKSB7CisgICAgICAgICAgICBKU09iamVjdCogdGhp
c09iamVjdCA9IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICAgICAgICAgIElkZW50aWZp
ZXIgaWRlbnRpZmllcihleGVjLCAiam9pbiIpOworICAgICAgICAgICAgSlNWYWx1ZSBmdW5jdGlv
biA9IHRoaXNWYWx1ZS5nZXQoZXhlYywgaWRlbnRpZmllcik7CisgICAgICAgICAgICBpZiAoZnVu
Y3Rpb24uaW5oZXJpdHMoJkpTRnVuY3Rpb246OnNfaW5mbykpIHsKKyAgICAgICAgICAgICAgICBB
cmdMaXN0IGFyZ3M7CisgICAgICAgICAgICAgICAgQ2FsbERhdGEgY2FsbERhdGE7CisgICAgICAg
ICAgICAgICAgQ2FsbFR5cGUgY2FsbFR5cGUgPSBnZXRDYWxsRGF0YShmdW5jdGlvbiwgY2FsbERh
dGEpOworICAgICAgICAgICAgICAgIGlmIChjYWxsVHlwZSA9PSBDYWxsVHlwZUpTKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGwoZXhlYywgZnVuY3Rpb24s
IGNhbGxUeXBlLCBjYWxsRGF0YSwganNVbmRlZmluZWQoKSwgZXhlYy0+ZW1wdHlMaXN0KCkpKTsK
KyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHJldHVybiBvYmplY3RQcm90b0Z1
bmNUb1N0cmluZyhleGVjKTsKKyAgICAgICAgfQorICAgIH0gZWxzZQogICAgICAgICByZXR1cm4g
dGhyb3dWTVR5cGVFcnJvcihleGVjKTsKLSAgICBKU0FycmF5KiB0aGlzT2JqID0gYXNBcnJheSh0
aGlzVmFsdWUpOwotICAgIAorCisgICAgSlNBcnJheSogdGhpc09iaiA9IHN0YXRpY19jYXN0PEpT
QXJyYXkqPih0aGlzVmFsdWUuYXNDZWxsKCkpOworCiAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGhp
c09iai0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4
ZWMpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEvQXJyYXkvMTUuNC40LjIuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0FycmF5LzE1LjQuNC4yLmpzCmluZGV4IDk1NjU3
OThjYjk2NTRjOWQ5M2FmZjVhMzFlOGNiM2I4MzJkZGQzMDAuLjY2ZWVhMzVjZmIzNWQ3M2Y4NDI5
NGIwMmVhNzZiMjlkYzhkMzZmNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9tb3ppbGxhL2VjbWEvQXJyYXkvMTUuNC40LjIuanMKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL21vemlsbGEvZWNtYS9BcnJheS8xNS40LjQuMi5qcwpAQCAtNTUsNiArNTUs
MTMgQEAgZnVuY3Rpb24gZ2V0VGVzdENhc2VzKCkgewogICAgIGFycmF5W2l0ZW0rK10gPSBuZXcg
VGVzdENhc2UoIFNFQ1RJT04sICAiKG5ldyBBcnJheSggQm9vbGVhbigxKSwgQm9vbGVhbigwKSkp
LnRvU3RyaW5nKCkiLCAgICJ0cnVlLGZhbHNlIiwgICAobmV3IEFycmF5KEJvb2xlYW4oMSksQm9v
bGVhbigwKSkpLnRvU3RyaW5nKCkgKTsKICAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNl
KCBTRUNUSU9OLCAgIihuZXcgQXJyYXkodm9pZCAwLG51bGwpKS50b1N0cmluZygpIiwgICAgIiwi
LCAgICAobmV3IEFycmF5KHZvaWQgMCxudWxsKSkudG9TdHJpbmcoKSApOwogCisgICAgYXJyYXlb
aXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgICJ7X19wcm90b19fOiBBcnJheS5wcm90
b3R5cGUsIDA6ICdhJywgMTogJ2InLCAyOiAnYycsIGxlbmd0aDogM30udG9TdHJpbmcoKSIsICJh
LGIsYyIsIHtfX3Byb3RvX186IEFycmF5LnByb3RvdHlwZSwgMDogJ2EnLCAxOiAnYicsIDI6ICdj
JywgbGVuZ3RoOiAzfS50b1N0cmluZygpICk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0
Q2FzZSggU0VDVElPTiwgICJ7X19wcm90b19fOiBBcnJheS5wcm90b3R5cGUsIDA6ICdhJywgMTog
J2InLCAyOiAnYycsIGpvaW46IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2pvaW4nIH19LnRvU3RyaW5n
KCkiLCAiam9pbiIsIHtfX3Byb3RvX186IEFycmF5LnByb3RvdHlwZSwgMDogJ2EnLCAxOiAnYics
IDI6ICdjJywgam9pbjogZnVuY3Rpb24oKSB7IHJldHVybiAnam9pbicgfX0udG9TdHJpbmcoKSAp
OworICAgIAorICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICAiQXJy
YXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoe2pvaW46IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2pv
aW4nIH19KSIsICJqb2luIiwgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoe2pvaW46IGZ1
bmN0aW9uKCkgeyByZXR1cm4gJ2pvaW4nIH19KSApOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcg
VGVzdENhc2UoIFNFQ1RJT04sICAiQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoe3NvcnQ6
IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ3NvcnQnIH19KSIsICJbb2JqZWN0IE9iamVjdF0iLCBBcnJh
eS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7c29ydDogZnVuY3Rpb24oKSB7IHJldHVybiAnc29y
dCcgfX0pICk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgICJB
cnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSkiLCAiW29iamVjdCBEYXRlXSIs
IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKSApOworCiAgICAgdmFyIEVY
UEVDVF9TVFJJTkcgPSAiIjsKICAgICB2YXIgTVlBUlIgPSBuZXcgQXJyYXkoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135546</attachid>
            <date>2012-04-04 03:13:28 -0700</date>
            <delta_ts>2012-04-09 02:45:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81588-20120404191321.patch</filename>
            <type>text/plain</type>
            <size>4206</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MTI3NWNiZTcwODViYWQ3NDE1ZmQ2NTEyMDhjYWRlMmYzMGUzYTgxLi41YmFlZmJjNzViMDk3YjNm
NzA2NTU5OWU3ZjZmMTcyZWI1MzU1NzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMi0wNC0wNCAgSG9qb25nIEhhbiAgPGhvam9uZy5oYW5Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nIHNob3VsZCBiZSBnZW5lcmlj
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTU4OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jVG9TdHJp
bmcpOgorICAgICAgICAqIHRlc3RzL21vemlsbGEvZWNtYS9BcnJheS8xNS40LjQuMi5qczoKKyAg
ICAgICAgKGdldFRlc3RDYXNlcy5hcnJheS5pdGVtLm5ldy5UZXN0Q2FzZSk6CisgICAgICAgIChn
ZXRUZXN0Q2FzZXMpOgorCiAyMDEyLTA0LTAzICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXBkYXRlZCBKU0MgZXhwZWN0ZWQgdGVzdCByZXN1bHRzIHRvIHJl
ZmxlY3QgcmVjZW50IGJ1ZyBmaXhlcyA8ZGlzYXBwcm92aW5nIGxvb2s+LgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCmluZGV4IGFlNWI5YzYy
MzVjMjM3MGY1YWE2MzgxYTFmZmY0MDI3MDFiY2IwNTkuLjk1ODVjNmE4NTM0YzkwNzk1ZjQ4MDNm
NjFlNWEzMjE3MjdmYmZjNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTI1NSwxMCArMjU1LDI0IEBAIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNUb1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7CiAKICAgICBib29s
IGlzUmVhbEFycmF5ID0gaXNKU0FycmF5KHRoaXNWYWx1ZSk7Ci0gICAgaWYgKCFpc1JlYWxBcnJh
eSAmJiAhdGhpc1ZhbHVlLmluaGVyaXRzKCZKU0FycmF5OjpzX2luZm8pKQorICAgIGlmICh0aGlz
VmFsdWUuaXNDZWxsKCkpIHsKKyAgICAgICAgaWYgKCFpc1JlYWxBcnJheSAmJiAhdGhpc1ZhbHVl
LmluaGVyaXRzKCZKU0FycmF5OjpzX2luZm8pKSB7CisgICAgICAgICAgICBJZGVudGlmaWVyIGlk
ZW50aWZpZXIoZXhlYywgImpvaW4iKTsKKyAgICAgICAgICAgIEpTVmFsdWUgZnVuY3Rpb24gPSB0
aGlzVmFsdWUuZ2V0KGV4ZWMsIGlkZW50aWZpZXIpOworICAgICAgICAgICAgaWYgKGZ1bmN0aW9u
LmluaGVyaXRzKCZKU0Z1bmN0aW9uOjpzX2luZm8pKSB7CisgICAgICAgICAgICAgICAgQXJnTGlz
dCBhcmdzOworICAgICAgICAgICAgICAgIENhbGxEYXRhIGNhbGxEYXRhOworICAgICAgICAgICAg
ICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNhbGxEYXRhKTsK
KyAgICAgICAgICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVKUykKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxs
VHlwZSwgY2FsbERhdGEsIGpzVW5kZWZpbmVkKCksIGV4ZWMtPmVtcHR5TGlzdCgpKSk7CisgICAg
ICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gb2JqZWN0UHJvdG9GdW5jVG9T
dHJpbmcoZXhlYyk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKICAgICAgICAgcmV0dXJuIHRocm93
Vk1UeXBlRXJyb3IoZXhlYyk7Ci0gICAgSlNBcnJheSogdGhpc09iaiA9IGFzQXJyYXkodGhpc1Zh
bHVlKTsKLSAgICAKKworICAgIEpTQXJyYXkqIHRoaXNPYmogPSBzdGF0aWNfY2FzdDxKU0FycmF5
Kj4odGhpc1ZhbHVlLmFzQ2VsbCgpKTsKKwogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmot
PmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsK
ICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvbW96aWxsYS9lY21hL0FycmF5LzE1LjQuNC4yLmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL21vemlsbGEvZWNtYS9BcnJheS8xNS40LjQuMi5qcwppbmRleCA5NTY1Nzk4Y2I5
NjU0YzlkOTNhZmY1YTMxZThjYjNiODMyZGRkMzAwLi42NmVlYTM1Y2ZiMzVkNzNmODQyOTRiMDJl
YTc2YjI5ZGM4ZDM2ZjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
bW96aWxsYS9lY21hL0FycmF5LzE1LjQuNC4yLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9tb3ppbGxhL2VjbWEvQXJyYXkvMTUuNC40LjIuanMKQEAgLTU1LDYgKzU1LDEzIEBA
IGZ1bmN0aW9uIGdldFRlc3RDYXNlcygpIHsKICAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RD
YXNlKCBTRUNUSU9OLCAgIihuZXcgQXJyYXkoIEJvb2xlYW4oMSksIEJvb2xlYW4oMCkpKS50b1N0
cmluZygpIiwgICAidHJ1ZSxmYWxzZSIsICAgKG5ldyBBcnJheShCb29sZWFuKDEpLEJvb2xlYW4o
MCkpKS50b1N0cmluZygpICk7CiAgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VD
VElPTiwgICIobmV3IEFycmF5KHZvaWQgMCxudWxsKSkudG9TdHJpbmcoKSIsICAgICIsIiwgICAg
KG5ldyBBcnJheSh2b2lkIDAsbnVsbCkpLnRvU3RyaW5nKCkgKTsKIAorICAgIGFycmF5W2l0ZW0r
K10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICAie19fcHJvdG9fXzogQXJyYXkucHJvdG90eXBl
LCAwOiAnYScsIDE6ICdiJywgMjogJ2MnLCBsZW5ndGg6IDN9LnRvU3RyaW5nKCkiLCAiYSxiLGMi
LCB7X19wcm90b19fOiBBcnJheS5wcm90b3R5cGUsIDA6ICdhJywgMTogJ2InLCAyOiAnYycsIGxl
bmd0aDogM30udG9TdHJpbmcoKSApOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2Uo
IFNFQ1RJT04sICAie19fcHJvdG9fXzogQXJyYXkucHJvdG90eXBlLCAwOiAnYScsIDE6ICdiJywg
MjogJ2MnLCBqb2luOiBmdW5jdGlvbigpIHsgcmV0dXJuICdqb2luJyB9fS50b1N0cmluZygpIiwg
ImpvaW4iLCB7X19wcm90b19fOiBBcnJheS5wcm90b3R5cGUsIDA6ICdhJywgMTogJ2InLCAyOiAn
YycsIGpvaW46IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2pvaW4nIH19LnRvU3RyaW5nKCkgKTsKKyAg
ICAKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAgIkFycmF5LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKHtqb2luOiBmdW5jdGlvbigpIHsgcmV0dXJuICdqb2luJyB9
fSkiLCAiam9pbiIsIEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHtqb2luOiBmdW5jdGlv
bigpIHsgcmV0dXJuICdqb2luJyB9fSkgKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RD
YXNlKCBTRUNUSU9OLCAgIkFycmF5LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHtzb3J0OiBmdW5j
dGlvbigpIHsgcmV0dXJuICdzb3J0JyB9fSkiLCAiW29iamVjdCBPYmplY3RdIiwgQXJyYXkucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoe3NvcnQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ3NvcnQnIH19
KSApOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICAiQXJyYXku
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUpIiwgIltvYmplY3QgRGF0ZV0iLCBBcnJh
eS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSkgKTsKKwogICAgIHZhciBFWFBFQ1Rf
U1RSSU5HID0gIiI7CiAgICAgdmFyIE1ZQVJSID0gbmV3IEFycmF5KCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136143</attachid>
            <date>2012-04-07 19:47:09 -0700</date>
            <delta_ts>2012-04-16 16:35:37 -0700</delta_ts>
            <desc>partial patch</desc>
            <filename>81588.patch</filename>
            <type>text/plain</type>
            <size>2848</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlw
ZS5jcHAJKHJldmlzaW9uIDExMzMzNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FycmF5UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU0LDkgKzI1NCwyOSBAQCBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiB7CiAgICAgSlNWYWx1ZSB0
aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7CiAKLSAgICBib29sIGlzUmVhbEFycmF5
ID0gaXNKU0FycmF5KHRoaXNWYWx1ZSk7Ci0gICAgaWYgKCFpc1JlYWxBcnJheSAmJiAhdGhpc1Zh
bHVlLmluaGVyaXRzKCZKU0FycmF5OjpzX2luZm8pKQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5
cGVFcnJvcihleGVjKTsKKyAgICAvLyAxLiBMZXQgYXJyYXkgYmUgdGhlIHJlc3VsdCBvZiBjYWxs
aW5nIFRvT2JqZWN0IG9uIHRoZSB0aGlzIHZhbHVlLgorICAgIEpTT2JqZWN0KiB0aGlzT2JqZWN0
ID0gdGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24o
KSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAK
KyAgICAvLyAyLiBMZXQgZnVuYyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhlIFtbR2V0XV0g
aW50ZXJuYWwgbWV0aG9kIG9mIGFycmF5IHdpdGggYXJndW1lbnQgImpvaW4iLgorICAgIEpTVmFs
dWUgZnVuY3Rpb24gPSBKU1ZhbHVlKHRoaXNPYmplY3QpLmdldChleGVjLCBleGVjLT5wcm9wZXJ0
eU5hbWVzKCkuam9pbik7CisKKyAgICAvLyAzLiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNl
LCB0aGVuIGxldCBmdW5jIGJlIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBtZXRob2QgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZyAoMTUuMi40LjIpLgorICAgIGlmICghZnVuY3Rpb24uaXNDZWxsKCkp
CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNNYWtlTm9udHJpdmlhbFN0cmluZyhl
eGVjLCAiW29iamVjdCAiLCB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5jbGFzc05hbWUodGhp
c09iamVjdCksICJdIikpOworICAgIENhbGxEYXRhIGNhbGxEYXRhOworICAgIENhbGxUeXBlIGNh
bGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNhbGxEYXRhKTsKKyAgICBpZiAoY2FsbFR5
cGUgPT0gQ2FsbFR5cGVOb25lKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTWFr
ZU5vbnRyaXZpYWxTdHJpbmcoZXhlYywgIltvYmplY3QgIiwgdGhpc09iamVjdC0+bWV0aG9kVGFi
bGUoKS0+Y2xhc3NOYW1lKHRoaXNPYmplY3QpLCAiXSIpKTsKKworICAgIC8vIDQuIFJldHVybiB0
aGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhlIFtbQ2FsbF1dIGludGVybmFsIG1ldGhvZCBvZiBmdW5j
IHByb3ZpZGluZyBhcnJheSBhcyB0aGUgdGhpcyB2YWx1ZSBhbmQgYW4gZW1wdHkgYXJndW1lbnRz
IGxpc3QuCisgICAgaWYgKCFpc0pTQXJyYXkodGhpc09iamVjdCkgfHwgY2FsbFR5cGUgIT0gQ2Fs
bFR5cGVIb3N0IHx8IGNhbGxEYXRhLm5hdGl2ZS5mdW5jdGlvbiAhPSBhcnJheVByb3RvRnVuY0pv
aW4pIHsKKyAgICAgICAgQXJnTGlzdCBhcmdzOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGNhbGwoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSwgdGhpc09iamVjdCwg
ZXhlYy0+ZW1wdHlMaXN0KCkpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaXNKU0FycmF5KHRoaXNW
YWx1ZSkpOwogICAgIEpTQXJyYXkqIHRoaXNPYmogPSBhc0FycmF5KHRoaXNWYWx1ZSk7CiAgICAg
CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGhpc09iai0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5
TmFtZXMoKS5sZW5ndGgpLnRvVUludDMyKGV4ZWMpOwpAQCAtMjczLDcgKzI5Myw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKIAogICAgIGZvciAodW5zaWduZWQg
ayA9IDA7IGsgPCBsZW5ndGg7IGsrKykgewogICAgICAgICBKU1ZhbHVlIGVsZW1lbnQ7Ci0gICAg
ICAgIGlmIChpc1JlYWxBcnJheSAmJiB0aGlzT2JqLT5jYW5HZXRJbmRleChrKSkKKyAgICAgICAg
aWYgKHRoaXNPYmotPmNhbkdldEluZGV4KGspKQogICAgICAgICAgICAgZWxlbWVudCA9IHRoaXNP
YmotPmdldEluZGV4KGspOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBlbGVtZW50ID0gdGhp
c09iai0+Z2V0KGV4ZWMsIGspOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q29tbW9uSWRlbnRpZmllcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCShyZXZpc2lvbiAxMTMzMzUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCSh3b3JraW5nIGNvcHkp
CkBAIC03Miw3ICs3Miw4IEBACiAgICAgbWFjcm8odmFsdWUpIFwKICAgICBtYWNybyh2YWx1ZU9m
KSBcCiAgICAgbWFjcm8od3JpdGFibGUpIFwKLSAgICBtYWNybyhkaXNwbGF5TmFtZSkKKyAgICBt
YWNybyhkaXNwbGF5TmFtZSkgXAorICAgIG1hY3JvKGpvaW4pCiAKICNkZWZpbmUgSlNDX0NPTU1P
Tl9JREVOVElGSUVSU19FQUNIX0tFWVdPUkQobWFjcm8pIFwKICAgICBtYWNybyhudWxsKSBcCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136203</attachid>
            <date>2012-04-09 02:45:26 -0700</date>
            <delta_ts>2012-04-09 03:58:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81588-20120409184519.patch</filename>
            <type>text/plain</type>
            <size>8361</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MTI3NWNiZTcwODViYWQ3NDE1ZmQ2NTEyMDhjYWRlMmYzMGUzYTgxLi41ZGQ1NzdhMGJiYzMyYTNm
ZDU1YzA5N2U4ZmYzMjllMmY3Zjg4YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMi0wNC0wOSAgSG9qb25nIEhhbiAgPGhvam9uZy5oYW5Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nIGFuZCBBcnJheS5wcm90b3R5
cGUudG9Mb2NhbGVTdHJpbmcgc2hvdWxkIGJlIGdlbmVyaWMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcDoK
KyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNUb1N0cmluZyk6CisgICAgICAgIChKU0M6OmFy
cmF5UHJvdG9GdW5jVG9Mb2NhbGVTdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaDoKKyAgICAgICAgKiB0ZXN0cy9tb3ppbGxhL2VjbWEvQXJyYXkvMTUuNC40LjIu
anM6CisgICAgICAgIChnZXRUZXN0Q2FzZXMuYXJyYXkuaXRlbS5uZXcuVGVzdENhc2UpOgorICAg
ICAgICAoZ2V0VGVzdENhc2VzKToKKwogMjAxMi0wNC0wMyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2Fy
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZWQgSlNDIGV4cGVjdGVkIHRlc3QgcmVzdWx0
cyB0byByZWZsZWN0IHJlY2VudCBidWcgZml4ZXMgPGRpc2FwcHJvdmluZyBsb29rPi4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCBh
ZTViOWM2MjM1YzIzNzBmNWFhNjM4MWExZmZmNDAyNzAxYmNiMDU5Li4zMGFlMzg0YjJlMzRkMmU5
MTBkY2RkZGQ5ZmYzYjc2MDJjMzkzZTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC0yNTQsMTEgKzI1NCwyNiBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jVG9TdHJpbmcoRXhlY1N0YXRlKiBl
eGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwog
Ci0gICAgYm9vbCBpc1JlYWxBcnJheSA9IGlzSlNBcnJheSh0aGlzVmFsdWUpOwotICAgIGlmICgh
aXNSZWFsQXJyYXkgJiYgIXRoaXNWYWx1ZS5pbmhlcml0cygmSlNBcnJheTo6c19pbmZvKSkKLSAg
ICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7Ci0gICAgSlNBcnJheSogdGhpc09i
aiA9IGFzQXJyYXkodGhpc1ZhbHVlKTsKKyAgICBKU09iamVjdCogdGhpc09iamVjdCA9IHRoaXNW
YWx1ZS50b09iamVjdChleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgCisgICAgSlNW
YWx1ZSBmdW5jdGlvbiA9IEpTVmFsdWUodGhpc09iamVjdCkuZ2V0KGV4ZWMsIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5qb2luKTsKKworICAgIGlmICghZnVuY3Rpb24uaXNDZWxsKCkpCisgICAgICAg
IHJldHVybiBvYmplY3RQcm90b0Z1bmNUb1N0cmluZyhleGVjKTsKKworICAgIENhbGxEYXRhIGNh
bGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNh
bGxEYXRhKTsKKyAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKQorICAgICAgICByZXR1
cm4gb2JqZWN0UHJvdG9GdW5jVG9TdHJpbmcoZXhlYyk7CisKKyAgICBpZiAoIWlzSlNBcnJheSh0
aGlzT2JqZWN0KSB8fCBjYWxsVHlwZSAhPSBDYWxsVHlwZUhvc3QgfHwgY2FsbERhdGEubmF0aXZl
LmZ1bmN0aW9uICE9IGFycmF5UHJvdG9GdW5jSm9pbikKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIHRoaXNPYmpl
Y3QsIGV4ZWMtPmVtcHR5TGlzdCgpKSk7CisKKyAgICBBU1NFUlQoaXNKU0FycmF5KHRoaXNWYWx1
ZSkpOworICAgIEpTQXJyYXkqIHRoaXNPYmogPSBhc0FycmF5KHRoaXNWYWx1ZSk7CisKICAgICB1
bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygp
Lmxlbmd0aCkudG9VSW50MzIoZXhlYyk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQog
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwpAQCAtMzMwLDE4
ICszNDUsOCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jVG9T
dHJpbmcoRXhlY1N0YXRlKiBleGVjKQogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eVByb3RvRnVuY1RvTG9jYWxlU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU1ZhbHVl
IHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKLQotICAgIGlmICghdGhpc1ZhbHVl
LmluaGVyaXRzKCZKU0FycmF5OjpzX2luZm8pKQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVF
cnJvcihleGVjKTsKLSAgICBKU09iamVjdCogdGhpc09iaiA9IGFzQXJyYXkodGhpc1ZhbHVlKTsK
LQorICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gdGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpOwogICAg
IHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsKLSAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
Ci0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0KLSAgICBT
dHJpbmdSZWN1cnNpb25DaGVja2VyIGNoZWNrZXIoZXhlYywgdGhpc09iaik7Ci0gICAgaWYgKEpT
VmFsdWUgZWFybHlSZXR1cm5WYWx1ZSA9IGNoZWNrZXIuZWFybHlSZXR1cm5WYWx1ZSgpKQotICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGVhcmx5UmV0dXJuVmFsdWUpOwogCiAgICAgSlNT
dHJpbmdCdWlsZGVyIHN0ckJ1ZmZlcjsKICAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgbGVu
Z3RoOyBrKyspIHsKQEAgLTM0OSwyNCArMzU0LDE5IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgYXJyYXlQcm90b0Z1bmNUb0xvY2FsZVN0cmluZyhFeGVjU3RhdGUqIGV4ZWMpCiAgICAg
ICAgICAgICBzdHJCdWZmZXIuYXBwZW5kKCcsJyk7CiAKICAgICAgICAgSlNWYWx1ZSBlbGVtZW50
ID0gdGhpc09iai0+Z2V0KGV4ZWMsIGspOwotICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCi0gICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwog
ICAgICAgICBpZiAoIWVsZW1lbnQuaXNVbmRlZmluZWRPck51bGwoKSkgewogICAgICAgICAgICAg
SlNPYmplY3QqIG8gPSBlbGVtZW50LnRvT2JqZWN0KGV4ZWMpOwogICAgICAgICAgICAgSlNWYWx1
ZSBjb252ZXJzaW9uRnVuY3Rpb24gPSBvLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygp
LnRvTG9jYWxlU3RyaW5nKTsKLSAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwog
ICAgICAgICAgICAgVVN0cmluZyBzdHI7CiAgICAgICAgICAgICBDYWxsRGF0YSBjYWxsRGF0YTsK
ICAgICAgICAgICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoY29udmVyc2lvbkZ1
bmN0aW9uLCBjYWxsRGF0YSk7CiAgICAgICAgICAgICBpZiAoY2FsbFR5cGUgIT0gQ2FsbFR5cGVO
b25lKQogICAgICAgICAgICAgICAgIHN0ciA9IGNhbGwoZXhlYywgY29udmVyc2lvbkZ1bmN0aW9u
LCBjYWxsVHlwZSwgY2FsbERhdGEsIGVsZW1lbnQsIGV4ZWMtPmVtcHR5TGlzdCgpKS50b1N0cmlu
ZyhleGVjKS0+dmFsdWUoZXhlYyk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
c3RyID0gZWxlbWVudC50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYyk7Ci0gICAgICAgICAgICBp
ZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dWTVR5
cGVFcnJvcihleGVjKTsKICAgICAgICAgICAgIHN0ckJ1ZmZlci5hcHBlbmQoc3RyKTsKLSAgICAg
ICAgfQorICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNFbXB0eVN0cmluZyhleGVjKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShzdHJCdWZmZXIuYnVpbGQoZXhlYykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggMTk2MmMwMzhmY2NmYWI3ZDY4NjM2NWNm
YTliNTZkN2VkMTk5MzBiNS4uNzEzNmVhYzg5OWMyODEwNzk2YmNlMWNmODQwNzI4NWUxMDM2YTI2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRp
ZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC03Miw3ICs3Miw4IEBACiAgICAgbWFjcm8odmFsdWUpIFwKICAgICBtYWNybyh2
YWx1ZU9mKSBcCiAgICAgbWFjcm8od3JpdGFibGUpIFwKLSAgICBtYWNybyhkaXNwbGF5TmFtZSkK
KyAgICBtYWNybyhkaXNwbGF5TmFtZSkgXAorICAgIG1hY3JvKGpvaW4pCiAKICNkZWZpbmUgSlND
X0NPTU1PTl9JREVOVElGSUVSU19FQUNIX0tFWVdPUkQobWFjcm8pIFwKICAgICBtYWNybyhudWxs
KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21h
L0FycmF5LzE1LjQuNC4yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEv
ZWNtYS9BcnJheS8xNS40LjQuMi5qcwppbmRleCA5NTY1Nzk4Y2I5NjU0YzlkOTNhZmY1YTMxZThj
YjNiODMyZGRkMzAwLi5hNWNhM2NkYzc3NjI1MGJhMjIyNmVmOGQxNjgzYWI5ODJkODJmNmY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0FycmF5
LzE1LjQuNC4yLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2Vj
bWEvQXJyYXkvMTUuNC40LjIuanMKQEAgLTU1LDYgKzU1LDMxIEBAIGZ1bmN0aW9uIGdldFRlc3RD
YXNlcygpIHsKICAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAgIihu
ZXcgQXJyYXkoIEJvb2xlYW4oMSksIEJvb2xlYW4oMCkpKS50b1N0cmluZygpIiwgICAidHJ1ZSxm
YWxzZSIsICAgKG5ldyBBcnJheShCb29sZWFuKDEpLEJvb2xlYW4oMCkpKS50b1N0cmluZygpICk7
CiAgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgICIobmV3IEFycmF5
KHZvaWQgMCxudWxsKSkudG9TdHJpbmcoKSIsICAgICIsIiwgICAgKG5ldyBBcnJheSh2b2lkIDAs
bnVsbCkpLnRvU3RyaW5nKCkgKTsKIAorICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2Uo
IFNFQ1RJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIntfX3Byb3RvX186
IEFycmF5LnByb3RvdHlwZSwgMDogJ2EnLCAxOiAnYicsIDI6ICdjJywgbGVuZ3RoOiAzfS50b1N0
cmluZygpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYSxiLGMiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfX3Byb3RvX186IEFycmF5LnByb3RvdHlw
ZSwgMDogJ2EnLCAxOiAnYicsIDI6ICdjJywgbGVuZ3RoOiAzfS50b1N0cmluZygpICk7CisgICAg
YXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAie19fcHJvdG9fXzogQXJyYXkucHJvdG90eXBlLCAwOiAnYScsIDE6
ICdiJywgMjogJ2MnLCBqb2luOiBmdW5jdGlvbigpIHsgcmV0dXJuICdqb2luJyB9fS50b1N0cmlu
ZygpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiam9pbiIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAge19fcHJvdG9fXzogQXJyYXkucHJvdG90eXBlLCAw
OiAnYScsIDE6ICdiJywgMjogJ2MnLCBqb2luOiBmdW5jdGlvbigpIHsgcmV0dXJuICdqb2luJyB9
fS50b1N0cmluZygpICk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElP
TiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXJyYXkucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwoe2pvaW46IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2pvaW4nIH19KSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImpvaW4iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHtqb2luOiBmdW5j
dGlvbigpIHsgcmV0dXJuICdqb2luJyB9fSkgKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRl
c3RDYXNlKCBTRUNUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBcnJh
eS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7c29ydDogZnVuY3Rpb24oKSB7IHJldHVybiAnc29y
dCcgfX0pIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiW29iamVjdCBPYmpl
Y3RdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbCh7c29ydDogZnVuY3Rpb24oKSB7IHJldHVybiAnc29ydCcgfX0pICk7Cisg
ICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERh
dGUpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiW29iamVjdCBEYXRlXSIs
IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKG5ldyBEYXRlKSApOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2Uo
IFNFQ1RJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk51bWJlci5wcm90
b3R5cGUuam9pbiA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ251bWJlciBqb2luJyB9OyBBcnJheS5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbCg0MikiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJudW1iZXIgam9pbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZXZhbCgiTnVtYmVyLnByb3RvdHlwZS5qb2luID0gZnVuY3Rpb24oKSB7IHJldHVybiAnbnVtYmVy
IGpvaW4nIH07IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKDQyKSIpICk7CisKICAgICB2
YXIgRVhQRUNUX1NUUklORyA9ICIiOwogICAgIHZhciBNWUFSUiA9IG5ldyBBcnJheSgpOwogCkBA
IC02Nyw2ICs5MiwxMCBAQCBmdW5jdGlvbiBnZXRUZXN0Q2FzZXMoKSB7CiAKICAgICBhcnJheVtp
dGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAiTVlBUlIudG9TdHJpbmcoKSIsICBFWFBF
Q1RfU1RSSU5HLCAgTVlBUlIudG9TdHJpbmcoKSApOwogCisgICAgYXJyYXlbaXRlbSsrXSA9IG5l
dyBUZXN0Q2FzZSggU0VDVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
QXJyYXkucHJvdG90eXBlLmpvaW4gPSBmdW5jdGlvbigpIHsgcmV0dXJuICdqb2luJyB9OyBbMCwg
MSwgMl0udG9TdHJpbmcoKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImpv
aW4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwoIkFycmF5LnByb3Rv
dHlwZS5qb2luID0gZnVuY3Rpb24oKSB7IHJldHVybiAnam9pbicgfTsgWzAsIDEsIDJdLnRvU3Ry
aW5nKCkiKSApOwogCiAgICAgcmV0dXJuICggYXJyYXkgKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136209</attachid>
            <date>2012-04-09 03:58:10 -0700</date>
            <delta_ts>2012-04-09 04:25:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81588-20120409195803.patch</filename>
            <type>text/plain</type>
            <size>7838</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MTI3NWNiZTcwODViYWQ3NDE1ZmQ2NTEyMDhjYWRlMmYzMGUzYTgxLi41ZGQ1NzdhMGJiYzMyYTNm
ZDU1YzA5N2U4ZmYzMjllMmY3Zjg4YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMi0wNC0wOSAgSG9qb25nIEhhbiAgPGhvam9uZy5oYW5Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nIGFuZCBBcnJheS5wcm90b3R5
cGUudG9Mb2NhbGVTdHJpbmcgc2hvdWxkIGJlIGdlbmVyaWMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcDoK
KyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNUb1N0cmluZyk6CisgICAgICAgIChKU0M6OmFy
cmF5UHJvdG9GdW5jVG9Mb2NhbGVTdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaDoKKyAgICAgICAgKiB0ZXN0cy9tb3ppbGxhL2VjbWEvQXJyYXkvMTUuNC40LjIu
anM6CisgICAgICAgIChnZXRUZXN0Q2FzZXMuYXJyYXkuaXRlbS5uZXcuVGVzdENhc2UpOgorICAg
ICAgICAoZ2V0VGVzdENhc2VzKToKKwogMjAxMi0wNC0wMyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2Fy
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZWQgSlNDIGV4cGVjdGVkIHRlc3QgcmVzdWx0
cyB0byByZWZsZWN0IHJlY2VudCBidWcgZml4ZXMgPGRpc2FwcHJvdmluZyBsb29rPi4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCBh
ZTViOWM2MjM1YzIzNzBmNWFhNjM4MWExZmZmNDAyNzAxYmNiMDU5Li5iN2QxNzhkYjU2ZmU4Y2M4
MjgxZDBjYjM5NWYyYzkwZmU4OTMwZGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC0yNTQsMTEgKzI1NCwyNiBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jVG9TdHJpbmcoRXhlY1N0YXRlKiBl
eGVjKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwog
Ci0gICAgYm9vbCBpc1JlYWxBcnJheSA9IGlzSlNBcnJheSh0aGlzVmFsdWUpOwotICAgIGlmICgh
aXNSZWFsQXJyYXkgJiYgIXRoaXNWYWx1ZS5pbmhlcml0cygmSlNBcnJheTo6c19pbmZvKSkKLSAg
ICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7Ci0gICAgSlNBcnJheSogdGhpc09i
aiA9IGFzQXJyYXkodGhpc1ZhbHVlKTsKKyAgICBKU09iamVjdCogdGhpc09iamVjdCA9IHRoaXNW
YWx1ZS50b09iamVjdChleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgCisgICAgSlNW
YWx1ZSBmdW5jdGlvbiA9IEpTVmFsdWUodGhpc09iamVjdCkuZ2V0KGV4ZWMsIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5qb2luKTsKKworICAgIGlmICghZnVuY3Rpb24uaXNDZWxsKCkpCisgICAgICAg
IHJldHVybiBvYmplY3RQcm90b0Z1bmNUb1N0cmluZyhleGVjKTsKKworICAgIENhbGxEYXRhIGNh
bGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNh
bGxEYXRhKTsKKyAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKQorICAgICAgICByZXR1
cm4gb2JqZWN0UHJvdG9GdW5jVG9TdHJpbmcoZXhlYyk7CisKKyAgICBpZiAoIWlzSlNBcnJheSh0
aGlzT2JqZWN0KSB8fCBjYWxsVHlwZSAhPSBDYWxsVHlwZUhvc3QgfHwgY2FsbERhdGEubmF0aXZl
LmZ1bmN0aW9uICE9IGFycmF5UHJvdG9GdW5jSm9pbikKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIHRoaXNPYmpl
Y3QsIGV4ZWMtPmVtcHR5TGlzdCgpKSk7CisKKyAgICBBU1NFUlQoaXNKU0FycmF5KHRoaXNWYWx1
ZSkpOworICAgIEpTQXJyYXkqIHRoaXNPYmogPSBhc0FycmF5KHRoaXNWYWx1ZSk7CisKICAgICB1
bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygp
Lmxlbmd0aCkudG9VSW50MzIoZXhlYyk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQog
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwpAQCAtMjczLDcg
KzI4OCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNUb1N0
cmluZyhFeGVjU3RhdGUqIGV4ZWMpCiAKICAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgbGVu
Z3RoOyBrKyspIHsKICAgICAgICAgSlNWYWx1ZSBlbGVtZW50OwotICAgICAgICBpZiAoaXNSZWFs
QXJyYXkgJiYgdGhpc09iai0+Y2FuR2V0SW5kZXgoaykpCisgICAgICAgIGlmICh0aGlzT2JqLT5j
YW5HZXRJbmRleChrKSkKICAgICAgICAgICAgIGVsZW1lbnQgPSB0aGlzT2JqLT5nZXRJbmRleChr
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgZWxlbWVudCA9IHRoaXNPYmotPmdldChleGVj
LCBrKTsKQEAgLTMzMSw5ICszNDYsOSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFy
cmF5UHJvdG9GdW5jVG9Mb2NhbGVTdHJpbmcoRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTVmFs
dWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwogCi0gICAgaWYgKCF0aGlzVmFs
dWUuaW5oZXJpdHMoJkpTQXJyYXk6OnNfaW5mbykpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNVHlw
ZUVycm9yKGV4ZWMpOwotICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gYXNBcnJheSh0aGlzVmFsdWUp
OworICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gdGhpc1ZhbHVlLnRvT2JqZWN0KGV4ZWMpOworICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdldChl
eGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsKICAgICBp
ZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCkBAIC0zNjIsMTEgKzM3NywxMiBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jVG9Mb2NhbGVTdHJpbmcoRXhlY1N0YXRl
KiBleGVjKQogICAgICAgICAgICAgaWYgKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSkKICAgICAg
ICAgICAgICAgICBzdHIgPSBjYWxsKGV4ZWMsIGNvbnZlcnNpb25GdW5jdGlvbiwgY2FsbFR5cGUs
IGNhbGxEYXRhLCBlbGVtZW50LCBleGVjLT5lbXB0eUxpc3QoKSkudG9TdHJpbmcoZXhlYyktPnZh
bHVlKGV4ZWMpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHN0ciA9IGVsZW1l
bnQudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpOworICAgICAgICAgICAgICAgIHJldHVybiB0
aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwogICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQogICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CiAgICAgICAgICAgICBzdHJCdWZmZXIuYXBwZW5kKHN0cik7Ci0gICAgICAgIH0KKyAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzRW1wdHlTdHJp
bmcoZXhlYykpOyAKICAgICB9CiAKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHN0ckJ1ZmZl
ci5idWlsZChleGVjKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29t
bW9uSWRlbnRpZmllcnMuaAppbmRleCAxOTYyYzAzOGZjY2ZhYjdkNjg2MzY1Y2ZhOWI1NmQ3ZWQx
OTkzMGI1Li43MTM2ZWFjODk5YzI4MTA3OTZiY2UxY2Y4NDA3Mjg1ZTEwMzZhMjZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAg
LTcyLDcgKzcyLDggQEAKICAgICBtYWNybyh2YWx1ZSkgXAogICAgIG1hY3JvKHZhbHVlT2YpIFwK
ICAgICBtYWNybyh3cml0YWJsZSkgXAotICAgIG1hY3JvKGRpc3BsYXlOYW1lKQorICAgIG1hY3Jv
KGRpc3BsYXlOYW1lKSBcCisgICAgbWFjcm8oam9pbikKIAogI2RlZmluZSBKU0NfQ09NTU9OX0lE
RU5USUZJRVJTX0VBQ0hfS0VZV09SRChtYWNybykgXAogICAgIG1hY3JvKG51bGwpIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEvQXJyYXkvMTUu
NC40LjIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0FycmF5
LzE1LjQuNC4yLmpzCmluZGV4IDk1NjU3OThjYjk2NTRjOWQ5M2FmZjVhMzFlOGNiM2I4MzJkZGQz
MDAuLmE1Y2EzY2RjNzc2MjUwYmEyMjI2ZWY4ZDE2ODNhYjk4MmQ4MmY2ZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEvQXJyYXkvMTUuNC40LjIu
anMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvZWNtYS9BcnJheS8x
NS40LjQuMi5qcwpAQCAtNTUsNiArNTUsMzEgQEAgZnVuY3Rpb24gZ2V0VGVzdENhc2VzKCkgewog
ICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICAiKG5ldyBBcnJheSgg
Qm9vbGVhbigxKSwgQm9vbGVhbigwKSkpLnRvU3RyaW5nKCkiLCAgICJ0cnVlLGZhbHNlIiwgICAo
bmV3IEFycmF5KEJvb2xlYW4oMSksQm9vbGVhbigwKSkpLnRvU3RyaW5nKCkgKTsKICAgICBhcnJh
eVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLCAgIihuZXcgQXJyYXkodm9pZCAwLG51
bGwpKS50b1N0cmluZygpIiwgICAgIiwiLCAgICAobmV3IEFycmF5KHZvaWQgMCxudWxsKSkudG9T
dHJpbmcoKSApOwogCisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAie19fcHJvdG9fXzogQXJyYXkucHJv
dG90eXBlLCAwOiAnYScsIDE6ICdiJywgMjogJ2MnLCBsZW5ndGg6IDN9LnRvU3RyaW5nKCkiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhLGIsYyIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAge19fcHJvdG9fXzogQXJyYXkucHJvdG90eXBlLCAwOiAnYScs
IDE6ICdiJywgMjogJ2MnLCBsZW5ndGg6IDN9LnRvU3RyaW5nKCkgKTsKKyAgICBhcnJheVtpdGVt
KytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ7X19wcm90b19fOiBBcnJheS5wcm90b3R5cGUsIDA6ICdhJywgMTogJ2InLCAyOiAn
YycsIGpvaW46IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2pvaW4nIH19LnRvU3RyaW5nKCkiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJqb2luIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7X19wcm90b19fOiBBcnJheS5wcm90b3R5cGUsIDA6ICdhJywgMTog
J2InLCAyOiAnYycsIGpvaW46IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2pvaW4nIH19LnRvU3RyaW5n
KCkgKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh7am9pbjogZnVuY3Rpb24oKSB7IHJldHVybiAnam9pbicgfX0pIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiam9pbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoe2pvaW46IGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gJ2pvaW4nIH19KSApOworICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNF
Q1RJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFycmF5LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKHtzb3J0OiBmdW5jdGlvbigpIHsgcmV0dXJuICdzb3J0JyB9fSkiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJbb2JqZWN0IE9iamVjdF0iLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKHtzb3J0OiBmdW5jdGlvbigpIHsgcmV0dXJuICdzb3J0JyB9fSkgKTsKKyAgICBhcnJheVtp
dGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSkiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJbb2JqZWN0IERhdGVdIiwgCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
bmV3IERhdGUpICk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTnVtYmVyLnByb3RvdHlwZS5qb2lu
ID0gZnVuY3Rpb24oKSB7IHJldHVybiAnbnVtYmVyIGpvaW4nIH07IEFycmF5LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKDQyKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51
bWJlciBqb2luIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKCJOdW1i
ZXIucHJvdG90eXBlLmpvaW4gPSBmdW5jdGlvbigpIHsgcmV0dXJuICdudW1iZXIgam9pbicgfTsg
QXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoNDIpIikgKTsKKwogICAgIHZhciBFWFBFQ1Rf
U1RSSU5HID0gIiI7CiAgICAgdmFyIE1ZQVJSID0gbmV3IEFycmF5KCk7CiAKQEAgLTY3LDYgKzky
LDEwIEBAIGZ1bmN0aW9uIGdldFRlc3RDYXNlcygpIHsKIAogICAgIGFycmF5W2l0ZW0rK10gPSBu
ZXcgVGVzdENhc2UoIFNFQ1RJT04sICJNWUFSUi50b1N0cmluZygpIiwgIEVYUEVDVF9TVFJJTkcs
ICBNWUFSUi50b1N0cmluZygpICk7CiAKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNl
KCBTRUNUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBcnJheS5wcm90
b3R5cGUuam9pbiA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2pvaW4nIH07IFswLCAxLCAyXS50b1N0
cmluZygpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiam9pbiIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZhbCgiQXJyYXkucHJvdG90eXBlLmpvaW4g
PSBmdW5jdGlvbigpIHsgcmV0dXJuICdqb2luJyB9OyBbMCwgMSwgMl0udG9TdHJpbmcoKSIpICk7
CiAKICAgICByZXR1cm4gKCBhcnJheSApOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136211</attachid>
            <date>2012-04-09 04:26:06 -0700</date>
            <delta_ts>2012-04-16 16:35:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81588-20120409202558.patch</filename>
            <type>text/plain</type>
            <size>7717</size>
            <attacher name="Hojong Han">hojong.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MjE2NzczMjJmODE4ZmRlZTQ0YmY3NmEwMmQ5YjljM2U4NzBlN2M4Li5iNzFjNWRiNzMzMGY4ZmIz
MmNkOWE1NjBmMWU1Yzg1YjFlMDNhYjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMi0wNC0wOSAgSG9qb25nIEhhbiAgPGhvam9uZy5oYW5Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nIGFuZCBBcnJheS5wcm90b3R5
cGUudG9Mb2NhbGVTdHJpbmcgc2hvdWxkIGJlIGdlbmVyaWMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcDoK
KyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNUb1N0cmluZyk6CisgICAgICAgIChKU0M6OmFy
cmF5UHJvdG9GdW5jVG9Mb2NhbGVTdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaDoKKyAgICAgICAgKiB0ZXN0cy9tb3ppbGxhL2VjbWEvQXJyYXkvMTUuNC40LjIu
anM6CisgICAgICAgIChnZXRUZXN0Q2FzZXMuYXJyYXkuaXRlbS5uZXcuVGVzdENhc2UpOgorICAg
ICAgICAoZ2V0VGVzdENhc2VzKToKKwogMjAxMi0wNC0wOSAgUGF0cmljayBHYW5zdGVyZXIgIDxw
YXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgSEFWRV9TVERJTlRfSApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCmluZGV4IDE3
M2MwMDcyNDJkM2Q5NGRmZTk5MDg3MmVkODI0N2VkODEyNjA2N2QuLmU3OWJiYmExMTA2NThhMWJm
NGE0ZjA1N2RhMWQ2OTdmNGVhY2UzNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTI1NCwxMSArMjU0LDI1IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNUb1N0cmluZyhFeGVjU3RhdGUqIGV4
ZWMpCiB7CiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7CiAK
LSAgICBib29sIGlzUmVhbEFycmF5ID0gaXNKU0FycmF5KHRoaXNWYWx1ZSk7Ci0gICAgaWYgKCFp
c1JlYWxBcnJheSAmJiAhdGhpc1ZhbHVlLmluaGVyaXRzKCZKU0FycmF5OjpzX2luZm8pKQotICAg
ICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBKU09iamVjdCogdGhpc09i
amVjdCA9IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisK
KyAgICBKU1ZhbHVlIGZ1bmN0aW9uID0gSlNWYWx1ZSh0aGlzT2JqZWN0KS5nZXQoZXhlYywgZXhl
Yy0+cHJvcGVydHlOYW1lcygpLmpvaW4pOworICAgIGlmICghZnVuY3Rpb24uaXNDZWxsKCkpCisg
ICAgICAgIHJldHVybiBvYmplY3RQcm90b0Z1bmNUb1N0cmluZyhleGVjKTsKKworICAgIENhbGxE
YXRhIGNhbGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rp
b24sIGNhbGxEYXRhKTsKKyAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKQorICAgICAg
ICByZXR1cm4gb2JqZWN0UHJvdG9GdW5jVG9TdHJpbmcoZXhlYyk7CisKKyAgICBpZiAoIWlzSlNB
cnJheSh0aGlzT2JqZWN0KSB8fCBjYWxsVHlwZSAhPSBDYWxsVHlwZUhvc3QgfHwgY2FsbERhdGEu
bmF0aXZlLmZ1bmN0aW9uICE9IGFycmF5UHJvdG9GdW5jSm9pbikKKyAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIHRo
aXNPYmplY3QsIGV4ZWMtPmVtcHR5TGlzdCgpKSk7CisKKyAgICBBU1NFUlQoaXNKU0FycmF5KHRo
aXNWYWx1ZSkpOwogICAgIEpTQXJyYXkqIHRoaXNPYmogPSBhc0FycmF5KHRoaXNWYWx1ZSk7Ci0g
ICAgCisKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5nZXQoZXhlYywgZXhlYy0+cHJv
cGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OwpAQCAtMjczLDcgKzI4Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQ
cm90b0Z1bmNUb1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMpCiAKICAgICBmb3IgKHVuc2lnbmVkIGsg
PSAwOyBrIDwgbGVuZ3RoOyBrKyspIHsKICAgICAgICAgSlNWYWx1ZSBlbGVtZW50OwotICAgICAg
ICBpZiAoaXNSZWFsQXJyYXkgJiYgdGhpc09iai0+Y2FuR2V0SW5kZXgoaykpCisgICAgICAgIGlm
ICh0aGlzT2JqLT5jYW5HZXRJbmRleChrKSkKICAgICAgICAgICAgIGVsZW1lbnQgPSB0aGlzT2Jq
LT5nZXRJbmRleChrKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgZWxlbWVudCA9IHRoaXNP
YmotPmdldChleGVjLCBrKTsKQEAgLTMzMSw5ICszNDUsOSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jVG9Mb2NhbGVTdHJpbmcoRXhlY1N0YXRlKiBleGVjKQog
ewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwogCi0gICAg
aWYgKCF0aGlzVmFsdWUuaW5oZXJpdHMoJkpTQXJyYXk6OnNfaW5mbykpCi0gICAgICAgIHJldHVy
biB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOwotICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gYXNBcnJh
eSh0aGlzVmFsdWUpOworICAgIEpTT2JqZWN0KiB0aGlzT2JqID0gdGhpc1ZhbHVlLnRvT2JqZWN0
KGV4ZWMpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRo
aXNPYmotPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihl
eGVjKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCkBAIC0zNjAsMTEgKzM3NCwxMiBA
QCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GdW5jVG9Mb2NhbGVTdHJp
bmcoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgaWYgKGNhbGxUeXBlICE9IENhbGxUeXBl
Tm9uZSkKICAgICAgICAgICAgICAgICBzdHIgPSBjYWxsKGV4ZWMsIGNvbnZlcnNpb25GdW5jdGlv
biwgY2FsbFR5cGUsIGNhbGxEYXRhLCBlbGVtZW50LCBleGVjLT5lbXB0eUxpc3QoKSkudG9VU3Ry
aW5nKGV4ZWMpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHN0ciA9IGVsZW1l
bnQudG9VU3RyaW5nKGV4ZWMpOworICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVy
cm9yKGV4ZWMpOwogICAgICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgICAg
ICAgICBzdHJpbmdKb2luZXIuYXBwZW5kKHN0cik7Ci0gICAgICAgIH0KKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzRW1wdHlTdHJpbmcoZXhlYykp
OyAKICAgICB9CiAKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHN0cmluZ0pvaW5lci5idWls
ZChleGVjKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaAppbmRleCAxZWMzYmUwNjcxZmY3NGU4OTc0OTI1NGU4MjEwZGU1NmMyMGYwMmY3
Li44ZWI1NTVlNTFhOTQ0MTQ5YzBmMDY2NjljN2ViMzk2YTBkMjA3ZmQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTcyLDcg
KzcyLDggQEAKICAgICBtYWNybyh2YWx1ZSkgXAogICAgIG1hY3JvKHZhbHVlT2YpIFwKICAgICBt
YWNybyh3cml0YWJsZSkgXAotICAgIG1hY3JvKGRpc3BsYXlOYW1lKQorICAgIG1hY3JvKGRpc3Bs
YXlOYW1lKVwKKyAgICBtYWNybyhqb2luKQogCiAjZGVmaW5lIEpTQ19DT01NT05fSURFTlRJRklF
UlNfRUFDSF9LRVlXT1JEKG1hY3JvKSBcCiAgICAgbWFjcm8obnVsbCkgXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvZWNtYS9BcnJheS8xNS40LjQuMi5q
cyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEvQXJyYXkvMTUuNC40
LjIuanMKaW5kZXggOTU2NTc5OGNiOTY1NGM5ZDkzYWZmNWEzMWU4Y2IzYjgzMmRkZDMwMC4uYTVj
YTNjZGM3NzYyNTBiYTIyMjZlZjhkMTY4M2FiOTgyZDgyZjZmNSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvZWNtYS9BcnJheS8xNS40LjQuMi5qcworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0FycmF5LzE1LjQuNC4y
LmpzCkBAIC01NSw2ICs1NSwzMSBAQCBmdW5jdGlvbiBnZXRUZXN0Q2FzZXMoKSB7CiAgICAgYXJy
YXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwgICIobmV3IEFycmF5KCBCb29sZWFu
KDEpLCBCb29sZWFuKDApKSkudG9TdHJpbmcoKSIsICAgInRydWUsZmFsc2UiLCAgIChuZXcgQXJy
YXkoQm9vbGVhbigxKSxCb29sZWFuKDApKSkudG9TdHJpbmcoKSApOwogICAgIGFycmF5W2l0ZW0r
K10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sICAiKG5ldyBBcnJheSh2b2lkIDAsbnVsbCkpLnRv
U3RyaW5nKCkiLCAgICAiLCIsICAgIChuZXcgQXJyYXkodm9pZCAwLG51bGwpKS50b1N0cmluZygp
ICk7CiAKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7X19wcm90b19fOiBBcnJheS5wcm90b3R5cGUs
IDA6ICdhJywgMTogJ2InLCAyOiAnYycsIGxlbmd0aDogM30udG9TdHJpbmcoKSIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImEsYixjIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7X19wcm90b19fOiBBcnJheS5wcm90b3R5cGUsIDA6ICdhJywgMTogJ2In
LCAyOiAnYycsIGxlbmd0aDogM30udG9TdHJpbmcoKSApOworICAgIGFycmF5W2l0ZW0rK10gPSBu
ZXcgVGVzdENhc2UoIFNFQ1RJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IntfX3Byb3RvX186IEFycmF5LnByb3RvdHlwZSwgMDogJ2EnLCAxOiAnYicsIDI6ICdjJywgam9p
bjogZnVuY3Rpb24oKSB7IHJldHVybiAnam9pbicgfX0udG9TdHJpbmcoKSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImpvaW4iLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHtfX3Byb3RvX186IEFycmF5LnByb3RvdHlwZSwgMDogJ2EnLCAxOiAnYicsIDI6
ICdjJywgam9pbjogZnVuY3Rpb24oKSB7IHJldHVybiAnam9pbicgfX0udG9TdHJpbmcoKSApOwor
ICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIkFycmF5LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHtqb2lu
OiBmdW5jdGlvbigpIHsgcmV0dXJuICdqb2luJyB9fSkiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJqb2luIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBB
cnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7am9pbjogZnVuY3Rpb24oKSB7IHJldHVybiAn
am9pbicgfX0pICk7CisgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXJyYXkucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwoe3NvcnQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ3NvcnQnIH19KSIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIltvYmplY3QgT2JqZWN0XSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoe3Nv
cnQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ3NvcnQnIH19KSApOworICAgIGFycmF5W2l0ZW0rK10g
PSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIkFycmF5LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ldyBEYXRlKSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIltvYmplY3QgRGF0ZV0iLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0
ZSkgKTsKKyAgICBhcnJheVtpdGVtKytdID0gbmV3IFRlc3RDYXNlKCBTRUNUSU9OLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOdW1iZXIucHJvdG90eXBlLmpvaW4gPSBmdW5j
dGlvbigpIHsgcmV0dXJuICdudW1iZXIgam9pbicgfTsgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwoNDIpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVtYmVyIGpv
aW4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2YWwoIk51bWJlci5wcm90
b3R5cGUuam9pbiA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ251bWJlciBqb2luJyB9OyBBcnJheS5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbCg0MikiKSApOworCiAgICAgdmFyIEVYUEVDVF9TVFJJTkcg
PSAiIjsKICAgICB2YXIgTVlBUlIgPSBuZXcgQXJyYXkoKTsKIApAQCAtNjcsNiArOTIsMTAgQEAg
ZnVuY3Rpb24gZ2V0VGVzdENhc2VzKCkgewogCiAgICAgYXJyYXlbaXRlbSsrXSA9IG5ldyBUZXN0
Q2FzZSggU0VDVElPTiwgIk1ZQVJSLnRvU3RyaW5nKCkiLCAgRVhQRUNUX1NUUklORywgIE1ZQVJS
LnRvU3RyaW5nKCkgKTsKIAorICAgIGFycmF5W2l0ZW0rK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJ
T04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFycmF5LnByb3RvdHlwZS5q
b2luID0gZnVuY3Rpb24oKSB7IHJldHVybiAnam9pbicgfTsgWzAsIDEsIDJdLnRvU3RyaW5nKCki
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJqb2luIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBldmFsKCJBcnJheS5wcm90b3R5cGUuam9pbiA9IGZ1bmN0
aW9uKCkgeyByZXR1cm4gJ2pvaW4nIH07IFswLCAxLCAyXS50b1N0cmluZygpIikgKTsKIAogICAg
IHJldHVybiAoIGFycmF5ICk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137427</attachid>
            <date>2012-04-16 16:35:37 -0700</date>
            <delta_ts>2012-04-16 16:36:59 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>81588.1.patch</filename>
            <type>text/plain</type>
            <size>3840</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE0MzE1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA0LTE2ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgc2hvdWxkIGJlIGdlbmVyaWMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTg4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNUb1N0cmluZyk6
CisgICAgICAgICAgICAtIGNoZWNrIGZvciBqb2luIGZ1bmN0aW9uLCB1c2UgZmFzdCBjYXNlIGlm
IGJhc2Ugb2JqZWN0IGlzIGFycmF5ICYgam9pbiBpcyBwcmVzZW50ICYgZGVmYXVsdC4KKyAgICAg
ICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAgICAgICAtIGFkZGVkICdq
b2luJy4KKwogMjAxMi0wNC0xNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIEV4Y2VwdGlvbiBzdGFjayB0cmFjZXMgYXJlbid0IGNvbXBsZXRlIHdoZW4gdGhlIGV4
Y2VwdGlvbiBzdGFydHMgaW4gbmF0aXZlIGNvZGUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDExNDI4NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1
ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCisjaW5jbHVkZSAiSlNTdHJpbmdC
dWlsZGVyLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmdKb2luZXIuaCIKICNpbmNsdWRlICJMb29rdXAu
aCIKICNpbmNsdWRlICJPYmplY3RQcm90b3R5cGUuaCIKQEAgLTI1NCw5ICsyNTUsMjcgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogewogICAgIEpTVmFsdWUgdGhp
c1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwogCi0gICAgYm9vbCBpc1JlYWxBcnJheSA9
IGlzSlNBcnJheSh0aGlzVmFsdWUpOwotICAgIGlmICghaXNSZWFsQXJyYXkgJiYgIXRoaXNWYWx1
ZS5pbmhlcml0cygmSlNBcnJheTo6c19pbmZvKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBl
RXJyb3IoZXhlYyk7CisgICAgLy8gMS4gTGV0IGFycmF5IGJlIHRoZSByZXN1bHQgb2YgY2FsbGlu
ZyBUb09iamVjdCBvbiB0aGUgdGhpcyB2YWx1ZS4KKyAgICBKU09iamVjdCogdGhpc09iamVjdCA9
IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgCisg
ICAgLy8gMi4gTGV0IGZ1bmMgYmUgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBbW0dldF1dIGlu
dGVybmFsIG1ldGhvZCBvZiBhcnJheSB3aXRoIGFyZ3VtZW50ICJqb2luIi4KKyAgICBKU1ZhbHVl
IGZ1bmN0aW9uID0gSlNWYWx1ZSh0aGlzT2JqZWN0KS5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlO
YW1lcygpLmpvaW4pOworCisgICAgLy8gMy4gSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwg
dGhlbiBsZXQgZnVuYyBiZSB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gbWV0aG9kIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcgKDE1LjIuNC4yKS4KKyAgICBpZiAoIWZ1bmN0aW9uLmlzQ2VsbCgpKQor
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTWFrZU5vbnRyaXZpYWxTdHJpbmcoZXhl
YywgIltvYmplY3QgIiwgdGhpc09iamVjdC0+bWV0aG9kVGFibGUoKS0+Y2xhc3NOYW1lKHRoaXNP
YmplY3QpLCAiXSIpKTsKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsKKyAgICBDYWxsVHlwZSBjYWxs
VHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CisgICAgaWYgKGNhbGxUeXBl
ID09IENhbGxUeXBlTm9uZSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01ha2VO
b250cml2aWFsU3RyaW5nKGV4ZWMsICJbb2JqZWN0ICIsIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxl
KCktPmNsYXNzTmFtZSh0aGlzT2JqZWN0KSwgIl0iKSk7CisKKyAgICAvLyA0LiBSZXR1cm4gdGhl
IHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2Qgb2YgZnVuYyBw
cm92aWRpbmcgYXJyYXkgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIGFuIGVtcHR5IGFyZ3VtZW50cyBs
aXN0LgorICAgIGlmICghaXNKU0FycmF5KHRoaXNPYmplY3QpIHx8IGNhbGxUeXBlICE9IENhbGxU
eXBlSG9zdCB8fCBjYWxsRGF0YS5uYXRpdmUuZnVuY3Rpb24gIT0gYXJyYXlQcm90b0Z1bmNKb2lu
KQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGwoZXhlYywgZnVuY3Rpb24sIGNh
bGxUeXBlLCBjYWxsRGF0YSwgdGhpc09iamVjdCwgZXhlYy0+ZW1wdHlMaXN0KCkpKTsKKworICAg
IEFTU0VSVChpc0pTQXJyYXkodGhpc1ZhbHVlKSk7CiAgICAgSlNBcnJheSogdGhpc09iaiA9IGFz
QXJyYXkodGhpc1ZhbHVlKTsKICAgICAKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5n
ZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyk7CkBA
IC0yNzMsNyArMjkyLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3Rv
RgogCiAgICAgZm9yICh1bnNpZ25lZCBrID0gMDsgayA8IGxlbmd0aDsgaysrKSB7CiAgICAgICAg
IEpTVmFsdWUgZWxlbWVudDsKLSAgICAgICAgaWYgKGlzUmVhbEFycmF5ICYmIHRoaXNPYmotPmNh
bkdldEluZGV4KGspKQorICAgICAgICBpZiAodGhpc09iai0+Y2FuR2V0SW5kZXgoaykpCiAgICAg
ICAgICAgICBlbGVtZW50ID0gdGhpc09iai0+Z2V0SW5kZXgoayk7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIGVsZW1lbnQgPSB0aGlzT2JqLT5nZXQoZXhlYywgayk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgJKHJldmlz
aW9uIDExNDI4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50
aWZpZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTcyLDcgKzcyLDggQEAKICAgICBtYWNybyh2YWx1
ZSkgXAogICAgIG1hY3JvKHZhbHVlT2YpIFwKICAgICBtYWNybyh3cml0YWJsZSkgXAotICAgIG1h
Y3JvKGRpc3BsYXlOYW1lKQorICAgIG1hY3JvKGRpc3BsYXlOYW1lKSBcCisgICAgbWFjcm8oam9p
bikKIAogI2RlZmluZSBKU0NfQ09NTU9OX0lERU5USUZJRVJTX0VBQ0hfS0VZV09SRChtYWNybykg
XAogICAgIG1hY3JvKG51bGwpIFwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137430</attachid>
            <date>2012-04-16 16:36:59 -0700</date>
            <delta_ts>2012-04-16 16:38:43 -0700</delta_ts>
            <desc>Fix inc layout test changes!</desc>
            <filename>81588.2.patch</filename>
            <type>text/plain</type>
            <size>10644</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE0MzE1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA0LTE2ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgc2hvdWxkIGJlIGdlbmVyaWMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTg4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6YXJyYXlQcm90b0Z1bmNUb1N0cmluZyk6
CisgICAgICAgICAgICAtIGNoZWNrIGZvciBqb2luIGZ1bmN0aW9uLCB1c2UgZmFzdCBjYXNlIGlm
IGJhc2Ugb2JqZWN0IGlzIGFycmF5ICYgam9pbiBpcyBwcmVzZW50ICYgZGVmYXVsdC4KKyAgICAg
ICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAgICAgICAtIGFkZGVkICdq
b2luJy4KKwogMjAxMi0wNC0xNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIEV4Y2VwdGlvbiBzdGFjayB0cmFjZXMgYXJlbid0IGNvbXBsZXRlIHdoZW4gdGhlIGV4
Y2VwdGlvbiBzdGFydHMgaW4gbmF0aXZlIGNvZGUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDExNDI4NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1
ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCisjaW5jbHVkZSAiSlNTdHJpbmdC
dWlsZGVyLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmdKb2luZXIuaCIKICNpbmNsdWRlICJMb29rdXAu
aCIKICNpbmNsdWRlICJPYmplY3RQcm90b3R5cGUuaCIKQEAgLTI1NCw5ICsyNTUsMjcgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogewogICAgIEpTVmFsdWUgdGhp
c1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwogCi0gICAgYm9vbCBpc1JlYWxBcnJheSA9
IGlzSlNBcnJheSh0aGlzVmFsdWUpOwotICAgIGlmICghaXNSZWFsQXJyYXkgJiYgIXRoaXNWYWx1
ZS5pbmhlcml0cygmSlNBcnJheTo6c19pbmZvKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBl
RXJyb3IoZXhlYyk7CisgICAgLy8gMS4gTGV0IGFycmF5IGJlIHRoZSByZXN1bHQgb2YgY2FsbGlu
ZyBUb09iamVjdCBvbiB0aGUgdGhpcyB2YWx1ZS4KKyAgICBKU09iamVjdCogdGhpc09iamVjdCA9
IHRoaXNWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgCisg
ICAgLy8gMi4gTGV0IGZ1bmMgYmUgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBbW0dldF1dIGlu
dGVybmFsIG1ldGhvZCBvZiBhcnJheSB3aXRoIGFyZ3VtZW50ICJqb2luIi4KKyAgICBKU1ZhbHVl
IGZ1bmN0aW9uID0gSlNWYWx1ZSh0aGlzT2JqZWN0KS5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlO
YW1lcygpLmpvaW4pOworCisgICAgLy8gMy4gSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwg
dGhlbiBsZXQgZnVuYyBiZSB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gbWV0aG9kIE9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcgKDE1LjIuNC4yKS4KKyAgICBpZiAoIWZ1bmN0aW9uLmlzQ2VsbCgpKQor
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTWFrZU5vbnRyaXZpYWxTdHJpbmcoZXhl
YywgIltvYmplY3QgIiwgdGhpc09iamVjdC0+bWV0aG9kVGFibGUoKS0+Y2xhc3NOYW1lKHRoaXNP
YmplY3QpLCAiXSIpKTsKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsKKyAgICBDYWxsVHlwZSBjYWxs
VHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CisgICAgaWYgKGNhbGxUeXBl
ID09IENhbGxUeXBlTm9uZSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc01ha2VO
b250cml2aWFsU3RyaW5nKGV4ZWMsICJbb2JqZWN0ICIsIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxl
KCktPmNsYXNzTmFtZSh0aGlzT2JqZWN0KSwgIl0iKSk7CisKKyAgICAvLyA0LiBSZXR1cm4gdGhl
IHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2Qgb2YgZnVuYyBw
cm92aWRpbmcgYXJyYXkgYXMgdGhlIHRoaXMgdmFsdWUgYW5kIGFuIGVtcHR5IGFyZ3VtZW50cyBs
aXN0LgorICAgIGlmICghaXNKU0FycmF5KHRoaXNPYmplY3QpIHx8IGNhbGxUeXBlICE9IENhbGxU
eXBlSG9zdCB8fCBjYWxsRGF0YS5uYXRpdmUuZnVuY3Rpb24gIT0gYXJyYXlQcm90b0Z1bmNKb2lu
KQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGwoZXhlYywgZnVuY3Rpb24sIGNh
bGxUeXBlLCBjYWxsRGF0YSwgdGhpc09iamVjdCwgZXhlYy0+ZW1wdHlMaXN0KCkpKTsKKworICAg
IEFTU0VSVChpc0pTQXJyYXkodGhpc1ZhbHVlKSk7CiAgICAgSlNBcnJheSogdGhpc09iaiA9IGFz
QXJyYXkodGhpc1ZhbHVlKTsKICAgICAKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqLT5n
ZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhlYyk7CkBA
IC0yNzMsNyArMjkyLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3Rv
RgogCiAgICAgZm9yICh1bnNpZ25lZCBrID0gMDsgayA8IGxlbmd0aDsgaysrKSB7CiAgICAgICAg
IEpTVmFsdWUgZWxlbWVudDsKLSAgICAgICAgaWYgKGlzUmVhbEFycmF5ICYmIHRoaXNPYmotPmNh
bkdldEluZGV4KGspKQorICAgICAgICBpZiAodGhpc09iai0+Y2FuR2V0SW5kZXgoaykpCiAgICAg
ICAgICAgICBlbGVtZW50ID0gdGhpc09iai0+Z2V0SW5kZXgoayk7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIGVsZW1lbnQgPSB0aGlzT2JqLT5nZXQoZXhlYywgayk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgJKHJldmlz
aW9uIDExNDI4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50
aWZpZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTcyLDcgKzcyLDggQEAKICAgICBtYWNybyh2YWx1
ZSkgXAogICAgIG1hY3JvKHZhbHVlT2YpIFwKICAgICBtYWNybyh3cml0YWJsZSkgXAotICAgIG1h
Y3JvKGRpc3BsYXlOYW1lKQorICAgIG1hY3JvKGRpc3BsYXlOYW1lKSBcCisgICAgbWFjcm8oam9p
bikKIAogI2RlZmluZSBKU0NfQ09NTU9OX0lERU5USUZJRVJTX0VBQ0hfS0VZV09SRChtYWNybykg
XAogICAgIG1hY3JvKG51bGwpIFwKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDMxNSkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA0
LTE2ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAg
ICBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgc2hvdWxkIGJlIGdlbmVyaWMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTg4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2pzL2FycmF5LWZ1bmN0
aW9ucy1ub24tYXJyYXlzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgICAgIC0gY2hlY2sgaW4gbmV3
IHJlc3VsdHMKKyAgICAgICAgKiBmYXN0L2pzL2FycmF5LXByb3RvdHlwZS1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgICAgIC0gbmV3IG1vcmUgZGV0YWlsZWQgZXJyb3IgbWVzc2Fn
ZS4KKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9hcnJheS1mdW5jdGlvbnMtbm9uLWFy
cmF5cy5qczoKKyAgICAgICAgICAgIC0gYWRkZWQgbmV3IHRlc3QgY2FzZXMsIGZpeCBpbmNvcnJl
Y3Qgb25lLgorICAgICAgICAqIHNwdXRuaWsvQ29uZm9ybWFuY2UvMTVfTmF0aXZlX09iamVjdHMv
MTUuNF9BcnJheS8xNS40LjQvMTUuNC40LjJfQXJyYXlfcHJvdG90eXBlX3RvU3RyaW5nL1MxNS40
LjQuMl9BMl9UMS1leHBlY3RlZC50eHQ6CisgICAgICAgICAgICAtIGNoZWNrIGluIGZhaWxpbmcg
cmVzdWx0ICh0ZXN0IGlzIHdyb25nKQorCiAyMDEyLTA0LTE2ICBWaW5jZW50IFNjaGVpYiAgPHNj
aGVpYkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBSZWJhc2VsaW5lIGNvbnRp
bnVlZCBmcm9tIHhqaSdzIHJlYmFzZSBhZnRlciByMTE0MjY3LgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9qcy9hcnJheS1mdW5jdGlvbnMtbm9uLWFycmF5cy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1mdW5jdGlvbnMtbm9uLWFycmF5cy1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDExNDI4NikKKysrIExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXkt
ZnVuY3Rpb25zLW5vbi1hcnJheXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC03LDcg
KzcsMTYgQEAgUEFTUyBwcm9wZXJ0aWVzKFsnYicsICdhJ10pIGlzICcwOmIsIDE6YQogUEFTUyBw
cm9wZXJ0aWVzKHsgbGVuZ3RoOjIsIDA6J2InLCAxOidhJyB9KSBpcyAnMDpiLCAxOmEsIGxlbmd0
aDoyJwogUEFTUyBwcm9wZXJ0aWVzKG5ldyBPbmVJdGVtQ29uc3RydWN0b3IpIGlzICcwOmEoRnJv
bVByb3RvdHlwZSksIGxlbmd0aDoxKEZyb21Qcm90b3R5cGUpJwogUEFTUyBwcm9wZXJ0aWVzKG5l
dyBUd29JdGVtQ29uc3RydWN0b3IpIGlzICcwOmIoRnJvbVByb3RvdHlwZSksIDE6YShGcm9tUHJv
dG90eXBlKSwgbGVuZ3RoOjIoRnJvbVByb3RvdHlwZSknCi1QQVNTIEFycmF5LnByb3RvdHlwZS50
b1N0cmluZy5jYWxsKHt9KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgor
UEFTUyBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7fSkgaXMgIltvYmplY3QgT2JqZWN0
XSIKK1BBU1MgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUpIGlzICJbb2Jq
ZWN0IERhdGVdIgorUEFTUyBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7c29ydDogZnVu
Y3Rpb24oKSB7IHJldHVybiAnc29ydCcgfX0pIGlzICJbb2JqZWN0IE9iamVjdF0iCitQQVNTIEFy
cmF5LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHtqb2luOiBmdW5jdGlvbigpIHsgcmV0dXJuICdq
b2luJyB9fSkgaXMgImpvaW4iCitQQVNTIEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHtf
X3Byb3RvX186IEFycmF5LnByb3RvdHlwZSwgMDogJ2EnLCAxOiAnYicsIDI6ICdjJywgbGVuZ3Ro
OiAzfSkgaXMgImEsYixjIgorUEFTUyAoe19fcHJvdG9fXzogQXJyYXkucHJvdG90eXBlLCAwOiAn
YScsIDE6ICdiJywgMjogJ2MnLCBsZW5ndGg6IDN9KS50b1N0cmluZygpIGlzICJhLGIsYyIKK1BB
U1MgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoe19fcHJvdG9fXzogQXJyYXkucHJvdG90
eXBlLCAwOiAnYScsIDE6ICdiJywgMjogJ2MnLCBsZW5ndGg6IDMsIGpvaW46IGZ1bmN0aW9uKCkg
eyByZXR1cm4gJ2pvaW4nIH19KSBpcyAiam9pbiIKK1BBU1MgKHtfX3Byb3RvX186IEFycmF5LnBy
b3RvdHlwZSwgMDogJ2EnLCAxOiAnYicsIDI6ICdjJywgbGVuZ3RoOiAzLCBqb2luOiBmdW5jdGlv
bigpIHsgcmV0dXJuICdqb2luJyB9fSkudG9TdHJpbmcoKSBpcyAiam9pbiIKK1BBU1MgQXJyYXku
cHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoNDIpIGlzICJOdW1iZXIucHJvdG90eXBlLmpvaW46NDIi
CitQQVNTIFswLCAxLCAyXS50b1N0cmluZygpIGlzICJhcnJheS1qb2luIgogUEFTUyBBcnJheS5w
cm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuY2FsbCh7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KIFBBU1MgQXJyYXkucHJvdG90eXBlLmNvbmNhdC5jYWxsKHggPSB7IGxl
bmd0aDoyLCAwOidiJywgMTonYScgfSkgaXMgW3hdCiBQQVNTIEFycmF5LnByb3RvdHlwZS5qb2lu
LmNhbGwoe30pIGlzICcnCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LXByb3RvdHlw
ZS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2pzL2FycmF5LXByb3RvdHlwZS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTE0
Mjg2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1wcm90b3R5cGUtcHJvcGVydGllcy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBAIFRoaXMgaXMgYSB0ZXN0
IGNhc2UgZm9yIGJ1ZyA2NDY3OS4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNT
IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNh
bGwodW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAndW5kZWZpbmVkJyBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh1
bmRlZmluZWQpJykuCiBQQVNTIEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKHVu
ZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KIFBBU1MgQXJy
YXkucHJvdG90eXBlLmNvbmNhdC5jYWxsKHVuZGVmaW5lZCwgW10pIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ0FycmF5
LnByb3RvdHlwZS5jb25jYXQuY2FsbCh1bmRlZmluZWQsIFtdKScpLgogUEFTUyBBcnJheS5wcm90
b3R5cGUuam9pbi5jYWxsKHVuZGVmaW5lZCwgW10pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ0FycmF5LnByb3RvdHlw
ZS5qb2luLmNhbGwodW5kZWZpbmVkLCBbXSknKS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMv
c2NyaXB0LXRlc3RzL2FycmF5LWZ1bmN0aW9ucy1ub24tYXJyYXlzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2FycmF5LWZ1bmN0aW9ucy1ub24tYXJy
YXlzLmpzCShyZXZpc2lvbiAxMTQyODYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10
ZXN0cy9hcnJheS1mdW5jdGlvbnMtbm9uLWFycmF5cy5qcwkod29ya2luZyBjb3B5KQpAQCAtNzYs
NyArNzYsMjEgQEAgc2hvdWxkQmUoInByb3BlcnRpZXMoeyBsZW5ndGg6MiwgMDonYicsIAogc2hv
dWxkQmUoInByb3BlcnRpZXMobmV3IE9uZUl0ZW1Db25zdHJ1Y3RvcikiLCAiJzA6YShGcm9tUHJv
dG90eXBlKSwgbGVuZ3RoOjEoRnJvbVByb3RvdHlwZSknIik7CiBzaG91bGRCZSgicHJvcGVydGll
cyhuZXcgVHdvSXRlbUNvbnN0cnVjdG9yKSIsICInMDpiKEZyb21Qcm90b3R5cGUpLCAxOmEoRnJv
bVByb3RvdHlwZSksIGxlbmd0aDoyKEZyb21Qcm90b3R5cGUpJyIpOwogCi1zaG91bGRUaHJvdygi
QXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoe30pIik7CitzaG91bGRCZSgiQXJyYXkucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoe30pIiwgJyInICsgKHt9KS50b1N0cmluZygpICsgJyInKTsK
K3Nob3VsZEJlKCJBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgRGF0ZSkiLCAnIicg
KyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3IERhdGUpICsgJyInKTsKK3Nob3Vs
ZEJlKCJBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7c29ydDogZnVuY3Rpb24oKSB7IHJl
dHVybiAnc29ydCcgfX0pIiwgJyInICsgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHt9
KSArICciJyk7CitzaG91bGRCZSgiQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoe2pvaW46
IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2pvaW4nIH19KSIsICciam9pbiInKTsKK3Nob3VsZEJlKCJB
cnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7X19wcm90b19fOiBBcnJheS5wcm90b3R5cGUs
IDA6ICdhJywgMTogJ2InLCAyOiAnYycsIGxlbmd0aDogM30pIiwgJyJhLGIsYyInKTsKK3Nob3Vs
ZEJlKCIoe19fcHJvdG9fXzogQXJyYXkucHJvdG90eXBlLCAwOiAnYScsIDE6ICdiJywgMjogJ2Mn
LCBsZW5ndGg6IDN9KS50b1N0cmluZygpIiwgJyJhLGIsYyInKTsKK3Nob3VsZEJlKCJBcnJheS5w
cm90b3R5cGUudG9TdHJpbmcuY2FsbCh7X19wcm90b19fOiBBcnJheS5wcm90b3R5cGUsIDA6ICdh
JywgMTogJ2InLCAyOiAnYycsIGxlbmd0aDogMywgam9pbjogZnVuY3Rpb24oKSB7IHJldHVybiAn
am9pbicgfX0pIiwgJyJqb2luIicpOworc2hvdWxkQmUoIih7X19wcm90b19fOiBBcnJheS5wcm90
b3R5cGUsIDA6ICdhJywgMTogJ2InLCAyOiAnYycsIGxlbmd0aDogMywgam9pbjogZnVuY3Rpb24o
KSB7IHJldHVybiAnam9pbicgfX0pLnRvU3RyaW5nKCkiLCAnImpvaW4iJyk7CitOdW1iZXIucHJv
dG90eXBlLmpvaW4gPSBmdW5jdGlvbigpIHsgcmV0dXJuICJOdW1iZXIucHJvdG90eXBlLmpvaW46
IiArIHRoaXM7IH0KK3Nob3VsZEJlKCJBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCg0Miki
LCAnIk51bWJlci5wcm90b3R5cGUuam9pbjo0MiInKTsKK3ZhciBhcnJheUpvaW4gPSBBcnJheS5w
cm90b3R5cGUuam9pbjsKK0FycmF5LnByb3RvdHlwZS5qb2luID0gZnVuY3Rpb24oKSB7IHJldHVy
biAnYXJyYXktam9pbicgfTsKK3Nob3VsZEJlKCJbMCwgMSwgMl0udG9TdHJpbmcoKSIsICciYXJy
YXktam9pbiInKTsKK0FycmF5LnByb3RvdHlwZS5qb2luID0gYXJyYXlKb2luOworCiBzaG91bGRU
aHJvdygiQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmNhbGwoe30pIik7CiAKIHNob3Vs
ZEJlKCJBcnJheS5wcm90b3R5cGUuY29uY2F0LmNhbGwoeCA9IHsgbGVuZ3RoOjIsIDA6J2InLCAx
OidhJyB9KSIsICJbeF0iKTsKSW5kZXg6IExheW91dFRlc3RzL3NwdXRuaWsvQ29uZm9ybWFuY2Uv
MTVfTmF0aXZlX09iamVjdHMvMTUuNF9BcnJheS8xNS40LjQvMTUuNC40LjJfQXJyYXlfcHJvdG90
eXBlX3RvU3RyaW5nL1MxNS40LjQuMl9BMl9UMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3B1dG5pay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS40X0Fy
cmF5LzE1LjQuNC8xNS40LjQuMl9BcnJheV9wcm90b3R5cGVfdG9TdHJpbmcvUzE1LjQuNC4yX0Ey
X1QxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTE0Mjg2KQorKysgTGF5b3V0VGVzdHMvc3B1dG5p
ay9Db25mb3JtYW5jZS8xNV9OYXRpdmVfT2JqZWN0cy8xNS40X0FycmF5LzE1LjQuNC8xNS40LjQu
Ml9BcnJheV9wcm90b3R5cGVfdG9TdHJpbmcvUzE1LjQuNC4yX0EyX1QxLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIFMxNS40LjQuMl9BMl9UMQogCi1QQVNTIAor
RkFJTCBTcHV0bmlrRXJyb3I6ICMxLjI6IHZhciBvYmogPSB7fTsgb2JqLnRvU3RyaW5nID0gQXJy
YXkucHJvdG90eXBlLnRvU3RyaW5nOyBvYmoudG9TdHJpbmcoKSB0aHJvdyBUeXBlRXJyb3IuIEFj
dHVhbDogU3B1dG5pa0Vycm9yOiAjMS4xOiB2YXIgb2JqID0ge307IG9iai50b1N0cmluZyA9IEFy
cmF5LnByb3RvdHlwZS50b1N0cmluZzsgb2JqLnRvU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBB
Y3R1YWw6IFtvYmplY3QgT2JqZWN0XQogCiBURVNUIENPTVBMRVRFCiAK
</data>
<flag name="review"
          id="142473"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>