<?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>17450</bug_id>
          
          <creation_ts>2008-02-20 06:43:15 -0800</creation_ts>
          <short_desc>activating a focused link to an in-page fragment ID should transfer focus to the target of the link when possible</short_desc>
          <delta_ts>2019-07-21 21:51:11 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://news.bbc.co.uk/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>59737</dependson>
    
    <dependson>82915</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="goetsu">aurelien.levy</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>alex</cc>
    
    <cc>ap</cc>
    
    <cc>ben.sciascia</cc>
    
    <cc>catharinegreen</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eoconnor</cc>
    
    <cc>ian</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jhabdas</cc>
    
    <cc>mario</cc>
    
    <cc>martin.gartner</cc>
    
    <cc>mathias</cc>
    
    <cc>me</cc>
    
    <cc>m.goleb+bugzilla</cc>
    
    <cc>mjs</cc>
    
    <cc>omarandemad</cc>
    
    <cc>phiw2</cc>
    
    <cc>rik</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>webmaster</cc>
    
    <cc>xn--mlform-iua</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>71228</commentid>
    <comment_count>0</comment_count>
    <who name="goetsu">aurelien.levy</who>
    <bug_when>2008-02-20 06:43:15 -0800</bug_when>
    <thetext>in page anchor (like skip nav, or go to content link) can by activated by keyboard  and the visual focus is going at the target anchor but the keyboard focus will stay at the same place instead of going at the target anchor.

You can see an example here http://www.handicap.gouv.fr the first three links become visible when you use keyboard navigation with the tab key. if you active it with enter the focus will stay on the link. With firefox, Opera or IE the focus go on the target anchor.

It&apos;s really painful for people using keyboard navigation as there day to day navigation mechanism or for people using assistive technology</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100521</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-11-26 23:50:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/6404984&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100602</commentid>
    <comment_count>2</comment_count>
    <who name="Anthony Ricaud">rik</who>
    <bug_when>2008-11-28 07:40:05 -0800</bug_when>
    <thetext>Confirmed with r38826.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241316</commentid>
    <comment_count>3</comment_count>
    <who name="goetsu">aurelien.levy</who>
    <bug_when>2010-06-22 10:13:04 -0700</bug_when>
    <thetext>the webiste given as an example isn&apos;t online anymore but the bug is still on safari 5, here is another website where the bug can be reproducted : http://news.bbc.co.uk/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242213</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-23 18:11:24 -0700</bug_when>
    <thetext>I know that this has been migrated and confirmed, so some people seem to understand this bug report, but I don&apos;t.

Could you please explain how to reproduce this step by step? Something like:
1. Open http://news.bbc.co.uk/
2. Press Tab three times to select (a particular element)
3. Press Enter

Expected results:
Actual results:

If this requires non-default settings (like maybe &quot;Tab selects all links&quot; preference from Safari advanced preference pane), please mention those, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259448</commentid>
    <comment_count>5</comment_count>
    <who name="goetsu">aurelien.levy</who>
    <bug_when>2010-08-03 07:39:46 -0700</bug_when>
    <thetext>1. open  http://www.rnib.org.uk/Pages/Home.aspx
2. Press Tab one time to select &quot;Skip to main content&quot;
3. Press Enter
4. Press Tab

expected result : the focus must go to &quot;Talk and Support appeal&quot; (aka the first link after the h1 with id=&quot;skiptomain&quot; in the content)

current result : the focus go to &quot;A&quot; (aka the next link after &quot;Skip to main content&quot; in the content order)

alternative way to see the bug :
1. open  http://www.rnib.org.uk/Pages/Home.aspx#skiptomain
2. Press Tab one time

expected result : the focus must go to &quot;Talk and Support appeal&quot; (aka the first link after the h1 with id=&quot;skiptomain&quot; in the content)

current result : the focus go to &quot;Skip to main content&quot; (aka the first link in the content order)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405265</commentid>
    <comment_count>6</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2011-05-17 13:43:45 -0700</bug_when>
    <thetext>This bugs looks very similar to bug 59737, where I already proposed a patch, although not cross platform, but a GTK specific one.

However, if people agrees this is a cross-platform issue (and it looks like it) AND that the approach I followed in the patch is the right one, I wouldn&apos;t mind trying to cook a cross-platform version of the patch in there :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494644</commentid>
    <comment_count>7</comment_count>
    <who name="">catharinegreen</who>
    <bug_when>2011-11-02 08:58:08 -0700</bug_when>
    <thetext>I can confirm that this is still a valid bug and needs addressing asap please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565483</commentid>
    <comment_count>8</comment_count>
    <who name="Martin Gartner">martin.gartner</who>
    <bug_when>2012-02-27 01:59:43 -0800</bug_when>
    <thetext>Bug still exists in latest WebKit!
This is such a big fail in acessibillity - please fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566949</commentid>
    <comment_count>9</comment_count>
    <who name="Xandor Schiefer">me</who>
    <bug_when>2012-02-28 12:02:39 -0800</bug_when>
    <thetext>Bug still exists. Can reproduce by visiting http://drupal.org/, pressing tab to show skip to content link. Press enter and you&apos;re taken to content. Press tab again and you&apos;re back at the top.

Seriously guys, this is 4 (yes FOUR) years old now. Lame. We&apos;d like the web to move forward, but before we focus on 3D transforms we need to get this stuff right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567108</commentid>
    <comment_count>10</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-02-28 14:33:42 -0800</bug_when>
    <thetext>Looking at the code, it seems to me this is a problem that must be addressed in every port separately, and that it has been already addressed in the chromium and the windows port (I tried with Google Chrome 16 and seems to work indeed).

However, other a11y-enabled ports such as the Mac and the GTK ports have the infrastructure in place to fix it but haven&apos;t fixed it yet :-(

I have no idea about how to write Objective-C so I wouldn&apos;t know how to write a patch for the Mac, so I&apos;m CCing Chris Fleizach here, who will know better for sure. As for the GTK port, I already had written a patch some time ago that fixed the problem and even got accepted, but then it broke some tests and got rolled out... and got unfortunately forgotten due to happening in a moment where I was too busy with other matters. Shame on me.

However, I&apos;d like to make up the mistake and will try to find some time soon (hopefully this week) to re-try my old patch, change what it&apos;s needed and see if we can get it fixed in the GTK port once and for all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567111</commentid>
    <comment_count>11</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-02-28 14:35:11 -0800</bug_when>
    <thetext>Making this bug depend on bug 59737, which is about fixing the problem for the GTK port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567134</commentid>
    <comment_count>12</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-02-28 15:04:37 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Looking at the code, it seems to me this is a problem that must be addressed in every port separately, and that it has been already addressed in the chromium and the windows port (I tried with Google Chrome 16 and seems to work indeed).
&gt; 
&gt; However, other a11y-enabled ports such as the Mac and the GTK ports have the infrastructure in place to fix it but haven&apos;t fixed it yet :-(
&gt; 
&gt; I have no idea about how to write Objective-C so I wouldn&apos;t know how to write a patch for the Mac, so I&apos;m CCing Chris Fleizach here, who will know better for sure. As for the GTK port, I already had written a patch some time ago that fixed the problem and even got accepted, but then it broke some tests and got rolled out... and got unfortunately forgotten due to happening in a moment where I was too busy with other matters. Shame on me.
&gt; 
&gt; However, I&apos;d like to make up the mistake and will try to find some time soon (hopefully this week) to re-try my old patch, change what it&apos;s needed and see if we can get it fixed in the GTK port once and for all.

Why does this need to be a platform decision? It seems like all we&apos;d want to do is, if a in page link is activated and focus was on that link, move setFocusedNode() to the anchor if it accepts keyboard focus...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567172</commentid>
    <comment_count>13</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-02-28 15:34:53 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; [...]
&gt; Why does this need to be a platform decision? It seems like all we&apos;d want to do is, if a in page link is activated 
&gt; and focus was on that link, move setFocusedNode() to the anchor if it accepts keyboard focus...

Makes sense. I just wrote that, &quot;looking at the code, it seemed to me this is a problem that must be addressed in every port separately&quot;, but perhaps I&apos;m wrong.

The root of my guessing is that I&apos;ve quickly skimmed through the code and saw there were platform specific implementations for chromium and windows, and that made me think there could be some reason for that.

But maybe (hopefully!) you&apos;re right and this can be addressed in one take in cross-platform code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567278</commentid>
    <comment_count>14</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-02-28 17:38:12 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; [...]
&gt; &gt; Why does this need to be a platform decision? It seems like all we&apos;d want to do is, if a in page link is activated 
&gt; &gt; and focus was on that link, move setFocusedNode() to the anchor if it accepts keyboard focus...
&gt; 
&gt; Makes sense. I just wrote that, &quot;looking at the code, it seemed to me this is a problem that must be addressed in every port separately&quot;, but perhaps I&apos;m wrong.
&gt; 
&gt; The root of my guessing is that I&apos;ve quickly skimmed through the code and saw there were platform specific implementations for chromium and windows, and that made me think there could be some reason for that.
&gt; 
&gt; But maybe (hopefully!) you&apos;re right and this can be addressed in one take in cross-platform code.

Mario, are you actively working on this one. I too agree that it&apos;s a really bad experience and we should fix it soon</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567570</commentid>
    <comment_count>15</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-02-29 06:56:47 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; [...]
&gt; Mario, are you actively working on this one. I too agree that it&apos;s a really bad experience and we should fix it soon

I will give it a shot during today, trying first to find a cross platform solution, as you suggested. No promises, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567692</commentid>
    <comment_count>16</comment_count>
      <attachid>129465</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-02-29 09:59:56 -0800</bug_when>
    <thetext>Created attachment 129465
Patch proposal + Layout Test

Attaching a patch that addresses the issue in a cross-platform way: I moved AXObjectCache::handleScrolledToAnchor() from AXObjectMac.mm and AXObjectGTK.cpp out to AXObjectCache.cpp and implemented there the fix.

However, as win and chromium ports already provide their own implementation of that function (which are different among them) I dare not to remove that code and so I put the new function in AXObjectCache.cpp inside a #if PLATFORM(GTK) || PLATFORM(MAC) -- #endif section. In the future if the people from those ports want to use the cross-platform solution, it would be an easy change.

Last, I wrote a layout test that I think should work fine both in GTK and Mac but, as usual, no promises yet :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567722</commentid>
    <comment_count>17</comment_count>
      <attachid>129465</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-02-29 10:41:39 -0800</bug_when>
    <thetext>Comment on attachment 129465
Patch proposal + Layout Test

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

&gt; LayoutTests/accessibility/anchor-link-selection-and-focus.html:35
&gt; +        shouldBe(&quot;getSelection().anchorNode.nodeValue&quot;, &quot;&apos;The Anchor&apos;&quot;);

you should probably also check that the anchor is focused now

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:163
&gt; +{

is this only going to happen if accessibility is enabled?
I&apos;d think we&apos;d want this to happen all the time for people using the keyboard to navigate as well (without a screen reader per se)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567936</commentid>
    <comment_count>18</comment_count>
      <attachid>129465</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 14:23:09 -0800</bug_when>
    <thetext>Comment on attachment 129465
Patch proposal + Layout Test

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

New failing tests:
accessibility/anchor-link-selection-and-focus.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568486</commentid>
    <comment_count>19</comment_count>
      <attachid>129465</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-03-01 02:20:05 -0800</bug_when>
    <thetext>Comment on attachment 129465
Patch proposal + Layout Test

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

Thanks for the review. See some comments below...

&gt;&gt; LayoutTests/accessibility/anchor-link-selection-and-focus.html:35
&gt;&gt; +        shouldBe(&quot;getSelection().anchorNode.nodeValue&quot;, &quot;&apos;The Anchor&apos;&quot;);
&gt; 
&gt; you should probably also check that the anchor is focused now

You&apos;re right. I&apos;ll add that in a follow-up patch.

&gt;&gt; Source/WebCore/accessibility/AXObjectCache.cpp:163
&gt;&gt; +{
&gt; 
&gt; is this only going to happen if accessibility is enabled?
&gt; I&apos;d think we&apos;d want this to happen all the time for people using the keyboard to navigate as well (without a screen reader per se)

In its current form, &quot;yes&quot;. This is because AXObjectCache::handleScrolledToAnchor() is called from FrameView::scrollToAnchor(), in the following fashion:

void FrameView::scrollToAnchor()
{
    [...]

    // Scroll nested layers and frames to reveal the anchor.
    // Align to the top and to the closest side (this matches other browsers).
    anchorNode-&gt;renderer()-&gt;enclosingLayer()-&gt;scrollRectToVisible(rect, ScrollAlignment::alignToEdgeIfNeeded, ScrollAlignment::alignTopAlways);

    if (AXObjectCache::accessibilityEnabled())
        m_frame-&gt;document()-&gt;axObjectCache()-&gt;handleScrolledToAnchor(anchorNode.get());

    [...]
}

I agree with you this issue is something that we want to get fixed across different platforms, but I&apos;m not sure if changing the selection and focus is something that an user with a11y disabled would expect. After all keyboard navigation it&apos;s usually related (well, at least in GTK) to caret navigation, which is an accessibility feature, so maybe the expected behaviour when a11y is disabled is just to scroll the window (as it does now) and not do anything else.

Checking the W3C recommendation at http://www.w3.org/TR/html4/struct/links.html, I can&apos;t find any clue about whether updating the focus and selection is the expected normal behaviour, so I guess it&apos;s safe to fix this when a11y is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568493</commentid>
    <comment_count>20</comment_count>
      <attachid>129671</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-03-01 02:28:23 -0800</bug_when>
    <thetext>Created attachment 129671
Patch proposal + Layout Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568785</commentid>
    <comment_count>21</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2012-03-01 11:29:59 -0800</bug_when>
    <thetext>Nothing is really clear about focusing anchors in HTML 4, but HTML 5 is promising, if slightly obscure:

Following a hyperlink:
http://www.w3.org/TR/html5/links.html#following-hyperlinks
&quot;When a user follows a hyperlink created by an element, the user agent must resolve the URL given by the href attribute of that element, relative to that element, and if that is successful, must navigate a browsing context to the resulting absolute URL.&quot;

Navigate:
http://www.w3.org/TR/html5/history.html#navigate
&quot;Fragment identifiers: If the absolute URL of the new resource is the same as the address of the active document of the browsing contextbeing navigated, ignoring any &lt;fragment&gt; components of those URLs, and the new resource is to be fetched using HTTP GET or equivalent, and the absolute URL of the new resource has a &lt;fragment&gt; component (even if it is empty), then navigate to that fragment identifier and abort these steps.&quot;

Navigating to a fragment identifier:
http://www.w3.org/TR/html5/history.html#scroll-to-fragid
&quot;When the user agent is required to scroll to the fragment identifier, it must change the scrolling position of the document using the scroll an element into view algorithm defined in the CSSOM View specification, or perform some other action, such that the indicated part of the document is brought to the user&apos;s attention.&quot;

The phrase &quot;perform some other action such that…[the anchor]…is brought to the user&apos;s attention&quot; is vague, but focusing the anchor is clearly the action that should be performed if full keyboard access (FKA) is enabled.

I&apos;ll also file a defect against HTML 5 Accessibility to get the spec to explicitly state the UA must move focus to that location if focusable, and perhaps something about moving the browsing context focus there even if it&apos;s not &quot;focusable&quot; and therefore can&apos;t provide a DOM focus event. For example, if the linked anchor is a non-focusable heading, pressing Tab should move to the next focusable item past the heading, even if the heading itself was not the focused document.activeElement.

This should also cover the case were a user just loads a URL with a fragID (like the ones above) without actually clicking the link.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568805</commentid>
    <comment_count>22</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2012-03-01 12:01:27 -0800</bug_when>
    <thetext>HTML 5 Defect:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=16186</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568865</commentid>
    <comment_count>23</comment_count>
      <attachid>129671</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-01 13:31:32 -0800</bug_when>
    <thetext>Comment on attachment 129671
Patch proposal + Layout Test

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

New failing tests:
accessibility/anchor-link-selection-and-focus.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569353</commentid>
    <comment_count>24</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-03-02 00:06:34 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 129671 [details])
&gt; Attachment 129671 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/11779593
&gt; 
&gt; New failing tests:
&gt; accessibility/anchor-link-selection-and-focus.html

Once we resolve the layout test failures i think things look OK. We can make this apply all the time if HTML5 provides clarification to that effect</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569354</commentid>
    <comment_count>25</comment_count>
      <attachid>129671</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-03-02 00:08:00 -0800</bug_when>
    <thetext>Comment on attachment 129671
Patch proposal + Layout Test

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:179
&gt; +    Position targetPosition = firstPositionInOrBeforeNode(const_cast&lt;Node*&gt;(node));

you already const_cast&apos;ed this node before into refNode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569425</commentid>
    <comment_count>26</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-03-02 01:46:59 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; (From update of attachment 129671 [details] [details])
&gt; &gt; Attachment 129671 [details] [details] did not pass chromium-ews (chromium-xvfb):
&gt; &gt; Output: http://queues.webkit.org/results/11779593
&gt; &gt; 
&gt; &gt; New failing tests:
&gt; &gt; accessibility/anchor-link-selection-and-focus.html
&gt; 
&gt; Once we resolve the layout test failures i think things look OK. We can make this apply all the time if HTML5 &gt; provides clarification to that effect

Problem is that without seeing the actual output in chromium-ews for that test, I can hardly spot what the problem is about. I can try, though, but if there were a way to check that out, it would be awesome. Do you know if there&apos;s any?

(In reply to comment #25)
&gt; (From update of attachment 129671 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=129671&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AXObjectCache.cpp:179
&gt; &gt; +    Position targetPosition = firstPositionInOrBeforeNode(const_cast&lt;Node*&gt;(node));
&gt; 
&gt; you already const_cast&apos;ed this node before into refNode

I&apos;m such an idiot... Will change that in a follow up patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569669</commentid>
    <comment_count>27</comment_count>
      <attachid>129904</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-03-02 08:37:43 -0800</bug_when>
    <thetext>Created attachment 129904
Patch Proposal + Layout Test

I asked in #webkit but there seems not to be a way to check the actual result in chromium EWS after all, so I took a guess and decided to move the mac-specific expectation file down from platform/mac/a11y to to a11y/, so the chromium port will find it. 

Let&apos;s see what happens now, although I don&apos;t feel very confident, since the error is saying &quot;Unexpected text diff mismatch&quot;, instead of &quot;not expected results found&quot;.

If this keeps failing I&apos;m not sure what would be the way to go, maybe pinging someone at Google (Dominic?) so they can try it there and report the actual result, or just take the wild way and add it to test_expectations.txt in chromium, although in theory all the required stuff from the AccessibilityController and AccessibilityUIElement (see Chromium bug 10322 [1]) seem to be already implemented in the chromium port, so it should be working.

[1] http://code.google.com/p/chromium/issues/detail?id=10322</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569700</commentid>
    <comment_count>28</comment_count>
      <attachid>129904</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-02 09:19:47 -0800</bug_when>
    <thetext>Comment on attachment 129904
Patch Proposal + Layout Test

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

New failing tests:
accessibility/anchor-link-selection-and-focus.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569731</commentid>
    <comment_count>29</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-03-02 10:08:05 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; (From update of attachment 129904 [details])
&gt; Attachment 129904 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/11796048
&gt; 
&gt; New failing tests:
&gt; accessibility/anchor-link-selection-and-focus.html

Not surprised :-/

Anyway, I just sent a mail to Dominic Mazzoni some minutes ago, who kindly agreed on applying the patch and checking the result during the following days (he&apos;s not available for that at the moment), so I believe we will eventually get somewhere with this patch.

Have a nice weekend!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571270</commentid>
    <comment_count>30</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-03-05 17:40:05 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; (In reply to comment #28)
&gt; &gt; (From update of attachment 129904 [details] [details])
&gt; &gt; Attachment 129904 [details] [details] did not pass chromium-ews (chromium-xvfb):
&gt; &gt; Output: http://queues.webkit.org/results/11796048
&gt; &gt; 
&gt; &gt; New failing tests:
&gt; &gt; accessibility/anchor-link-selection-and-focus.html
&gt; 
&gt; Not surprised :-/
&gt; 
&gt; Anyway, I just sent a mail to Dominic Mazzoni some minutes ago, who kindly agreed on applying the patch and checking the result during the following days (he&apos;s not available for that at the moment), so I believe we will eventually get somewhere with this patch.
&gt; 
&gt; Have a nice weekend!

I think you should add this to the skip list for Chromium. 

We&apos;re only changing code for GTK and mac, so we can&apos;t know what the behavior will be anywhere else. There may in fact be subtle differences on the chromium implementation of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571605</commentid>
    <comment_count>31</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-03-06 00:51:25 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; [...]
&gt; I think you should add this to the skip list for Chromium. 
&gt; 
&gt; We&apos;re only changing code for GTK and mac, so we can&apos;t know what the behavior will be anywhere else. 
&gt; There may in fact be subtle differences on the chromium implementation of this.

I agree with this, but I think we can anyway wait for a couple of days before going ahead, in case Dominic has time to try it out. It could be that it would add some valuable extra information here.

So let&apos;s wait until, say, Thursday or so, I&apos;d say.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574738</commentid>
    <comment_count>32</comment_count>
      <attachid>131012</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-03-09 01:57:22 -0800</bug_when>
    <thetext>Created attachment 131012
Patch

Attaching new patch skipping the test for chromium</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588831</commentid>
    <comment_count>33</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-03-27 06:43:29 -0700</bug_when>
    <thetext>Ping reviewers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588946</commentid>
    <comment_count>34</comment_count>
      <attachid>131012</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-03-27 08:45:50 -0700</bug_when>
    <thetext>Comment on attachment 131012
Patch

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

r=me with fixes suggested

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:164
&gt; +    Document* document = node-&gt;document();

you probably want to ASSERT(node)

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:173
&gt; +    if (!selection)

it seems that even if selection == 0, we can still set the focusedNode on the document</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593309</commentid>
    <comment_count>35</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-04-02 03:28:48 -0700</bug_when>
    <thetext>Committed r112851: &lt;http://trac.webkit.org/changeset/112851&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593837</commentid>
    <comment_count>36</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-04-02 14:18:54 -0700</bug_when>
    <thetext>Looks like the patch broke some things, so it got rolled out (see bug 82915).

Hence reopening...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594321</commentid>
    <comment_count>37</comment_count>
      <attachid>131012</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-04-03 02:37:17 -0700</bug_when>
    <thetext>Comment on attachment 131012
Patch

Clearing flags</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721615</commentid>
    <comment_count>38</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2012-09-16 10:12:14 -0700</bug_when>
    <thetext>(In reply to comment #21)

&gt; 
&gt; The phrase &quot;perform some other action such that…[the anchor]…is brought to the user&apos;s attention&quot; is vague, but focusing the anchor is clearly the action that should be performed if full keyboard access (FKA) is enabled.
&gt; 

If the HTML5 spec meant to focus something, it would clearly say so. What do other browsers do in this case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721673</commentid>
    <comment_count>39</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-09-16 20:09:43 -0700</bug_when>
    <thetext>Focusing a focusable target when you follow a fragment link would be a reasonable thing to do. The spec doesn&apos;t require it, though, as most browsers don&apos;t do it, at least not by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722415</commentid>
    <comment_count>40</comment_count>
    <who name="Leif Halvard Silli">xn--mlform-iua</who>
    <bug_when>2012-09-17 18:50:33 -0700</bug_when>
    <thetext>(In reply to comment #39)
&gt; Focusing a focusable target when you follow a fragment link would be a reasonable thing to do. The spec doesn&apos;t require it, though, as most browsers don&apos;t do it, at least not by default.

When comment #0 said that &quot;With firefox, Opera or IE the focus go on the target anchor&quot;, then it does not sound correct to say that &quot;most browsers don&apos;t do it&quot;.  I agree that, of the common, graphical user agents, it might only be Firefox that, in a systematic way, moves the foucs to the targeted element. But there seems to be subtle and important differences that makes it work better in e.g. IE than in Webkit browsers.

The page http://html5accessibility.com tracks HTML5 accessibiltiy for OSX and Windows browsers. It oftens mentions keyboardaccess as a shortcoming - and it gives the highest score to Firefox on Windows - 14% better score than the second best - Safari on OSX.  (And tha page does not test skip to-links.) A better correlation between what visually gets focused and what gets keyboard focus, should probably make it simpler for Webkit browsers to score higher on that tracker page.

Speaking about HTML5, it ought to be possible for it to be more concrete about what users should expect to happen. For example, regarding the phrase &quot;action such that…[the anchor]…is brought to the user&apos;s attention&quot;, then the current problem e.g. in Webkit is that, yes, FIRST the anchor is brought to attention - visually - BUT THEN, if the user hits the Tabulator key to e.g. move to next focusable element, the keyboard focus just jumps away and off to the very first focusable element of the entire page. Such behavior - &quot;one foot forwards and then many (unexpected) feet backwards&quot; - is not what the phrase &quot;to follow a link&quot; should signify. Ideally, all the focuses - they keyboard focus, the visual focus and the A11Y focus should more or less follow. And it should be possible for HTML5 to indicate the need for this correlation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>793418</commentid>
    <comment_count>41</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2012-12-18 00:03:14 -0800</bug_when>
    <thetext>Not seeing any objection to Leif&apos;s comments, but the point again that this is fixing a terrible experience for keyboard users, . 

I wrote:
&gt; focusing the anchor is clearly the action that should be performed if full keyboard access (FKA) is enabled.

To clarify: Whether or not the HTML spec is entirely explicit about the focus event, &quot;focusing the anchor is clearly the action that should be performed (for the sake of a usable experience) if full keyboard access is enabled.&quot;

If anyone disagrees, please unplug your mouse for a few minutes. I suspect you&apos;ll come around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795180</commentid>
    <comment_count>42</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2012-12-19 21:54:06 -0800</bug_when>
    <thetext>(In reply to comment #41)
&gt; Not seeing any objection to Leif&apos;s comments, but the point again that this is fixing a terrible experience for keyboard users, . 
&gt; 
&gt; I wrote:
&gt; &gt; focusing the anchor is clearly the action that should be performed if full keyboard access (FKA) is enabled.
&gt; 
&gt; To clarify: Whether or not the HTML spec is entirely explicit about the focus event, &quot;focusing the anchor is clearly the action that should be performed (for the sake of a usable experience) if full keyboard access is enabled.&quot;
&gt; 
&gt; If anyone disagrees, please unplug your mouse for a few minutes. I suspect you&apos;ll come around.

I don&apos;t think anyone is objecting to this change.

I would say the behavior proposed here is correct when links are eligible for tab-focus (which will be true in Safari on Mac when full keyboard access is enabled, or Safari&apos;s &quot;Press Tab to highlight each item on a webpage&quot; pref is enabled, and on other ports is true always. This assumes the fragment target is an &lt;a&gt; element. If it&apos;s something else, then whether it gets focus should likewise depend on whether it is eligible for tab-focus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825201</commentid>
    <comment_count>43</comment_count>
    <who name="Ben Sciascia">ben.sciascia</who>
    <bug_when>2013-02-05 00:08:13 -0800</bug_when>
    <thetext>Does anyone know if/when this issue might be fixed? 

Is there a cross-platform issue making this difficult to overcome or is it fixed - sorry, just wasn&apos;t sure based on all the comments but various best practice articles still say this is an issue and recommend javascript to get around it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825214</commentid>
    <comment_count>44</comment_count>
    <who name="goetsu">aurelien.levy</who>
    <bug_when>2013-02-05 00:28:30 -0800</bug_when>
    <thetext>(In reply to comment #43)
As initial creator of this bug I hope too but I&apos;m afraid it will not be before the reign of unicorn with only one left to rule them all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825624</commentid>
    <comment_count>45</comment_count>
      <attachid>186658</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-05 10:42:00 -0800</bug_when>
    <thetext>Created attachment 186658
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825726</commentid>
    <comment_count>46</comment_count>
      <attachid>186658</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-05 12:50:42 -0800</bug_when>
    <thetext>Comment on attachment 186658
patch

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

New failing tests:
svg/custom/scrolling-embedded-svg-file-image-repaint-problem.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826298</commentid>
    <comment_count>47</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-06 03:33:02 -0800</bug_when>
    <thetext>(In reply to comment #45)
&gt; Created an attachment (id=186658) [details]
&gt; patch

I like this new approach better than my initial attempt to fix it through the accessibility layer. About the failing test, I don&apos;t really see the relationship with this change. Perhaps it&apos;s just flaky?

(In reply to comment #44)
&gt; (In reply to comment #43)
&gt; As initial creator of this bug I hope too but I&apos;m afraid it will not be
&gt; before the reign of unicorn with only one left to rule them all.

I think I owe you an apology here, since I worked initially on this at the beginning of the year and then plainly forgot about finishing it after the rollback due to other external matters that got me busy most of the year.

So sorry about that, and happy that Chris picked it up too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874421</commentid>
    <comment_count>48</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-04-12 01:06:56 -0700</bug_when>
    <thetext>(In reply to comment #45)
&gt; Created an attachment (id=186658) [details]
&gt; patch

It would be great if we could this patch getting an official review since it&apos;s a pain for many users and the solution seems to be very close right now.

About the patch itself, as I said before, it looks good to me but I&apos;m not an reviewer yet, so we need someone else checking it.

The only suggestion I think I could make is whether it would make sense to add some bits to the test to check that pressing &quot;Tab&quot; after moving the focus by following a link works properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876086</commentid>
    <comment_count>49</comment_count>
      <attachid>186658</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2013-04-15 15:12:46 -0700</bug_when>
    <thetext>Comment on attachment 186658
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>876186</commentid>
    <comment_count>50</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-04-15 18:00:48 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/148481</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888361</commentid>
    <comment_count>51</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-05-13 11:03:34 -0700</bug_when>
    <thetext>Related to bug 116046.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911949</commentid>
    <comment_count>52</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-07-26 05:38:59 -0700</bug_when>
    <thetext>*** Bug 59737 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340464</commentid>
    <comment_count>53</comment_count>
    <who name="Josh Habdas">jhabdas</who>
    <bug_when>2017-08-19 23:27:29 -0700</bug_when>
    <thetext>I noticed there may be a regression with this &quot;fixed&quot; bug, as the issue persists. There is already a related bug open but it appears to be a different issue. Should this bug be reopened or should a new issue be filed?

To reproduce please do the following:

1. Navigate to https://chicagoganghistory.com and tab twice to the skip nav link.
2. Then press [Enter] followed by [Tab] to activate the skip nav anchor.

Expected result:
First focusable element in the anchored fragment receives focus.

Actual result:
Drop down menu anchors intending to be skipped receive focus.

Environment:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 YaBrowser/17.7.0.1575 Yowser/2.5 Safari/537.36</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420349</commentid>
    <comment_count>54</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2018-05-03 14:37:51 -0700</bug_when>
    <thetext>Since the most recent commit did not resolve all the issues, refiling as bug 185264</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129465</attachid>
            <date>2012-02-29 09:59:56 -0800</date>
            <delta_ts>2012-03-01 02:28:09 -0800</delta_ts>
            <desc>Patch proposal + Layout Test</desc>
            <filename>0001-2012-02-29-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>9602</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA2YzE0NjEyZDg2NDhmNTg5Njc5YzFjNmE2MzVhZmUzMzAwNThlOTAxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBXZWQsIDI5IEZlYiAyMDEyIDE4OjQ0OjI0ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMi0wMi0yOSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIGluIHBhZ2UgYW5jaG9yIGFuZCBrZXlib2FyZCBuYXZpZ2F0aW9uCiAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDUwCgogICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBFbnN1cmUgdGhhdCB0aGUgcG9zaXRp
b24gb2YgdGhlIGNhcmV0IGFuZCB0aGUgZm9jdXNlZCBlbGVtZW50CiAgICAgICAgZ2V0IHVwZGF0
ZWQgd2hlbiBmb2xsb3dpbmcgYW4gYW5jaG9yIGxpbmsuCgogICAgICAgIFRoZSBpbXBsZW1lbnRh
dGlvbiBpcyBtb3ZlZCBmcm9tIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzIG91dCB0bwogICAgICAg
IEFYT2JqZWN0Q2FjaGUuY3BwIHNpbmNlIGl0IHNob3VsZCBiZSBhIGNyb3NzLXBsYXRmb3JtIHZh
bGlkCiAgICAgICAgc29sdXRpb24uIEhvd2V2ZXIsIHRoZSBuZXcgY29kZSBpcyBjdXJyZW50bHkg
YWN0aXZhdGVkIGZvciB0aGUgTWFjCiAgICAgICAgYW5kIEdUSyBwb3J0cyBvbmx5LCBzaW5jZSB0
aGUgd2luZG93cyBhbmQgY2hyb21pdW0gcG9ydHMgcHJvdmlkZQogICAgICAgIHRoZWlyIG93biBz
cGVjaWZpYyBjb2RlLCBhbmQgcmVtb3ZpbmcgaXQgbm93IG1pZ2h0IGJyZWFrIHRoaW5ncy4KCiAg
ICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3Vz
Lmh0bWwKCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgogICAgICAg
IChXZWJDb3JlKToKICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xs
ZWRUb0FuY2hvcik6IENyb3NzLXBsYXRmb3JtCiAgICAgICAgaW1wbGVtZW50YXRpb24gb2YgdGhl
IGZpeCwgb25seSBhY3RpdmF0ZWQgZm9yIE1hYyBhbmQgR1RLIGZvciBub3cuCiAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2d0ay9BWE9iamVjdENhY2hlQXRrLmNwcDogUmVtb3ZlZCB0aGUgR1RLLXNw
ZWNpZmljCiAgICAgICAgaW1wbGVtZW50YXRpb24gb2YgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
aGFuZGxlU2Nyb2xsZWRUb0FuY2hvci4KICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2Jq
ZWN0Q2FjaGVNYWMubW06IFJlbW92ZWQgdGhlIE1hYy1zcGVjaWZpYwogICAgICAgIGltcGxlbWVu
dGF0aW9uIG9mIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3Iu
CgoyMDEyLTAyLTI5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4K
CiAgICAgICAgaW4gcGFnZSBhbmNob3IgYW5kIGtleWJvYXJkIG5hdmlnYXRpb24KICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NTAKCiAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgICogYWNjZXNzaWJpbGl0eS9hbmNob3It
bGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMuaHRtbDogQWRkZWQu
Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDEwICsrKysrCiAuLi4vYW5jaG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy1leHBlY3Rl
ZC50eHQgICB8ICAgMTUgKysrKysrKwogLi4uL2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9j
dXMuaHRtbCAgICAgICAgICAgfCAgIDQzICsrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjcgKysrKysrKysr
KysrCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwICAgICB8
ICAgMjcgKysrKysrKysrKysrLQogLi4uL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQVhPYmpl
Y3RDYWNoZUF0ay5jcHAgfCAgICA0IC0tCiAuLi4vV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9B
WE9iamVjdENhY2hlTWFjLm1tICB8ICAgIDQgLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTIxIGluc2Vy
dGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLWV4cGVjdGVkLnR4
dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYW5jaG9yLWxp
bmstc2VsZWN0aW9uLWFuZC1mb2N1cy5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEzM2VmM2QuLmYzYmU4MGEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yOSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1z
YW5jaGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgaW4gcGFnZSBhbmNob3IgYW5kIGtleWJvYXJk
IG5hdmlnYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NDUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVj
dGlvbi1hbmQtZm9jdXMuaHRtbDogQWRkZWQuCisKIDIwMTItMDItMjggIEFkYW0gS2xlaW4gIDxh
ZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHN1cHByZXNzaW9ucyBvZiBTVkcg
Y3Jhc2ggZmxha2luZXNzIG9uIGNyLW1hYwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZkNDg0Mwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmst
c2VsZWN0aW9uLWFuZC1mb2N1cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorQSBsaW5r
IHBvaW50aW5nIHRvIGFuIGFuY2hvciBhdCB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudAorCitBIHBh
cmFncmFwaCB3aXRoIGEgc29tZSB0ZXh0IGluIHRoZSBtaWRkbGUKKworVGhlIEFuY2hvcgorCitU
aGlzIHRlc3RzIHRoYXQgdGhlIGNhcmV0IHBvc2l0aW9uIGlzIHByb3Blcmx5IHVwZGF0ZWQgd2hl
biBmb2xsb3dpbmcgYW5jaG9yIGxpbmtzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBheExpbmsuaXNGb2N1c2VkIGlzIHRydWUKK1BBU1MgYXhMaW5rLmlzRm9jdXNlZCBp
cyBmYWxzZQorUEFTUyBnZXRTZWxlY3Rpb24oKS5hbmNob3JOb2RlLm5vZGVWYWx1ZSBpcyAnVGhl
IEFuY2hvcicKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hbmNob3It
bGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4xNzA2MzlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLmh0bWwKQEAgLTAs
MCArMSw0MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5
Ij4KKzxwPjxhIGlkPSJsaW5rIiBocmVmPSIjYW5jaG9yIj5BIGxpbmsgcG9pbnRpbmcgdG8gYW4g
YW5jaG9yIGF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50PC9hPjwvcD4KKzxwPkEgcGFyYWdyYXBo
IHdpdGggYSBzb21lIHRleHQgaW4gdGhlIG1pZGRsZTwvcD4KKzxwPjxhIGlkPSJhbmNob3IiIG5h
bWU9ImFuY2hvciI+VGhlIEFuY2hvcjwvYT48L3A+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRl
c3RzIHRoYXQgdGhlIGNhcmV0IHBvc2l0aW9uIGlzIHByb3Blcmx5IHVwZGF0ZWQgd2hlbiBmb2xs
b3dpbmcgYW5jaG9yIGxpbmtzLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB2YXIgbGluayA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJsaW5rIik7CisgICAgICAgIHZhciBhbmNob3IgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiYW5jaG9yIik7CisgICAgICAgIHZhciB0ZXh0QWZ0ZXJBbmNob3Ig
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dCIpOworCisgICAgICAgIC8vIEZvY3VzIG9u
IHRoZSBsaW5rIGFuZCBjaGVjayBzdGF0ZQorICAgICAgICBsaW5rLmZvY3VzKCk7CisgICAgICAg
IHZhciBheExpbmsgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAg
ICAgICAgc2hvdWxkQmUoImF4TGluay5pc0ZvY3VzZWQiLCAidHJ1ZSIpOworCisgICAgICAgIC8v
IEV4ZWN1dGUgYWN0aW9uIGFuZCBjaGVjayBzdGF0ZS4KKyAgICAgICAgYXhMaW5rLnByZXNzKCkK
KyAgICAgICAgc2hvdWxkQmUoImF4TGluay5pc0ZvY3VzZWQiLCAiZmFsc2UiKTsKKyAgICAgICAg
c2hvdWxkQmUoImdldFNlbGVjdGlvbigpLmFuY2hvck5vZGUubm9kZVZhbHVlIiwgIidUaGUgQW5j
aG9yJyIpOworICAgIH0KK30KKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThiMWY0Mi4uNjNk
YmQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAyLTI5ICBNYXJpbyBTYW5j
aGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBpbiBwYWdlIGFuY2hv
ciBhbmQga2V5Ym9hcmQgbmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBFbnN1cmUgdGhhdCB0aGUgcG9zaXRpb24gb2YgdGhlIGNhcmV0IGFu
ZCB0aGUgZm9jdXNlZCBlbGVtZW50CisgICAgICAgIGdldCB1cGRhdGVkIHdoZW4gZm9sbG93aW5n
IGFuIGFuY2hvciBsaW5rLgorCisgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBtb3ZlZCBm
cm9tIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzIG91dCB0bworICAgICAgICBBWE9iamVjdENhY2hl
LmNwcCBzaW5jZSBpdCBzaG91bGQgYmUgYSBjcm9zcy1wbGF0Zm9ybSB2YWxpZAorICAgICAgICBz
b2x1dGlvbi4gSG93ZXZlciwgdGhlIG5ldyBjb2RlIGlzIGN1cnJlbnRseSBhY3RpdmF0ZWQgZm9y
IHRoZSBNYWMKKyAgICAgICAgYW5kIEdUSyBwb3J0cyBvbmx5LCBzaW5jZSB0aGUgd2luZG93cyBh
bmQgY2hyb21pdW0gcG9ydHMgcHJvdmlkZQorICAgICAgICB0aGVpciBvd24gc3BlY2lmaWMgY29k
ZSwgYW5kIHJlbW92aW5nIGl0IG5vdyBtaWdodCBicmVhayB0aGluZ3MuCisKKyAgICAgICAgVGVz
dDogYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLmh0bWwKKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9B
bmNob3IpOiBDcm9zcy1wbGF0Zm9ybQorICAgICAgICBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZml4
LCBvbmx5IGFjdGl2YXRlZCBmb3IgTWFjIGFuZCBHVEsgZm9yIG5vdy4KKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2d0ay9BWE9iamVjdENhY2hlQXRrLmNwcDogUmVtb3ZlZCB0aGUgR1RLLXNwZWNp
ZmljCisgICAgICAgIGltcGxlbWVudGF0aW9uIG9mIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Omhh
bmRsZVNjcm9sbGVkVG9BbmNob3IuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmpl
Y3RDYWNoZU1hYy5tbTogUmVtb3ZlZCB0aGUgTWFjLXNwZWNpZmljCisgICAgICAgIGltcGxlbWVu
dGF0aW9uIG9mIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3Iu
CisKIDIwMTItMDItMjggIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDg4MzQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAwMmQ1YmZiLi45
ZGM2NjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiRnJhbWVT
ZWxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
SW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgpAQCAtNzEsNyAr
NzIsOCBAQAogI2luY2x1ZGUgIlJlbmRlclRhYmxlUm93LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmll
dy5oIgogI2luY2x1ZGUgIlNjcm9sbFZpZXcuaCIKLQorI2luY2x1ZGUgIlRleHRBZmZpbml0eS5o
IgorI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTU2LDYgKzE1OCwyOSBAQCBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBBWE9iamVjdENhY2hlOjpmb2N1c2VkVUlFbGVtZW50Rm9yUGFnZShjb25zdCBQYWdl
KiBwYWdlKQogICAgIHJldHVybiBvYmo7CiB9CiAKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYm
IChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykpCit2b2lkIEFYT2JqZWN0Q2FjaGU6Omhh
bmRsZVNjcm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSogbm9kZSkKK3sKKyAgICBEb2N1bWVudCog
ZG9jdW1lbnQgPSBub2RlLT5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAg
IHJldHVybjsKKworICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50LT5mcmFtZSgpOworICAgIGlm
ICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lU2VsZWN0aW9uKiBzZWxlY3Rp
b24gPSBmcmFtZS0+c2VsZWN0aW9uKCk7CisgICAgaWYgKCFzZWxlY3Rpb24pCisgICAgICAgIHJl
dHVybjsKKworICAgIFJlZlB0cjxOb2RlPiByZWZOb2RlID0gY29uc3RfY2FzdDxOb2RlKj4obm9k
ZSk7CisgICAgZG9jdW1lbnQtPnNldEZvY3VzZWROb2RlKHJlZk5vZGUpOworCisgICAgUG9zaXRp
b24gdGFyZ2V0UG9zaXRpb24gPSBmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUoY29uc3RfY2Fz
dDxOb2RlKj4obm9kZSkpOworICAgIHNlbGVjdGlvbi0+bW92ZVRvKHRhcmdldFBvc2l0aW9uLCBE
T1dOU1RSRUFNKTsKK30KKyNlbmRpZgorCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENh
Y2hlOjpnZXQoV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgaWYgKCF3aWRnZXQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BWE9iamVjdENhY2hlQXRrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FYT2JqZWN0Q2FjaGVBdGsuY3BwCmlu
ZGV4IGMyNDIyNGIuLjYzYjY0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvZ3RrL0FYT2JqZWN0Q2FjaGVBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvZ3RrL0FYT2JqZWN0Q2FjaGVBdGsuY3BwCkBAIC0yMzEsOCArMjMxLDQgQEAgdm9p
ZCBBWE9iamVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmpl
Y3QqIG9sZEZvY3VzZWRSZW5kZXIKICAgICB9CiB9CiAKLXZvaWQgQVhPYmplY3RDYWNoZTo6aGFu
ZGxlU2Nyb2xsZWRUb0FuY2hvcihjb25zdCBOb2RlKikKLXsKLX0KLQogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhP
YmplY3RDYWNoZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2Jq
ZWN0Q2FjaGVNYWMubW0KaW5kZXggNTBlMmJiZS4uMzgzMzY2OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCkBAIC0xNDEs
MTAgKzE0MSw2IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQoUmVuZGVyT2JqZWN0KiwgUmVuZGVyT2JqZWN0KikKICAgICB3a0FjY2Vzc2liaWxpdHlI
YW5kbGVGb2N1c0NoYW5nZWQoKTsKIH0KIAotdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3Jv
bGxlZFRvQW5jaG9yKGNvbnN0IE5vZGUqKQotewotfQotCiB9CiAKICNlbmRpZiAvLyBIQVZFKEFD
Q0VTU0lCSUxJVFkpCi0tIAoxLjcuNy41Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129671</attachid>
            <date>2012-03-01 02:28:23 -0800</date>
            <delta_ts>2012-03-02 08:37:43 -0800</delta_ts>
            <desc>Patch proposal + Layout Test</desc>
            <filename>bug-17450-20120301112821.patch</filename>
            <type>text/plain</type>
            <size>9270</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThiMWY0MjA4MzgzN2Iw
YzMwNWRlMjQ1NmM2ODYyN2QyYTkwZGFmNC4uNmRmZDEzNGQzYTVmYWQ5NTBmMmUxNDY1NTNjM2Jm
YzZhMzE1OWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAzLTAxICBNYXJp
byBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBpbiBwYWdl
IGFuY2hvciBhbmQga2V5Ym9hcmQgbmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgdGhhdCB0aGUgcG9zaXRpb24gb2YgdGhlIGNh
cmV0IGFuZCB0aGUgZm9jdXNlZCBlbGVtZW50CisgICAgICAgIGdldCB1cGRhdGVkIHdoZW4gZm9s
bG93aW5nIGFuIGFuY2hvciBsaW5rLgorCisgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBt
b3ZlZCBmcm9tIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzIG91dCB0bworICAgICAgICBBWE9iamVj
dENhY2hlLmNwcCBzaW5jZSBpdCBzaG91bGQgYmUgYSBjcm9zcy1wbGF0Zm9ybSB2YWxpZAorICAg
ICAgICBzb2x1dGlvbi4gSG93ZXZlciwgdGhlIG5ldyBjb2RlIGlzIGN1cnJlbnRseSBhY3RpdmF0
ZWQgZm9yIHRoZSBNYWMKKyAgICAgICAgYW5kIEdUSyBwb3J0cyBvbmx5LCBzaW5jZSB0aGUgd2lu
ZG93cyBhbmQgY2hyb21pdW0gcG9ydHMgcHJvdmlkZQorICAgICAgICB0aGVpciBvd24gc3BlY2lm
aWMgY29kZSwgYW5kIHJlbW92aW5nIGl0IG5vdyBtaWdodCBicmVhayB0aGluZ3MuCisKKyAgICAg
ICAgVGVzdDogYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLmh0
bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9s
bGVkVG9BbmNob3IpOiBDcm9zcy1wbGF0Zm9ybQorICAgICAgICBpbXBsZW1lbnRhdGlvbiBvZiB0
aGUgZml4LCBvbmx5IGFjdGl2YXRlZCBmb3IgTWFjIGFuZCBHVEsgZm9yIG5vdy4KKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2d0ay9BWE9iamVjdENhY2hlQXRrLmNwcDogUmVtb3ZlZCB0aGUgR1RL
LXNwZWNpZmljCisgICAgICAgIGltcGxlbWVudGF0aW9uIG9mIFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3IuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMv
QVhPYmplY3RDYWNoZU1hYy5tbTogUmVtb3ZlZCB0aGUgTWFjLXNwZWNpZmljCisgICAgICAgIGlt
cGxlbWVudGF0aW9uIG9mIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9B
bmNob3IuCisKIDIwMTItMDItMjggIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21h
aWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDg4MzQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAwMmQ1
YmZiMjM5ZWU2YmRhNGU4ODBiMDNlOTIzZmMzOWVlNjVhM2E2Li45ZGM2NjIzNjAxZjBmODQ4OTQ1
NjdmYzFhYWFkMTYyODJjYjg2MWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisj
aW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVu
dC5oIgpAQCAtNzEsNyArNzIsOCBAQAogI2luY2x1ZGUgIlJlbmRlclRhYmxlUm93LmgiCiAjaW5j
bHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNjcm9sbFZpZXcuaCIKLQorI2luY2x1ZGUg
IlRleHRBZmZpbml0eS5oIgorI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTU2LDYgKzE1OCwyOSBA
QCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpmb2N1c2VkVUlFbGVtZW50Rm9y
UGFnZShjb25zdCBQYWdlKiBwYWdlKQogICAgIHJldHVybiBvYmo7CiB9CiAKKyNpZiBIQVZFKEFD
Q0VTU0lCSUxJVFkpICYmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykpCit2b2lkIEFY
T2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSogbm9kZSkKK3sK
KyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBub2RlLT5kb2N1bWVudCgpOworICAgIGlmICghZG9j
dW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50LT5m
cmFtZSgpOworICAgIGlmICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lU2Vs
ZWN0aW9uKiBzZWxlY3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9uKCk7CisgICAgaWYgKCFzZWxlY3Rp
b24pCisgICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxOb2RlPiByZWZOb2RlID0gY29uc3Rf
Y2FzdDxOb2RlKj4obm9kZSk7CisgICAgZG9jdW1lbnQtPnNldEZvY3VzZWROb2RlKHJlZk5vZGUp
OworCisgICAgUG9zaXRpb24gdGFyZ2V0UG9zaXRpb24gPSBmaXJzdFBvc2l0aW9uSW5PckJlZm9y
ZU5vZGUoY29uc3RfY2FzdDxOb2RlKj4obm9kZSkpOworICAgIHNlbGVjdGlvbi0+bW92ZVRvKHRh
cmdldFBvc2l0aW9uLCBET1dOU1RSRUFNKTsKK30KKyNlbmRpZgorCiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBBWE9iamVjdENhY2hlOjpnZXQoV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgaWYgKCF3aWRn
ZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BWE9iamVj
dENhY2hlQXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FYT2JqZWN0
Q2FjaGVBdGsuY3BwCmluZGV4IGMyNDIyNGI5NTNkMjMxYzM4MTk5MmExYTQ3ZWVjYmMxYTRlYTQ5
MDUuLjYzYjY0ZGFiNzYxOTYwNzE5ZDdhZTE3ZTBhOTNlMmIyMDk5YjMxNTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FYT2JqZWN0Q2FjaGVBdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FYT2JqZWN0Q2FjaGVBdGsuY3Bw
CkBAIC0yMzEsOCArMjMxLDQgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqIG9sZEZvY3VzZWRSZW5kZXIKICAgICB9CiB9CiAK
LXZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcihjb25zdCBOb2RlKikK
LXsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0KaW5kZXggNTBlMmJiZTE3MDY5
NzU5YmNlOGRmMjY5MjZmNDlkMWRlY2FlOWUxZi4uMzgzMzY2ODYwYTIxZmE5NDNlNDBhZTgzZGNl
ZGE5YWJmYTE3YmY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvQVhPYmplY3RDYWNoZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCkBAIC0xNDEsMTAgKzE0MSw2IEBAIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQoUmVuZGVyT2JqZWN0KiwgUmVu
ZGVyT2JqZWN0KikKICAgICB3a0FjY2Vzc2liaWxpdHlIYW5kbGVGb2N1c0NoYW5nZWQoKTsKIH0K
IAotdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5vZGUq
KQotewotfQotCiB9CiAKICNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTMz
ZWYzZDgyM2MyMDRhZTNiZWI2YjkzNzA5YjU1YmRjYjEyMjQwNS4uYTc1YTJkZTk5OTFkZDFkZTVh
ODYzY2RkNWVhZDhiYTdmOTJlNjRhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTAx
ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBp
biBwYWdlIGFuY2hvciBhbmQga2V5Ym9hcmQgbmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NTAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgdGVzdCBhbmQgcGxhdGZvcm0g
c3BlY2lmaWMgZXhwZWN0YXRpb25zIGZvciBNYWMgYW5kIEdUSy4KKworICAgICAgICAqIHBsYXRm
b3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9h
bmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTAyLTI4ICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJlbW92ZSBzdXBwcmVzc2lvbnMgb2YgU1ZHIGNyYXNoIGZsYWtpbmVzcyBvbiBj
ci1tYWMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmst
c2VsZWN0aW9uLWFuZC1mb2N1cy5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hbmNo
b3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzcwMzQ2NDUyZWQz
OGYzYzMwYjU3NDNkYjA3N2RhNjE0NzMzZWFmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy5odG1sCkBA
IC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0i
Ym9keSI+Cis8cD48YSBpZD0ibGluayIgaHJlZj0iI2FuY2hvciI+QSBsaW5rIHBvaW50aW5nIHRv
IGFuIGFuY2hvciBhdCB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudDwvYT48L3A+Cis8cD5BIHBhcmFn
cmFwaCB3aXRoIGEgc29tZSB0ZXh0IGluIHRoZSBtaWRkbGU8L3A+Cis8cD48YSBpZD0iYW5jaG9y
IiBuYW1lPSJhbmNob3IiIGhyZWY9IiI+VGhlIEFuY2hvcjwvYT48L3A+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJUaGlzIHRlc3RzIHRoYXQgdGhlIGNhcmV0IHBvc2l0aW9uIGlzIHByb3Blcmx5IHVwZGF0
ZWQgd2hlbiBmb2xsb3dpbmcgYW5jaG9yIGxpbmtzLiIpOworCitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
CisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB2YXIg
bGluayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaW5rIik7CisgICAgICAgIHZhciBhbmNo
b3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5jaG9yIik7CisKKyAgICAgICAgLy8gR2V0
IG5lZWRlZCBvYmplY3RzLgorICAgICAgICBsaW5rLmZvY3VzKCk7CisgICAgICAgIHZhciBheExp
bmsgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAgICAgICAgZGVi
dWcoImF4TGluay5yb2xlIGlzOiAnIiArIGF4TGluay5yb2xlICsgIiciKTsKKyAgICAgICAgYW5j
aG9yLmZvY3VzKCk7CisgICAgICAgIHZhciBheEFuY2hvciA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmZvY3VzZWRFbGVtZW50OworICAgICAgICBkZWJ1ZygiYXhBbmNob3Iucm9sZSBpczogJyIg
KyBheEFuY2hvci5yb2xlICsgIiciKTsKKworICAgICAgICAvLyBGb2N1cyBvbiB0aGUgbGluayBh
bmQgY2hlY2sgaW5pdGlhbCBzdGF0ZS4KKyAgICAgICAgbGluay5mb2N1cygpOworICAgICAgICBz
aG91bGRCZSgiYXhMaW5rLmlzRm9jdXNlZCIsICJ0cnVlIik7CisgICAgICAgIHNob3VsZEJlKCJh
eEFuY2hvci5pc0ZvY3VzZWQiLCAiZmFsc2UiKTsKKworICAgICAgICAvLyBFeGVjdXRlIGFjdGlv
biBhbmQgY2hlY2sgc3RhdGUuCisgICAgICAgIGF4TGluay5wcmVzcygpCisKKyAgICAgICAgLy8g
Q2hlY2sgZmluYWwgc3RhdGUuCisgICAgICAgIHNob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5hbmNo
b3JOb2RlLm5vZGVWYWx1ZSIsICInVGhlIEFuY2hvciciKTsKKyAgICAgICAgc2hvdWxkQmUoImF4
TGluay5pc0ZvY3VzZWQiLCAiZmFsc2UiKTsKKyAgICAgICAgc2hvdWxkQmUoImF4QW5jaG9yLmlz
Rm9jdXNlZCIsICJ0cnVlIik7CisgICAgfQorfQorCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVjdGlv
bi1hbmQtZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvYW5jaG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDg1NjZhYjU3Y2M1MWMzNzRhNjE1MGEwMzFhNTE0MDE2OGRjYTFjMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FuY2hv
ci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAK
K0EgbGluayBwb2ludGluZyB0byBhbiBhbmNob3IgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQK
KworQSBwYXJhZ3JhcGggd2l0aCBhIHNvbWUgdGV4dCBpbiB0aGUgbWlkZGxlCisKK1RoZSBBbmNo
b3IKKworVGhpcyB0ZXN0cyB0aGF0IHRoZSBjYXJldCBwb3NpdGlvbiBpcyBwcm9wZXJseSB1cGRh
dGVkIHdoZW4gZm9sbG93aW5nIGFuY2hvciBsaW5rcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK2F4TGluay5yb2xlIGlzOiAnQVhSb2xlOiBsaW5rJworYXhBbmNob3Iucm9sZSBp
czogJ0FYUm9sZTogbGluaycKK1BBU1MgYXhMaW5rLmlzRm9jdXNlZCBpcyB0cnVlCitQQVNTIGF4
QW5jaG9yLmlzRm9jdXNlZCBpcyBmYWxzZQorUEFTUyBnZXRTZWxlY3Rpb24oKS5hbmNob3JOb2Rl
Lm5vZGVWYWx1ZSBpcyAnVGhlIEFuY2hvcicKK1BBU1MgYXhMaW5rLmlzRm9jdXNlZCBpcyBmYWxz
ZQorUEFTUyBheEFuY2hvci5pc0ZvY3VzZWQgaXMgdHJ1ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5k
LWZvY3VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmls
aXR5L2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZjNTIwNzc3YjMwYzJkZDY0YjBlZTA2NzZmODBiNmVjMWRmZWZjZWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9hbmNob3ItbGlu
ay1zZWxlY3Rpb24tYW5kLWZvY3VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitBIGxp
bmsgcG9pbnRpbmcgdG8gYW4gYW5jaG9yIGF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50CisKK0Eg
cGFyYWdyYXBoIHdpdGggYSBzb21lIHRleHQgaW4gdGhlIG1pZGRsZQorCitUaGUgQW5jaG9yCisK
K1RoaXMgdGVzdHMgdGhhdCB0aGUgY2FyZXQgcG9zaXRpb24gaXMgcHJvcGVybHkgdXBkYXRlZCB3
aGVuIGZvbGxvd2luZyBhbmNob3IgbGlua3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitheExpbmsucm9sZSBpczogJ0FYUm9sZTogQVhMaW5rJworYXhBbmNob3Iucm9sZSBpczog
J0FYUm9sZTogQVhMaW5rJworUEFTUyBheExpbmsuaXNGb2N1c2VkIGlzIHRydWUKK1BBU1MgYXhB
bmNob3IuaXNGb2N1c2VkIGlzIGZhbHNlCitQQVNTIGdldFNlbGVjdGlvbigpLmFuY2hvck5vZGUu
bm9kZVZhbHVlIGlzICdUaGUgQW5jaG9yJworUEFTUyBheExpbmsuaXNGb2N1c2VkIGlzIGZhbHNl
CitQQVNTIGF4QW5jaG9yLmlzRm9jdXNlZCBpcyB0cnVlCisK
</data>
<flag name="commit-queue"
          id="132502"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129904</attachid>
            <date>2012-03-02 08:37:43 -0800</date>
            <delta_ts>2012-03-09 01:57:14 -0800</delta_ts>
            <desc>Patch Proposal + Layout Test</desc>
            <filename>0001-2012-03-01-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>11410</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAwODVlNWYzMjBjYmE3NGNkMDA0YzhhZGMyZmY1MDQ0ZDE3OTBjMTBjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBXZWQsIDI5IEZlYiAyMDEyIDE4OjQ0OjI0ICswMTAwClN1YmplY3Q6IFtQQVRD
SF0gMjAxMi0wMy0wMSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CgogICAgICAgIGluIHBhZ2UgYW5jaG9yIGFuZCBrZXlib2FyZCBuYXZpZ2F0aW9uCiAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDUwCgogICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBFbnN1cmUgdGhhdCB0aGUgcG9zaXRp
b24gb2YgdGhlIGNhcmV0IGFuZCB0aGUgZm9jdXNlZCBlbGVtZW50CiAgICAgICAgZ2V0IHVwZGF0
ZWQgd2hlbiBmb2xsb3dpbmcgYW4gYW5jaG9yIGxpbmsuCgogICAgICAgIFRoZSBpbXBsZW1lbnRh
dGlvbiBpcyBtb3ZlZCBmcm9tIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzIG91dCB0bwogICAgICAg
IEFYT2JqZWN0Q2FjaGUuY3BwIHNpbmNlIGl0IHNob3VsZCBiZSBhIGNyb3NzLXBsYXRmb3JtIHZh
bGlkCiAgICAgICAgc29sdXRpb24uIEhvd2V2ZXIsIHRoZSBuZXcgY29kZSBpcyBjdXJyZW50bHkg
YWN0aXZhdGVkIGZvciB0aGUgTWFjCiAgICAgICAgYW5kIEdUSyBwb3J0cyBvbmx5LCBzaW5jZSB0
aGUgd2luZG93cyBhbmQgY2hyb21pdW0gcG9ydHMgcHJvdmlkZQogICAgICAgIHRoZWlyIG93biBz
cGVjaWZpYyBjb2RlLCBhbmQgcmVtb3ZpbmcgaXQgbm93IG1pZ2h0IGJyZWFrIHRoaW5ncy4KCiAg
ICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3Vz
Lmh0bWwKCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgogICAgICAg
IChXZWJDb3JlKToKICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xs
ZWRUb0FuY2hvcik6IENyb3NzLXBsYXRmb3JtCiAgICAgICAgaW1wbGVtZW50YXRpb24gb2YgdGhl
IGZpeCwgb25seSBhY3RpdmF0ZWQgZm9yIE1hYyBhbmQgR1RLIGZvciBub3cuCiAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2d0ay9BWE9iamVjdENhY2hlQXRrLmNwcDogUmVtb3ZlZCB0aGUgR1RLLXNw
ZWNpZmljCiAgICAgICAgaW1wbGVtZW50YXRpb24gb2YgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
aGFuZGxlU2Nyb2xsZWRUb0FuY2hvci4KICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FYT2Jq
ZWN0Q2FjaGVNYWMubW06IFJlbW92ZWQgdGhlIE1hYy1zcGVjaWZpYwogICAgICAgIGltcGxlbWVu
dGF0aW9uIG9mIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3Iu
CgoyMDEyLTAzLTAxICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4K
CiAgICAgICAgaW4gcGFnZSBhbmNob3IgYW5kIGtleWJvYXJkIG5hdmlnYXRpb24KICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NTAKCiAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIEFkZGVkIG5ldyB0ZXN0IGFuZCBleHBl
Y3RhdGlvbnMuCgogICAgICAgICogYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24t
YW5kLWZvY3VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Fu
Y2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMuaHRtbDogQWRkZWQuCiAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDEzICsrKysrCiAuLi4vYW5jaG9yLWxpbmstc2VsZWN0aW9u
LWFuZC1mb2N1cy1leHBlY3RlZC50eHQgICB8ICAgMTkgKysrKysrKwogLi4uL2FuY2hvci1saW5r
LXNlbGVjdGlvbi1hbmQtZm9jdXMuaHRtbCAgICAgICAgICAgfCAgIDUzICsrKysrKysrKysrKysr
KysrKysrCiAuLi4vYW5jaG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy1leHBlY3RlZC50eHQg
ICB8ICAgMTkgKysrKysrKwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgIDI3ICsrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAgICAgIHwgICAyNyArKysrKysrKysrLQogLi4uL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9ndGsvQVhPYmplY3RDYWNoZUF0ay5jcHAgfCAgICA0IC0tCiAuLi4vV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tICB8ICAgIDQgLS0KIDgg
ZmlsZXMgY2hhbmdlZCwgMTU3IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rp
b24tYW5kLWZvY3VzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy5odG1sCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYW5j
aG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy1leHBlY3RlZC50eHQKCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTMzZWYz
ZC4uZTdlNGEzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTAxICBNYXJpbyBTYW5j
aGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBpbiBwYWdlIGFuY2hv
ciBhbmQga2V5Ym9hcmQgbmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgdGVzdCBhbmQgZXhwZWN0YXRpb25zLgorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxl
Y3Rpb24tYW5kLWZvY3VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKwogMjAxMi0wMi0yOCAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZW1vdmUgc3VwcHJlc3Npb25zIG9mIFNWRyBjcmFzaCBmbGFraW5lc3Mgb24gY3It
bWFjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNl
bGVjdGlvbi1hbmQtZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzUyMDc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitBIGxpbmsgcG9pbnRpbmcgdG8gYW4gYW5jaG9y
IGF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50CisKK0EgcGFyYWdyYXBoIHdpdGggYSBzb21lIHRl
eHQgaW4gdGhlIG1pZGRsZQorCitUaGUgQW5jaG9yCisKK1RoaXMgdGVzdHMgdGhhdCB0aGUgY2Fy
ZXQgcG9zaXRpb24gaXMgcHJvcGVybHkgdXBkYXRlZCB3aGVuIGZvbGxvd2luZyBhbmNob3IgbGlu
a3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitheExpbmsucm9sZSBpczogJ0FY
Um9sZTogQVhMaW5rJworYXhBbmNob3Iucm9sZSBpczogJ0FYUm9sZTogQVhMaW5rJworUEFTUyBh
eExpbmsuaXNGb2N1c2VkIGlzIHRydWUKK1BBU1MgYXhBbmNob3IuaXNGb2N1c2VkIGlzIGZhbHNl
CitQQVNTIGdldFNlbGVjdGlvbigpLmFuY2hvck5vZGUubm9kZVZhbHVlIGlzICdUaGUgQW5jaG9y
JworUEFTUyBheExpbmsuaXNGb2N1c2VkIGlzIGZhbHNlCitQQVNTIGF4QW5jaG9yLmlzRm9jdXNl
ZCBpcyB0cnVlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYW5jaG9y
LWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uNzcwMzQ2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy5odG1sCkBAIC0w
LDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9k
eSI+Cis8cD48YSBpZD0ibGluayIgaHJlZj0iI2FuY2hvciI+QSBsaW5rIHBvaW50aW5nIHRvIGFu
IGFuY2hvciBhdCB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudDwvYT48L3A+Cis8cD5BIHBhcmFncmFw
aCB3aXRoIGEgc29tZSB0ZXh0IGluIHRoZSBtaWRkbGU8L3A+Cis8cD48YSBpZD0iYW5jaG9yIiBu
YW1lPSJhbmNob3IiIGhyZWY9IiI+VGhlIEFuY2hvcjwvYT48L3A+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJUaGlzIHRlc3RzIHRoYXQgdGhlIGNhcmV0IHBvc2l0aW9uIGlzIHByb3Blcmx5IHVwZGF0ZWQg
d2hlbiBmb2xsb3dpbmcgYW5jaG9yIGxpbmtzLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisg
ICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB2YXIgbGlu
ayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaW5rIik7CisgICAgICAgIHZhciBhbmNob3Ig
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5jaG9yIik7CisKKyAgICAgICAgLy8gR2V0IG5l
ZWRlZCBvYmplY3RzLgorICAgICAgICBsaW5rLmZvY3VzKCk7CisgICAgICAgIHZhciBheExpbmsg
PSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAgICAgICAgZGVidWco
ImF4TGluay5yb2xlIGlzOiAnIiArIGF4TGluay5yb2xlICsgIiciKTsKKyAgICAgICAgYW5jaG9y
LmZvY3VzKCk7CisgICAgICAgIHZhciBheEFuY2hvciA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50OworICAgICAgICBkZWJ1ZygiYXhBbmNob3Iucm9sZSBpczogJyIgKyBh
eEFuY2hvci5yb2xlICsgIiciKTsKKworICAgICAgICAvLyBGb2N1cyBvbiB0aGUgbGluayBhbmQg
Y2hlY2sgaW5pdGlhbCBzdGF0ZS4KKyAgICAgICAgbGluay5mb2N1cygpOworICAgICAgICBzaG91
bGRCZSgiYXhMaW5rLmlzRm9jdXNlZCIsICJ0cnVlIik7CisgICAgICAgIHNob3VsZEJlKCJheEFu
Y2hvci5pc0ZvY3VzZWQiLCAiZmFsc2UiKTsKKworICAgICAgICAvLyBFeGVjdXRlIGFjdGlvbiBh
bmQgY2hlY2sgc3RhdGUuCisgICAgICAgIGF4TGluay5wcmVzcygpCisKKyAgICAgICAgLy8gQ2hl
Y2sgZmluYWwgc3RhdGUuCisgICAgICAgIHNob3VsZEJlKCJnZXRTZWxlY3Rpb24oKS5hbmNob3JO
b2RlLm5vZGVWYWx1ZSIsICInVGhlIEFuY2hvciciKTsKKyAgICAgICAgc2hvdWxkQmUoImF4TGlu
ay5pc0ZvY3VzZWQiLCAiZmFsc2UiKTsKKyAgICAgICAgc2hvdWxkQmUoImF4QW5jaG9yLmlzRm9j
dXNlZCIsICJ0cnVlIik7CisgICAgfQorfQorCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVjdGlvbi1h
bmQtZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvYW5jaG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg1NjZhYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVj
dGlvbi1hbmQtZm9jdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK0EgbGluayBwb2lu
dGluZyB0byBhbiBhbmNob3IgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKKworQSBwYXJhZ3Jh
cGggd2l0aCBhIHNvbWUgdGV4dCBpbiB0aGUgbWlkZGxlCisKK1RoZSBBbmNob3IKKworVGhpcyB0
ZXN0cyB0aGF0IHRoZSBjYXJldCBwb3NpdGlvbiBpcyBwcm9wZXJseSB1cGRhdGVkIHdoZW4gZm9s
bG93aW5nIGFuY2hvciBsaW5rcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2F4
TGluay5yb2xlIGlzOiAnQVhSb2xlOiBsaW5rJworYXhBbmNob3Iucm9sZSBpczogJ0FYUm9sZTog
bGluaycKK1BBU1MgYXhMaW5rLmlzRm9jdXNlZCBpcyB0cnVlCitQQVNTIGF4QW5jaG9yLmlzRm9j
dXNlZCBpcyBmYWxzZQorUEFTUyBnZXRTZWxlY3Rpb24oKS5hbmNob3JOb2RlLm5vZGVWYWx1ZSBp
cyAnVGhlIEFuY2hvcicKK1BBU1MgYXhMaW5rLmlzRm9jdXNlZCBpcyBmYWxzZQorUEFTUyBheEFu
Y2hvci5pc0ZvY3VzZWQgaXMgdHJ1ZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThiMWY0Mi4uNmRmZDEzNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAzLTAxICBNYXJpbyBTYW5jaGV6IFBy
YWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBpbiBwYWdlIGFuY2hvciBhbmQg
a2V5Ym9hcmQgbmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBFbnN1cmUgdGhhdCB0aGUgcG9zaXRpb24gb2YgdGhlIGNhcmV0IGFuZCB0aGUg
Zm9jdXNlZCBlbGVtZW50CisgICAgICAgIGdldCB1cGRhdGVkIHdoZW4gZm9sbG93aW5nIGFuIGFu
Y2hvciBsaW5rLgorCisgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBtb3ZlZCBmcm9tIHBs
YXRmb3JtIHNwZWNpZmljIGZpbGVzIG91dCB0bworICAgICAgICBBWE9iamVjdENhY2hlLmNwcCBz
aW5jZSBpdCBzaG91bGQgYmUgYSBjcm9zcy1wbGF0Zm9ybSB2YWxpZAorICAgICAgICBzb2x1dGlv
bi4gSG93ZXZlciwgdGhlIG5ldyBjb2RlIGlzIGN1cnJlbnRseSBhY3RpdmF0ZWQgZm9yIHRoZSBN
YWMKKyAgICAgICAgYW5kIEdUSyBwb3J0cyBvbmx5LCBzaW5jZSB0aGUgd2luZG93cyBhbmQgY2hy
b21pdW0gcG9ydHMgcHJvdmlkZQorICAgICAgICB0aGVpciBvd24gc3BlY2lmaWMgY29kZSwgYW5k
IHJlbW92aW5nIGl0IG5vdyBtaWdodCBicmVhayB0aGluZ3MuCisKKyAgICAgICAgVGVzdDogYWNj
ZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLmh0bWwKKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3Ip
OiBDcm9zcy1wbGF0Zm9ybQorICAgICAgICBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZml4LCBvbmx5
IGFjdGl2YXRlZCBmb3IgTWFjIGFuZCBHVEsgZm9yIG5vdy4KKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2d0ay9BWE9iamVjdENhY2hlQXRrLmNwcDogUmVtb3ZlZCB0aGUgR1RLLXNwZWNpZmljCisg
ICAgICAgIGltcGxlbWVudGF0aW9uIG9mIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNj
cm9sbGVkVG9BbmNob3IuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNo
ZU1hYy5tbTogUmVtb3ZlZCB0aGUgTWFjLXNwZWNpZmljCisgICAgICAgIGltcGxlbWVudGF0aW9u
IG9mIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3IuCisKIDIw
MTItMDItMjggIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDg4MzQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAwMmQ1YmZiLi5mNjA1ZDU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAK
QEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZvY3Vz
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiRnJhbWVTZWxlY3Rp
b24uaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VF
bGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgpAQCAtNzEsNyArNzIsOCBA
QAogI2luY2x1ZGUgIlJlbmRlclRhYmxlUm93LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgog
I2luY2x1ZGUgIlNjcm9sbFZpZXcuaCIKLQorI2luY2x1ZGUgIlRleHRBZmZpbml0eS5oIgorI2lu
Y2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtMTU2LDYgKzE1OCwyOSBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBBWE9iamVjdENhY2hlOjpmb2N1c2VkVUlFbGVtZW50Rm9yUGFnZShjb25zdCBQYWdlKiBwYWdl
KQogICAgIHJldHVybiBvYmo7CiB9CiAKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIChQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykpCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNj
cm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSogbm9kZSkKK3sKKyAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBub2RlLT5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVy
bjsKKworICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50LT5mcmFtZSgpOworICAgIGlmICghZnJh
bWUpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lU2VsZWN0aW9uKiBzZWxlY3Rpb24gPSBm
cmFtZS0+c2VsZWN0aW9uKCk7CisgICAgaWYgKCFzZWxlY3Rpb24pCisgICAgICAgIHJldHVybjsK
KworICAgIFJlZlB0cjxOb2RlPiByZWZOb2RlID0gY29uc3RfY2FzdDxOb2RlKj4obm9kZSk7Cisg
ICAgZG9jdW1lbnQtPnNldEZvY3VzZWROb2RlKHJlZk5vZGUpOworCisgICAgUG9zaXRpb24gdGFy
Z2V0UG9zaXRpb24gPSBmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUocmVmTm9kZS5nZXQoKSk7
CisgICAgc2VsZWN0aW9uLT5tb3ZlVG8odGFyZ2V0UG9zaXRpb24sIERPV05TVFJFQU0pOworfQor
I2VuZGlmCisKIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldChXaWRnZXQq
IHdpZGdldCkKIHsKICAgICBpZiAoIXdpZGdldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvZ3RrL0FYT2JqZWN0Q2FjaGVBdGsuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9ndGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKaW5kZXggYzI0MjI0Yi4uNjNi
NjRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQVhPYmpl
Y3RDYWNoZUF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQVhP
YmplY3RDYWNoZUF0ay5jcHAKQEAgLTIzMSw4ICsyMzEsNCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6
OmhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKFJlbmRlck9iamVjdCogb2xkRm9jdXNlZFJl
bmRlcgogICAgIH0KIH0KIAotdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5j
aG9yKGNvbnN0IE5vZGUqKQotewotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQpp
bmRleCA1MGUyYmJlLi4zODMzNjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0KQEAgLTE0MSwxMCArMTQxLDYgQEAgdm9p
ZCBBWE9iamVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmpl
Y3QqLCBSZW5kZXJPYmplY3QqKQogICAgIHdrQWNjZXNzaWJpbGl0eUhhbmRsZUZvY3VzQ2hhbmdl
ZCgpOwogfQogCi12b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3IoY29u
c3QgTm9kZSopCi17Ci19Ci0KIH0KIAogI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkKLS0g
CjEuNy43LjUKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131012</attachid>
            <date>2012-03-09 01:57:22 -0800</date>
            <delta_ts>2012-04-03 02:37:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-17450-20120309105720.patch</filename>
            <type>text/plain</type>
            <size>10141</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMjc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjgwNjJjYTI1OWRjZmJk
MWVjMTMzOWVmZWE2ZTJhYmQ3MmE5ZGI3OS4uNTNiYzQ4Yjk4ZDU2NzZlN2RkYjY4ZmEzN2YxZmNk
YTFjN2RmYjQ2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAzLTA5ICBNYXJp
byBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBpbiBwYWdl
IGFuY2hvciBhbmQga2V5Ym9hcmQgbmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgdGhhdCB0aGUgcG9zaXRpb24gb2YgdGhlIGNh
cmV0IGFuZCB0aGUgZm9jdXNlZCBlbGVtZW50CisgICAgICAgIGdldCB1cGRhdGVkIHdoZW4gZm9s
bG93aW5nIGFuIGFuY2hvciBsaW5rLgorCisgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBt
b3ZlZCBmcm9tIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzIG91dCB0bworICAgICAgICBBWE9iamVj
dENhY2hlLmNwcCBzaW5jZSBpdCBzaG91bGQgYmUgYSBjcm9zcy1wbGF0Zm9ybSB2YWxpZAorICAg
ICAgICBzb2x1dGlvbi4gSG93ZXZlciwgdGhlIG5ldyBjb2RlIGlzIGN1cnJlbnRseSBhY3RpdmF0
ZWQgZm9yIHRoZSBNYWMKKyAgICAgICAgYW5kIEdUSyBwb3J0cyBvbmx5LCBzaW5jZSB0aGUgd2lu
ZG93cyBhbmQgY2hyb21pdW0gcG9ydHMgcHJvdmlkZQorICAgICAgICB0aGVpciBvd24gc3BlY2lm
aWMgY29kZSwgYW5kIHJlbW92aW5nIGl0IG5vdyBtaWdodCBicmVhayB0aGluZ3MuCisKKyAgICAg
ICAgVGVzdDogYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLmh0
bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9s
bGVkVG9BbmNob3IpOiBDcm9zcy1wbGF0Zm9ybQorICAgICAgICBpbXBsZW1lbnRhdGlvbiBvZiB0
aGUgZml4LCBvbmx5IGFjdGl2YXRlZCBmb3IgTWFjIGFuZCBHVEsgZm9yIG5vdy4KKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2d0ay9BWE9iamVjdENhY2hlQXRrLmNwcDogUmVtb3ZlZCB0aGUgR1RL
LXNwZWNpZmljCisgICAgICAgIGltcGxlbWVudGF0aW9uIG9mIFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3IuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMv
QVhPYmplY3RDYWNoZU1hYy5tbTogUmVtb3ZlZCB0aGUgTWFjLXNwZWNpZmljCisgICAgICAgIGlt
cGxlbWVudGF0aW9uIG9mIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9B
bmNob3IuCisKIDIwMTItMDMtMDggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgQmFzZSB0aGUgYWNjZXNzIHRvIENTU1N0eWxlRGVjbGFyYXRpb24gb24g
dGhlIENTU1Byb3BlcnR5SUQgaW5zdGVhZCBvZiB0aGUgUHJvcGVydHlOYW1lCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAwMmQ1YmZiMjM5
ZWU2YmRhNGU4ODBiMDNlOTIzZmMzOWVlNjVhM2E2Li5mNjA1ZDU4ZTE1MTU3Y2ZiZjJiYTdiNTAz
YjNhZDkyMjAxYTMxYzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVk
ZSAiRnJhbWVTZWxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgpA
QCAtNzEsNyArNzIsOCBAQAogI2luY2x1ZGUgIlJlbmRlclRhYmxlUm93LmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNjcm9sbFZpZXcuaCIKLQorI2luY2x1ZGUgIlRleHRB
ZmZpbml0eS5oIgorI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTU2LDYgKzE1OCwyOSBAQCBBY2Nl
c3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpmb2N1c2VkVUlFbGVtZW50Rm9yUGFnZShj
b25zdCBQYWdlKiBwYWdlKQogICAgIHJldHVybiBvYmo7CiB9CiAKKyNpZiBIQVZFKEFDQ0VTU0lC
SUxJVFkpICYmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykpCit2b2lkIEFYT2JqZWN0
Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSogbm9kZSkKK3sKKyAgICBE
b2N1bWVudCogZG9jdW1lbnQgPSBub2RlLT5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQp
CisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50LT5mcmFtZSgp
OworICAgIGlmICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lU2VsZWN0aW9u
KiBzZWxlY3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9uKCk7CisgICAgaWYgKCFzZWxlY3Rpb24pCisg
ICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxOb2RlPiByZWZOb2RlID0gY29uc3RfY2FzdDxO
b2RlKj4obm9kZSk7CisgICAgZG9jdW1lbnQtPnNldEZvY3VzZWROb2RlKHJlZk5vZGUpOworCisg
ICAgUG9zaXRpb24gdGFyZ2V0UG9zaXRpb24gPSBmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUo
cmVmTm9kZS5nZXQoKSk7CisgICAgc2VsZWN0aW9uLT5tb3ZlVG8odGFyZ2V0UG9zaXRpb24sIERP
V05TVFJFQU0pOworfQorI2VuZGlmCisKIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2Fj
aGU6OmdldChXaWRnZXQqIHdpZGdldCkKIHsKICAgICBpZiAoIXdpZGdldCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FYT2JqZWN0Q2FjaGVBdGsuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKaW5k
ZXggYzI0MjI0Yjk1M2QyMzFjMzgxOTkyYTFhNDdlZWNiYzFhNGVhNDkwNS4uNjNiNjRkYWI3NjE5
NjA3MTlkN2FlMTdlMGE5M2UyYjIwOTliMzE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9ndGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9ndGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKQEAgLTIzMSw4ICsyMzEs
NCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKFJl
bmRlck9iamVjdCogb2xkRm9jdXNlZFJlbmRlcgogICAgIH0KIH0KIAotdm9pZCBBWE9iamVjdENh
Y2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5vZGUqKQotewotfQotCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9BWE9iamVjdENhY2hlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvQVhPYmplY3RDYWNoZU1hYy5tbQppbmRleCA1MGUyYmJlMTcwNjk3NTliY2U4ZGYyNjkyNmY0
OWQxZGVjYWU5ZTFmLi4zODMzNjY4NjBhMjFmYTk0M2U0MGFlODNkY2VkYTlhYmZhMTdiZjRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hl
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2Fj
aGVNYWMubW0KQEAgLTE0MSwxMCArMTQxLDYgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVG
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJPYmplY3QqKQogICAg
IHdrQWNjZXNzaWJpbGl0eUhhbmRsZUZvY3VzQ2hhbmdlZCgpOwogfQogCi12b2lkIEFYT2JqZWN0
Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSopCi17Ci19Ci0KIH0KIAog
I2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4YzJlOWUwYWU3YTAwYjEwNWRk
OGNmN2I0ZWY2M2M5ODRlYTBiYTkxLi4wYjQ1N2NkMTVkMjRkYWNkN2IzNDA1NDI1MmI1YTJlYWMw
NWIxMjBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDMtMDkgIE1hcmlvIFNhbmNoZXog
UHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgorCisgICAgICAgIGluIHBhZ2UgYW5jaG9yIGFu
ZCBrZXlib2FyZCBuYXZpZ2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzQ1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIG5ldyB0ZXN0IGFuZCBleHBlY3RhdGlvbnMuCisKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVjdGlv
bi1hbmQtZm9jdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvYW5jaG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDogU2tp
cHBlZCB0ZXN0IGZvciBjaHJvbWl1bS4KKwogMjAxMi0wMy0wOSAgVGFrYXNoaSBUb3lvc2hpbWEg
IDx0b3lvc2hpbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1dlYlNvY2tldF0gQWRkIGEgbGF5
b3V0IHRlc3Qgd2hlcmUgc2VydmVyIGZvcmNlIHRvIGRpc2FibGUgYWxsIGV4dGVuc2lvbnMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmstc2VsZWN0aW9u
LWFuZC1mb2N1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FuY2hv
ci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNTIw
Nzc3YjMwYzJkZDY0YjBlZTA2NzZmODBiNmVjMWRmZWZjZWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK0EgbGluayBwb2ludGluZyB0byBhbiBhbmNo
b3IgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKKworQSBwYXJhZ3JhcGggd2l0aCBhIHNvbWUg
dGV4dCBpbiB0aGUgbWlkZGxlCisKK1RoZSBBbmNob3IKKworVGhpcyB0ZXN0cyB0aGF0IHRoZSBj
YXJldCBwb3NpdGlvbiBpcyBwcm9wZXJseSB1cGRhdGVkIHdoZW4gZm9sbG93aW5nIGFuY2hvciBs
aW5rcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2F4TGluay5yb2xlIGlzOiAn
QVhSb2xlOiBBWExpbmsnCitheEFuY2hvci5yb2xlIGlzOiAnQVhSb2xlOiBBWExpbmsnCitQQVNT
IGF4TGluay5pc0ZvY3VzZWQgaXMgdHJ1ZQorUEFTUyBheEFuY2hvci5pc0ZvY3VzZWQgaXMgZmFs
c2UKK1BBU1MgZ2V0U2VsZWN0aW9uKCkuYW5jaG9yTm9kZS5ub2RlVmFsdWUgaXMgJ1RoZSBBbmNo
b3InCitQQVNTIGF4TGluay5pc0ZvY3VzZWQgaXMgZmFsc2UKK1BBU1MgYXhBbmNob3IuaXNGb2N1
c2VkIGlzIHRydWUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hbmNo
b3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3VzLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzAz
NDY0NTJlZDM4ZjNjMzBiNTc0M2RiMDc3ZGE2MTQ3MzNlYWY5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hbmNob3ItbGluay1zZWxlY3Rpb24tYW5kLWZvY3Vz
Lmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IGlkPSJib2R5Ij4KKzxwPjxhIGlkPSJsaW5rIiBocmVmPSIjYW5jaG9yIj5BIGxpbmsgcG9p
bnRpbmcgdG8gYW4gYW5jaG9yIGF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50PC9hPjwvcD4KKzxw
PkEgcGFyYWdyYXBoIHdpdGggYSBzb21lIHRleHQgaW4gdGhlIG1pZGRsZTwvcD4KKzxwPjxhIGlk
PSJhbmNob3IiIG5hbWU9ImFuY2hvciIgaHJlZj0iIj5UaGUgQW5jaG9yPC9hPjwvcD4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCB0aGUgY2FyZXQgcG9zaXRpb24gaXMgcHJvcGVy
bHkgdXBkYXRlZCB3aGVuIGZvbGxvd2luZyBhbmNob3IgbGlua3MuIik7CisKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAg
ICAgIHZhciBsaW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpbmsiKTsKKyAgICAgICAg
dmFyIGFuY2hvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmNob3IiKTsKKworICAgICAg
ICAvLyBHZXQgbmVlZGVkIG9iamVjdHMuCisgICAgICAgIGxpbmsuZm9jdXMoKTsKKyAgICAgICAg
dmFyIGF4TGluayA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAg
ICAgICBkZWJ1ZygiYXhMaW5rLnJvbGUgaXM6ICciICsgYXhMaW5rLnJvbGUgKyAiJyIpOworICAg
ICAgICBhbmNob3IuZm9jdXMoKTsKKyAgICAgICAgdmFyIGF4QW5jaG9yID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAgICAgIGRlYnVnKCJheEFuY2hvci5yb2xl
IGlzOiAnIiArIGF4QW5jaG9yLnJvbGUgKyAiJyIpOworCisgICAgICAgIC8vIEZvY3VzIG9uIHRo
ZSBsaW5rIGFuZCBjaGVjayBpbml0aWFsIHN0YXRlLgorICAgICAgICBsaW5rLmZvY3VzKCk7Cisg
ICAgICAgIHNob3VsZEJlKCJheExpbmsuaXNGb2N1c2VkIiwgInRydWUiKTsKKyAgICAgICAgc2hv
dWxkQmUoImF4QW5jaG9yLmlzRm9jdXNlZCIsICJmYWxzZSIpOworCisgICAgICAgIC8vIEV4ZWN1
dGUgYWN0aW9uIGFuZCBjaGVjayBzdGF0ZS4KKyAgICAgICAgYXhMaW5rLnByZXNzKCkKKworICAg
ICAgICAvLyBDaGVjayBmaW5hbCBzdGF0ZS4KKyAgICAgICAgc2hvdWxkQmUoImdldFNlbGVjdGlv
bigpLmFuY2hvck5vZGUubm9kZVZhbHVlIiwgIidUaGUgQW5jaG9yJyIpOworICAgICAgICBzaG91
bGRCZSgiYXhMaW5rLmlzRm9jdXNlZCIsICJmYWxzZSIpOworICAgICAgICBzaG91bGRCZSgiYXhB
bmNob3IuaXNGb2N1c2VkIiwgInRydWUiKTsKKyAgICB9Cit9CisKK3N1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cmlu
ZGV4IGVkYTFmNGY0NTFiMTViMDI1NDNhM2IxNWUyYTA4MmMxMGQ0NTFkZDkuLjA5MWMxNjVhYzk0
NGQ2ZThkYmRjZmQ3Mjc4YjkyZWNmNGI1MjY5NzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTExMDEsNiArMTEwMSw3
IEBAIEJVR0NSNDU3NDcgOiBzdmcvdGV4dC90ZXh0LWZpbGwtb3BhY2l0eS5zdmcgPSBQQVNTIEZB
SUwKIAogQlVHQ1IxMDMyMiBTS0lQIDogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkgPSBQQVNT
IEZBSUwKIEJVR0NSMTAzMjIgU0tJUCA6IHBsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5ID0gUEFT
UyBGQUlMCitCVUdDUjEwMzIyIFNLSVAgOiBhY2Nlc3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVj
dGlvbi1hbmQtZm9jdXMuaHRtbCA9IFRFWFQKIEJVR0NSMTAzMjIgU0tJUCA6IGFjY2Vzc2liaWxp
dHkvYXJpYS1hY3RpdmVkZXNjZW5kYW50LWNyYXNoLmh0bWwgPSBURVhUCiBCVUdDUjEwMzIyIFNL
SVAgOiBhY2Nlc3NpYmlsaXR5L2FyaWEtY29tYm9ib3guaHRtbCA9IFRFWFQKIEJVR0NSMTAzMjIg
U0tJUCA6IGFjY2Vzc2liaWxpdHkvYXJpYS1jb250cm9scy13aXRoLXRhYnMuaHRtbCA9IFRFWFQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FuY2hv
ci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYW5jaG9yLWxpbmstc2VsZWN0aW9uLWFuZC1mb2N1cy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDg1NjZhYjU3Y2M1MWMzNzRhNjE1MGEwMzFhNTE0MDE2
OGRjYTFjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L2FuY2hvci1saW5rLXNlbGVjdGlvbi1hbmQtZm9jdXMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTkgQEAKK0EgbGluayBwb2ludGluZyB0byBhbiBhbmNob3IgYXQgdGhlIGVuZCBv
ZiB0aGUgZG9jdW1lbnQKKworQSBwYXJhZ3JhcGggd2l0aCBhIHNvbWUgdGV4dCBpbiB0aGUgbWlk
ZGxlCisKK1RoZSBBbmNob3IKKworVGhpcyB0ZXN0cyB0aGF0IHRoZSBjYXJldCBwb3NpdGlvbiBp
cyBwcm9wZXJseSB1cGRhdGVkIHdoZW4gZm9sbG93aW5nIGFuY2hvciBsaW5rcy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2F4TGluay5yb2xlIGlzOiAnQVhSb2xlOiBsaW5rJwor
YXhBbmNob3Iucm9sZSBpczogJ0FYUm9sZTogbGluaycKK1BBU1MgYXhMaW5rLmlzRm9jdXNlZCBp
cyB0cnVlCitQQVNTIGF4QW5jaG9yLmlzRm9jdXNlZCBpcyBmYWxzZQorUEFTUyBnZXRTZWxlY3Rp
b24oKS5hbmNob3JOb2RlLm5vZGVWYWx1ZSBpcyAnVGhlIEFuY2hvcicKK1BBU1MgYXhMaW5rLmlz
Rm9jdXNlZCBpcyBmYWxzZQorUEFTUyBheEFuY2hvci5pc0ZvY3VzZWQgaXMgdHJ1ZQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186658</attachid>
            <date>2013-02-05 10:42:00 -0800</date>
            <delta_ts>2013-04-15 18:03:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5343</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MTkwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTA1ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgYWN0aXZhdGluZyBhIGZv
Y3VzZWQgbGluayB0byBhbiBpbi1wYWdlIGZyYWdtZW50IElEIHNob3VsZCB0cmFuc2ZlciBmb2N1
cyB0byB0aGUgdGFyZ2V0IG9mIHRoZSBsaW5rIHdoZW4gcG9zc2libGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDUwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBhIGZyYWdtZW50IGlzIHNjcm9s
bGVkIHRvIGR1ZSB0byBhbiBhY3RpdmF0aW9uIGV2ZW50IG9yIG9uIGxvYWQsIGZvY3VzIHNob3Vs
ZCBhdHRlbXB0IHRvIAorICAgICAgICBtb3ZlIHRvIHRoZSBmcmFnbWVudCBpZiBwb3NzaWJsZS4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9mcmFnbWVudC1hY3RpdmF0aW9uLWZvY3VzZXMtdGFy
Z2V0Lmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6c2Nyb2xsVG9BbmNob3IpOgorCiAyMDEzLTAyLTA1ICBBbnRvbiBWYXl2
b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KIAogICAgICAgICBUZXh0QXV0b3NpemluZzogYWRq
dXN0IHRoZSBtYXhpbXVtIGRpZmZlcmVuY2UgYmV0d2VlbiBjbHVzdGVyIHRleHQgd2lkdGggYW5k
IGl0cyBkZXNjZW5kYW50CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lv
biAxNDE4MTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE3MzYsNiArMTczNiwxMSBAQAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBtYWludGFpblNjcm9sbFBvc2l0aW9uQXRBbmNob3IoYW5jaG9yTm9kZSA/IHN0YXRpY19jYXN0
PE5vZGUqPihhbmNob3JOb2RlKSA6IG1fZnJhbWUtPmRvY3VtZW50KCkpOworICAgIAorICAgIC8v
IElmIHRoZSBhbmNob3IgYWNjZXB0cyBrZXlib2FyZCBmb2N1cywgbW92ZSBmb2N1cyB0aGVyZSB0
byBhaWQgdXNlcnMgcmVseWluZyBvbiBrZXlib2FyZCBuYXZpZ2F0aW9uLgorICAgIGlmIChhbmNo
b3JOb2RlICYmIGFuY2hvck5vZGUtPmlzRm9jdXNhYmxlKCkpCisgICAgICAgIG1fZnJhbWUtPmRv
Y3VtZW50KCktPnNldEZvY3VzZWROb2RlKGFuY2hvck5vZGUpOworICAgIAogICAgIHJldHVybiB0
cnVlOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDE5MDEpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wMi0wNSAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIGFjdGl2YXRpbmcgYSBm
b2N1c2VkIGxpbmsgdG8gYW4gaW4tcGFnZSBmcmFnbWVudCBJRCBzaG91bGQgdHJhbnNmZXIgZm9j
dXMgdG8gdGhlIHRhcmdldCBvZiB0aGUgbGluayB3aGVuIHBvc3NpYmxlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQ1MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vZnJhZ21lbnQtYWN0
aXZhdGlvbi1mb2N1c2VzLXRhcmdldC5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0wNSAgQW50b24g
VmF5dm9kICA8YXZheXZvZEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVGV4dEF1dG9zaXppbmc6
IGFkanVzdCB0aGUgbWF4aW11bSBkaWZmZXJlbmNlIGJldHdlZW4gY2x1c3RlciB0ZXh0IHdpZHRo
IGFuZCBpdHMgZGVzY2VuZGFudApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vZnJhZ21lbnQt
YWN0aXZhdGlvbi1mb2N1c2VzLXRhcmdldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL2ZyYWdtZW50LWFjdGl2YXRpb24tZm9jdXNlcy10YXJnZXQuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL2ZyYWdtZW50LWFjdGl2YXRpb24tZm9jdXNl
cy10YXJnZXQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGEgaHJlZj0iI2ZyYWdtZW50
MSIgaWQ9ImxpbmsxIiB0YWJpbmRleD0iMCI+bGluazE8L2E+Cis8YSBocmVmPSIjZnJhZ21lbnQy
IiBpZD0ibGluazIiIHRhYmluZGV4PSIwIj5saW5rMjwvYT4KKworPGJyPjxicj4KKworPGRpdiBp
ZD0iZnJhZ21lbnQxIiBuYW1lPSJmcmFnbWVudDEiIHRhYmluZGV4PSIwIj5mcmFnbWVudDE8L2Rp
dj4KKzxkaXYgaWQ9ImZyYWdtZW50MiIgbmFtZT0iZnJhZ21lbnQyIj5mcmFnbWVudDI8L2Rpdj4K
KworPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBpZiBhbiBpbi1wYWdl
IGxpbmsgaXMgYWN0aXZhdGVkLCBmb2N1cyBjb250cm9sIGlzIHRyYW5zZmVycmVkIHRvIHRoZSBm
cmFnbWVudCBpZiBwb3NzaWJsZS4iKTsKKwordmFyIGxpbmsxID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImxpbmsxIik7CitsaW5rMS5mb2N1cygpOworZGVidWcoIlZlcmlmeSB0aGF0IHRoZSBm
b2N1cyBpcyBvbiB0aGUgbGluay4iKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50
IiwgImxpbmsxIik7CisKK2xpbmsxLmNsaWNrKCk7CitkZWJ1ZygiQ2xpY2sgdGhlIGxpbmsgYW5k
IHZlcmlmeSB0aGF0IGZvY3VzIGhhcyBtb3ZlZCB0byB0aGUgZnJhZ21lbnQuIik7CitzaG91bGRC
ZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJh
Z21lbnQxJykiKTsKKworZGVidWcoIk1vdmUgZm9jdXMgYmFjayB0byB0aGUgbGluayBhbmQgdmVy
aWZ5LiIpOworbGluazEuZm9jdXMoKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50
IiwgImxpbmsxIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICBkZWJ1ZygiU2VuZCBh
biBlbnRlciBrZXkgZXZlbnQgd2hpY2ggc2hvdWxkIGFsc28gdHJpZ2dlciBmb2N1cyB0byBtb3Zl
IHRvIHRoZSBmcmFnbWVudC4iKTsKKyAgZXZlbnRTZW5kZXIua2V5RG93bigiXHIiKTsKKyAgc2hv
dWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2ZyYWdtZW50MScpIik7Cit9CisKK2RlYnVnKCJBY3RpdmF0ZSBhIGxpbmsgdGhhdCBkb2VzIG5v
dCBoYXZlIGEgZm9jdXNhYmxlIGZyYWdtZW50IGFuZCB2ZXJpZnkgZm9jdXMgZG9lcyBub3QgbW92
ZS4iKTsKK3ZhciBsaW5rMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaW5rMiIpOworbGlu
azIuZm9jdXMoKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImxpbmsyIik7
CitsaW5rMi5jbGljaygpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAibGlu
azIiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vZnJhZ21lbnQtYWN0aXZh
dGlvbi1mb2N1c2VzLXRhcmdldC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vZnJhZ21lbnQtYWN0aXZhdGlvbi1mb2N1c2VzLXRhcmdldC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9mcmFnbWVudC1hY3RpdmF0
aW9uLWZvY3VzZXMtdGFyZ2V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy
MyBAQAorVGhpcyB0ZXN0cyB0aGF0IGlmIGFuIGluLXBhZ2UgbGluayBpcyBhY3RpdmF0ZWQsIGZv
Y3VzIGNvbnRyb2wgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIGZyYWdtZW50IGlmIHBvc3NpYmxlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVmVyaWZ5IHRoYXQgdGhlIGZvY3VzIGlz
IG9uIHRoZSBsaW5rLgorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGxpbmsxCitDbGlj
ayB0aGUgbGluayBhbmQgdmVyaWZ5IHRoYXQgZm9jdXMgaGFzIG1vdmVkIHRvIHRoZSBmcmFnbWVu
dC4KK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZnJhZ21lbnQxJykKK01vdmUgZm9jdXMgYmFjayB0byB0aGUgbGluayBhbmQgdmVyaWZ5Lgor
UEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGxpbmsxCitTZW5kIGFuIGVudGVyIGtleSBl
dmVudCB3aGljaCBzaG91bGQgYWxzbyB0cmlnZ2VyIGZvY3VzIHRvIG1vdmUgdG8gdGhlIGZyYWdt
ZW50LgorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdmcmFnbWVudDEnKQorQWN0aXZhdGUgYSBsaW5rIHRoYXQgZG9lcyBub3QgaGF2ZSBhIGZv
Y3VzYWJsZSBmcmFnbWVudCBhbmQgdmVyaWZ5IGZvY3VzIGRvZXMgbm90IG1vdmUuCitQQVNTIGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgbGluazIKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dCBpcyBsaW5rMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCitsaW5rMSBsaW5rMiAKKworZnJhZ21lbnQxCitmcmFnbWVudDIK
</data>
<flag name="review"
          id="206190"
          type_id="1"
          status="+"
          setter="mjs"
    />
    <flag name="commit-queue"
          id="206224"
          type_id="3"
          status="-"
          setter="jcraig"
    />
          </attachment>
      

    </bug>

</bugzilla>