<?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>92471</bug_id>
          
          <creation_ts>2012-07-27 01:15:32 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: allocatedMaxLogicalWidth &lt;= cellMaxLogicalWidth : int WebCore::AutoTableLayout::calcEffectiveLogicalWidth()</short_desc>
          <delta_ts>2012-08-17 11:41:37 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://demo.pmease.com/overview/4</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>NeedsReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dimitris Apostolou">dimitris.apostolou</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>arpitabahuguna</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>mitz</cc>
    
    <cc>robert</cc>
    
    <cc>vijayan.bits</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>680271</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitris Apostolou">dimitris.apostolou</who>
    <bug_when>2012-07-27 01:15:32 -0700</bug_when>
    <thetext>r123837

Reproducibility: always

Steps:
N/A unfortunately as this occurs when accessing a restricted page that you cannot access. Hopefully the stacktrace is meaningful.

What happened:
ASSERTION FAILED: allocatedMaxLogicalWidth &lt;= cellMaxLogicalWidth
/Users/rex/WebKit/Source/WebCore/rendering/AutoTableLayout.cpp(413) : int WebCore::AutoTableLayout::calcEffectiveLogicalWidth()
1   0x108b40e92 WebCore::AutoTableLayout::calcEffectiveLogicalWidth()
2   0x108b3ef62 WebCore::AutoTableLayout::computePreferredLogicalWidths(WebCore::FractionalLayoutUnit&amp;, WebCore::FractionalLayoutUnit&amp;)
3   0x109da30c5 WebCore::RenderTable::computePreferredLogicalWidths()
4   0x109bf53b7 WebCore::RenderBox::minPreferredLogicalWidth() const
5   0x109ba161a WebCore::RenderBlock::computeBlockPreferredLogicalWidths()
6   0x109b9f630 WebCore::RenderBlock::computePreferredLogicalWidths()
7   0x109bf53b7 WebCore::RenderBox::minPreferredLogicalWidth() const
8   0x109ba161a WebCore::RenderBlock::computeBlockPreferredLogicalWidths()
9   0x109b9f630 WebCore::RenderBlock::computePreferredLogicalWidths()
10  0x109bf53b7 WebCore::RenderBox::minPreferredLogicalWidth() const
11  0x109ba161a WebCore::RenderBlock::computeBlockPreferredLogicalWidths()
12  0x109b9f630 WebCore::RenderBlock::computePreferredLogicalWidths()
13  0x109bf53b7 WebCore::RenderBox::minPreferredLogicalWidth() const
14  0x109ba161a WebCore::RenderBlock::computeBlockPreferredLogicalWidths()
15  0x109b9f630 WebCore::RenderBlock::computePreferredLogicalWidths()
16  0x109bf53b7 WebCore::RenderBox::minPreferredLogicalWidth() const
17  0x109ba161a WebCore::RenderBlock::computeBlockPreferredLogicalWidths()
18  0x109b9f630 WebCore::RenderBlock::computePreferredLogicalWidths()
19  0x109bf53b7 WebCore::RenderBox::minPreferredLogicalWidth() const
20  0x109ba161a WebCore::RenderBlock::computeBlockPreferredLogicalWidths()
21  0x109b9f630 WebCore::RenderBlock::computePreferredLogicalWidths()
22  0x109bf53b7 WebCore::RenderBox::minPreferredLogicalWidth() const
23  0x109ba161a WebCore::RenderBlock::computeBlockPreferredLogicalWidths()
24  0x109b9f630 WebCore::RenderBlock::computePreferredLogicalWidths()
25  0x109da9e90 WebCore::RenderTableCell::computePreferredLogicalWidths()
26  0x108b3e1e4 WebCore::AutoTableLayout::recalcColumn(unsigned int)
27  0x108b3eef1 WebCore::AutoTableLayout::fullRecalc()
28  0x108b3ef56 WebCore::AutoTableLayout::computePreferredLogicalWidths(WebCore::FractionalLayoutUnit&amp;, WebCore::FractionalLayoutUnit&amp;)
29  0x109da30c5 WebCore::RenderTable::computePreferredLogicalWidths()
30  0x109bf53b7 WebCore::RenderBox::minPreferredLogicalWidth() const
31  0x109d9f861 WebCore::RenderTable::computeLogicalWidth()

Expected result:
No assert failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681208</commentid>
    <comment_count>1</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-07-27 16:08:25 -0700</bug_when>
    <thetext>This ASSERT means that our logic doesn&apos;t properly clamp a total percent above 100% and we end up allocating more than our available width.

Dimitri, could it be possible for you to attach some page that reproduce the crash? It&apos;s related to an auto-table layout where all cells (or colums) have percent widths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681238</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitris Apostolou">dimitris.apostolou</who>
    <bug_when>2012-07-27 16:40:20 -0700</bug_when>
    <thetext>Found one.

http://demo.pmease.com/overview/4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681395</commentid>
    <comment_count>3</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-07-28 05:16:05 -0700</bug_when>
    <thetext>Hi Julien. The problem here is due to a decimal error in the float value (allocatedMaxLogicalWidth).

When we split the cellMaxLogicalWidth (which is 512.00000 in this case) between different columns (based on the percentage) and add it up (in allocatedMaxLogicalWidth) we finally get 512.00006, thereby introducing an error of .00006 due to floating point rounding off in the last decimal, which in turn triggers the assert.

I guess type casting to int and then checking should help in most cases.
eg: 
ASSERT(static_cast&lt;int&gt;(allocatedMaxLogicalWidth) &lt;= static_cast&lt;int&gt;(cellMaxLogicalWidth));

Please let me know your opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681420</commentid>
    <comment_count>4</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-07-28 07:56:06 -0700</bug_when>
    <thetext>I think I might&apos;ve been a little off in my previous comment. Type casting to int will increase the error tolerance and is not right here. And I suppose rounding off too will not be of any help.

So perhaps a better way would be to fix on an error tolerance value to accomodate the floating point rounding off errors.
eg:  
ASSERT( (allocatedMaxLogicalWidth - cellMaxLogicalWidth) &lt; 0.01 );

0.01 being the highest value to accommodate floating point errors.
The maximum deviation as I understand would be (no. of cols x 0.000001)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682207</commentid>
    <comment_count>5</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-07-30 11:13:10 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I think I might&apos;ve been a little off in my previous comment. Type casting to int will increase the error tolerance and is not right here. And I suppose rounding off too will not be of any help.

Adding more tolerance is sweeping the dust under the carpet. If we have a rounding error, we should fix that and *not* relax our ASSERT to not trigger as this is a potential bug (here it&apos;s a pretty small amount but nothing prevents us from over-allocating more than 0.5px which will be visible).

I think the main issue is that we do computation using floats for the max logical width (vs ints for min logical width). I don&apos;t see the need for the extra complexity and the potential sub-pixel precision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686641</commentid>
    <comment_count>6</comment_count>
      <attachid>156350</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-08-03 06:35:27 -0700</bug_when>
    <thetext>Created attachment 156350
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687428</commentid>
    <comment_count>7</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-08-04 02:01:03 -0700</bug_when>
    <thetext>Hi Julien. Have uploaded a patch that changes the float based calculations done for computing the max logical width value to int.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688241</commentid>
    <comment_count>8</comment_count>
      <attachid>156350</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-08-06 10:16:25 -0700</bug_when>
    <thetext>Comment on attachment 156350
Patch

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

The code change is fine, but this needs a test case.

&gt; Source/WebCore/ChangeLog:11
&gt; +        Existing tests should cover the changes made in this patch hence not adding any new tests.

That&apos;s not true: the rounding is properly covered by the tests. However we had no test triggering the ASSERT so you need to add such a test.

&gt; Source/WebCore/rendering/AutoTableLayout.cpp:364
&gt; +                maxLogicalWidth = max(maxLogicalWidth, static_cast&lt;int&gt;(max(spanMaxLogicalWidth, cellMaxLogicalWidth) * 100  / cellLogicalWidth.percent()));

Do we still need this static_cast&lt;int&gt;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693100</commentid>
    <comment_count>9</comment_count>
      <attachid>157868</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-08-11 05:21:52 -0700</bug_when>
    <thetext>Created attachment 157868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693101</commentid>
    <comment_count>10</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-08-11 05:39:29 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 156350 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=156350&amp;action=review
&gt; 
&gt; The code change is fine, but this needs a test case.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        Existing tests should cover the changes made in this patch hence not adding any new tests.
&gt; 
&gt; That&apos;s not true: the rounding is properly covered by the tests. However we had no test triggering the ASSERT so you need to add such a test.
&gt; 
Have added a test for verifying the assert.

&gt; &gt; Source/WebCore/rendering/AutoTableLayout.cpp:364
&gt; &gt; +                maxLogicalWidth = max(maxLogicalWidth, static_cast&lt;int&gt;(max(spanMaxLogicalWidth, cellMaxLogicalWidth) * 100  / cellLogicalWidth.percent()));
&gt; 
&gt; Do we still need this static_cast&lt;int&gt;?
Yes, that is still required as the outer max() will give an error if not casted, since cellLogicalWidth.percent() is a float.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693120</commentid>
    <comment_count>11</comment_count>
      <attachid>157868</attachid>
    <who name="">mitz</who>
    <bug_when>2012-08-11 09:30:52 -0700</bug_when>
    <thetext>Comment on attachment 157868
Patch

Won’t this reintroduce bug 15010 or similar bugs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693661</commentid>
    <comment_count>12</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-08-13 07:56:59 -0700</bug_when>
    <thetext>I understand the overflow that may arise out of (int * int) operations 
even though the layout test case added in 15010 doesn&apos;t seem to fail with these changes.
Shall make changes to take care of this scenario.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694959</commentid>
    <comment_count>13</comment_count>
      <attachid>158324</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-08-14 07:35:27 -0700</bug_when>
    <thetext>Created attachment 158324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694964</commentid>
    <comment_count>14</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-08-14 07:43:13 -0700</bug_when>
    <thetext>Hi Julien, Dan. Have uploaded another patch that strives to make max logical width calculations consistent with min logical width (i.e. int based) while taking care of issues raised in #15010 ( int * int overflow issue ) as well. 

There are two places where (int * int) operations are done in calcEffectiveLogicalWidth() which could cause overflow issues. Have thus retained the previous implementation as such for these (i.e using float) to hopefully avert any overflow issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696191</commentid>
    <comment_count>15</comment_count>
      <attachid>158324</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-08-15 11:29:20 -0700</bug_when>
    <thetext>Comment on attachment 158324
Patch

&gt; Won’t this reintroduce bug 15010 or similar bugs?

AFAICT the test added in this bug passes so at least this overflow doesn&apos;t happen. Considering our bad coverage, it doesn&apos;t mean we don&apos;t have other overflows.

I believe this patch makes a good attempt at addressing the original overflow issue but without being involved in it, this is guess-work. I intent to let this patch land tomorrow as-is. Dan, feel free to override the decision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698520</commentid>
    <comment_count>16</comment_count>
      <attachid>158324</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-17 11:32:12 -0700</bug_when>
    <thetext>Comment on attachment 158324
Patch

Clearing flags on attachment: 158324

Committed r125917: &lt;http://trac.webkit.org/changeset/125917&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698521</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-17 11:32:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698533</commentid>
    <comment_count>18</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-08-17 11:41:37 -0700</bug_when>
    <thetext>Thank-you for the review Julien.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156350</attachid>
            <date>2012-08-03 06:35:27 -0700</date>
            <delta_ts>2012-08-11 05:21:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92471-20120803190809.patch</filename>
            <type>text/plain</type>
            <size>7934</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNDYwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTAzICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQVNTRVJUSU9O
IEZBSUxFRDogYWxsb2NhdGVkTWF4TG9naWNhbFdpZHRoIDw9IGNlbGxNYXhMb2dpY2FsV2lkdGgg
OiBpbnQgV2ViQ29yZTo6QXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhbFdpZHRo
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNDcx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udmVy
dGluZyBmbG9hdCBiYXNlZCBjYWxjdWxhdGlvbnMgZm9yIGNvbXB1dGluZyBtYXggbG9naWNhbCB3
aWR0aCB0byBpbnQgYmFzZWQ7CisgICAgICAgIHNpbWlsYXIgdG8gdGhlIGNhbGN1bGF0aW9ucyBm
b3IgbWluIGxvZ2ljYWwgd2lkdGguCisKKyAgICAgICAgRXhpc3RpbmcgdGVzdHMgc2hvdWxkIGNv
dmVyIHRoZSBjaGFuZ2VzIG1hZGUgaW4gdGhpcyBwYXRjaCBoZW5jZSBub3QgYWRkaW5nIGFueSBu
ZXcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVjdGl2ZUxvZ2ljYWxXaWR0
aCk6CisgICAgICAgIENvbnZlcnRpbmcgZmxvYXQgYmFzZWQgY2FsY3VsYXRpb25zIHRvIGludCBi
YXNlZCBmb3IgY29tcHV0aW5nIG1heCBsb2dpY2FsIHdpZHRoLgorCiAyMDEyLTA4LTAzICBUb3Ig
QXJuZSBWZXN0YsO4ICA8dG9yLmFybmUudmVzdGJvQG5va2lhLmNvbT4KIAogICAgICAgICBBZGQg
bWlzc2luZyBpbmNsdWRlIHRvIGJ1aWxkIG9uIE1hYyBPUyAxMC44CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcAkocmV2aXNpb24gMTI0NjAzKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3Nyw3ICsyNzcsNyBAQCB2b2lkIEF1dG9UYWJsZUxheW91dDo6Y29tcHV0ZVBy
ZWZlcnJlZExvCiAgKi8KIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2Fs
V2lkdGgoKQogewotICAgIGZsb2F0IG1heExvZ2ljYWxXaWR0aCA9IDA7CisgICAgaW50IG1heExv
Z2ljYWxXaWR0aCA9IDA7CiAKICAgICBzaXplX3QgbkVmZkNvbHMgPSBtX2xheW91dFN0cnVjdC5z
aXplKCk7CiAgICAgaW50IHNwYWNpbmdJblJvd0RpcmVjdGlvbiA9IG1fdGFibGUtPmhCb3JkZXJT
cGFjaW5nKCk7CkBAIC0zMDIsMTAgKzMwMiwxMCBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxj
RWZmZWN0aXZlTG9naWNhCiAgICAgICAgIHVuc2lnbmVkIGVmZkNvbCA9IG1fdGFibGUtPmNvbFRv
RWZmQ29sKGNlbGwtPmNvbCgpKTsKICAgICAgICAgc2l6ZV90IGxhc3RDb2wgPSBlZmZDb2w7CiAg
ICAgICAgIGludCBjZWxsTWluTG9naWNhbFdpZHRoID0gY2VsbC0+bWluUHJlZmVycmVkTG9naWNh
bFdpZHRoKCkgKyBzcGFjaW5nSW5Sb3dEaXJlY3Rpb247Ci0gICAgICAgIGZsb2F0IGNlbGxNYXhM
b2dpY2FsV2lkdGggPSBjZWxsLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIHNwYWNpbmdJ
blJvd0RpcmVjdGlvbjsKKyAgICAgICAgaW50IGNlbGxNYXhMb2dpY2FsV2lkdGggPSBjZWxsLT5t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIHNwYWNpbmdJblJvd0RpcmVjdGlvbjsKICAgICAg
ICAgZmxvYXQgdG90YWxQZXJjZW50ID0gMDsKICAgICAgICAgaW50IHNwYW5NaW5Mb2dpY2FsV2lk
dGggPSAwOwotICAgICAgICBmbG9hdCBzcGFuTWF4TG9naWNhbFdpZHRoID0gMDsKKyAgICAgICAg
aW50IHNwYW5NYXhMb2dpY2FsV2lkdGggPSAwOwogICAgICAgICBib29sIGFsbENvbHNBcmVQZXJj
ZW50ID0gdHJ1ZTsKICAgICAgICAgYm9vbCBhbGxDb2xzQXJlRml4ZWQgPSB0cnVlOwogICAgICAg
ICBib29sIGhhdmVBdXRvID0gZmFsc2U7CkBAIC0zNjEsMTEgKzM2MSwxMSBAQCBpbnQgQXV0b1Rh
YmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhCiAgICAgICAgICAgICAgICAgLy8gY2FuJ3Qg
c2F0aWZ5IHRoaXMgY29uZGl0aW9uLCB0cmVhdCBhcyB2YXJpYWJsZQogICAgICAgICAgICAgICAg
IGNlbGxMb2dpY2FsV2lkdGggPSBMZW5ndGgoKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gbWF4KG1heExvZ2ljYWxXaWR0aCwgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KG1heChzcGFuTWF4TG9naWNhbFdpZHRoLCBjZWxsTWF4TG9naWNhbFdpZHRo
KSAqIDEwMCAgLyBjZWxsTG9naWNhbFdpZHRoLnBlcmNlbnQoKSkpOworICAgICAgICAgICAgICAg
IG1heExvZ2ljYWxXaWR0aCA9IG1heChtYXhMb2dpY2FsV2lkdGgsIHN0YXRpY19jYXN0PGludD4o
bWF4KHNwYW5NYXhMb2dpY2FsV2lkdGgsIGNlbGxNYXhMb2dpY2FsV2lkdGgpICogMTAwICAvIGNl
bGxMb2dpY2FsV2lkdGgucGVyY2VudCgpKSk7CiAKICAgICAgICAgICAgICAgICAvLyBhbGwgbm9u
IHBlcmNlbnQgY29sdW1ucyBpbiB0aGUgc3BhbiBnZXQgcGVyY2VudCB2YWx1ZXMgdG8gc3VtIHVw
IGNvcnJlY3RseS4KICAgICAgICAgICAgICAgICBmbG9hdCBwZXJjZW50TWlzc2luZyA9IGNlbGxM
b2dpY2FsV2lkdGgucGVyY2VudCgpIC0gdG90YWxQZXJjZW50OwotICAgICAgICAgICAgICAgIGZs
b2F0IHRvdGFsV2lkdGggPSAwOworICAgICAgICAgICAgICAgIGludCB0b3RhbFdpZHRoID0gMDsK
ICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIHBvcyA9IGVmZkNvbDsgcG9zIDwgbGFzdENv
bDsgKytwb3MpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX2xheW91dFN0cnVjdFtwb3Nd
LmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aC5pc1BlcmNlbnQoKSkKICAgICAgICAgICAgICAgICAgICAg
ICAgIHRvdGFsV2lkdGggKz0gbV9sYXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNYXhMb2dpY2Fs
V2lkdGg7CkBAIC0zOTcsMTMgKzM5NywxMyBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZm
ZWN0aXZlTG9naWNhCiAgICAgICAgICAgICB9IGVsc2UgaWYgKGFsbENvbHNBcmVQZXJjZW50KSB7
CiAgICAgICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlLCB3ZSBqdXN0IHNwbGl0IHRoZSBjb2xz
cGFuJ3MgbWluIGFtZCBtYXggd2lkdGhzIGZvbGxvd2luZyB0aGUgcGVyY2VudGFnZS4KICAgICAg
ICAgICAgICAgICBpbnQgYWxsb2NhdGVkTWluTG9naWNhbFdpZHRoID0gMDsKLSAgICAgICAgICAg
ICAgICBmbG9hdCBhbGxvY2F0ZWRNYXhMb2dpY2FsV2lkdGggPSAwOworICAgICAgICAgICAgICAg
IGludCBhbGxvY2F0ZWRNYXhMb2dpY2FsV2lkdGggPSAwOwogICAgICAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgcG9zID0gZWZmQ29sOyBwb3MgPCBsYXN0Q29sOyArK3BvcykgewogICAgICAgICAg
ICAgICAgICAgICBBU1NFUlQobV9sYXlvdXRTdHJ1Y3RbcG9zXS5sb2dpY2FsV2lkdGguaXNQZXJj
ZW50KCkgfHwgbV9sYXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVMb2dpY2FsV2lkdGguaXNQZXJj
ZW50KCkpOwogICAgICAgICAgICAgICAgICAgICAvLyB8YWxsQ29sc0FyZVBlcmNlbnR8IG1lYW5z
IHRoYXQgZWl0aGVyIHRoZSBsb2dpY2FsV2lkdGggKm9yKiB0aGUgZWZmZWN0aXZlTG9naWNhbFdp
ZHRoIGFyZSBwZXJjZW50cywgaGFuZGxlIGJvdGggb2YgdGhlbSBoZXJlLgogICAgICAgICAgICAg
ICAgICAgICBmbG9hdCBwZXJjZW50ID0gbV9sYXlvdXRTdHJ1Y3RbcG9zXS5sb2dpY2FsV2lkdGgu
aXNQZXJjZW50KCkgPyBtX2xheW91dFN0cnVjdFtwb3NdLmxvZ2ljYWxXaWR0aC5wZXJjZW50KCkg
OiBtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aC5wZXJjZW50KCk7CiAg
ICAgICAgICAgICAgICAgICAgIGludCBjb2x1bW5NaW5Mb2dpY2FsV2lkdGggPSBzdGF0aWNfY2Fz
dDxpbnQ+KHBlcmNlbnQgKiBjZWxsTWluTG9naWNhbFdpZHRoIC8gdG90YWxQZXJjZW50KTsKLSAg
ICAgICAgICAgICAgICAgICAgZmxvYXQgY29sdW1uTWF4TG9naWNhbFdpZHRoID0gcGVyY2VudCAq
IGNlbGxNYXhMb2dpY2FsV2lkdGggLyB0b3RhbFBlcmNlbnQ7CisgICAgICAgICAgICAgICAgICAg
IGludCBjb2x1bW5NYXhMb2dpY2FsV2lkdGggPSBzdGF0aWNfY2FzdDxpbnQ+KHBlcmNlbnQgKiBj
ZWxsTWF4TG9naWNhbFdpZHRoIC8gdG90YWxQZXJjZW50KTsKICAgICAgICAgICAgICAgICAgICAg
bV9sYXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lkdGggPSBtYXgobV9sYXlv
dXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lkdGgsIGNvbHVtbk1pbkxvZ2ljYWxX
aWR0aCk7CiAgICAgICAgICAgICAgICAgICAgIG1fbGF5b3V0U3RydWN0W3Bvc10uZWZmZWN0aXZl
TWF4TG9naWNhbFdpZHRoID0gY29sdW1uTWF4TG9naWNhbFdpZHRoOwogICAgICAgICAgICAgICAg
ICAgICBhbGxvY2F0ZWRNaW5Mb2dpY2FsV2lkdGggKz0gY29sdW1uTWluTG9naWNhbFdpZHRoOwpA
QCAtNDE0LDcgKzQxNCw3IEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dp
Y2EKICAgICAgICAgICAgICAgICBjZWxsTWluTG9naWNhbFdpZHRoIC09IGFsbG9jYXRlZE1pbkxv
Z2ljYWxXaWR0aDsKICAgICAgICAgICAgICAgICBjZWxsTWF4TG9naWNhbFdpZHRoIC09IGFsbG9j
YXRlZE1heExvZ2ljYWxXaWR0aDsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgZmxvYXQgcmVtYWluaW5nTWF4TG9naWNhbFdpZHRoID0gc3Bhbk1heExvZ2ljYWxXaWR0aDsK
KyAgICAgICAgICAgICAgICBpbnQgcmVtYWluaW5nTWF4TG9naWNhbFdpZHRoID0gc3Bhbk1heExv
Z2ljYWxXaWR0aDsKICAgICAgICAgICAgICAgICBpbnQgcmVtYWluaW5nTWluTG9naWNhbFdpZHRo
ID0gc3Bhbk1pbkxvZ2ljYWxXaWR0aDsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAvLyBHaXZlIG1pbiB0byB2YXJpYWJsZSBmaXJzdCwgdG8gZml4ZWQgc2Vjb25kLCBhbmQgdG8g
b3RoZXJzIHRoaXJkLgpAQCAtNDMxLDcgKzQzMSw3IEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNh
bGNFZmZlY3RpdmVMb2dpY2EKIAogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgcG9zID0g
ZWZmQ29sOyByZW1haW5pbmdNYXhMb2dpY2FsV2lkdGggPj0gMCAmJiBwb3MgPCBsYXN0Q29sICYm
IHJlbWFpbmluZ01pbkxvZ2ljYWxXaWR0aCA8IGNlbGxNaW5Mb2dpY2FsV2lkdGg7ICsrcG9zKSB7
CiAgICAgICAgICAgICAgICAgICAgIGlmICghKG1fbGF5b3V0U3RydWN0W3Bvc10ubG9naWNhbFdp
ZHRoLmlzRml4ZWQoKSAmJiBoYXZlQXV0byAmJiBmaXhlZFdpZHRoIDw9IGNlbGxNaW5Mb2dpY2Fs
V2lkdGgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29sTWluTG9naWNhbFdpZHRo
ID0gbWF4PGludD4obV9sYXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lkdGgs
IHN0YXRpY19jYXN0PGludD4ocmVtYWluaW5nTWF4TG9naWNhbFdpZHRoID8gY2VsbE1pbkxvZ2lj
YWxXaWR0aCAqIHN0YXRpY19jYXN0PGZsb2F0PihtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2
ZU1heExvZ2ljYWxXaWR0aCkgLyByZW1haW5pbmdNYXhMb2dpY2FsV2lkdGggOiBjZWxsTWluTG9n
aWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29sTWluTG9naWNhbFdp
ZHRoID0gbWF4PGludD4obV9sYXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lk
dGgsIHJlbWFpbmluZ01heExvZ2ljYWxXaWR0aCA/IChjZWxsTWluTG9naWNhbFdpZHRoICogbV9s
YXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGgpIC8gcmVtYWluaW5nTWF4
TG9naWNhbFdpZHRoIDogY2VsbE1pbkxvZ2ljYWxXaWR0aCk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBjb2xNaW5Mb2dpY2FsV2lkdGggPSBtaW48aW50PihtX2xheW91dFN0cnVjdFtwb3NdLmVm
ZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aCArIChjZWxsTWluTG9naWNhbFdpZHRoIC0gcmVtYWluaW5n
TWluTG9naWNhbFdpZHRoKSwgY29sTWluTG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlbWFpbmluZ01heExvZ2ljYWxXaWR0aCAtPSBtX2xheW91dFN0cnVjdFtwb3NdLmVm
ZmVjdGl2ZU1heExvZ2ljYWxXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmlu
Z01pbkxvZ2ljYWxXaWR0aCAtPSBtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZU1pbkxvZ2lj
YWxXaWR0aDsKQEAgLTQ0NCw3ICs0NDQsNyBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZm
ZWN0aXZlTG9naWNhCiAgICAgICAgIGlmICghY2VsbExvZ2ljYWxXaWR0aC5pc1BlcmNlbnQoKSkg
ewogICAgICAgICAgICAgaWYgKGNlbGxNYXhMb2dpY2FsV2lkdGggPiBzcGFuTWF4TG9naWNhbFdp
ZHRoKSB7CiAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBwb3MgPSBlZmZDb2w7IHNwYW5N
YXhMb2dpY2FsV2lkdGggPj0gMCAmJiBwb3MgPCBsYXN0Q29sOyArK3BvcykgewotICAgICAgICAg
ICAgICAgICAgICBpbnQgY29sTWF4TG9naWNhbFdpZHRoID0gbWF4KG1fbGF5b3V0U3RydWN0W3Bv
c10uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoLCBzdGF0aWNfY2FzdDxpbnQ+KHNwYW5NYXhMb2dp
Y2FsV2lkdGggPyBjZWxsTWF4TG9naWNhbFdpZHRoICogc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fbGF5
b3V0U3RydWN0W3Bvc10uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoKSAvIHNwYW5NYXhMb2dpY2Fs
V2lkdGggOiBjZWxsTWF4TG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIGludCBj
b2xNYXhMb2dpY2FsV2lkdGggPSBtYXgobV9sYXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNYXhM
b2dpY2FsV2lkdGgsIHNwYW5NYXhMb2dpY2FsV2lkdGggPyAoY2VsbE1heExvZ2ljYWxXaWR0aCAq
IG1fbGF5b3V0U3RydWN0W3Bvc10uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoKSAvIHNwYW5NYXhM
b2dpY2FsV2lkdGggOiBjZWxsTWF4TG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgICAgICAgICAg
c3Bhbk1heExvZ2ljYWxXaWR0aCAtPSBtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZU1heExv
Z2ljYWxXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgY2VsbE1heExvZ2ljYWxXaWR0aCAtPSBj
b2xNYXhMb2dpY2FsV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgIG1fbGF5b3V0U3RydWN0W3Bv
c10uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoID0gY29sTWF4TG9naWNhbFdpZHRoOwpAQCAtNDYy
LDcgKzQ2Miw3IEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2EKICAg
ICB9CiAgICAgbV9lZmZlY3RpdmVMb2dpY2FsV2lkdGhEaXJ0eSA9IGZhbHNlOwogCi0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PGludD4obWluKG1heExvZ2ljYWxXaWR0aCwgSU5UX01BWCAvIDIuMGYp
KTsKKyAgICByZXR1cm4gbWluKG1heExvZ2ljYWxXaWR0aCwgSU5UX01BWCAvIDIpOwogfQogCiAv
KiBnZXRzIGFsbCBjZWxscyB0aGF0IG9yaWdpbmF0ZSBpbiBhIGNvbHVtbiBhbmQgaGF2ZSBhIGNl
bGxzcGFuID4gMQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157868</attachid>
            <date>2012-08-11 05:21:52 -0700</date>
            <delta_ts>2012-08-14 07:35:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92471-20120811175449.patch</filename>
            <type>text/plain</type>
            <size>10678</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNTM1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTExICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQVNTRVJUSU9O
IEZBSUxFRDogYWxsb2NhdGVkTWF4TG9naWNhbFdpZHRoIDw9IGNlbGxNYXhMb2dpY2FsV2lkdGgg
OiBpbnQgV2ViQ29yZTo6QXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhbFdpZHRo
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNDcx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udmVy
dGluZyBmbG9hdCBiYXNlZCBjYWxjdWxhdGlvbnMgZm9yIGNvbXB1dGluZyBtYXggbG9naWNhbCB3
aWR0aCB0byBpbnQgYmFzZWQ7CisgICAgICAgIHNpbWlsYXIgdG8gdGhlIGNhbGN1bGF0aW9ucyBm
b3IgbWluIGxvZ2ljYWwgd2lkdGguCisKKyAgICAgICAgVGVzdDogZmFzdC90YWJsZS9hc3NlcnQt
YXV0b3RhYmxlbGF5b3V0LW1heGxvZ2ljYWx3aWR0aC5odG1sCisKKyAgICAgICAgKiByZW5kZXJp
bmcvQXV0b1RhYmxlTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1dG9UYWJsZUxheW91
dDo6Y2FsY0VmZmVjdGl2ZUxvZ2ljYWxXaWR0aCk6CisgICAgICAgIENvbnZlcnRpbmcgZmxvYXQg
YmFzZWQgY2FsY3VsYXRpb25zIHRvIGludCBiYXNlZCBmb3IgY29tcHV0aW5nIG1heCBsb2dpY2Fs
IHdpZHRoLgorCiAyMDEyLTA4LTExICBMZXZpIFdlaW50cmF1YiAgPGxldml3QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBUcmFjayBibG9jaydzIHBvc2l0aW9uZWQgb2JqZWN0cyBsaWtlIHBlcmNl
bnQtaGVpZ2h0IGRlc2NlbmRhbnRzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0
b1RhYmxlTGF5b3V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
QXV0b1RhYmxlTGF5b3V0LmNwcAkocmV2aXNpb24gMTI1MzUxKQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Nyw3ICsy
NzcsNyBAQCB2b2lkIEF1dG9UYWJsZUxheW91dDo6Y29tcHV0ZVByZWZlcnJlZExvCiAgKi8KIGlu
dCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2FsV2lkdGgoKQogewotICAgIGZs
b2F0IG1heExvZ2ljYWxXaWR0aCA9IDA7CisgICAgaW50IG1heExvZ2ljYWxXaWR0aCA9IDA7CiAK
ICAgICBzaXplX3QgbkVmZkNvbHMgPSBtX2xheW91dFN0cnVjdC5zaXplKCk7CiAgICAgaW50IHNw
YWNpbmdJblJvd0RpcmVjdGlvbiA9IG1fdGFibGUtPmhCb3JkZXJTcGFjaW5nKCk7CkBAIC0zMDIs
MTAgKzMwMiwxMCBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhCiAg
ICAgICAgIHVuc2lnbmVkIGVmZkNvbCA9IG1fdGFibGUtPmNvbFRvRWZmQ29sKGNlbGwtPmNvbCgp
KTsKICAgICAgICAgc2l6ZV90IGxhc3RDb2wgPSBlZmZDb2w7CiAgICAgICAgIGludCBjZWxsTWlu
TG9naWNhbFdpZHRoID0gY2VsbC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBzcGFjaW5n
SW5Sb3dEaXJlY3Rpb247Ci0gICAgICAgIGZsb2F0IGNlbGxNYXhMb2dpY2FsV2lkdGggPSBjZWxs
LT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIHNwYWNpbmdJblJvd0RpcmVjdGlvbjsKKyAg
ICAgICAgaW50IGNlbGxNYXhMb2dpY2FsV2lkdGggPSBjZWxsLT5tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgoKSArIHNwYWNpbmdJblJvd0RpcmVjdGlvbjsKICAgICAgICAgZmxvYXQgdG90YWxQZXJj
ZW50ID0gMDsKICAgICAgICAgaW50IHNwYW5NaW5Mb2dpY2FsV2lkdGggPSAwOwotICAgICAgICBm
bG9hdCBzcGFuTWF4TG9naWNhbFdpZHRoID0gMDsKKyAgICAgICAgaW50IHNwYW5NYXhMb2dpY2Fs
V2lkdGggPSAwOwogICAgICAgICBib29sIGFsbENvbHNBcmVQZXJjZW50ID0gdHJ1ZTsKICAgICAg
ICAgYm9vbCBhbGxDb2xzQXJlRml4ZWQgPSB0cnVlOwogICAgICAgICBib29sIGhhdmVBdXRvID0g
ZmFsc2U7CkBAIC0zNjEsMTEgKzM2MSwxMSBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZm
ZWN0aXZlTG9naWNhCiAgICAgICAgICAgICAgICAgLy8gY2FuJ3Qgc2F0aWZ5IHRoaXMgY29uZGl0
aW9uLCB0cmVhdCBhcyB2YXJpYWJsZQogICAgICAgICAgICAgICAgIGNlbGxMb2dpY2FsV2lkdGgg
PSBMZW5ndGgoKTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgbWF4TG9n
aWNhbFdpZHRoID0gbWF4KG1heExvZ2ljYWxXaWR0aCwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heChz
cGFuTWF4TG9naWNhbFdpZHRoLCBjZWxsTWF4TG9naWNhbFdpZHRoKSAqIDEwMCAgLyBjZWxsTG9n
aWNhbFdpZHRoLnBlcmNlbnQoKSkpOworICAgICAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9
IG1heChtYXhMb2dpY2FsV2lkdGgsIHN0YXRpY19jYXN0PGludD4obWF4KHNwYW5NYXhMb2dpY2Fs
V2lkdGgsIGNlbGxNYXhMb2dpY2FsV2lkdGgpICogMTAwICAvIGNlbGxMb2dpY2FsV2lkdGgucGVy
Y2VudCgpKSk7CiAKICAgICAgICAgICAgICAgICAvLyBhbGwgbm9uIHBlcmNlbnQgY29sdW1ucyBp
biB0aGUgc3BhbiBnZXQgcGVyY2VudCB2YWx1ZXMgdG8gc3VtIHVwIGNvcnJlY3RseS4KICAgICAg
ICAgICAgICAgICBmbG9hdCBwZXJjZW50TWlzc2luZyA9IGNlbGxMb2dpY2FsV2lkdGgucGVyY2Vu
dCgpIC0gdG90YWxQZXJjZW50OwotICAgICAgICAgICAgICAgIGZsb2F0IHRvdGFsV2lkdGggPSAw
OworICAgICAgICAgICAgICAgIGludCB0b3RhbFdpZHRoID0gMDsKICAgICAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIHBvcyA9IGVmZkNvbDsgcG9zIDwgbGFzdENvbDsgKytwb3MpIHsKICAgICAg
ICAgICAgICAgICAgICAgaWYgKCFtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZUxvZ2ljYWxX
aWR0aC5pc1BlcmNlbnQoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsV2lkdGggKz0g
bV9sYXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGg7CkBAIC0zOTcsMTMg
KzM5NywxMyBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhCiAgICAg
ICAgICAgICB9IGVsc2UgaWYgKGFsbENvbHNBcmVQZXJjZW50KSB7CiAgICAgICAgICAgICAgICAg
Ly8gSW4gdGhpcyBjYXNlLCB3ZSBqdXN0IHNwbGl0IHRoZSBjb2xzcGFuJ3MgbWluIGFtZCBtYXgg
d2lkdGhzIGZvbGxvd2luZyB0aGUgcGVyY2VudGFnZS4KICAgICAgICAgICAgICAgICBpbnQgYWxs
b2NhdGVkTWluTG9naWNhbFdpZHRoID0gMDsKLSAgICAgICAgICAgICAgICBmbG9hdCBhbGxvY2F0
ZWRNYXhMb2dpY2FsV2lkdGggPSAwOworICAgICAgICAgICAgICAgIGludCBhbGxvY2F0ZWRNYXhM
b2dpY2FsV2lkdGggPSAwOwogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgcG9zID0gZWZm
Q29sOyBwb3MgPCBsYXN0Q29sOyArK3BvcykgewogICAgICAgICAgICAgICAgICAgICBBU1NFUlQo
bV9sYXlvdXRTdHJ1Y3RbcG9zXS5sb2dpY2FsV2lkdGguaXNQZXJjZW50KCkgfHwgbV9sYXlvdXRT
dHJ1Y3RbcG9zXS5lZmZlY3RpdmVMb2dpY2FsV2lkdGguaXNQZXJjZW50KCkpOwogICAgICAgICAg
ICAgICAgICAgICAvLyB8YWxsQ29sc0FyZVBlcmNlbnR8IG1lYW5zIHRoYXQgZWl0aGVyIHRoZSBs
b2dpY2FsV2lkdGggKm9yKiB0aGUgZWZmZWN0aXZlTG9naWNhbFdpZHRoIGFyZSBwZXJjZW50cywg
aGFuZGxlIGJvdGggb2YgdGhlbSBoZXJlLgogICAgICAgICAgICAgICAgICAgICBmbG9hdCBwZXJj
ZW50ID0gbV9sYXlvdXRTdHJ1Y3RbcG9zXS5sb2dpY2FsV2lkdGguaXNQZXJjZW50KCkgPyBtX2xh
eW91dFN0cnVjdFtwb3NdLmxvZ2ljYWxXaWR0aC5wZXJjZW50KCkgOiBtX2xheW91dFN0cnVjdFtw
b3NdLmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aC5wZXJjZW50KCk7CiAgICAgICAgICAgICAgICAgICAg
IGludCBjb2x1bW5NaW5Mb2dpY2FsV2lkdGggPSBzdGF0aWNfY2FzdDxpbnQ+KHBlcmNlbnQgKiBj
ZWxsTWluTG9naWNhbFdpZHRoIC8gdG90YWxQZXJjZW50KTsKLSAgICAgICAgICAgICAgICAgICAg
ZmxvYXQgY29sdW1uTWF4TG9naWNhbFdpZHRoID0gcGVyY2VudCAqIGNlbGxNYXhMb2dpY2FsV2lk
dGggLyB0b3RhbFBlcmNlbnQ7CisgICAgICAgICAgICAgICAgICAgIGludCBjb2x1bW5NYXhMb2dp
Y2FsV2lkdGggPSBzdGF0aWNfY2FzdDxpbnQ+KHBlcmNlbnQgKiBjZWxsTWF4TG9naWNhbFdpZHRo
IC8gdG90YWxQZXJjZW50KTsKICAgICAgICAgICAgICAgICAgICAgbV9sYXlvdXRTdHJ1Y3RbcG9z
XS5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lkdGggPSBtYXgobV9sYXlvdXRTdHJ1Y3RbcG9zXS5lZmZl
Y3RpdmVNaW5Mb2dpY2FsV2lkdGgsIGNvbHVtbk1pbkxvZ2ljYWxXaWR0aCk7CiAgICAgICAgICAg
ICAgICAgICAgIG1fbGF5b3V0U3RydWN0W3Bvc10uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoID0g
Y29sdW1uTWF4TG9naWNhbFdpZHRoOwogICAgICAgICAgICAgICAgICAgICBhbGxvY2F0ZWRNaW5M
b2dpY2FsV2lkdGggKz0gY29sdW1uTWluTG9naWNhbFdpZHRoOwpAQCAtNDE0LDcgKzQxNCw3IEBA
IGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2EKICAgICAgICAgICAgICAg
ICBjZWxsTWluTG9naWNhbFdpZHRoIC09IGFsbG9jYXRlZE1pbkxvZ2ljYWxXaWR0aDsKICAgICAg
ICAgICAgICAgICBjZWxsTWF4TG9naWNhbFdpZHRoIC09IGFsbG9jYXRlZE1heExvZ2ljYWxXaWR0
aDsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgcmVtYWluaW5n
TWF4TG9naWNhbFdpZHRoID0gc3Bhbk1heExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgICAgICBp
bnQgcmVtYWluaW5nTWF4TG9naWNhbFdpZHRoID0gc3Bhbk1heExvZ2ljYWxXaWR0aDsKICAgICAg
ICAgICAgICAgICBpbnQgcmVtYWluaW5nTWluTG9naWNhbFdpZHRoID0gc3Bhbk1pbkxvZ2ljYWxX
aWR0aDsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAvLyBHaXZlIG1pbiB0byB2
YXJpYWJsZSBmaXJzdCwgdG8gZml4ZWQgc2Vjb25kLCBhbmQgdG8gb3RoZXJzIHRoaXJkLgpAQCAt
NDMxLDcgKzQzMSw3IEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2EK
IAogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgcG9zID0gZWZmQ29sOyByZW1haW5pbmdN
YXhMb2dpY2FsV2lkdGggPj0gMCAmJiBwb3MgPCBsYXN0Q29sICYmIHJlbWFpbmluZ01pbkxvZ2lj
YWxXaWR0aCA8IGNlbGxNaW5Mb2dpY2FsV2lkdGg7ICsrcG9zKSB7CiAgICAgICAgICAgICAgICAg
ICAgIGlmICghKG1fbGF5b3V0U3RydWN0W3Bvc10ubG9naWNhbFdpZHRoLmlzRml4ZWQoKSAmJiBo
YXZlQXV0byAmJiBmaXhlZFdpZHRoIDw9IGNlbGxNaW5Mb2dpY2FsV2lkdGgpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgY29sTWluTG9naWNhbFdpZHRoID0gbWF4PGludD4obV9sYXlv
dXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lkdGgsIHN0YXRpY19jYXN0PGludD4o
cmVtYWluaW5nTWF4TG9naWNhbFdpZHRoID8gY2VsbE1pbkxvZ2ljYWxXaWR0aCAqIHN0YXRpY19j
YXN0PGZsb2F0PihtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZU1heExvZ2ljYWxXaWR0aCkg
LyByZW1haW5pbmdNYXhMb2dpY2FsV2lkdGggOiBjZWxsTWluTG9naWNhbFdpZHRoKSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgY29sTWluTG9naWNhbFdpZHRoID0gbWF4PGludD4obV9s
YXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lkdGgsIHJlbWFpbmluZ01heExv
Z2ljYWxXaWR0aCA/IChjZWxsTWluTG9naWNhbFdpZHRoICogbV9sYXlvdXRTdHJ1Y3RbcG9zXS5l
ZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGgpIC8gcmVtYWluaW5nTWF4TG9naWNhbFdpZHRoIDogY2Vs
bE1pbkxvZ2ljYWxXaWR0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBjb2xNaW5Mb2dpY2Fs
V2lkdGggPSBtaW48aW50PihtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZU1pbkxvZ2ljYWxX
aWR0aCArIChjZWxsTWluTG9naWNhbFdpZHRoIC0gcmVtYWluaW5nTWluTG9naWNhbFdpZHRoKSwg
Y29sTWluTG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZ01h
eExvZ2ljYWxXaWR0aCAtPSBtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZU1heExvZ2ljYWxX
aWR0aDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZ01pbkxvZ2ljYWxXaWR0aCAt
PSBtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aDsKQEAgLTQ0NCw3
ICs0NDQsNyBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhCiAgICAg
ICAgIGlmICghY2VsbExvZ2ljYWxXaWR0aC5pc1BlcmNlbnQoKSkgewogICAgICAgICAgICAgaWYg
KGNlbGxNYXhMb2dpY2FsV2lkdGggPiBzcGFuTWF4TG9naWNhbFdpZHRoKSB7CiAgICAgICAgICAg
ICAgICAgZm9yICh1bnNpZ25lZCBwb3MgPSBlZmZDb2w7IHNwYW5NYXhMb2dpY2FsV2lkdGggPj0g
MCAmJiBwb3MgPCBsYXN0Q29sOyArK3BvcykgewotICAgICAgICAgICAgICAgICAgICBpbnQgY29s
TWF4TG9naWNhbFdpZHRoID0gbWF4KG1fbGF5b3V0U3RydWN0W3Bvc10uZWZmZWN0aXZlTWF4TG9n
aWNhbFdpZHRoLCBzdGF0aWNfY2FzdDxpbnQ+KHNwYW5NYXhMb2dpY2FsV2lkdGggPyBjZWxsTWF4
TG9naWNhbFdpZHRoICogc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fbGF5b3V0U3RydWN0W3Bvc10uZWZm
ZWN0aXZlTWF4TG9naWNhbFdpZHRoKSAvIHNwYW5NYXhMb2dpY2FsV2lkdGggOiBjZWxsTWF4TG9n
aWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIGludCBjb2xNYXhMb2dpY2FsV2lkdGgg
PSBtYXgobV9sYXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNYXhMb2dpY2FsV2lkdGgsIHNwYW5N
YXhMb2dpY2FsV2lkdGggPyAoY2VsbE1heExvZ2ljYWxXaWR0aCAqIG1fbGF5b3V0U3RydWN0W3Bv
c10uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoKSAvIHNwYW5NYXhMb2dpY2FsV2lkdGggOiBjZWxs
TWF4TG9naWNhbFdpZHRoKTsKICAgICAgICAgICAgICAgICAgICAgc3Bhbk1heExvZ2ljYWxXaWR0
aCAtPSBtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZU1heExvZ2ljYWxXaWR0aDsKICAgICAg
ICAgICAgICAgICAgICAgY2VsbE1heExvZ2ljYWxXaWR0aCAtPSBjb2xNYXhMb2dpY2FsV2lkdGg7
CiAgICAgICAgICAgICAgICAgICAgIG1fbGF5b3V0U3RydWN0W3Bvc10uZWZmZWN0aXZlTWF4TG9n
aWNhbFdpZHRoID0gY29sTWF4TG9naWNhbFdpZHRoOwpAQCAtNDYyLDcgKzQ2Miw3IEBAIGludCBB
dXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2EKICAgICB9CiAgICAgbV9lZmZlY3Rp
dmVMb2dpY2FsV2lkdGhEaXJ0eSA9IGZhbHNlOwogCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGlu
dD4obWluKG1heExvZ2ljYWxXaWR0aCwgSU5UX01BWCAvIDIuMGYpKTsKKyAgICByZXR1cm4gbWlu
KG1heExvZ2ljYWxXaWR0aCwgSU5UX01BWCAvIDIpOwogfQogCiAvKiBnZXRzIGFsbCBjZWxscyB0
aGF0IG9yaWdpbmF0ZSBpbiBhIGNvbHVtbiBhbmQgaGF2ZSBhIGNlbGxzcGFuID4gMQpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTI1MzUxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgtMTEgIEFycGl0YSBCYWh1Z3VuYSAgPGFycGl0
YWJhaHVndW5hQGdtYWlsLmNvbT4KKworICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiBhbGxvY2F0
ZWRNYXhMb2dpY2FsV2lkdGggPD0gY2VsbE1heExvZ2ljYWxXaWR0aCA6IGludCBXZWJDb3JlOjpB
dXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2FsV2lkdGgoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI0NzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGFibGUvYXNzZXJ0LWF1
dG90YWJsZWxheW91dC1tYXhsb2dpY2Fsd2lkdGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RhYmxlL2Fzc2VydC1hdXRvdGFibGVsYXlvdXQtbWF4bG9naWNhbHdpZHRoLmh0
bWw6IEFkZGVkLgorICAgICAgICBBZGRlZCBhIHRlc3RjYXNlIGZvciB2ZXJpZnlpbmcgdGhhdCB0
aGUgYXNzZXJ0IGluIEF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVjdGl2ZUxvZ2ljYWxXaWR0aCgp
CisgICAgICAgIGZvciBhbGxvY2F0ZWRNYXhMb2dpY2FsV2lkdGggY29taW5nIGdyZWF0ZXIgdGhh
biBjZWxsTWF4TG9naWNhbFdpZHRoLCBkb2VzIG5vdAorICAgICAgICBvY2N1ci4KKwogMjAxMi0w
OC0xMSAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVHJh
Y2sgYmxvY2sncyBwb3NpdGlvbmVkIG9iamVjdHMgbGlrZSBwZXJjZW50LWhlaWdodCBjaGlsZHJl
bgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9hc3NlcnQtYXV0b3RhYmxlbGF5b3V0LW1h
eGxvZ2ljYWx3aWR0aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9hc3NlcnQtYXV0b3RhYmxlbGF5b3V0LW1heGxvZ2ljYWx3aWR0aC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Fzc2VydC1hdXRvdGFi
bGVsYXlvdXQtbWF4bG9naWNhbHdpZHRoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw1IEBACitUZXN0IGZvciBCdWd6aWxsYSBCdWcgOTI0NzE6IEFTU0VSVElPTiBGQUlMRUQ6
IGFsbG9jYXRlZE1heExvZ2ljYWxXaWR0aCA8PSBjZWxsTWF4TG9naWNhbFdpZHRoIDogaW50IFdl
YkNvcmU6OkF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVjdGl2ZUxvZ2ljYWxXaWR0aCgpLgorCitU
aGUgZm9sbG93aW5nIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5vIGFzc2VydCBvciBjcmFzaC4K
KworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2Fzc2VydC1hdXRvdGFibGVsYXlvdXQt
bWF4bG9naWNhbHdpZHRoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9hc3NlcnQtYXV0b3RhYmxlbGF5b3V0LW1heGxvZ2ljYWx3aWR0aC5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9hc3NlcnQtYXV0b3RhYmxlbGF5b3V0LW1heGxv
Z2ljYWx3aWR0aC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorICAgIDxzdHlsZT4KKyAgICAgICAgLnBlcmNlbnQgdGQgeyB3aWR0aDog
MSU7IH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIDwvc2Ny
aXB0PgorICAgIDxwPlRlc3QgZm9yIEJ1Z3ppbGxhIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjQ3MSI+QnVnIDkyNDcxPC9hPjogQVNTRVJUSU9OIEZB
SUxFRDogYWxsb2NhdGVkTWF4TG9naWNhbFdpZHRoIDw9IGNlbGxNYXhMb2dpY2FsV2lkdGggOiBp
bnQgV2ViQ29yZTo6QXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhbFdpZHRoKCku
PC9wPgorICAgIDxwPlRoZSBmb2xsb3dpbmcgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8gYXNz
ZXJ0IG9yIGNyYXNoLjwvcD4KKyAgICA8dGFibGU+CisgICAgPHRyPgorICAgICAgICA8dGQgY29s
c3Bhbj0iNyIgc3R5bGU9InBhZGRpbmc6IDA7IiB3aWR0aD0iNDc5Ij4KKyAgICAgICAgICAgIDxk
aXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDQ3OXB4OyIgPjwvZGl2PgorICAg
ICAgICA8L3RkPgorICAgIDwvdHI+CisgICAgPHRyIGNsYXNzPSJwZXJjZW50Ij4KKyAgICAgICAg
PHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAg
PHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4JCQorICAgICAg
ICA8dGQ+PC90ZD4JCQorICAgIDwvdHI+CisgICAgPC90YWJsZT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158324</attachid>
            <date>2012-08-14 07:35:27 -0700</date>
            <delta_ts>2012-08-17 11:32:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92471-20120814200822.patch</filename>
            <type>text/plain</type>
            <size>8473</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNTU2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA4LTE0ICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQVNTRVJUSU9O
IEZBSUxFRDogYWxsb2NhdGVkTWF4TG9naWNhbFdpZHRoIDw9IGNlbGxNYXhMb2dpY2FsV2lkdGgg
OiBpbnQgV2ViQ29yZTo6QXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhbFdpZHRo
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNDcx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGFz
c2VydCBvY2N1cnMgZHVlIHRvIHRoZSBmbG9hdCBiYXNlZCBjb21wdXRhdGlvbnMgY2F1c2luZyBh
IGZsb2F0aW5nCisgICAgICAgIHBvaW50IHJvdW5kaW5nIGVycm9yIGJldHdlZW4gYWxsb2NhdGVk
TWF4TG9naWNhbFdpZHRoIGFuZCBjZWxsTWF4TG9naWNhbFdpZHRoLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvdGFibGUvYXNzZXJ0LWF1dG90YWJsZWxheW91dC1tYXhsb2dpY2Fsd2lkdGguaHRtbAor
CisgICAgICAgICogcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2FsV2lkdGgpOgorICAgICAg
ICBDb252ZXJ0aW5nIGZsb2F0IGJhc2VkIGNhbGN1bGF0aW9ucyBmb3IgY29tcHV0aW5nIG1heCBs
b2dpY2FsIHdpZHRoIHRvIGludCBiYXNlZDsKKyAgICAgICAgc2ltaWxhciB0byB0aGUgY2FsY3Vs
YXRpb25zIGZvciBtaW4gbG9naWNhbCB3aWR0aC4KKwogMjAxMi0wOC0xNCAgQXJ2aWQgTmlsc3Nv
biAgPGFuaWxzc29uQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFRleHR1cmUgY2Fj
aGUgbXVzdCBhZGFwdCB0byBIYXNoTWFwIGNoYW5nZXMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCShyZXZpc2lvbiAxMjU1NjApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjc3LDcgKzI3Nyw3IEBAIHZvaWQgQXV0b1RhYmxlTGF5b3V0Ojpjb21wdXRlUHJlZmVycmVk
TG8KICAqLwogaW50IEF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVjdGl2ZUxvZ2ljYWxXaWR0aCgp
CiB7Ci0gICAgZmxvYXQgbWF4TG9naWNhbFdpZHRoID0gMDsKKyAgICBpbnQgbWF4TG9naWNhbFdp
ZHRoID0gMDsKIAogICAgIHNpemVfdCBuRWZmQ29scyA9IG1fbGF5b3V0U3RydWN0LnNpemUoKTsK
ICAgICBpbnQgc3BhY2luZ0luUm93RGlyZWN0aW9uID0gbV90YWJsZS0+aEJvcmRlclNwYWNpbmco
KTsKQEAgLTMwMiwxMCArMzAyLDEwIEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3Rp
dmVMb2dpY2EKICAgICAgICAgdW5zaWduZWQgZWZmQ29sID0gbV90YWJsZS0+Y29sVG9FZmZDb2wo
Y2VsbC0+Y29sKCkpOwogICAgICAgICBzaXplX3QgbGFzdENvbCA9IGVmZkNvbDsKICAgICAgICAg
aW50IGNlbGxNaW5Mb2dpY2FsV2lkdGggPSBjZWxsLT5taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgo
KSArIHNwYWNpbmdJblJvd0RpcmVjdGlvbjsKLSAgICAgICAgZmxvYXQgY2VsbE1heExvZ2ljYWxX
aWR0aCA9IGNlbGwtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgc3BhY2luZ0luUm93RGly
ZWN0aW9uOworICAgICAgICBpbnQgY2VsbE1heExvZ2ljYWxXaWR0aCA9IGNlbGwtPm1heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCgpICsgc3BhY2luZ0luUm93RGlyZWN0aW9uOwogICAgICAgICBmbG9h
dCB0b3RhbFBlcmNlbnQgPSAwOwogICAgICAgICBpbnQgc3Bhbk1pbkxvZ2ljYWxXaWR0aCA9IDA7
Ci0gICAgICAgIGZsb2F0IHNwYW5NYXhMb2dpY2FsV2lkdGggPSAwOworICAgICAgICBpbnQgc3Bh
bk1heExvZ2ljYWxXaWR0aCA9IDA7CiAgICAgICAgIGJvb2wgYWxsQ29sc0FyZVBlcmNlbnQgPSB0
cnVlOwogICAgICAgICBib29sIGFsbENvbHNBcmVGaXhlZCA9IHRydWU7CiAgICAgICAgIGJvb2wg
aGF2ZUF1dG8gPSBmYWxzZTsKQEAgLTM2MSwxMSArMzYxLDExIEBAIGludCBBdXRvVGFibGVMYXlv
dXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2EKICAgICAgICAgICAgICAgICAvLyBjYW4ndCBzYXRpZnkg
dGhpcyBjb25kaXRpb24sIHRyZWF0IGFzIHZhcmlhYmxlCiAgICAgICAgICAgICAgICAgY2VsbExv
Z2ljYWxXaWR0aCA9IExlbmd0aCgpOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICBtYXhMb2dpY2FsV2lkdGggPSBtYXgobWF4TG9naWNhbFdpZHRoLCBzdGF0aWNfY2FzdDxm
bG9hdD4obWF4KHNwYW5NYXhMb2dpY2FsV2lkdGgsIGNlbGxNYXhMb2dpY2FsV2lkdGgpICogMTAw
ICAvIGNlbGxMb2dpY2FsV2lkdGgucGVyY2VudCgpKSk7CisgICAgICAgICAgICAgICAgbWF4TG9n
aWNhbFdpZHRoID0gbWF4KG1heExvZ2ljYWxXaWR0aCwgc3RhdGljX2Nhc3Q8aW50PihtYXgoc3Bh
bk1heExvZ2ljYWxXaWR0aCwgY2VsbE1heExvZ2ljYWxXaWR0aCkgKiAxMDAgIC8gY2VsbExvZ2lj
YWxXaWR0aC5wZXJjZW50KCkpKTsKIAogICAgICAgICAgICAgICAgIC8vIGFsbCBub24gcGVyY2Vu
dCBjb2x1bW5zIGluIHRoZSBzcGFuIGdldCBwZXJjZW50IHZhbHVlcyB0byBzdW0gdXAgY29ycmVj
dGx5LgogICAgICAgICAgICAgICAgIGZsb2F0IHBlcmNlbnRNaXNzaW5nID0gY2VsbExvZ2ljYWxX
aWR0aC5wZXJjZW50KCkgLSB0b3RhbFBlcmNlbnQ7Ci0gICAgICAgICAgICAgICAgZmxvYXQgdG90
YWxXaWR0aCA9IDA7CisgICAgICAgICAgICAgICAgaW50IHRvdGFsV2lkdGggPSAwOwogICAgICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgcG9zID0gZWZmQ29sOyBwb3MgPCBsYXN0Q29sOyArK3Bv
cykgewogICAgICAgICAgICAgICAgICAgICBpZiAoIW1fbGF5b3V0U3RydWN0W3Bvc10uZWZmZWN0
aXZlTG9naWNhbFdpZHRoLmlzUGVyY2VudCgpKQogICAgICAgICAgICAgICAgICAgICAgICAgdG90
YWxXaWR0aCArPSBtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZU1heExvZ2ljYWxXaWR0aDsK
QEAgLTM5NywxMyArMzk3LDEzIEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVM
b2dpY2EKICAgICAgICAgICAgIH0gZWxzZSBpZiAoYWxsQ29sc0FyZVBlcmNlbnQpIHsKICAgICAg
ICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHdlIGp1c3Qgc3BsaXQgdGhlIGNvbHNwYW4ncyBt
aW4gYW1kIG1heCB3aWR0aHMgZm9sbG93aW5nIHRoZSBwZXJjZW50YWdlLgogICAgICAgICAgICAg
ICAgIGludCBhbGxvY2F0ZWRNaW5Mb2dpY2FsV2lkdGggPSAwOwotICAgICAgICAgICAgICAgIGZs
b2F0IGFsbG9jYXRlZE1heExvZ2ljYWxXaWR0aCA9IDA7CisgICAgICAgICAgICAgICAgaW50IGFs
bG9jYXRlZE1heExvZ2ljYWxXaWR0aCA9IDA7CiAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBwb3MgPSBlZmZDb2w7IHBvcyA8IGxhc3RDb2w7ICsrcG9zKSB7CiAgICAgICAgICAgICAgICAg
ICAgIEFTU0VSVChtX2xheW91dFN0cnVjdFtwb3NdLmxvZ2ljYWxXaWR0aC5pc1BlcmNlbnQoKSB8
fCBtX2xheW91dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZUxvZ2ljYWxXaWR0aC5pc1BlcmNlbnQoKSk7
CiAgICAgICAgICAgICAgICAgICAgIC8vIHxhbGxDb2xzQXJlUGVyY2VudHwgbWVhbnMgdGhhdCBl
aXRoZXIgdGhlIGxvZ2ljYWxXaWR0aCAqb3IqIHRoZSBlZmZlY3RpdmVMb2dpY2FsV2lkdGggYXJl
IHBlcmNlbnRzLCBoYW5kbGUgYm90aCBvZiB0aGVtIGhlcmUuCiAgICAgICAgICAgICAgICAgICAg
IGZsb2F0IHBlcmNlbnQgPSBtX2xheW91dFN0cnVjdFtwb3NdLmxvZ2ljYWxXaWR0aC5pc1BlcmNl
bnQoKSA/IG1fbGF5b3V0U3RydWN0W3Bvc10ubG9naWNhbFdpZHRoLnBlcmNlbnQoKSA6IG1fbGF5
b3V0U3RydWN0W3Bvc10uZWZmZWN0aXZlTG9naWNhbFdpZHRoLnBlcmNlbnQoKTsKICAgICAgICAg
ICAgICAgICAgICAgaW50IGNvbHVtbk1pbkxvZ2ljYWxXaWR0aCA9IHN0YXRpY19jYXN0PGludD4o
cGVyY2VudCAqIGNlbGxNaW5Mb2dpY2FsV2lkdGggLyB0b3RhbFBlcmNlbnQpOwotICAgICAgICAg
ICAgICAgICAgICBmbG9hdCBjb2x1bW5NYXhMb2dpY2FsV2lkdGggPSBwZXJjZW50ICogY2VsbE1h
eExvZ2ljYWxXaWR0aCAvIHRvdGFsUGVyY2VudDsKKyAgICAgICAgICAgICAgICAgICAgaW50IGNv
bHVtbk1heExvZ2ljYWxXaWR0aCA9IHN0YXRpY19jYXN0PGludD4ocGVyY2VudCAqIGNlbGxNYXhM
b2dpY2FsV2lkdGggLyB0b3RhbFBlcmNlbnQpOwogICAgICAgICAgICAgICAgICAgICBtX2xheW91
dFN0cnVjdFtwb3NdLmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aCA9IG1heChtX2xheW91dFN0cnVj
dFtwb3NdLmVmZmVjdGl2ZU1pbkxvZ2ljYWxXaWR0aCwgY29sdW1uTWluTG9naWNhbFdpZHRoKTsK
ICAgICAgICAgICAgICAgICAgICAgbV9sYXlvdXRTdHJ1Y3RbcG9zXS5lZmZlY3RpdmVNYXhMb2dp
Y2FsV2lkdGggPSBjb2x1bW5NYXhMb2dpY2FsV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgIGFs
bG9jYXRlZE1pbkxvZ2ljYWxXaWR0aCArPSBjb2x1bW5NaW5Mb2dpY2FsV2lkdGg7CkBAIC00MTQs
NyArNDE0LDcgQEAgaW50IEF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVjdGl2ZUxvZ2ljYQogICAg
ICAgICAgICAgICAgIGNlbGxNaW5Mb2dpY2FsV2lkdGggLT0gYWxsb2NhdGVkTWluTG9naWNhbFdp
ZHRoOwogICAgICAgICAgICAgICAgIGNlbGxNYXhMb2dpY2FsV2lkdGggLT0gYWxsb2NhdGVkTWF4
TG9naWNhbFdpZHRoOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBmbG9h
dCByZW1haW5pbmdNYXhMb2dpY2FsV2lkdGggPSBzcGFuTWF4TG9naWNhbFdpZHRoOworICAgICAg
ICAgICAgICAgIGludCByZW1haW5pbmdNYXhMb2dpY2FsV2lkdGggPSBzcGFuTWF4TG9naWNhbFdp
ZHRoOwogICAgICAgICAgICAgICAgIGludCByZW1haW5pbmdNaW5Mb2dpY2FsV2lkdGggPSBzcGFu
TWluTG9naWNhbFdpZHRoOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIC8vIEdp
dmUgbWluIHRvIHZhcmlhYmxlIGZpcnN0LCB0byBmaXhlZCBzZWNvbmQsIGFuZCB0byBvdGhlcnMg
dGhpcmQuCkBAIC00NjIsNyArNDYyLDcgQEAgaW50IEF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVj
dGl2ZUxvZ2ljYQogICAgIH0KICAgICBtX2VmZmVjdGl2ZUxvZ2ljYWxXaWR0aERpcnR5ID0gZmFs
c2U7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihtaW4obWF4TG9naWNhbFdpZHRoLCBJ
TlRfTUFYIC8gMi4wZikpOworICAgIHJldHVybiBtaW4obWF4TG9naWNhbFdpZHRoLCBJTlRfTUFY
IC8gMik7CiB9CiAKIC8qIGdldHMgYWxsIGNlbGxzIHRoYXQgb3JpZ2luYXRlIGluIGEgY29sdW1u
IGFuZCBoYXZlIGEgY2VsbHNwYW4gPiAxCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjU1NjIpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAx
Mi0wOC0xNCAgQXJwaXRhIEJhaHVndW5hICA8YXJwaXRhYmFodWd1bmFAZ21haWwuY29tPgorCisg
ICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IGFsbG9jYXRlZE1heExvZ2ljYWxXaWR0aCA8PSBjZWxs
TWF4TG9naWNhbFdpZHRoIDogaW50IFdlYkNvcmU6OkF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVj
dGl2ZUxvZ2ljYWxXaWR0aCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MjQ3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC90YWJsZS9hc3NlcnQtYXV0b3RhYmxlbGF5b3V0LW1heGxvZ2ljYWx3
aWR0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGFibGUvYXNzZXJ0LWF1
dG90YWJsZWxheW91dC1tYXhsb2dpY2Fsd2lkdGguaHRtbDogQWRkZWQuCisgICAgICAgIEFkZGVk
IGEgdGVzdGNhc2UgZm9yIHZlcmlmeWluZyB0aGF0IHRoZSBhc3NlcnQgaW4gQXV0b1RhYmxlTGF5
b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhbFdpZHRoKCkKKyAgICAgICAgZm9yIGFsbG9jYXRlZE1h
eExvZ2ljYWxXaWR0aCBjb21pbmcgZ3JlYXRlciB0aGFuIGNlbGxNYXhMb2dpY2FsV2lkdGgsIGRv
ZXMgbm90IG9jY3VyLgorCiAyMDEyLTA4LTE0ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFVwZGF0ZSBleHBlY3RhdGlvbiBmaWxlcyBmb3Ig
ZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1hcHBlYXJhbmNlLmh0bWwKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvdGFibGUvYXNzZXJ0LWF1dG90YWJsZWxheW91dC1tYXhsb2dpY2Fsd2lk
dGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYXNz
ZXJ0LWF1dG90YWJsZWxheW91dC1tYXhsb2dpY2Fsd2lkdGgtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9hc3NlcnQtYXV0b3RhYmxlbGF5b3V0LW1h
eGxvZ2ljYWx3aWR0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAor
VGVzdCBmb3IgQnVnemlsbGEgQnVnIDkyNDcxOiBBU1NFUlRJT04gRkFJTEVEOiBhbGxvY2F0ZWRN
YXhMb2dpY2FsV2lkdGggPD0gY2VsbE1heExvZ2ljYWxXaWR0aCA6IGludCBXZWJDb3JlOjpBdXRv
VGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2FsV2lkdGgoKS4KKworVGhlIGZvbGxvd2lu
ZyB0ZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBubyBhc3NlcnQgb3IgY3Jhc2guCisKKwpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC90YWJsZS9hc3NlcnQtYXV0b3RhYmxlbGF5b3V0LW1heGxvZ2ljYWx3
aWR0aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYXNzZXJ0LWF1
dG90YWJsZWxheW91dC1tYXhsb2dpY2Fsd2lkdGguaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvdGFibGUvYXNzZXJ0LWF1dG90YWJsZWxheW91dC1tYXhsb2dpY2Fsd2lkdGgu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKyAgICA8c3R5bGU+CisgICAgICAgIC5wZXJjZW50IHRkIHsgd2lkdGg6IDElOyB9CisgICAg
PC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
cD5UZXN0IGZvciBCdWd6aWxsYSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTI0NzEiPkJ1ZyA5MjQ3MTwvYT46IEFTU0VSVElPTiBGQUlMRUQ6IGFsbG9j
YXRlZE1heExvZ2ljYWxXaWR0aCA8PSBjZWxsTWF4TG9naWNhbFdpZHRoIDogaW50IFdlYkNvcmU6
OkF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVjdGl2ZUxvZ2ljYWxXaWR0aCgpLjwvcD4KKyAgICA8
cD5UaGUgZm9sbG93aW5nIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5vIGFzc2VydCBvciBjcmFz
aC48L3A+CisgICAgPHRhYmxlPgorICAgIDx0cj4KKyAgICAgICAgPHRkIGNvbHNwYW49IjciIHN0
eWxlPSJwYWRkaW5nOiAwOyIgd2lkdGg9IjQ3OSI+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiA0NzlweDsiID48L2Rpdj4KKyAgICAgICAgPC90ZD4K
KyAgICA8L3RyPgorICAgIDx0ciBjbGFzcz0icGVyY2VudCI+CisgICAgICAgIDx0ZD48L3RkPgor
ICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgor
ICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CQkKKyAgICAgICAgPHRkPjwvdGQ+
CQkKKyAgICA8L3RyPgorICAgIDwvdGFibGU+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>