<?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>48976</bug_id>
          
          <creation_ts>2010-11-03 22:52:39 -0700</creation_ts>
          <short_desc>stepUp/stepDown for values in step-mismatching state for input elements</short_desc>
          <delta_ts>2010-11-19 04:14:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dai Mikurube">dmikurube</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>304481</commentid>
    <comment_count>0</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-03 22:52:39 -0700</bug_when>
    <thetext>These are not described in the spec. But I wrote reasonably &quot;Expected&quot; behaviors below.
Opinions for these &quot;Expected&quot; behaviors are also welcome.

This bug was discussed at bug 48308. [https://bugs.webkit.org/show_bug.cgi?id=48308]


[Case A]
Steps to reproduce:
1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;9.9&quot; value=&quot;8.7&quot; /&gt;
2. stepUp()

Expected:
9

Actually happens:
8.7 (no change)


[Case B]
Steps to reproduce:
1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;10.9&quot; value=&quot;8.7&quot; /&gt; 
2. stepUp()

Expected:
9

Actually happens:
10</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309226</commentid>
    <comment_count>1</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-15 04:01:21 -0800</bug_when>
    <thetext>I found that LayoutTests assume that the current behavior is correct. But I could not find any description on it. Does someone know whether there are some descriptions on it in the HTML5 Spec?

I tried writing a patch for more natural behavior.


In LayoutTests/fast/forms/input-stepup-stepdown.html :

For &lt;input type=&quot;number&quot; step=&quot;2&quot; min=&quot;0&quot; value=&quot;1&quot; /&gt;
stepUp() =&gt; should be 4. (Looks like 2 is more natural.)

For &lt;input type=&quot;number&quot; step=&quot;10&quot; min=&quot;0&quot; value=&quot;9&quot; /&gt;
stepUp(9) =&gt; should be 100. (Looks like 90 is more natural.)


In addition, stepDown() is expected to show a non-similar behavior. For example :

For &lt;input type=&quot;number&quot; step=&quot;10&quot; min=&quot;0&quot; value=&quot;19&quot; /&gt;
stepDown() =&gt; should be 10.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309227</commentid>
    <comment_count>2</comment_count>
      <attachid>73883</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-15 04:05:19 -0800</bug_when>
    <thetext>Created attachment 73883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309229</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-15 04:06:55 -0800</bug_when>
    <thetext>Attachment 73883 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast/forms/input-stepup-stepdown-expected.txt&apos;, u&apos;LayoutTests/fast/forms/script-tests/input-stepup-stepdown.js&apos;, u&apos;WebCore/ChangeLog&apos;, u&apos;WebCore/html/HTMLInputElement.cpp&apos;]&quot; exit_code: 1
WebCore/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309230</commentid>
    <comment_count>4</comment_count>
      <attachid>73884</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-15 04:09:14 -0800</bug_when>
    <thetext>Created attachment 73884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309233</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-15 04:12:38 -0800</bug_when>
    <thetext>http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-stepup

shows the algorithm of stepUp().  In short words, If the current value is step-mismatched, the new value should be step-mismatched.
We don&apos;t need to apply this rule to HTMLInputElement::stepUpFromRenderer().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309238</commentid>
    <comment_count>6</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-15 04:29:18 -0800</bug_when>
    <thetext>(In reply to comment #5)
Thank you, Kent-san.

I see. To follow the spec, the current implementation (without my patch) should be changed so that :

1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;9.9&quot; value=&quot;8.7&quot; /&gt;
2. stepUp() =&gt; 9.7

Though it looks a little unnatural... Are there any other opinions from someone else?


In addition, the planned fix for the bug 45491 looks also to be changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309246</commentid>
    <comment_count>7</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-15 04:50:50 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; Thank you, Kent-san.
&gt; 
&gt; I see. To follow the spec, the current implementation (without my patch) should be changed so that :
&gt; 
&gt; 1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;9.9&quot; value=&quot;8.7&quot; /&gt;
&gt; 2. stepUp() =&gt; 9.7
&gt; 
&gt; Though it looks a little unnatural... Are there any other opinions from someone else?

stepUp()/stepDown(), which are JavaScript API, should follow the specification, and I think a page author have the responsibility of validity of the resultant values.

The behavior of HTMLInputElement::stepUpFromRenderer(), which is the function called by spin-button click, should be &quot;natural&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309571</commentid>
    <comment_count>8</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-15 21:19:58 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; Thank you, Kent-san.
&gt; &gt; 
&gt; &gt; I see. To follow the spec, the current implementation (without my patch) should be changed so that :
&gt; &gt; 
&gt; &gt; 1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;9.9&quot; value=&quot;8.7&quot; /&gt;
&gt; &gt; 2. stepUp() =&gt; 9.7
&gt; &gt; 
&gt; &gt; Though it looks a little unnatural... Are there any other opinions from someone else?
&gt; 
&gt; stepUp()/stepDown(), which are JavaScript API, should follow the specification, and I think a page author have the responsibility of validity of the resultant values.
&gt; 
&gt; The behavior of HTMLInputElement::stepUpFromRenderer(), which is the function called by spin-button click, should be &quot;natural&quot;.

Ok,
- I removed any stepwise adjustment for stepUp()/stepDown(). (removing numerical errors is alive.)
- I added stepwise adjustment for stepUpFromRenderer() with &quot;natural&quot; behaviors for step-mismatched values.

Then, do you have any ideas to test stepUpFromRenderer()? I guess that sending an event (e.g. key up/down) will work, but a simpler way may be better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309573</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-15 21:28:17 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Then, do you have any ideas to test stepUpFromRenderer()? I guess that sending an event (e.g. key up/down) will work, but a simpler way may be better.

We need to send events.  Key events are easier than mouse events.  LayoutTests/fast/forms/script-tests/input-number-keyoperation.js would be helpful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309576</commentid>
    <comment_count>10</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-15 21:34:29 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; We need to send events.  Key events are easier than mouse events.  LayoutTests/fast/forms/script-tests/input-number-keyoperation.js would be helpful.

LayoutTests/fast/forms/range-keyoperation.html might be better.  It doesn&apos;t use eventSender.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309594</commentid>
    <comment_count>11</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-15 23:00:38 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; LayoutTests/fast/forms/range-keyoperation.html might be better.  It doesn&apos;t use eventSender.

Kent-san, Thank you. Tests with events worked fine.


I found another issue to be discussed.

1. &lt;input type=&quot;number&quot; min=&quot;0&quot; value=&quot;0&quot; step=&quot;0.003921568627450980&quot; max=&quot;1&quot; /&gt;
2. stepUp() for 255 times.
3. stepDown() for 255 times. =&gt; 3.838e-15 (0 is expected.)

My patch removes numeric errors with &quot;decimal places&quot; as the bug 48308 does. (The maximum decimal places of step and the current value, not base.)

This error removing does not work for the case above. The decimal places of step are large. We could remove this rounding error with stepwise adjustment at stepUp()/stepDown().

This example is shown at HTML5 - 4.10.7.2.11 The step attribute.


I&apos;ve added Gavin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309609</commentid>
    <comment_count>12</comment_count>
      <attachid>73968</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-15 23:50:40 -0800</bug_when>
    <thetext>Created attachment 73968
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309610</commentid>
    <comment_count>13</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-15 23:53:07 -0800</bug_when>
    <thetext>I committed before writing completes at #11. What do you think on it?

In addition, I&apos;ve submitted a patch just for discussion. Tests fail for this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309634</commentid>
    <comment_count>14</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-16 01:31:42 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; 1. &lt;input type=&quot;number&quot; min=&quot;0&quot; value=&quot;0&quot; step=&quot;0.003921568627450980&quot; max=&quot;1&quot; /&gt;
&gt; 2. stepUp() for 255 times.
&gt; 3. stepDown() for 255 times. =&gt; 3.838e-15 (0 is expected.)
&gt; 
&gt; My patch removes numeric errors with &quot;decimal places&quot; as the bug 48308 does. (The maximum decimal places of step and the current value, not base.)
&gt; 
&gt; This error removing does not work for the case above. The decimal places of step are large. We could remove this rounding error with stepwise adjustment at stepUp()/stepDown().
&gt; 
&gt; This example is shown at HTML5 - 4.10.7.2.11 The step attribute.

The example in the specification is step=0.00392156863.  The above step value, 0.003921568627450980, is too precise for single-precision and we should decrease &quot;decimalPaces&quot; value for such values.  I&apos;m not sure what algorithm we should implement yet.

(In reply to comment #13)
&gt; In addition, I&apos;ve submitted a patch just for discussion. Tests fail for this patch.

Do not set review? flag to unready patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309637</commentid>
    <comment_count>15</comment_count>
      <attachid>73968</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-16 01:38:49 -0800</bug_when>
    <thetext>Comment on attachment 73968
Patch

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

&gt; LayoutTests/fast/forms/script-tests/input-stepup-stepdown.js:58
&gt; +function stepUpFromRenderer(value, step, max, optionalStepCount) {

I&apos;d like to separate tests for stepUpFromRenderer() from input-stepup-stepdown.html because input-stepup-stepdown.html contains only standardized behaviors.

&gt; WebCore/html/HTMLInputElement.h:246
&gt; +    enum StepwiseAdjustment { NOADJUSTMENT, STEPWISEADJUSTMENT };

See http://webkit.org/coding/coding-style.html
&gt; 10. Enum members should user InterCaps with an initial capital letter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309639</commentid>
    <comment_count>16</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-16 02:15:10 -0800</bug_when>
    <thetext>(In reply to comment #15)
Thanks for comments and advices on the flag and style.


I found a worse result for the 0.00392156863.

1. &lt;input type=&quot;number&quot; min=&quot;0&quot; value=&quot;0&quot; step=&quot;0.00392156863&quot; /&gt; (max removed.)
2. stepUp() for 255 times. =&gt; 1.00000000065

This is an essential numeric error. 0.00392156863 * 255 is completely equal to 1.00000000065. I guess we can avoid it only with stepwise adjustment at stepUp(). The only reason to round 1.00000000065 is stepwise.

Another option is ignoring it. We can delegate such rounding-error handling to a page author, as you said &quot;a page author have the responsibility of validity of the resultant values&quot;. It happens just on JavaScript stepUp()/stepDown() API. It doesn&apos;t happen on the renderer.

But it is less useful (stepUp()/stepDown() accumulates rounding errors) and non-compliant with the spec&apos;s example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310067</commentid>
    <comment_count>17</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-16 17:57:31 -0800</bug_when>
    <thetext>Hmm.  Can you check Opera&apos;s behavior?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310081</commentid>
    <comment_count>18</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-16 18:42:47 -0800</bug_when>
    <thetext>(In reply to comment #17)
Hi Kent-san,

Opera behaved like my &quot;natural&quot; behaviors :

1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;9.9&quot; value=&quot;8.7&quot; /&gt;
2. stepUp() =&gt; 9

1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;9.9&quot; value=&quot;8.7&quot; /&gt;
2. stepDown() =&gt; 8

1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;10.9&quot; value=&quot;8.7&quot; /&gt;
2. stepUp() =&gt; 9

1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;10.9&quot; value=&quot;8.7&quot; /&gt;
2. stepDown() =&gt; 8

1. &lt;input type=&quot;number&quot; step=&quot;2&quot; min=&quot;0&quot; value=&quot;1&quot; /&gt;
2. stepUp() =&gt; 2

1. &lt;input type=&quot;number&quot; step=&quot;10&quot; min=&quot;0&quot; value=&quot;9&quot; /&gt;
2. stepUp(9) =&gt; 90

1. &lt;input type=&quot;number&quot; step=&quot;10&quot; min=&quot;0&quot; value=&quot;19&quot; /&gt;
2. stepDown() =&gt; 10

1. &lt;input type=&quot;number&quot; min=&quot;0&quot; value=&quot;0&quot; step=&quot;0.00392156863&quot; /&gt; (No &quot;max&quot;)
2. stepUp() for 255 times. =&gt; 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310085</commentid>
    <comment_count>19</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-16 18:48:41 -0800</bug_when>
    <thetext>(In reply to comment #18)
They were results from renderer.

From JavaScript API, it looks like not working for step-mismatched values.

In fast/forms/input-stepup-stepdown.html :

FAIL stepUp(&quot;1&quot;, &quot;2&quot;, &quot;&quot;) should be 3. Was 1.
PASS input.stepDown(); input.value is &quot;1&quot;
FAIL input.min = &quot;0&quot;; stepUp(&quot;9&quot;, &quot;10&quot;, &quot;&quot;, 9) should be 99. Threw exception Error: INVALID_MODIFICATION_ERR
FAIL stepDown(&quot;19&quot;, &quot;10&quot;, &quot;0&quot;) should be 9. Was 19.
FAIL stepUp(&quot;89&quot;, &quot;10&quot;, &quot;99&quot;) should be 99. Was 89.

I&apos;ll investigate a little more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310094</commentid>
    <comment_count>20</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-16 19:10:58 -0800</bug_when>
    <thetext>(In reply to comment #19)

JavaScript APIs showed different results.

It does nothing for step-mismatching vallues.
0.00392156863 stepUp() by 255 times =&gt; 1.


1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;9.9&quot; value=&quot;8.7&quot; /&gt;
2. stepUp() =&gt; 8.7

1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;9.9&quot; value=&quot;8.7&quot; /&gt;
2. stepDown() =&gt; 8.7

1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;10.9&quot; value=&quot;8.7&quot; /&gt;
2. stepUp() =&gt; 8.7

1. &lt;input type=&quot;number&quot; step=&quot;1&quot; min=&quot;0&quot; max=&quot;10.9&quot; value=&quot;8.7&quot; /&gt;
2. stepDown() =&gt; 8.7

1. &lt;input type=&quot;number&quot; step=&quot;2&quot; min=&quot;0&quot; value=&quot;1&quot; /&gt;
2. stepUp() =&gt; 1

1. &lt;input type=&quot;number&quot; step=&quot;10&quot; min=&quot;0&quot; value=&quot;9&quot; /&gt;
2. stepUp(9) =&gt; 9

1. &lt;input type=&quot;number&quot; step=&quot;10&quot; min=&quot;0&quot; value=&quot;19&quot; /&gt;
2. stepDown() =&gt; 19

1. &lt;input type=&quot;number&quot; min=&quot;0&quot; value=&quot;0&quot; step=&quot;0.00392156863&quot; /&gt; (No &quot;max&quot;)
2. stepUp() for 255 times. =&gt; 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310103</commentid>
    <comment_count>21</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-16 19:49:13 -0800</bug_when>
    <thetext>I realized it doesn&apos;t work correctly for 0.00392156863 even with stepwise adjustment in stepUp(). Though it works for 0.003921568627450980.

But Opera handles 0.00392156863. My guess is that they round floating-point numbers to smaller decimal places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310113</commentid>
    <comment_count>22</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-16 21:24:24 -0800</bug_when>
    <thetext>Well, we are discussing multiple issues.

* &quot;Natural&quot; behavior
The specification doesn&apos;t ask so, and Opera doesn&apos;t work so.  We shouldn&apos;t apply such behavior to stepUp() and stepDown() API.
On the other hand, UI should work so.  It should be handled in Bug 45491.

* 0.00392156863 * 255 rounding
This is also out of scope of this bug.  We had better make another bug entry.

* stepUp()/stepDown() behavior with step-mismatching values
We should focus on it in this bug.
IMO, we should follow the specification, not Opera.  Opera might change its behavior in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310124</commentid>
    <comment_count>23</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-16 22:35:49 -0800</bug_when>
    <thetext>(In reply to comment #22)

Ok. The top one and bottom one are strongly related. In summary :

&gt; * &quot;Natural&quot; behavior
&gt; The specification doesn&apos;t ask so, and Opera doesn&apos;t work so.  We shouldn&apos;t apply such behavior to stepUp() and stepDown() API.
&gt; On the other hand, UI should work so.  It should be handled in Bug 45491.

For this,

- remove already existing behaviors (before my patch) on stepwise adjustment for JS API
  =&gt; It is included in fixing this bug.
- add (or fix) stepwise adjustment for UI
  =&gt; It should be done in Bug 45491.


&gt; * 0.00392156863 * 255 rounding
&gt; This is also out of scope of this bug.  We had better make another bug entry.

I agree. I found we can calculate it if just using IEEE 754 single precision numbers.
We should re-consider precisions and how to print them in another bug.



&gt; * stepUp()/stepDown() behavior with step-mismatching values
&gt; We should focus on it in this bug.
&gt; IMO, we should follow the specification, not Opera.  Opera might change its behavior in the future.

Ok, this is, actually, removing stepwise adjustment for JS API.
So the latest patch is near to the specification except for UI changes in stepUpFromRenderer().
(UI changes should be done in Bug 45491.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310127</commentid>
    <comment_count>24</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-16 22:41:06 -0800</bug_when>
    <thetext>(In reply to comment #23)
In addition, however, I guess the original purpose of (existing) stepwise adjustment is to remove accumulated rounding errors, not to adjust step-mismatching values.

By removing the adjustment, I&apos;m afraid that rounding errors may start to accumulate by stepUp()s. What do you think on it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310130</commentid>
    <comment_count>25</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-16 22:56:49 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; In addition, however, I guess the original purpose of (existing) stepwise adjustment is to remove accumulated rounding errors, not to adjust step-mismatching values.
&gt; 
&gt; By removing the adjustment, I&apos;m afraid that rounding errors may start to accumulate by stepUp()s. What do you think on it?

How about adjusting new value only if the original value is matched to the step value?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310149</commentid>
    <comment_count>26</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-17 00:12:53 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; How about adjusting new value only if the original value is matched to the step value?
Thank you. It&apos;s a nice idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310646</commentid>
    <comment_count>27</comment_count>
      <attachid>74186</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-17 17:56:02 -0800</bug_when>
    <thetext>Created attachment 74186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310647</commentid>
    <comment_count>28</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-17 18:00:50 -0800</bug_when>
    <thetext>(In reply to comment #27)
Submitted a patch to remove already existing stepwise adjustment.

It works along the spec for step-mismatching values.
No difference for step-matching values.

Changes for UI will be done in Bug 45491.
Handling 0.00392156863 * 255 will be done in another bug. (Not filed yet.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310655</commentid>
    <comment_count>29</comment_count>
      <attachid>74186</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-17 18:28:53 -0800</bug_when>
    <thetext>Comment on attachment 74186
Patch

ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310656</commentid>
    <comment_count>30</comment_count>
      <attachid>74186</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-17 18:30:13 -0800</bug_when>
    <thetext>Comment on attachment 74186
Patch

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

not ok :-)

&gt; WebCore/ChangeLog:8
&gt; +        Fixed behaviors for already step-mismatched values.

Need to describe how you fixed and/or new behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310661</commentid>
    <comment_count>31</comment_count>
      <attachid>74190</attachid>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-17 18:39:02 -0800</bug_when>
    <thetext>Created attachment 74190
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310663</commentid>
    <comment_count>32</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-17 18:39:50 -0800</bug_when>
    <thetext>(In reply to comment #30)
Thanks. :)
Added descriptions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311258</commentid>
    <comment_count>33</comment_count>
    <who name="Dai Mikurube">dmikurube</who>
    <bug_when>2010-11-18 19:57:14 -0800</bug_when>
    <thetext>Submitted a bug for 0.00392156863 at https://bugs.webkit.org/show_bug.cgi?id=49782.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311349</commentid>
    <comment_count>34</comment_count>
      <attachid>74190</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-19 04:13:55 -0800</bug_when>
    <thetext>Comment on attachment 74190
Patch

Clearing flags on attachment: 74190

Committed r72377: &lt;http://trac.webkit.org/changeset/72377&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311350</commentid>
    <comment_count>35</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-19 04:14:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73883</attachid>
            <date>2010-11-15 04:05:19 -0800</date>
            <delta_ts>2010-11-15 04:09:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48976-20101115210517.patch</filename>
            <type>text/plain</type>
            <size>14818</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5NWUyNjc1ZjBhNTYwYjUwZmY1OWNlNmI2MjAzOWIzOWQwNTljM2Q5Li40MDAxM2M4
N2I1ZDhjYjI5YWJjN2VjMDBlYTkxOTAxMDVlMzc4OWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTEtMTUgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN0ZXBVcC9zdGVwRG93
biBmb3IgdmFsdWVzIGluIHN0ZXAtbWlzbWF0Y2hpbmcgc3RhdGUgZm9yIGlucHV0IGVsZW1lbnRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODk3Ngor
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93
bi5qczoKKwogMjAxMC0xMS0xNCAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIENocm9taXVtIHJlYmFzZWxpbmUgYW5kIGV4cGVjdGF0
aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0
ZXB1cC1zdGVwZG93bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1leHBlY3RlZC50eHQKaW5kZXggMWRlZDg2ZGQwNzYzZmVmZGRhNTQ2
ZDNkZDhiNmE5NDQzY2Y4ODQ3MS4uOTM4NmJiY2M3MjE1ZjMyYWQ4ZjE4ODNmNjg4NzhmMjY0Yjk3
ZTc5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3Rl
cGRvd24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3Rl
cHVwLXN0ZXBkb3duLWV4cGVjdGVkLnR4dApAQCAtMjYsNyArMjYsOCBAQCBQQVNTIHN0ZXBVcCgi
MjAxMC0wMi0xMCIsICJhbnkiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURf
U1RBVEVfRVJSOgogUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsICJhbnkiLCBudWxsKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgog
T3ZlcmZsb3cvdW5kZXJmbG93CiBQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2
ZSszOCIsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERP
TSBFeGNlcHRpb24gMTEuCi1QQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZl
KzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMS4KK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsKSBpcyAiMTk3MC0wMS0wMSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAi
My40MDI4MjM0NmUrMzgiLCBudWxsLCAyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURf
U1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCAi
MSIsICIyMDEwLTAyLTEwIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VS
UjogRE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMSIsICIy
MDEwLTAyLTEwIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMS4KIApAQCAtNTMsNyArNTQsOCBAQCBQQVNTIHN0ZXBVcCgiMjAxMC0wMi0x
MFQyMDoxM1oiLCAiYW55IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NU
QQogUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIE92
ZXJmbG93L3VuZGVyZmxvdwogUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAy
ODIzNDZlKzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VS
UjogRE9NIEV4Y2VwdGlvbiAxMS4KLVBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwg
IjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NU
QVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6
MTNaIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAw
WiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4Iiwg
bnVsbCwgMikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAt
MDItMTBUMjA6MTNaIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjog
RE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjEi
LCAiMjAxMC0wMi0xMFQyMDoxM1oiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RB
VEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogCkBAIC04MCw3ICs4Miw4IEBAIFBBU1Mgc3RlcFVw
KCIyMDEwLTAyLTEwVDIwOjEzIiwgImFueSIsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SU5WQUxJRF9TVEFUCiBQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgImFueSIsIG51
bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRp
b24gMTEuCiBPdmVyZmxvdy91bmRlcmZsb3cKIFBBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEz
IiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElE
X1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KLVBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBU
MjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElO
VkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxLTAxVDAwOjAw
OjAwLjAwMCIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsLCAyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBE
T00gRXhjZXB0aW9uIDExLgogUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIy
MDEwLTAyLTEwVDIwOjEzIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VS
UjogRE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAi
MSIsICIyMDEwLTAyLTEwVDIwOjEzIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NU
QVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIApAQCAtMTA3LDcgKzExMCw4IEBAIFBBU1Mgc3Rl
cFVwKCIyMDEwLTAyIiwgImFueSIsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJ
RF9TVEFURV9FUlI6IERPCiBQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEu
CiBPdmVyZmxvdy91bmRlcmZsb3cKIFBBU1Mgc3RlcFVwKCIyMDEwLTAyIiwgIjMuNDAyODIzNDZl
KzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMS4KLVBBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgi
LCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhj
ZXB0aW9uIDExLgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51
bGwpIGlzICIxOTcwLTAxIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSsz
OCIsIG51bGwsIDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERP
TSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0ZXBVcCgiMjAxMC0wMiIsICIxIiwgIjIwMTAtMDIiKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDEx
LgogUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsICIxIiwgIjIwMTAtMDIiKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogCkBAIC0xNTEs
MTEgKzE1NSwxMSBAQCBQQVNTIHN0ZXBVcCgiLTEiLCAiMSIsICIwIiwgMikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4YwogUEFTUyBpbnB1dC52YWx1ZSBp
cyAiLTEiCiBQQVNTIHN0ZXBVcCgiMSIsICIzLjQwMjgyMzQ2ZSszOCIsICIiLCAyKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogc3Rl
cERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcwotUEFTUyBzdGVwVXAoIjEi
LCAiMiIsICIiKSBpcyAiNCIKLVBBU1MgaW5wdXQuc3RlcERvd24oKTsgaW5wdXQudmFsdWUgaXMg
IjIiCi1QQVNTIGlucHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCI5IiwgIjEwIiwgIiIsIDkpIGlzICIx
MDAiCitQQVNTIHN0ZXBVcCgiMSIsICIyIiwgIiIpIGlzICIyIgorUEFTUyBpbnB1dC5zdGVwRG93
bigpOyBpbnB1dC52YWx1ZSBpcyAiMCIKK1BBU1MgaW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjki
LCAiMTAiLCAiIiwgOSkgaXMgIjkwIgogUEFTUyBzdGVwRG93bigiMTkiLCAiMTAiLCAiMCIpIGlz
ICIxMCIKLVBBU1Mgc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHN0ZXBVcCgiODki
LCAiMTAiLCAiOTkiKSBpcyAiOTAiCiBIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwCiBQQVNTIGlu
cHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjFlKzM4IiwgIjEiLCAiIiwgOTk5OTk5KSBpcyAiMWUrMzgi
CiBQQVNTIGlucHV0Lm1heCA9ICIiOyBzdGVwRG93bigiMWUrMzgiLCAiMSIsICIiLCA5OTk5OTkp
IGlzICIxZSszOCIKQEAgLTI2Niw3ICsyNzAsOCBAQCBQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiYW55
IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NCiBQ
QVNTIHN0ZXBEb3duKCIyMDoxMyIsICJhbnkiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogT3ZlcmZsb3cvdW5kZXJmbG93
CiBQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgotUEFTUyBz
dGVwRG93bigiMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBzdGVwRG93
bigiMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMDA6MDA6MDAuMDAwIgorUEFT
UyBzdGVwRG93bigiMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsLCAyKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogUEFTUyBz
dGVwVXAoIjIwOjEzIiwgIjEiLCAiMjA6MTMiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFM
SURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogUEFTUyBzdGVwRG93bigiMjA6MTMiLCAi
MSIsICIyMDoxMyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERP
TSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0ZXBVcCgiMjM6NTkiLCBudWxsLCBudWxsKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgpAQCAt
Mjk1LDcgKzMwMCw4IEBAIFBBU1Mgc3RlcFVwKCIyMDEwLVcwMiIsICJhbnkiLCBudWxsKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBECiBQQVNTIHN0ZXBEb3duKCIy
MDEwLVcwMiIsICJhbnkiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RB
VEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogT3ZlcmZsb3cvdW5kZXJmbG93CiBQQVNTIHN0ZXBV
cCgiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgotUEFTUyBzdGVwRG93bigi
MjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBzdGVwRG93bigiMjAx
MC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC1XMDEiCitQQVNTIHN0ZXBE
b3duKCIyMDEwLVcwMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwsIDIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0ZXBV
cCgiMjAxMC1XMDIiLCAiMSIsICIyMDEwLVcwMiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5W
QUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0ZXBEb3duKCIyMDEwLVcw
MiIsICIxIiwgIjIwMTAtVzAyIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRF
X0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLmpzCmluZGV4IDFi
YmM5NzgyMGQ3ODMzODlkMzlkZDc3NDI2NWU0YTkzZTNiMzk4NTMuLjBmOTE1N2IwZTBjNWRkMjFh
ODkzYmFlZjVjMzAzNWFiOTUzZDk3MzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi5qcworKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24uanMKQEAgLTcz
LDcgKzczLDggQEAgc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC0wMi0xMCIsICJhbnkiLCBudWxs
KScsIGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcERvd24oIjIwMTAtMDItMTAi
LCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJmbG93L3VuZGVy
ZmxvdycpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSsz
OCIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKLXNob3VsZFRocm93KCdzdGVwRG93bigiMjAx
MC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKK3No
b3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywg
JyIxOTcwLTAxLTAxIicpOworc2hvdWxkVGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjMu
NDAyODIzNDZlKzM4IiwgbnVsbCwgMiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhyb3co
J3N0ZXBVcCgiMjAxMC0wMi0xMCIsICIxIiwgIjIwMTAtMDItMTAiKScsIGludmFsaWRTdGF0ZUVy
cik7CiBzaG91bGRUaHJvdygnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMSIsICIyMDEwLTAyLTEw
IiknLCBpbnZhbGlkU3RhdGVFcnIpOwogCkBAIC0xMDIsNyArMTAzLDggQEAgc2hvdWxkVGhyb3co
J3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVF
cnIpOwogc2hvdWxkVGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICJhbnkiLCBu
dWxsKScsIGludmFsaWRTdGF0ZUVycik7CiBkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CiBz
aG91bGRUaHJvdygnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIzLjQwMjgyMzQ2ZSszOCIs
IG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKLXNob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7
CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCknLCAnIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwWiInKTsKK3Nob3VsZFRocm93KCdz
dGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsLCAyKScs
IGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEz
WiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxk
VGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6
MTNaIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogCkBAIC0xMzEsNyArMTMzLDggQEAgc2hvdWxkVGhy
b3coJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKScsIGludmFsaWRTdGF0
ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55Iiwg
bnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOwog
c2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIs
IG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKLXNob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIs
IG51bGwpJywgJyIxOTcwLTAxLTAxVDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZFRocm93KCdzdGVw
RG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwsIDIpJywgaW52
YWxpZFN0YXRlRXJyKTsKIHNob3VsZFRocm93KCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAi
MSIsICIyMDEwLTAyLTEwVDIwOjEzIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhyb3co
J3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxMyIpJywg
aW52YWxpZFN0YXRlRXJyKTsKIApAQCAtMTYwLDcgKzE2Myw4IEBAIHNob3VsZFRocm93KCdzdGVw
VXAoIjIwMTAtMDIiLCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhy
b3coJ3N0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsK
IGRlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cnKTsKIHNob3VsZFRocm93KCdzdGVwVXAoIjIwMTAt
MDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7Ci1zaG91bGRU
aHJvdygnc3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsIGludmFs
aWRTdGF0ZUVycik7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsKScsICciMTk3MC0wMSInKTsKK3Nob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC0w
MiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwsIDIpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3Vs
ZFRocm93KCdzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCBpbnZhbGlkU3RhdGVF
cnIpOwogc2hvdWxkVGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyIiwgIjEiLCAiMjAxMC0wMiIpJywg
aW52YWxpZFN0YXRlRXJyKTsKIApAQCAtMjA2LDEyICsyMTAsMTEgQEAgc2hvdWxkVGhyb3coJ3N0
ZXBVcCgiLTEiLCAiMSIsICIwIiwgMiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkQmUoJ2lu
cHV0LnZhbHVlJywgJyItMSInKTsKIHNob3VsZFRocm93KCdzdGVwVXAoIjEiLCAiMy40MDI4MjM0
NmUrMzgiLCAiIiwgMiknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ3N0ZXBEb3duKCkvc3Rl
cFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsKLXNob3VsZEJlKCdzdGVwVXAoIjEiLCAi
MiIsICIiKScsICciNCInKTsKLXNob3VsZEJlKCdpbnB1dC5zdGVwRG93bigpOyBpbnB1dC52YWx1
ZScsICciMiInKTsKLXNob3VsZEJlKCdpbnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiOSIsICIxMCIs
ICIiLCA5KScsICciMTAwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMSIsICIyIiwgIiIpJywgJyIy
IicpOworc2hvdWxkQmUoJ2lucHV0LnN0ZXBEb3duKCk7IGlucHV0LnZhbHVlJywgJyIwIicpOwor
c2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCI5IiwgIjEwIiwgIiIsIDkpJywgJyI5
MCInKTsKIHNob3VsZEJlKCdzdGVwRG93bigiMTkiLCAiMTAiLCAiMCIpJywgJyIxMCInKTsKLS8v
IHZhbHVlICsgc3RlcCBpcyA8PSBtYXgsIGJ1dCByb3VuZGVkIHJlc3VsdCB3b3VsZCBiZSA+IG1h
eC4KLXNob3VsZFRocm93KCdzdGVwVXAoIjg5IiwgIjEwIiwgIjk5IiknLCBpbnZhbGlkU3RhdGVF
cnIpOworc2hvdWxkQmUoJ3N0ZXBVcCgiODkiLCAiMTAiLCAiOTkiKScsICciOTAiJyk7CiBkZWJ1
ZygnSHVnZSB2YWx1ZSBhbmQgc21hbGwgc3RlcCcpOwogc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIi
OyBzdGVwVXAoIjFlKzM4IiwgIjEiLCAiIiwgOTk5OTk5KScsICciMWUrMzgiJyk7CiBzaG91bGRC
ZSgnaW5wdXQubWF4ID0gIiI7IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OTk5OSknLCAn
IjFlKzM4IicpOwpAQCAtMzI2LDcgKzMyOSw4IEBAIHNob3VsZFRocm93KCdzdGVwVXAoIjIwOjEz
IiwgImFueSIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3VsZFRocm93KCdzdGVwRG93
bigiMjA6MTMiLCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJm
bG93L3VuZGVyZmxvdycpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjA6MTMiLCAiMy40MDI4MjM0
NmUrMzgiLCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7Ci1zaG91bGRUaHJvdygnc3RlcERvd24o
IjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOworc2hv
dWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIwMDow
MDowMC4wMDAiJyk7CitzaG91bGRUaHJvdygnc3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZl
KzM4IiwgbnVsbCwgMiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgi
MjA6MTMiLCAiMSIsICIyMDoxMyIpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3VsZFRocm93KCdz
dGVwRG93bigiMjA6MTMiLCAiMSIsICIyMDoxMyIpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3Vs
ZFRocm93KCdzdGVwVXAoIjIzOjU5IiwgbnVsbCwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwpA
QCAtMzU3LDcgKzM2MSw4IEBAIHNob3VsZFRocm93KCdzdGVwVXAoIjIwMTAtVzAyIiwgImFueSIs
IG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC1X
MDIiLCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJmbG93L3Vu
ZGVyZmxvdycpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7Ci1zaG91bGRUaHJvdygnc3RlcERvd24oIjIw
MTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOworc2hv
dWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIx
OTcwLVcwMSInKTsKK3Nob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMy40MDI4MjM0
NmUrMzgiLCBudWxsLCAyKScsIGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcFVw
KCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxk
VGhyb3coJ3N0ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIiknLCBpbnZhbGlkU3Rh
dGVFcnIpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDJmYTBlZGQ3OTNlMmQxMDFlN2QxNGRjOTk0ZjQ0YWM2N2U0MDkwNGIuLjg1YjU2
Njc3YzU2NWY1MDUxMTZlZTg5OWVjNmMxNTJlNjQzZGVkYTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAt
MTEtMTUgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN0ZXBVcC9zdGVwRG93biBmb3Ig
dmFsdWVzIGluIHN0ZXAtbWlzbWF0Y2hpbmcgc3RhdGUgZm9yIGlucHV0IGVsZW1lbnRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODk3NgorCisgICAg
ICAgIEZpeGVkIGJlaGF2aW9ycyBmb3IgYWxyZWFkeSBzdGVwLW1pc21hdGNoZWQgdmFsdWVzLgor
CisJKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElu
cHV0RWxlbWVudDo6YXBwbHlTdGVwKToKKwogMjAxMC0xMS0xNCAgUnl1YW4gQ2hvaSAgPHJ5dWFu
LmNob2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29u
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDU0MDY1MjQ3NTYzMTA3NzM5ZDBmOTE5
NzE4ZmU1MTA4OTM0N2Y4MTcuLmU4ZDU1ZjRjMGNmYTAzNmVmYmIzNGIzZWVkMmNhOTU4ZTNlMjRm
NzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTMxMSw3ICszMTEsMTcgQEAgdm9p
ZCBIVE1MSW5wdXRFbGVtZW50OjphcHBseVN0ZXAoZG91YmxlIGNvdW50LCBFeGNlcHRpb25Db2Rl
JiBlYykKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KLSAgICBkb3VibGUgbmV3VmFsdWUgPSBjdXJyZW50ICsgc3RlcCAqIGNvdW50OworICAg
IHVuc2lnbmVkIGJhc2VEZWNpbWFsUGxhY2VzOworICAgIGRvdWJsZSBiYXNlID0gbV9pbnB1dFR5
cGUtPnN0ZXBCYXNlV2l0aERlY2ltYWxQbGFjZXMoJmJhc2VEZWNpbWFsUGxhY2VzKTsKKyAgICBi
YXNlRGVjaW1hbFBsYWNlcyA9IG1pbihiYXNlRGVjaW1hbFBsYWNlcywgMTZ1KTsKKyAgICBkb3Vi
bGUgbmV3VmFsdWU7CisgICAgaWYgKHN0ZXBNaXNtYXRjaCh2YWx1ZSgpKSkgeworICAgICAgICBp
ZiAoY291bnQgPCAwKQorICAgICAgICAgICAgbmV3VmFsdWUgPSBiYXNlICsgKGZsb29yKChjdXJy
ZW50IC0gYmFzZSkgLyBzdGVwKSAtIChjb3VudCArIDEpKSAqIHN0ZXA7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIG5ld1ZhbHVlID0gYmFzZSArIChjZWlsKChjdXJyZW50IC0gYmFzZSkgLyBz
dGVwKSArIChjb3VudCAtIDEpKSAqIHN0ZXA7CisgICAgfSBlbHNlCisgICAgICAgIG5ld1ZhbHVl
ID0gY3VycmVudCArIHN0ZXAgKiBjb3VudDsKICAgICBpZiAoaXNpbmYobmV3VmFsdWUpKSB7CiAg
ICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CiAgICAgICAgIHJldHVybjsKQEAgLTMyMyw5
ICszMzMsNiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcChkb3VibGUgY291bnQs
IEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIH0KICAgICBpZiAobmV3VmFsdWUgPCBtX2lucHV0VHlw
ZS0+bWluaW11bSgpKQogICAgICAgICBuZXdWYWx1ZSA9IG1faW5wdXRUeXBlLT5taW5pbXVtKCk7
Ci0gICAgdW5zaWduZWQgYmFzZURlY2ltYWxQbGFjZXM7Ci0gICAgZG91YmxlIGJhc2UgPSBtX2lu
cHV0VHlwZS0+c3RlcEJhc2VXaXRoRGVjaW1hbFBsYWNlcygmYmFzZURlY2ltYWxQbGFjZXMpOwot
ICAgIGJhc2VEZWNpbWFsUGxhY2VzID0gbWluKGJhc2VEZWNpbWFsUGxhY2VzLCAxNnUpOwogICAg
IGlmIChuZXdWYWx1ZSA8IHBvdygxMC4wLCAyMS4wKSkgewogICAgICAgICBkb3VibGUgc2NhbGUg
PSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGJh
c2VEZWNpbWFsUGxhY2VzKSkpOwogICAgICAgICBuZXdWYWx1ZSA9IHJvdW5kKChiYXNlICsgcm91
bmQoKG5ld1ZhbHVlIC0gYmFzZSkgLyBzdGVwKSAqIHN0ZXApICogc2NhbGUpIC8gc2NhbGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73884</attachid>
            <date>2010-11-15 04:09:14 -0800</date>
            <delta_ts>2010-11-15 23:50:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48976-20101115210912.patch</filename>
            <type>text/plain</type>
            <size>14825</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5NWUyNjc1ZjBhNTYwYjUwZmY1OWNlNmI2MjAzOWIzOWQwNTljM2Q5Li40MDAxM2M4
N2I1ZDhjYjI5YWJjN2VjMDBlYTkxOTAxMDVlMzc4OWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTEtMTUgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN0ZXBVcC9zdGVwRG93
biBmb3IgdmFsdWVzIGluIHN0ZXAtbWlzbWF0Y2hpbmcgc3RhdGUgZm9yIGlucHV0IGVsZW1lbnRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODk3Ngor
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93
bi5qczoKKwogMjAxMC0xMS0xNCAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIENocm9taXVtIHJlYmFzZWxpbmUgYW5kIGV4cGVjdGF0
aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0
ZXB1cC1zdGVwZG93bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1leHBlY3RlZC50eHQKaW5kZXggMWRlZDg2ZGQwNzYzZmVmZGRhNTQ2
ZDNkZDhiNmE5NDQzY2Y4ODQ3MS4uOTM4NmJiY2M3MjE1ZjMyYWQ4ZjE4ODNmNjg4NzhmMjY0Yjk3
ZTc5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3Rl
cGRvd24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3Rl
cHVwLXN0ZXBkb3duLWV4cGVjdGVkLnR4dApAQCAtMjYsNyArMjYsOCBAQCBQQVNTIHN0ZXBVcCgi
MjAxMC0wMi0xMCIsICJhbnkiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURf
U1RBVEVfRVJSOgogUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMCIsICJhbnkiLCBudWxsKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgog
T3ZlcmZsb3cvdW5kZXJmbG93CiBQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2
ZSszOCIsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERP
TSBFeGNlcHRpb24gMTEuCi1QQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjMuNDAyODIzNDZl
KzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMS4KK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsKSBpcyAiMTk3MC0wMS0wMSIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAi
My40MDI4MjM0NmUrMzgiLCBudWxsLCAyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURf
U1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogUEFTUyBzdGVwVXAoIjIwMTAtMDItMTAiLCAi
MSIsICIyMDEwLTAyLTEwIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VS
UjogRE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMSIsICIy
MDEwLTAyLTEwIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMS4KIApAQCAtNTMsNyArNTQsOCBAQCBQQVNTIHN0ZXBVcCgiMjAxMC0wMi0x
MFQyMDoxM1oiLCAiYW55IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NU
QQogUEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIE92
ZXJmbG93L3VuZGVyZmxvdwogUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAy
ODIzNDZlKzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VS
UjogRE9NIEV4Y2VwdGlvbiAxMS4KLVBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwg
IjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NU
QVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6
MTNaIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAw
WiIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4Iiwg
bnVsbCwgMikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAt
MDItMTBUMjA6MTNaIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjog
RE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjEi
LCAiMjAxMC0wMi0xMFQyMDoxM1oiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RB
VEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogCkBAIC04MCw3ICs4Miw4IEBAIFBBU1Mgc3RlcFVw
KCIyMDEwLTAyLTEwVDIwOjEzIiwgImFueSIsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SU5WQUxJRF9TVEFUCiBQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgImFueSIsIG51
bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRp
b24gMTEuCiBPdmVyZmxvdy91bmRlcmZsb3cKIFBBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEz
IiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElE
X1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KLVBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBU
MjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElO
VkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxLTAxVDAwOjAw
OjAwLjAwMCIKK1BBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsLCAyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBE
T00gRXhjZXB0aW9uIDExLgogUEFTUyBzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAiMSIsICIy
MDEwLTAyLTEwVDIwOjEzIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VS
UjogRE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAi
MSIsICIyMDEwLTAyLTEwVDIwOjEzIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NU
QVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIApAQCAtMTA3LDcgKzExMCw4IEBAIFBBU1Mgc3Rl
cFVwKCIyMDEwLTAyIiwgImFueSIsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJ
RF9TVEFURV9FUlI6IERPCiBQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEu
CiBPdmVyZmxvdy91bmRlcmZsb3cKIFBBU1Mgc3RlcFVwKCIyMDEwLTAyIiwgIjMuNDAyODIzNDZl
KzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMS4KLVBBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgi
LCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhj
ZXB0aW9uIDExLgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51
bGwpIGlzICIxOTcwLTAxIgorUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSsz
OCIsIG51bGwsIDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERP
TSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0ZXBVcCgiMjAxMC0wMiIsICIxIiwgIjIwMTAtMDIiKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDEx
LgogUEFTUyBzdGVwRG93bigiMjAxMC0wMiIsICIxIiwgIjIwMTAtMDIiKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogCkBAIC0xNTEs
MTEgKzE1NSwxMSBAQCBQQVNTIHN0ZXBVcCgiLTEiLCAiMSIsICIwIiwgMikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4YwogUEFTUyBpbnB1dC52YWx1ZSBp
cyAiLTEiCiBQQVNTIHN0ZXBVcCgiMSIsICIzLjQwMjgyMzQ2ZSszOCIsICIiLCAyKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogc3Rl
cERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcwotUEFTUyBzdGVwVXAoIjEi
LCAiMiIsICIiKSBpcyAiNCIKLVBBU1MgaW5wdXQuc3RlcERvd24oKTsgaW5wdXQudmFsdWUgaXMg
IjIiCi1QQVNTIGlucHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCI5IiwgIjEwIiwgIiIsIDkpIGlzICIx
MDAiCitQQVNTIHN0ZXBVcCgiMSIsICIyIiwgIiIpIGlzICIyIgorUEFTUyBpbnB1dC5zdGVwRG93
bigpOyBpbnB1dC52YWx1ZSBpcyAiMCIKK1BBU1MgaW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjki
LCAiMTAiLCAiIiwgOSkgaXMgIjkwIgogUEFTUyBzdGVwRG93bigiMTkiLCAiMTAiLCAiMCIpIGlz
ICIxMCIKLVBBU1Mgc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHN0ZXBVcCgiODki
LCAiMTAiLCAiOTkiKSBpcyAiOTAiCiBIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwCiBQQVNTIGlu
cHV0Lm1pbiA9ICIiOyBzdGVwVXAoIjFlKzM4IiwgIjEiLCAiIiwgOTk5OTk5KSBpcyAiMWUrMzgi
CiBQQVNTIGlucHV0Lm1heCA9ICIiOyBzdGVwRG93bigiMWUrMzgiLCAiMSIsICIiLCA5OTk5OTkp
IGlzICIxZSszOCIKQEAgLTI2Niw3ICsyNzAsOCBAQCBQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiYW55
IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NCiBQ
QVNTIHN0ZXBEb3duKCIyMDoxMyIsICJhbnkiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogT3ZlcmZsb3cvdW5kZXJmbG93
CiBQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgotUEFTUyBz
dGVwRG93bigiMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBzdGVwRG93
bigiMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMDA6MDA6MDAuMDAwIgorUEFT
UyBzdGVwRG93bigiMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsLCAyKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogUEFTUyBz
dGVwVXAoIjIwOjEzIiwgIjEiLCAiMjA6MTMiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFM
SURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogUEFTUyBzdGVwRG93bigiMjA6MTMiLCAi
MSIsICIyMDoxMyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERP
TSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0ZXBVcCgiMjM6NTkiLCBudWxsLCBudWxsKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgpAQCAt
Mjk1LDcgKzMwMCw4IEBAIFBBU1Mgc3RlcFVwKCIyMDEwLVcwMiIsICJhbnkiLCBudWxsKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBECiBQQVNTIHN0ZXBEb3duKCIy
MDEwLVcwMiIsICJhbnkiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RB
VEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogT3ZlcmZsb3cvdW5kZXJmbG93CiBQQVNTIHN0ZXBV
cCgiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgotUEFTUyBzdGVwRG93bigi
MjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBzdGVwRG93bigiMjAx
MC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC1XMDEiCitQQVNTIHN0ZXBE
b3duKCIyMDEwLVcwMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwsIDIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0ZXBV
cCgiMjAxMC1XMDIiLCAiMSIsICIyMDEwLVcwMiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5W
QUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0ZXBEb3duKCIyMDEwLVcw
MiIsICIxIiwgIjIwMTAtVzAyIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRF
X0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLmpzCmluZGV4IDFi
YmM5NzgyMGQ3ODMzODlkMzlkZDc3NDI2NWU0YTkzZTNiMzk4NTMuLjBmOTE1N2IwZTBjNWRkMjFh
ODkzYmFlZjVjMzAzNWFiOTUzZDk3MzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi5qcworKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24uanMKQEAgLTcz
LDcgKzczLDggQEAgc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC0wMi0xMCIsICJhbnkiLCBudWxs
KScsIGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcERvd24oIjIwMTAtMDItMTAi
LCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJmbG93L3VuZGVy
ZmxvdycpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSsz
OCIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKLXNob3VsZFRocm93KCdzdGVwRG93bigiMjAx
MC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKK3No
b3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMCIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywg
JyIxOTcwLTAxLTAxIicpOworc2hvdWxkVGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgIjMu
NDAyODIzNDZlKzM4IiwgbnVsbCwgMiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhyb3co
J3N0ZXBVcCgiMjAxMC0wMi0xMCIsICIxIiwgIjIwMTAtMDItMTAiKScsIGludmFsaWRTdGF0ZUVy
cik7CiBzaG91bGRUaHJvdygnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMSIsICIyMDEwLTAyLTEw
IiknLCBpbnZhbGlkU3RhdGVFcnIpOwogCkBAIC0xMDIsNyArMTAzLDggQEAgc2hvdWxkVGhyb3co
J3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVF
cnIpOwogc2hvdWxkVGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICJhbnkiLCBu
dWxsKScsIGludmFsaWRTdGF0ZUVycik7CiBkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CiBz
aG91bGRUaHJvdygnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIzLjQwMjgyMzQ2ZSszOCIs
IG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKLXNob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7
CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCknLCAnIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwWiInKTsKK3Nob3VsZFRocm93KCdz
dGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsLCAyKScs
IGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEz
WiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxk
VGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6
MTNaIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogCkBAIC0xMzEsNyArMTMzLDggQEAgc2hvdWxkVGhy
b3coJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICJhbnkiLCBudWxsKScsIGludmFsaWRTdGF0
ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55Iiwg
bnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOwog
c2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIs
IG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKLXNob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC0w
Mi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsK
K3Nob3VsZEJlKCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIs
IG51bGwpJywgJyIxOTcwLTAxLTAxVDAwOjAwOjAwLjAwMCInKTsKK3Nob3VsZFRocm93KCdzdGVw
RG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwsIDIpJywgaW52
YWxpZFN0YXRlRXJyKTsKIHNob3VsZFRocm93KCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAi
MSIsICIyMDEwLTAyLTEwVDIwOjEzIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhyb3co
J3N0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxMyIpJywg
aW52YWxpZFN0YXRlRXJyKTsKIApAQCAtMTYwLDcgKzE2Myw4IEBAIHNob3VsZFRocm93KCdzdGVw
VXAoIjIwMTAtMDIiLCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhy
b3coJ3N0ZXBEb3duKCIyMDEwLTAyIiwgImFueSIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsK
IGRlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cnKTsKIHNob3VsZFRocm93KCdzdGVwVXAoIjIwMTAt
MDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7Ci1zaG91bGRU
aHJvdygnc3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsIGludmFs
aWRTdGF0ZUVycik7CitzaG91bGRCZSgnc3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsKScsICciMTk3MC0wMSInKTsKK3Nob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC0w
MiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwsIDIpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3Vs
ZFRocm93KCdzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCBpbnZhbGlkU3RhdGVF
cnIpOwogc2hvdWxkVGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyIiwgIjEiLCAiMjAxMC0wMiIpJywg
aW52YWxpZFN0YXRlRXJyKTsKIApAQCAtMjA2LDEyICsyMTAsMTEgQEAgc2hvdWxkVGhyb3coJ3N0
ZXBVcCgiLTEiLCAiMSIsICIwIiwgMiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkQmUoJ2lu
cHV0LnZhbHVlJywgJyItMSInKTsKIHNob3VsZFRocm93KCdzdGVwVXAoIjEiLCAiMy40MDI4MjM0
NmUrMzgiLCAiIiwgMiknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ3N0ZXBEb3duKCkvc3Rl
cFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMnKTsKLXNob3VsZEJlKCdzdGVwVXAoIjEiLCAi
MiIsICIiKScsICciNCInKTsKLXNob3VsZEJlKCdpbnB1dC5zdGVwRG93bigpOyBpbnB1dC52YWx1
ZScsICciMiInKTsKLXNob3VsZEJlKCdpbnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiOSIsICIxMCIs
ICIiLCA5KScsICciMTAwIicpOworc2hvdWxkQmUoJ3N0ZXBVcCgiMSIsICIyIiwgIiIpJywgJyIy
IicpOworc2hvdWxkQmUoJ2lucHV0LnN0ZXBEb3duKCk7IGlucHV0LnZhbHVlJywgJyIwIicpOwor
c2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCI5IiwgIjEwIiwgIiIsIDkpJywgJyI5
MCInKTsKIHNob3VsZEJlKCdzdGVwRG93bigiMTkiLCAiMTAiLCAiMCIpJywgJyIxMCInKTsKLS8v
IHZhbHVlICsgc3RlcCBpcyA8PSBtYXgsIGJ1dCByb3VuZGVkIHJlc3VsdCB3b3VsZCBiZSA+IG1h
eC4KLXNob3VsZFRocm93KCdzdGVwVXAoIjg5IiwgIjEwIiwgIjk5IiknLCBpbnZhbGlkU3RhdGVF
cnIpOworc2hvdWxkQmUoJ3N0ZXBVcCgiODkiLCAiMTAiLCAiOTkiKScsICciOTAiJyk7CiBkZWJ1
ZygnSHVnZSB2YWx1ZSBhbmQgc21hbGwgc3RlcCcpOwogc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIi
OyBzdGVwVXAoIjFlKzM4IiwgIjEiLCAiIiwgOTk5OTk5KScsICciMWUrMzgiJyk7CiBzaG91bGRC
ZSgnaW5wdXQubWF4ID0gIiI7IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OTk5OSknLCAn
IjFlKzM4IicpOwpAQCAtMzI2LDcgKzMyOSw4IEBAIHNob3VsZFRocm93KCdzdGVwVXAoIjIwOjEz
IiwgImFueSIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3VsZFRocm93KCdzdGVwRG93
bigiMjA6MTMiLCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJm
bG93L3VuZGVyZmxvdycpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjA6MTMiLCAiMy40MDI4MjM0
NmUrMzgiLCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7Ci1zaG91bGRUaHJvdygnc3RlcERvd24o
IjIwOjEzIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOworc2hv
dWxkQmUoJ3N0ZXBEb3duKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIwMDow
MDowMC4wMDAiJyk7CitzaG91bGRUaHJvdygnc3RlcERvd24oIjIwOjEzIiwgIjMuNDAyODIzNDZl
KzM4IiwgbnVsbCwgMiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgi
MjA6MTMiLCAiMSIsICIyMDoxMyIpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3VsZFRocm93KCdz
dGVwRG93bigiMjA6MTMiLCAiMSIsICIyMDoxMyIpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3Vs
ZFRocm93KCdzdGVwVXAoIjIzOjU5IiwgbnVsbCwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwpA
QCAtMzU3LDcgKzM2MSw4IEBAIHNob3VsZFRocm93KCdzdGVwVXAoIjIwMTAtVzAyIiwgImFueSIs
IG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC1X
MDIiLCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJmbG93L3Vu
ZGVyZmxvdycpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7Ci1zaG91bGRUaHJvdygnc3RlcERvd24oIjIw
MTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOworc2hv
dWxkQmUoJ3N0ZXBEb3duKCIyMDEwLVcwMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIx
OTcwLVcwMSInKTsKK3Nob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMy40MDI4MjM0
NmUrMzgiLCBudWxsLCAyKScsIGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcFVw
KCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxk
VGhyb3coJ3N0ZXBEb3duKCIyMDEwLVcwMiIsICIxIiwgIjIwMTAtVzAyIiknLCBpbnZhbGlkU3Rh
dGVFcnIpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDJmYTBlZGQ3OTNlMmQxMDFlN2QxNGRjOTk0ZjQ0YWM2N2U0MDkwNGIuLjFkYzM5
OTU0YzE3NzE5MzI2NjI1YmM1YWJlNDAzMGQ3ODk3ZTBlOWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAt
MTEtMTUgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN0ZXBVcC9zdGVwRG93biBmb3Ig
dmFsdWVzIGluIHN0ZXAtbWlzbWF0Y2hpbmcgc3RhdGUgZm9yIGlucHV0IGVsZW1lbnRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODk3NgorCisgICAg
ICAgIEZpeGVkIGJlaGF2aW9ycyBmb3IgYWxyZWFkeSBzdGVwLW1pc21hdGNoZWQgdmFsdWVzLgor
CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcCk6CisKIDIwMTAtMTEtMTQgIFJ5dWFuIENob2kg
IDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBS
b2JpbnNvbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBi
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA1NDA2NTI0NzU2MzEwNzcz
OWQwZjkxOTcxOGZlNTEwODkzNDdmODE3Li5lOGQ1NWY0YzBjZmEwMzZlZmJiMzRiM2VlZDJjYTk1
OGUzZTI0Zjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0zMTEsNyArMzExLDE3
IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6YXBwbHlTdGVwKGRvdWJsZSBjb3VudCwgRXhjZXB0
aW9uQ29kZSYgZWMpCiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CiAgICAgICAgIHJl
dHVybjsKICAgICB9Ci0gICAgZG91YmxlIG5ld1ZhbHVlID0gY3VycmVudCArIHN0ZXAgKiBjb3Vu
dDsKKyAgICB1bnNpZ25lZCBiYXNlRGVjaW1hbFBsYWNlczsKKyAgICBkb3VibGUgYmFzZSA9IG1f
aW5wdXRUeXBlLT5zdGVwQmFzZVdpdGhEZWNpbWFsUGxhY2VzKCZiYXNlRGVjaW1hbFBsYWNlcyk7
CisgICAgYmFzZURlY2ltYWxQbGFjZXMgPSBtaW4oYmFzZURlY2ltYWxQbGFjZXMsIDE2dSk7Cisg
ICAgZG91YmxlIG5ld1ZhbHVlOworICAgIGlmIChzdGVwTWlzbWF0Y2godmFsdWUoKSkpIHsKKyAg
ICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIG5ld1ZhbHVlID0gYmFzZSArIChmbG9v
cigoY3VycmVudCAtIGJhc2UpIC8gc3RlcCkgLSAoY291bnQgKyAxKSkgKiBzdGVwOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBuZXdWYWx1ZSA9IGJhc2UgKyAoY2VpbCgoY3VycmVudCAtIGJh
c2UpIC8gc3RlcCkgKyAoY291bnQgLSAxKSkgKiBzdGVwOworICAgIH0gZWxzZQorICAgICAgICBu
ZXdWYWx1ZSA9IGN1cnJlbnQgKyBzdGVwICogY291bnQ7CiAgICAgaWYgKGlzaW5mKG5ld1ZhbHVl
KSkgewogICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CkBA
IC0zMjMsOSArMzMzLDYgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjphcHBseVN0ZXAoZG91Ymxl
IGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICB9CiAgICAgaWYgKG5ld1ZhbHVlIDwgbV9p
bnB1dFR5cGUtPm1pbmltdW0oKSkKICAgICAgICAgbmV3VmFsdWUgPSBtX2lucHV0VHlwZS0+bWlu
aW11bSgpOwotICAgIHVuc2lnbmVkIGJhc2VEZWNpbWFsUGxhY2VzOwotICAgIGRvdWJsZSBiYXNl
ID0gbV9pbnB1dFR5cGUtPnN0ZXBCYXNlV2l0aERlY2ltYWxQbGFjZXMoJmJhc2VEZWNpbWFsUGxh
Y2VzKTsKLSAgICBiYXNlRGVjaW1hbFBsYWNlcyA9IG1pbihiYXNlRGVjaW1hbFBsYWNlcywgMTZ1
KTsKICAgICBpZiAobmV3VmFsdWUgPCBwb3coMTAuMCwgMjEuMCkpIHsKICAgICAgICAgZG91Ymxl
IHNjYWxlID0gcG93KDEwLjAsIHN0YXRpY19jYXN0PGRvdWJsZT4obWF4KHN0ZXBEZWNpbWFsUGxh
Y2VzLCBiYXNlRGVjaW1hbFBsYWNlcykpKTsKICAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFz
ZSArIHJvdW5kKChuZXdWYWx1ZSAtIGJhc2UpIC8gc3RlcCkgKiBzdGVwKSAqIHNjYWxlKSAvIHNj
YWxlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73968</attachid>
            <date>2010-11-15 23:50:40 -0800</date>
            <delta_ts>2010-11-17 17:55:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48976-20101116165038.patch</filename>
            <type>text/plain</type>
            <size>18330</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5NWUyNjc1ZjBhNTYwYjUwZmY1OWNlNmI2MjAzOWIzOWQwNTljM2Q5Li40MDAxM2M4
N2I1ZDhjYjI5YWJjN2VjMDBlYTkxOTAxMDVlMzc4OWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTEtMTUgIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN0ZXBVcC9zdGVwRG93
biBmb3IgdmFsdWVzIGluIHN0ZXAtbWlzbWF0Y2hpbmcgc3RhdGUgZm9yIGlucHV0IGVsZW1lbnRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODk3Ngor
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93
bi5qczoKKwogMjAxMC0xMS0xNCAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIENocm9taXVtIHJlYmFzZWxpbmUgYW5kIGV4cGVjdGF0
aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0
ZXB1cC1zdGVwZG93bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1leHBlY3RlZC50eHQKaW5kZXggMWRlZDg2ZGQwNzYzZmVmZGRhNTQ2
ZDNkZDhiNmE5NDQzY2Y4ODQ3MS4uOWJhNWViODQxM2M4Yzg4Y2YwZWI2ZmZiMTdjZDI0NjA1N2Y2
MGExOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3Rl
cGRvd24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3Rl
cHVwLXN0ZXBkb3duLWV4cGVjdGVkLnR4dApAQCAtMjcsNiArMjcsNyBAQCBQQVNTIHN0ZXBEb3du
KCIyMDEwLTAyLTEwIiwgImFueSIsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJ
RF9TVEFURV9FUgogT3ZlcmZsb3cvdW5kZXJmbG93CiBQQVNTIHN0ZXBVcCgiMjAxMC0wMi0xMCIs
ICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9T
VEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwIiwg
IjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NU
QVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1Mgc3RlcERvd25Gcm9tUmVuZGVyZXIoIjIw
MTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKSBpcyAiMTk3MC0wMS0wMSIKIFBBU1Mg
c3RlcFVwKCIyMDEwLTAyLTEwIiwgIjEiLCAiMjAxMC0wMi0xMCIpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0ZXBEb3du
KCIyMDEwLTAyLTEwIiwgIjEiLCAiMjAxMC0wMi0xMCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCiAKQEAgLTU0LDYgKzU1LDcgQEAg
UEFTUyBzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVsbCkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBJTlZBTElEX1MKIE92ZXJmbG93L3VuZGVyZmxvdwogUEFTUyBzdGVwVXAo
IjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1Mgc3Rl
cERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BB
U1Mgc3RlcERvd25Gcm9tUmVuZGVyZXIoIjIwMTAtMDItMTBUMjA6MTNaIiwgIjMuNDAyODIzNDZl
KzM4IiwgbnVsbCkgaXMgIjE5NzAtMDEtMDFUMDA6MDA6MDAuMDAwWiIKIFBBU1Mgc3RlcFVwKCIy
MDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1Mgc3Rl
cERvd24oIjIwMTAtMDItMTBUMjA6MTNaIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxM1oiKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgog
CkBAIC04MSw2ICs4Myw3IEBAIFBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiYW55
IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUCiBPdmVyZmxvdy91bmRl
cmZsb3cKIFBBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjMuNDAyODIzNDZlKzM4Iiwg
bnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxMS4KIFBBU1Mgc3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUr
MzgiLCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00g
RXhjZXB0aW9uIDExLgorUEFTUyBzdGVwRG93bkZyb21SZW5kZXJlcigiMjAxMC0wMi0xMFQyMDox
MyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxLTAxVDAwOjAwOjAwLjAwMCIK
IFBBU1Mgc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjEiLCAiMjAxMC0wMi0xMFQyMDoxMyIp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24g
MTEuCiBQQVNTIHN0ZXBEb3duKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjEiLCAiMjAxMC0wMi0xMFQy
MDoxMyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNl
cHRpb24gMTEuCiAKQEAgLTEwOCw2ICsxMTEsNyBAQCBQQVNTIHN0ZXBEb3duKCIyMDEwLTAyIiwg
ImFueSIsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6CiBP
dmVyZmxvdy91bmRlcmZsb3cKIFBBU1Mgc3RlcFVwKCIyMDEwLTAyIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBu
dWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0
aW9uIDExLgorUEFTUyBzdGVwRG93bkZyb21SZW5kZXJlcigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2
ZSszOCIsIG51bGwpIGlzICIxOTcwLTAxIgogUEFTUyBzdGVwVXAoIjIwMTAtMDIiLCAiMSIsICIy
MDEwLTAyIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcERvd24oIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4K
IApAQCAtMTUxLDExICsxNTUsMTcgQEAgUEFTUyBzdGVwVXAoIi0xIiwgIjEiLCAiMCIsIDIpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGMKIFBBU1MgaW5w
dXQudmFsdWUgaXMgIi0xIgogUEFTUyBzdGVwVXAoIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwg
MikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlv
biAxMS4KIHN0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2YWx1ZXMKLVBBU1Mg
c3RlcFVwKCIxIiwgIjIiLCAiIikgaXMgIjQiCi1QQVNTIGlucHV0LnN0ZXBEb3duKCk7IGlucHV0
LnZhbHVlIGlzICIyIgotUEFTUyBpbnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiOSIsICIxMCIsICIi
LCA5KSBpcyAiMTAwIgotUEFTUyBzdGVwRG93bigiMTkiLCAiMTAiLCAiMCIpIGlzICIxMCIKLVBB
U1Mgc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJ
RF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHN0ZXBVcCgiMSIsICIyIiwgIiIp
IGlzICIzIgorUEFTUyBpbnB1dC5zdGVwRG93bigpOyBpbnB1dC52YWx1ZSBpcyAiMSIKK1BBU1Mg
aW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAiLCAiIiwgOSkgaXMgIjk5IgorUEFTUyBz
dGVwRG93bigiMTkiLCAiMTAiLCAiMCIpIGlzICI5IgorUEFTUyBzdGVwVXAoIjg5IiwgIjEwIiwg
Ijk5IikgaXMgIjk5Igorc3RlcERvd24oKS9zdGVwVXAoKSBmcm9tIHJlbmRlcmVyIGZvciBzdGVw
TWlzbWF0Y2ggdmFsdWVzCitQQVNTIHN0ZXBVcEZyb21SZW5kZXJlcigiMSIsICIyIiwgIiIpIGlz
ICIyIgorUEFTUyBzZW5kS2V5KCJEb3duIik7IGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBpbnB1
dC5taW4gPSAiMCI7IHN0ZXBVcEZyb21SZW5kZXJlcigiOSIsICIxMCIsICIiLCA5KSBpcyAiOTAi
CitQQVNTIHN0ZXBEb3duRnJvbVJlbmRlcmVyKCIxOSIsICIxMCIsICIwIikgaXMgIjEwIgorUEFT
UyBzdGVwVXBGcm9tUmVuZGVyZXIoIjg5IiwgIjEwIiwgIjk5IikgaXMgIjkwIgogSHVnZSB2YWx1
ZSBhbmQgc21hbGwgc3RlcAogUEFTUyBpbnB1dC5taW4gPSAiIjsgc3RlcFVwKCIxZSszOCIsICIx
IiwgIiIsIDk5OTk5OSkgaXMgIjFlKzM4IgogUEFTUyBpbnB1dC5tYXggPSAiIjsgc3RlcERvd24o
IjFlKzM4IiwgIjEiLCAiIiwgOTk5OTk5KSBpcyAiMWUrMzgiCkBAIC0xNjQsNyArMTc0LDcgQEAg
UEFTUyBpbnB1dC5taW4gPSAiIjsgc3RlcFVwKCIwIiwgIjAuMzMzMzMzMzMzMzMzMzMzMzMiLCAi
IiwgMykgaXMgIjEiCiBQQVNTIHN0ZXBVcCgiMSIsICIwLjEiLCAiIiwgMTApIGlzICIyIgogUEFT
UyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5z
dGVwVXAoKTsgaW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsg
aW5wdXQuc3RlcFVwKCk7IGlucHV0LnN0ZXBVcCgpOyBpbnB1dC5zdGVwVXAoKTsgaW5wdXQudmFs
dWUgaXMgIjMiCiBQQVNTIGlucHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCIwIiwgIjAuMDAzOTIxNTY4
NjI3NDUwOTgwIiwgIjEiLCAyNTUpIGlzICIxIgotUEFTUyBmb3IgKHZhciBpID0gMDsgaSA8IDI1
NTsgaSsrKSB7IGlucHV0LnN0ZXBEb3duKCk7IH07IGlucHV0LnZhbHVlIGlzICIwIgorUEFTUyBm
b3IgKHZhciBpID0gMDsgaSA8IDI1NTsgaSsrKSB7IGlucHV0LnN0ZXBEb3duKCk7IH07IGlzICIw
IgogUm91bmRpbmcKIFBBU1Mgc3RlcFVwKCI1LjAwNSIsICIwLjAwNSIsICIiLCAyKSBpcyAiNS4w
MTUiCiBQQVNTIHN0ZXBVcCgiNS4wMDUiLCAiMC4wMDUiLCAiIiwgMTEpIGlzICI1LjA2IgpAQCAt
MjY3LDYgKzI3Nyw3IEBAIFBBU1Mgc3RlcERvd24oIjIwOjEzIiwgImFueSIsIG51bGwpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPCiBPdmVyZmxvdy91bmRlcmZs
b3cKIFBBU1Mgc3RlcFVwKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNT
IHN0ZXBEb3duKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHN0ZXBE
b3duRnJvbVJlbmRlcmVyKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpIGlzICIwMDow
MDowMC4wMDAiCiBQQVNTIHN0ZXBVcCgiMjA6MTMiLCAiMSIsICIyMDoxMyIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNTIHN0
ZXBEb3duKCIyMDoxMyIsICIxIiwgIjIwOjEzIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZB
TElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcFVwKCIyMzo1OSIsIG51
bGwsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBF
eGNlcHRpb24gMTEuCkBAIC0yOTYsNiArMzA3LDcgQEAgUEFTUyBzdGVwRG93bigiMjAxMC1XMDIi
LCAiYW55IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjoK
IE92ZXJmbG93L3VuZGVyZmxvdwogUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwgIjMuNDAyODIzNDZl
KzM4IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMS4KIFBBU1Mgc3RlcERvd24oIjIwMTAtVzAyIiwgIjMuNDAyODIzNDZlKzM4
IiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4
Y2VwdGlvbiAxMS4KK1BBU1Mgc3RlcERvd25Gcm9tUmVuZGVyZXIoIjIwMTAtVzAyIiwgIjMuNDAy
ODIzNDZlKzM4IiwgbnVsbCkgaXMgIjE5NzAtVzAxIgogUEFTUyBzdGVwVXAoIjIwMTAtVzAyIiwg
IjEiLCAiMjAxMC1XMDIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJS
OiBET00gRXhjZXB0aW9uIDExLgogUEFTUyBzdGVwRG93bigiMjAxMC1XMDIiLCAiMSIsICIyMDEw
LVcwMiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNl
cHRpb24gMTEuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRl
c3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2Ny
aXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi5qcwppbmRleCAxYmJjOTc4MjBkNzgzMzg5
ZDM5ZGQ3NzQyNjVlNGE5M2UzYjM5ODUzLi5lZWZjMTc0ODUzODVlZTJmMTM0YjI1ZTNiZTU5OGU5
YmQwNWQ3YmJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24uanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9z
Y3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLmpzCkBAIC00OSw2ICs0OSwzMiBAQCBm
dW5jdGlvbiBzdGVwRG93bkV4cGxpY2l0Qm91bmRzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSwgc3Rl
cENvdW50KSB7CiAgICAgcmV0dXJuIGlucHV0LnZhbHVlOwogfQogCitmdW5jdGlvbiBzZW5kS2V5
KGtleU5hbWUpIHsKKyAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnS2V5Ym9h
cmRFdmVudCcpOworICAgIGV2ZW50LmluaXRLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgdHJ1ZSwg
dHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIGtleU5hbWUpOworICAgIGlucHV0LmRpc3BhdGNo
RXZlbnQoZXZlbnQpOworfQorCitmdW5jdGlvbiBzdGVwVXBGcm9tUmVuZGVyZXIodmFsdWUsIHN0
ZXAsIG1heCwgb3B0aW9uYWxTdGVwQ291bnQpIHsKKyAgICBzZXRJbnB1dEF0dHJpYnV0ZXMobnVs
bCwgbWF4LCBzdGVwLCB2YWx1ZSk7CisgICAgaWYgKHR5cGVvZiBvcHRpb25hbFN0ZXBDb3VudCAh
PT0gJ3VuZGVmaW5lZCcpCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3B0aW9uYWxTdGVw
Q291bnQ7IGkrKykKKyAgICAgICAgICAgIHNlbmRLZXkoJ1VwJyk7CisgICAgZWxzZQorICAgICAg
ICBzZW5kS2V5KCdVcCcpOworICAgIHJldHVybiBpbnB1dC52YWx1ZTsKK30KKworZnVuY3Rpb24g
c3RlcERvd25Gcm9tUmVuZGVyZXIodmFsdWUsIHN0ZXAsIG1pbiwgb3B0aW9uYWxTdGVwQ291bnQp
IHsKKyAgICBzZXRJbnB1dEF0dHJpYnV0ZXMobWluLCBudWxsLCBzdGVwLCB2YWx1ZSk7CisgICAg
aWYgKHR5cGVvZiBvcHRpb25hbFN0ZXBDb3VudCAhPT0gJ3VuZGVmaW5lZCcpCisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgb3B0aW9uYWxTdGVwQ291bnQ7IGkrKykKKyAgICAgICAgICAgIHNl
bmRLZXkoJ0Rvd24nKTsKKyAgICBlbHNlCisgICAgICAgIHNlbmRLZXkoJ0Rvd24nKTsKKyAgICBy
ZXR1cm4gaW5wdXQudmFsdWU7Cit9CisKIGRlYnVnKCdEYXRlIHR5cGUnKTsKIGlucHV0LnR5cGUg
PSAnZGF0ZSc7CiBkZWJ1ZygnSW52YWxpZCB2YWx1ZScpOwpAQCAtNzQsNiArMTAwLDcgQEAgc2hv
dWxkVGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwgImFueSIsIG51bGwpJywgaW52YWxpZFN0
YXRlRXJyKTsKIGRlYnVnKCdPdmVyZmxvdy91bmRlcmZsb3cnKTsKIHNob3VsZFRocm93KCdzdGVw
VXAoIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsIGludmFsaWRTdGF0ZUVy
cik7CiBzaG91bGRUaHJvdygnc3RlcERvd24oIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgi
LCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7CitzaG91bGRCZSgnc3RlcERvd25Gcm9tUmVuZGVy
ZXIoIjIwMTAtMDItMTAiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC0wMS0wMSIn
KTsKIHNob3VsZFRocm93KCdzdGVwVXAoIjIwMTAtMDItMTAiLCAiMSIsICIyMDEwLTAyLTEwIikn
LCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyLTEwIiwg
IjEiLCAiMjAxMC0wMi0xMCIpJywgaW52YWxpZFN0YXRlRXJyKTsKIApAQCAtMTAzLDYgKzEzMCw3
IEBAIHNob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC0wMi0xMFQyMDoxM1oiLCAiYW55IiwgbnVs
bCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycpOwogc2hv
dWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC0wMi0xMFQyMDoxM1oiLCAiMy40MDI4MjM0NmUrMzgiLCBu
dWxsKScsIGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcERvd24oIjIwMTAtMDIt
MTBUMjA6MTNaIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwor
c2hvdWxkQmUoJ3N0ZXBEb3duRnJvbVJlbmRlcmVyKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIzLjQw
MjgyMzQ2ZSszOCIsIG51bGwpJywgJyIxOTcwLTAxLTAxVDAwOjAwOjAwLjAwMFoiJyk7CiBzaG91
bGRUaHJvdygnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6
MTNaIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAy
LTEwVDIwOjEzWiIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTNaIiknLCBpbnZhbGlkU3RhdGVFcnIp
OwogCkBAIC0xMzIsNiArMTYwLDcgQEAgc2hvdWxkVGhyb3coJ3N0ZXBEb3duKCIyMDEwLTAyLTEw
VDIwOjEzIiwgImFueSIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKIGRlYnVnKCdPdmVyZmxv
dy91bmRlcmZsb3cnKTsKIHNob3VsZFRocm93KCdzdGVwVXAoIjIwMTAtMDItMTBUMjA6MTMiLCAi
My40MDI4MjM0NmUrMzgiLCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRUaHJvdygn
c3RlcERvd24oIjIwMTAtMDItMTBUMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsIGlu
dmFsaWRTdGF0ZUVycik7CitzaG91bGRCZSgnc3RlcERvd25Gcm9tUmVuZGVyZXIoIjIwMTAtMDIt
MTBUMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScsICciMTk3MC0wMS0wMVQwMDowMDow
MC4wMDAiJyk7CiBzaG91bGRUaHJvdygnc3RlcFVwKCIyMDEwLTAyLTEwVDIwOjEzIiwgIjEiLCAi
MjAxMC0wMi0xMFQyMDoxMyIpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3VsZFRocm93KCdzdGVw
RG93bigiMjAxMC0wMi0xMFQyMDoxMyIsICIxIiwgIjIwMTAtMDItMTBUMjA6MTMiKScsIGludmFs
aWRTdGF0ZUVycik7CiAKQEAgLTE2MSw2ICsxOTAsNyBAQCBzaG91bGRUaHJvdygnc3RlcERvd24o
IjIwMTAtMDIiLCAiYW55IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJm
bG93L3VuZGVyZmxvdycpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC0wMiIsICIzLjQwMjgy
MzQ2ZSszOCIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNob3VsZFRocm93KCdzdGVwRG93
bigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsK
K3Nob3VsZEJlKCdzdGVwRG93bkZyb21SZW5kZXJlcigiMjAxMC0wMiIsICIzLjQwMjgyMzQ2ZSsz
OCIsIG51bGwpJywgJyIxOTcwLTAxIicpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjAxMC0wMiIs
ICIxIiwgIjIwMTAtMDIiKScsIGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcERv
d24oIjIwMTAtMDIiLCAiMSIsICIyMDEwLTAyIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogCkBAIC0y
MDYsMTIgKzIzNiwxNyBAQCBzaG91bGRUaHJvdygnc3RlcFVwKCItMSIsICIxIiwgIjAiLCAyKScs
IGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIi0xIicpOwogc2hv
dWxkVGhyb3coJ3N0ZXBVcCgiMSIsICIzLjQwMjgyMzQ2ZSszOCIsICIiLCAyKScsIGludmFsaWRT
dGF0ZUVycik7CiBkZWJ1Zygnc3RlcERvd24oKS9zdGVwVXAoKSBmb3Igc3RlcE1pc21hdGNoIHZh
bHVlcycpOwotc2hvdWxkQmUoJ3N0ZXBVcCgiMSIsICIyIiwgIiIpJywgJyI0IicpOwotc2hvdWxk
QmUoJ2lucHV0LnN0ZXBEb3duKCk7IGlucHV0LnZhbHVlJywgJyIyIicpOwotc2hvdWxkQmUoJ2lu
cHV0Lm1pbiA9ICIwIjsgc3RlcFVwKCI5IiwgIjEwIiwgIiIsIDkpJywgJyIxMDAiJyk7Ci1zaG91
bGRCZSgnc3RlcERvd24oIjE5IiwgIjEwIiwgIjAiKScsICciMTAiJyk7Ci0vLyB2YWx1ZSArIHN0
ZXAgaXMgPD0gbWF4LCBidXQgcm91bmRlZCByZXN1bHQgd291bGQgYmUgPiBtYXguCi1zaG91bGRU
aHJvdygnc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpJywgaW52YWxpZFN0YXRlRXJyKTsKK3Nob3Vs
ZEJlKCdzdGVwVXAoIjEiLCAiMiIsICIiKScsICciMyInKTsKK3Nob3VsZEJlKCdpbnB1dC5zdGVw
RG93bigpOyBpbnB1dC52YWx1ZScsICciMSInKTsKK3Nob3VsZEJlKCdpbnB1dC5taW4gPSAiMCI7
IHN0ZXBVcCgiOSIsICIxMCIsICIiLCA5KScsICciOTkiJyk7CitzaG91bGRCZSgnc3RlcERvd24o
IjE5IiwgIjEwIiwgIjAiKScsICciOSInKTsKK3Nob3VsZEJlKCdzdGVwVXAoIjg5IiwgIjEwIiwg
Ijk5IiknLCAnIjk5IicpOworZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZnJvbSByZW5kZXJl
ciBmb3Igc3RlcE1pc21hdGNoIHZhbHVlcycpOworc2hvdWxkQmUoJ3N0ZXBVcEZyb21SZW5kZXJl
cigiMSIsICIyIiwgIiIpJywgJyIyIicpOworc2hvdWxkQmUoJ3NlbmRLZXkoIkRvd24iKTsgaW5w
dXQudmFsdWUnLCAnIjAiJyk7CitzaG91bGRCZSgnaW5wdXQubWluID0gIjAiOyBzdGVwVXBGcm9t
UmVuZGVyZXIoIjkiLCAiMTAiLCAiIiwgOSknLCAnIjkwIicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
RnJvbVJlbmRlcmVyKCIxOSIsICIxMCIsICIwIiknLCAnIjEwIicpOworc2hvdWxkQmUoJ3N0ZXBV
cEZyb21SZW5kZXJlcigiODkiLCAiMTAiLCAiOTkiKScsICciOTAiJyk7CiBkZWJ1ZygnSHVnZSB2
YWx1ZSBhbmQgc21hbGwgc3RlcCcpOwogc2hvdWxkQmUoJ2lucHV0Lm1pbiA9ICIiOyBzdGVwVXAo
IjFlKzM4IiwgIjEiLCAiIiwgOTk5OTk5KScsICciMWUrMzgiJyk7CiBzaG91bGRCZSgnaW5wdXQu
bWF4ID0gIiI7IHN0ZXBEb3duKCIxZSszOCIsICIxIiwgIiIsIDk5OTk5OSknLCAnIjFlKzM4Iicp
OwpAQCAtMzI3LDYgKzM2Miw3IEBAIHNob3VsZFRocm93KCdzdGVwRG93bigiMjA6MTMiLCAiYW55
IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOwogZGVidWcoJ092ZXJmbG93L3VuZGVyZmxvdycp
Owogc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjA6MTMiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScs
IGludmFsaWRTdGF0ZUVycik7CiBzaG91bGRUaHJvdygnc3RlcERvd24oIjIwOjEzIiwgIjMuNDAy
ODIzNDZlKzM4IiwgbnVsbCknLCBpbnZhbGlkU3RhdGVFcnIpOworc2hvdWxkQmUoJ3N0ZXBEb3du
RnJvbVJlbmRlcmVyKCIyMDoxMyIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgJyIwMDowMDow
MC4wMDAiJyk7CiBzaG91bGRUaHJvdygnc3RlcFVwKCIyMDoxMyIsICIxIiwgIjIwOjEzIiknLCBp
bnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhyb3coJ3N0ZXBEb3duKCIyMDoxMyIsICIxIiwgIjIw
OjEzIiknLCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkVGhyb3coJ3N0ZXBVcCgiMjM6NTkiLCBu
dWxsLCBudWxsKScsIGludmFsaWRTdGF0ZUVycik7CkBAIC0zNTgsNiArMzk0LDcgQEAgc2hvdWxk
VGhyb3coJ3N0ZXBEb3duKCIyMDEwLVcwMiIsICJhbnkiLCBudWxsKScsIGludmFsaWRTdGF0ZUVy
cik7CiBkZWJ1ZygnT3ZlcmZsb3cvdW5kZXJmbG93Jyk7CiBzaG91bGRUaHJvdygnc3RlcFVwKCIy
MDEwLVcwMiIsICIzLjQwMjgyMzQ2ZSszOCIsIG51bGwpJywgaW52YWxpZFN0YXRlRXJyKTsKIHNo
b3VsZFRocm93KCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMy40MDI4MjM0NmUrMzgiLCBudWxsKScs
IGludmFsaWRTdGF0ZUVycik7CitzaG91bGRCZSgnc3RlcERvd25Gcm9tUmVuZGVyZXIoIjIwMTAt
VzAyIiwgIjMuNDAyODIzNDZlKzM4IiwgbnVsbCknLCAnIjE5NzAtVzAxIicpOwogc2hvdWxkVGhy
b3coJ3N0ZXBVcCgiMjAxMC1XMDIiLCAiMSIsICIyMDEwLVcwMiIpJywgaW52YWxpZFN0YXRlRXJy
KTsKIHNob3VsZFRocm93KCdzdGVwRG93bigiMjAxMC1XMDIiLCAiMSIsICIyMDEwLVcwMiIpJywg
aW52YWxpZFN0YXRlRXJyKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAyZmEwZWRkNzkzZTJkMTAxZTdkMTRkYzk5NGY0NGFjNjdlNDA5
MDRiLi5hYWY2OGIxYTA0ZDhhZmQ0MDY4MTJiNDkyZmUzMzhjMTlmZmEzNzVkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEwLTExLTE1ICBEYWkgTWlrdXJ1YmUgIDxkbWlrdXJ1YmVAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzdGVwVXAvc3Rl
cERvd24gZm9yIHZhbHVlcyBpbiBzdGVwLW1pc21hdGNoaW5nIHN0YXRlIGZvciBpbnB1dCBlbGVt
ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg5
NzYKKworICAgICAgICBGaXhlZCBiZWhhdmlvcnMgZm9yIGFscmVhZHkgc3RlcC1taXNtYXRjaGVk
IHZhbHVlcy4KKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjphcHBseVN0ZXApOgorICAgICAgICAqIGh0bWwv
SFRNTElucHV0RWxlbWVudC5oOgorCiAyMDEwLTExLTE0ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hv
aUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggNTQwNjUyNDc1NjMxMDc3MzlkMGY5MTk3MThm
ZTUxMDg5MzQ3ZjgxNy4uNGY5NWE5MTI0NDI3Mjg3NDJlZWVjMzQyOTVhODk5NThjNzc2NWRjMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtMjk3LDIxICsyOTcsMzEgQEAgYm9vbCBI
VE1MSW5wdXRFbGVtZW50OjpnZXRBbGxvd2VkVmFsdWVTdGVwV2l0aERlY2ltYWxQbGFjZXMoZG91
YmxlKiBzdGVwLCB1bnNpZ24KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBIVE1MSW5wdXRF
bGVtZW50OjphcHBseVN0ZXAoZG91YmxlIGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQg
SFRNTElucHV0RWxlbWVudDo6YXBwbHlTdGVwKGRvdWJsZSBjb3VudCwgU3RlcHdpc2VBZGp1c3Rt
ZW50IGFkanVzdG1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGRvdWJsZSBzdGVwOwot
ICAgIHVuc2lnbmVkIHN0ZXBEZWNpbWFsUGxhY2VzOworICAgIHVuc2lnbmVkIHN0ZXBEZWNpbWFs
UGxhY2VzLCBjdXJyZW50RGVjaW1hbFBsYWNlczsKICAgICBpZiAoIWdldEFsbG93ZWRWYWx1ZVN0
ZXBXaXRoRGVjaW1hbFBsYWNlcygmc3RlcCwgJnN0ZXBEZWNpbWFsUGxhY2VzKSkgewogICAgICAg
ICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNv
bnN0IGRvdWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKLSAg
ICBkb3VibGUgY3VycmVudCA9IG1faW5wdXRUeXBlLT5wYXJzZVRvRG91YmxlKHZhbHVlKCksIG5h
bik7CisgICAgZG91YmxlIGN1cnJlbnQgPSBtX2lucHV0VHlwZS0+cGFyc2VUb0RvdWJsZVdpdGhE
ZWNpbWFsUGxhY2VzKHZhbHVlKCksIG5hbiwgJmN1cnJlbnREZWNpbWFsUGxhY2VzKTsKICAgICBp
ZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7
CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgZG91YmxlIG5ld1ZhbHVlID0gY3VycmVudCAr
IHN0ZXAgKiBjb3VudDsKKyAgICB1bnNpZ25lZCBiYXNlRGVjaW1hbFBsYWNlczsKKyAgICBkb3Vi
bGUgYmFzZSA9IG1faW5wdXRUeXBlLT5zdGVwQmFzZVdpdGhEZWNpbWFsUGxhY2VzKCZiYXNlRGVj
aW1hbFBsYWNlcyk7CisgICAgYmFzZURlY2ltYWxQbGFjZXMgPSBtaW4oYmFzZURlY2ltYWxQbGFj
ZXMsIDE2dSk7CisgICAgZG91YmxlIG5ld1ZhbHVlID0gY3VycmVudDsKKyAgICBpZiAoYWRqdXN0
bWVudCA9PSBTVEVQV0lTRUFESlVTVE1FTlQgJiYgc3RlcE1pc21hdGNoKHZhbHVlKCkpKSB7Cisg
ICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICBuZXdWYWx1ZSA9IGJhc2UgKyBjZWls
KChuZXdWYWx1ZSAtIGJhc2UpIC8gc3RlcCkgKiBzdGVwOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBuZXdWYWx1ZSA9IGJhc2UgKyBmbG9vcigobmV3VmFsdWUgLSBiYXNlKSAvIHN0ZXApICog
c3RlcDsKKyAgICB9CisgICAgbmV3VmFsdWUgPSBuZXdWYWx1ZSArIHN0ZXAgKiBjb3VudDsKICAg
ICBpZiAoaXNpbmYobmV3VmFsdWUpKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7
CiAgICAgICAgIHJldHVybjsKQEAgLTMyMywxMiArMzMzLDE0IEBAIHZvaWQgSFRNTElucHV0RWxl
bWVudDo6YXBwbHlTdGVwKGRvdWJsZSBjb3VudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgfQog
ICAgIGlmIChuZXdWYWx1ZSA8IG1faW5wdXRUeXBlLT5taW5pbXVtKCkpCiAgICAgICAgIG5ld1Zh
bHVlID0gbV9pbnB1dFR5cGUtPm1pbmltdW0oKTsKLSAgICB1bnNpZ25lZCBiYXNlRGVjaW1hbFBs
YWNlczsKLSAgICBkb3VibGUgYmFzZSA9IG1faW5wdXRUeXBlLT5zdGVwQmFzZVdpdGhEZWNpbWFs
UGxhY2VzKCZiYXNlRGVjaW1hbFBsYWNlcyk7Ci0gICAgYmFzZURlY2ltYWxQbGFjZXMgPSBtaW4o
YmFzZURlY2ltYWxQbGFjZXMsIDE2dSk7CiAgICAgaWYgKG5ld1ZhbHVlIDwgcG93KDEwLjAsIDIx
LjApKSB7Ci0gICAgICAgIGRvdWJsZSBzY2FsZSA9IHBvdygxMC4wLCBzdGF0aWNfY2FzdDxkb3Vi
bGU+KG1heChzdGVwRGVjaW1hbFBsYWNlcywgYmFzZURlY2ltYWxQbGFjZXMpKSk7Ci0gICAgICAg
IG5ld1ZhbHVlID0gcm91bmQoKGJhc2UgKyByb3VuZCgobmV3VmFsdWUgLSBiYXNlKSAvIHN0ZXAp
ICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKyAgICAgICAgaWYgKGFkanVzdG1lbnQgPT0gU1RF
UFdJU0VBREpVU1RNRU5UKSB7CisgICAgICAgICAgICBkb3VibGUgc2NhbGUgPSBwb3coMTAuMCwg
c3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGJhc2VEZWNpbWFsUGxh
Y2VzKSkpOworICAgICAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSArIHJvdW5kKChuZXdW
YWx1ZSAtIGJhc2UpIC8gc3RlcCkgKiBzdGVwKSAqIHNjYWxlKSAvIHNjYWxlOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgZG91YmxlIHNjYWxlID0gcG93KDEwLjAsIHN0YXRpY19jYXN0
PGRvdWJsZT4obWF4KHN0ZXBEZWNpbWFsUGxhY2VzLCBjdXJyZW50RGVjaW1hbFBsYWNlcykpKTsK
KyAgICAgICAgICAgIG5ld1ZhbHVlID0gcm91bmQobmV3VmFsdWUgKiBzY2FsZSkgLyBzY2FsZTsK
KyAgICAgICAgfQogICAgIH0KICAgICBpZiAobmV3VmFsdWUgLSBtX2lucHV0VHlwZS0+bWF4aW11
bSgpID4gYWNjZXB0YWJsZUVycm9yKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7
CkBAIC0zNDEsMTIgKzM1MywxMiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcChk
b3VibGUgY291bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6
OnN0ZXBVcChpbnQgbiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgYXBwbHlTdGVwKG4sIGVj
KTsKKyAgICBhcHBseVN0ZXAobiwgTk9BREpVU1RNRU5ULCBlYyk7CiB9CiAKIHZvaWQgSFRNTElu
cHV0RWxlbWVudDo6c3RlcERvd24oaW50IG4sIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIGFw
cGx5U3RlcCgtbiwgZWMpOworICAgIGFwcGx5U3RlcCgtbiwgTk9BREpVU1RNRU5ULCBlYyk7CiB9
CiAKIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2
ZW50KiBldmVudCkgY29uc3QKQEAgLTE5NDksNyArMTk2MSw3IEBAIHZvaWQgSFRNTElucHV0RWxl
bWVudDo6c3RlcFVwRnJvbVJlbmRlcmVyKGludCBuKQogICAgICAgICBzZXRWYWx1ZShtX2lucHV0
VHlwZS0+c2VyaWFsaXplKG4gPiAwID8gbV9pbnB1dFR5cGUtPm1pbmltdW0oKSA6IG1faW5wdXRU
eXBlLT5tYXhpbXVtKCkpKTsKICAgICBlbHNlIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsK
LSAgICAgICAgc3RlcFVwKG4sIGVjKTsKKyAgICAgICAgYXBwbHlTdGVwKG4sIFNURVBXSVNFQURK
VVNUTUVOVCwgZWMpOwogICAgIH0KIAogICAgIGlmIChjdXJyZW50U3RyaW5nVmFsdWUgIT0gdmFs
dWUoKSkgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggMGFjZjIxZTc1ZThmNzFiZjc5NjQ2
NWM0ODFmZTExOWM0NWMxN2YwZi4uZmQyOGQ4MTMzMjEyYzBjNjg4N2EzNTIzZjQ4MTM0NzRhYWQ3
NmIzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0yNDMsNiArMjQzLDggQEAgcHJpdmF0
ZToKIAogICAgIGVudW0gQXV0b0NvbXBsZXRlU2V0dGluZyB7IFVuaW5pdGlhbGl6ZWQsIE9uLCBP
ZmYgfTsKIAorICAgIGVudW0gU3RlcHdpc2VBZGp1c3RtZW50IHsgTk9BREpVU1RNRU5ULCBTVEVQ
V0lTRUFESlVTVE1FTlQgfTsKKwogICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIEhUTUxJbnB1
dEVsZW1lbnQ6OkRlcHJlY2F0ZWRJbnB1dFR5cGUsIENhc2VGb2xkaW5nSGFzaD4gSW5wdXRUeXBl
TWFwOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZU1hcD4gY3JlYXRlVHlwZU1hcCgp
OwogICAgIERlcHJlY2F0ZWRJbnB1dFR5cGUgZGVwcmVjYXRlZElucHV0VHlwZSgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PERlcHJlY2F0ZWRJbnB1dFR5cGU+KG1fZGVwcmVjYXRlZFR5cGVO
dW1iZXIpOyB9CkBAIC0zNDAsNyArMzQyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhhbmRsZUtl
eUV2ZW50Rm9yUmFuZ2UoS2V5Ym9hcmRFdmVudCopOwogICAgIFBhc3NSZWZQdHI8SFRNTEZvcm1F
bGVtZW50PiBjcmVhdGVUZW1wb3JhcnlGb3JtRm9ySXNJbmRleCgpOwogICAgIC8vIEhlbHBlciBm
b3Igc3RlcFVwKCkvc3RlcERvd24oKS4gIEFkZHMgc3RlcCB2YWx1ZSAqIGNvdW50IHRvIHRoZSBj
dXJyZW50IHZhbHVlLgotICAgIHZvaWQgYXBwbHlTdGVwKGRvdWJsZSBjb3VudCwgRXhjZXB0aW9u
Q29kZSYpOworICAgIHZvaWQgYXBwbHlTdGVwKGRvdWJsZSBjb3VudCwgU3RlcHdpc2VBZGp1c3Rt
ZW50LCBFeGNlcHRpb25Db2RlJik7CiAKICNpZiBFTkFCTEUoREFUQUxJU1QpCiAgICAgSFRNTERh
dGFMaXN0RWxlbWVudCogZGF0YUxpc3QoKSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74186</attachid>
            <date>2010-11-17 17:56:02 -0800</date>
            <delta_ts>2010-11-17 18:38:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48976-20101118105600.patch</filename>
            <type>text/plain</type>
            <size>5986</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5NWUyNjc1ZjBhNTYwYjUwZmY1OWNlNmI2MjAzOWIzOWQwNTljM2Q5Li40N2MzYjY1
M2FjMmJkZDg3ZDZkZmJjNzA2OWJlOWEyMDYzMmM2YWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTEtMTggIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN0ZXBVcC9zdGVwRG93
biBmb3IgdmFsdWVzIGluIHN0ZXAtbWlzbWF0Y2hpbmcgc3RhdGUgZm9yIGlucHV0IGVsZW1lbnRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODk3Ngor
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93
bi5qczoKKwogMjAxMC0xMS0xNCAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIENocm9taXVtIHJlYmFzZWxpbmUgYW5kIGV4cGVjdGF0
aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0
ZXB1cC1zdGVwZG93bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1leHBlY3RlZC50eHQKaW5kZXggMWRlZDg2ZGQwNzYzZmVmZGRhNTQ2
ZDNkZDhiNmE5NDQzY2Y4ODQ3MS4uNDBmNzA0MTU0OGI2NzhmMzM5YTUzMTNmZjZlMDU2NDYyN2Ez
NDA5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3Rl
cGRvd24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3Rl
cHVwLXN0ZXBkb3duLWV4cGVjdGVkLnR4dApAQCAtMTUxLDExICsxNTEsMTEgQEAgUEFTUyBzdGVw
VXAoIi0xIiwgIjEiLCAiMCIsIDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFU
RV9FUlI6IERPTSBFeGMKIFBBU1MgaW5wdXQudmFsdWUgaXMgIi0xIgogUEFTUyBzdGVwVXAoIjEi
LCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElE
X1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIHN0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0
ZXBNaXNtYXRjaCB2YWx1ZXMKLVBBU1Mgc3RlcFVwKCIxIiwgIjIiLCAiIikgaXMgIjQiCi1QQVNT
IGlucHV0LnN0ZXBEb3duKCk7IGlucHV0LnZhbHVlIGlzICIyIgotUEFTUyBpbnB1dC5taW4gPSAi
MCI7IHN0ZXBVcCgiOSIsICIxMCIsICIiLCA5KSBpcyAiMTAwIgotUEFTUyBzdGVwRG93bigiMTki
LCAiMTAiLCAiMCIpIGlzICIxMCIKLVBBU1Mgc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCitQ
QVNTIHN0ZXBVcCgiMSIsICIyIiwgIiIpIGlzICIzIgorUEFTUyBpbnB1dC5zdGVwRG93bigpOyBp
bnB1dC52YWx1ZSBpcyAiMSIKK1BBU1MgaW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAi
LCAiIiwgOSkgaXMgIjk5IgorUEFTUyBzdGVwRG93bigiMTkiLCAiMTAiLCAiMCIpIGlzICI5Igor
UEFTUyBzdGVwVXAoIjg5IiwgIjEwIiwgIjk5IikgaXMgIjk5IgogSHVnZSB2YWx1ZSBhbmQgc21h
bGwgc3RlcAogUEFTUyBpbnB1dC5taW4gPSAiIjsgc3RlcFVwKCIxZSszOCIsICIxIiwgIiIsIDk5
OTk5OSkgaXMgIjFlKzM4IgogUEFTUyBpbnB1dC5tYXggPSAiIjsgc3RlcERvd24oIjFlKzM4Iiwg
IjEiLCAiIiwgOTk5OTk5KSBpcyAiMWUrMzgiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24uanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24uanMKaW5kZXgg
MWJiYzk3ODIwZDc4MzM4OWQzOWRkNzc0MjY1ZTRhOTNlM2IzOTg1My4uZjYwNDM2NTFmNWMzYTA1
YjAzMmI5MTQ4ZjZiYmI5ODVhYWM2OTdkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLmpzCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi5qcwpAQCAt
MjA2LDEyICsyMDYsMTEgQEAgc2hvdWxkVGhyb3coJ3N0ZXBVcCgiLTEiLCAiMSIsICIwIiwgMikn
LCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyItMSInKTsKIHNo
b3VsZFRocm93KCdzdGVwVXAoIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMiknLCBpbnZhbGlk
U3RhdGVFcnIpOwogZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2
YWx1ZXMnKTsKLXNob3VsZEJlKCdzdGVwVXAoIjEiLCAiMiIsICIiKScsICciNCInKTsKLXNob3Vs
ZEJlKCdpbnB1dC5zdGVwRG93bigpOyBpbnB1dC52YWx1ZScsICciMiInKTsKLXNob3VsZEJlKCdp
bnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiOSIsICIxMCIsICIiLCA5KScsICciMTAwIicpOwotc2hv
dWxkQmUoJ3N0ZXBEb3duKCIxOSIsICIxMCIsICIwIiknLCAnIjEwIicpOwotLy8gdmFsdWUgKyBz
dGVwIGlzIDw9IG1heCwgYnV0IHJvdW5kZWQgcmVzdWx0IHdvdWxkIGJlID4gbWF4Lgotc2hvdWxk
VGhyb3coJ3N0ZXBVcCgiODkiLCAiMTAiLCAiOTkiKScsIGludmFsaWRTdGF0ZUVycik7CitzaG91
bGRCZSgnc3RlcFVwKCIxIiwgIjIiLCAiIiknLCAnIjMiJyk7CitzaG91bGRCZSgnaW5wdXQuc3Rl
cERvd24oKTsgaW5wdXQudmFsdWUnLCAnIjEiJyk7CitzaG91bGRCZSgnaW5wdXQubWluID0gIjAi
OyBzdGVwVXAoIjkiLCAiMTAiLCAiIiwgOSknLCAnIjk5IicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIxOSIsICIxMCIsICIwIiknLCAnIjkiJyk7CitzaG91bGRCZSgnc3RlcFVwKCI4OSIsICIxMCIs
ICI5OSIpJywgJyI5OSInKTsKIGRlYnVnKCdIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwJyk7CiBz
aG91bGRCZSgnaW5wdXQubWluID0gIiI7IHN0ZXBVcCgiMWUrMzgiLCAiMSIsICIiLCA5OTk5OTkp
JywgJyIxZSszOCInKTsKIHNob3VsZEJlKCdpbnB1dC5tYXggPSAiIjsgc3RlcERvd24oIjFlKzM4
IiwgIjEiLCAiIiwgOTk5OTk5KScsICciMWUrMzgiJyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0No
YW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJmYTBlZGQ3OTNlMmQxMDFlN2QxNGRj
OTk0ZjQ0YWM2N2U0MDkwNGIuLjQ2YWUyMjI0NzcwODFiZWFjOGE2MjU5OGZkODMxZjRiY2NlMjAx
MzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTEtMTggIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBn
b29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIHN0ZXBVcC9zdGVwRG93biBmb3IgdmFsdWVzIGluIHN0ZXAtbWlzbWF0Y2hpbmcgc3RhdGUg
Zm9yIGlucHV0IGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00ODk3NgorCisgICAgICAgIEZpeGVkIGJlaGF2aW9ycyBmb3IgYWxyZWFkeSBz
dGVwLW1pc21hdGNoZWQgdmFsdWVzLgorCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcCk6CisK
IDIwMTAtMTEtMTQgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCA1NDA2NTI0NzU2MzEwNzczOWQwZjkxOTcxOGZlNTEwODkzNDdmODE3Li4wNjExMmIz
YzE5NGRhZTU3NjFkNjBiOTIyMTk3OTBmM2IxOTNjODM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCkBAIC0zMDAsMTMgKzMwMCwxMyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmdldEFs
bG93ZWRWYWx1ZVN0ZXBXaXRoRGVjaW1hbFBsYWNlcyhkb3VibGUqIHN0ZXAsIHVuc2lnbgogdm9p
ZCBIVE1MSW5wdXRFbGVtZW50OjphcHBseVN0ZXAoZG91YmxlIGNvdW50LCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKICAgICBkb3VibGUgc3RlcDsKLSAgICB1bnNpZ25lZCBzdGVwRGVjaW1hbFBsYWNl
czsKKyAgICB1bnNpZ25lZCBzdGVwRGVjaW1hbFBsYWNlcywgY3VycmVudERlY2ltYWxQbGFjZXM7
CiAgICAgaWYgKCFnZXRBbGxvd2VkVmFsdWVTdGVwV2l0aERlY2ltYWxQbGFjZXMoJnN0ZXAsICZz
dGVwRGVjaW1hbFBsYWNlcykpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1p
dHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7Ci0gICAgZG91YmxlIGN1cnJlbnQgPSBtX2lucHV0VHlw
ZS0+cGFyc2VUb0RvdWJsZSh2YWx1ZSgpLCBuYW4pOworICAgIGRvdWJsZSBjdXJyZW50ID0gbV9p
bnB1dFR5cGUtPnBhcnNlVG9Eb3VibGVXaXRoRGVjaW1hbFBsYWNlcyh2YWx1ZSgpLCBuYW4sICZj
dXJyZW50RGVjaW1hbFBsYWNlcyk7CiAgICAgaWYgKCFpc2Zpbml0ZShjdXJyZW50KSkgewogICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CkBAIC0zMjcsOCAr
MzI3LDEzIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6YXBwbHlTdGVwKGRvdWJsZSBjb3VudCwg
RXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgZG91YmxlIGJhc2UgPSBtX2lucHV0VHlwZS0+c3RlcEJh
c2VXaXRoRGVjaW1hbFBsYWNlcygmYmFzZURlY2ltYWxQbGFjZXMpOwogICAgIGJhc2VEZWNpbWFs
UGxhY2VzID0gbWluKGJhc2VEZWNpbWFsUGxhY2VzLCAxNnUpOwogICAgIGlmIChuZXdWYWx1ZSA8
IHBvdygxMC4wLCAyMS4wKSkgewotICAgICAgICBkb3VibGUgc2NhbGUgPSBwb3coMTAuMCwgc3Rh
dGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGJhc2VEZWNpbWFsUGxhY2Vz
KSkpOwotICAgICAgICBuZXdWYWx1ZSA9IHJvdW5kKChiYXNlICsgcm91bmQoKG5ld1ZhbHVlIC0g
YmFzZSkgLyBzdGVwKSAqIHN0ZXApICogc2NhbGUpIC8gc2NhbGU7CisgICAgICBpZiAoc3RlcE1p
c21hdGNoKHZhbHVlKCkpKSB7CisgICAgICAgICAgICBkb3VibGUgc2NhbGUgPSBwb3coMTAuMCwg
c3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGN1cnJlbnREZWNpbWFs
UGxhY2VzKSkpOworICAgICAgICAgICAgbmV3VmFsdWUgPSByb3VuZChuZXdWYWx1ZSAqIHNjYWxl
KSAvIHNjYWxlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZG91YmxlIHNjYWxlID0g
cG93KDEwLjAsIHN0YXRpY19jYXN0PGRvdWJsZT4obWF4KHN0ZXBEZWNpbWFsUGxhY2VzLCBiYXNl
RGVjaW1hbFBsYWNlcykpKTsKKyAgICAgICAgICAgIG5ld1ZhbHVlID0gcm91bmQoKGJhc2UgKyBy
b3VuZCgobmV3VmFsdWUgLSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsK
KyAgICAgICAgfQogICAgIH0KICAgICBpZiAobmV3VmFsdWUgLSBtX2lucHV0VHlwZS0+bWF4aW11
bSgpID4gYWNjZXB0YWJsZUVycm9yKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74190</attachid>
            <date>2010-11-17 18:39:02 -0800</date>
            <delta_ts>2010-11-19 04:13:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48976-20101118113900.patch</filename>
            <type>text/plain</type>
            <size>6159</size>
            <attacher name="Dai Mikurube">dmikurube</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5NWUyNjc1ZjBhNTYwYjUwZmY1OWNlNmI2MjAzOWIzOWQwNTljM2Q5Li40N2MzYjY1
M2FjMmJkZDg3ZDZkZmJjNzA2OWJlOWEyMDYzMmM2YWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTEtMTggIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN0ZXBVcC9zdGVwRG93
biBmb3IgdmFsdWVzIGluIHN0ZXAtbWlzbWF0Y2hpbmcgc3RhdGUgZm9yIGlucHV0IGVsZW1lbnRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODk3Ngor
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3RlcGRvd24tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93
bi5qczoKKwogMjAxMC0xMS0xNCAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIENocm9taXVtIHJlYmFzZWxpbmUgYW5kIGV4cGVjdGF0
aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LXN0
ZXB1cC1zdGVwZG93bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0
LXN0ZXB1cC1zdGVwZG93bi1leHBlY3RlZC50eHQKaW5kZXggMWRlZDg2ZGQwNzYzZmVmZGRhNTQ2
ZDNkZDhiNmE5NDQzY2Y4ODQ3MS4uNDBmNzA0MTU0OGI2NzhmMzM5YTUzMTNmZjZlMDU2NDYyN2Ez
NDA5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1zdGVwdXAtc3Rl
cGRvd24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtc3Rl
cHVwLXN0ZXBkb3duLWV4cGVjdGVkLnR4dApAQCAtMTUxLDExICsxNTEsMTEgQEAgUEFTUyBzdGVw
VXAoIi0xIiwgIjEiLCAiMCIsIDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFU
RV9FUlI6IERPTSBFeGMKIFBBU1MgaW5wdXQudmFsdWUgaXMgIi0xIgogUEFTUyBzdGVwVXAoIjEi
LCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJTlZBTElE
X1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMS4KIHN0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0
ZXBNaXNtYXRjaCB2YWx1ZXMKLVBBU1Mgc3RlcFVwKCIxIiwgIjIiLCAiIikgaXMgIjQiCi1QQVNT
IGlucHV0LnN0ZXBEb3duKCk7IGlucHV0LnZhbHVlIGlzICIyIgotUEFTUyBpbnB1dC5taW4gPSAi
MCI7IHN0ZXBVcCgiOSIsICIxMCIsICIiLCA5KSBpcyAiMTAwIgotUEFTUyBzdGVwRG93bigiMTki
LCAiMTAiLCAiMCIpIGlzICIxMCIKLVBBU1Mgc3RlcFVwKCI4OSIsICIxMCIsICI5OSIpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEuCitQ
QVNTIHN0ZXBVcCgiMSIsICIyIiwgIiIpIGlzICIzIgorUEFTUyBpbnB1dC5zdGVwRG93bigpOyBp
bnB1dC52YWx1ZSBpcyAiMSIKK1BBU1MgaW5wdXQubWluID0gIjAiOyBzdGVwVXAoIjkiLCAiMTAi
LCAiIiwgOSkgaXMgIjk5IgorUEFTUyBzdGVwRG93bigiMTkiLCAiMTAiLCAiMCIpIGlzICI5Igor
UEFTUyBzdGVwVXAoIjg5IiwgIjEwIiwgIjk5IikgaXMgIjk5IgogSHVnZSB2YWx1ZSBhbmQgc21h
bGwgc3RlcAogUEFTUyBpbnB1dC5taW4gPSAiIjsgc3RlcFVwKCIxZSszOCIsICIxIiwgIiIsIDk5
OTk5OSkgaXMgIjFlKzM4IgogUEFTUyBpbnB1dC5tYXggPSAiIjsgc3RlcERvd24oIjFlKzM4Iiwg
IjEiLCAiIiwgOTk5OTk5KSBpcyAiMWUrMzgiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24uanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC1zdGVwdXAtc3RlcGRvd24uanMKaW5kZXgg
MWJiYzk3ODIwZDc4MzM4OWQzOWRkNzc0MjY1ZTRhOTNlM2IzOTg1My4uZjYwNDM2NTFmNWMzYTA1
YjAzMmI5MTQ4ZjZiYmI5ODVhYWM2OTdkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtc3RlcHVwLXN0ZXBkb3duLmpzCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXN0ZXB1cC1zdGVwZG93bi5qcwpAQCAt
MjA2LDEyICsyMDYsMTEgQEAgc2hvdWxkVGhyb3coJ3N0ZXBVcCgiLTEiLCAiMSIsICIwIiwgMikn
LCBpbnZhbGlkU3RhdGVFcnIpOwogc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyItMSInKTsKIHNo
b3VsZFRocm93KCdzdGVwVXAoIjEiLCAiMy40MDI4MjM0NmUrMzgiLCAiIiwgMiknLCBpbnZhbGlk
U3RhdGVFcnIpOwogZGVidWcoJ3N0ZXBEb3duKCkvc3RlcFVwKCkgZm9yIHN0ZXBNaXNtYXRjaCB2
YWx1ZXMnKTsKLXNob3VsZEJlKCdzdGVwVXAoIjEiLCAiMiIsICIiKScsICciNCInKTsKLXNob3Vs
ZEJlKCdpbnB1dC5zdGVwRG93bigpOyBpbnB1dC52YWx1ZScsICciMiInKTsKLXNob3VsZEJlKCdp
bnB1dC5taW4gPSAiMCI7IHN0ZXBVcCgiOSIsICIxMCIsICIiLCA5KScsICciMTAwIicpOwotc2hv
dWxkQmUoJ3N0ZXBEb3duKCIxOSIsICIxMCIsICIwIiknLCAnIjEwIicpOwotLy8gdmFsdWUgKyBz
dGVwIGlzIDw9IG1heCwgYnV0IHJvdW5kZWQgcmVzdWx0IHdvdWxkIGJlID4gbWF4Lgotc2hvdWxk
VGhyb3coJ3N0ZXBVcCgiODkiLCAiMTAiLCAiOTkiKScsIGludmFsaWRTdGF0ZUVycik7CitzaG91
bGRCZSgnc3RlcFVwKCIxIiwgIjIiLCAiIiknLCAnIjMiJyk7CitzaG91bGRCZSgnaW5wdXQuc3Rl
cERvd24oKTsgaW5wdXQudmFsdWUnLCAnIjEiJyk7CitzaG91bGRCZSgnaW5wdXQubWluID0gIjAi
OyBzdGVwVXAoIjkiLCAiMTAiLCAiIiwgOSknLCAnIjk5IicpOworc2hvdWxkQmUoJ3N0ZXBEb3du
KCIxOSIsICIxMCIsICIwIiknLCAnIjkiJyk7CitzaG91bGRCZSgnc3RlcFVwKCI4OSIsICIxMCIs
ICI5OSIpJywgJyI5OSInKTsKIGRlYnVnKCdIdWdlIHZhbHVlIGFuZCBzbWFsbCBzdGVwJyk7CiBz
aG91bGRCZSgnaW5wdXQubWluID0gIiI7IHN0ZXBVcCgiMWUrMzgiLCAiMSIsICIiLCA5OTk5OTkp
JywgJyIxZSszOCInKTsKIHNob3VsZEJlKCdpbnB1dC5tYXggPSAiIjsgc3RlcERvd24oIjFlKzM4
IiwgIjEiLCAiIiwgOTk5OTk5KScsICciMWUrMzgiJyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0No
YW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJmYTBlZGQ3OTNlMmQxMDFlN2QxNGRj
OTk0ZjQ0YWM2N2U0MDkwNGIuLjg5OThmMjdjNmM4NDIyYmExMGE1OTQyMWU0NTExODU0YjNmODEy
ODUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMTEtMTggIERhaSBNaWt1cnViZSAgPGRtaWt1cnViZUBn
b29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIHN0ZXBVcC9zdGVwRG93biBmb3IgdmFsdWVzIGluIHN0ZXAtbWlzbWF0Y2hpbmcgc3RhdGUg
Zm9yIGlucHV0IGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00ODk3NgorCisgICAgICAgIEZpeGVkIHN0ZXBVcC9zdGVwRG93biBiZWhhdmlv
cnMgZm9yIHN0ZXAtbWlzbWF0Y2hpbmcgdmFsdWVzIHRvIGZvbGxvdyB0aGUgc3BlY2lmaWNhdGlv
biBvZgorICAgICAgICBIVE1MNSA0LjEwLjcuMyBDb21tb24gaW5wdXQgZWxlbWVudCBBUElzLiBJ
biBkZXRhaWxzLCBkaXNhYmxlZCBhbnkgc3RlcHdpc2UgYWRqdXN0bWVudCBmb3IKKyAgICAgICAg
c3RlcC1taXNtYXRjaGluZyB2YWx1ZXMuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YXBwbHlTdGVwKToK
KwogMjAxMC0xMS0xNCAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCmluZGV4IDU0MDY1MjQ3NTYzMTA3NzM5ZDBmOTE5NzE4ZmU1MTA4OTM0N2Y4MTcuLjA2MTEy
YjNjMTk0ZGFlNTc2MWQ2MGI5MjIxOTc5MGYzYjE5M2M4MzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5jcHAKQEAgLTMwMCwxMyArMzAwLDEzIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6Z2V0
QWxsb3dlZFZhbHVlU3RlcFdpdGhEZWNpbWFsUGxhY2VzKGRvdWJsZSogc3RlcCwgdW5zaWduCiB2
b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcChkb3VibGUgY291bnQsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewogICAgIGRvdWJsZSBzdGVwOwotICAgIHVuc2lnbmVkIHN0ZXBEZWNpbWFsUGxh
Y2VzOworICAgIHVuc2lnbmVkIHN0ZXBEZWNpbWFsUGxhY2VzLCBjdXJyZW50RGVjaW1hbFBsYWNl
czsKICAgICBpZiAoIWdldEFsbG93ZWRWYWx1ZVN0ZXBXaXRoRGVjaW1hbFBsYWNlcygmc3RlcCwg
JnN0ZXBEZWNpbWFsUGxhY2VzKSkgewogICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmljX2xp
bWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKLSAgICBkb3VibGUgY3VycmVudCA9IG1faW5wdXRU
eXBlLT5wYXJzZVRvRG91YmxlKHZhbHVlKCksIG5hbik7CisgICAgZG91YmxlIGN1cnJlbnQgPSBt
X2lucHV0VHlwZS0+cGFyc2VUb0RvdWJsZVdpdGhEZWNpbWFsUGxhY2VzKHZhbHVlKCksIG5hbiwg
JmN1cnJlbnREZWNpbWFsUGxhY2VzKTsKICAgICBpZiAoIWlzZmluaXRlKGN1cnJlbnQpKSB7CiAg
ICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CiAgICAgICAgIHJldHVybjsKQEAgLTMyNyw4
ICszMjcsMTMgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjphcHBseVN0ZXAoZG91YmxlIGNvdW50
LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBkb3VibGUgYmFzZSA9IG1faW5wdXRUeXBlLT5zdGVw
QmFzZVdpdGhEZWNpbWFsUGxhY2VzKCZiYXNlRGVjaW1hbFBsYWNlcyk7CiAgICAgYmFzZURlY2lt
YWxQbGFjZXMgPSBtaW4oYmFzZURlY2ltYWxQbGFjZXMsIDE2dSk7CiAgICAgaWYgKG5ld1ZhbHVl
IDwgcG93KDEwLjAsIDIxLjApKSB7Ci0gICAgICAgIGRvdWJsZSBzY2FsZSA9IHBvdygxMC4wLCBz
dGF0aWNfY2FzdDxkb3VibGU+KG1heChzdGVwRGVjaW1hbFBsYWNlcywgYmFzZURlY2ltYWxQbGFj
ZXMpKSk7Ci0gICAgICAgIG5ld1ZhbHVlID0gcm91bmQoKGJhc2UgKyByb3VuZCgobmV3VmFsdWUg
LSBiYXNlKSAvIHN0ZXApICogc3RlcCkgKiBzY2FsZSkgLyBzY2FsZTsKKyAgICAgIGlmIChzdGVw
TWlzbWF0Y2godmFsdWUoKSkpIHsKKyAgICAgICAgICAgIGRvdWJsZSBzY2FsZSA9IHBvdygxMC4w
LCBzdGF0aWNfY2FzdDxkb3VibGU+KG1heChzdGVwRGVjaW1hbFBsYWNlcywgY3VycmVudERlY2lt
YWxQbGFjZXMpKSk7CisgICAgICAgICAgICBuZXdWYWx1ZSA9IHJvdW5kKG5ld1ZhbHVlICogc2Nh
bGUpIC8gc2NhbGU7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkb3VibGUgc2NhbGUg
PSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGJh
c2VEZWNpbWFsUGxhY2VzKSkpOworICAgICAgICAgICAgbmV3VmFsdWUgPSByb3VuZCgoYmFzZSAr
IHJvdW5kKChuZXdWYWx1ZSAtIGJhc2UpIC8gc3RlcCkgKiBzdGVwKSAqIHNjYWxlKSAvIHNjYWxl
OworICAgICAgICB9CiAgICAgfQogICAgIGlmIChuZXdWYWx1ZSAtIG1faW5wdXRUeXBlLT5tYXhp
bXVtKCkgPiBhY2NlcHRhYmxlRXJyb3IpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VS
UjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>