<?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>70140</bug_id>
          
          <creation_ts>2011-10-14 14:04:47 -0700</creation_ts>
          <short_desc>Flush denormals to zero on Windows.</short_desc>
          <delta_ts>2011-10-19 18:51:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Raymond Toy">rtoy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>crogers</cc>
    
    <cc>kbr</cc>
    
    <cc>rtoy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>484268</commentid>
    <comment_count>0</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-14 14:04:47 -0700</bug_when>
    <thetext>Flush denormals to zero on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484270</commentid>
    <comment_count>1</comment_count>
      <attachid>111070</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-14 14:06:47 -0700</bug_when>
    <thetext>Created attachment 111070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484271</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-14 14:08:44 -0700</bug_when>
    <thetext>Attachment 111070 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/audio/DenormalDisabler.h:32:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Source/WebCore/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:13:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:14:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 4 in 3 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>484278</commentid>
    <comment_count>3</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-14 14:14:42 -0700</bug_when>
    <thetext>This patch fixes an issue with denormal floats on Windows.  The issue can be seen at http://chromium.googlecode.com/svn/trunk/samples/audio/dj.html.  Drag the leftRhythmEffect slider to the right and then all the way to the left.  You will hear (and see) artifacts.  These are caused by denormal numbers which are very slow to process.

This doesn&apos;t happen on Linux or Mac because denormals are flushed to zero by the SSE hardware.  On windows, SSE is not used, and the x87 has no HW support for flushing denormals to zero.

Also, we converted the local variable, gain, from a double to a float to better match the float values of the inputs and outputs so unnecessary conversions are not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484282</commentid>
    <comment_count>4</comment_count>
      <attachid>111072</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-14 14:17:56 -0700</bug_when>
    <thetext>Created attachment 111072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484291</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-14 14:20:35 -0700</bug_when>
    <thetext>Attachment 111072 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/audio/DenormalDisabler.h:32:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 3 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>484332</commentid>
    <comment_count>6</comment_count>
      <attachid>111072</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-10-14 15:04:18 -0700</bug_when>
    <thetext>Comment on attachment 111072
Patch

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

&gt; Source/WebCore/platform/audio/AudioBus.cpp:34
&gt; +#include &quot;DenormalDisabler.h&quot;

WebKit style is to put one blank line after: #include &quot;AudioBus.h&quot;

&gt; Source/WebCore/platform/audio/AudioBus.cpp:243
&gt; +    float totalDesiredGain = static_cast&lt;float&gt;(m_busGain * targetGain);

Can&apos;t we also make &quot;targetGain&quot; and &quot;m_busGain&quot; a float and avoid the static_cast?

This will likely require changing certain other methods to also take &quot;float&quot; arguments

&gt; Source/WebCore/platform/audio/AudioBus.cpp:246
&gt; +    float gain = static_cast&lt;float&gt;(m_isFirstTime ? totalDesiredGain : *lastMixGain);

ditto

&gt; Source/WebCore/platform/audio/AudioBus.cpp:259
&gt; +    const float DezipperRate = 0.005;

doesn&apos;t this need to now be 0.005f ?

&gt; Source/WebCore/platform/audio/AudioBus.cpp:269
&gt; +                *destinationL++ = sumL;

probably can avoid the intermediate &quot;sumL&quot; and &quot;sumR&quot; variables and simply assign directly

&gt; Source/WebCore/platform/audio/AudioBus.cpp:282
&gt; +                float sumR = FlushToFloatZero(*destinationR + scaled);

ditto: can avoid sumL and sumR and assign directly

&gt; Source/WebCore/platform/audio/AudioBus.cpp:295
&gt; +                *destinationL++ = sum;

can avoid sum and assign directly

&gt; Source/WebCore/platform/audio/AudioBus.cpp:342
&gt; +    *lastMixGain = static_cast&lt;double&gt;(gain);

Probably best to make &quot;lastMixGain&quot; float instead of double and avoid the static_cast -- this will require all callers of this function to also switch over to float...

&gt; Source/WebCore/platform/audio/DenormalDisabler.h:34
&gt; +#include &lt;math.h&gt;

Header files should not be included inside of &quot;namespace WebCore {&quot;
please move includes to above the namespace

&gt; Source/WebCore/platform/audio/DenormalDisabler.h:38
&gt; +static inline float FlushToFloatZero(float f)

I&apos;m not very fond of the name &quot;FlushToFloatZero&quot; -- I&apos;d suggest including the word &quot;denormal&quot; in the name.
How about: &quot;FlushFloatDenormalToZero&quot;

Also, it&apos;s better to have functions like this be in some kind of namespace.  One idea is to move this inline function as a static inline method of DenormalDisabler

&gt; Source/WebCore/platform/audio/DenormalDisabler.h:43
&gt; +#define FlushToFloatZero(f) static_cast&lt;float&gt;(f)

It seems odd that on Windows this is an inline function, and otherwise is a macro -- maybe just have it uniformly be a static inline method of DenormalDisabler</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484367</commentid>
    <comment_count>7</comment_count>
      <attachid>111072</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-14 15:40:55 -0700</bug_when>
    <thetext>Comment on attachment 111072
Patch

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

&gt;&gt; Source/WebCore/platform/audio/AudioBus.cpp:34
&gt;&gt; +#include &quot;DenormalDisabler.h&quot;
&gt; 
&gt; WebKit style is to put one blank line after: #include &quot;AudioBus.h&quot;

Done.

&gt;&gt; Source/WebCore/platform/audio/AudioBus.cpp:243
&gt;&gt; +    float totalDesiredGain = static_cast&lt;float&gt;(m_busGain * targetGain);
&gt; 
&gt; Can&apos;t we also make &quot;targetGain&quot; and &quot;m_busGain&quot; a float and avoid the static_cast?
&gt; 
&gt; This will likely require changing certain other methods to also take &quot;float&quot; arguments

Yes we could.  I just wanted to keep this change self-contained.  But I can go and change the signature and all the callers appropriately.  I&apos;d rather do that in two stages, though: This one for the important fix, and a follow-on with the targetGain and m_busGain change.

&gt;&gt; Source/WebCore/platform/audio/AudioBus.cpp:259
&gt;&gt; +    const float DezipperRate = 0.005;
&gt; 
&gt; doesn&apos;t this need to now be 0.005f ?

Done.

&gt;&gt; Source/WebCore/platform/audio/AudioBus.cpp:269
&gt;&gt; +                *destinationL++ = sumL;
&gt; 
&gt; probably can avoid the intermediate &quot;sumL&quot; and &quot;sumR&quot; variables and simply assign directly

Done.

&gt;&gt; Source/WebCore/platform/audio/AudioBus.cpp:282
&gt;&gt; +                float sumR = FlushToFloatZero(*destinationR + scaled);
&gt; 
&gt; ditto: can avoid sumL and sumR and assign directly

Done.

&gt;&gt; Source/WebCore/platform/audio/AudioBus.cpp:295
&gt;&gt; +                *destinationL++ = sum;
&gt; 
&gt; can avoid sum and assign directly

Done.

&gt;&gt; Source/WebCore/platform/audio/AudioBus.cpp:342
&gt;&gt; +    *lastMixGain = static_cast&lt;double&gt;(gain);
&gt; 
&gt; Probably best to make &quot;lastMixGain&quot; float instead of double and avoid the static_cast -- this will require all callers of this function to also switch over to float...

Same comment as for targetGain, above.

&gt;&gt; Source/WebCore/platform/audio/DenormalDisabler.h:34
&gt;&gt; +#include &lt;math.h&gt;
&gt; 
&gt; Header files should not be included inside of &quot;namespace WebCore {&quot;
&gt; please move includes to above the namespace

Done.

&gt;&gt; Source/WebCore/platform/audio/DenormalDisabler.h:38
&gt;&gt; +static inline float FlushToFloatZero(float f)
&gt; 
&gt; I&apos;m not very fond of the name &quot;FlushToFloatZero&quot; -- I&apos;d suggest including the word &quot;denormal&quot; in the name.
&gt; How about: &quot;FlushFloatDenormalToZero&quot;
&gt; 
&gt; Also, it&apos;s better to have functions like this be in some kind of namespace.  One idea is to move this inline function as a static inline method of DenormalDisabler

How about FlushDenormalFloatToZero?

I&apos;ll move it to a static inline method.

&gt;&gt; Source/WebCore/platform/audio/DenormalDisabler.h:43
&gt;&gt; +#define FlushToFloatZero(f) static_cast&lt;float&gt;(f)
&gt; 
&gt; It seems odd that on Windows this is an inline function, and otherwise is a macro -- maybe just have it uniformly be a static inline method of DenormalDisabler

That&apos;s just an implementation detail; just made it obvious there&apos;s no impact even on debug builds.  But I won&apos;t have a choice if I make it an static inline method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484380</commentid>
    <comment_count>8</comment_count>
      <attachid>111072</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-14 15:53:20 -0700</bug_when>
    <thetext>Comment on attachment 111072
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/audio/AudioBus.cpp:269
&gt;&gt;&gt; +                *destinationL++ = sumL;
&gt;&gt; 
&gt;&gt; probably can avoid the intermediate &quot;sumL&quot; and &quot;sumR&quot; variables and simply assign directly
&gt; 
&gt; Done.

Oops.  Can&apos;t do that because the compiler correctly complains that 

*d++ = Flush(*d + gain * *source)

is undefined.  (Because we don&apos;t know when d++ happens because there&apos;s no sequence point for =.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484397</commentid>
    <comment_count>9</comment_count>
      <attachid>111105</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-14 16:28:10 -0700</bug_when>
    <thetext>Created attachment 111105
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484399</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-14 16:31:22 -0700</bug_when>
    <thetext>Attachment 111105 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/audio/DenormalDisabler.h:28:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Source/WebCore/platform/audio/DenormalDisabler.h:81:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 2 in 3 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>485504</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-10-17 14:25:30 -0700</bug_when>
    <thetext>Hi Ray, several of the fixes marked as &quot;Done&quot; are not actually in the latest patch - could you please re-check.

&gt; &gt; This will likely require changing certain other methods to also take &quot;float&quot; arguments
&gt; 
&gt; Yes we could.  I just wanted to keep this change self-contained.  But I can go and change the signature and all the callers appropriately.  I&apos;d rather do that in two stages, though: This one for the important fix, and a follow-on with the targetGain and m_busGain change.

Ok, but then in that case please add a FIXME here

&gt; &gt; I&apos;m not very fond of the name &quot;FlushToFloatZero&quot; -- I&apos;d suggest including the word &quot;denormal&quot; in the name.
&gt; &gt; How about: &quot;FlushFloatDenormalToZero&quot;
&gt; &gt; 
&gt; &gt; Also, it&apos;s better to have functions like this be in some kind of namespace.  One idea is to move this inline function as a static inline method of DenormalDisabler
&gt; 
&gt; How about FlushDenormalFloatToZero?
&gt; 
&gt; I&apos;ll move it to a static inline method.

Seems fine to me.

&gt; 
&gt; &gt;&gt; Source/WebCore/platform/audio/DenormalDisabler.h:43
&gt; &gt;&gt; +#define FlushToFloatZero(f) static_cast&lt;float&gt;(f)
&gt; &gt; 
&gt; &gt; It seems odd that on Windows this is an inline function, and otherwise is a macro -- maybe just have it uniformly be a static inline method of DenormalDisabler
&gt; 
&gt; That&apos;s just an implementation detail; just made it obvious there&apos;s no impact even on debug builds.  But I won&apos;t have a choice if I make it an static inline method.

I know, but it&apos;s more of a consistency/style readability thing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485505</commentid>
    <comment_count>12</comment_count>
      <attachid>111105</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-10-17 14:26:55 -0700</bug_when>
    <thetext>Comment on attachment 111105
Patch

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

Please look at style errors and address for next patch.

&gt;&gt; Source/WebCore/platform/audio/DenormalDisabler.h:28
&gt;&gt; +#if OS(WIN) &amp;&amp; defined(_MSC_VER) &amp;&amp; (_M_IX86_FP == 0)
&gt; 
&gt; Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]

Is there any reason we need to include a Windows specific header file here?  It doesn&apos;t seem like we have to.  I&apos;d recommend:

#include &lt;wtf/MathExtras.h&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485506</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-10-17 14:27:52 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Oops.  Can&apos;t do that because the compiler correctly complains that 
&gt; 
&gt; *d++ = Flush(*d + gain * *source)
&gt; 
&gt; is undefined.  (Because we don&apos;t know when d++ happens because there&apos;s no sequence point for =.)

This should not be the case - please re-check</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485597</commentid>
    <comment_count>14</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-17 16:11:04 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #8)
&gt; &gt; Oops.  Can&apos;t do that because the compiler correctly complains that 
&gt; &gt; 
&gt; &gt; *d++ = Flush(*d + gain * *source)
&gt; &gt; 
&gt; &gt; is undefined.  (Because we don&apos;t know when d++ happens because there&apos;s no sequence point for =.)
&gt; 
&gt; This should not be the case - please re-check

I changed the lines from 

 float sumL = DenormalDisabler::FlushDenormalFloatToZero(*destinationL + gain * *sourceL++);
               
 *destinationL++ = sumL;

to

 *destinationL++ = DenormalDisabler::FlushDenormalFloatToZero(*destinationL + gain * *sourceL++);

Gcc (linux) complains:

cc1plus: warnings being treated as errors
third_party/WebKit/Source/WebCore/platform/audio/AudioBus.cpp: In member function ‘void WebCore::AudioBus::processWithGainFromMonoStereo(const WebCore::AudioBus&amp;, double*, double, bool)’:
third_party/WebKit/Source/WebCore/platform/audio/AudioBus.cpp:276: error: operation on ‘destinationL’ may be undefined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485723</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-10-17 18:45:46 -0700</bug_when>
    <thetext>Ok, if there&apos;s a compile error, then let&apos;s leave that for now and see if we can address the other comments.  Seems like we&apos;re getting close.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486089</commentid>
    <comment_count>16</comment_count>
      <attachid>111451</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-18 09:25:18 -0700</bug_when>
    <thetext>Created attachment 111451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486090</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-18 09:28:13 -0700</bug_when>
    <thetext>Attachment 111451 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/audio/DenormalDisabler.h:28:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Source/WebCore/platform/audio/DenormalDisabler.h:80:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 2 in 3 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>486091</commentid>
    <comment_count>18</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-18 09:29:37 -0700</bug_when>
    <thetext>All review comments should be addressed now.  My apologies for overlooking some fixes from last time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486149</commentid>
    <comment_count>19</comment_count>
      <attachid>111451</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-10-18 10:33:07 -0700</bug_when>
    <thetext>Comment on attachment 111451
Patch

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

&gt;&gt; Source/WebCore/platform/audio/DenormalDisabler.h:28
&gt;&gt; +#if OS(WINDOWS) &amp;&amp; COMPILER(MSVC) &amp;&amp; (_M_IX86_FP == 0)
&gt; 
&gt; Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]

To satisfy the style queue the last expression should be written as (!_M_IX86_FP). Here and below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486158</commentid>
    <comment_count>20</comment_count>
      <attachid>111451</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-10-18 10:41:52 -0700</bug_when>
    <thetext>Comment on attachment 111451
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/audio/DenormalDisabler.h:28
&gt;&gt;&gt; +#if OS(WINDOWS) &amp;&amp; COMPILER(MSVC) &amp;&amp; (_M_IX86_FP == 0)
&gt;&gt; 
&gt;&gt; Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
&gt; 
&gt; To satisfy the style queue the last expression should be written as (!_M_IX86_FP). Here and below.

Actually, just to make things simpler and more readable I would recommend removing the #if

It&apos;s true that it&apos;ll include an unneeded include file on some platforms, but it seems worth the cost due to readability.  What do you think Ken?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486160</commentid>
    <comment_count>21</comment_count>
      <attachid>111467</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-18 10:42:34 -0700</bug_when>
    <thetext>Created attachment 111467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486194</commentid>
    <comment_count>22</comment_count>
      <attachid>111467</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-10-18 11:35:15 -0700</bug_when>
    <thetext>Comment on attachment 111467
Patch

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

Code looks good overall but there&apos;s a small naming convention issue that needs to be fixed before commit.

Also, please mark subsequent patches cq? if you&apos;d like them submitted to the commit queue after review.

&gt; Source/WebCore/platform/audio/DenormalDisabler.h:51
&gt; +    static inline float FlushDenormalFloatToZero(float f)

This should be &quot;flushDenormalFloatToZero&quot;; WebKit naming convention is camelCase for methods. See http://www.webkit.org/coding/coding-style.html .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486394</commentid>
    <comment_count>23</comment_count>
      <attachid>111519</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-18 16:04:52 -0700</bug_when>
    <thetext>Created attachment 111519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486398</commentid>
    <comment_count>24</comment_count>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-18 16:06:45 -0700</bug_when>
    <thetext>Renamed function to follow webkit style and removed the guards for MathExtras.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486446</commentid>
    <comment_count>25</comment_count>
      <attachid>111519</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-10-18 17:03:54 -0700</bug_when>
    <thetext>Comment on attachment 111519
Patch

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

One more minor process nit. I&apos;m not going to hold this patch up any further since I missed this in the last version, but please keep this in mind for future patches. r=me

&gt; Source/WebCore/ChangeLog:13
&gt; +        (WebCore::FlushToFloatZero):

Please regenerate the ChangeLog after renaming methods. Yes, this is tedious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486873</commentid>
    <comment_count>26</comment_count>
      <attachid>111643</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-19 10:33:37 -0700</bug_when>
    <thetext>Created attachment 111643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486879</commentid>
    <comment_count>27</comment_count>
      <attachid>111519</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2011-10-19 10:43:15 -0700</bug_when>
    <thetext>Comment on attachment 111519
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt; +        (WebCore::FlushToFloatZero):
&gt; 
&gt; Please regenerate the ChangeLog after renaming methods. Yes, this is tedious.

Fixed.  Sorry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486895</commentid>
    <comment_count>28</comment_count>
      <attachid>111643</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-10-19 11:24:15 -0700</bug_when>
    <thetext>Comment on attachment 111643
Patch

Looks great, thanks. r=me again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487211</commentid>
    <comment_count>29</comment_count>
      <attachid>111643</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-19 18:51:23 -0700</bug_when>
    <thetext>Comment on attachment 111643
Patch

Clearing flags on attachment: 111643

Committed r97912: &lt;http://trac.webkit.org/changeset/97912&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487212</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-19 18:51:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111070</attachid>
            <date>2011-10-14 14:06:47 -0700</date>
            <delta_ts>2011-10-14 14:17:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70140-20111014140646.patch</filename>
            <type>text/plain</type>
            <size>7956</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MGMwZTFjOTRjZDY2ZmFj
NWI1MjNlNzVlMGQ4ZDA5YjcwZmFhNTkxLi41OGY2NzBjMDVlNmIyODY5MmZmZWZmMzVlMjk3YzE1
NDA3YmI1MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMTQgIFJheW1v
bmQgVG95ICA8cnRveUBnb29nbGUuY29tPgorCisgICAgICAgIEZsdXNoIGRlbm9ybWFscyB0byB6
ZXJvIG9uIFdpbmRvd3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MDE0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKToKKwlGbHVzaCBhbnkgZGVu
b3JtYWxzIHRvIHplcm8gYmVmb3JlIHNhdmluZyB0aGUgcmVzdWx0LgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZsdXNoVG9G
bG9hdFplcm8pOgorCU5ldyBmdW5jdGlvbiB0byBmbHVzaCB0aGUgZ2l2ZW4gZmxvYXQgdG8gemVy
bywgaWYgaXQgaXMgYSBkZW5vcm1hbAorCW51bWJlci4KKwogMjAxMS0xMC0xNCAgQW5kcmVhcyBL
bGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYWN0dWFsbHkg
cmVtb3ZlIFN0eWxlTGlzdC4qIGFmdGVyIHI5NzY0MC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvQnVzLmNwcAppbmRleCBhZDI5YWYxYWFkMjM3MjM3MDkxZjU1OTM2MjI3Yjkz
MWZlOTk5Y2M4Li40OGE4NzdmNmRmMzI0MzJmZWU1YTIwYTI3ZDZiOGIyOTFhMjNmOTY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBAIC0zMSw2ICszMSw3
IEBACiAjaWYgRU5BQkxFKFdFQl9BVURJTykKIAogI2luY2x1ZGUgIkF1ZGlvQnVzLmgiCisjaW5j
bHVkZSAiRGVub3JtYWxEaXNhYmxlci5oIgogCiAjaWYgIVBMQVRGT1JNKE1BQykKICNpbmNsdWRl
ICJTaW5jUmVzYW1wbGVyLmgiCkBAIC0yMzksMTAgKzI0MCwxMCBAQCB2b2lkIEF1ZGlvQnVzOjpw
cm9jZXNzV2l0aEdhaW5Gcm9tTW9ub1N0ZXJlbyhjb25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBk
b3VibGUqCiAgICAgLy8gRklYTUU6IE5lZWQgZmFzdCBwYXRoIHdoZW4gdGhpcz09c291cmNlQnVz
ICYmIGxhc3RNaXhHYWluPT10YXJnZXRHYWluPT0xLjAgJiYgc3VtVG9CdXM9PWZhbHNlICh0aGlz
IGlzIGEgTk9QKQogCiAgICAgLy8gVGFrZSBtYXN0ZXIgYnVzIGdhaW4gaW50byBhY2NvdW50IGFz
IHdlbGwgYXMgdGhlIHRhcmdldEdhaW4uCi0gICAgZG91YmxlIHRvdGFsRGVzaXJlZEdhaW4gPSBt
X2J1c0dhaW4gKiB0YXJnZXRHYWluOworICAgIGZsb2F0IHRvdGFsRGVzaXJlZEdhaW4gPSBzdGF0
aWNfY2FzdDxmbG9hdD4obV9idXNHYWluICogdGFyZ2V0R2Fpbik7CiAKICAgICAvLyBGaXJzdCB0
aW1lLCBzbmFwIGRpcmVjdGx5IHRvIHRvdGFsRGVzaXJlZEdhaW4uCi0gICAgZG91YmxlIGdhaW4g
PSBtX2lzRmlyc3RUaW1lID8gdG90YWxEZXNpcmVkR2FpbiA6ICpsYXN0TWl4R2FpbjsKKyAgICBm
bG9hdCBnYWluID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1faXNGaXJzdFRpbWUgPyB0b3RhbERlc2ly
ZWRHYWluIDogKmxhc3RNaXhHYWluKTsKICAgICBtX2lzRmlyc3RUaW1lID0gZmFsc2U7CiAKICAg
ICBpbnQgbnVtYmVyT2ZTb3VyY2VDaGFubmVscyA9IHNvdXJjZUJ1cy5udW1iZXJPZkNoYW5uZWxz
KCk7CkBAIC0yNTUsNyArMjU2LDcgQEAgdm9pZCBBdWRpb0J1czo6cHJvY2Vzc1dpdGhHYWluRnJv
bU1vbm9TdGVyZW8oY29uc3QgQXVkaW9CdXMgJnNvdXJjZUJ1cywgZG91YmxlKgogICAgIGZsb2F0
KiBkZXN0aW5hdGlvbkwgPSBjaGFubmVsQnlUeXBlKENoYW5uZWxMZWZ0KS0+ZGF0YSgpOwogICAg
IGZsb2F0KiBkZXN0aW5hdGlvblIgPSBudW1iZXJPZkRlc3RpbmF0aW9uQ2hhbm5lbHMgPiAxID8g
Y2hhbm5lbEJ5VHlwZShDaGFubmVsUmlnaHQpLT5kYXRhKCkgOiAwOwogCi0gICAgY29uc3QgZG91
YmxlIERlemlwcGVyUmF0ZSA9IDAuMDA1OworICAgIGNvbnN0IGZsb2F0IERlemlwcGVyUmF0ZSA9
IDAuMDA1OwogICAgIGludCBmcmFtZXNUb1Byb2Nlc3MgPSBsZW5ndGgoKTsKIAogICAgIGlmIChz
dW1Ub0J1cykgewpAQCAtMjYzLDMzICsyNjQsMzkgQEAgdm9pZCBBdWRpb0J1czo6cHJvY2Vzc1dp
dGhHYWluRnJvbU1vbm9TdGVyZW8oY29uc3QgQXVkaW9CdXMgJnNvdXJjZUJ1cywgZG91YmxlKgog
ICAgICAgICBpZiAoc291cmNlUiAmJiBkZXN0aW5hdGlvblIpIHsKICAgICAgICAgICAgIC8vIFN0
ZXJlbwogICAgICAgICAgICAgd2hpbGUgKGZyYW1lc1RvUHJvY2Vzcy0tKSB7Ci0gICAgICAgICAg
ICAgICAgZmxvYXQgc2FtcGxlTCA9ICpzb3VyY2VMKys7Ci0gICAgICAgICAgICAgICAgZmxvYXQg
c2FtcGxlUiA9ICpzb3VyY2VSKys7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uTCsrICs9
IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2FtcGxlTCk7Ci0gICAgICAgICAgICAgICAgKmRl
c3RpbmF0aW9uUisrICs9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2FtcGxlUik7CisgICAg
ICAgICAgICAgICAgZmxvYXQgc3VtTCA9IEZsdXNoVG9GbG9hdFplcm8oKmRlc3RpbmF0aW9uTCAr
IGdhaW4gKiAqc291cmNlTCsrKTsKKyAgICAgICAgICAgICAgICBmbG9hdCBzdW1SID0gRmx1c2hU
b0Zsb2F0WmVybygqZGVzdGluYXRpb25SICsgZ2FpbiAqICpzb3VyY2VSKyspOworICAgICAgICAg
ICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN1bUw7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0
aW9uUisrID0gc3VtUjsKIAogICAgICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0
byBkZXNpcmVkIGdhaW4uCiAgICAgICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2Fp
biAtIGdhaW4pICogRGV6aXBwZXJSYXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBGbHVzaFRv
RmxvYXRaZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKGRlc3Rp
bmF0aW9uUikgewogICAgICAgICAgICAgLy8gTW9ubyAtPiBzdGVyZW8gKG1peCBlcXVhbGx5IGlu
dG8gTCBhbmQgUikKICAgICAgICAgICAgIC8vIEZJWE1FOiBSZWFsbHkgd2Ugc2hvdWxkIGFwcGx5
IGFuIGVxdWFsLXBvd2VyIHNjYWxpbmcgZmFjdG9yIGhlcmUsIHNpbmNlIHdlJ3JlIGVmZmVjdGl2
ZWx5IHBhbm5pbmcgY2VudGVyLi4uCiAgICAgICAgICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9jZXNz
LS0pIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGUgPSAqc291cmNlTCsrOwotICAgICAg
ICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyArPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNh
bXBsZSk7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisrICs9IHN0YXRpY19jYXN0PGZs
b2F0PihnYWluICogc2FtcGxlKTsKKyAgICAgICAgICAgICAgICBmbG9hdCBzY2FsZWQgPSBnYWlu
ICogKnNvdXJjZUwrKzsKKyAgICAgICAgICAgICAgICBmbG9hdCBzdW1MID0gRmx1c2hUb0Zsb2F0
WmVybygqZGVzdGluYXRpb25MICsgc2NhbGVkKTsKKyAgICAgICAgICAgICAgICBmbG9hdCBzdW1S
ID0gRmx1c2hUb0Zsb2F0WmVybygqZGVzdGluYXRpb25SICsgc2NhbGVkKTsKKworICAgICAgICAg
ICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN1bUw7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0
aW9uUisrID0gc3VtUjsKIAogICAgICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0
byBkZXNpcmVkIGdhaW4uCiAgICAgICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2Fp
biAtIGdhaW4pICogRGV6aXBwZXJSYXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBGbHVzaFRv
RmxvYXRaZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgLy8gTW9ubwogICAgICAgICAgICAgd2hpbGUgKGZyYW1lc1RvUHJvY2Vzcy0tKSB7Ci0g
ICAgICAgICAgICAgICAgZmxvYXQgc2FtcGxlTCA9ICpzb3VyY2VMKys7Ci0gICAgICAgICAgICAg
ICAgKmRlc3RpbmF0aW9uTCsrICs9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2FtcGxlTCk7
CisgICAgICAgICAgICAgICAgZmxvYXQgc3VtID0gRmx1c2hUb0Zsb2F0WmVybygqZGVzdGluYXRp
b25MICsgZ2FpbiAqICpzb3VyY2VMKyspOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwr
KyA9IHN1bTsKIAogICAgICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNp
cmVkIGdhaW4uCiAgICAgICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdh
aW4pICogRGV6aXBwZXJSYXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBGbHVzaFRvRmxvYXRa
ZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKQEAgLTI5
OSwzNyArMzA2LDQwIEBAIHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3Rl
cmVvKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAgICAgICAgICAgIHdoaWxl
IChmcmFtZXNUb1Byb2Nlc3MtLSkgewogICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZUwgPSAq
c291cmNlTCsrOwogICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZVIgPSAqc291cmNlUisrOwot
ICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN0YXRpY19jYXN0PGZsb2F0PihnYWlu
ICogc2FtcGxlTCk7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisrID0gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGVSKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25M
KysgPSBGbHVzaFRvRmxvYXRaZXJvKGdhaW4gKiBzYW1wbGVMKTsKKyAgICAgICAgICAgICAgICAq
ZGVzdGluYXRpb25SKysgPSBGbHVzaFRvRmxvYXRaZXJvKGdhaW4gKiBzYW1wbGVSKTsKIAogICAg
ICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNpcmVkIGdhaW4uCiAgICAg
ICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdhaW4pICogRGV6aXBwZXJS
YXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBGbHVzaFRvRmxvYXRaZXJvKGdhaW4pOwogICAg
ICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKGRlc3RpbmF0aW9uUikgewogICAgICAgICAg
ICAgLy8gTW9ubyAtPiBzdGVyZW8gKG1peCBlcXVhbGx5IGludG8gTCBhbmQgUikKICAgICAgICAg
ICAgIC8vIEZJWE1FOiBSZWFsbHkgd2Ugc2hvdWxkIGFwcGx5IGFuIGVxdWFsLXBvd2VyIHNjYWxp
bmcgZmFjdG9yIGhlcmUsIHNpbmNlIHdlJ3JlIGVmZmVjdGl2ZWx5IHBhbm5pbmcgY2VudGVyLi4u
CiAgICAgICAgICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9jZXNzLS0pIHsKICAgICAgICAgICAgICAg
ICBmbG9hdCBzYW1wbGUgPSAqc291cmNlTCsrOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlv
bkwrKyA9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2FtcGxlKTsKLSAgICAgICAgICAgICAg
ICAqZGVzdGluYXRpb25SKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZSk7Cisg
ICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uTCsrID0gRmx1c2hUb0Zsb2F0WmVybyhnYWluICog
c2FtcGxlKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgPSBGbHVzaFRvRmxvYXRa
ZXJvKGdhaW4gKiBzYW1wbGUpOwogCiAgICAgICAgICAgICAgICAgLy8gU2xvd2x5IGNoYW5nZSBn
YWluIHRvIGRlc2lyZWQgZ2Fpbi4KICAgICAgICAgICAgICAgICBnYWluICs9ICh0b3RhbERlc2ly
ZWRHYWluIC0gZ2FpbikgKiBEZXppcHBlclJhdGU7CisgICAgICAgICAgICAgICAgZ2FpbiA9IEZs
dXNoVG9GbG9hdFplcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAvLyBNb25vCiAgICAgICAgICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9jZXNzLS0p
IHsKICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0gKnNvdXJjZUwrKzsKLSAgICAgICAg
ICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBs
ZUwpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IEZsdXNoVG9GbG9hdFplcm8o
Z2FpbiAqIHNhbXBsZUwpOwogCiAgICAgICAgICAgICAgICAgLy8gU2xvd2x5IGNoYW5nZSBnYWlu
IHRvIGRlc2lyZWQgZ2Fpbi4KICAgICAgICAgICAgICAgICBnYWluICs9ICh0b3RhbERlc2lyZWRH
YWluIC0gZ2FpbikgKiBEZXppcHBlclJhdGU7CisgICAgICAgICAgICAgICAgZ2FpbiA9IEZsdXNo
VG9GbG9hdFplcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKICAg
ICAvLyBTYXZlIHRoZSB0YXJnZXQgZ2FpbiBhcyB0aGUgc3RhcnRpbmcgcG9pbnQgZm9yIG5leHQg
dGltZSBhcm91bmQuCi0gICAgKmxhc3RNaXhHYWluID0gZ2FpbjsKKyAgICAqbGFzdE1peEdhaW4g
PSBzdGF0aWNfY2FzdDxkb3VibGU+KGdhaW4pOwogfQogCiB2b2lkIEF1ZGlvQnVzOjpwcm9jZXNz
V2l0aEdhaW5Gcm9tKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMsIGRvdWJsZSogbGFzdE1peEdh
aW4sIGRvdWJsZSB0YXJnZXRHYWluLCBib29sIHN1bVRvQnVzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNhYmxlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNhYmxlci5oCmluZGV4IDY5ZDVlYjM3ZWUxYjRk
NDNiMzE1NWVlMWNhMmY2NzMxMTFjZTM2MGEuLjNiMTMxNWY3MDEwMzdhM2Y1NzJhMTdiYTA4NDVl
NjFkMjZmMDdhYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0Rl
bm9ybWFsRGlzYWJsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EZW5v
cm1hbERpc2FibGVyLmgKQEAgLTI5LDYgKzI5LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gRGVhbCB3aXRoIGRlbm9ybWFscy4gVGhleSBjYW4gdmVyeSBzZXJpb3VzbHkgaW1wYWN0IHBl
cmZvcm1hbmNlIG9uIHg4Ni4KIAorI2lmIE9TKFdJTikgJiYgZGVmaW5lZChfTVNDX1ZFUikgJiYg
KF9NX0lYODZfRlAgPT0gMCkKKyNpbmNsdWRlIDxjZmxvYXQ+CisjaW5jbHVkZSA8bWF0aC5oPgor
Ly8gRm9yIHN5c3RlbXMgdXNpbmcgeDg3IGluc3RlYWQgb2Ygc3NlLCB0aGVyZSdzIG5vIGhhcmR3
YXJlIHN1cHBvcnQKKy8vIHRvIGZsdXNoIGRlbm9ybWFscyBhdXRvbWF0aWNhbGx5LiBIZW5jZSwg
d2UgbmVlZCB0byBmbHVzaAorLy8gZGVub3JtYWxzIHRvIHplcm8gbWFudWFsbHkuCitzdGF0aWMg
aW5saW5lIGZsb2F0IEZsdXNoVG9GbG9hdFplcm8oZmxvYXQgZikKK3sKKyAgICByZXR1cm4gKGZh
YnMoZikgPCBGTFRfTUlOKSA/IDAuMGYgOiBmOworfQorI2Vsc2UKKyNkZWZpbmUgRmx1c2hUb0Zs
b2F0WmVybyhmKSBzdGF0aWNfY2FzdDxmbG9hdD4oZikKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChf
X0dOVUNfXykgJiYgKGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykpCiBj
bGFzcyBEZW5vcm1hbERpc2FibGVyIHsKIHB1YmxpYzoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111072</attachid>
            <date>2011-10-14 14:17:56 -0700</date>
            <delta_ts>2011-10-14 16:28:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70140-20111014141755.patch</filename>
            <type>text/plain</type>
            <size>8056</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MGMwZTFjOTRjZDY2ZmFj
NWI1MjNlNzVlMGQ4ZDA5YjcwZmFhNTkxLi40NzM1ZGJiYzk0YzM4MmRiNDUxZjg2ZDc1OGU1Zjhk
OTJlY2RlOTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMTAtMTQgIFJheW1v
bmQgVG95ICA8cnRveUBnb29nbGUuY29tPgorCisgICAgICAgIEZsdXNoIGRlbm9ybWFscyB0byB6
ZXJvIG9uIFdpbmRvd3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MDE0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKToKKyAgICAgICAgRmx1c2gg
YW55IGRlbm9ybWFscyB0byB6ZXJvIGJlZm9yZSBzYXZpbmcgdGhlIHJlc3VsdC4gIENoYW5nZQor
ICAgICAgICBkb3VibGUgZ2FpbiB0byBmbG9hdCBnYWluIHRvIG1hdGNoIGV4aXN0aW5nIGZsb2F0
IG9wZXJhdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNhYmxlci5o
OgorICAgICAgICAoV2ViQ29yZTo6Rmx1c2hUb0Zsb2F0WmVybyk6CisgICAgICAgIE5ldyBmdW5j
dGlvbiB0byBmbHVzaCB0aGUgZ2l2ZW4gZmxvYXQgdG8gemVybywgaWYgaXQgaXMgYSBkZW5vcm1h
bAorICAgICAgICBudW1iZXIuCisKIDIwMTEtMTAtMTQgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGFjdHVhbGx5IHJlbW92ZSBTdHlsZUxp
c3QuKiBhZnRlciByOTc2NDAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0J1cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5jcHAKaW5kZXggYWQyOWFmMWFhZDIzNzIzNzA5MWY1NTkzNjIyN2I5MzFmZTk5OWNjOC4uNDhh
ODc3ZjZkZjMyNDMyZmVlNWEyMGEyN2Q2YjhiMjkxYTIzZjk2NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2lmIEVOQUJM
RShXRUJfQVVESU8pCiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgorI2luY2x1ZGUgIkRlbm9ybWFs
RGlzYWJsZXIuaCIKIAogI2lmICFQTEFURk9STShNQUMpCiAjaW5jbHVkZSAiU2luY1Jlc2FtcGxl
ci5oIgpAQCAtMjM5LDEwICsyNDAsMTAgQEAgdm9pZCBBdWRpb0J1czo6cHJvY2Vzc1dpdGhHYWlu
RnJvbU1vbm9TdGVyZW8oY29uc3QgQXVkaW9CdXMgJnNvdXJjZUJ1cywgZG91YmxlKgogICAgIC8v
IEZJWE1FOiBOZWVkIGZhc3QgcGF0aCB3aGVuIHRoaXM9PXNvdXJjZUJ1cyAmJiBsYXN0TWl4R2Fp
bj09dGFyZ2V0R2Fpbj09MS4wICYmIHN1bVRvQnVzPT1mYWxzZSAodGhpcyBpcyBhIE5PUCkKIAog
ICAgIC8vIFRha2UgbWFzdGVyIGJ1cyBnYWluIGludG8gYWNjb3VudCBhcyB3ZWxsIGFzIHRoZSB0
YXJnZXRHYWluLgotICAgIGRvdWJsZSB0b3RhbERlc2lyZWRHYWluID0gbV9idXNHYWluICogdGFy
Z2V0R2FpbjsKKyAgICBmbG9hdCB0b3RhbERlc2lyZWRHYWluID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+
KG1fYnVzR2FpbiAqIHRhcmdldEdhaW4pOwogCiAgICAgLy8gRmlyc3QgdGltZSwgc25hcCBkaXJl
Y3RseSB0byB0b3RhbERlc2lyZWRHYWluLgotICAgIGRvdWJsZSBnYWluID0gbV9pc0ZpcnN0VGlt
ZSA/IHRvdGFsRGVzaXJlZEdhaW4gOiAqbGFzdE1peEdhaW47CisgICAgZmxvYXQgZ2FpbiA9IHN0
YXRpY19jYXN0PGZsb2F0PihtX2lzRmlyc3RUaW1lID8gdG90YWxEZXNpcmVkR2FpbiA6ICpsYXN0
TWl4R2Fpbik7CiAgICAgbV9pc0ZpcnN0VGltZSA9IGZhbHNlOwogCiAgICAgaW50IG51bWJlck9m
U291cmNlQ2hhbm5lbHMgPSBzb3VyY2VCdXMubnVtYmVyT2ZDaGFubmVscygpOwpAQCAtMjU1LDcg
KzI1Niw3IEBAIHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKGNv
bnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAgICBmbG9hdCogZGVzdGluYXRpb25M
ID0gY2hhbm5lbEJ5VHlwZShDaGFubmVsTGVmdCktPmRhdGEoKTsKICAgICBmbG9hdCogZGVzdGlu
YXRpb25SID0gbnVtYmVyT2ZEZXN0aW5hdGlvbkNoYW5uZWxzID4gMSA/IGNoYW5uZWxCeVR5cGUo
Q2hhbm5lbFJpZ2h0KS0+ZGF0YSgpIDogMDsKIAotICAgIGNvbnN0IGRvdWJsZSBEZXppcHBlclJh
dGUgPSAwLjAwNTsKKyAgICBjb25zdCBmbG9hdCBEZXppcHBlclJhdGUgPSAwLjAwNTsKICAgICBp
bnQgZnJhbWVzVG9Qcm9jZXNzID0gbGVuZ3RoKCk7CiAKICAgICBpZiAoc3VtVG9CdXMpIHsKQEAg
LTI2MywzMyArMjY0LDM5IEBAIHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25v
U3RlcmVvKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAgICAgICAgaWYgKHNv
dXJjZVIgJiYgZGVzdGluYXRpb25SKSB7CiAgICAgICAgICAgICAvLyBTdGVyZW8KICAgICAgICAg
ICAgIHdoaWxlIChmcmFtZXNUb1Byb2Nlc3MtLSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHNh
bXBsZUwgPSAqc291cmNlTCsrOwotICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZVIgPSAqc291
cmNlUisrOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyArPSBzdGF0aWNfY2FzdDxm
bG9hdD4oZ2FpbiAqIHNhbXBsZUwpOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyAr
PSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZVIpOworICAgICAgICAgICAgICAgIGZs
b2F0IHN1bUwgPSBGbHVzaFRvRmxvYXRaZXJvKCpkZXN0aW5hdGlvbkwgKyBnYWluICogKnNvdXJj
ZUwrKyk7CisgICAgICAgICAgICAgICAgZmxvYXQgc3VtUiA9IEZsdXNoVG9GbG9hdFplcm8oKmRl
c3RpbmF0aW9uUiArIGdhaW4gKiAqc291cmNlUisrKTsKKyAgICAgICAgICAgICAgICAqZGVzdGlu
YXRpb25MKysgPSBzdW1MOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IHN1bVI7
CiAKICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWlu
LgogICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERl
emlwcGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRmx1c2hUb0Zsb2F0WmVybyhnYWlu
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvblIpIHsKICAg
ICAgICAgICAgIC8vIE1vbm8gLT4gc3RlcmVvIChtaXggZXF1YWxseSBpbnRvIEwgYW5kIFIpCiAg
ICAgICAgICAgICAvLyBGSVhNRTogUmVhbGx5IHdlIHNob3VsZCBhcHBseSBhbiBlcXVhbC1wb3dl
ciBzY2FsaW5nIGZhY3RvciBoZXJlLCBzaW5jZSB3ZSdyZSBlZmZlY3RpdmVseSBwYW5uaW5nIGNl
bnRlci4uLgogICAgICAgICAgICAgd2hpbGUgKGZyYW1lc1RvUHJvY2Vzcy0tKSB7Ci0gICAgICAg
ICAgICAgICAgZmxvYXQgc2FtcGxlID0gKnNvdXJjZUwrKzsKLSAgICAgICAgICAgICAgICAqZGVz
dGluYXRpb25MKysgKz0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGUpOwotICAgICAg
ICAgICAgICAgICpkZXN0aW5hdGlvblIrKyArPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNh
bXBsZSk7CisgICAgICAgICAgICAgICAgZmxvYXQgc2NhbGVkID0gZ2FpbiAqICpzb3VyY2VMKys7
CisgICAgICAgICAgICAgICAgZmxvYXQgc3VtTCA9IEZsdXNoVG9GbG9hdFplcm8oKmRlc3RpbmF0
aW9uTCArIHNjYWxlZCk7CisgICAgICAgICAgICAgICAgZmxvYXQgc3VtUiA9IEZsdXNoVG9GbG9h
dFplcm8oKmRlc3RpbmF0aW9uUiArIHNjYWxlZCk7CisKKyAgICAgICAgICAgICAgICAqZGVzdGlu
YXRpb25MKysgPSBzdW1MOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IHN1bVI7
CiAKICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWlu
LgogICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERl
emlwcGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRmx1c2hUb0Zsb2F0WmVybyhnYWlu
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIE1vbm8K
ICAgICAgICAgICAgIHdoaWxlIChmcmFtZXNUb1Byb2Nlc3MtLSkgewotICAgICAgICAgICAgICAg
IGZsb2F0IHNhbXBsZUwgPSAqc291cmNlTCsrOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlv
bkwrKyArPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZUwpOworICAgICAgICAgICAg
ICAgIGZsb2F0IHN1bSA9IEZsdXNoVG9GbG9hdFplcm8oKmRlc3RpbmF0aW9uTCArIGdhaW4gKiAq
c291cmNlTCsrKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdW07CiAKICAg
ICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgogICAg
ICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlwcGVy
UmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRmx1c2hUb0Zsb2F0WmVybyhnYWluKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSB7CkBAIC0yOTksMzcgKzMwNiw0MCBA
QCB2b2lkIEF1ZGlvQnVzOjpwcm9jZXNzV2l0aEdhaW5Gcm9tTW9ub1N0ZXJlbyhjb25zdCBBdWRp
b0J1cyAmc291cmNlQnVzLCBkb3VibGUqCiAgICAgICAgICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9j
ZXNzLS0pIHsKICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0gKnNvdXJjZUwrKzsKICAg
ICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVSID0gKnNvdXJjZVIrKzsKLSAgICAgICAgICAgICAg
ICAqZGVzdGluYXRpb25MKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZUwpOwot
ICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IHN0YXRpY19jYXN0PGZsb2F0PihnYWlu
ICogc2FtcGxlUik7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uTCsrID0gRmx1c2hUb0Zs
b2F0WmVybyhnYWluICogc2FtcGxlTCk7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisr
ID0gRmx1c2hUb0Zsb2F0WmVybyhnYWluICogc2FtcGxlUik7CiAKICAgICAgICAgICAgICAgICAv
LyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgogICAgICAgICAgICAgICAgIGdh
aW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlwcGVyUmF0ZTsKKyAgICAgICAg
ICAgICAgICBnYWluID0gRmx1c2hUb0Zsb2F0WmVybyhnYWluKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvblIpIHsKICAgICAgICAgICAgIC8vIE1vbm8gLT4g
c3RlcmVvIChtaXggZXF1YWxseSBpbnRvIEwgYW5kIFIpCiAgICAgICAgICAgICAvLyBGSVhNRTog
UmVhbGx5IHdlIHNob3VsZCBhcHBseSBhbiBlcXVhbC1wb3dlciBzY2FsaW5nIGZhY3RvciBoZXJl
LCBzaW5jZSB3ZSdyZSBlZmZlY3RpdmVseSBwYW5uaW5nIGNlbnRlci4uLgogICAgICAgICAgICAg
d2hpbGUgKGZyYW1lc1RvUHJvY2Vzcy0tKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgc2FtcGxl
ID0gKnNvdXJjZUwrKzsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdGF0aWNf
Y2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZSk7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9u
UisrID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGUpOworICAgICAgICAgICAgICAg
ICpkZXN0aW5hdGlvbkwrKyA9IEZsdXNoVG9GbG9hdFplcm8oZ2FpbiAqIHNhbXBsZSk7CisgICAg
ICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisrID0gRmx1c2hUb0Zsb2F0WmVybyhnYWluICogc2Ft
cGxlKTsKIAogICAgICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNpcmVk
IGdhaW4uCiAgICAgICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdhaW4p
ICogRGV6aXBwZXJSYXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBGbHVzaFRvRmxvYXRaZXJv
KGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8g
TW9ubwogICAgICAgICAgICAgd2hpbGUgKGZyYW1lc1RvUHJvY2Vzcy0tKSB7CiAgICAgICAgICAg
ICAgICAgZmxvYXQgc2FtcGxlTCA9ICpzb3VyY2VMKys7Ci0gICAgICAgICAgICAgICAgKmRlc3Rp
bmF0aW9uTCsrID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGVMKTsKKyAgICAgICAg
ICAgICAgICAqZGVzdGluYXRpb25MKysgPSBGbHVzaFRvRmxvYXRaZXJvKGdhaW4gKiBzYW1wbGVM
KTsKIAogICAgICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNpcmVkIGdh
aW4uCiAgICAgICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdhaW4pICog
RGV6aXBwZXJSYXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBGbHVzaFRvRmxvYXRaZXJvKGdh
aW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCiAgICAgLy8gU2F2ZSB0aGUg
dGFyZ2V0IGdhaW4gYXMgdGhlIHN0YXJ0aW5nIHBvaW50IGZvciBuZXh0IHRpbWUgYXJvdW5kLgot
ICAgICpsYXN0TWl4R2FpbiA9IGdhaW47CisgICAgKmxhc3RNaXhHYWluID0gc3RhdGljX2Nhc3Q8
ZG91YmxlPihnYWluKTsKIH0KIAogdm9pZCBBdWRpb0J1czo6cHJvY2Vzc1dpdGhHYWluRnJvbShj
b25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBkb3VibGUqIGxhc3RNaXhHYWluLCBkb3VibGUgdGFy
Z2V0R2FpbiwgYm9vbCBzdW1Ub0J1cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaAppbmRleCA2OWQ1ZWIzN2VlMWI0ZDQzYjMxNTVlZTFjYTJm
NjczMTExY2UzNjBhLi4zYjEzMTVmNzAxMDM3YTNmNTcyYTE3YmEwODQ1ZTYxZDI2ZjA3YWM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EZW5vcm1hbERpc2FibGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNhYmxlci5o
CkBAIC0yOSw2ICsyOSwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIERlYWwgd2l0aCBk
ZW5vcm1hbHMuIFRoZXkgY2FuIHZlcnkgc2VyaW91c2x5IGltcGFjdCBwZXJmb3JtYW5jZSBvbiB4
ODYuCiAKKyNpZiBPUyhXSU4pICYmIGRlZmluZWQoX01TQ19WRVIpICYmIChfTV9JWDg2X0ZQID09
IDApCisjaW5jbHVkZSA8Y2Zsb2F0PgorI2luY2x1ZGUgPG1hdGguaD4KKy8vIEZvciBzeXN0ZW1z
IHVzaW5nIHg4NyBpbnN0ZWFkIG9mIHNzZSwgdGhlcmUncyBubyBoYXJkd2FyZSBzdXBwb3J0Cisv
LyB0byBmbHVzaCBkZW5vcm1hbHMgYXV0b21hdGljYWxseS4gSGVuY2UsIHdlIG5lZWQgdG8gZmx1
c2gKKy8vIGRlbm9ybWFscyB0byB6ZXJvIG1hbnVhbGx5Lgorc3RhdGljIGlubGluZSBmbG9hdCBG
bHVzaFRvRmxvYXRaZXJvKGZsb2F0IGYpCit7CisgICAgcmV0dXJuIChmYWJzKGYpIDwgRkxUX01J
TikgPyAwLjBmIDogZjsKK30KKyNlbHNlCisjZGVmaW5lIEZsdXNoVG9GbG9hdFplcm8oZikgc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KGYpCisjZW5kaWYKKwogI2lmIGRlZmluZWQoX19HTlVDX18pICYmIChk
ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pKQogY2xhc3MgRGVub3JtYWxE
aXNhYmxlciB7CiBwdWJsaWM6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111105</attachid>
            <date>2011-10-14 16:28:10 -0700</date>
            <delta_ts>2011-10-18 09:25:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70140-20111014162809.patch</filename>
            <type>text/plain</type>
            <size>8866</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MGMwZTFjOTRjZDY2ZmFj
NWI1MjNlNzVlMGQ4ZDA5YjcwZmFhNTkxLi40NzM1ZGJiYzk0YzM4MmRiNDUxZjg2ZDc1OGU1Zjhk
OTJlY2RlOTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMTAtMTQgIFJheW1v
bmQgVG95ICA8cnRveUBnb29nbGUuY29tPgorCisgICAgICAgIEZsdXNoIGRlbm9ybWFscyB0byB6
ZXJvIG9uIFdpbmRvd3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MDE0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKToKKyAgICAgICAgRmx1c2gg
YW55IGRlbm9ybWFscyB0byB6ZXJvIGJlZm9yZSBzYXZpbmcgdGhlIHJlc3VsdC4gIENoYW5nZQor
ICAgICAgICBkb3VibGUgZ2FpbiB0byBmbG9hdCBnYWluIHRvIG1hdGNoIGV4aXN0aW5nIGZsb2F0
IG9wZXJhdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNhYmxlci5o
OgorICAgICAgICAoV2ViQ29yZTo6Rmx1c2hUb0Zsb2F0WmVybyk6CisgICAgICAgIE5ldyBmdW5j
dGlvbiB0byBmbHVzaCB0aGUgZ2l2ZW4gZmxvYXQgdG8gemVybywgaWYgaXQgaXMgYSBkZW5vcm1h
bAorICAgICAgICBudW1iZXIuCisKIDIwMTEtMTAtMTQgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGFjdHVhbGx5IHJlbW92ZSBTdHlsZUxp
c3QuKiBhZnRlciByOTc2NDAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0J1cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5jcHAKaW5kZXggYWQyOWFmMWFhZDIzNzIzNzA5MWY1NTkzNjIyN2I5MzFmZTk5OWNjOC4uZTdm
NWUwNmVmZTIyNTUxOWFlNzBkY2RlNTE1ZTUzMzM2ODZkZWFiMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcApAQCAtMzIsNiArMzIsOCBAQAogCiAjaW5jbHVk
ZSAiQXVkaW9CdXMuaCIKIAorI2luY2x1ZGUgIkRlbm9ybWFsRGlzYWJsZXIuaCIKKwogI2lmICFQ
TEFURk9STShNQUMpCiAjaW5jbHVkZSAiU2luY1Jlc2FtcGxlci5oIgogI2VuZGlmCkBAIC0yMzks
MTAgKzI0MSwxMCBAQCB2b2lkIEF1ZGlvQnVzOjpwcm9jZXNzV2l0aEdhaW5Gcm9tTW9ub1N0ZXJl
byhjb25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBkb3VibGUqCiAgICAgLy8gRklYTUU6IE5lZWQg
ZmFzdCBwYXRoIHdoZW4gdGhpcz09c291cmNlQnVzICYmIGxhc3RNaXhHYWluPT10YXJnZXRHYWlu
PT0xLjAgJiYgc3VtVG9CdXM9PWZhbHNlICh0aGlzIGlzIGEgTk9QKQogCiAgICAgLy8gVGFrZSBt
YXN0ZXIgYnVzIGdhaW4gaW50byBhY2NvdW50IGFzIHdlbGwgYXMgdGhlIHRhcmdldEdhaW4uCi0g
ICAgZG91YmxlIHRvdGFsRGVzaXJlZEdhaW4gPSBtX2J1c0dhaW4gKiB0YXJnZXRHYWluOworICAg
IGZsb2F0IHRvdGFsRGVzaXJlZEdhaW4gPSBzdGF0aWNfY2FzdDxmbG9hdD4obV9idXNHYWluICog
dGFyZ2V0R2Fpbik7CiAKICAgICAvLyBGaXJzdCB0aW1lLCBzbmFwIGRpcmVjdGx5IHRvIHRvdGFs
RGVzaXJlZEdhaW4uCi0gICAgZG91YmxlIGdhaW4gPSBtX2lzRmlyc3RUaW1lID8gdG90YWxEZXNp
cmVkR2FpbiA6ICpsYXN0TWl4R2FpbjsKKyAgICBmbG9hdCBnYWluID0gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KG1faXNGaXJzdFRpbWUgPyB0b3RhbERlc2lyZWRHYWluIDogKmxhc3RNaXhHYWluKTsKICAg
ICBtX2lzRmlyc3RUaW1lID0gZmFsc2U7CiAKICAgICBpbnQgbnVtYmVyT2ZTb3VyY2VDaGFubmVs
cyA9IHNvdXJjZUJ1cy5udW1iZXJPZkNoYW5uZWxzKCk7CkBAIC0yNTUsNyArMjU3LDcgQEAgdm9p
ZCBBdWRpb0J1czo6cHJvY2Vzc1dpdGhHYWluRnJvbU1vbm9TdGVyZW8oY29uc3QgQXVkaW9CdXMg
JnNvdXJjZUJ1cywgZG91YmxlKgogICAgIGZsb2F0KiBkZXN0aW5hdGlvbkwgPSBjaGFubmVsQnlU
eXBlKENoYW5uZWxMZWZ0KS0+ZGF0YSgpOwogICAgIGZsb2F0KiBkZXN0aW5hdGlvblIgPSBudW1i
ZXJPZkRlc3RpbmF0aW9uQ2hhbm5lbHMgPiAxID8gY2hhbm5lbEJ5VHlwZShDaGFubmVsUmlnaHQp
LT5kYXRhKCkgOiAwOwogCi0gICAgY29uc3QgZG91YmxlIERlemlwcGVyUmF0ZSA9IDAuMDA1Owor
ICAgIGNvbnN0IGZsb2F0IERlemlwcGVyUmF0ZSA9IDAuMDA1OwogICAgIGludCBmcmFtZXNUb1By
b2Nlc3MgPSBsZW5ndGgoKTsKIAogICAgIGlmIChzdW1Ub0J1cykgewpAQCAtMjYzLDMzICsyNjUs
MzkgQEAgdm9pZCBBdWRpb0J1czo6cHJvY2Vzc1dpdGhHYWluRnJvbU1vbm9TdGVyZW8oY29uc3Qg
QXVkaW9CdXMgJnNvdXJjZUJ1cywgZG91YmxlKgogICAgICAgICBpZiAoc291cmNlUiAmJiBkZXN0
aW5hdGlvblIpIHsKICAgICAgICAgICAgIC8vIFN0ZXJlbwogICAgICAgICAgICAgd2hpbGUgKGZy
YW1lc1RvUHJvY2Vzcy0tKSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgc2FtcGxlTCA9ICpzb3Vy
Y2VMKys7Ci0gICAgICAgICAgICAgICAgZmxvYXQgc2FtcGxlUiA9ICpzb3VyY2VSKys7Ci0gICAg
ICAgICAgICAgICAgKmRlc3RpbmF0aW9uTCsrICs9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICog
c2FtcGxlTCk7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisrICs9IHN0YXRpY19jYXN0
PGZsb2F0PihnYWluICogc2FtcGxlUik7CisgICAgICAgICAgICAgICAgZmxvYXQgc3VtTCA9IERl
bm9ybWFsRGlzYWJsZXI6OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVybygqZGVzdGluYXRpb25MICsg
Z2FpbiAqICpzb3VyY2VMKyspOworICAgICAgICAgICAgICAgIGZsb2F0IHN1bVIgPSBEZW5vcm1h
bERpc2FibGVyOjpGbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oKmRlc3RpbmF0aW9uUiArIGdhaW4g
KiAqc291cmNlUisrKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdW1MOwor
ICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IHN1bVI7CiAKICAgICAgICAgICAgICAg
ICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgogICAgICAgICAgICAgICAg
IGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlwcGVyUmF0ZTsKKyAgICAg
ICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hEZW5vcm1hbEZsb2F0VG9a
ZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKGRlc3RpbmF0aW9u
UikgewogICAgICAgICAgICAgLy8gTW9ubyAtPiBzdGVyZW8gKG1peCBlcXVhbGx5IGludG8gTCBh
bmQgUikKICAgICAgICAgICAgIC8vIEZJWE1FOiBSZWFsbHkgd2Ugc2hvdWxkIGFwcGx5IGFuIGVx
dWFsLXBvd2VyIHNjYWxpbmcgZmFjdG9yIGhlcmUsIHNpbmNlIHdlJ3JlIGVmZmVjdGl2ZWx5IHBh
bm5pbmcgY2VudGVyLi4uCiAgICAgICAgICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9jZXNzLS0pIHsK
LSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGUgPSAqc291cmNlTCsrOwotICAgICAgICAgICAg
ICAgICpkZXN0aW5hdGlvbkwrKyArPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZSk7
Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisrICs9IHN0YXRpY19jYXN0PGZsb2F0Pihn
YWluICogc2FtcGxlKTsKKyAgICAgICAgICAgICAgICBmbG9hdCBzY2FsZWQgPSBnYWluICogKnNv
dXJjZUwrKzsKKyAgICAgICAgICAgICAgICBmbG9hdCBzdW1MID0gRGVub3JtYWxEaXNhYmxlcjo6
Rmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKCpkZXN0aW5hdGlvbkwgKyBzY2FsZWQpOworICAgICAg
ICAgICAgICAgIGZsb2F0IHN1bVIgPSBEZW5vcm1hbERpc2FibGVyOjpGbHVzaERlbm9ybWFsRmxv
YXRUb1plcm8oKmRlc3RpbmF0aW9uUiArIHNjYWxlZCk7CisKKyAgICAgICAgICAgICAgICAqZGVz
dGluYXRpb25MKysgPSBzdW1MOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IHN1
bVI7CiAKICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBn
YWluLgogICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAq
IERlemlwcGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6
Rmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgLy8gTW9ubwogICAgICAgICAgICAgd2hpbGUgKGZyYW1lc1Rv
UHJvY2Vzcy0tKSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgc2FtcGxlTCA9ICpzb3VyY2VMKys7
Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uTCsrICs9IHN0YXRpY19jYXN0PGZsb2F0Pihn
YWluICogc2FtcGxlTCk7CisgICAgICAgICAgICAgICAgZmxvYXQgc3VtID0gRGVub3JtYWxEaXNh
Ymxlcjo6Rmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKCpkZXN0aW5hdGlvbkwgKyBnYWluICogKnNv
dXJjZUwrKyk7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uTCsrID0gc3VtOwogCiAgICAg
ICAgICAgICAgICAgLy8gU2xvd2x5IGNoYW5nZSBnYWluIHRvIGRlc2lyZWQgZ2Fpbi4KICAgICAg
ICAgICAgICAgICBnYWluICs9ICh0b3RhbERlc2lyZWRHYWluIC0gZ2FpbikgKiBEZXppcHBlclJh
dGU7CisgICAgICAgICAgICAgICAgZ2FpbiA9IERlbm9ybWFsRGlzYWJsZXI6OkZsdXNoRGVub3Jt
YWxGbG9hdFRvWmVybyhnYWluKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxz
ZSB7CkBAIC0yOTksMzcgKzMwNyw0MCBAQCB2b2lkIEF1ZGlvQnVzOjpwcm9jZXNzV2l0aEdhaW5G
cm9tTW9ub1N0ZXJlbyhjb25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBkb3VibGUqCiAgICAgICAg
ICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9jZXNzLS0pIHsKICAgICAgICAgICAgICAgICBmbG9hdCBz
YW1wbGVMID0gKnNvdXJjZUwrKzsKICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVSID0gKnNv
dXJjZVIrKzsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdGF0aWNfY2FzdDxm
bG9hdD4oZ2FpbiAqIHNhbXBsZUwpOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9
IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2FtcGxlUik7CisgICAgICAgICAgICAgICAgKmRl
c3RpbmF0aW9uTCsrID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJv
KGdhaW4gKiBzYW1wbGVMKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgPSBEZW5v
cm1hbERpc2FibGVyOjpGbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oZ2FpbiAqIHNhbXBsZVIpOwog
CiAgICAgICAgICAgICAgICAgLy8gU2xvd2x5IGNoYW5nZSBnYWluIHRvIGRlc2lyZWQgZ2Fpbi4K
ICAgICAgICAgICAgICAgICBnYWluICs9ICh0b3RhbERlc2lyZWRHYWluIC0gZ2FpbikgKiBEZXpp
cHBlclJhdGU7CisgICAgICAgICAgICAgICAgZ2FpbiA9IERlbm9ybWFsRGlzYWJsZXI6OkZsdXNo
RGVub3JtYWxGbG9hdFRvWmVybyhnYWluKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNl
IGlmIChkZXN0aW5hdGlvblIpIHsKICAgICAgICAgICAgIC8vIE1vbm8gLT4gc3RlcmVvIChtaXgg
ZXF1YWxseSBpbnRvIEwgYW5kIFIpCiAgICAgICAgICAgICAvLyBGSVhNRTogUmVhbGx5IHdlIHNo
b3VsZCBhcHBseSBhbiBlcXVhbC1wb3dlciBzY2FsaW5nIGZhY3RvciBoZXJlLCBzaW5jZSB3ZSdy
ZSBlZmZlY3RpdmVseSBwYW5uaW5nIGNlbnRlci4uLgogICAgICAgICAgICAgd2hpbGUgKGZyYW1l
c1RvUHJvY2Vzcy0tKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgc2FtcGxlID0gKnNvdXJjZUwr
KzsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4o
Z2FpbiAqIHNhbXBsZSk7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisrID0gc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGUpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlv
bkwrKyA9IERlbm9ybWFsRGlzYWJsZXI6OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICog
c2FtcGxlKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgPSBEZW5vcm1hbERpc2Fi
bGVyOjpGbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oZ2FpbiAqIHNhbXBsZSk7CiAKICAgICAgICAg
ICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgogICAgICAgICAg
ICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlwcGVyUmF0ZTsK
KyAgICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hEZW5vcm1hbEZs
b2F0VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgLy8gTW9ubwogICAgICAgICAgICAgd2hpbGUgKGZyYW1lc1RvUHJvY2Vzcy0tKSB7CiAg
ICAgICAgICAgICAgICAgZmxvYXQgc2FtcGxlTCA9ICpzb3VyY2VMKys7Ci0gICAgICAgICAgICAg
ICAgKmRlc3RpbmF0aW9uTCsrID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGVMKTsK
KyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBEZW5vcm1hbERpc2FibGVyOjpGbHVz
aERlbm9ybWFsRmxvYXRUb1plcm8oZ2FpbiAqIHNhbXBsZUwpOwogCiAgICAgICAgICAgICAgICAg
Ly8gU2xvd2x5IGNoYW5nZSBnYWluIHRvIGRlc2lyZWQgZ2Fpbi4KICAgICAgICAgICAgICAgICBn
YWluICs9ICh0b3RhbERlc2lyZWRHYWluIC0gZ2FpbikgKiBEZXppcHBlclJhdGU7CisgICAgICAg
ICAgICAgICAgZ2FpbiA9IERlbm9ybWFsRGlzYWJsZXI6OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVy
byhnYWluKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAogICAgIC8vIFNhdmUg
dGhlIHRhcmdldCBnYWluIGFzIHRoZSBzdGFydGluZyBwb2ludCBmb3IgbmV4dCB0aW1lIGFyb3Vu
ZC4KLSAgICAqbGFzdE1peEdhaW4gPSBnYWluOworICAgICpsYXN0TWl4R2FpbiA9IHN0YXRpY19j
YXN0PGRvdWJsZT4oZ2Fpbik7CiB9CiAKIHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZy
b20oY29uc3QgQXVkaW9CdXMgJnNvdXJjZUJ1cywgZG91YmxlKiBsYXN0TWl4R2FpbiwgZG91Ymxl
IHRhcmdldEdhaW4sIGJvb2wgc3VtVG9CdXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9EZW5vcm1hbERpc2FibGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9EZW5vcm1hbERpc2FibGVyLmgKaW5kZXggNjlkNWViMzdlZTFiNGQ0M2IzMTU1ZWUx
Y2EyZjY3MzExMWNlMzYwYS4uMDNiN2E2OWRhZDNiYTgxM2FkOGJmNzU0MWIxZWFkMGI0NjllMzUz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNh
Ymxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJs
ZXIuaApAQCAtMjUsNiArMjUsMTEgQEAKICNpZm5kZWYgRGVub3JtYWxEaXNhYmxlcl9oCiAjZGVm
aW5lIERlbm9ybWFsRGlzYWJsZXJfaAogCisjaWYgT1MoV0lOKSAmJiBkZWZpbmVkKF9NU0NfVkVS
KSAmJiAoX01fSVg4Nl9GUCA9PSAwKQorI2luY2x1ZGUgPGNmbG9hdD4KKyNpbmNsdWRlIDxtYXRo
Lmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBEZWFsIHdpdGggZGVub3Jt
YWxzLiBUaGV5IGNhbiB2ZXJ5IHNlcmlvdXNseSBpbXBhY3QgcGVyZm9ybWFuY2Ugb24geDg2LgpA
QCAtNDMsNiArNDgsMTEgQEAgcHVibGljOgogICAgICAgICBzZXRDU1IobV9zYXZlZENTUik7CiAg
ICAgfQogCisgICAgLy8gVGhpcyBpcyBhIG5vcCBpZiB3ZSBjYW4gZmx1c2ggZGVub3JtYWxzIHRv
IHplcm8gaW4gaGFyZHdhcmUuCisgICAgc3RhdGljIGlubGluZSBmbG9hdCBGbHVzaERlbm9ybWFs
RmxvYXRUb1plcm8oZmxvYXQgZikKKyAgICB7CisgICAgICAgIHJldHVybiBmOworICAgIH0KIHBy
aXZhdGU6CiAgICAgaW5saW5lIGludCBnZXRDU1IoKQogICAgIHsKQEAgLTY1LDYgKzc1LDE4IEBA
IHByaXZhdGU6CiBjbGFzcyBEZW5vcm1hbERpc2FibGVyIHsKIHB1YmxpYzoKICAgICBEZW5vcm1h
bERpc2FibGVyKCkgeyB9CisKKyAgICBzdGF0aWMgaW5saW5lIGZsb2F0IEZsdXNoRGVub3JtYWxG
bG9hdFRvWmVybyhmbG9hdCBmKQorICAgIHsKKyNpZiBPUyhXSU4pICYmIGRlZmluZWQoX01TQ19W
RVIpICYmIChfTV9JWDg2X0ZQID09IDApCisgICAgICAgIC8vIEZvciBzeXN0ZW1zIHVzaW5nIHg4
NyBpbnN0ZWFkIG9mIHNzZSwgdGhlcmUncyBubyBoYXJkd2FyZSBzdXBwb3J0CisgICAgICAgIC8v
IHRvIGZsdXNoIGRlbm9ybWFscyBhdXRvbWF0aWNhbGx5LiBIZW5jZSwgd2UgbmVlZCB0byBmbHVz
aAorICAgICAgICAvLyBkZW5vcm1hbHMgdG8gemVybyBtYW51YWxseS4KKyAgICAgICAgcmV0dXJu
IChmYWJzKGYpIDwgRkxUX01JTikgPyAwLjBmIDogZjsKKyNlbHNlCisgICAgICAgIHJldHVybiBm
OworI2VuZGlmCisgICAgfQogfTsKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111451</attachid>
            <date>2011-10-18 09:25:18 -0700</date>
            <delta_ts>2011-10-18 10:42:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70140-20111018092517.patch</filename>
            <type>text/plain</type>
            <size>9092</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc1OTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhNTI5MTIyNGZhMGQxM2Y2
ZDE2M2Y4NTdjZmE0YjgxMjY3ZjJhNWI1Li5mZjUyNTY0MjFlY2M1NGRjZGZhMzM4ZDNlMzljMDY3
MjE2YWU5MGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMTcgIFJheW1v
bmQgVG95ICA8cnRveUBnb29nbGUuY29tPgorCisgICAgICAgIEZsdXNoIGRlbm9ybWFscyB0byB6
ZXJvIG9uIFdpbmRvd3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MDE0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKToKKyAgICAgICAgRmx1c2gg
YW55IGRlbm9ybWFscyB0byB6ZXJvIGJlZm9yZSBzYXZpbmcgdGhlIHJlc3VsdC4gIENoYW5nZQor
ICAgICAgICBkb3VibGUgZ2FpbiB0byBmbG9hdCBnYWluIHRvIG1hdGNoIGV4aXN0aW5nIGZsb2F0
IG9wZXJhdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNhYmxlci5o
OgorICAgICAgICAoV2ViQ29yZTo6Rmx1c2hUb0Zsb2F0WmVybyk6CisgICAgICAgIE5ldyBmdW5j
dGlvbiB0byBmbHVzaCB0aGUgZ2l2ZW4gZmxvYXQgdG8gemVybywgaWYgaXQgaXMgYSBkZW5vcm1h
bAorICAgICAgICBudW1iZXIuCiAyMDExLTEwLTE3ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgQXZvaWQgbGVha2luZyBkb2N1bWVudCB3aGVuIGxlYXZp
bmcgZ29vZ2xlLmNvbSBkdWUgdG8gZ2VvbG9jYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvQnVzLmNwcAppbmRleCBhZDI5YWYxYWFkMjM3MjM3MDkxZjU1OTM2MjI3Yjkz
MWZlOTk5Y2M4Li41ZjQ4OTE5ODI2NTgxNzViNTNiM2VjY2M1ZmUxYmFmMTFiZjFmNDg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBAIC0zMiw2ICszMiw4
IEBACiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogCisjaW5jbHVkZSAiRGVub3JtYWxEaXNhYmxl
ci5oIgorCiAjaWYgIVBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJTaW5jUmVzYW1wbGVyLmgiCiAj
ZW5kaWYKQEAgLTIzOCwxMSArMjQwLDEzIEBAIHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2Fp
bkZyb21Nb25vU3RlcmVvKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAgICAv
LyBGSVhNRTogTmVlZCBmYXN0IHBhdGggaGVyZSB3aGVuIGdhaW4gaGFzIGNvbnZlcmdlZCBvbiB0
YXJnZXRHYWluLiBJbiB0aGlzIGNhc2UsIGRlLXppcHBlcmluZyBpcyBubyBsb25nZXIgbmVlZGVk
LgogICAgIC8vIEZJWE1FOiBOZWVkIGZhc3QgcGF0aCB3aGVuIHRoaXM9PXNvdXJjZUJ1cyAmJiBs
YXN0TWl4R2Fpbj09dGFyZ2V0R2Fpbj09MS4wICYmIHN1bVRvQnVzPT1mYWxzZSAodGhpcyBpcyBh
IE5PUCkKIAorICAgIC8vIEZJWE1FOiB0YXJnZXRHYWluIGFuZCBsYXN0TWl4R2FpbiBzaG91bGQg
YmUgY2hhbmdlZCB0byBmbG9hdHMgaW5zdGVhZCBvZiBkb3VibGVzLgorICAgIAogICAgIC8vIFRh
a2UgbWFzdGVyIGJ1cyBnYWluIGludG8gYWNjb3VudCBhcyB3ZWxsIGFzIHRoZSB0YXJnZXRHYWlu
LgotICAgIGRvdWJsZSB0b3RhbERlc2lyZWRHYWluID0gbV9idXNHYWluICogdGFyZ2V0R2FpbjsK
KyAgICBmbG9hdCB0b3RhbERlc2lyZWRHYWluID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fYnVzR2Fp
biAqIHRhcmdldEdhaW4pOwogCiAgICAgLy8gRmlyc3QgdGltZSwgc25hcCBkaXJlY3RseSB0byB0
b3RhbERlc2lyZWRHYWluLgotICAgIGRvdWJsZSBnYWluID0gbV9pc0ZpcnN0VGltZSA/IHRvdGFs
RGVzaXJlZEdhaW4gOiAqbGFzdE1peEdhaW47CisgICAgZmxvYXQgZ2FpbiA9IHN0YXRpY19jYXN0
PGZsb2F0PihtX2lzRmlyc3RUaW1lID8gdG90YWxEZXNpcmVkR2FpbiA6ICpsYXN0TWl4R2Fpbik7
CiAgICAgbV9pc0ZpcnN0VGltZSA9IGZhbHNlOwogCiAgICAgaW50IG51bWJlck9mU291cmNlQ2hh
bm5lbHMgPSBzb3VyY2VCdXMubnVtYmVyT2ZDaGFubmVscygpOwpAQCAtMjU1LDcgKzI1OSw3IEBA
IHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKGNvbnN0IEF1ZGlv
QnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAgICBmbG9hdCogZGVzdGluYXRpb25MID0gY2hhbm5l
bEJ5VHlwZShDaGFubmVsTGVmdCktPmRhdGEoKTsKICAgICBmbG9hdCogZGVzdGluYXRpb25SID0g
bnVtYmVyT2ZEZXN0aW5hdGlvbkNoYW5uZWxzID4gMSA/IGNoYW5uZWxCeVR5cGUoQ2hhbm5lbFJp
Z2h0KS0+ZGF0YSgpIDogMDsKIAotICAgIGNvbnN0IGRvdWJsZSBEZXppcHBlclJhdGUgPSAwLjAw
NTsKKyAgICBjb25zdCBmbG9hdCBEZXppcHBlclJhdGUgPSAwLjAwNWY7CiAgICAgaW50IGZyYW1l
c1RvUHJvY2VzcyA9IGxlbmd0aCgpOwogCiAgICAgaWYgKHN1bVRvQnVzKSB7CkBAIC0yNjMsMzMg
KzI2NywzOSBAQCB2b2lkIEF1ZGlvQnVzOjpwcm9jZXNzV2l0aEdhaW5Gcm9tTW9ub1N0ZXJlbyhj
b25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBkb3VibGUqCiAgICAgICAgIGlmIChzb3VyY2VSICYm
IGRlc3RpbmF0aW9uUikgewogICAgICAgICAgICAgLy8gU3RlcmVvCiAgICAgICAgICAgICB3aGls
ZSAoZnJhbWVzVG9Qcm9jZXNzLS0pIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0g
KnNvdXJjZUwrKzsKLSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVSID0gKnNvdXJjZVIrKzsK
LSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgKz0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdh
aW4gKiBzYW1wbGVMKTsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgKz0gc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGVSKTsKKyAgICAgICAgICAgICAgICBmbG9hdCBzdW1M
ID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKCpkZXN0aW5hdGlv
bkwgKyBnYWluICogKnNvdXJjZUwrKyk7CisgICAgICAgICAgICAgICAgZmxvYXQgc3VtUiA9IERl
bm9ybWFsRGlzYWJsZXI6OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVybygqZGVzdGluYXRpb25SICsg
Z2FpbiAqICpzb3VyY2VSKyspOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN1
bUw7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisrID0gc3VtUjsKIAogICAgICAgICAg
ICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNpcmVkIGdhaW4uCiAgICAgICAgICAg
ICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdhaW4pICogRGV6aXBwZXJSYXRlOwor
ICAgICAgICAgICAgICAgIGdhaW4gPSBEZW5vcm1hbERpc2FibGVyOjpGbHVzaERlbm9ybWFsRmxv
YXRUb1plcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoZGVzdGlu
YXRpb25SKSB7CiAgICAgICAgICAgICAvLyBNb25vIC0+IHN0ZXJlbyAobWl4IGVxdWFsbHkgaW50
byBMIGFuZCBSKQogICAgICAgICAgICAgLy8gRklYTUU6IFJlYWxseSB3ZSBzaG91bGQgYXBwbHkg
YW4gZXF1YWwtcG93ZXIgc2NhbGluZyBmYWN0b3IgaGVyZSwgc2luY2Ugd2UncmUgZWZmZWN0aXZl
bHkgcGFubmluZyBjZW50ZXIuLi4KICAgICAgICAgICAgIHdoaWxlIChmcmFtZXNUb1Byb2Nlc3Mt
LSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZSA9ICpzb3VyY2VMKys7Ci0gICAgICAg
ICAgICAgICAgKmRlc3RpbmF0aW9uTCsrICs9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2Ft
cGxlKTsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgKz0gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGdhaW4gKiBzYW1wbGUpOworICAgICAgICAgICAgICAgIGZsb2F0IHNjYWxlZCA9IGdhaW4g
KiAqc291cmNlTCsrOworICAgICAgICAgICAgICAgIGZsb2F0IHN1bUwgPSBEZW5vcm1hbERpc2Fi
bGVyOjpGbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oKmRlc3RpbmF0aW9uTCArIHNjYWxlZCk7Cisg
ICAgICAgICAgICAgICAgZmxvYXQgc3VtUiA9IERlbm9ybWFsRGlzYWJsZXI6OkZsdXNoRGVub3Jt
YWxGbG9hdFRvWmVybygqZGVzdGluYXRpb25SICsgc2NhbGVkKTsKKworICAgICAgICAgICAgICAg
ICpkZXN0aW5hdGlvbkwrKyA9IHN1bUw7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisr
ID0gc3VtUjsKIAogICAgICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNp
cmVkIGdhaW4uCiAgICAgICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdh
aW4pICogRGV6aXBwZXJSYXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBEZW5vcm1hbERpc2Fi
bGVyOjpGbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBNb25vCiAgICAgICAgICAgICB3aGlsZSAoZnJh
bWVzVG9Qcm9jZXNzLS0pIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0gKnNvdXJj
ZUwrKzsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgKz0gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGdhaW4gKiBzYW1wbGVMKTsKKyAgICAgICAgICAgICAgICBmbG9hdCBzdW0gPSBEZW5vcm1h
bERpc2FibGVyOjpGbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oKmRlc3RpbmF0aW9uTCArIGdhaW4g
KiAqc291cmNlTCsrKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdW07CiAK
ICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgog
ICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlw
cGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hE
ZW5vcm1hbEZsb2F0VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
fSBlbHNlIHsKQEAgLTI5OSwzNyArMzA5LDQwIEBAIHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRo
R2FpbkZyb21Nb25vU3RlcmVvKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAg
ICAgICAgICAgIHdoaWxlIChmcmFtZXNUb1Byb2Nlc3MtLSkgewogICAgICAgICAgICAgICAgIGZs
b2F0IHNhbXBsZUwgPSAqc291cmNlTCsrOwogICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZVIg
PSAqc291cmNlUisrOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN0YXRpY19j
YXN0PGZsb2F0PihnYWluICogc2FtcGxlTCk7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9u
UisrID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGVSKTsKKyAgICAgICAgICAgICAg
ICAqZGVzdGluYXRpb25MKysgPSBEZW5vcm1hbERpc2FibGVyOjpGbHVzaERlbm9ybWFsRmxvYXRU
b1plcm8oZ2FpbiAqIHNhbXBsZUwpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9
IERlbm9ybWFsRGlzYWJsZXI6OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICogc2FtcGxl
Uik7CiAKICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBn
YWluLgogICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAq
IERlemlwcGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6
Rmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9
IGVsc2UgaWYgKGRlc3RpbmF0aW9uUikgewogICAgICAgICAgICAgLy8gTW9ubyAtPiBzdGVyZW8g
KG1peCBlcXVhbGx5IGludG8gTCBhbmQgUikKICAgICAgICAgICAgIC8vIEZJWE1FOiBSZWFsbHkg
d2Ugc2hvdWxkIGFwcGx5IGFuIGVxdWFsLXBvd2VyIHNjYWxpbmcgZmFjdG9yIGhlcmUsIHNpbmNl
IHdlJ3JlIGVmZmVjdGl2ZWx5IHBhbm5pbmcgY2VudGVyLi4uCiAgICAgICAgICAgICB3aGlsZSAo
ZnJhbWVzVG9Qcm9jZXNzLS0pIHsKICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGUgPSAqc291
cmNlTCsrOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN0YXRpY19jYXN0PGZs
b2F0PihnYWluICogc2FtcGxlKTsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgPSBz
dGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZSk7CisgICAgICAgICAgICAgICAgKmRlc3Rp
bmF0aW9uTCsrID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGdh
aW4gKiBzYW1wbGUpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IERlbm9ybWFs
RGlzYWJsZXI6OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICogc2FtcGxlKTsKIAogICAg
ICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNpcmVkIGdhaW4uCiAgICAg
ICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdhaW4pICogRGV6aXBwZXJS
YXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBEZW5vcm1hbERpc2FibGVyOjpGbHVzaERlbm9y
bWFsRmxvYXRUb1plcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAvLyBNb25vCiAgICAgICAgICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9jZXNzLS0p
IHsKICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0gKnNvdXJjZUwrKzsKLSAgICAgICAg
ICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBs
ZUwpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IERlbm9ybWFsRGlzYWJsZXI6
OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICogc2FtcGxlTCk7CiAKICAgICAgICAgICAg
ICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgogICAgICAgICAgICAg
ICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlwcGVyUmF0ZTsKKyAg
ICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hEZW5vcm1hbEZsb2F0
VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCiAgICAgLy8g
U2F2ZSB0aGUgdGFyZ2V0IGdhaW4gYXMgdGhlIHN0YXJ0aW5nIHBvaW50IGZvciBuZXh0IHRpbWUg
YXJvdW5kLgotICAgICpsYXN0TWl4R2FpbiA9IGdhaW47CisgICAgKmxhc3RNaXhHYWluID0gc3Rh
dGljX2Nhc3Q8ZG91YmxlPihnYWluKTsKIH0KIAogdm9pZCBBdWRpb0J1czo6cHJvY2Vzc1dpdGhH
YWluRnJvbShjb25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBkb3VibGUqIGxhc3RNaXhHYWluLCBk
b3VibGUgdGFyZ2V0R2FpbiwgYm9vbCBzdW1Ub0J1cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaAppbmRleCA2OWQ1ZWIzN2VlMWI0ZDQzYjMx
NTVlZTFjYTJmNjczMTExY2UzNjBhLi4zNDkzMmNiM2YzMDVjNjJlMTI0MWI4N2VkNzcwMDYwNTQz
ZTc4Yzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EZW5vcm1h
bERpc2FibGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxE
aXNhYmxlci5oCkBAIC0yNSw2ICsyNSwxMCBAQAogI2lmbmRlZiBEZW5vcm1hbERpc2FibGVyX2gK
ICNkZWZpbmUgRGVub3JtYWxEaXNhYmxlcl9oCiAKKyNpZiBPUyhXSU5ET1dTKSAmJiBDT01QSUxF
UihNU1ZDKSAmJiAoX01fSVg4Nl9GUCA9PSAwKQorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+
CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBEZWFsIHdpdGggZGVub3JtYWxz
LiBUaGV5IGNhbiB2ZXJ5IHNlcmlvdXNseSBpbXBhY3QgcGVyZm9ybWFuY2Ugb24geDg2LgpAQCAt
NDMsNiArNDcsMTEgQEAgcHVibGljOgogICAgICAgICBzZXRDU1IobV9zYXZlZENTUik7CiAgICAg
fQogCisgICAgLy8gVGhpcyBpcyBhIG5vcCBpZiB3ZSBjYW4gZmx1c2ggZGVub3JtYWxzIHRvIHpl
cm8gaW4gaGFyZHdhcmUuCisgICAgc3RhdGljIGlubGluZSBmbG9hdCBGbHVzaERlbm9ybWFsRmxv
YXRUb1plcm8oZmxvYXQgZikKKyAgICB7CisgICAgICAgIHJldHVybiBmOworICAgIH0KIHByaXZh
dGU6CiAgICAgaW5saW5lIGludCBnZXRDU1IoKQogICAgIHsKQEAgLTY1LDYgKzc0LDE4IEBAIHBy
aXZhdGU6CiBjbGFzcyBEZW5vcm1hbERpc2FibGVyIHsKIHB1YmxpYzoKICAgICBEZW5vcm1hbERp
c2FibGVyKCkgeyB9CisKKyAgICBzdGF0aWMgaW5saW5lIGZsb2F0IEZsdXNoRGVub3JtYWxGbG9h
dFRvWmVybyhmbG9hdCBmKQorICAgIHsKKyNpZiBPUyhXSU5ET1dTKSAmJiBDT01QSUxFUihNU1ZD
KSAmJiAoX01fSVg4Nl9GUCA9PSAwKQorICAgICAgICAvLyBGb3Igc3lzdGVtcyB1c2luZyB4ODcg
aW5zdGVhZCBvZiBzc2UsIHRoZXJlJ3Mgbm8gaGFyZHdhcmUgc3VwcG9ydAorICAgICAgICAvLyB0
byBmbHVzaCBkZW5vcm1hbHMgYXV0b21hdGljYWxseS4gSGVuY2UsIHdlIG5lZWQgdG8gZmx1c2gK
KyAgICAgICAgLy8gZGVub3JtYWxzIHRvIHplcm8gbWFudWFsbHkuCisgICAgICAgIHJldHVybiAo
ZmFicyhmKSA8IEZMVF9NSU4pID8gMC4wZiA6IGY7CisjZWxzZQorICAgICAgICByZXR1cm4gZjsK
KyNlbmRpZgorICAgIH0KIH07CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111467</attachid>
            <date>2011-10-18 10:42:34 -0700</date>
            <delta_ts>2011-10-18 16:04:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70140-20111018104233.patch</filename>
            <type>text/plain</type>
            <size>9084</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc1OTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhNTI5MTIyNGZhMGQxM2Y2
ZDE2M2Y4NTdjZmE0YjgxMjY3ZjJhNWI1Li5mZjUyNTY0MjFlY2M1NGRjZGZhMzM4ZDNlMzljMDY3
MjE2YWU5MGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMTcgIFJheW1v
bmQgVG95ICA8cnRveUBnb29nbGUuY29tPgorCisgICAgICAgIEZsdXNoIGRlbm9ybWFscyB0byB6
ZXJvIG9uIFdpbmRvd3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MDE0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKToKKyAgICAgICAgRmx1c2gg
YW55IGRlbm9ybWFscyB0byB6ZXJvIGJlZm9yZSBzYXZpbmcgdGhlIHJlc3VsdC4gIENoYW5nZQor
ICAgICAgICBkb3VibGUgZ2FpbiB0byBmbG9hdCBnYWluIHRvIG1hdGNoIGV4aXN0aW5nIGZsb2F0
IG9wZXJhdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNhYmxlci5o
OgorICAgICAgICAoV2ViQ29yZTo6Rmx1c2hUb0Zsb2F0WmVybyk6CisgICAgICAgIE5ldyBmdW5j
dGlvbiB0byBmbHVzaCB0aGUgZ2l2ZW4gZmxvYXQgdG8gemVybywgaWYgaXQgaXMgYSBkZW5vcm1h
bAorICAgICAgICBudW1iZXIuCiAyMDExLTEwLTE3ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgQXZvaWQgbGVha2luZyBkb2N1bWVudCB3aGVuIGxlYXZp
bmcgZ29vZ2xlLmNvbSBkdWUgdG8gZ2VvbG9jYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvQnVzLmNwcAppbmRleCBhZDI5YWYxYWFkMjM3MjM3MDkxZjU1OTM2MjI3Yjkz
MWZlOTk5Y2M4Li41ZjQ4OTE5ODI2NTgxNzViNTNiM2VjY2M1ZmUxYmFmMTFiZjFmNDg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBAIC0zMiw2ICszMiw4
IEBACiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogCisjaW5jbHVkZSAiRGVub3JtYWxEaXNhYmxl
ci5oIgorCiAjaWYgIVBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJTaW5jUmVzYW1wbGVyLmgiCiAj
ZW5kaWYKQEAgLTIzOCwxMSArMjQwLDEzIEBAIHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2Fp
bkZyb21Nb25vU3RlcmVvKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAgICAv
LyBGSVhNRTogTmVlZCBmYXN0IHBhdGggaGVyZSB3aGVuIGdhaW4gaGFzIGNvbnZlcmdlZCBvbiB0
YXJnZXRHYWluLiBJbiB0aGlzIGNhc2UsIGRlLXppcHBlcmluZyBpcyBubyBsb25nZXIgbmVlZGVk
LgogICAgIC8vIEZJWE1FOiBOZWVkIGZhc3QgcGF0aCB3aGVuIHRoaXM9PXNvdXJjZUJ1cyAmJiBs
YXN0TWl4R2Fpbj09dGFyZ2V0R2Fpbj09MS4wICYmIHN1bVRvQnVzPT1mYWxzZSAodGhpcyBpcyBh
IE5PUCkKIAorICAgIC8vIEZJWE1FOiB0YXJnZXRHYWluIGFuZCBsYXN0TWl4R2FpbiBzaG91bGQg
YmUgY2hhbmdlZCB0byBmbG9hdHMgaW5zdGVhZCBvZiBkb3VibGVzLgorICAgIAogICAgIC8vIFRh
a2UgbWFzdGVyIGJ1cyBnYWluIGludG8gYWNjb3VudCBhcyB3ZWxsIGFzIHRoZSB0YXJnZXRHYWlu
LgotICAgIGRvdWJsZSB0b3RhbERlc2lyZWRHYWluID0gbV9idXNHYWluICogdGFyZ2V0R2FpbjsK
KyAgICBmbG9hdCB0b3RhbERlc2lyZWRHYWluID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fYnVzR2Fp
biAqIHRhcmdldEdhaW4pOwogCiAgICAgLy8gRmlyc3QgdGltZSwgc25hcCBkaXJlY3RseSB0byB0
b3RhbERlc2lyZWRHYWluLgotICAgIGRvdWJsZSBnYWluID0gbV9pc0ZpcnN0VGltZSA/IHRvdGFs
RGVzaXJlZEdhaW4gOiAqbGFzdE1peEdhaW47CisgICAgZmxvYXQgZ2FpbiA9IHN0YXRpY19jYXN0
PGZsb2F0PihtX2lzRmlyc3RUaW1lID8gdG90YWxEZXNpcmVkR2FpbiA6ICpsYXN0TWl4R2Fpbik7
CiAgICAgbV9pc0ZpcnN0VGltZSA9IGZhbHNlOwogCiAgICAgaW50IG51bWJlck9mU291cmNlQ2hh
bm5lbHMgPSBzb3VyY2VCdXMubnVtYmVyT2ZDaGFubmVscygpOwpAQCAtMjU1LDcgKzI1OSw3IEBA
IHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKGNvbnN0IEF1ZGlv
QnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAgICBmbG9hdCogZGVzdGluYXRpb25MID0gY2hhbm5l
bEJ5VHlwZShDaGFubmVsTGVmdCktPmRhdGEoKTsKICAgICBmbG9hdCogZGVzdGluYXRpb25SID0g
bnVtYmVyT2ZEZXN0aW5hdGlvbkNoYW5uZWxzID4gMSA/IGNoYW5uZWxCeVR5cGUoQ2hhbm5lbFJp
Z2h0KS0+ZGF0YSgpIDogMDsKIAotICAgIGNvbnN0IGRvdWJsZSBEZXppcHBlclJhdGUgPSAwLjAw
NTsKKyAgICBjb25zdCBmbG9hdCBEZXppcHBlclJhdGUgPSAwLjAwNWY7CiAgICAgaW50IGZyYW1l
c1RvUHJvY2VzcyA9IGxlbmd0aCgpOwogCiAgICAgaWYgKHN1bVRvQnVzKSB7CkBAIC0yNjMsMzMg
KzI2NywzOSBAQCB2b2lkIEF1ZGlvQnVzOjpwcm9jZXNzV2l0aEdhaW5Gcm9tTW9ub1N0ZXJlbyhj
b25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBkb3VibGUqCiAgICAgICAgIGlmIChzb3VyY2VSICYm
IGRlc3RpbmF0aW9uUikgewogICAgICAgICAgICAgLy8gU3RlcmVvCiAgICAgICAgICAgICB3aGls
ZSAoZnJhbWVzVG9Qcm9jZXNzLS0pIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0g
KnNvdXJjZUwrKzsKLSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVSID0gKnNvdXJjZVIrKzsK
LSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgKz0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdh
aW4gKiBzYW1wbGVMKTsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgKz0gc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGVSKTsKKyAgICAgICAgICAgICAgICBmbG9hdCBzdW1M
ID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKCpkZXN0aW5hdGlv
bkwgKyBnYWluICogKnNvdXJjZUwrKyk7CisgICAgICAgICAgICAgICAgZmxvYXQgc3VtUiA9IERl
bm9ybWFsRGlzYWJsZXI6OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVybygqZGVzdGluYXRpb25SICsg
Z2FpbiAqICpzb3VyY2VSKyspOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN1
bUw7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisrID0gc3VtUjsKIAogICAgICAgICAg
ICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNpcmVkIGdhaW4uCiAgICAgICAgICAg
ICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdhaW4pICogRGV6aXBwZXJSYXRlOwor
ICAgICAgICAgICAgICAgIGdhaW4gPSBEZW5vcm1hbERpc2FibGVyOjpGbHVzaERlbm9ybWFsRmxv
YXRUb1plcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoZGVzdGlu
YXRpb25SKSB7CiAgICAgICAgICAgICAvLyBNb25vIC0+IHN0ZXJlbyAobWl4IGVxdWFsbHkgaW50
byBMIGFuZCBSKQogICAgICAgICAgICAgLy8gRklYTUU6IFJlYWxseSB3ZSBzaG91bGQgYXBwbHkg
YW4gZXF1YWwtcG93ZXIgc2NhbGluZyBmYWN0b3IgaGVyZSwgc2luY2Ugd2UncmUgZWZmZWN0aXZl
bHkgcGFubmluZyBjZW50ZXIuLi4KICAgICAgICAgICAgIHdoaWxlIChmcmFtZXNUb1Byb2Nlc3Mt
LSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZSA9ICpzb3VyY2VMKys7Ci0gICAgICAg
ICAgICAgICAgKmRlc3RpbmF0aW9uTCsrICs9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2Ft
cGxlKTsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgKz0gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGdhaW4gKiBzYW1wbGUpOworICAgICAgICAgICAgICAgIGZsb2F0IHNjYWxlZCA9IGdhaW4g
KiAqc291cmNlTCsrOworICAgICAgICAgICAgICAgIGZsb2F0IHN1bUwgPSBEZW5vcm1hbERpc2Fi
bGVyOjpGbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oKmRlc3RpbmF0aW9uTCArIHNjYWxlZCk7Cisg
ICAgICAgICAgICAgICAgZmxvYXQgc3VtUiA9IERlbm9ybWFsRGlzYWJsZXI6OkZsdXNoRGVub3Jt
YWxGbG9hdFRvWmVybygqZGVzdGluYXRpb25SICsgc2NhbGVkKTsKKworICAgICAgICAgICAgICAg
ICpkZXN0aW5hdGlvbkwrKyA9IHN1bUw7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisr
ID0gc3VtUjsKIAogICAgICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNp
cmVkIGdhaW4uCiAgICAgICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdh
aW4pICogRGV6aXBwZXJSYXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBEZW5vcm1hbERpc2Fi
bGVyOjpGbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBNb25vCiAgICAgICAgICAgICB3aGlsZSAoZnJh
bWVzVG9Qcm9jZXNzLS0pIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0gKnNvdXJj
ZUwrKzsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgKz0gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGdhaW4gKiBzYW1wbGVMKTsKKyAgICAgICAgICAgICAgICBmbG9hdCBzdW0gPSBEZW5vcm1h
bERpc2FibGVyOjpGbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oKmRlc3RpbmF0aW9uTCArIGdhaW4g
KiAqc291cmNlTCsrKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdW07CiAK
ICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgog
ICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlw
cGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hE
ZW5vcm1hbEZsb2F0VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
fSBlbHNlIHsKQEAgLTI5OSwzNyArMzA5LDQwIEBAIHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRo
R2FpbkZyb21Nb25vU3RlcmVvKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAg
ICAgICAgICAgIHdoaWxlIChmcmFtZXNUb1Byb2Nlc3MtLSkgewogICAgICAgICAgICAgICAgIGZs
b2F0IHNhbXBsZUwgPSAqc291cmNlTCsrOwogICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZVIg
PSAqc291cmNlUisrOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN0YXRpY19j
YXN0PGZsb2F0PihnYWluICogc2FtcGxlTCk7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9u
UisrID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGVSKTsKKyAgICAgICAgICAgICAg
ICAqZGVzdGluYXRpb25MKysgPSBEZW5vcm1hbERpc2FibGVyOjpGbHVzaERlbm9ybWFsRmxvYXRU
b1plcm8oZ2FpbiAqIHNhbXBsZUwpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9
IERlbm9ybWFsRGlzYWJsZXI6OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICogc2FtcGxl
Uik7CiAKICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBn
YWluLgogICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAq
IERlemlwcGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6
Rmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9
IGVsc2UgaWYgKGRlc3RpbmF0aW9uUikgewogICAgICAgICAgICAgLy8gTW9ubyAtPiBzdGVyZW8g
KG1peCBlcXVhbGx5IGludG8gTCBhbmQgUikKICAgICAgICAgICAgIC8vIEZJWE1FOiBSZWFsbHkg
d2Ugc2hvdWxkIGFwcGx5IGFuIGVxdWFsLXBvd2VyIHNjYWxpbmcgZmFjdG9yIGhlcmUsIHNpbmNl
IHdlJ3JlIGVmZmVjdGl2ZWx5IHBhbm5pbmcgY2VudGVyLi4uCiAgICAgICAgICAgICB3aGlsZSAo
ZnJhbWVzVG9Qcm9jZXNzLS0pIHsKICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGUgPSAqc291
cmNlTCsrOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN0YXRpY19jYXN0PGZs
b2F0PihnYWluICogc2FtcGxlKTsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgPSBz
dGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZSk7CisgICAgICAgICAgICAgICAgKmRlc3Rp
bmF0aW9uTCsrID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGdh
aW4gKiBzYW1wbGUpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IERlbm9ybWFs
RGlzYWJsZXI6OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICogc2FtcGxlKTsKIAogICAg
ICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNpcmVkIGdhaW4uCiAgICAg
ICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdhaW4pICogRGV6aXBwZXJS
YXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBEZW5vcm1hbERpc2FibGVyOjpGbHVzaERlbm9y
bWFsRmxvYXRUb1plcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAvLyBNb25vCiAgICAgICAgICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9jZXNzLS0p
IHsKICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0gKnNvdXJjZUwrKzsKLSAgICAgICAg
ICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBs
ZUwpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IERlbm9ybWFsRGlzYWJsZXI6
OkZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICogc2FtcGxlTCk7CiAKICAgICAgICAgICAg
ICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgogICAgICAgICAgICAg
ICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlwcGVyUmF0ZTsKKyAg
ICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6Rmx1c2hEZW5vcm1hbEZsb2F0
VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCiAgICAgLy8g
U2F2ZSB0aGUgdGFyZ2V0IGdhaW4gYXMgdGhlIHN0YXJ0aW5nIHBvaW50IGZvciBuZXh0IHRpbWUg
YXJvdW5kLgotICAgICpsYXN0TWl4R2FpbiA9IGdhaW47CisgICAgKmxhc3RNaXhHYWluID0gc3Rh
dGljX2Nhc3Q8ZG91YmxlPihnYWluKTsKIH0KIAogdm9pZCBBdWRpb0J1czo6cHJvY2Vzc1dpdGhH
YWluRnJvbShjb25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBkb3VibGUqIGxhc3RNaXhHYWluLCBk
b3VibGUgdGFyZ2V0R2FpbiwgYm9vbCBzdW1Ub0J1cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaAppbmRleCA2OWQ1ZWIzN2VlMWI0ZDQzYjMx
NTVlZTFjYTJmNjczMTExY2UzNjBhLi45NjFlMmYyMDQ5YTE5NDc0MzY0Zjk5N2E4NDJlNDZiOWRk
NjQxNGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EZW5vcm1h
bERpc2FibGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxE
aXNhYmxlci5oCkBAIC0yNSw2ICsyNSwxMCBAQAogI2lmbmRlZiBEZW5vcm1hbERpc2FibGVyX2gK
ICNkZWZpbmUgRGVub3JtYWxEaXNhYmxlcl9oCiAKKyNpZiBPUyhXSU5ET1dTKSAmJiBDT01QSUxF
UihNU1ZDKSAmJiAoIV9NX0lYODZfRlApCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIERlYWwgd2l0aCBkZW5vcm1hbHMuIFRo
ZXkgY2FuIHZlcnkgc2VyaW91c2x5IGltcGFjdCBwZXJmb3JtYW5jZSBvbiB4ODYuCkBAIC00Myw2
ICs0NywxMSBAQCBwdWJsaWM6CiAgICAgICAgIHNldENTUihtX3NhdmVkQ1NSKTsKICAgICB9CiAK
KyAgICAvLyBUaGlzIGlzIGEgbm9wIGlmIHdlIGNhbiBmbHVzaCBkZW5vcm1hbHMgdG8gemVybyBp
biBoYXJkd2FyZS4KKyAgICBzdGF0aWMgaW5saW5lIGZsb2F0IEZsdXNoRGVub3JtYWxGbG9hdFRv
WmVybyhmbG9hdCBmKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGY7CisgICAgfQogcHJpdmF0ZToK
ICAgICBpbmxpbmUgaW50IGdldENTUigpCiAgICAgewpAQCAtNjUsNiArNzQsMTggQEAgcHJpdmF0
ZToKIGNsYXNzIERlbm9ybWFsRGlzYWJsZXIgewogcHVibGljOgogICAgIERlbm9ybWFsRGlzYWJs
ZXIoKSB7IH0KKworICAgIHN0YXRpYyBpbmxpbmUgZmxvYXQgRmx1c2hEZW5vcm1hbEZsb2F0VG9a
ZXJvKGZsb2F0IGYpCisgICAgeworI2lmIE9TKFdJTkRPV1MpICYmIENPTVBJTEVSKE1TVkMpICYm
ICghX01fSVg4Nl9GUCkKKyAgICAgICAgLy8gRm9yIHN5c3RlbXMgdXNpbmcgeDg3IGluc3RlYWQg
b2Ygc3NlLCB0aGVyZSdzIG5vIGhhcmR3YXJlIHN1cHBvcnQKKyAgICAgICAgLy8gdG8gZmx1c2gg
ZGVub3JtYWxzIGF1dG9tYXRpY2FsbHkuIEhlbmNlLCB3ZSBuZWVkIHRvIGZsdXNoCisgICAgICAg
IC8vIGRlbm9ybWFscyB0byB6ZXJvIG1hbnVhbGx5LgorICAgICAgICByZXR1cm4gKGZhYnMoZikg
PCBGTFRfTUlOKSA/IDAuMGYgOiBmOworI2Vsc2UKKyAgICAgICAgcmV0dXJuIGY7CisjZW5kaWYK
KyAgICB9CiB9OwogCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111519</attachid>
            <date>2011-10-18 16:04:52 -0700</date>
            <delta_ts>2011-10-19 10:43:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70140-20111018160451.patch</filename>
            <type>text/plain</type>
            <size>9023</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc1OTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhNTI5MTIyNGZhMGQxM2Y2
ZDE2M2Y4NTdjZmE0YjgxMjY3ZjJhNWI1Li5mZjUyNTY0MjFlY2M1NGRjZGZhMzM4ZDNlMzljMDY3
MjE2YWU5MGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMTcgIFJheW1v
bmQgVG95ICA8cnRveUBnb29nbGUuY29tPgorCisgICAgICAgIEZsdXNoIGRlbm9ybWFscyB0byB6
ZXJvIG9uIFdpbmRvd3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MDE0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKToKKyAgICAgICAgRmx1c2gg
YW55IGRlbm9ybWFscyB0byB6ZXJvIGJlZm9yZSBzYXZpbmcgdGhlIHJlc3VsdC4gIENoYW5nZQor
ICAgICAgICBkb3VibGUgZ2FpbiB0byBmbG9hdCBnYWluIHRvIG1hdGNoIGV4aXN0aW5nIGZsb2F0
IG9wZXJhdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNhYmxlci5o
OgorICAgICAgICAoV2ViQ29yZTo6Rmx1c2hUb0Zsb2F0WmVybyk6CisgICAgICAgIE5ldyBmdW5j
dGlvbiB0byBmbHVzaCB0aGUgZ2l2ZW4gZmxvYXQgdG8gemVybywgaWYgaXQgaXMgYSBkZW5vcm1h
bAorICAgICAgICBudW1iZXIuCiAyMDExLTEwLTE3ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgQXZvaWQgbGVha2luZyBkb2N1bWVudCB3aGVuIGxlYXZp
bmcgZ29vZ2xlLmNvbSBkdWUgdG8gZ2VvbG9jYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvQnVzLmNwcAppbmRleCBhZDI5YWYxYWFkMjM3MjM3MDkxZjU1OTM2MjI3Yjkz
MWZlOTk5Y2M4Li42YzA3NmI3ZWNhYTYxMzJhMTQ0NDBlNzZkM2JkNzM0MzVkOTU1MmQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCkBAIC0zMiw2ICszMiw4
IEBACiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogCisjaW5jbHVkZSAiRGVub3JtYWxEaXNhYmxl
ci5oIgorCiAjaWYgIVBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJTaW5jUmVzYW1wbGVyLmgiCiAj
ZW5kaWYKQEAgLTIzOCwxMSArMjQwLDEzIEBAIHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2Fp
bkZyb21Nb25vU3RlcmVvKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAgICAv
LyBGSVhNRTogTmVlZCBmYXN0IHBhdGggaGVyZSB3aGVuIGdhaW4gaGFzIGNvbnZlcmdlZCBvbiB0
YXJnZXRHYWluLiBJbiB0aGlzIGNhc2UsIGRlLXppcHBlcmluZyBpcyBubyBsb25nZXIgbmVlZGVk
LgogICAgIC8vIEZJWE1FOiBOZWVkIGZhc3QgcGF0aCB3aGVuIHRoaXM9PXNvdXJjZUJ1cyAmJiBs
YXN0TWl4R2Fpbj09dGFyZ2V0R2Fpbj09MS4wICYmIHN1bVRvQnVzPT1mYWxzZSAodGhpcyBpcyBh
IE5PUCkKIAorICAgIC8vIEZJWE1FOiB0YXJnZXRHYWluIGFuZCBsYXN0TWl4R2FpbiBzaG91bGQg
YmUgY2hhbmdlZCB0byBmbG9hdHMgaW5zdGVhZCBvZiBkb3VibGVzLgorICAgIAogICAgIC8vIFRh
a2UgbWFzdGVyIGJ1cyBnYWluIGludG8gYWNjb3VudCBhcyB3ZWxsIGFzIHRoZSB0YXJnZXRHYWlu
LgotICAgIGRvdWJsZSB0b3RhbERlc2lyZWRHYWluID0gbV9idXNHYWluICogdGFyZ2V0R2FpbjsK
KyAgICBmbG9hdCB0b3RhbERlc2lyZWRHYWluID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fYnVzR2Fp
biAqIHRhcmdldEdhaW4pOwogCiAgICAgLy8gRmlyc3QgdGltZSwgc25hcCBkaXJlY3RseSB0byB0
b3RhbERlc2lyZWRHYWluLgotICAgIGRvdWJsZSBnYWluID0gbV9pc0ZpcnN0VGltZSA/IHRvdGFs
RGVzaXJlZEdhaW4gOiAqbGFzdE1peEdhaW47CisgICAgZmxvYXQgZ2FpbiA9IHN0YXRpY19jYXN0
PGZsb2F0PihtX2lzRmlyc3RUaW1lID8gdG90YWxEZXNpcmVkR2FpbiA6ICpsYXN0TWl4R2Fpbik7
CiAgICAgbV9pc0ZpcnN0VGltZSA9IGZhbHNlOwogCiAgICAgaW50IG51bWJlck9mU291cmNlQ2hh
bm5lbHMgPSBzb3VyY2VCdXMubnVtYmVyT2ZDaGFubmVscygpOwpAQCAtMjU1LDcgKzI1OSw3IEBA
IHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKGNvbnN0IEF1ZGlv
QnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAgICBmbG9hdCogZGVzdGluYXRpb25MID0gY2hhbm5l
bEJ5VHlwZShDaGFubmVsTGVmdCktPmRhdGEoKTsKICAgICBmbG9hdCogZGVzdGluYXRpb25SID0g
bnVtYmVyT2ZEZXN0aW5hdGlvbkNoYW5uZWxzID4gMSA/IGNoYW5uZWxCeVR5cGUoQ2hhbm5lbFJp
Z2h0KS0+ZGF0YSgpIDogMDsKIAotICAgIGNvbnN0IGRvdWJsZSBEZXppcHBlclJhdGUgPSAwLjAw
NTsKKyAgICBjb25zdCBmbG9hdCBEZXppcHBlclJhdGUgPSAwLjAwNWY7CiAgICAgaW50IGZyYW1l
c1RvUHJvY2VzcyA9IGxlbmd0aCgpOwogCiAgICAgaWYgKHN1bVRvQnVzKSB7CkBAIC0yNjMsMzMg
KzI2NywzOSBAQCB2b2lkIEF1ZGlvQnVzOjpwcm9jZXNzV2l0aEdhaW5Gcm9tTW9ub1N0ZXJlbyhj
b25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBkb3VibGUqCiAgICAgICAgIGlmIChzb3VyY2VSICYm
IGRlc3RpbmF0aW9uUikgewogICAgICAgICAgICAgLy8gU3RlcmVvCiAgICAgICAgICAgICB3aGls
ZSAoZnJhbWVzVG9Qcm9jZXNzLS0pIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0g
KnNvdXJjZUwrKzsKLSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVSID0gKnNvdXJjZVIrKzsK
LSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgKz0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdh
aW4gKiBzYW1wbGVMKTsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgKz0gc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGVSKTsKKyAgICAgICAgICAgICAgICBmbG9hdCBzdW1M
ID0gRGVub3JtYWxEaXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKCpkZXN0aW5hdGlv
bkwgKyBnYWluICogKnNvdXJjZUwrKyk7CisgICAgICAgICAgICAgICAgZmxvYXQgc3VtUiA9IERl
bm9ybWFsRGlzYWJsZXI6OmZsdXNoRGVub3JtYWxGbG9hdFRvWmVybygqZGVzdGluYXRpb25SICsg
Z2FpbiAqICpzb3VyY2VSKyspOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN1
bUw7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisrID0gc3VtUjsKIAogICAgICAgICAg
ICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNpcmVkIGdhaW4uCiAgICAgICAgICAg
ICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdhaW4pICogRGV6aXBwZXJSYXRlOwor
ICAgICAgICAgICAgICAgIGdhaW4gPSBEZW5vcm1hbERpc2FibGVyOjpmbHVzaERlbm9ybWFsRmxv
YXRUb1plcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoZGVzdGlu
YXRpb25SKSB7CiAgICAgICAgICAgICAvLyBNb25vIC0+IHN0ZXJlbyAobWl4IGVxdWFsbHkgaW50
byBMIGFuZCBSKQogICAgICAgICAgICAgLy8gRklYTUU6IFJlYWxseSB3ZSBzaG91bGQgYXBwbHkg
YW4gZXF1YWwtcG93ZXIgc2NhbGluZyBmYWN0b3IgaGVyZSwgc2luY2Ugd2UncmUgZWZmZWN0aXZl
bHkgcGFubmluZyBjZW50ZXIuLi4KICAgICAgICAgICAgIHdoaWxlIChmcmFtZXNUb1Byb2Nlc3Mt
LSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZSA9ICpzb3VyY2VMKys7Ci0gICAgICAg
ICAgICAgICAgKmRlc3RpbmF0aW9uTCsrICs9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2Ft
cGxlKTsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgKz0gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGdhaW4gKiBzYW1wbGUpOworICAgICAgICAgICAgICAgIGZsb2F0IHNjYWxlZCA9IGdhaW4g
KiAqc291cmNlTCsrOworICAgICAgICAgICAgICAgIGZsb2F0IHN1bUwgPSBEZW5vcm1hbERpc2Fi
bGVyOjpmbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oKmRlc3RpbmF0aW9uTCArIHNjYWxlZCk7Cisg
ICAgICAgICAgICAgICAgZmxvYXQgc3VtUiA9IERlbm9ybWFsRGlzYWJsZXI6OmZsdXNoRGVub3Jt
YWxGbG9hdFRvWmVybygqZGVzdGluYXRpb25SICsgc2NhbGVkKTsKKworICAgICAgICAgICAgICAg
ICpkZXN0aW5hdGlvbkwrKyA9IHN1bUw7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uUisr
ID0gc3VtUjsKIAogICAgICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNp
cmVkIGdhaW4uCiAgICAgICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdh
aW4pICogRGV6aXBwZXJSYXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBEZW5vcm1hbERpc2Fi
bGVyOjpmbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBNb25vCiAgICAgICAgICAgICB3aGlsZSAoZnJh
bWVzVG9Qcm9jZXNzLS0pIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0gKnNvdXJj
ZUwrKzsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgKz0gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGdhaW4gKiBzYW1wbGVMKTsKKyAgICAgICAgICAgICAgICBmbG9hdCBzdW0gPSBEZW5vcm1h
bERpc2FibGVyOjpmbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oKmRlc3RpbmF0aW9uTCArIGdhaW4g
KiAqc291cmNlTCsrKTsKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdW07CiAK
ICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgog
ICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlw
cGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6Zmx1c2hE
ZW5vcm1hbEZsb2F0VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
fSBlbHNlIHsKQEAgLTI5OSwzNyArMzA5LDQwIEBAIHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRo
R2FpbkZyb21Nb25vU3RlcmVvKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMsIGRvdWJsZSoKICAg
ICAgICAgICAgIHdoaWxlIChmcmFtZXNUb1Byb2Nlc3MtLSkgewogICAgICAgICAgICAgICAgIGZs
b2F0IHNhbXBsZUwgPSAqc291cmNlTCsrOwogICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZVIg
PSAqc291cmNlUisrOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN0YXRpY19j
YXN0PGZsb2F0PihnYWluICogc2FtcGxlTCk7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9u
UisrID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGVSKTsKKyAgICAgICAgICAgICAg
ICAqZGVzdGluYXRpb25MKysgPSBEZW5vcm1hbERpc2FibGVyOjpmbHVzaERlbm9ybWFsRmxvYXRU
b1plcm8oZ2FpbiAqIHNhbXBsZUwpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9
IERlbm9ybWFsRGlzYWJsZXI6OmZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICogc2FtcGxl
Uik7CiAKICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBn
YWluLgogICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAq
IERlemlwcGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6
Zmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9
IGVsc2UgaWYgKGRlc3RpbmF0aW9uUikgewogICAgICAgICAgICAgLy8gTW9ubyAtPiBzdGVyZW8g
KG1peCBlcXVhbGx5IGludG8gTCBhbmQgUikKICAgICAgICAgICAgIC8vIEZJWE1FOiBSZWFsbHkg
d2Ugc2hvdWxkIGFwcGx5IGFuIGVxdWFsLXBvd2VyIHNjYWxpbmcgZmFjdG9yIGhlcmUsIHNpbmNl
IHdlJ3JlIGVmZmVjdGl2ZWx5IHBhbm5pbmcgY2VudGVyLi4uCiAgICAgICAgICAgICB3aGlsZSAo
ZnJhbWVzVG9Qcm9jZXNzLS0pIHsKICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGUgPSAqc291
cmNlTCsrOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IHN0YXRpY19jYXN0PGZs
b2F0PihnYWluICogc2FtcGxlKTsKLSAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25SKysgPSBz
dGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZSk7CisgICAgICAgICAgICAgICAgKmRlc3Rp
bmF0aW9uTCsrID0gRGVub3JtYWxEaXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGdh
aW4gKiBzYW1wbGUpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IERlbm9ybWFs
RGlzYWJsZXI6OmZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICogc2FtcGxlKTsKIAogICAg
ICAgICAgICAgICAgIC8vIFNsb3dseSBjaGFuZ2UgZ2FpbiB0byBkZXNpcmVkIGdhaW4uCiAgICAg
ICAgICAgICAgICAgZ2FpbiArPSAodG90YWxEZXNpcmVkR2FpbiAtIGdhaW4pICogRGV6aXBwZXJS
YXRlOworICAgICAgICAgICAgICAgIGdhaW4gPSBEZW5vcm1hbERpc2FibGVyOjpmbHVzaERlbm9y
bWFsRmxvYXRUb1plcm8oZ2Fpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAvLyBNb25vCiAgICAgICAgICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9jZXNzLS0p
IHsKICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0gKnNvdXJjZUwrKzsKLSAgICAgICAg
ICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBs
ZUwpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IERlbm9ybWFsRGlzYWJsZXI6
OmZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICogc2FtcGxlTCk7CiAKICAgICAgICAgICAg
ICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgogICAgICAgICAgICAg
ICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlwcGVyUmF0ZTsKKyAg
ICAgICAgICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0
VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCiAgICAgLy8g
U2F2ZSB0aGUgdGFyZ2V0IGdhaW4gYXMgdGhlIHN0YXJ0aW5nIHBvaW50IGZvciBuZXh0IHRpbWUg
YXJvdW5kLgotICAgICpsYXN0TWl4R2FpbiA9IGdhaW47CisgICAgKmxhc3RNaXhHYWluID0gc3Rh
dGljX2Nhc3Q8ZG91YmxlPihnYWluKTsKIH0KIAogdm9pZCBBdWRpb0J1czo6cHJvY2Vzc1dpdGhH
YWluRnJvbShjb25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBkb3VibGUqIGxhc3RNaXhHYWluLCBk
b3VibGUgdGFyZ2V0R2FpbiwgYm9vbCBzdW1Ub0J1cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaAppbmRleCA2OWQ1ZWIzN2VlMWI0ZDQzYjMx
NTVlZTFjYTJmNjczMTExY2UzNjBhLi41ODgzZWVkYzZhNzZjOGFkZTEzNDI4MmM5Mjg0ZTZkODY5
ZTAxOGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EZW5vcm1h
bERpc2FibGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxE
aXNhYmxlci5oCkBAIC0yNSw2ICsyNSw4IEBACiAjaWZuZGVmIERlbm9ybWFsRGlzYWJsZXJfaAog
I2RlZmluZSBEZW5vcm1hbERpc2FibGVyX2gKIAorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gRGVhbCB3aXRoIGRlbm9ybWFscy4gVGhleSBj
YW4gdmVyeSBzZXJpb3VzbHkgaW1wYWN0IHBlcmZvcm1hbmNlIG9uIHg4Ni4KQEAgLTQzLDYgKzQ1
LDExIEBAIHB1YmxpYzoKICAgICAgICAgc2V0Q1NSKG1fc2F2ZWRDU1IpOwogICAgIH0KIAorICAg
IC8vIFRoaXMgaXMgYSBub3AgaWYgd2UgY2FuIGZsdXNoIGRlbm9ybWFscyB0byB6ZXJvIGluIGhh
cmR3YXJlLgorICAgIHN0YXRpYyBpbmxpbmUgZmxvYXQgZmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJv
KGZsb2F0IGYpCisgICAgeworICAgICAgICByZXR1cm4gZjsKKyAgICB9CiBwcml2YXRlOgogICAg
IGlubGluZSBpbnQgZ2V0Q1NSKCkKICAgICB7CkBAIC02NSw2ICs3MiwxOCBAQCBwcml2YXRlOgog
Y2xhc3MgRGVub3JtYWxEaXNhYmxlciB7CiBwdWJsaWM6CiAgICAgRGVub3JtYWxEaXNhYmxlcigp
IHsgfQorCisgICAgc3RhdGljIGlubGluZSBmbG9hdCBmbHVzaERlbm9ybWFsRmxvYXRUb1plcm8o
ZmxvYXQgZikKKyAgICB7CisjaWYgT1MoV0lORE9XUykgJiYgQ09NUElMRVIoTVNWQykgJiYgKCFf
TV9JWDg2X0ZQKQorICAgICAgICAvLyBGb3Igc3lzdGVtcyB1c2luZyB4ODcgaW5zdGVhZCBvZiBz
c2UsIHRoZXJlJ3Mgbm8gaGFyZHdhcmUgc3VwcG9ydAorICAgICAgICAvLyB0byBmbHVzaCBkZW5v
cm1hbHMgYXV0b21hdGljYWxseS4gSGVuY2UsIHdlIG5lZWQgdG8gZmx1c2gKKyAgICAgICAgLy8g
ZGVub3JtYWxzIHRvIHplcm8gbWFudWFsbHkuCisgICAgICAgIHJldHVybiAoZmFicyhmKSA8IEZM
VF9NSU4pID8gMC4wZiA6IGY7CisjZWxzZQorICAgICAgICByZXR1cm4gZjsKKyNlbmRpZgorICAg
IH0KIH07CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111643</attachid>
            <date>2011-10-19 10:33:37 -0700</date>
            <delta_ts>2011-10-19 18:51:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70140-20111019103336.patch</filename>
            <type>text/plain</type>
            <size>9051</size>
            <attacher name="Raymond Toy">rtoy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc1OTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhNTI5MTIyNGZhMGQxM2Y2
ZDE2M2Y4NTdjZmE0YjgxMjY3ZjJhNWI1Li4wZGY5Zjc1Nzg4ODYxODI2Zjg0ZTJkOTkwMmY4YzNi
YWU5ODhjNzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMTAtMTcgIFJheW1v
bmQgVG95ICA8cnRveUBnb29nbGUuY29tPgorCisgICAgICAgIEZsdXNoIGRlbm9ybWFscyB0byB6
ZXJvIG9uIFdpbmRvd3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MDE0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb21Nb25vU3RlcmVvKToKKyAgICAgICAgRmx1c2gg
YW55IGRlbm9ybWFscyB0byB6ZXJvIGJlZm9yZSBzYXZpbmcgdGhlIHJlc3VsdC4gIENoYW5nZQor
ICAgICAgICBkb3VibGUgZ2FpbiB0byBmbG9hdCBnYWluIHRvIG1hdGNoIGV4aXN0aW5nIGZsb2F0
IG9wZXJhdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNhYmxlci5o
OgorICAgICAgICAoV2ViQ29yZTo6RGVub3JtYWxEaXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0
VG9aZXJvKToKKyAgICAgICAgTmV3IGZ1bmN0aW9uIHRvIGZsdXNoIHRoZSBnaXZlbiBmbG9hdCB0
byB6ZXJvLCBpZiBpdCBpcyBhIGRlbm9ybWFsCisgICAgICAgIG51bWJlci4KKwogMjAxMS0xMC0x
NyAgU2F0aXNoIFNhbXBhdGggIDxzYXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEF2b2lk
IGxlYWtpbmcgZG9jdW1lbnQgd2hlbiBsZWF2aW5nIGdvb2dsZS5jb20gZHVlIHRvIGdlb2xvY2F0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5jcHAKaW5kZXggYWQy
OWFmMWFhZDIzNzIzNzA5MWY1NTkzNjIyN2I5MzFmZTk5OWNjOC4uNmMwNzZiN2VjYWE2MTMyYTE0
NDQwZTc2ZDNiZDczNDM1ZDk1NTJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9CdXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmNwcApAQCAtMzIsNiArMzIsOCBAQAogCiAjaW5jbHVkZSAiQXVkaW9CdXMuaCIK
IAorI2luY2x1ZGUgIkRlbm9ybWFsRGlzYWJsZXIuaCIKKwogI2lmICFQTEFURk9STShNQUMpCiAj
aW5jbHVkZSAiU2luY1Jlc2FtcGxlci5oIgogI2VuZGlmCkBAIC0yMzgsMTEgKzI0MCwxMyBAQCB2
b2lkIEF1ZGlvQnVzOjpwcm9jZXNzV2l0aEdhaW5Gcm9tTW9ub1N0ZXJlbyhjb25zdCBBdWRpb0J1
cyAmc291cmNlQnVzLCBkb3VibGUqCiAgICAgLy8gRklYTUU6IE5lZWQgZmFzdCBwYXRoIGhlcmUg
d2hlbiBnYWluIGhhcyBjb252ZXJnZWQgb24gdGFyZ2V0R2Fpbi4gSW4gdGhpcyBjYXNlLCBkZS16
aXBwZXJpbmcgaXMgbm8gbG9uZ2VyIG5lZWRlZC4KICAgICAvLyBGSVhNRTogTmVlZCBmYXN0IHBh
dGggd2hlbiB0aGlzPT1zb3VyY2VCdXMgJiYgbGFzdE1peEdhaW49PXRhcmdldEdhaW49PTEuMCAm
JiBzdW1Ub0J1cz09ZmFsc2UgKHRoaXMgaXMgYSBOT1ApCiAKKyAgICAvLyBGSVhNRTogdGFyZ2V0
R2FpbiBhbmQgbGFzdE1peEdhaW4gc2hvdWxkIGJlIGNoYW5nZWQgdG8gZmxvYXRzIGluc3RlYWQg
b2YgZG91Ymxlcy4KKyAgICAKICAgICAvLyBUYWtlIG1hc3RlciBidXMgZ2FpbiBpbnRvIGFjY291
bnQgYXMgd2VsbCBhcyB0aGUgdGFyZ2V0R2Fpbi4KLSAgICBkb3VibGUgdG90YWxEZXNpcmVkR2Fp
biA9IG1fYnVzR2FpbiAqIHRhcmdldEdhaW47CisgICAgZmxvYXQgdG90YWxEZXNpcmVkR2FpbiA9
IHN0YXRpY19jYXN0PGZsb2F0PihtX2J1c0dhaW4gKiB0YXJnZXRHYWluKTsKIAogICAgIC8vIEZp
cnN0IHRpbWUsIHNuYXAgZGlyZWN0bHkgdG8gdG90YWxEZXNpcmVkR2Fpbi4KLSAgICBkb3VibGUg
Z2FpbiA9IG1faXNGaXJzdFRpbWUgPyB0b3RhbERlc2lyZWRHYWluIDogKmxhc3RNaXhHYWluOwor
ICAgIGZsb2F0IGdhaW4gPSBzdGF0aWNfY2FzdDxmbG9hdD4obV9pc0ZpcnN0VGltZSA/IHRvdGFs
RGVzaXJlZEdhaW4gOiAqbGFzdE1peEdhaW4pOwogICAgIG1faXNGaXJzdFRpbWUgPSBmYWxzZTsK
IAogICAgIGludCBudW1iZXJPZlNvdXJjZUNoYW5uZWxzID0gc291cmNlQnVzLm51bWJlck9mQ2hh
bm5lbHMoKTsKQEAgLTI1NSw3ICsyNTksNyBAQCB2b2lkIEF1ZGlvQnVzOjpwcm9jZXNzV2l0aEdh
aW5Gcm9tTW9ub1N0ZXJlbyhjb25zdCBBdWRpb0J1cyAmc291cmNlQnVzLCBkb3VibGUqCiAgICAg
ZmxvYXQqIGRlc3RpbmF0aW9uTCA9IGNoYW5uZWxCeVR5cGUoQ2hhbm5lbExlZnQpLT5kYXRhKCk7
CiAgICAgZmxvYXQqIGRlc3RpbmF0aW9uUiA9IG51bWJlck9mRGVzdGluYXRpb25DaGFubmVscyA+
IDEgPyBjaGFubmVsQnlUeXBlKENoYW5uZWxSaWdodCktPmRhdGEoKSA6IDA7CiAKLSAgICBjb25z
dCBkb3VibGUgRGV6aXBwZXJSYXRlID0gMC4wMDU7CisgICAgY29uc3QgZmxvYXQgRGV6aXBwZXJS
YXRlID0gMC4wMDVmOwogICAgIGludCBmcmFtZXNUb1Byb2Nlc3MgPSBsZW5ndGgoKTsKIAogICAg
IGlmIChzdW1Ub0J1cykgewpAQCAtMjYzLDMzICsyNjcsMzkgQEAgdm9pZCBBdWRpb0J1czo6cHJv
Y2Vzc1dpdGhHYWluRnJvbU1vbm9TdGVyZW8oY29uc3QgQXVkaW9CdXMgJnNvdXJjZUJ1cywgZG91
YmxlKgogICAgICAgICBpZiAoc291cmNlUiAmJiBkZXN0aW5hdGlvblIpIHsKICAgICAgICAgICAg
IC8vIFN0ZXJlbwogICAgICAgICAgICAgd2hpbGUgKGZyYW1lc1RvUHJvY2Vzcy0tKSB7Ci0gICAg
ICAgICAgICAgICAgZmxvYXQgc2FtcGxlTCA9ICpzb3VyY2VMKys7Ci0gICAgICAgICAgICAgICAg
ZmxvYXQgc2FtcGxlUiA9ICpzb3VyY2VSKys7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9u
TCsrICs9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2FtcGxlTCk7Ci0gICAgICAgICAgICAg
ICAgKmRlc3RpbmF0aW9uUisrICs9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2FtcGxlUik7
CisgICAgICAgICAgICAgICAgZmxvYXQgc3VtTCA9IERlbm9ybWFsRGlzYWJsZXI6OmZsdXNoRGVu
b3JtYWxGbG9hdFRvWmVybygqZGVzdGluYXRpb25MICsgZ2FpbiAqICpzb3VyY2VMKyspOworICAg
ICAgICAgICAgICAgIGZsb2F0IHN1bVIgPSBEZW5vcm1hbERpc2FibGVyOjpmbHVzaERlbm9ybWFs
RmxvYXRUb1plcm8oKmRlc3RpbmF0aW9uUiArIGdhaW4gKiAqc291cmNlUisrKTsKKyAgICAgICAg
ICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdW1MOworICAgICAgICAgICAgICAgICpkZXN0aW5h
dGlvblIrKyA9IHN1bVI7CiAKICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdlIGdhaW4g
dG8gZGVzaXJlZCBnYWluLgogICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVzaXJlZEdh
aW4gLSBnYWluKSAqIERlemlwcGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0gRGVub3Jt
YWxEaXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGdhaW4pOwogICAgICAgICAgICAg
fQogICAgICAgICB9IGVsc2UgaWYgKGRlc3RpbmF0aW9uUikgewogICAgICAgICAgICAgLy8gTW9u
byAtPiBzdGVyZW8gKG1peCBlcXVhbGx5IGludG8gTCBhbmQgUikKICAgICAgICAgICAgIC8vIEZJ
WE1FOiBSZWFsbHkgd2Ugc2hvdWxkIGFwcGx5IGFuIGVxdWFsLXBvd2VyIHNjYWxpbmcgZmFjdG9y
IGhlcmUsIHNpbmNlIHdlJ3JlIGVmZmVjdGl2ZWx5IHBhbm5pbmcgY2VudGVyLi4uCiAgICAgICAg
ICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9jZXNzLS0pIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBz
YW1wbGUgPSAqc291cmNlTCsrOwotICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyArPSBz
dGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZSk7Ci0gICAgICAgICAgICAgICAgKmRlc3Rp
bmF0aW9uUisrICs9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2FtcGxlKTsKKyAgICAgICAg
ICAgICAgICBmbG9hdCBzY2FsZWQgPSBnYWluICogKnNvdXJjZUwrKzsKKyAgICAgICAgICAgICAg
ICBmbG9hdCBzdW1MID0gRGVub3JtYWxEaXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJv
KCpkZXN0aW5hdGlvbkwgKyBzY2FsZWQpOworICAgICAgICAgICAgICAgIGZsb2F0IHN1bVIgPSBE
ZW5vcm1hbERpc2FibGVyOjpmbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oKmRlc3RpbmF0aW9uUiAr
IHNjYWxlZCk7CisKKyAgICAgICAgICAgICAgICAqZGVzdGluYXRpb25MKysgPSBzdW1MOworICAg
ICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IHN1bVI7CiAKICAgICAgICAgICAgICAgICAv
LyBTbG93bHkgY2hhbmdlIGdhaW4gdG8gZGVzaXJlZCBnYWluLgogICAgICAgICAgICAgICAgIGdh
aW4gKz0gKHRvdGFsRGVzaXJlZEdhaW4gLSBnYWluKSAqIERlemlwcGVyUmF0ZTsKKyAgICAgICAg
ICAgICAgICBnYWluID0gRGVub3JtYWxEaXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJv
KGdhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8g
TW9ubwogICAgICAgICAgICAgd2hpbGUgKGZyYW1lc1RvUHJvY2Vzcy0tKSB7Ci0gICAgICAgICAg
ICAgICAgZmxvYXQgc2FtcGxlTCA9ICpzb3VyY2VMKys7Ci0gICAgICAgICAgICAgICAgKmRlc3Rp
bmF0aW9uTCsrICs9IHN0YXRpY19jYXN0PGZsb2F0PihnYWluICogc2FtcGxlTCk7CisgICAgICAg
ICAgICAgICAgZmxvYXQgc3VtID0gRGVub3JtYWxEaXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0
VG9aZXJvKCpkZXN0aW5hdGlvbkwgKyBnYWluICogKnNvdXJjZUwrKyk7CisgICAgICAgICAgICAg
ICAgKmRlc3RpbmF0aW9uTCsrID0gc3VtOwogCiAgICAgICAgICAgICAgICAgLy8gU2xvd2x5IGNo
YW5nZSBnYWluIHRvIGRlc2lyZWQgZ2Fpbi4KICAgICAgICAgICAgICAgICBnYWluICs9ICh0b3Rh
bERlc2lyZWRHYWluIC0gZ2FpbikgKiBEZXppcHBlclJhdGU7CisgICAgICAgICAgICAgICAgZ2Fp
biA9IERlbm9ybWFsRGlzYWJsZXI6OmZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSB7CkBAIC0yOTksMzcgKzMwOSw0MCBA
QCB2b2lkIEF1ZGlvQnVzOjpwcm9jZXNzV2l0aEdhaW5Gcm9tTW9ub1N0ZXJlbyhjb25zdCBBdWRp
b0J1cyAmc291cmNlQnVzLCBkb3VibGUqCiAgICAgICAgICAgICB3aGlsZSAoZnJhbWVzVG9Qcm9j
ZXNzLS0pIHsKICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVMID0gKnNvdXJjZUwrKzsKICAg
ICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVSID0gKnNvdXJjZVIrKzsKLSAgICAgICAgICAgICAg
ICAqZGVzdGluYXRpb25MKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZUwpOwot
ICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvblIrKyA9IHN0YXRpY19jYXN0PGZsb2F0PihnYWlu
ICogc2FtcGxlUik7CisgICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uTCsrID0gRGVub3JtYWxE
aXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGdhaW4gKiBzYW1wbGVMKTsKKyAgICAg
ICAgICAgICAgICAqZGVzdGluYXRpb25SKysgPSBEZW5vcm1hbERpc2FibGVyOjpmbHVzaERlbm9y
bWFsRmxvYXRUb1plcm8oZ2FpbiAqIHNhbXBsZVIpOwogCiAgICAgICAgICAgICAgICAgLy8gU2xv
d2x5IGNoYW5nZSBnYWluIHRvIGRlc2lyZWQgZ2Fpbi4KICAgICAgICAgICAgICAgICBnYWluICs9
ICh0b3RhbERlc2lyZWRHYWluIC0gZ2FpbikgKiBEZXppcHBlclJhdGU7CisgICAgICAgICAgICAg
ICAgZ2FpbiA9IERlbm9ybWFsRGlzYWJsZXI6OmZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWlu
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvblIpIHsKICAg
ICAgICAgICAgIC8vIE1vbm8gLT4gc3RlcmVvIChtaXggZXF1YWxseSBpbnRvIEwgYW5kIFIpCiAg
ICAgICAgICAgICAvLyBGSVhNRTogUmVhbGx5IHdlIHNob3VsZCBhcHBseSBhbiBlcXVhbC1wb3dl
ciBzY2FsaW5nIGZhY3RvciBoZXJlLCBzaW5jZSB3ZSdyZSBlZmZlY3RpdmVseSBwYW5uaW5nIGNl
bnRlci4uLgogICAgICAgICAgICAgd2hpbGUgKGZyYW1lc1RvUHJvY2Vzcy0tKSB7CiAgICAgICAg
ICAgICAgICAgZmxvYXQgc2FtcGxlID0gKnNvdXJjZUwrKzsKLSAgICAgICAgICAgICAgICAqZGVz
dGluYXRpb25MKysgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2FpbiAqIHNhbXBsZSk7Ci0gICAgICAg
ICAgICAgICAgKmRlc3RpbmF0aW9uUisrID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1w
bGUpOworICAgICAgICAgICAgICAgICpkZXN0aW5hdGlvbkwrKyA9IERlbm9ybWFsRGlzYWJsZXI6
OmZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluICogc2FtcGxlKTsKKyAgICAgICAgICAgICAg
ICAqZGVzdGluYXRpb25SKysgPSBEZW5vcm1hbERpc2FibGVyOjpmbHVzaERlbm9ybWFsRmxvYXRU
b1plcm8oZ2FpbiAqIHNhbXBsZSk7CiAKICAgICAgICAgICAgICAgICAvLyBTbG93bHkgY2hhbmdl
IGdhaW4gdG8gZGVzaXJlZCBnYWluLgogICAgICAgICAgICAgICAgIGdhaW4gKz0gKHRvdGFsRGVz
aXJlZEdhaW4gLSBnYWluKSAqIERlemlwcGVyUmF0ZTsKKyAgICAgICAgICAgICAgICBnYWluID0g
RGVub3JtYWxEaXNhYmxlcjo6Zmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGdhaW4pOwogICAgICAg
ICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gTW9ubwogICAgICAgICAg
ICAgd2hpbGUgKGZyYW1lc1RvUHJvY2Vzcy0tKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgc2Ft
cGxlTCA9ICpzb3VyY2VMKys7Ci0gICAgICAgICAgICAgICAgKmRlc3RpbmF0aW9uTCsrID0gc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KGdhaW4gKiBzYW1wbGVMKTsKKyAgICAgICAgICAgICAgICAqZGVzdGlu
YXRpb25MKysgPSBEZW5vcm1hbERpc2FibGVyOjpmbHVzaERlbm9ybWFsRmxvYXRUb1plcm8oZ2Fp
biAqIHNhbXBsZUwpOwogCiAgICAgICAgICAgICAgICAgLy8gU2xvd2x5IGNoYW5nZSBnYWluIHRv
IGRlc2lyZWQgZ2Fpbi4KICAgICAgICAgICAgICAgICBnYWluICs9ICh0b3RhbERlc2lyZWRHYWlu
IC0gZ2FpbikgKiBEZXppcHBlclJhdGU7CisgICAgICAgICAgICAgICAgZ2FpbiA9IERlbm9ybWFs
RGlzYWJsZXI6OmZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhnYWluKTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgIH0KIAogICAgIC8vIFNhdmUgdGhlIHRhcmdldCBnYWluIGFzIHRoZSBz
dGFydGluZyBwb2ludCBmb3IgbmV4dCB0aW1lIGFyb3VuZC4KLSAgICAqbGFzdE1peEdhaW4gPSBn
YWluOworICAgICpsYXN0TWl4R2FpbiA9IHN0YXRpY19jYXN0PGRvdWJsZT4oZ2Fpbik7CiB9CiAK
IHZvaWQgQXVkaW9CdXM6OnByb2Nlc3NXaXRoR2FpbkZyb20oY29uc3QgQXVkaW9CdXMgJnNvdXJj
ZUJ1cywgZG91YmxlKiBsYXN0TWl4R2FpbiwgZG91YmxlIHRhcmdldEdhaW4sIGJvb2wgc3VtVG9C
dXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EZW5vcm1hbERp
c2FibGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EZW5vcm1hbERpc2FibGVy
LmgKaW5kZXggNjlkNWViMzdlZTFiNGQ0M2IzMTU1ZWUxY2EyZjY3MzExMWNlMzYwYS4uNTg4M2Vl
ZGM2YTc2YzhhZGUxMzQyODJjOTI4NGU2ZDg2OWUwMThhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vRGVub3JtYWxEaXNhYmxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0Rlbm9ybWFsRGlzYWJsZXIuaApAQCAtMjUsNiArMjUsOCBAQAog
I2lmbmRlZiBEZW5vcm1hbERpc2FibGVyX2gKICNkZWZpbmUgRGVub3JtYWxEaXNhYmxlcl9oCiAK
KyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IERlYWwgd2l0aCBkZW5vcm1hbHMuIFRoZXkgY2FuIHZlcnkgc2VyaW91c2x5IGltcGFjdCBwZXJm
b3JtYW5jZSBvbiB4ODYuCkBAIC00Myw2ICs0NSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHNldENT
UihtX3NhdmVkQ1NSKTsKICAgICB9CiAKKyAgICAvLyBUaGlzIGlzIGEgbm9wIGlmIHdlIGNhbiBm
bHVzaCBkZW5vcm1hbHMgdG8gemVybyBpbiBoYXJkd2FyZS4KKyAgICBzdGF0aWMgaW5saW5lIGZs
b2F0IGZsdXNoRGVub3JtYWxGbG9hdFRvWmVybyhmbG9hdCBmKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGY7CisgICAgfQogcHJpdmF0ZToKICAgICBpbmxpbmUgaW50IGdldENTUigpCiAgICAgewpA
QCAtNjUsNiArNzIsMTggQEAgcHJpdmF0ZToKIGNsYXNzIERlbm9ybWFsRGlzYWJsZXIgewogcHVi
bGljOgogICAgIERlbm9ybWFsRGlzYWJsZXIoKSB7IH0KKworICAgIHN0YXRpYyBpbmxpbmUgZmxv
YXQgZmx1c2hEZW5vcm1hbEZsb2F0VG9aZXJvKGZsb2F0IGYpCisgICAgeworI2lmIE9TKFdJTkRP
V1MpICYmIENPTVBJTEVSKE1TVkMpICYmICghX01fSVg4Nl9GUCkKKyAgICAgICAgLy8gRm9yIHN5
c3RlbXMgdXNpbmcgeDg3IGluc3RlYWQgb2Ygc3NlLCB0aGVyZSdzIG5vIGhhcmR3YXJlIHN1cHBv
cnQKKyAgICAgICAgLy8gdG8gZmx1c2ggZGVub3JtYWxzIGF1dG9tYXRpY2FsbHkuIEhlbmNlLCB3
ZSBuZWVkIHRvIGZsdXNoCisgICAgICAgIC8vIGRlbm9ybWFscyB0byB6ZXJvIG1hbnVhbGx5Lgor
ICAgICAgICByZXR1cm4gKGZhYnMoZikgPCBGTFRfTUlOKSA/IDAuMGYgOiBmOworI2Vsc2UKKyAg
ICAgICAgcmV0dXJuIGY7CisjZW5kaWYKKyAgICB9CiB9OwogCiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>