<?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>7180</bug_id>
          
          <creation_ts>2006-02-10 12:46:52 -0800</creation_ts>
          <short_desc>Table cell&apos;s anonymous wrappers are left in the tree, impacting our layout</short_desc>
          <delta_ts>2012-02-17 11:03:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tables</component>
          <version>420+</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>ian</cc>
    
    <cc>inferno</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>romario333</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>32061</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-02-10 12:46:52 -0800</bug_when>
    <thetext>Changing a table cell&apos;s position property to absolute replaces it with an anonymous cell containing a block. When the position is changed back to static, the block changes back to a cell, but the anonymous cell is left behind, so now there&apos;s an extra cell.

You can reproduce this in the testcase by changing the orange cell&apos;s position property from static to absolute a few times using the radio buttons.

Filing as P3 since this doesn&apos;t come from a real website.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32062</commentid>
    <comment_count>1</comment_count>
      <attachid>6397</attachid>
    <who name="">mitz</who>
    <bug_when>2006-02-10 12:47:55 -0800</bug_when>
    <thetext>Created attachment 6397
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541358</commentid>
    <comment_count>2</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-01-24 08:45:47 -0800</bug_when>
    <thetext>*** Bug 75798 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541360</commentid>
    <comment_count>3</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-01-24 08:48:23 -0800</bug_when>
    <thetext>jQuery is impacted by this issue so bumping the priority to P2.

The issue is related to bug 52123: we leave anonymous cells wrapper in the tree that confuses our layout algorithm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541483</commentid>
    <comment_count>4</comment_count>
      <attachid>123771</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-01-24 10:57:18 -0800</bug_when>
    <thetext>Created attachment 123771
Proposed fix: remove our table cell wrappers during destroy() in a new function destroyAndRemoveAnonymousWrapper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541641</commentid>
    <comment_count>5</comment_count>
      <attachid>123771</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-24 13:50:19 -0800</bug_when>
    <thetext>Comment on attachment 123771
Proposed fix: remove our table cell wrappers during destroy() in a new function destroyAndRemoveAnonymousWrapper.

Attachment 123771 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11294069

New failing tests:
media/audio-garbage-collect.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541901</commentid>
    <comment_count>6</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-01-24 17:42:25 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 123771 [details])
&gt; Attachment 123771 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/11294069
&gt; 
&gt; New failing tests:
&gt; media/audio-garbage-collect.html

The EWS is confused here. This test is flaky and more importantly does not involve any table so could not be impacted by the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541902</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-24 17:43:46 -0800</bug_when>
    <thetext>&gt; The EWS is confused here. This test is flaky and more importantly does not involve any table so could not be impacted by the change.

Yeah, I&apos;ve marked the test as flaky.  Sorry for the noise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542434</commentid>
    <comment_count>8</comment_count>
      <attachid>123771</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-01-25 10:38:56 -0800</bug_when>
    <thetext>Comment on attachment 123771
Proposed fix: remove our table cell wrappers during destroy() in a new function destroyAndRemoveAnonymousWrapper.

Maybe it would be better to do this at removal time rather than destroy time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543583</commentid>
    <comment_count>9</comment_count>
      <attachid>124197</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-01-26 15:38:38 -0800</bug_when>
    <thetext>Created attachment 124197
Moved the clean-up to removal time per suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544300</commentid>
    <comment_count>10</comment_count>
      <attachid>124357</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-01-27 13:06:10 -0800</bug_when>
    <thetext>Created attachment 124357
Same change, fixed the test&apos;s bug description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545528</commentid>
    <comment_count>11</comment_count>
      <attachid>124357</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-30 15:59:50 -0800</bug_when>
    <thetext>Comment on attachment 124357
Same change, fixed the test&apos;s bug description.

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

&gt; Source/WebCore/rendering/RenderTableCell.cpp:1099
&gt; +    if (beingDestroyed() || documentBeingDestroyed())

When are we not being destroyed when our document is?  Do we need to check for other forms of destruction?  Does destroy() assert if you call it recursively (to catch people missing this check?)

&gt; Source/WebCore/rendering/RenderTableCell.cpp:1104
&gt; +        destroy();

is destory() the right way to remove ourselves from teh tree?  (intead of say parent()-&gt;removeChild(this)?) 

Why is the isBeforeOrAfterContent check needed?  Are there other types of anonymous blocks which we need to whitelist here?  This and the &quot;documentBeingDestoryed()&quot; check above seem like error-prone whitelists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545694</commentid>
    <comment_count>12</comment_count>
      <attachid>124357</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-01-30 18:28:48 -0800</bug_when>
    <thetext>Comment on attachment 124357
Same change, fixed the test&apos;s bug description.

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

Eric, regarding your question about anonymous boxes removal, there is some code in RenderBlock::removeChild to merge / remove some anonymous child in some cases. However it is fairly limited and some testing showed that we leave some anonymous boxes in the tree.

&gt;&gt; Source/WebCore/rendering/RenderTableCell.cpp:1099
&gt;&gt; +    if (beingDestroyed() || documentBeingDestroyed())
&gt; 
&gt; When are we not being destroyed when our document is?  Do we need to check for other forms of destruction?  Does destroy() assert if you call it recursively (to catch people missing this check?)

&gt; When are we not being destroyed when our document is?

I don&apos;t think there is any such case. If our document is destroyed, destroy() should have been called on |this| as we are going up the RenderTree (from child to parent in removeChild).

&gt; Do we need to check for other forms of destruction?

I don&apos;t think there are other forms. Whenever a node is destroyed, willBeDestroyed will be called and it sets beingDestroyed() as RenderTableCells are RenderBlock.

&gt; Does destroy() assert if you call it recursively (to catch people missing this check?)

Unfortunately it doesn&apos;t as beingDestroyed() is specific to RenderBlock. However any memory checker will start screaming.

&gt;&gt; Source/WebCore/rendering/RenderTableCell.cpp:1104
&gt;&gt; +        destroy();
&gt; 
&gt; is destory() the right way to remove ourselves from teh tree?  (intead of say parent()-&gt;removeChild(this)?) 
&gt; 
&gt; Why is the isBeforeOrAfterContent check needed?  Are there other types of anonymous blocks which we need to whitelist here?  This and the &quot;documentBeingDestoryed()&quot; check above seem like error-prone whitelists.

&gt; is destory() the right way to remove ourselves from teh tree?  (intead of say parent()-&gt;removeChild(this)?)

destroy() will call parent()-&gt;removeChild() in RenderObject::willBeDestroyed. The difference is that destroy() also takes care of free&apos;ing the memory and cleaning our tree. The right way to remove a node doesn&apos;t look very clear as sometimes we just remove(), other times we destroy()...

&gt; Why is the isBeforeOrAfterContent check needed?

I was looking for the comment that prompted me not to poke into generated content but couldn&apos;t find it again. Looking again, generated content has special rules for removal but don&apos;t warrant a special case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546245</commentid>
    <comment_count>13</comment_count>
      <attachid>124776</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-01-31 11:04:04 -0800</bug_when>
    <thetext>Created attachment 124776
Patch updated after Eric&apos;s comment. Not for review, while I investigate more the destroying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546259</commentid>
    <comment_count>14</comment_count>
      <attachid>124776</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-31 11:08:47 -0800</bug_when>
    <thetext>Comment on attachment 124776
Patch updated after Eric&apos;s comment. Not for review, while I investigate more the destroying.

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

&gt; Source/WebCore/rendering/RenderTableCell.cpp:1103
&gt; +    // Clean up anonymous wrapper as it can confuse our layout algorithm.
&gt; +    if (isAnonymous() &amp;&amp; !firstChild())

This is specifically a check to see if we&apos;re an anonymous wrapper which is now empty.  It might be clearer to split this into a separate function and move this down onto RenderObject/RenderBoxModelObject?  Named something like destroyIfAnonymousAndAbandoned()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546262</commentid>
    <comment_count>15</comment_count>
      <attachid>124776</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-31 11:10:50 -0800</bug_when>
    <thetext>Comment on attachment 124776
Patch updated after Eric&apos;s comment. Not for review, while I investigate more the destroying.

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

&gt; Source/WebCore/rendering/RenderTableCell.cpp:1104
&gt; +        destroy();

I assume that destroy() will properly clear the Node::m_renderer reference if any?  If so, how does that work for anonymous blocks in general?  Do both the anonymous wrapper and the real renderer point back to the node?  Which one is responsible for clearing the node&apos;s pointer to the renderer on death?  (I know these are basic rendering tree questions, but they will inform these sorts of refactorings so we should make sure we understand them perfectly.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546482</commentid>
    <comment_count>16</comment_count>
      <attachid>124776</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-01-31 14:09:35 -0800</bug_when>
    <thetext>Comment on attachment 124776
Patch updated after Eric&apos;s comment. Not for review, while I investigate more the destroying.

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

&gt;&gt; Source/WebCore/rendering/RenderTableCell.cpp:1103
&gt;&gt; +    if (isAnonymous() &amp;&amp; !firstChild())
&gt; 
&gt; This is specifically a check to see if we&apos;re an anonymous wrapper which is now empty.  It might be clearer to split this into a separate function and move this down onto RenderObject/RenderBoxModelObject?  Named something like destroyIfAnonymousAndAbandoned()?

Yes, that&apos;s exactly what this check is. It&apos;s possible to add a destroyIfAnonymousAndAbandoned() as this could become a rather common task in the render tree if we decide to really start removing anonymous parent agressively.

I realize more and more that I artificially put the scope at the RenderTableCell level but the scope could be a lot broader. We just have to be super careful as we are free&apos;ing |this|.

&gt;&gt; Source/WebCore/rendering/RenderTableCell.cpp:1104
&gt;&gt; +        destroy();
&gt; 
&gt; I assume that destroy() will properly clear the Node::m_renderer reference if any?  If so, how does that work for anonymous blocks in general?  Do both the anonymous wrapper and the real renderer point back to the node?  Which one is responsible for clearing the node&apos;s pointer to the renderer on death?  (I know these are basic rendering tree questions, but they will inform these sorts of refactorings so we should make sure we understand them perfectly.)

There is no need to clear the Node::m_renderer as we are an anonymous RenderObject (which means that we have no associated DOM object). For anonymous wrappers, RenderObject::node() points to the Document.

The one clearing the node&apos;s pointer to the renderer is the DOM element itself - as part of detach() - as it is the one controlling the associated RenderObject&apos;s lifetime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546485</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-31 14:13:36 -0800</bug_when>
    <thetext>OK.  So I think its interesting to put this in a more general place, and make it a more general &quot;delete me if it&apos;s time to do so&quot; kind of method.

We don&apos;t have to move it onto Node, etc. yet, but we should at least design the helper with the idea that it might be moved there later.  The goal here being to make it simple to get this all right, and hard to get it wrong in future code.

Thanks again for looking at this.  I&apos;m happy to r+ any patch along the lines of what we&apos;ve discussed so far.  This isn&apos;t a very involved change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546646</commentid>
    <comment_count>18</comment_count>
      <attachid>124852</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-01-31 16:55:38 -0800</bug_when>
    <thetext>Created attachment 124852
Switched the strategy to removing anonymous wrapper at detach time as this is easier to generalize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547126</commentid>
    <comment_count>19</comment_count>
      <attachid>124852</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-01 09:28:43 -0800</bug_when>
    <thetext>Comment on attachment 124852
Switched the strategy to removing anonymous wrapper at detach time as this is easier to generalize.

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

&gt; Source/WebCore/rendering/RenderObject.cpp:2254
&gt; +    bool parentShouldDie = false;

Btw, this name - while cool - is not great. I think isParentLeftOverAnonymousWrapper would be a better fit. I will change it before landing the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551450</commentid>
    <comment_count>20</comment_count>
      <attachid>124852</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-07 15:17:53 -0800</bug_when>
    <thetext>Comment on attachment 124852
Switched the strategy to removing anonymous wrapper at detach time as this is easier to generalize.

I wonder if this would slow down render tree destruction.  You should try and hunt down Hyatt in #webkit for his opinion on this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552148</commentid>
    <comment_count>21</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-08 08:39:01 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 124852 [details])
&gt; I wonder if this would slow down render tree destruction. 

This is definitely a possibility especially at document destruction as we are trying to clean up the tree one RenderObject at a time. We could alleviate that by adding a fast path in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558430</commentid>
    <comment_count>22</comment_count>
      <attachid>127426</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-16 12:19:47 -0800</bug_when>
    <thetext>Created attachment 127426
Added a fast-path when destroying the document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558453</commentid>
    <comment_count>23</comment_count>
      <attachid>127431</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-16 12:57:43 -0800</bug_when>
    <thetext>Created attachment 127431
Improved our clean-up code after Dave&apos;s IRC comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559288</commentid>
    <comment_count>24</comment_count>
      <attachid>127431</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-02-17 10:22:37 -0800</bug_when>
    <thetext>Comment on attachment 127431
Improved our clean-up code after Dave&apos;s IRC comments.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559295</commentid>
    <comment_count>25</comment_count>
      <attachid>127431</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-17 10:28:14 -0800</bug_when>
    <thetext>Comment on attachment 127431
Improved our clean-up code after Dave&apos;s IRC comments.

Thanks Dave!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559345</commentid>
    <comment_count>26</comment_count>
      <attachid>127431</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-17 11:02:53 -0800</bug_when>
    <thetext>Comment on attachment 127431
Improved our clean-up code after Dave&apos;s IRC comments.

Clearing flags on attachment: 127431

Committed r108098: &lt;http://trac.webkit.org/changeset/108098&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559346</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-17 11:03:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6397</attachid>
            <date>2006-02-10 12:47:55 -0800</date>
            <delta_ts>2006-02-10 12:47:55 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>7180 testcase.html</filename>
            <type>text/html</type>
            <size>665</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogICAgdGQgewogICAgICAgIHdp
ZHRoOiAxMDBweDsKICAgICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHNp
bHZlcjsKICAgIH0KICAgIHRkI3QgeyBiYWNrZ3JvdW5kOiBvcmFuZ2U7IH0KPC9zdHlsZT4KPC9o
ZWFkPgo8Ym9keT4KPHA+CiAgICBDaGFuZ2luZyB0aGUgb3JhbmdlIGNlbGwncyBwb3NpdGlvbiB2
YWx1ZSB0byBhYnNvbHV0ZSBhbmQgdGhlbiBiYWNrCiAgICB0byBzdGF0aWMgcmVzdWx0cyBpbiBh
biBleHRyYSBlbXB0eSBjZWxsIGJlaW5nIGxlZnQgaW4gdGhlIHRyZWUuCjwvcD4KPGlucHV0IHR5
cGU9InJhZGlvIiBuYW1lPSJwb3NpdGlvbiIgY2hlY2tlZCBvbmNsaWNrPSJ0LnN0eWxlLnBvc2l0
aW9uID0gJ3N0YXRpYyciPlN0YXRpYzwvaW5wdXQ+CjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0i
cG9zaXRpb24iIG9uY2xpY2s9InQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnIj5BYnNvbHV0
ZTwvaW5wdXQ+Cjx0YWJsZT4KPHRyPgo8dGQgaWQ9InQiPjwvdGQ+Cjx0ZD48L3RkPgo8dGQ+PC90
ZD4KPHRkPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjwvdGQ+Cjx0ZD48L3RkPgo8dGQ+PC90ZD4KPHRk
PjwvdGQ+CjwvdHI+CjwvdGFibGU+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123771</attachid>
            <date>2012-01-24 10:57:18 -0800</date>
            <delta_ts>2012-01-26 15:38:35 -0800</delta_ts>
            <desc>Proposed fix: remove our table cell wrappers during destroy() in a new function destroyAndRemoveAnonymousWrapper.</desc>
            <filename>bug-7180-20120124105717.patch</filename>
            <type>text/plain</type>
            <size>7347</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NzI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmM1ODUxZGQ0NjY5NGE4
OWFkZjVkYmU3MjZkMzg4MzZhNDRhMjcwMy4uNzE2MGRhMzZmYzllYzMwMjU2N2RiOWE4ODRjMmE5
ODg5MzIxNGY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTAxLTI0ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFRhYmxlIGNl
bGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGltcGFjdGluZyBv
dXIgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC1l
eHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxs
LXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbAorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50
cyBjZWxsJ3MgYW5vbnltb3VzIHdyYXBwZXIgcmVtb3ZhbCBhdCBkZXN0cm95IHRpbWUuCisgICAg
ICAgIFdlIGhhdmUgbGltaXRlZCBvdXIgY2hhbmdlcyB0byB0YWJsZSBjZWxscycgYXMgYSBzaW1w
bGUgc3RlcCB0b3dhcmRzIGZpeGluZworICAgICAgICBidWcgNTIxMjMgYnV0IGFsc28gdG8gbGlt
aXQgcG90ZW50aWFsIGJhZG5lc3MuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRldGFjaCk6CisgICAgICAgICogZG9tL05vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGV0YWNoKToKKyAgICAgICAgVXBkYXRlZCB0aGUg
cHJldmlvdXMgZnVuY3Rpb25zIHRvIHVzZSBkZXN0cm95QW5kUmVtb3ZlQW5vbnltb3VzV3JhcHBl
ci4gSSByZXZpZXdlZAorICAgICAgICB0aGUgb3RoZXIgY2FsbHMgdG8gZGVzdHJveSgpIGFuZCB0
aGV5IHNob3VsZCBub3QgbmVlZCB0byBiZSB1cGRhdGVkLgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmRlc3Ry
b3lBbmRSZW1vdmVBbm9ueW1vdXNXcmFwcGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0Lmg6CisgICAgICAgIEludHJvZHVjZWQgZGVzdHJveUFuZFJlbW92ZUFub255bW91c1dy
YXBwZXIuIFRoaXMgdGFrZXMgY2FyZSBvZiByZW1vdmluZyBhbm9ueW1vdXMKKyAgICAgICAgY2Vs
bHMgdGhhdCBhcmUgbm90IHBhcnQgb2Ygc29tZSBnZW5lcmF0ZWQgY29udGVudC4gV2UgY2Fubm90
IGRvIGl0IGluIGRlc3Ryb3koKSBhcyB3ZSBkb24ndAorICAgICAgICBrbm93IGlmIHdlIGFyZSB0
aGUgZmlyc3QgY2FsbGVyIChhbmQgdGh1cyBjb3VsZCB0cnkgdG8gZnJlZSB0aGUgc2FtZSBSZW5k
ZXJPYmplY3QgdHdpY2UpLgorCiAyMDEyLTAxLTI0ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNh
bmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSZWZhY3RvciBHVEsncyBhY2Nlc3Np
YmlsaXRpdHkgY29kZSB0byBiZSBtb3JlIG1vZHVsYXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmlu
ZGV4IDNhYmIzYWRhOWJjYjUxZjAxZjAyNDc1YTgxOTE2NzNiZGVhOGExYTEuLmM0MWU1NzFmYzYz
NjY4ZGEwY2FjY2Q5MTY3ZWQzYjc3Zjk1MTlkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtMTg5OSw3ICsxODk5LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGV0YWNoKCkKICAgICB1bnNjaGVk
dWxlU3R5bGVSZWNhbGMoKTsKIAogICAgIGlmIChyZW5kZXIpCi0gICAgICAgIHJlbmRlci0+ZGVz
dHJveSgpOworICAgICAgICByZW5kZXItPmRlc3Ryb3lBbmRSZW1vdmVBbm9ueW1vdXNXcmFwcGVy
KCk7CiAgICAgCiAgICAgLy8gVGhpcyBpcyByZXF1aXJlZCwgYXMgb3VyIEZyYW1lIG1pZ2h0IGRl
bGV0ZSBpdHNlbGYgYXMgc29vbiBhcyBpdCBkZXRhY2hlcwogICAgIC8vIHVzLiBIb3dldmVyLCB0
aGlzIHZpb2xhdGVzIE5vZGU6OmRldGFjaCgpIHNlbWFudGljcywgYXMgaXQncyBuZXZlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuY3BwCmluZGV4IDc2N2I4ZGQ5NWFmYTExMTc1MDUwZGFlMDhmYzE1NTgxMGMyNzQ2NDUu
LjFjMzI0YWVlNWIzYTE2YTBkYmI1Y2RmZmY2ODFhYTliM2QxMDFhN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5j
cHAKQEAgLTE0MDUsNyArMTQwNSw3IEBAIHZvaWQgTm9kZTo6ZGV0YWNoKCkKICAgICBzZXRGbGFn
KEluRGV0YWNoRmxhZyk7CiAKICAgICBpZiAocmVuZGVyZXIoKSkKLSAgICAgICAgcmVuZGVyZXIo
KS0+ZGVzdHJveSgpOworICAgICAgICByZW5kZXJlcigpLT5kZXN0cm95QW5kUmVtb3ZlQW5vbnlt
b3VzV3JhcHBlcigpOwogICAgIHNldFJlbmRlcmVyKDApOwogCiAgICAgRG9jdW1lbnQqIGRvYyA9
IGRvY3VtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmlu
ZGV4IGY0YmQyYTFkYmEwZDg4OWUwZDhjM2U0ZjViMGY4ZDlkZmVjZGU2OGQuLmFmOTk4NDI1YmZk
N2ZiYTQ2NzQ4Mzg0NGQ4MGY2ZjM3YzA3NmEzZDYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yMjYxLDYgKzIyNjEsMjcgQEAgdm9pZCBSZW5kZXJPYmpl
Y3Q6OndpbGxCZURlc3Ryb3llZCgpCiAgICAgfQogfQogCit2b2lkIFJlbmRlck9iamVjdDo6ZGVz
dHJveUFuZFJlbW92ZUFub255bW91c1dyYXBwZXIoKQoreworICAgIFJlbmRlck9iamVjdCogcGFy
ZW50ID0gdGhpcy0+cGFyZW50KCk7CisKKyAgICBib29sIHBhcmVudFNob3VsZERpZSA9IGZhbHNl
OworCisgICAgLy8gQ3VycmVudGx5IHdlIG9ubHkgcmVtb3ZlIGFub255bW91cyBjZWxscycgd3Jh
cHBlciBidXQgdG8gZnVsbHkgcGFzcyB0aGUgQ1NTIDIuMSB0ZXN0IHN1aXRlLAorICAgIC8vIHdl
IG5lZWQgdG8gcmVtb3ZlIGFsbCB0YWJsZSByZWxhdGVkIHdyYXBwZXJzLiBTZWUgaHR0cDovL3dl
YmtpdC5vcmcvYi81MjEyMy4KKyAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+aXNBbm9ueW1vdXMo
KSAmJiAhcGFyZW50LT5pc0JlZm9yZU9yQWZ0ZXJDb250ZW50KCkgJiYgcGFyZW50LT5pc1RhYmxl
Q2VsbCgpKQorICAgICAgICBwYXJlbnRTaG91bGREaWUgPSBwYXJlbnQtPmZpcnN0Q2hpbGQoKSA9
PSB0aGlzICYmIHBhcmVudC0+bGFzdENoaWxkKCkgPT0gdGhpczsKKworICAgIGRlc3Ryb3koKTsK
KworICAgIC8vIFdBUk5JTkc6IHx0aGlzfCBpcyBkZWxldGVkIGhlcmUuCisKKyAgICBpZiAocGFy
ZW50U2hvdWxkRGllKSB7CisgICAgICAgIEFTU0VSVCghcGFyZW50LT5maXJzdENoaWxkKCkpOwor
ICAgICAgICBwYXJlbnQtPmRlc3Ryb3koKTsKKyAgICB9Cit9CisKIHZvaWQgUmVuZGVyT2JqZWN0
OjpkZXN0cm95KCkKIHsKICAgICB3aWxsQmVEZXN0cm95ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaAppbmRleCAwYjI2ZWEzZDMzYmFlZjRkYzU4ZjM4NDg1NzQ2OTY4
MzE0OGQ0OTA3Li4yMTA0ODMwMmQ3Njc1MDlmMzAwNDc5MTkyZjdmOTViMDA1MWRlM2EzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC04MDEsNiArODAxLDkgQEAg
cHVibGljOgogICAgIC8vIGFzIGEgaG9vayB0byBkZXRlY3QgdGhlIGNhc2Ugb2YgZG9jdW1lbnQg
ZGVzdHJ1Y3Rpb24gYW5kIGRvbid0IHdhc3RlIHRpbWUgZG9pbmcgdW5uZWNlc3Nhcnkgd29yay4K
ICAgICBib29sIGRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSBjb25zdDsKIAorICAgIC8vIFRoaXMg
Y2FsbHMgZGVzdHJveSgpIGFuZCB0YWtlcyBjYXJlIG9mIHJlbW92aW5nIGFueSBhbm9ueW1vdXMg
d3JhcHBlcgorICAgIC8vIGFzIHJlcXVpcmVkIChjdXJyZW50bHkgb25seSB0YWJsZSBjZWxscycg
d3JhcHBlciBhcmUgcmVtb3ZlZCkuCisgICAgdm9pZCBkZXN0cm95QW5kUmVtb3ZlQW5vbnltb3Vz
V3JhcHBlcigpOwogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95KCk7CiAKICAgICAvLyBWaXJ0dWFs
IGZ1bmN0aW9uIGhlbHBlcnMgZm9yIHRoZSBkZXByZWNhdGVkIEZsZXhpYmxlIEJveCBMYXlvdXQg
KGRpc3BsYXk6IC13ZWJraXQtYm94KS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ZDI1MjJmNDE2NmI3YzBkY2IzZGVjYTY3
MGQxNWJhMTM1YmViOTA5Li45YTNmYzI1NDZkMGYwN2RjNjVlNTU2MzBhMjU1N2RkODFiMzBlZGI0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDEtMjQgIEp1bGllbiBDaGFmZnJhaXggIDxq
Y2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgVGFibGUgY2VsbCdzIGFub255bW91cyB3
cmFwcGVycyBhcmUgbGVmdCBpbiB0aGUgdHJlZSwgaW1wYWN0aW5nIG91ciBsYXlvdXQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGFibGUvdGFi
bGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC1leHBlY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlv
dXQuaHRtbDogQWRkZWQuCisKIDIwMTItMDEtMjQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb24KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRp
b24tYmFkLWxheW91dC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS90YWJs
ZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGM2NzI4NTQ3N2IzZjQ4M2M2N2IwNDhiNjRhNzMyNzQ3YjMxN2JjZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24t
YmFkLWxheW91dC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxib2R5PgorPHA+QnVnIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTgwIj43MTgwPC9hPjogQ2hhbmdpbmcgYSB0YWJsZSdzIGNlbGwg
cG9zaXRpb24gdG8gYWJzb2x1dGUgYW5kIGJhY2sgdG8gc3RhdGljIHJlc3VsdHMgaW4gYW4gZXh0
cmEgY2VsbCBiZWluZyBjcmVhdGVkPC9wPgorPHA+VGhlcmUgc2hvdWxkIGJlIG5vIHJlZCBpbiB0
aGUgb3V0cHV0LjwvcD4KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsg
YmFja2dyb3VuZC1jb2xvcjogZ3JlZW4iPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS90YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1i
YWQtbGF5b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxs
LXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDdjZmFjOWY3MWM0YzhiMjVl
ZTZlNTE3MDRkYjhhYjVlMDUyM2JlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS90YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0Lmh0bWwKQEAgLTAs
MCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4K
KyAgICB0YWJsZSB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKyAgICAgICAgYm9y
ZGVyLXNwYWNpbmc6IDBweDsKKyAgICB9CisgICAgdGQgeworICAgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgcGFkZGluZzogMHB4
OworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPkJ1ZyA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzE4MCI+NzE4MDwvYT46IENoYW5naW5nIGEgdGFibGUncyBjZWxsIHBvc2l0aW9uIHRv
IGFic29sdXRlIGFuZCBiYWNrIHRvIHN0YXRpYyByZXN1bHRzIGluIGFuIGV4dHJhIGNlbGwgYmVp
bmcgY3JlYXRlZDwvcD4KKzxwPlRoZXJlIHNob3VsZCBiZSBubyByZWQgaW4gdGhlIG91dHB1dC48
L3A+Cis8dGFibGU+CisgICAgPHRyPgorICAgICAgICA8dGQgaWQ9InRvZ2dsZVBvc2l0aW9uIj48
L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICA8L3RyPgor
PC90YWJsZT4KKzxzY3JpcHQ+CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidG9nZ2xlUG9zaXRpb24iKTsKKyAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gImFi
c29sdXRlIjsKKworICAgIGVsZW1lbnQub2Zmc2V0V2lkdGg7CisKKyAgICBlbGVtZW50LnN0eWxl
LnBvc2l0aW9uID0gInN0YXRpYyI7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124197</attachid>
            <date>2012-01-26 15:38:38 -0800</date>
            <delta_ts>2012-01-27 13:06:07 -0800</delta_ts>
            <desc>Moved the clean-up to removal time per suggestion.</desc>
            <filename>bug-7180-20120126153837.patch</filename>
            <type>text/plain</type>
            <size>5387</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmMwYjE1MGI0OWRjMjA0
MzMzZmUzOGFiZjVkY2U2MzNkZjY1YjQ2My4uMDE4MTg0NGMzYTlhZTQzY2I5YTg0Y2FmMzNkZWZj
YjNkMTAyZWRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAxLTI2ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFRhYmxlIGNl
bGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGltcGFjdGluZyBv
dXIgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC1l
eHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxs
LXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbAorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50
cyBjZWxsJ3MgYW5vbnltb3VzIHdyYXBwZXIgcmVtb3ZhbCBhdCByZW1vdmFsIHRpbWUuCisKKyAg
ICAgICAgVGhpcyBjaGFuZ2UgaXMgbGltaXRlZCB0byB0YWJsZSBjZWxscycgYXMgYSBzaW1wbGUg
c3RlcCB0b3dhcmRzIGZpeGluZworICAgICAgICBidWcgNTIxMjMgYnV0IGFsc28gdG8gbGltaXQg
cG90ZW50aWFsIGJhZG5lc3MuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6cmVtb3ZlQ2hpbGQpOgor
ICAgICAgICBPdmVycmlkZW4gcmVtb3ZlQ2hpbGQgdGhhdCB0YWtlcyBjYXJlIG9mIGRlbGV0aW5n
IHx0aGlzfCBpZiB3ZSBhcmUgYW4KKyAgICAgICAgYW5vbnltb3VzIGNlbGxzJy4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaDoKKyAgICAgICAgKFJlbmRlclRhYmxlQ2Vs
bCk6CisKIDIwMTItMDEtMjQgIEtlbiBCdWNoYW5hbiAgPGtlbnJiQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBDcmFzaCBpbiB1cGRhdGVGaXJzdExldHRlcigpIGZyb20gdW5uZWNlc3NhcnkgYW5v
bnltb3VzIGJsb2NrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVDZWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwu
Y3BwCmluZGV4IDViNjkwZjRjNzEwNmY1NzFmZmM3N2Y1MDg3YTRiMzk0ZmRkYjk1ODQuLmVhYjA3
OTVmM2ZjYjk5OWYwMDVlODk5ZWVlYjljZTI1YjAyYjljNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCkBAIC0xMDkyLDQgKzEwOTIsMTYgQEAgdm9p
ZCBSZW5kZXJUYWJsZUNlbGw6OnNjcm9sbGJhcnNDaGFuZ2VkKGJvb2wgaG9yaXpvbnRhbFNjcm9s
bGJhckNoYW5nZWQsIGJvb2wgdmUKICAgICAgICAgc2V0SW50cmluc2ljUGFkZGluZ0FmdGVyKGlu
dHJpbnNpY1BhZGRpbmdBZnRlcigpIC0gc2Nyb2xsYmFySGVpZ2h0KTsKIH0KIAordm9pZCBSZW5k
ZXJUYWJsZUNlbGw6OnJlbW92ZUNoaWxkKFJlbmRlck9iamVjdCogY2hpbGQpCit7CisgICAgUmVu
ZGVyQmxvY2s6OnJlbW92ZUNoaWxkKGNoaWxkKTsKKworICAgIGlmIChiZWluZ0Rlc3Ryb3llZCgp
IHx8IGRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8g
Q2xlYW4gdXAgYW5vbnltb3VzIHdyYXBwZXIgYXMgaXQgY2FuIGNvbmZ1c2Ugb3VyIGxheW91dCBh
bGdvcml0aG0uCisgICAgaWYgKGlzQW5vbnltb3VzKCkgJiYgIWZpcnN0Q2hpbGQoKSAmJiAhaXNC
ZWZvcmVPckFmdGVyQ29udGVudCgpKQorICAgICAgICBkZXN0cm95KCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZUNlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwu
aAppbmRleCAyNTQ4YjQ3MTMyNWMxNWQwMzEwMTc1YjQ4YmNjZTIyNzQzMWFmM2NmLi5iMzdhN2My
OTFiZmJmNDFiOTM1MGYzYjM3YzEzYzYyMTVlZmU5MGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCkBAIC0xMzYsNiArMTM2LDggQEAgcHVibGljOgogICAg
IGJvb2wgY2VsbFdpZHRoQ2hhbmdlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY2VsbFdpZHRoQ2hhbmdl
ZDsgfQogICAgIHZvaWQgc2V0Q2VsbFdpZHRoQ2hhbmdlZChib29sIGIgPSB0cnVlKSB7IG1fY2Vs
bFdpZHRoQ2hhbmdlZCA9IGI7IH0KIAorICAgIHZpcnR1YWwgdm9pZCByZW1vdmVDaGlsZChSZW5k
ZXJPYmplY3QqIGNoaWxkKSBPVkVSUklERTsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9p
ZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA4NGMzNDIzMGE1MmU4ZGFhOGRjOTgzMDE2YmI4MDRlZGExNDk0MWM5
Li5iMTY4MDljMWU1YzM4NmJmOTIxNDU3NDFjMDVlMzg2ZDQzNDhkNWIwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMDEtMjYgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVGFibGUgY2VsbCdzIGFub255bW91cyB3cmFwcGVycyBhcmUgbGVm
dCBpbiB0aGUgdHJlZSwgaW1wYWN0aW5nIG91ciBsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwt
cG9zaXRpb24tYmFkLWxheW91dC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbDogQWRkZWQu
CisKIDIwMTItMDEtMjQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBBZGQgTGludXgtc3BlY2lmaWMgb3ZlcnJpZGVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90YWJsZS90YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0LWV4cGVjdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9u
LWJhZC1sYXlvdXQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzY3Mjg1NDc3YjNmNDgzYzY3
YjA0OGI2NGE3MzI3NDdiMzE3YmNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS90YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0LWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSw4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8cD5C
dWcgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODAi
PjcxODA8L2E+OiBDaGFuZ2luZyBhIHRhYmxlJ3MgY2VsbCBwb3NpdGlvbiB0byBhYnNvbHV0ZSBh
bmQgYmFjayB0byBzdGF0aWMgcmVzdWx0cyBpbiBhbiBleHRyYSBjZWxsIGJlaW5nIGNyZWF0ZWQ8
L3A+Cis8cD5UaGVyZSBzaG91bGQgYmUgbm8gcmVkIGluIHRoZSBvdXRwdXQuPC9wPgorPGRpdiBz
dHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
biI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY0N2NmYWM5ZjcxYzRjOGIyNWVlNmU1MTcwNGRiOGFiNWUwNTIzYmUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1j
ZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgIHRhYmxlIHsKKyAgICAgICAg
YmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgICBib3JkZXItc3BhY2luZzogMHB4OworICAg
IH0KKyAgICB0ZCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBwYWRkaW5nOiAwcHg7CisgICAgICAgIHdpZHRoOiAyMDBw
eDsKKyAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+QnVnIDxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTgwIj43MTgwPC9hPjog
Q2hhbmdpbmcgYSB0YWJsZSdzIGNlbGwgcG9zaXRpb24gdG8gYWJzb2x1dGUgYW5kIGJhY2sgdG8g
c3RhdGljIHJlc3VsdHMgaW4gYW4gZXh0cmEgY2VsbCBiZWluZyBjcmVhdGVkPC9wPgorPHA+VGhl
cmUgc2hvdWxkIGJlIG5vIHJlZCBpbiB0aGUgb3V0cHV0LjwvcD4KKzx0YWJsZT4KKyAgICA8dHI+
CisgICAgICAgIDx0ZCBpZD0idG9nZ2xlUG9zaXRpb24iPjwvdGQ+CisgICAgPC90cj4KKyAgICA8
dHI+CisgICAgICAgIDx0ZD48L3RkPgorICAgIDwvdHI+Cis8L3RhYmxlPgorPHNjcmlwdD4KKyAg
ICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2dnbGVQb3NpdGlvbiIp
OworICAgIGVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiOworCisgICAgZWxlbWVu
dC5vZmZzZXRXaWR0aDsKKworICAgIGVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAic3RhdGljIjsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124357</attachid>
            <date>2012-01-27 13:06:10 -0800</date>
            <delta_ts>2012-01-31 11:04:01 -0800</delta_ts>
            <desc>Same change, fixed the test&apos;s bug description.</desc>
            <filename>bug-7180-20120127130609.patch</filename>
            <type>text/plain</type>
            <size>5398</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzAzYjYwODY3YzYyOGM3
OTUxMjEzZGY4MWQ1Mzk0NGQzNzMxNTg1My4uNzMyODVmNjVlNmMwN2IxMWRiMWM3MDdiYzgwMzFm
ODI4OTgzOGU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAxLTI3ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFRhYmxlIGNl
bGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGltcGFjdGluZyBv
dXIgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC1l
eHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxs
LXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbAorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50
cyBjZWxsJ3MgYW5vbnltb3VzIHdyYXBwZXIgcmVtb3ZhbCBhdCByZW1vdmFsIHRpbWUuCisKKyAg
ICAgICAgVGhpcyBjaGFuZ2UgaXMgbGltaXRlZCB0byB0YWJsZSBjZWxscycgYXMgYSBzaW1wbGUg
c3RlcCB0b3dhcmRzIGZpeGluZworICAgICAgICBidWcgNTIxMjMgYnV0IGFsc28gdG8gbGltaXQg
cG90ZW50aWFsIGJhZG5lc3MuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6cmVtb3ZlQ2hpbGQpOgor
ICAgICAgICBPdmVycmlkZW4gcmVtb3ZlQ2hpbGQgdGhhdCB0YWtlcyBjYXJlIG9mIGRlbGV0aW5n
IHx0aGlzfCBpZiB3ZSBhcmUgYW4KKyAgICAgICAgYW5vbnltb3VzIGNlbGxzJy4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaDoKKyAgICAgICAgKFJlbmRlclRhYmxlQ2Vs
bCk6CisKIDIwMTItMDEtMjcgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETCBmb3IgY29uc3RhbnRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCmluZGV4IDViNjkw
ZjRjNzEwNmY1NzFmZmM3N2Y1MDg3YTRiMzk0ZmRkYjk1ODQuLmVhYjA3OTVmM2ZjYjk5OWYwMDVl
ODk5ZWVlYjljZTI1YjAyYjljNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZUNlbGwuY3BwCkBAIC0xMDkyLDQgKzEwOTIsMTYgQEAgdm9pZCBSZW5kZXJUYWJsZUNl
bGw6OnNjcm9sbGJhcnNDaGFuZ2VkKGJvb2wgaG9yaXpvbnRhbFNjcm9sbGJhckNoYW5nZWQsIGJv
b2wgdmUKICAgICAgICAgc2V0SW50cmluc2ljUGFkZGluZ0FmdGVyKGludHJpbnNpY1BhZGRpbmdB
ZnRlcigpIC0gc2Nyb2xsYmFySGVpZ2h0KTsKIH0KIAordm9pZCBSZW5kZXJUYWJsZUNlbGw6OnJl
bW92ZUNoaWxkKFJlbmRlck9iamVjdCogY2hpbGQpCit7CisgICAgUmVuZGVyQmxvY2s6OnJlbW92
ZUNoaWxkKGNoaWxkKTsKKworICAgIGlmIChiZWluZ0Rlc3Ryb3llZCgpIHx8IGRvY3VtZW50QmVp
bmdEZXN0cm95ZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gQ2xlYW4gdXAgYW5vbnlt
b3VzIHdyYXBwZXIgYXMgaXQgY2FuIGNvbmZ1c2Ugb3VyIGxheW91dCBhbGdvcml0aG0uCisgICAg
aWYgKGlzQW5vbnltb3VzKCkgJiYgIWZpcnN0Q2hpbGQoKSAmJiAhaXNCZWZvcmVPckFmdGVyQ29u
dGVudCgpKQorICAgICAgICBkZXN0cm95KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaAppbmRleCAyNTQ4YjQ3
MTMyNWMxNWQwMzEwMTc1YjQ4YmNjZTIyNzQzMWFmM2NmLi5iMzdhN2MyOTFiZmJmNDFiOTM1MGYz
YjM3YzEzYzYyMTVlZmU5MGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlQ2VsbC5oCkBAIC0xMzYsNiArMTM2LDggQEAgcHVibGljOgogICAgIGJvb2wgY2VsbFdpZHRo
Q2hhbmdlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY2VsbFdpZHRoQ2hhbmdlZDsgfQogICAgIHZvaWQg
c2V0Q2VsbFdpZHRoQ2hhbmdlZChib29sIGIgPSB0cnVlKSB7IG1fY2VsbFdpZHRoQ2hhbmdlZCA9
IGI7IH0KIAorICAgIHZpcnR1YWwgdm9pZCByZW1vdmVDaGlsZChSZW5kZXJPYmplY3QqIGNoaWxk
KSBPVkVSUklERTsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5n
ZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBkZDgzMGNjMDU2MDE0Yzg4MzFjN2ZmYzRhNmQ2MjRkNGY2YWE3YWNlLi4zOGIzNGQ2M2JmNTU1
YzFhMGI1NzljYWUzMWM2YWVhMzAwYjMwYjc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTIt
MDEtMjcgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgVGFibGUgY2VsbCdzIGFub255bW91cyB3cmFwcGVycyBhcmUgbGVmdCBpbiB0aGUgdHJlZSwg
aW1wYWN0aW5nIG91ciBsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxh
eW91dC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxlL3RhYmxlLXN3
aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbDogQWRkZWQuCisKIDIwMTItMDEtMjcg
IEdyZWcgQmlsbG9jayAgPGdiaWxsb2NrQGdvb2dsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGNo
cm9taXVtLXNwZWNpZmljIGV4cGVjdGF0aW9uIGZvciBuYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jh
c2ggbGF5b3V0IHRlc3QgdG8gaW5jbHVkZSBzdGFydEFjdGl2aXR5CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwt
cG9zaXRpb24tYmFkLWxheW91dC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZjUzNzIxNGI4
ZmQ4MmYyODNhMjkwOWQ3NDExYjk2OGIwYzIyMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQtZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9k
eT4KKzxwPkJ1ZyA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzE4MCI+NzE4MDwvYT46IFRhYmxlIGNlbGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxl
ZnQgaW4gdGhlIHRyZWUsIGltcGFjdGluZyBvdXIgbGF5b3V0LjwvcD4KKzxwPlRoZXJlIHNob3Vs
ZCBiZSBubyByZWQgaW4gdGhlIG91dHB1dC48L3A+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7
IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNo
LWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS90
YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUx
ZTM2ZmE0ZDMzMzBjODg1NmRhMWZmNDI2YzFiMmY0YTExMmMzNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxh
eW91dC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8c3R5bGU+CisgICAgdGFibGUgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
ZWQ7CisgICAgICAgIGJvcmRlci1zcGFjaW5nOiAwcHg7CisgICAgfQorICAgIHRkIHsKKyAgICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgIHBhZGRpbmc6IDBweDsKKyAgICAgICAgd2lkdGg6IDIwMHB4OworICAgIH0KKyAgICA8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cD5CdWcgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODAiPjcxODA8L2E+OiBUYWJsZSBjZWxsJ3MgYW5vbnlt
b3VzIHdyYXBwZXJzIGFyZSBsZWZ0IGluIHRoZSB0cmVlLCBpbXBhY3Rpbmcgb3VyIGxheW91dC48
L3A+Cis8cD5UaGVyZSBzaG91bGQgYmUgbm8gcmVkIGluIHRoZSBvdXRwdXQuPC9wPgorPHRhYmxl
PgorICAgIDx0cj4KKyAgICAgICAgPHRkIGlkPSJ0b2dnbGVQb3NpdGlvbiI+PC90ZD4KKyAgICA8
L3RyPgorICAgIDx0cj4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+Cis8
c2NyaXB0PgorICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZ2ds
ZVBvc2l0aW9uIik7CisgICAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CisK
KyAgICBlbGVtZW50Lm9mZnNldFdpZHRoOworCisgICAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9
ICJzdGF0aWMiOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124776</attachid>
            <date>2012-01-31 11:04:04 -0800</date>
            <delta_ts>2012-01-31 16:55:34 -0800</delta_ts>
            <desc>Patch updated after Eric&apos;s comment. Not for review, while I investigate more the destroying.</desc>
            <filename>bug-7180-20120131110403.patch</filename>
            <type>text/plain</type>
            <size>5295</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ3NTJmOWY4NWFiZWNi
MDhhYzE4YzUxYjc4MjQxZTMwNDRhY2RmNy4uZTQzZTlkYjRmNTYyOWZlNGY0OWFiN2YxZmZiNzlh
ZGY3MTcxNjEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAxLTMwICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFRhYmxlIGNl
bGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGltcGFjdGluZyBv
dXIgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC1l
eHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxs
LXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbAorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50
cyBjZWxsJ3MgYW5vbnltb3VzIHdyYXBwZXIgcmVtb3ZhbCBhdCByZW1vdmFsIHRpbWUuCisKKyAg
ICAgICAgVGhpcyBjaGFuZ2UgaXMgbGltaXRlZCB0byB0YWJsZSBjZWxscycgYXMgYSBzaW1wbGUg
c3RlcCB0b3dhcmRzIGZpeGluZworICAgICAgICBidWcgNTIxMjMgYnV0IGFsc28gdG8gbGltaXQg
cG90ZW50aWFsIGJhZG5lc3MuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6cmVtb3ZlQ2hpbGQpOgor
ICAgICAgICBPdmVycmlkZW4gcmVtb3ZlQ2hpbGQgdGhhdCB0YWtlcyBjYXJlIG9mIGRlbGV0aW5n
IHx0aGlzfCBpZiB3ZSBhcmUgYW4KKyAgICAgICAgYW5vbnltb3VzIGNlbGxzJy4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaDoKKyAgICAgICAgKFJlbmRlclRhYmxlQ2Vs
bCk6CisKIDIwMTItMDEtMzAgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4K
IAogICAgICAgICBTaG93IHJlcGFpbnQgY291bnRlcnMgaW4gaW5kaXZpZHVhbCB0aWxlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcAppbmRleCA1YjY5MGY0
YzcxMDZmNTcxZmZjNzdmNTA4N2E0YjM5NGZkZGI5NTg0Li5mNDIzMzk4MWQ5ZjdlOGRhYzdjYzJj
MjA4ZDRkOWU1NmQ0NmZkZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVDZWxsLmNwcApAQCAtMTA5Miw0ICsxMDkyLDE2IEBAIHZvaWQgUmVuZGVyVGFibGVDZWxs
OjpzY3JvbGxiYXJzQ2hhbmdlZChib29sIGhvcml6b250YWxTY3JvbGxiYXJDaGFuZ2VkLCBib29s
IHZlCiAgICAgICAgIHNldEludHJpbnNpY1BhZGRpbmdBZnRlcihpbnRyaW5zaWNQYWRkaW5nQWZ0
ZXIoKSAtIHNjcm9sbGJhckhlaWdodCk7CiB9CiAKK3ZvaWQgUmVuZGVyVGFibGVDZWxsOjpyZW1v
dmVDaGlsZChSZW5kZXJPYmplY3QqIGNoaWxkKQoreworICAgIFJlbmRlckJsb2NrOjpyZW1vdmVD
aGlsZChjaGlsZCk7CisKKyAgICBpZiAoYmVpbmdEZXN0cm95ZWQoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgLy8gQ2xlYW4gdXAgYW5vbnltb3VzIHdyYXBwZXIgYXMgaXQgY2FuIGNvbmZ1c2Ug
b3VyIGxheW91dCBhbGdvcml0aG0uCisgICAgaWYgKGlzQW5vbnltb3VzKCkgJiYgIWZpcnN0Q2hp
bGQoKSkKKyAgICAgICAgZGVzdHJveSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKaW5kZXggMjU0OGI0NzEz
MjVjMTVkMDMxMDE3NWI0OGJjY2UyMjc0MzFhZjNjZi4uYjM3YTdjMjkxYmZiZjQxYjkzNTBmM2Iz
N2MxM2M2MjE1ZWZlOTBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ2VsbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNlbGwuaApAQCAtMTM2LDYgKzEzNiw4IEBAIHB1YmxpYzoKICAgICBib29sIGNlbGxXaWR0aENo
YW5nZWQoKSBjb25zdCB7IHJldHVybiBtX2NlbGxXaWR0aENoYW5nZWQ7IH0KICAgICB2b2lkIHNl
dENlbGxXaWR0aENoYW5nZWQoYm9vbCBiID0gdHJ1ZSkgeyBtX2NlbGxXaWR0aENoYW5nZWQgPSBi
OyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCkg
T1ZFUlJJREU7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2Uo
U3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZTRmMGQxYTlhZjFhOTAyOGY2MDNlNDU3OTVkMmEyNTczMDZjZDUxZC4uOWNkOWI1ZjBhZWQ4NDFi
MDA3Mzk0NTk2Yzc1MzM4NGU0ZjNlNzYyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAx
LTMwICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAg
IFRhYmxlIGNlbGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGlt
cGFjdGluZyBvdXIgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlv
dXQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90YWJsZS90YWJsZS1zd2l0
Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAxLTMwICBE
YW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzEwNzc4MDQ1PiBSRUdSRVNTSU9OIChyOTE5MzUpOiB0ZXh0LWNvbWJpbmUgZmFpbHMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24t
YmFkLWxheW91dC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS90YWJsZS1z
d2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODRmNTM3MjE0YjhmZDgyZjI4M2EyOTA5ZDc0MTFiOTY4YjBjMjIzMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFk
LWxheW91dC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxib2R5PgorPHA+QnVnIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MTgwIj43MTgwPC9hPjogVGFibGUgY2VsbCdzIGFub255bW91cyB3cmFw
cGVycyBhcmUgbGVmdCBpbiB0aGUgdHJlZSwgaW1wYWN0aW5nIG91ciBsYXlvdXQuPC9wPgorPHA+
VGhlcmUgc2hvdWxkIGJlIG5vIHJlZCBpbiB0aGUgb3V0cHV0LjwvcD4KKzxkaXYgc3R5bGU9Indp
ZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4iPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS90
YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZTFlMzZmYTRkMzMzMGM4ODU2ZGExZmY0MjZjMWIyZjRhMTEyYzM1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS90YWJsZS1zd2l0Y2gtY2VsbC1wb3Np
dGlvbi1iYWQtbGF5b3V0Lmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICB0YWJsZSB7CisgICAgICAgIGJhY2tncm91
bmQtY29sb3I6IHJlZDsKKyAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDBweDsKKyAgICB9CisgICAg
dGQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgaGVpZ2h0OiAx
MDBweDsKKyAgICAgICAgcGFkZGluZzogMHB4OworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAg
fQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPkJ1ZyA8YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4MCI+NzE4MDwvYT46IFRhYmxlIGNl
bGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGltcGFjdGluZyBv
dXIgbGF5b3V0LjwvcD4KKzxwPlRoZXJlIHNob3VsZCBiZSBubyByZWQgaW4gdGhlIG91dHB1dC48
L3A+Cis8dGFibGU+CisgICAgPHRyPgorICAgICAgICA8dGQgaWQ9InRvZ2dsZVBvc2l0aW9uIj48
L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICA8L3RyPgor
PC90YWJsZT4KKzxzY3JpcHQ+CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidG9nZ2xlUG9zaXRpb24iKTsKKyAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gImFi
c29sdXRlIjsKKworICAgIGVsZW1lbnQub2Zmc2V0V2lkdGg7CisKKyAgICBlbGVtZW50LnN0eWxl
LnBvc2l0aW9uID0gInN0YXRpYyI7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124852</attachid>
            <date>2012-01-31 16:55:38 -0800</date>
            <delta_ts>2012-02-16 12:19:42 -0800</delta_ts>
            <desc>Switched the strategy to removing anonymous wrapper at detach time as this is easier to generalize.</desc>
            <filename>bug-7180-20120131165537.patch</filename>
            <type>text/plain</type>
            <size>7182</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGQ0OGIxYWZiZTQ2ZDhm
NmE1OTFmYTkwMGNkYzIxM2I0YTQ2MmY5OS4uNGYwMjcyODNlYzNhNDJmN2RjZmU1MDVhMjJlMDgw
MDg2MDFmNGIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAxLTMxICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFRhYmxlIGNl
bGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGltcGFjdGluZyBv
dXIgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC1l
eHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxs
LXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbAorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50
cyBjZWxsJ3MgYW5vbnltb3VzIHdyYXBwZXIgcmVtb3ZhbCBhdCBkZXRhY2ggdGltZS4KKworICAg
ICAgICBUcmltbWluZyB0aGUgcmVuZGVyIHRyZWUgd2hlbiB3ZSByZW1vdmUgb2JqZWN0cyBmcm9t
IGl0IHdvdWxkIGJlIG1vcmUgY29tcGxleAorICAgICAgICB0byBnZW5lcmFsaXplIGFzIHNldmVy
YWwgb2JqZWN0cyBvdmVycmlkZSB0aGUgYmVoYXZpb3IgdG8gZG8gdGhlaXIgb3duIGNsZWFuLXVw
cy4KKyAgICAgICAgVGhpcyB3b3VsZCBhbHNvIG9wZW4gbW9yZSBwb3RlbnRpYWwgZm9yIHByb2dy
YW1taW5nIGVycm9ycy4KKworICAgICAgICBUaGlzIGNoYW5nZSBpcyBsaW1pdGVkIHRvIHRhYmxl
IGNlbGxzJyBhcyBhIHNpbXBsZSBzdGVwIHRvd2FyZHMgZml4aW5nIGJ1ZyA1MjEyMworICAgICAg
ICBhbmQgbW9yZSBnZW5lcmFsbHkgZWxpbWluYXRlIHNvbWUgYW5vbnltb3VzIHdyYXBwZXJzIGZy
b20gdGhlIHRyZWUgYXQgZGV0YWNoIHRpbWUuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRldGFjaCk6CisgICAgICAgICogZG9tL05v
ZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGV0YWNoKToKKyAgICAgICAgUGF0Y2hl
ZCBkZXRhY2ggdG8gY2FsbCBkZXN0cm95QW5kQ2xlYW51cEFub255bW91c1dyYXBwZXJzLgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJPYmplY3Q6OmRlc3Ryb3lBbmRDbGVhbnVwQW5vbnltb3VzV3JhcHBlcnMpOgorICAgICAg
ICBBZGRlZCB0aGlzIG1ldGhvZCB0byB3cmFwIGRlc3Ryb3koKSBjYWxsIGFuZCB0cmltIHRoZSBy
ZW5kZXIgdHJlZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDogQWRkZWQg
ZGVzdHJveUFuZENsZWFudXBBbm9ueW1vdXNXcmFwcGVycy4KKwogMjAxMi0wMS0zMSAgU2NvdHQg
R3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBSZW1v
dmUgcmVmZXJlbmNlcyB0byBneXAgY3lnd2luIGJ1aWxkIHRhcmdldApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKaW5kZXggM2FiYjNhZGE5YmNiNTFmMDFmMDI0NzVhODE5MTY3M2JkZWE4YTFhMS4uN2E0
MGQ3YTJkY2QyYTE2NDM0NDgwZWZiZjFkODZkNzlkOWM1OTk0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCkBAIC0xODk5LDcgKzE4OTksNyBAQCB2b2lkIERvY3VtZW50OjpkZXRhY2goKQogICAg
IHVuc2NoZWR1bGVTdHlsZVJlY2FsYygpOwogCiAgICAgaWYgKHJlbmRlcikKLSAgICAgICAgcmVu
ZGVyLT5kZXN0cm95KCk7CisgICAgICAgIHJlbmRlci0+ZGVzdHJveUFuZENsZWFudXBBbm9ueW1v
dXNXcmFwcGVycygpOwogICAgIAogICAgIC8vIFRoaXMgaXMgcmVxdWlyZWQsIGFzIG91ciBGcmFt
ZSBtaWdodCBkZWxldGUgaXRzZWxmIGFzIHNvb24gYXMgaXQgZGV0YWNoZXMKICAgICAvLyB1cy4g
SG93ZXZlciwgdGhpcyB2aW9sYXRlcyBOb2RlOjpkZXRhY2goKSBzZW1hbnRpY3MsIGFzIGl0J3Mg
bmV2ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCBhMWYzZjJlZmVmNDU5YTJiMzcyODg4OTFmYzkwMTAx
MzdiNTI5ODk5Li5mY2I3N2NlNjA5MmNiYThlZTRkNjlmNTNjZDljOWNmNjg1MGFlZTA3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCkBAIC0xMzQ3LDcgKzEzNDcsNyBAQCB2b2lkIE5vZGU6OmRldGFjaCgpCiAg
ICAgc2V0RmxhZyhJbkRldGFjaEZsYWcpOwogCiAgICAgaWYgKHJlbmRlcmVyKCkpCi0gICAgICAg
IHJlbmRlcmVyKCktPmRlc3Ryb3koKTsKKyAgICAgICAgcmVuZGVyZXIoKS0+ZGVzdHJveUFuZENs
ZWFudXBBbm9ueW1vdXNXcmFwcGVycygpOwogICAgIHNldFJlbmRlcmVyKDApOwogCiAgICAgRG9j
dW1lbnQqIGRvYyA9IGRvY3VtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwCmluZGV4IDczZDg3NDQxNmY3ODk0OGJmZjMyYTNmMTAxNWNhMWFhNjNjNDc3ZDEu
Ljc0ZmViMmZhYmNkMWU0NjhkMTg1ZTBlODAzNTU2ZmYzYTE3Y2Q1YjkgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yMjQ3LDYgKzIyNDcsMjcgQEAgdm9p
ZCBSZW5kZXJPYmplY3Q6OndpbGxCZURlc3Ryb3llZCgpCiAgICAgfQogfQogCit2b2lkIFJlbmRl
ck9iamVjdDo6ZGVzdHJveUFuZENsZWFudXBBbm9ueW1vdXNXcmFwcGVycygpCit7CisgICAgUmVu
ZGVyT2JqZWN0KiBwYXJlbnQgPSB0aGlzLT5wYXJlbnQoKTsKKworICAgIGJvb2wgcGFyZW50U2hv
dWxkRGllID0gZmFsc2U7CisKKyAgICAvLyBDdXJyZW50bHkgd2Ugb25seSByZW1vdmUgYW5vbnlt
b3VzIGNlbGxzJyB3cmFwcGVyIGJ1dCB3ZSBzaG91bGQgcmVtb3ZlIGFsbCB1bm5lZWRlZAorICAg
IC8vIHdyYXBwZXJzLiBTZWUgaHR0cDovL3dlYmtpdC5vcmcvYi81MjEyMyBhcyBhbiBleGFtcGxl
IHdoZXJlIHRoaXMgaXMgbmVlZGVkLgorICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc0Fub255
bW91cygpICYmIHBhcmVudC0+aXNUYWJsZUNlbGwoKSkKKyAgICAgICAgcGFyZW50U2hvdWxkRGll
ID0gcGFyZW50LT5maXJzdENoaWxkKCkgPT0gdGhpcyAmJiBwYXJlbnQtPmxhc3RDaGlsZCgpID09
IHRoaXM7CisKKyAgICBkZXN0cm95KCk7CisKKyAgICAvLyBXQVJOSU5HOiB8dGhpc3wgaXMgZGVs
ZXRlZCBoZXJlLgorCisgICAgaWYgKHBhcmVudFNob3VsZERpZSkgeworICAgICAgICBBU1NFUlQo
IXBhcmVudC0+Zmlyc3RDaGlsZCgpKTsKKyAgICAgICAgcGFyZW50LT5kZXN0cm95QW5kQ2xlYW51
cEFub255bW91c1dyYXBwZXJzKCk7CisgICAgfQorfQorCiB2b2lkIFJlbmRlck9iamVjdDo6ZGVz
dHJveSgpCiB7CiAgICAgd2lsbEJlRGVzdHJveWVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmgKaW5kZXggMWJjZGE0NmFhNWM3YmJiYTZlZDkwYjViYmQxZWVjMTFjMzNj
ZTU4Ni4uNzc1YTliNTE1MTE1NTBjMWU4ZWE0MjE2MzNhN2Y5OGU3ZTFlMTgzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtODAxLDYgKzgwMSw3IEBAIHB1Ymxp
YzoKICAgICAvLyBhcyBhIGhvb2sgdG8gZGV0ZWN0IHRoZSBjYXNlIG9mIGRvY3VtZW50IGRlc3Ry
dWN0aW9uIGFuZCBkb24ndCB3YXN0ZSB0aW1lIGRvaW5nIHVubmVjZXNzYXJ5IHdvcmsuCiAgICAg
Ym9vbCBkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkgY29uc3Q7CiAKKyAgICB2b2lkIGRlc3Ryb3lB
bmRDbGVhbnVwQW5vbnltb3VzV3JhcHBlcnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveSgp
OwogCiAgICAgLy8gVmlydHVhbCBmdW5jdGlvbiBoZWxwZXJzIGZvciB0aGUgZGVwcmVjYXRlZCBG
bGV4aWJsZSBCb3ggTGF5b3V0IChkaXNwbGF5OiAtd2Via2l0LWJveCkuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWY3YTQ2
MjQ0ZTY0NzI0MGZmZDE5ZjljOWIyOGEwMTA2YWI2YmQ3MC4uOTllODRlYzIwZTBlMmQ5MWQ5YmMz
MzE0MjRhY2NjYzMwODlhMmZlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAxLTMxICBK
dWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFRhYmxl
IGNlbGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGltcGFjdGlu
ZyBvdXIgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90YWJsZS90YWJsZS1zd2l0Y2gtY2Vs
bC1wb3NpdGlvbi1iYWQtbGF5b3V0Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAxLTMxICBEYXZpZCBH
cm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IHJlZmFj
dG9yIGJhc2ljcyBsYXlvdXQgdGVzdCBzbyB0aGF0IGl0IGNhbiBiZSBydW4gb24gd29ya2Vycy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9z
aXRpb24tYmFkLWxheW91dC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS90
YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0LWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODRmNTM3MjE0YjhmZDgyZjI4M2EyOTA5ZDc0MTFiOTY4YjBjMjIzMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRp
b24tYmFkLWxheW91dC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+QnVnIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTgwIj43MTgwPC9hPjogVGFibGUgY2VsbCdzIGFub255bW91
cyB3cmFwcGVycyBhcmUgbGVmdCBpbiB0aGUgdHJlZSwgaW1wYWN0aW5nIG91ciBsYXlvdXQuPC9w
PgorPHA+VGhlcmUgc2hvdWxkIGJlIG5vIHJlZCBpbiB0aGUgb3V0cHV0LjwvcD4KKzxkaXYgc3R5
bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4i
PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS90YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mZTFlMzZmYTRkMzMzMGM4ODU2ZGExZmY0MjZjMWIyZjRhMTEyYzM1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS90YWJsZS1zd2l0Y2gtY2Vs
bC1wb3NpdGlvbi1iYWQtbGF5b3V0Lmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICB0YWJsZSB7CisgICAgICAgIGJh
Y2tncm91bmQtY29sb3I6IHJlZDsKKyAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDBweDsKKyAgICB9
CisgICAgdGQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgcGFkZGluZzogMHB4OworICAgICAgICB3aWR0aDogMjAwcHg7
CisgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPkJ1ZyA8YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4MCI+NzE4MDwvYT46IFRh
YmxlIGNlbGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGltcGFj
dGluZyBvdXIgbGF5b3V0LjwvcD4KKzxwPlRoZXJlIHNob3VsZCBiZSBubyByZWQgaW4gdGhlIG91
dHB1dC48L3A+Cis8dGFibGU+CisgICAgPHRyPgorICAgICAgICA8dGQgaWQ9InRvZ2dsZVBvc2l0
aW9uIj48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICA8
L3RyPgorPC90YWJsZT4KKzxzY3JpcHQ+CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidG9nZ2xlUG9zaXRpb24iKTsKKyAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9u
ID0gImFic29sdXRlIjsKKworICAgIGVsZW1lbnQub2Zmc2V0V2lkdGg7CisKKyAgICBlbGVtZW50
LnN0eWxlLnBvc2l0aW9uID0gInN0YXRpYyI7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127426</attachid>
            <date>2012-02-16 12:19:47 -0800</date>
            <delta_ts>2012-02-16 12:57:37 -0800</delta_ts>
            <desc>Added a fast-path when destroying the document.</desc>
            <filename>bug-7180-20120216121946.patch</filename>
            <type>text/plain</type>
            <size>7432</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzcwYWE3MmQyODkyNThl
MDllMDcxNWZkMWNiZTQxYzI2ZGRjM2UxYy4uYTc5NWIzMmYyYjYzMTJmNzhkYzc1YzVlMGM4NmVm
NDY3ZGU0YmI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAyLTE2ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFRhYmxlIGNl
bGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGltcGFjdGluZyBv
dXIgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC1l
eHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxs
LXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbAorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50
cyBjZWxsJ3MgYW5vbnltb3VzIHdyYXBwZXIgcmVtb3ZhbCBhdCBkZXRhY2ggdGltZS4KKworICAg
ICAgICBUcmltbWluZyB0aGUgcmVuZGVyIHRyZWUgd2hlbiB3ZSByZW1vdmUgb2JqZWN0cyBmcm9t
IGl0IHdvdWxkIGJlIG1vcmUgY29tcGxleAorICAgICAgICB0byBnZW5lcmFsaXplIGFzIHNldmVy
YWwgb2JqZWN0cyBvdmVycmlkZSB0aGUgYmVoYXZpb3IgdG8gZG8gdGhlaXIgb3duIGNsZWFuLXVw
cy4KKyAgICAgICAgVGhpcyB3b3VsZCBhbHNvIG9wZW4gbW9yZSBwb3RlbnRpYWwgZm9yIHByb2dy
YW1taW5nIGVycm9ycy4KKworICAgICAgICBUaGlzIGNoYW5nZSBpcyBsaW1pdGVkIHRvIHRhYmxl
IGNlbGxzJyBhcyBhIHNpbXBsZSBzdGVwIHRvd2FyZHMgZml4aW5nIGJ1ZyA1MjEyMworICAgICAg
ICBhbmQgbW9yZSBnZW5lcmFsbHkgZWxpbWluYXRlIHNvbWUgYW5vbnltb3VzIHdyYXBwZXJzIGZy
b20gdGhlIHRyZWUgYXQgZGV0YWNoIHRpbWUuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRldGFjaCk6CisgICAgICAgICogZG9tL05v
ZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGV0YWNoKToKKyAgICAgICAgUGF0Y2hl
ZCBkZXRhY2ggdG8gY2FsbCBkZXN0cm95QW5kQ2xlYW51cEFub255bW91c1dyYXBwZXJzLgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJPYmplY3Q6OmRlc3Ryb3lBbmRDbGVhbnVwQW5vbnltb3VzV3JhcHBlcnMpOgorICAgICAg
ICBBZGRlZCB0aGlzIG1ldGhvZCB0byB3cmFwIGRlc3Ryb3koKSBjYWxsIGFuZCB0cmltIHRoZSBy
ZW5kZXIgdHJlZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDogQWRkZWQg
ZGVzdHJveUFuZENsZWFudXBBbm9ueW1vdXNXcmFwcGVycy4KKwogMjAxMi0wMi0xMCAgQWxleGFu
ZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtUZXh0UHJvbXB0XSBUQUIgc2hvdWxkIGNvbXBsZXRlIHN1Z2dlc3Rpb25zIHVwIHRvIHRo
ZWlyIGNvbW1vbiBwcmVmaXggaW4gQ29uc29sZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
MmM0ZGM4NjRmNTMyNzY0NGNiMjExNWM1MzFhZmExNGE2OTUzNDNjMy4uNzg3ZDNjMDYwNDg5NzYz
YzE5YTgyZjU3MGYyMDllNGE1Y2FmNDcyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0x
OTE3LDcgKzE5MTcsNyBAQCB2b2lkIERvY3VtZW50OjpkZXRhY2goKQogICAgIHVuc2NoZWR1bGVT
dHlsZVJlY2FsYygpOwogCiAgICAgaWYgKHJlbmRlcikKLSAgICAgICAgcmVuZGVyLT5kZXN0cm95
KCk7CisgICAgICAgIHJlbmRlci0+ZGVzdHJveUFuZENsZWFudXBBbm9ueW1vdXNXcmFwcGVycygp
OwogICAgIAogICAgIC8vIFRoaXMgaXMgcmVxdWlyZWQsIGFzIG91ciBGcmFtZSBtaWdodCBkZWxl
dGUgaXRzZWxmIGFzIHNvb24gYXMgaXQgZGV0YWNoZXMKICAgICAvLyB1cy4gSG93ZXZlciwgdGhp
cyB2aW9sYXRlcyBOb2RlOjpkZXRhY2goKSBzZW1hbnRpY3MsIGFzIGl0J3MgbmV2ZXIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcAppbmRleCAzOWI4ZmE4OTVjZGY3YjIxNDM4OTNiOWRkNWY1Mjc5ZDM2ZTZkZDA0Li5l
MDE0MmZmZWVmN2MwZWM4Mzg5M2FjOGNmY2U5ZmE2Nzc1NjkzMjdkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3Bw
CkBAIC0xMzM5LDcgKzEzMzksNyBAQCB2b2lkIE5vZGU6OmRldGFjaCgpCiAgICAgc2V0RmxhZyhJ
bkRldGFjaEZsYWcpOwogCiAgICAgaWYgKHJlbmRlcmVyKCkpCi0gICAgICAgIHJlbmRlcmVyKCkt
PmRlc3Ryb3koKTsKKyAgICAgICAgcmVuZGVyZXIoKS0+ZGVzdHJveUFuZENsZWFudXBBbm9ueW1v
dXNXcmFwcGVycygpOwogICAgIHNldFJlbmRlcmVyKDApOwogCiAgICAgRG9jdW1lbnQqIGRvYyA9
IGRvY3VtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmlu
ZGV4IDczZDg3NDQxNmY3ODk0OGJmZjMyYTNmMTAxNWNhMWFhNjNjNDc3ZDEuLjVhZjBmZTE4Zjk4
MGEwNzEwZTNkOTMxYjkzMDQzMmI4ZWNiYWFhZmYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yMjQ3LDYgKzIyNDcsMzIgQEAgdm9pZCBSZW5kZXJPYmpl
Y3Q6OndpbGxCZURlc3Ryb3llZCgpCiAgICAgfQogfQogCit2b2lkIFJlbmRlck9iamVjdDo6ZGVz
dHJveUFuZENsZWFudXBBbm9ueW1vdXNXcmFwcGVycygpCit7CisgICAgLy8gSWYgdGhlIHRyZWUg
aXMgZGVzdHJveWVkLCBkb24ndCBib3RoZXIgY2xlYW5pbmctdXAgdGhlIHRyZWUuCisgICAgaWYg
KGRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSkgeworICAgICAgICBkZXN0cm95KCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBSZW5kZXJPYmplY3QqIHBhcmVudCA9IHRoaXMtPnBhcmVu
dCgpOworICAgIGJvb2wgcGFyZW50SXNMZWZ0T3ZlckFub255bW91c1dyYXBwZXIgPSBmYWxzZTsK
KworICAgIC8vIEN1cnJlbnRseSB3ZSBvbmx5IHJlbW92ZSBhbm9ueW1vdXMgY2VsbHMnIHdyYXBw
ZXIgYnV0IHdlIHNob3VsZCByZW1vdmUgYWxsIHVubmVlZGVkCisgICAgLy8gd3JhcHBlcnMuIFNl
ZSBodHRwOi8vd2Via2l0Lm9yZy9iLzUyMTIzIGFzIGFuIGV4YW1wbGUgd2hlcmUgdGhpcyBpcyBu
ZWVkZWQuCisgICAgaWYgKHBhcmVudCAmJiBwYXJlbnQtPmlzQW5vbnltb3VzKCkgJiYgcGFyZW50
LT5pc1RhYmxlQ2VsbCgpKQorICAgICAgICBwYXJlbnRJc0xlZnRPdmVyQW5vbnltb3VzV3JhcHBl
ciA9IHBhcmVudC0+Zmlyc3RDaGlsZCgpID09IHRoaXMgJiYgcGFyZW50LT5sYXN0Q2hpbGQoKSA9
PSB0aGlzOworCisgICAgZGVzdHJveSgpOworCisgICAgLy8gV0FSTklORzogfHRoaXN8IGlzIGRl
bGV0ZWQgaGVyZS4KKworICAgIGlmIChwYXJlbnRJc0xlZnRPdmVyQW5vbnltb3VzV3JhcHBlcikg
eworICAgICAgICBBU1NFUlQoIXBhcmVudC0+Zmlyc3RDaGlsZCgpKTsKKyAgICAgICAgcGFyZW50
LT5kZXN0cm95QW5kQ2xlYW51cEFub255bW91c1dyYXBwZXJzKCk7CisgICAgfQorfQorCiB2b2lk
IFJlbmRlck9iamVjdDo6ZGVzdHJveSgpCiB7CiAgICAgd2lsbEJlRGVzdHJveWVkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggMWJjZGE0NmFhNWM3YmJiYTZl
ZDkwYjViYmQxZWVjMTFjMzNjZTU4Ni4uNzc1YTliNTE1MTE1NTBjMWU4ZWE0MjE2MzNhN2Y5OGU3
ZTFlMTgzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtODAx
LDYgKzgwMSw3IEBAIHB1YmxpYzoKICAgICAvLyBhcyBhIGhvb2sgdG8gZGV0ZWN0IHRoZSBjYXNl
IG9mIGRvY3VtZW50IGRlc3RydWN0aW9uIGFuZCBkb24ndCB3YXN0ZSB0aW1lIGRvaW5nIHVubmVj
ZXNzYXJ5IHdvcmsuCiAgICAgYm9vbCBkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkgY29uc3Q7CiAK
KyAgICB2b2lkIGRlc3Ryb3lBbmRDbGVhbnVwQW5vbnltb3VzV3JhcHBlcnMoKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGVzdHJveSgpOwogCiAgICAgLy8gVmlydHVhbCBmdW5jdGlvbiBoZWxwZXJzIGZv
ciB0aGUgZGVwcmVjYXRlZCBGbGV4aWJsZSBCb3ggTGF5b3V0IChkaXNwbGF5OiAtd2Via2l0LWJv
eCkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggOGZjNjNmZDVjYmZiZTZlZjFkMTM1MDU3YjllYTU5MzM0MWQzMDg5Ny4uZGJi
NzUyYmJlZjg2YmYwNDUzYzIwNWZjNjMxNGRlYWQ1ODZkNzM4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDEyLTAyLTE2ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3Jn
PgorCisgICAgICAgIFRhYmxlIGNlbGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4g
dGhlIHRyZWUsIGltcGFjdGluZyBvdXIgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0
aW9uLWJhZC1sYXlvdXQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90YWJs
ZS90YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0Lmh0bWw6IEFkZGVkLgorCiAy
MDEyLTAyLTEwICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAg
IFlhcnIgYXNzZXJ0IHdpdGggcmVnZXhwIHdoZXJlIGFsdGVybmF0aXZlIGluICotcXVhbnRpZmll
ZCBncm91cCBtYXRjaGVzIGVtcHR5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91
dC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZjUzNzIxNGI4ZmQ4MmYyODNhMjkwOWQ3NDEx
Yjk2OGIwYzIyMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3Rh
YmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQtZXhwZWN0ZWQuaHRtbApAQCAtMCww
ICsxLDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxwPkJ1ZyA8YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4MCI+NzE4MDwvYT46
IFRhYmxlIGNlbGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGlt
cGFjdGluZyBvdXIgbGF5b3V0LjwvcD4KKzxwPlRoZXJlIHNob3VsZCBiZSBubyByZWQgaW4gdGhl
IG91dHB1dC48L3A+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFk
LWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS90YWJsZS1zd2l0Y2gtY2VsbC1w
b3NpdGlvbi1iYWQtbGF5b3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUxZTM2ZmE0ZDMzMzBjODg1NmRh
MWZmNDI2YzFiMmY0YTExMmMzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC5odG1sCkBAIC0wLDAg
KzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+Cisg
ICAgdGFibGUgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgICAgIGJvcmRl
ci1zcGFjaW5nOiAwcHg7CisgICAgfQorICAgIHRkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIHBhZGRpbmc6IDBweDsK
KyAgICAgICAgd2lkdGg6IDIwMHB4OworICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5CdWcgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxODAiPjcxODA8L2E+OiBUYWJsZSBjZWxsJ3MgYW5vbnltb3VzIHdyYXBwZXJzIGFyZSBs
ZWZ0IGluIHRoZSB0cmVlLCBpbXBhY3Rpbmcgb3VyIGxheW91dC48L3A+Cis8cD5UaGVyZSBzaG91
bGQgYmUgbm8gcmVkIGluIHRoZSBvdXRwdXQuPC9wPgorPHRhYmxlPgorICAgIDx0cj4KKyAgICAg
ICAgPHRkIGlkPSJ0b2dnbGVQb3NpdGlvbiI+PC90ZD4KKyAgICA8L3RyPgorICAgIDx0cj4KKyAg
ICAgICAgPHRkPjwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+Cis8c2NyaXB0PgorICAgIHZhciBl
bGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZ2dsZVBvc2l0aW9uIik7CisgICAg
ZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CisKKyAgICBlbGVtZW50Lm9mZnNl
dFdpZHRoOworCisgICAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICJzdGF0aWMiOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127431</attachid>
            <date>2012-02-16 12:57:43 -0800</date>
            <delta_ts>2012-02-17 11:02:53 -0800</delta_ts>
            <desc>Improved our clean-up code after Dave&apos;s IRC comments.</desc>
            <filename>bug-7180-20120216125742.patch</filename>
            <type>text/plain</type>
            <size>6966</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzcwYWE3MmQyODkyNThl
MDllMDcxNWZkMWNiZTQxYzI2ZGRjM2UxYy4uMGQ0MjBkNmI2MjRmZjlkOWI3YmJiMmNkNzVmNTM1
N2ExMjQxYTM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAyLTE2ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFRhYmxlIGNl
bGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhlIHRyZWUsIGltcGFjdGluZyBv
dXIgbGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC1l
eHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxs
LXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbAorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50
cyBjZWxsJ3MgYW5vbnltb3VzIHdyYXBwZXIgcmVtb3ZhbCBhdCBkZXRhY2ggdGltZS4KKworICAg
ICAgICBUcmltbWluZyB0aGUgcmVuZGVyIHRyZWUgd2hlbiB3ZSByZW1vdmUgb2JqZWN0cyBmcm9t
IGl0IHdvdWxkIGJlIG1vcmUgY29tcGxleAorICAgICAgICB0byBnZW5lcmFsaXplIGFzIHNldmVy
YWwgb2JqZWN0cyBvdmVycmlkZSB0aGUgYmVoYXZpb3IgdG8gZG8gdGhlaXIgb3duIGNsZWFuLXVw
cy4KKyAgICAgICAgVGhpcyB3b3VsZCBhbHNvIG9wZW4gbW9yZSBwb3RlbnRpYWwgZm9yIHByb2dy
YW1taW5nIGVycm9ycy4KKworICAgICAgICBUaGlzIGNoYW5nZSBpcyBsaW1pdGVkIHRvIHRhYmxl
IGNlbGxzJyBhcyBhIHNpbXBsZSBzdGVwIHRvd2FyZHMgZml4aW5nIGJ1ZyA1MjEyMworICAgICAg
ICBhbmQgbW9yZSBnZW5lcmFsbHkgZWxpbWluYXRlIHNvbWUgYW5vbnltb3VzIHdyYXBwZXJzIGZy
b20gdGhlIHRyZWUgYXQgZGV0YWNoIHRpbWUuCisKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZXRhY2gpOgorICAgICAgICBQYXRjaGVkIGRldGFjaCB0
byBjYWxsIGRlc3Ryb3lBbmRDbGVhbnVwQW5vbnltb3VzV3JhcHBlcnMuIFRoZSBEb2N1bWVudCBk
b2VzIG5vdCBuZWVkCisgICAgICAgIHRvIGNsZWFuIHVwIGFueSBhbm9ueW1vdXMgd3JhcHBlcnMg
b24gZGV0YWNoLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmRlc3Ryb3lBbmRDbGVhbnVwQW5vbnltb3VzV3Jh
cHBlcnMpOgorICAgICAgICBBZGRlZCB0aGlzIG1ldGhvZCB0byB3cmFwIGRlc3Ryb3koKSBjYWxs
IGFuZCB0cmltIHRoZSByZW5kZXIgdHJlZS4gVG8gYXZvaWQgc2xvd2luZyBkb3duCisgICAgICAg
IGRldGFjaCBpbiBzb21lIGNhc2VzLCBhZGRlZCBhIGZhc3QgcGF0aC4KKworICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJPYmplY3QuaDogQWRkZWQgZGVzdHJveUFuZENsZWFudXBBbm9ueW1vdXNX
cmFwcGVycy4KKwogMjAxMi0wMi0xMCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtUZXh0UHJvbXB0XSBUQUIgc2hvdWxk
IGNvbXBsZXRlIHN1Z2dlc3Rpb25zIHVwIHRvIHRoZWlyIGNvbW1vbiBwcmVmaXggaW4gQ29uc29s
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuY3BwCmluZGV4IDM5YjhmYTg5NWNkZjdiMjE0Mzg5M2I5ZGQ1ZjUyNzlkMzZl
NmRkMDQuLmUwMTQyZmZlZWY3YzBlYzgzODkzYWM4Y2ZjZTlmYTY3NzU2OTMyN2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKQEAgLTEzMzksNyArMTMzOSw3IEBAIHZvaWQgTm9kZTo6ZGV0YWNoKCkKICAgICBz
ZXRGbGFnKEluRGV0YWNoRmxhZyk7CiAKICAgICBpZiAocmVuZGVyZXIoKSkKLSAgICAgICAgcmVu
ZGVyZXIoKS0+ZGVzdHJveSgpOworICAgICAgICByZW5kZXJlcigpLT5kZXN0cm95QW5kQ2xlYW51
cEFub255bW91c1dyYXBwZXJzKCk7CiAgICAgc2V0UmVuZGVyZXIoMCk7CiAKICAgICBEb2N1bWVu
dCogZG9jID0gZG9jdW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKaW5kZXggNzNkODc0NDE2Zjc4OTQ4YmZmMzJhM2YxMDE1Y2ExYWE2M2M0NzdkMS4uZGQ0
NWFhYTdjYzFjMThiODU0NDdhYjM5MTkwMGY0ZjA4ZTBjOTFiMyAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTIyNDcsNiArMjI0NywzMyBAQCB2b2lkIFJl
bmRlck9iamVjdDo6d2lsbEJlRGVzdHJveWVkKCkKICAgICB9CiB9CiAKK3ZvaWQgUmVuZGVyT2Jq
ZWN0OjpkZXN0cm95QW5kQ2xlYW51cEFub255bW91c1dyYXBwZXJzKCkKK3sKKyAgICBSZW5kZXJP
YmplY3QqIHBhcmVudCA9IHRoaXMtPnBhcmVudCgpOworCisgICAgLy8gSWYgdGhlIHRyZWUgaXMg
ZGVzdHJveWVkIG9yIG91ciBwYXJlbnQgaXMgbm90IGFub255bW91cywgdGhlcmUgaXMgbm8gbmVl
ZCBmb3IgYSBjbGVhbi11cCBwaGFzZS4KKyAgICBpZiAoZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgp
IHx8ICFwYXJlbnQgfHwgIXBhcmVudC0+aXNBbm9ueW1vdXMoKSkgeworICAgICAgICBkZXN0cm95
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBib29sIHBhcmVudElzTGVmdE92ZXJB
bm9ueW1vdXNXcmFwcGVyID0gZmFsc2U7CisKKyAgICAvLyBDdXJyZW50bHkgd2Ugb25seSByZW1v
dmUgYW5vbnltb3VzIGNlbGxzJyB3cmFwcGVyIGJ1dCB3ZSBzaG91bGQgcmVtb3ZlIGFsbCB1bm5l
ZWRlZAorICAgIC8vIHdyYXBwZXJzLiBTZWUgaHR0cDovL3dlYmtpdC5vcmcvYi81MjEyMyBhcyBh
biBleGFtcGxlIHdoZXJlIHRoaXMgaXMgbmVlZGVkLgorICAgIGlmIChwYXJlbnQtPmlzVGFibGVD
ZWxsKCkpCisgICAgICAgIHBhcmVudElzTGVmdE92ZXJBbm9ueW1vdXNXcmFwcGVyID0gcGFyZW50
LT5maXJzdENoaWxkKCkgPT0gdGhpcyAmJiBwYXJlbnQtPmxhc3RDaGlsZCgpID09IHRoaXM7CisK
KyAgICBkZXN0cm95KCk7CisKKyAgICAvLyBXQVJOSU5HOiB8dGhpc3wgaXMgZGVsZXRlZCBoZXJl
LgorCisgICAgaWYgKHBhcmVudElzTGVmdE92ZXJBbm9ueW1vdXNXcmFwcGVyKSB7CisgICAgICAg
IEFTU0VSVCghcGFyZW50LT5maXJzdENoaWxkKCkpOworICAgICAgICBwYXJlbnQtPmRlc3Ryb3lB
bmRDbGVhbnVwQW5vbnltb3VzV3JhcHBlcnMoKTsKKyAgICB9Cit9CisKIHZvaWQgUmVuZGVyT2Jq
ZWN0OjpkZXN0cm95KCkKIHsKICAgICB3aWxsQmVEZXN0cm95ZWQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCAxYmNkYTQ2YWE1YzdiYmJhNmVkOTBiNWJiZDFl
ZWMxMWMzM2NlNTg2Li43NzVhOWI1MTUxMTU1MGMxZThlYTQyMTYzM2E3Zjk4ZTdlMWUxODM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC04MDEsNiArODAxLDcg
QEAgcHVibGljOgogICAgIC8vIGFzIGEgaG9vayB0byBkZXRlY3QgdGhlIGNhc2Ugb2YgZG9jdW1l
bnQgZGVzdHJ1Y3Rpb24gYW5kIGRvbid0IHdhc3RlIHRpbWUgZG9pbmcgdW5uZWNlc3Nhcnkgd29y
ay4KICAgICBib29sIGRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSBjb25zdDsKIAorICAgIHZvaWQg
ZGVzdHJveUFuZENsZWFudXBBbm9ueW1vdXNXcmFwcGVycygpOwogICAgIHZpcnR1YWwgdm9pZCBk
ZXN0cm95KCk7CiAKICAgICAvLyBWaXJ0dWFsIGZ1bmN0aW9uIGhlbHBlcnMgZm9yIHRoZSBkZXBy
ZWNhdGVkIEZsZXhpYmxlIEJveCBMYXlvdXQgKGRpc3BsYXk6IC13ZWJraXQtYm94KS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA4ZmM2M2ZkNWNiZmJlNmVmMWQxMzUwNTdiOWVhNTkzMzQxZDMwODk3Li5kYmI3NTJiYmVmODZi
ZjA0NTNjMjA1ZmM2MzE0ZGVhZDU4NmQ3MzhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTIt
MDItMTYgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgVGFibGUgY2VsbCdzIGFub255bW91cyB3cmFwcGVycyBhcmUgbGVmdCBpbiB0aGUgdHJlZSwg
aW1wYWN0aW5nIG91ciBsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcxODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvdGFibGUvdGFibGUtc3dpdGNoLWNlbGwtcG9zaXRpb24tYmFkLWxh
eW91dC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxlL3RhYmxlLXN3
aXRjaC1jZWxsLXBvc2l0aW9uLWJhZC1sYXlvdXQuaHRtbDogQWRkZWQuCisKIDIwMTItMDItMTAg
IE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgWWFyciBhc3Nl
cnQgd2l0aCByZWdleHAgd2hlcmUgYWx0ZXJuYXRpdmUgaW4gKi1xdWFudGlmaWVkIGdyb3VwIG1h
dGNoZXMgZW1wdHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dp
dGNoLWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90YWJsZS90YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0LWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODRmNTM3MjE0YjhmZDgyZjI4M2EyOTA5ZDc0MTFiOTY4YjBjMjIz
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvdGFibGUtc3dpdGNo
LWNlbGwtcG9zaXRpb24tYmFkLWxheW91dC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+QnVnIDxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTgwIj43MTgwPC9hPjogVGFibGUgY2Vs
bCdzIGFub255bW91cyB3cmFwcGVycyBhcmUgbGVmdCBpbiB0aGUgdHJlZSwgaW1wYWN0aW5nIG91
ciBsYXlvdXQuPC9wPgorPHA+VGhlcmUgc2hvdWxkIGJlIG5vIHJlZCBpbiB0aGUgb3V0cHV0Ljwv
cD4KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1j
b2xvcjogZ3JlZW4iPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90YWJsZS90YWJsZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3RhYmxlLXN3aXRjaC1jZWxsLXBvc2l0aW9uLWJh
ZC1sYXlvdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTFlMzZmYTRkMzMzMGM4ODU2ZGExZmY0MjZjMWIy
ZjRhMTEyYzM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS90YWJs
ZS1zd2l0Y2gtY2VsbC1wb3NpdGlvbi1iYWQtbGF5b3V0Lmh0bWwKQEAgLTAsMCArMSwzNyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICB0YWJsZSB7
CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKyAgICAgICAgYm9yZGVyLXNwYWNpbmc6
IDBweDsKKyAgICB9CisgICAgdGQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsK
KyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgcGFkZGluZzogMHB4OworICAgICAgICB3
aWR0aDogMjAwcHg7CisgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPkJ1
ZyA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE4MCI+
NzE4MDwvYT46IFRhYmxlIGNlbGwncyBhbm9ueW1vdXMgd3JhcHBlcnMgYXJlIGxlZnQgaW4gdGhl
IHRyZWUsIGltcGFjdGluZyBvdXIgbGF5b3V0LjwvcD4KKzxwPlRoZXJlIHNob3VsZCBiZSBubyBy
ZWQgaW4gdGhlIG91dHB1dC48L3A+Cis8dGFibGU+CisgICAgPHRyPgorICAgICAgICA8dGQgaWQ9
InRvZ2dsZVBvc2l0aW9uIj48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgICA8dGQ+
PC90ZD4KKyAgICA8L3RyPgorPC90YWJsZT4KKzxzY3JpcHQ+CisgICAgdmFyIGVsZW1lbnQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9nZ2xlUG9zaXRpb24iKTsKKyAgICBlbGVtZW50LnN0
eWxlLnBvc2l0aW9uID0gImFic29sdXRlIjsKKworICAgIGVsZW1lbnQub2Zmc2V0V2lkdGg7CisK
KyAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gInN0YXRpYyI7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>