<?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>30997</bug_id>
          
          <creation_ts>2009-11-01 13:39:39 -0800</creation_ts>
          <short_desc>[Gtk] Implement AtkDocument&apos;s attribute support</short_desc>
          <delta_ts>2009-11-12 18:00:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>25531</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jmalonzo</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>159664</commentid>
    <comment_count>0</comment_count>
      <attachid>42280</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-01 13:39:39 -0800</bug_when>
    <thetext>Created attachment 42280
proposed fix

+++ This bug was initially created as a clone of Bug #30964 +++

We need to implement the AtkDocument interface.
http://library.gnome.org/devel/atk/unstable/AtkDocument.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159742</commentid>
    <comment_count>1</comment_count>
      <attachid>42301</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-01 22:11:35 -0800</bug_when>
    <thetext>Created attachment 42301
Layout Test - Take 1

Given that this is my very first attempt at writing a Layout Test, I&apos;m sure it&apos;s not right. :-) But it&apos;s something concrete from which you can direct/enlighten me.... I also have a few questions:

1. In bug 30964 comment #8, Jan says:

&gt; Layout tests. We&apos;re not testing ATK APIs but testing the accessible
&gt; characteristics of AX objects. AccessibilityController exposes some of this
&gt; attributes that we can test in JavaScript. It&apos;s still missing a few
&gt; implementations for Gtk though, but shouldn&apos;t be difficult to implement those.

This to me sounds like I should be doing something with AccessibilityController. :-) However, I don&apos;t grok why. Aren&apos;t these just more attributes of an HTML element? Granted it&apos;s a very specific HTML element which is likely (albeit not necessarily) the root document.... Therefore, for now, I added the support to AccessibilityUIElement and just did an Atk role test.

2. Is there some magic foo that occurs which causes these tests to pass on other platforms (in particular, win and mac)?

3. I assume that the way to test that the right thing is being exposed is to do Atk calls. Right?

4. The patch which implements the attribute functionality includes docType. In the case of local files, no doctype is returned. I haven&apos;t taken the time to ascertain if that is intended functionality or a bug. Regardless, what&apos;s the best way to add a layout test for doctype? (since I assume local files are preferred/expected).

Please be kind in your review. ;-) ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159764</commentid>
    <comment_count>2</comment_count>
      <attachid>42280</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-11-02 02:37:08 -0800</bug_when>
    <thetext>Comment on attachment 42280
proposed fix

&gt; +    String value = String();
&gt; +    if (!g_ascii_strcasecmp(attribute, &quot;DocType&quot;) &amp;&amp; coreDocument-&gt;doctype())
&gt; +        value = coreDocument-&gt;doctype()-&gt;name();
&gt; +    else if (!g_ascii_strcasecmp(attribute, &quot;Encoding&quot;))
&gt; +        value = coreDocument-&gt;charset();
&gt; +    else if (!g_ascii_strcasecmp(attribute, &quot;URI&quot;))
&gt; +        value = coreDocument-&gt;documentURI();
&gt; +    if (!value.isEmpty())
&gt; +        return returnString(value);

Should this return an empty string if it&apos;s an empty value?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159768</commentid>
    <comment_count>3</comment_count>
      <attachid>42301</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-11-02 03:09:29 -0800</bug_when>
    <thetext>Comment on attachment 42301
Layout Test - Take 1

Thanks for writing the test.

&gt; diff --git a/LayoutTests/accessibility/document-attributes-expected.txt b/LayoutTests/accessibility/document-attributes-expected.txt
&gt; new file mode 100644
&gt; index 0000000..863339f
&gt; --- /dev/null
&gt; +++ b/LayoutTests/accessibility/document-attributes-expected.txt
&gt; @@ -0,0 +1 @@
&gt; +Passed

Is the result platform-specific? If so, we should put the -expected.txt into the platform-specific folders. See &quot;add-platform-exceptions&quot; option of run-webkit-tests to generate a platform-specific expected result.

&gt; --- a/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
&gt; +++ b/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
&gt; @@ -577,3 +577,13 @@ JSStringRef AccessibilityUIElement::accessibilityValue() const
&gt;      // FIXME: implement
&gt;      return JSStringCreateWithCharacters(0, 0);
&gt;  }
&gt; +
&gt; +JSStringRef AccessibilityUIElement::documentEncoding()
&gt; +{
&gt; +    return JSStringCreateWithCharacters(0, 0);
&gt; +}
&gt; +
&gt; +JSStringRef AccessibilityUIElement::documentURI()
&gt; +{
&gt; +    return JSStringCreateWithCharacters(0, 0);
&gt; +}
&gt; diff --git a/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp b/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
&gt; index 2a8eaf6..89e9a5c 100644
&gt; --- a/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
&gt; +++ b/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
&gt; @@ -392,3 +392,14 @@ JSStringRef AccessibilityUIElement::accessibilityValue() const
&gt;  
&gt;      return JSStringCreateWithCharacters(value.data(), value.length());
&gt;  }
&gt; +
&gt; +
&gt; +JSStringRef AccessibilityUIElement::documentEncoding()
&gt; +{
&gt; +    return JSStringCreateWithCharacters(0, 0);
&gt; +}
&gt; +
&gt; +JSStringRef AccessibilityUIElement::documentURI()
&gt; +{
&gt; +    return JSStringCreateWithCharacters(0, 0);
&gt; +}

Since Mac &amp; Win are stubbed, I think this test will need to be added to Mac &amp; Win&apos;s Skipped list (see LayoutTests/platform/{mac,win}/Skipped). Ditto with Qt.

You also missed the impl for Qt :).

r- for now until the above points are addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159776</commentid>
    <comment_count>4</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-02 04:14:59 -0800</bug_when>
    <thetext>(In reply to comment #3)

&gt; Is the result platform-specific? 

In the sense that Gtk is currently the only platform that seems to have a need to implement this, yes. However, the document type, url, and encoding are not a11y things. Nor would I expect them them to vary based on platform should the other platforms implement them down the road. So, in my mind, if there is magical test-skipping/ignoring foo (which there is I see from your later comment), the result would *not* be platform-specific.

All of that said, I&apos;m a layout test n00b AND a WebKit n00b. :-) So given my response to the above, what are your thoughts? I&apos;m happy to make it platform-specific, &quot;just in case.&quot;
 
&gt; Since Mac &amp; Win are stubbed, I think this test will need to be added to Mac &amp;
&gt; Win&apos;s Skipped list (see LayoutTests/platform/{mac,win}/Skipped). Ditto with Qt.
&gt; 
&gt; You also missed the impl for Qt :).

I wouldn&apos;t say &quot;missed.&quot; It&apos;s more like &quot;drew a conclusion and intentionally failed to provide.&quot; :-) I looked in WebKitTools/DumpRenderTree/&lt;platform&gt;. Win, Mac, and Gtk all have AccessibilityController and AccessibilityUIElement implementations; Qt does not seem to have these things. My conclusion/assumption was that if Qt should have stubs for the document attributes, it would already have stubs (if not actual functions) for all of the other things being tested.

Should I add new AccessibilityController and AccessibilityUIElement implementations for Qt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159778</commentid>
    <comment_count>5</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-02 04:45:26 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 42280 [details])
&gt; &gt; +    String value = String();
&gt; &gt; +    if (!g_ascii_strcasecmp(attribute, &quot;DocType&quot;) &amp;&amp; coreDocument-&gt;doctype())
&gt; &gt; +        value = coreDocument-&gt;doctype()-&gt;name();
&gt; &gt; +    else if (!g_ascii_strcasecmp(attribute, &quot;Encoding&quot;))
&gt; &gt; +        value = coreDocument-&gt;charset();
&gt; &gt; +    else if (!g_ascii_strcasecmp(attribute, &quot;URI&quot;))
&gt; &gt; +        value = coreDocument-&gt;documentURI();
&gt; &gt; +    if (!value.isEmpty())
&gt; &gt; +        return returnString(value);
&gt; 
&gt; Should this return an empty string if it&apos;s an empty value?

Personally, I don&apos;t think so. If an empty string is returned, it will wind up being added to the AttributeSet for the document (unless, of course, I prevent that from occurring in webkit_accessible_document_get_attributes).

While there is no official rule (that I&apos;ve found) that states that one should not have an AtkAttribute with no value in an AtkAttributeSet, I&apos;ve never seen a AtkAttribute without a value in an AtkAttributeSet.

Is there a reason why it should return an empty string rather than NULL which I&apos;m failing to take into account?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159780</commentid>
    <comment_count>6</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-11-02 05:16:49 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; 
&gt; &gt; Is the result platform-specific? 
&gt; 
&gt; In the sense that Gtk is currently the only platform that seems to have a need
&gt; to implement this, yes. However, the document type, url, and encoding are not
&gt; a11y things. Nor would I expect them them to vary based on platform should the
&gt; other platforms implement them down the road. So, in my mind, if there is
&gt; magical test-skipping/ignoring foo (which there is I see from your later
&gt; comment), the result would *not* be platform-specific.
&gt; 
&gt; All of that said, I&apos;m a layout test n00b AND a WebKit n00b. :-) So given my
&gt; response to the above, what are your thoughts? I&apos;m happy to make it
&gt; platform-specific, &quot;just in case.&quot;

Let&apos;s keep them where it is now and add the test in the Mac &amp; Win Skipped list.

&gt; Should I add new AccessibilityController and AccessibilityUIElement
&gt; implementations for Qt?

Nope. Don&apos;t worry. It seems that Qt&apos;s not building the Accessibility components of DRT so it&apos;s OK if it doesn&apos;t have it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159798</commentid>
    <comment_count>7</comment_count>
      <attachid>42317</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-02 07:22:48 -0800</bug_when>
    <thetext>Created attachment 42317
Layout Test - Take 2

Add the test in the Mac &amp; Win Skipped list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159799</commentid>
    <comment_count>8</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-02 07:51:15 -0800</bug_when>
    <thetext>Now I&apos;m looking at the Unit Tests, in particular testatk.c, because in bug 30964 comment #7, Xan says:

&gt; &gt; I think we should start writing layout tests for these. Would that be possible
&gt; &gt; today or there&apos;s a plan to write layout tests for these changes soon?
&gt; 
&gt; Mmm, do you mean unit tests here? Or how could we test ATK APIs from layout
&gt; tests in JavaScript?

And in bug 30964 comment #9, he says:

&gt; OK. Since most of what we are doing here is implementing the ATK APIs I assumed
&gt; you were referring to that. In any case, testing that all those APIs work as
&gt; expected is, at least, as important as doing layout tests for any core AX
&gt; functionality we are using or adding.

I aim to please and to prevent regressions. :-) Questions:

1. (Carried over from previous questions) The only way I could think to test the new functionality in a layout test was to make an Atk call. So that&apos;s what I did. Is that what I should have done?

2. If it is what I should have done, I believe that tests the relevant Atk APIs. In which case, what additional/different tests should go in a unit test for the new functionality?

3. testatk.c seems to me to be a great place to ... oh, I dunno.... test atk. :-) :-) :-) Given that the new functionality is (at least at the moment) Atk specific, the layout test I created needed stub functions for Windows and Mac. And it needed new entries for those two platforms to skip this new, irrelevant-to-them test. Would it be better to not do a layout test in this particular case and instead update testatk.c?

Please advise. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159802</commentid>
    <comment_count>9</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-11-02 08:30:02 -0800</bug_when>
    <thetext>Joanmarie, 

It sounds like you are doing things correctly. You need to test the GTK wrapper, so it sounds correct that you should Skip the test for Win/mac and also stub out the DRT methods for those platforms

However, I think it would be nice if you could put the document attribute getting stuff into AccessibilityObject, so that if Mac/Win needed to implement similar things in the future, they wouldn&apos;t have to duplicate the functionality

that way, your wrapper just needs to call one method on the AX object to get the right info.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159823</commentid>
    <comment_count>10</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-02 10:00:23 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Joanmarie, 

Friends, colleagues, and a11y folks call me Joanie. :-)

&gt; It sounds like you are doing things correctly. You need to test the GTK
&gt; wrapper, so it sounds correct that you should Skip the test for Win/mac and
&gt; also stub out the DRT methods for those platforms

Yup, these things I understand. What I&apos;m hung up on, and I readily admit that :-), is the fundamental purpose behind the layout tests versus that of the unit tests, and why what I want here is a layout test and not a unit test.

&gt; However, I think it would be nice if you could put the document attribute
&gt; getting stuff into AccessibilityObject, so that if Mac/Win needed to implement
&gt; similar things in the future, they wouldn&apos;t have to duplicate the functionality

I&apos;d be happy to do so.

&gt; that way, your wrapper just needs to call one method on the AX object to get
&gt; the right info.

Well.... If it goes into the cross-platform code, I&apos;m tempted to make it three methods (1 for Encoding, 1 for URI, and 1 for DocType). Who&apos;s to say what constitutes *the* document attributes? Or do you feel it really should be one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159828</commentid>
    <comment_count>11</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-11-02 10:14:27 -0800</bug_when>
    <thetext>
&gt; Yup, these things I understand. What I&apos;m hung up on, and I readily admit that
&gt; :-), is the fundamental purpose behind the layout tests versus that of the unit
&gt; tests, and why what I want here is a layout test and not a unit test.
&gt; 

I have never added any unit tests for accessibility, so I would recommend going with a layout test.

&gt; Well.... If it goes into the cross-platform code, I&apos;m tempted to make it three
&gt; methods (1 for Encoding, 1 for URI, and 1 for DocType). Who&apos;s to say what
&gt; constitutes *the* document attributes? Or do you feel it really should be one?

I think it&apos;s also acceptable to have three separate methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160014</commentid>
    <comment_count>12</comment_count>
      <attachid>42280</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-11-03 01:52:16 -0800</bug_when>
    <thetext>Comment on attachment 42280
proposed fix

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160016</commentid>
    <comment_count>13</comment_count>
      <attachid>42280</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-03 02:00:29 -0800</bug_when>
    <thetext>Comment on attachment 42280
proposed fix

Clearing flags on attachment: 42280

Committed r50446: &lt;http://trac.webkit.org/changeset/50446&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160017</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-03 02:00:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162760</commentid>
    <comment_count>15</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-11 19:08:55 -0800</bug_when>
    <thetext>Reopening.

I might be really, really tired. Correction: I *know* I&apos;m really, really tired. :-) But it does not look like the Layout Test (and changes to DRT) ever got committed.

Jan?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162842</commentid>
    <comment_count>16</comment_count>
      <attachid>42317</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-11-12 01:53:09 -0800</bug_when>
    <thetext>Comment on attachment 42317
Layout Test - Take 2

&gt;  LayoutTests/platform/mac/Skipped                   |    3 +++
&gt;  LayoutTests/platform/win/Skipped                   |    1 +
&gt;  WebKitTools/ChangeLog                              |   20 ++++++++++++++++++++
&gt;  .../DumpRenderTree/AccessibilityUIElement.cpp      |   14 ++++++++++++++
&gt;  .../DumpRenderTree/AccessibilityUIElement.h        |    2 ++
&gt;  .../gtk/AccessibilityUIElementGtk.cpp              |   20 ++++++++++++++++++++
&gt;  .../mac/AccessibilityUIElementMac.mm               |   10 ++++++++++
&gt;  .../win/AccessibilityUIElementWin.cpp              |   11 +++++++++++
&gt;  8 files changed, 81 insertions(+), 0 deletions(-)

The layout tests changes are missing a Changelog.

&gt; +
&gt; +    AtkDocument* axDocument = ATK_DOCUMENT(m_element);
&gt; +    return JSStringCreateWithUTF8CString(atk_document_get_attribute_value(axDocument, &quot;Encoding&quot;));

No need for axDocument here. I think you can just pass it to atk_document_get_attribute_value directly.

&gt; +}
&gt; +
&gt; +JSStringRef AccessibilityUIElement::documentURI()
&gt; +{
&gt; +    AtkRole role = atk_object_get_role(ATK_OBJECT(m_element));
&gt; +    if (role != ATK_ROLE_DOCUMENT_FRAME)
&gt; +        return JSStringCreateWithCharacters(0, 0);
&gt; +
&gt; +    AtkDocument* axDocument = ATK_DOCUMENT(m_element);
&gt; +    return JSStringCreateWithUTF8CString(atk_document_get_attribute_value(axDocument, &quot;URI&quot;));

Ditto.

Patch looks good. But I&apos;m going to say r- because of the missing Changelog for the layout test changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162927</commentid>
    <comment_count>17</comment_count>
      <attachid>43069</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-12 09:35:20 -0800</bug_when>
    <thetext>Created attachment 43069
Layout Test - Take 3

Thanks for the review! Hopefully third time will be charm. :-)

&gt; The layout tests changes are missing a Changelog.

Added.

&gt; &gt; +    AtkDocument* axDocument = ATK_DOCUMENT(m_element);
&gt; &gt; +    return JSStringCreateWithUTF8CString(atk_document_get_attribute_value(axDocument, &quot;Encoding&quot;));
&gt; 
&gt; No need for axDocument here. I think you can just pass it to
&gt; atk_document_get_attribute_value directly.

Done.

&gt; &gt; +    AtkDocument* axDocument = ATK_DOCUMENT(m_element);
&gt; &gt; +    return JSStringCreateWithUTF8CString(atk_document_get_attribute_value(axDocument, &quot;URI&quot;));
&gt; 
&gt; Ditto.

Ditto. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162967</commentid>
    <comment_count>18</comment_count>
      <attachid>43069</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-11-12 11:04:08 -0800</bug_when>
    <thetext>Comment on attachment 43069
Layout Test - Take 3

I think it&apos;s better to add testing in the same patch that adds the functionality, usually, since it is important that the new functionality is tested as soon as possible (meaning when it is committed), so I would recommend doing it that way for future patches =). Regarding, unit tests are platform-specific, there is no unit testing structure for webkit as a whole, so when you want to test anything that is not platform-specific API, Layout Tests are a better option. Thanks for the patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>162970</commentid>
    <comment_count>19</comment_count>
      <attachid>43069</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-12 11:07:00 -0800</bug_when>
    <thetext>Comment on attachment 43069
Layout Test - Take 3

Rejecting patch 43069 from commit-queue.

Failed to run &quot;[&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, &apos;--reviewer&apos;, &apos;Gustavo Noronha Silva&apos;, &apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
bilityUIElement.cpp.rej
patching file WebKitTools/DumpRenderTree/AccessibilityUIElement.h
Hunk #1 succeeded at 112 with fuzz 1 (offset 3 lines).
patching file WebKitTools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
Hunk #1 succeeded at 476 (offset 21 lines).
patching file WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
Hunk #1 succeeded at 639 (offset 35 lines).
patching file WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
Hunk #1 succeeded at 431 (offset 20 lines).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163034</commentid>
    <comment_count>20</comment_count>
      <attachid>43094</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-11-12 13:32:41 -0800</bug_when>
    <thetext>Created attachment 43094
Layout Test - Take 3.5

Second verse same as the first. Only git-master compatible. At the moment. :-) :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163126</commentid>
    <comment_count>21</comment_count>
      <attachid>43094</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-12 18:00:01 -0800</bug_when>
    <thetext>Comment on attachment 43094
Layout Test - Take 3.5

Clearing flags on attachment: 43094

Committed r50921: &lt;http://trac.webkit.org/changeset/50921&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163127</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-12 18:00:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42280</attachid>
            <date>2009-11-01 13:39:39 -0800</date>
            <delta_ts>2009-11-03 02:00:29 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>document-iface-2.patch</filename>
            <type>text/plain</type>
            <size>3895</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBmNzZmNjYwYzkzNjk1N2RlNTMwNzA3OWFiYWUxMDQwMmMxMWJhOWRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IFNhdCwgMzEgT2N0IDIwMDkgMDE6NTI6NTMgLTA0MDAKU3ViamVjdDogW1BB
VENIIDIvM10gUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA5NjQKW0d0a10gSW1wbGVtbWVudCBBdGtEb2N1bWVudAoK
UHJvdmlkZXMgYWNjZXNzIHRvIGV4cGVjdGVkIGRvY3VtZW50IGF0dHJpYnV0ZXMuCgoqIGFjY2Vz
c2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDoKKGRvY3VtZW50
QXR0cmlidXRlVmFsdWUpOgood2Via2l0X2FjY2Vzc2libGVfZG9jdW1lbnRfZ2V0X2RvY3VtZW50
X2F0dHJpYnV0ZV92YWx1ZSk6Cih3ZWJraXRfYWNjZXNzaWJsZV9kb2N1bWVudF9nZXRfZG9jdW1l
bnRfYXR0cmlidXRlcyk6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDE0ICsrKysrKysKIC4uLi9ndGsvQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJBdGsuY3BwICAgICAgICAgIHwgICAzNyArKysrKysrKysrKysrKysrLS0tCiAyIGZp
bGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MzhlOTM3Li5l
MTRjOTRiIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtNSw2ICs1LDIwIEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zMDk2NAogICAgICAgICBbR3RrXSBJbXBsZW1tZW50IEF0a0RvY3VtZW50
CiAKKyAgICAgICAgUHJvdmlkZXMgYWNjZXNzIHRvIGV4cGVjdGVkIGRvY3VtZW50IGF0dHJpYnV0
ZXMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckF0ay5jcHA6CisgICAgICAgIChkb2N1bWVudEF0dHJpYnV0ZVZhbHVlKToKKyAgICAgICAg
KHdlYmtpdF9hY2Nlc3NpYmxlX2RvY3VtZW50X2dldF9kb2N1bWVudF9hdHRyaWJ1dGVfdmFsdWUp
OgorICAgICAgICAod2Via2l0X2FjY2Vzc2libGVfZG9jdW1lbnRfZ2V0X2RvY3VtZW50X2F0dHJp
YnV0ZXMpOgorCisyMDA5LTEwLTMwICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFyaWUuZGlnZ3NA
Z21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDk2NAorICAgICAg
ICBbR3RrXSBJbXBsZW1tZW50IEF0a0RvY3VtZW50CisKICAgICAgICAgSW1wbGVtZW50cyB3aGF0
IGhhcyBiZWVuIGltcGxlbWVudGVkIGluIEFULVNQSS4KIAogICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDoKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3Bw
IGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0
ay5jcHAKaW5kZXggODE5NTkyNi4uOTdkY2QwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKKysrIGIvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKQEAg
LTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKICNpbmNsdWRlICJDU3Ry
aW5nLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJEb2N1bWVudFR5cGUuaCIK
ICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1l
Vmlldy5oIgpAQCAtMTQxMSwxOCArMTQxMiw0MiBAQCBzdGF0aWMgdm9pZCBhdGtfdGFibGVfaW50
ZXJmYWNlX2luaXQoQXRrVGFibGVJZmFjZSogaWZhY2UpCiAgICAgaWZhY2UtPmdldF9yb3dfZGVz
Y3JpcHRpb24gPSB3ZWJraXRfYWNjZXNzaWJsZV90YWJsZV9nZXRfcm93X2Rlc2NyaXB0aW9uOwog
fQogCi1zdGF0aWMgY29uc3QgZ2NoYXIqIHdlYmtpdF9hY2Nlc3NpYmxlX2RvY3VtZW50X2dldF9h
dHRyaWJ1dGVfdmFsdWUoQXRrRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBnY2hhciogYXR0cmli
dXRlKQorc3RhdGljIGNvbnN0IGdjaGFyKiBkb2N1bWVudEF0dHJpYnV0ZVZhbHVlKEF0a0RvY3Vt
ZW50KiBkb2N1bWVudCwgY29uc3QgZ2NoYXIqIGF0dHJpYnV0ZSkKIHsKLSAgICAvLyBGSVhNRTog
VGhpcyBuZWVkcyB0byBiZSBpbXBsZW1lbnRlZC4KLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IERvY3VtZW50KiBjb3JlRG9jdW1lbnQgPSBjb3JlKGRvY3VtZW50KS0+ZG9jdW1lbnQoKTsKKyAg
ICBpZiAoIWNvcmVEb2N1bWVudCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBTdHJpbmcgdmFs
dWUgPSBTdHJpbmcoKTsKKyAgICBpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcChhdHRyaWJ1dGUsICJE
b2NUeXBlIikgJiYgY29yZURvY3VtZW50LT5kb2N0eXBlKCkpCisgICAgICAgIHZhbHVlID0gY29y
ZURvY3VtZW50LT5kb2N0eXBlKCktPm5hbWUoKTsKKyAgICBlbHNlIGlmICghZ19hc2NpaV9zdHJj
YXNlY21wKGF0dHJpYnV0ZSwgIkVuY29kaW5nIikpCisgICAgICAgIHZhbHVlID0gY29yZURvY3Vt
ZW50LT5jaGFyc2V0KCk7CisgICAgZWxzZSBpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcChhdHRyaWJ1
dGUsICJVUkkiKSkKKyAgICAgICAgdmFsdWUgPSBjb3JlRG9jdW1lbnQtPmRvY3VtZW50VVJJKCk7
CisgICAgaWYgKCF2YWx1ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiByZXR1cm5TdHJpbmco
dmFsdWUpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBjb25zdCBnY2hhciogd2Via2l0
X2FjY2Vzc2libGVfZG9jdW1lbnRfZ2V0X2F0dHJpYnV0ZV92YWx1ZShBdGtEb2N1bWVudCogZG9j
dW1lbnQsIGNvbnN0IGdjaGFyKiBhdHRyaWJ1dGUpCit7CisgICAgcmV0dXJuIGRvY3VtZW50QXR0
cmlidXRlVmFsdWUoZG9jdW1lbnQsIGF0dHJpYnV0ZSk7Cit9CisKIHN0YXRpYyBBdGtBdHRyaWJ1
dGVTZXQqIHdlYmtpdF9hY2Nlc3NpYmxlX2RvY3VtZW50X2dldF9hdHRyaWJ1dGVzKEF0a0RvY3Vt
ZW50KiBkb2N1bWVudCkKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBuZWVkcyB0byBiZSBpbXBsZW1l
bnRlZC4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOworICAgIEF0a0F0dHJp
YnV0ZVNldCogYXR0cmlidXRlU2V0ID0gMDsKKyAgICBjb25zdCBnY2hhciogYXR0cmlidXRlcyBb
XSA9IHsiRG9jVHlwZSIsICJFbmNvZGluZyIsICJVUkkifTsKKworICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBHX05fRUxFTUVOVFMoYXR0cmlidXRlcyk7IGkrKykgeworICAgICAgICBjb25z
dCBnY2hhciogdmFsdWUgPSBkb2N1bWVudEF0dHJpYnV0ZVZhbHVlKGRvY3VtZW50LCBhdHRyaWJ1
dGVzW2ldKTsKKyAgICAgICAgaWYgKHZhbHVlKQorICAgICAgICAgICAgYXR0cmlidXRlU2V0ID0g
YWRkQXR0cmlidXRlVG9TZXQoYXR0cmlidXRlU2V0LCBhdHRyaWJ1dGVzW2ldLCB2YWx1ZSk7Cisg
ICAgfQorCisgICAgcmV0dXJuIGF0dHJpYnV0ZVNldDsKIH0KIAogc3RhdGljIGNvbnN0IGdjaGFy
KiB3ZWJraXRfYWNjZXNzaWJsZV9kb2N1bWVudF9nZXRfbG9jYWxlKEF0a0RvY3VtZW50KiBkb2N1
bWVudCkKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42301</attachid>
            <date>2009-11-01 22:11:35 -0800</date>
            <delta_ts>2009-11-02 07:22:48 -0800</delta_ts>
            <desc>Layout Test - Take 1</desc>
            <filename>30997-layout-test.patch</filename>
            <type>text/plain</type>
            <size>9043</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBkZjU4OWE1ZDY0OWI0MzA1NTRiZDFlYWQyM2ZlNWM3YTY2ZDBmODc3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IE1vbiwgMiBOb3YgMjAwOSAwMDo0MjozMiAtMDUwMApTdWJqZWN0OiBbUEFU
Q0hdIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMwOTY0CltHdGtdIEltcGxlbW1lbnQgQXRrRG9jdW1lbnQKCkFkZGVk
IHRlc3Rpbmcgc3VwcG9ydC4KCiogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5jcHA6CiogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgooZ2V0RG9j
dW1lbnRFbmNvZGluZ0NhbGxiYWNrKToKKGdldERvY3VtZW50VVJJQ2FsbGJhY2spOgooQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CiogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwOgoqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50TWFjLm1tOgoqIER1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50V2luLmNwcDoKKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50RW5jb2Rpbmcp
OgooQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRVUkkpOgotLS0KIC4uLi9hY2Nlc3Np
YmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IHwgICAgMSArCiBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMuaHRtbCB8ICAgMzAgKysrKysr
KysrKysrKysrKysrKysKIFdlYktpdFRvb2xzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAyMCArKysrKysrKysrKysrCiAuLi4vRHVtcFJlbmRlclRyZWUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5jcHAgICAgICB8ICAgMTQgKysrKysrKysrCiAuLi4vRHVtcFJlbmRl
clRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oICAgICAgICB8ICAgIDIgKwogLi4uL2d0ay9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcCAgICAgICAgICAgICAgfCAgIDIwICsrKysrKysr
KysrKysKIC4uLi9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSAgICAgICAgICAgICAg
IHwgICAxMCArKysrKysKIC4uLi93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAgICAg
ICAgICAgICAgIHwgICAxMSArKysrKysrCiA4IGZpbGVzIGNoYW5nZWQsIDEwOCBpbnNlcnRpb25z
KCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMuaHRtbAoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2
MzMzOWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RvY3Vt
ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1Bhc3NlZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1hdHRyaWJ1dGVzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2MwNzc0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1hdHRyaWJ1dGVzLmh0bWwKQEAg
LTAsMCArMSwzMCBAQAorPGh0bWw+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
Kzwvc2NyaXB0PgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRl
bnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KKzxib2R5IGlkPSJib2R5Ij4KKyAgICA8
IS0tIFRoaXMgdGVzdHMgdGhlIGV4cG9zdXJlIG9mIGEgZG9jdW1lbnQncyBlbmNvZGluZyBhbmQg
VVJJIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMgLS0+CisgICAgPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250
cm9sbGVyKSB7CisgICAgICAgICAgICB2YXIgYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJib2R5Iik7CisgICAgICAgICAgICBib2R5LmZvY3VzKCk7CisgICAgICAgICAgICB2YXIgd2Vi
QXJlYSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAgICAgICAg
ICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKTsKKworICAg
ICAgICAgICAgdmFyIGRvY3VtZW50RW5jb2RpbmcgPSB3ZWJBcmVhLmRvY3VtZW50RW5jb2Rpbmc7
CisgICAgICAgICAgICB2YXIgZG9jdW1lbnRVUkkgPSB3ZWJBcmVhLmRvY3VtZW50VVJJOworCisg
ICAgICAgICAgICBpZiAoZG9jdW1lbnRFbmNvZGluZyA9PSAiVVRGLTgiICYmIGRvY3VtZW50VVJJ
ID09IGxvY2F0aW9uLmhyZWYpIHsKKyAgICAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgPSAi
UGFzc2VkIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAg
ICAgcmVzdWx0LmlubmVyVGV4dCA9ICJGYWlsZWQ6XG5FeHBlY3RlZDogVVRGLTggYW5kICIgKyBs
b2NhdGlvbi5ocmVmICsgIi5cbkFjdHVhbDogIiArIGRvY3VtZW50RW5jb2RpbmcgKyAiIGFuZCAi
ICsgZG9jdW1lbnRVUkkgKyAiLiI7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA0OGQ2ZjU5Li4zNmQzYTE0IDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMTEtMDIgIEpvYW5tYXJpZSBEaWdncyAgPGpvYW5tYXJpZS5k
aWdnc0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTY0Cisg
ICAgICAgIFtHdGtdIEltcGxlbW1lbnQgQXRrRG9jdW1lbnQKKworICAgICAgICBBZGRlZCB0ZXN0
aW5nIHN1cHBvcnQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Lmg6CisgICAgICAgIChnZXREb2N1bWVudEVuY29kaW5nQ2FsbGJhY2spOgorICAgICAgICAo
Z2V0RG9jdW1lbnRVUklDYWxsYmFjayk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpnZXRKU0NsYXNzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEd0ay5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRNYWMubW06CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6ZG9jdW1lbnRFbmNvZGluZyk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpk
b2N1bWVudFVSSSk6CisKIDIwMDktMTAtMzAgIEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0QGFw
cGxlLmNvbT4KIAogICAgICAgICBGaXggYW4gaXNzdWUgdGhhdCBBZGFtIG5vdGljZWQgaW4gRFJU
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmNwcAppbmRleCAxZWQ4MjE3Li41M2FiY2IwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAorKysgYi9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcApAQCAtMzcwLDYg
KzM3MCwxOCBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRBY2Nlc3NpYmlsaXR5VmFsdWVDYWxsYmFj
ayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZQogICAgIHJldHVybiBKU1ZhbHVlTWFr
ZVN0cmluZyhjb250ZXh0LCBhY2Nlc3NpYmlsaXR5VmFsdWUuZ2V0KCkpOwogfQogCitzdGF0aWMg
SlNWYWx1ZVJlZiBnZXREb2N1bWVudEVuY29kaW5nQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRl
eHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBkb2N1
bWVudEVuY29kaW5nKEFkb3B0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+ZG9jdW1lbnRFbmNv
ZGluZygpKTsKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwgZG9jdW1lbnRF
bmNvZGluZy5nZXQoKSk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIGdldERvY3VtZW50VVJJQ2Fs
bGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTU3Ry
aW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBkb2N1bWVudFVSSShBZG9wdCwgdG9BWEVsZW1lbnQodGhpc09i
amVjdCktPmRvY3VtZW50VVJJKCkpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVN0cmluZyhjb250
ZXh0LCBkb2N1bWVudFVSSS5nZXQoKSk7Cit9CisKIC8vIERlc3RydWN0aW9uCiAKIHN0YXRpYyB2
b2lkIGZpbmFsaXplKEpTT2JqZWN0UmVmIHRoaXNPYmplY3QpCkBAIC00MDgsNiArNDIwLDggQEAg
SlNDbGFzc1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKCkKICAgICAgICAg
eyAiaXNFbmFibGVkIiwgZ2V0SXNFbmFibGVkQ2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAg
eyAiaXNSZXF1aXJlZCIsIGdldElzUmVxdWlyZWRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRy
aWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAg
ICB7ICJ2YWx1ZURlc2NyaXB0aW9uIiwgZ2V0VmFsdWVEZXNjcmlwdGlvbkNhbGxiYWNrLCAwLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCisgICAgICAgIHsgImRvY3VtZW50RW5jb2RpbmciLCBnZXREb2N1bWVudEVuY29kaW5n
Q2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICAgICAgeyAiZG9jdW1lbnRVUkkiLCBnZXREb2N1bWVu
dFVSSUNhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgMCwgMCwgMCwgMCB9CiAgICAgfTsK
IApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudC5oCmluZGV4IGVhNDVhMjcuLmZiMjM1ZmEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKQEAgLTEwNSw2ICsxMDUsOCBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlcXVpcmVkKCkgY29uc3Q7CiAgICAgZG91YmxlIGNsaWNr
UG9pbnRYKCk7CiAgICAgZG91YmxlIGNsaWNrUG9pbnRZKCk7CisgICAgSlNTdHJpbmdSZWYgZG9j
dW1lbnRFbmNvZGluZygpOworICAgIEpTU3RyaW5nUmVmIGRvY3VtZW50VVJJKCk7CiAKICAgICAv
LyBUYWJsZS1zcGVjaWZpYyBhdHRyaWJ1dGVzCiAgICAgSlNTdHJpbmdSZWYgYXR0cmlidXRlc09m
Q29sdW1uSGVhZGVycygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Z3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwCmluZGV4IGU1ZjI2ZDIuLjZj
MWI2ODAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50R3RrLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKQEAgLTQzMiwzICs0MzIsMjMgQEAgSlNT
dHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eVZhbHVlKCkgY29u
c3QKICAgICAvLyBGSVhNRTogaW1wbGVtZW50CiAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0
aENoYXJhY3RlcnMoMCwgMCk7CiB9CisKK0pTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmRvY3VtZW50RW5jb2RpbmcoKQoreworICAgIEF0a1JvbGUgcm9sZSA9IGF0a19vYmplY3Rf
Z2V0X3JvbGUoQVRLX09CSkVDVChtX2VsZW1lbnQpKTsKKyAgICBpZiAocm9sZSAhPSBBVEtfUk9M
RV9ET0NVTUVOVF9GUkFNRSkKKyAgICAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJh
Y3RlcnMoMCwgMCk7CisKKyAgICBBdGtEb2N1bWVudCogYXhEb2N1bWVudCA9IEFUS19ET0NVTUVO
VChtX2VsZW1lbnQpOworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhh
dGtfZG9jdW1lbnRfZ2V0X2F0dHJpYnV0ZV92YWx1ZShheERvY3VtZW50LCAiRW5jb2RpbmciKSk7
Cit9CisKK0pTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKCkK
K3sKKyAgICBBdGtSb2xlIHJvbGUgPSBhdGtfb2JqZWN0X2dldF9yb2xlKEFUS19PQkpFQ1QobV9l
bGVtZW50KSk7CisgICAgaWYgKHJvbGUgIT0gQVRLX1JPTEVfRE9DVU1FTlRfRlJBTUUpCisgICAg
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworCisgICAgQXRr
RG9jdW1lbnQqIGF4RG9jdW1lbnQgPSBBVEtfRE9DVU1FTlQobV9lbGVtZW50KTsKKyAgICByZXR1
cm4gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoYXRrX2RvY3VtZW50X2dldF9hdHRyaWJ1
dGVfdmFsdWUoYXhEb2N1bWVudCwgIlVSSSIpKTsKK30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KaW5k
ZXggZWYwZjlkYS4uNTNlNjJkZCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KQEAgLTU3NywzICs1
NzcsMTMgQEAgSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0
eVZhbHVlKCkgY29uc3QKICAgICAvLyBGSVhNRTogaW1wbGVtZW50CiAgICAgcmV0dXJuIEpTU3Ry
aW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7CiB9CisKK0pTU3RyaW5nUmVmIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50RW5jb2RpbmcoKQoreworICAgIHJldHVybiBKU1N0cmlu
Z0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1N0cmluZ1JlZiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpkb2N1bWVudFVSSSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKaW5kZXggMmE4
ZWFmNi4uODllOWE1YyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcApAQCAtMzkyLDMgKzM5Miwx
NCBAQCBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphY2Nlc3NpYmlsaXR5VmFs
dWUoKSBjb25zdAogCiAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnModmFs
dWUuZGF0YSgpLCB2YWx1ZS5sZW5ndGgoKSk7CiB9CisKKworSlNTdHJpbmdSZWYgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5n
Q3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTU3RyaW5nUmVmIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoQ2hhcmFjdGVycygwLCAwKTsKK30KLS0gCjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="23813"
          type_id="1"
          status="-"
          setter="jmalonzo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42317</attachid>
            <date>2009-11-02 07:22:48 -0800</date>
            <delta_ts>2009-11-12 09:35:20 -0800</delta_ts>
            <desc>Layout Test - Take 2</desc>
            <filename>30997-layout-test.2.patch</filename>
            <type>text/plain</type>
            <size>8261</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAyZGEzYjZhYzdiY2I2ODM5MzI1YWZmZjFmM2U0ZTc0MmFlNGNjY2Y4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IE1vbiwgMiBOb3YgMjAwOSAxMDoxMDozNyAtMDUwMApTdWJqZWN0OiBbUEFU
Q0hdIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMwOTk3CltHdGtdIEltcGxlbW1lbnQgQXRrRG9jdW1lbnQKCkFkZGVk
IHRlc3Rpbmcgc3VwcG9ydC4KCiogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5jcHA6CiogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgooZ2V0RG9j
dW1lbnRFbmNvZGluZ0NhbGxiYWNrKToKKGdldERvY3VtZW50VVJJQ2FsbGJhY2spOgooQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CiogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwOgoqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50TWFjLm1tOgoqIER1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50V2luLmNwcDoKKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50RW5jb2Rpbmcp
OgooQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRVUkkpOgotLS0KIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9Ta2lwcGVkICAgICAgICAgICAgICAgICAgIHwgICAgMyArKysKIExheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBX
ZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjAg
KysrKysrKysrKysrKysrKysrKysKIC4uLi9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmNwcCAgICAgIHwgICAxNCArKysrKysrKysrKysrKwogLi4uL0R1bXBSZW5kZXJUcmVl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCAgICAgICAgfCAgICAyICsrCiAuLi4vZ3RrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwICAgICAgICAgICAgICB8ICAgMjAgKysrKysrKysrKysr
KysrKysrKysKIC4uLi9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSAgICAgICAgICAg
ICAgIHwgICAxMCArKysrKysrKysrCiAuLi4vd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4u
Y3BwICAgICAgICAgICAgICB8ICAgMTEgKysrKysrKysrKysKIDggZmlsZXMgY2hhbmdlZCwgODEg
aW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmlu
ZGV4IDgwNDE5MTUuLjE1NjM4MzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC05Miwz
ICs5Miw2IEBAIGZhc3QvZG9tL1dpbmRvdy9zbG93X3VubG9hZF9oYW5kbGVyLmh0bWwKIAogIyBT
a2lwcGVkIHVudGlsIHdlIGhhdmUgYSBmaXggZm9yIDxyZGFyOi8vcHJvYmxlbS82NTYzMTE3PiBX
ZWJLaXQgc2hvdWxkIHRlbGwgUXVpY2tUaW1lIHRvIGV4Y2x1ZGUgdGhlIHRleHQgaW1wb3J0ZXIK
IG1lZGlhL3ZpZGVvLWVtcHR5LXNvdXJjZS5odG1sCisKKyMgQWNjZXNzaWJpbGl0eSB0ZXN0cyB3
aXRob3V0IHJlc3VsdHMKK2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGQ4YTdlMzIuLmIyZDQ5ZGYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCkBAIC0zNjUsNiArMzY1LDcgQEAgYWNjZXNzaWJpbGl0eS9hcmlhLXJv
bGVzLmh0bWwKIGFjY2Vzc2liaWxpdHkvYXJpYS10YWJsZXMuaHRtbAogYWNjZXNzaWJpbGl0eS9i
dXR0b24tcHJlc3MtYWN0aW9uLmh0bWwKIGFjY2Vzc2liaWxpdHkvY2FudmFzLmh0bWwKK2FjY2Vz
c2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sCiBhY2Nlc3NpYmlsaXR5L2VkaXRhYmxl
LXdlYmFyZWEtY29udGV4dC1tZW51LXBvaW50Lmh0bWwKIGFjY2Vzc2liaWxpdHkvaWZyYW1lLWJh
c3RhcmRpemF0aW9uLmh0bWwKIGFjY2Vzc2liaWxpdHkvaWdub3JlLXNwYWNlci1lbGVtZW50cy5o
dG1sCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFu
Z2VMb2cKaW5kZXggNjY1Y2E0OS4uYzQ0YmU1YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDA5
LTExLTAyICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFyaWUuZGlnZ3NAZ21haWwuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDk5NworICAgICAgICBbR3RrXSBJbXBsZW1t
ZW50IEF0a0RvY3VtZW50CisKKyAgICAgICAgQWRkZWQgdGVzdGluZyBzdXBwb3J0LgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgorICAgICAgICAoZ2V0
RG9jdW1lbnRFbmNvZGluZ0NhbGxiYWNrKToKKyAgICAgICAgKGdldERvY3VtZW50VVJJQ2FsbGJh
Y2spOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1t
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2lu
LmNwcDoKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50RW5jb2Rpbmcp
OgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRVUkkpOgorCiAyMDA5
LTExLTAxICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKaW5kZXggMWVkODIxNy4uNTNhYmNiMCAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5jcHAKQEAgLTM3MCw2ICszNzAsMTggQEAgc3RhdGljIEpTVmFsdWVSZWYgZ2V0QWNjZXNzaWJp
bGl0eVZhbHVlQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmUKICAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwgYWNjZXNzaWJpbGl0eVZhbHVlLmdldCgp
KTsKIH0KIAorc3RhdGljIEpTVmFsdWVSZWYgZ2V0RG9jdW1lbnRFbmNvZGluZ0NhbGxiYWNrKEpT
Q29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBKU1N0cmluZ1JlZiBw
cm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gZG9jdW1lbnRFbmNvZGluZyhBZG9wdCwgdG9BWEVsZW1lbnQodGhpc09iamVj
dCktPmRvY3VtZW50RW5jb2RpbmcoKSk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlU3RyaW5nKGNv
bnRleHQsIGRvY3VtZW50RW5jb2RpbmcuZ2V0KCkpOworfQorCitzdGF0aWMgSlNWYWx1ZVJlZiBn
ZXREb2N1bWVudFVSSUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0
aGlzT2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlv
bikKK3sKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gZG9jdW1lbnRVUkkoQWRvcHQsIHRv
QVhFbGVtZW50KHRoaXNPYmplY3QpLT5kb2N1bWVudFVSSSgpKTsKKyAgICByZXR1cm4gSlNWYWx1
ZU1ha2VTdHJpbmcoY29udGV4dCwgZG9jdW1lbnRVUkkuZ2V0KCkpOworfQorCiAvLyBEZXN0cnVj
dGlvbgogCiBzdGF0aWMgdm9pZCBmaW5hbGl6ZShKU09iamVjdFJlZiB0aGlzT2JqZWN0KQpAQCAt
NDA4LDYgKzQyMCw4IEBAIEpTQ2xhc3NSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlND
bGFzcygpCiAgICAgICAgIHsgImlzRW5hYmxlZCIsIGdldElzRW5hYmxlZENhbGxiYWNrLCAwLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCiAgICAgICAgIHsgImlzUmVxdWlyZWQiLCBnZXRJc1JlcXVpcmVkQ2FsbGJhY2ssIDAs
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKICAgICAgICAgeyAidmFsdWVEZXNjcmlwdGlvbiIsIGdldFZhbHVlRGVzY3JpcHRp
b25DYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5
QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJkb2N1bWVudEVuY29kaW5nIiwgZ2V0
RG9jdW1lbnRFbmNvZGluZ0NhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5
IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgImRvY3VtZW50
VVJJIiwgZ2V0RG9jdW1lbnRVUklDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFk
T25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7IDAsIDAs
IDAsIDAgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaAppbmRleCBlYTQ1YTI3Li5mYjIzNWZhIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKKysr
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCkBA
IC0xMDUsNiArMTA1LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNSZXF1aXJlZCgpIGNvbnN0Owog
ICAgIGRvdWJsZSBjbGlja1BvaW50WCgpOwogICAgIGRvdWJsZSBjbGlja1BvaW50WSgpOworICAg
IEpTU3RyaW5nUmVmIGRvY3VtZW50RW5jb2RpbmcoKTsKKyAgICBKU1N0cmluZ1JlZiBkb2N1bWVu
dFVSSSgpOwogCiAgICAgLy8gVGFibGUtc3BlY2lmaWMgYXR0cmlidXRlcwogICAgIEpTU3RyaW5n
UmVmIGF0dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnMoKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcCBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcApp
bmRleCBlNWYyNmQyLi42YzFiNjgwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKKysrIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwCkBAIC00MzIs
MyArNDMyLDIzIEBAIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2li
aWxpdHlWYWx1ZSgpIGNvbnN0CiAgICAgLy8gRklYTUU6IGltcGxlbWVudAogICAgIHJldHVybiBK
U1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwogfQorCitKU1N0cmluZ1JlZiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudEVuY29kaW5nKCkKK3sKKyAgICBBdGtSb2xlIHJv
bGUgPSBhdGtfb2JqZWN0X2dldF9yb2xlKEFUS19PQkpFQ1QobV9lbGVtZW50KSk7CisgICAgaWYg
KHJvbGUgIT0gQVRLX1JPTEVfRE9DVU1FTlRfRlJBTUUpCisgICAgICAgIHJldHVybiBKU1N0cmlu
Z0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworCisgICAgQXRrRG9jdW1lbnQqIGF4RG9jdW1l
bnQgPSBBVEtfRE9DVU1FTlQobV9lbGVtZW50KTsKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcoYXRrX2RvY3VtZW50X2dldF9hdHRyaWJ1dGVfdmFsdWUoYXhEb2N1bWVu
dCwgIkVuY29kaW5nIikpOworfQorCitKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojpkb2N1bWVudFVSSSgpCit7CisgICAgQXRrUm9sZSByb2xlID0gYXRrX29iamVjdF9nZXRfcm9s
ZShBVEtfT0JKRUNUKG1fZWxlbWVudCkpOworICAgIGlmIChyb2xlICE9IEFUS19ST0xFX0RPQ1VN
RU5UX0ZSQU1FKQorICAgICAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygw
LCAwKTsKKworICAgIEF0a0RvY3VtZW50KiBheERvY3VtZW50ID0gQVRLX0RPQ1VNRU5UKG1fZWxl
bWVudCk7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGF0a19kb2N1
bWVudF9nZXRfYXR0cmlidXRlX3ZhbHVlKGF4RG9jdW1lbnQsICJVUkkiKSk7Cit9CmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dE1hYy5tbSBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50TWFjLm1tCmluZGV4IGVmMGY5ZGEuLjUzZTYyZGQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFj
Lm1tCkBAIC01NzcsMyArNTc3LDEzIEBAIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0CiAgICAgLy8gRklYTUU6IGltcGxlbWVudAog
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwogfQorCitKU1N0
cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudEVuY29kaW5nKCkKK3sKKyAg
ICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNTdHJp
bmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRVUkkoKQoreworICAgIHJldHVy
biBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3Bw
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRX
aW4uY3BwCmluZGV4IDJhOGVhZjYuLjg5ZTlhNWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcAorKysgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAK
QEAgLTM5MiwzICszOTIsMTQgQEAgSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
YWNjZXNzaWJpbGl0eVZhbHVlKCkgY29uc3QKIAogICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdp
dGhDaGFyYWN0ZXJzKHZhbHVlLmRhdGEoKSwgdmFsdWUubGVuZ3RoKCkpOwogfQorCisKK0pTU3Ry
aW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50RW5jb2RpbmcoKQoreworICAg
IHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1N0cmlu
Z1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudFVSSSgpCit7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9Ci0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="24682"
          type_id="1"
          status="-"
          setter="jmalonzo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43069</attachid>
            <date>2009-11-12 09:35:20 -0800</date>
            <delta_ts>2009-11-12 13:32:41 -0800</delta_ts>
            <desc>Layout Test - Take 3</desc>
            <filename>30997-layout-test.3.patch</filename>
            <type>text/plain</type>
            <size>11240</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSA2OTE3YjY5MzNlMDk3OGU0NzA5ZWYyMTZmM2M3Mzk5OTk4YWM1YTBiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IFRodSwgMTIgTm92IDIwMDkgMTI6MTM6MTMgLTA1MDAKU3ViamVjdDogW1BB
VENIIDIvMl0gMjAwOS0xMS0xMiAgSm9hbm1hcmllIERpZ2dzICA8am9hbm1hcmllLmRpZ2dzQGdt
YWlsLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDk5NwogICAgICAgIFtHdGtd
IEltcGxlbW1lbnQgQXRrRG9jdW1lbnQKCiAgICAgICAgQWRkZWQgdGVzdGluZyBzdXBwb3J0LgoK
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOgogICAg
ICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgogICAgICAgIChn
ZXREb2N1bWVudEVuY29kaW5nQ2FsbGJhY2spOgogICAgICAgIChnZXREb2N1bWVudFVSSUNhbGxi
YWNrKToKICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CiAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHA6CiAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToK
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNw
cDoKICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZyk6CiAg
ICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKToKCiAgICAgICAgKiAu
Li9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMuaHRtbDogQWRk
ZWQKICAgICAgICAqIC4uL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmli
dXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkCiAgICAgICAgKiAuLi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvU2tpcHBlZDoKICAgICAgICAqIC4uL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lw
cGVkOgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAxNCArKysrKysrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0
ZXMtZXhwZWN0ZWQudHh0IHwgICAgMSArCiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RvY3Vt
ZW50LWF0dHJpYnV0ZXMuaHRtbCB8ICAgMzAgKysrKysrKysrKysrKysrKysrKysKIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwog
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIw
ICsrKysrKysrKysrKysKIC4uLi9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmNwcCAgICAgIHwgICAxNCArKysrKysrKysKIC4uLi9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50LmggICAgICAgIHwgICAgMiArCiAuLi4vZ3RrL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRHdGsuY3BwICAgICAgICAgICAgICB8ICAgMTggKysrKysrKysrKysrCiAuLi4vbWFjL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gICAgICAgICAgICAgICB8ICAgMTAgKysrKysrCiAu
Li4vd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwICAgICAgICAgICAgICB8ICAgMTEg
KysrKysrKwogMTEgZmlsZXMgY2hhbmdlZCwgMTIzIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25z
KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kb2N1bWVu
dC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhkMmFkNjYu
LjVjNjE3MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0xMS0xMiAgSm9hbm1hcmllIERp
Z2dzICA8am9hbm1hcmllLmRpZ2dzQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzA5OTcKKyAgICAgICAgW0d0a10gSW1wbGVtbWVudCBBdGtEb2N1bWVudAorCisg
ICAgICAgIEFkZGVkIHRlc3Rpbmcgc3VwcG9ydCBmb3IgQXRrRG9jdW1lbnQgaW1wbGVtZW50YXRp
b24uCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMuaHRtbDog
QWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAg
ICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMDktMTEtMTAgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjMzMzlm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQYXNzZWQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1hdHRyaWJ1dGVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Y0NmJkOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sCkBAIC0wLDAg
KzEsMzAgQEAKKzxodG1sPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cis8L3Nj
cmlwdD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0
ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+Cis8Ym9keSBpZD0iYm9keSI+CisgICAgPCEtLSBU
aGlzIHRlc3RzIHRoZSBleHBvc3VyZSBvZiBhIGRvY3VtZW50J3MgZW5jb2RpbmcgYW5kIFVSSSB0
byBhc3Npc3RpdmUgdGVjaG5vbG9naWVzIC0tPgorICAgIDxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cikgeworICAgICAgICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9k
eSIpOworICAgICAgICAgICAgYm9keS5mb2N1cygpOworICAgICAgICAgICAgdmFyIHdlYkFyZWEg
PSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAgICAgICAgICAgIHZh
ciByZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CisKKyAgICAgICAg
ICAgIHZhciBkb2N1bWVudEVuY29kaW5nID0gd2ViQXJlYS5kb2N1bWVudEVuY29kaW5nOworICAg
ICAgICAgICAgdmFyIGRvY3VtZW50VVJJID0gd2ViQXJlYS5kb2N1bWVudFVSSTsKKworICAgICAg
ICAgICAgaWYgKGRvY3VtZW50RW5jb2RpbmcgPT0gIlVURi04IiAmJiBkb2N1bWVudFVSSSA9PSBs
b2NhdGlvbi5ocmVmKSB7CisgICAgICAgICAgICAgICByZXN1bHQuaW5uZXJUZXh0ID0gIlBhc3Nl
ZCI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgIHJl
c3VsdC5pbm5lclRleHQgPSAiRmFpbGVkOlxuRXhwZWN0ZWQ6IFVURi04IGFuZCAiICsgbG9jYXRp
b24uaHJlZiArICIuXG5BY3R1YWw6ICIgKyBkb2N1bWVudEVuY29kaW5nICsgIiBhbmQgIiArIGRv
Y3VtZW50VVJJICsgIi4iOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDJiMzNjMjEu
LjE4YjY0MjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC05NiwzICs5Niw1IEBAIG1l
ZGlhL3ZpZGVvLWVtcHR5LXNvdXJjZS5odG1sCiAjIFJ1YnkgbGF5b3V0IHRlc3RzIHNvbWVob3cg
Y2F1c2UgaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvYWJvdXQtYmxhbmstaWZyYW1l
LWluLW1haW4tZnJhbWUuaHRtbCB0byBmYWlsCiBmYXN0L3J1YnkKIAorIyBBY2Nlc3NpYmlsaXR5
IHRlc3RzIHdpdGhvdXQgcmVzdWx0cworYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1hdHRyaWJ1dGVz
Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggNmJiYTM3MC4uYzIyNjU5ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTM2NSw2ICszNjUsNyBAQCBhY2Nlc3NpYmlsaXR5
L2FyaWEtdGFibGVzLmh0bWwKIGFjY2Vzc2liaWxpdHkvYXJpYS10YWItcm9sZXMuaHRtbAogYWNj
ZXNzaWJpbGl0eS9idXR0b24tcHJlc3MtYWN0aW9uLmh0bWwKIGFjY2Vzc2liaWxpdHkvY2FudmFz
Lmh0bWwKK2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sCiBhY2Nlc3NpYmls
aXR5L2VkaXRhYmxlLXdlYmFyZWEtY29udGV4dC1tZW51LXBvaW50Lmh0bWwKIGFjY2Vzc2liaWxp
dHkvaWZyYW1lLWJhc3RhcmRpemF0aW9uLmh0bWwKIGFjY2Vzc2liaWxpdHkvaWdub3JlLXNwYWNl
ci1lbGVtZW50cy5odG1sCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJL
aXRUb29scy9DaGFuZ2VMb2cKaW5kZXggMzdhM2U5OS4uOTRjMDI5YiAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDA5LTExLTEyICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFyaWUuZGlnZ3NAZ21h
aWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDk5NworICAgICAgICBb
R3RrXSBJbXBsZW1tZW50IEF0a0RvY3VtZW50CisKKyAgICAgICAgQWRkZWQgdGVzdGluZyBzdXBw
b3J0LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgor
ICAgICAgICAoZ2V0RG9jdW1lbnRFbmNvZGluZ0NhbGxiYWNrKToKKyAgICAgICAgKGdldERvY3Vt
ZW50VVJJQ2FsbGJhY2spOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlND
bGFzcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRHdGsuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50TWFjLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50V2luLmNwcDoKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3Vt
ZW50RW5jb2RpbmcpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRV
UkkpOgorCiAyMDA5LTExLTEwICBBbmRyYXMgQmVjc2kgIDxiZWNzaS5hbmRyYXNAc3R1ZC51LXN6
ZWdlZC5odT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
bi4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5jcHAKaW5kZXggMjBjODYyMS4uMThlOTY0MiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTM5MSw2
ICszOTEsMTggQEAgc3RhdGljIEpTVmFsdWVSZWYgZ2V0QWNjZXNzaWJpbGl0eVZhbHVlQ2FsbGJh
Y2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmUKICAgICByZXR1cm4gSlNWYWx1ZU1h
a2VTdHJpbmcoY29udGV4dCwgYWNjZXNzaWJpbGl0eVZhbHVlLmdldCgpKTsKIH0KIAorc3RhdGlj
IEpTVmFsdWVSZWYgZ2V0RG9jdW1lbnRFbmNvZGluZ0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250
ZXh0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpT
VmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gZG9j
dW1lbnRFbmNvZGluZyhBZG9wdCwgdG9BWEVsZW1lbnQodGhpc09iamVjdCktPmRvY3VtZW50RW5j
b2RpbmcoKSk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlU3RyaW5nKGNvbnRleHQsIGRvY3VtZW50
RW5jb2RpbmcuZ2V0KCkpOworfQorCitzdGF0aWMgSlNWYWx1ZVJlZiBnZXREb2N1bWVudFVSSUNh
bGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBKU1N0
cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gZG9jdW1lbnRVUkkoQWRvcHQsIHRvQVhFbGVtZW50KHRoaXNP
YmplY3QpLT5kb2N1bWVudFVSSSgpKTsKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VTdHJpbmcoY29u
dGV4dCwgZG9jdW1lbnRVUkkuZ2V0KCkpOworfQorCiAvLyBEZXN0cnVjdGlvbgogCiBzdGF0aWMg
dm9pZCBmaW5hbGl6ZShKU09iamVjdFJlZiB0aGlzT2JqZWN0KQpAQCAtNDMyLDYgKzQ0NCw4IEBA
IEpTQ2xhc3NSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcygpCiAgICAgICAg
IHsgImlzU2VsZWN0ZWQiLCBnZXRJc1NlbGVjdGVkQ2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0
cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAg
ICAgeyAiaXNFeHBhbmRlZCIsIGdldElzRXhwYW5kZWRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJ2YWx1ZURlc2NyaXB0aW9uIiwgZ2V0VmFsdWVEZXNjcmlwdGlvbkNhbGxiYWNrLCAw
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sCisgICAgICAgIHsgImRvY3VtZW50RW5jb2RpbmciLCBnZXREb2N1bWVudEVuY29k
aW5nQ2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICAgICAgeyAiZG9jdW1lbnRVUkkiLCBnZXREb2N1
bWVudFVSSUNhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgMCwgMCwgMCwgMCB9CiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5oCmluZGV4IDFmZWFjZGUuLjBlMjgxMmMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKQEAgLTEwOSw2ICsxMDks
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0V4cGFuZGVkKCkgY29uc3Q7CiAgICAgZG91YmxlIGNs
aWNrUG9pbnRYKCk7CiAgICAgZG91YmxlIGNsaWNrUG9pbnRZKCk7CisgICAgSlNTdHJpbmdSZWYg
ZG9jdW1lbnRFbmNvZGluZygpOworICAgIEpTU3RyaW5nUmVmIGRvY3VtZW50VVJJKCk7CiAKICAg
ICAvLyBUYWJsZS1zcGVjaWZpYyBhdHRyaWJ1dGVzCiAgICAgSlNTdHJpbmdSZWYgYXR0cmlidXRl
c09mQ29sdW1uSGVhZGVycygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwCmluZGV4IDIzMGUwNmIu
LjI1OWYzZmEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKQEAgLTQ1NSwzICs0NTUsMjEgQEAg
SlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eVZhbHVlKCkg
Y29uc3QKICAgICAvLyBGSVhNRTogaW1wbGVtZW50CiAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aENoYXJhY3RlcnMoMCwgMCk7CiB9CisKK0pTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmRvY3VtZW50RW5jb2RpbmcoKQoreworICAgIEF0a1JvbGUgcm9sZSA9IGF0a19vYmpl
Y3RfZ2V0X3JvbGUoQVRLX09CSkVDVChtX2VsZW1lbnQpKTsKKyAgICBpZiAocm9sZSAhPSBBVEtf
Uk9MRV9ET0NVTUVOVF9GUkFNRSkKKyAgICAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENo
YXJhY3RlcnMoMCwgMCk7CisKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoYXRrX2RvY3VtZW50X2dldF9hdHRyaWJ1dGVfdmFsdWUoQVRLX0RPQ1VNRU5UKG1fZWxlbWVu
dCksICJFbmNvZGluZyIpKTsKK30KKworSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6ZG9jdW1lbnRVUkkoKQoreworICAgIEF0a1JvbGUgcm9sZSA9IGF0a19vYmplY3RfZ2V0X3Jv
bGUoQVRLX09CSkVDVChtX2VsZW1lbnQpKTsKKyAgICBpZiAocm9sZSAhPSBBVEtfUk9MRV9ET0NV
TUVOVF9GUkFNRSkKKyAgICAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMo
MCwgMCk7CisKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoYXRrX2Rv
Y3VtZW50X2dldF9hdHRyaWJ1dGVfdmFsdWUoQVRLX0RPQ1VNRU5UKG1fZWxlbWVudCksICJVUkki
KSk7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudE1hYy5tbSBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCmluZGV4IDU2YzJjYzAuLjUxMTdiNmEgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50TWFjLm1tCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50TWFjLm1tCkBAIC02MDQsMyArNjA0LDEzIEBAIEpTU3RyaW5nUmVmIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0CiAgICAgLy8gRklY
TUU6IGltcGxlbWVudAogICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAs
IDApOwogfQorCitKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudEVu
Y29kaW5nKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAw
KTsKK30KKworSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRVUkko
KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRXaW4uY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRXaW4uY3BwCmluZGV4IDMwMDg3ODIuLmJkYzJkNTMgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2lu
LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudFdpbi5jcHAKQEAgLTQxMSwzICs0MTEsMTQgQEAgSlNTdHJpbmdSZWYgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eVZhbHVlKCkgY29uc3QKIAogICAgIHJldHVybiBK
U1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKHZhbHVlLmRhdGEoKSwgdmFsdWUubGVuZ3RoKCkp
OwogfQorCisKK0pTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50RW5j
b2RpbmcoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDAp
OworfQorCitKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudFVSSSgp
Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9Ci0t
IAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="24725"
          type_id="1"
          status="+"
          setter="gustavo"
    />
    <flag name="commit-queue"
          id="24734"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43094</attachid>
            <date>2009-11-12 13:32:41 -0800</date>
            <delta_ts>2009-11-12 18:00:01 -0800</delta_ts>
            <desc>Layout Test - Take 3.5</desc>
            <filename>30997-layout-test.4.patch</filename>
            <type>text/plain</type>
            <size>11151</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSA2MTNhN2VjNDFjYWJlODEyZGFhZmMwZjNmMTBkOWNhNzNiNzQwMDY1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IFRodSwgMTIgTm92IDIwMDkgMTQ6NTQ6NDEgLTA1MDAKU3ViamVjdDogW1BB
VENIXSAyMDA5LTExLTEyICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFyaWUuZGlnZ3NAZ21haWwu
Y29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTk3CiAgICAgICAgW0d0a10gSW1w
bGVtbWVudCBBdGtEb2N1bWVudAoKICAgICAgICBBZGRlZCB0ZXN0aW5nIHN1cHBvcnQuCgogICAg
ICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CiAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmg6CiAgICAgICAgKGdldERv
Y3VtZW50RW5jb2RpbmdDYWxsYmFjayk6CiAgICAgICAgKGdldERvY3VtZW50VVJJQ2FsbGJhY2sp
OgogICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKToKICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcDoKICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tOgogICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwOgog
ICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudEVuY29kaW5nKToKICAgICAg
ICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRVUkkpOgoKICAgICAgICAqIC4uL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sOiBBZGRlZAog
ICAgICAgICogLi4vTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dDogQWRkZWQKICAgICAgICAqIC4uL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkOgogICAgICAgICogLi4vTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQ6
Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDE0ICsrKysrKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy1l
eHBlY3RlZC50eHQgfCAgICAxICsKIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQt
YXR0cmlidXRlcy5odG1sIHwgICAzMCArKysrKysrKysrKysrKysrKysrKwogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1NraXBwZWQgICAgICAgICAgICAgICAgICAgfCAgICAzICsrCiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIwICsr
KysrKysrKysrKysKIC4uLi9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNw
cCAgICAgIHwgICAxNCArKysrKysrKysKIC4uLi9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50LmggICAgICAgIHwgICAgMiArCiAuLi4vZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRHdGsuY3BwICAgICAgICAgICAgICB8ICAgMTggKysrKysrKysrKysrCiAuLi4vbWFjL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRNYWMubW0gICAgICAgICAgICAgICB8ICAgMTAgKysrKysrCiAuLi4v
d2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwICAgICAgICAgICAgICB8ICAgMTEgKysr
KysrKwogMTEgZmlsZXMgY2hhbmdlZCwgMTI0IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0p
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZjNzJkYTUuLmI2
ZmVlYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0xMS0xMiAgSm9hbm1hcmllIERpZ2dz
ICA8am9hbm1hcmllLmRpZ2dzQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzA5OTcKKyAgICAgICAgW0d0a10gSW1wbGVtbWVudCBBdGtEb2N1bWVudAorCisgICAg
ICAgIEFkZGVkIHRlc3Rpbmcgc3VwcG9ydCBmb3IgQXRrRG9jdW1lbnQgaW1wbGVtZW50YXRpb24u
CisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1hdHRyaWJ1dGVzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICog
cGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMDktMTEtMTIgIERhbmllbCBCYXRlcyAgPGRiYXRl
c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYzMzM5Zgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0
cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorUGFzc2VkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmNDZiZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMuaHRtbApAQCAtMCwwICsx
LDMwIEBACis8aHRtbD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworPC9zY3Jp
cHQ+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4
dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgorPGJvZHkgaWQ9ImJvZHkiPgorICAgIDwhLS0gVGhp
cyB0ZXN0cyB0aGUgZXhwb3N1cmUgb2YgYSBkb2N1bWVudCdzIGVuY29kaW5nIGFuZCBVUkkgdG8g
YXNzaXN0aXZlIHRlY2hub2xvZ2llcyAtLT4KKyAgICA8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIp
IHsKKyAgICAgICAgICAgIHZhciBib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHki
KTsKKyAgICAgICAgICAgIGJvZHkuZm9jdXMoKTsKKyAgICAgICAgICAgIHZhciB3ZWJBcmVhID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAgICAgICAgICB2YXIg
cmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpOworCisgICAgICAgICAg
ICB2YXIgZG9jdW1lbnRFbmNvZGluZyA9IHdlYkFyZWEuZG9jdW1lbnRFbmNvZGluZzsKKyAgICAg
ICAgICAgIHZhciBkb2N1bWVudFVSSSA9IHdlYkFyZWEuZG9jdW1lbnRVUkk7CisKKyAgICAgICAg
ICAgIGlmIChkb2N1bWVudEVuY29kaW5nID09ICJVVEYtOCIgJiYgZG9jdW1lbnRVUkkgPT0gbG9j
YXRpb24uaHJlZikgeworICAgICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCA9ICJQYXNzZWQi
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICByZXN1
bHQuaW5uZXJUZXh0ID0gIkZhaWxlZDpcbkV4cGVjdGVkOiBVVEYtOCBhbmQgIiArIGxvY2F0aW9u
LmhyZWYgKyAiLlxuQWN0dWFsOiAiICsgZG9jdW1lbnRFbmNvZGluZyArICIgYW5kICIgKyBkb2N1
bWVudFVSSSArICIuIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCA5YzljZWU3Li4y
ZDYxYmY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtOTgsMyArOTgsNiBAQCBmYXN0
L3J1YnkKIAogIyBNaXNzaW5nIFNvY2tldFN0cmVhbUhhbmRsZSBpbXBsZW1lbnRhdGlvbgogd2Vi
c29ja2V0L3Rlc3RzCisKKyMgQWNjZXNzaWJpbGl0eSB0ZXN0cyB3aXRob3V0IHJlc3VsdHMKK2Fj
Y2Vzc2liaWxpdHkvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lw
cGVkCmluZGV4IDNjZjUxODguLjgxZjExNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBA
IC0zNjYsNiArMzY2LDcgQEAgYWNjZXNzaWJpbGl0eS9hcmlhLXRhYmxlcy5odG1sCiBhY2Nlc3Np
YmlsaXR5L2FyaWEtdGFiLXJvbGVzLmh0bWwKIGFjY2Vzc2liaWxpdHkvYnV0dG9uLXByZXNzLWFj
dGlvbi5odG1sCiBhY2Nlc3NpYmlsaXR5L2NhbnZhcy5odG1sCithY2Nlc3NpYmlsaXR5L2RvY3Vt
ZW50LWF0dHJpYnV0ZXMuaHRtbAogYWNjZXNzaWJpbGl0eS9lZGl0YWJsZS13ZWJhcmVhLWNvbnRl
eHQtbWVudS1wb2ludC5odG1sCiBhY2Nlc3NpYmlsaXR5L2lmcmFtZS1iYXN0YXJkaXphdGlvbi5o
dG1sCiBhY2Nlc3NpYmlsaXR5L2lnbm9yZS1zcGFjZXItZWxlbWVudHMuaHRtbApkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGI4
NDllMDAuLjExOTgwNTkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAwOS0xMS0xMiAgSm9hbm1h
cmllIERpZ2dzICA8am9hbm1hcmllLmRpZ2dzQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzA5OTcKKyAgICAgICAgW0d0a10gSW1wbGVtbWVudCBBdGtEb2N1bWVu
dAorCisgICAgICAgIEFkZGVkIHRlc3Rpbmcgc3VwcG9ydC4KKworICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKGdldERvY3VtZW50RW5jb2Rp
bmdDYWxsYmFjayk6CisgICAgICAgIChnZXREb2N1bWVudFVSSUNhbGxiYWNrKToKKyAgICAgICAg
KEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcDoKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHA6CisgICAgICAg
IChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudEVuY29kaW5nKToKKyAgICAgICAgKEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKToKKwogMjAwOS0xMS0xMSAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9s
aXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50LmNwcAppbmRleCBlYWZlNjFlLi4yNGE1NDI5IDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcApA
QCAtNDI5LDYgKzQyOSwxOCBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRBY2Nlc3NpYmlsaXR5VmFs
dWVDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZQogICAgIHJldHVybiBK
U1ZhbHVlTWFrZVN0cmluZyhjb250ZXh0LCBhY2Nlc3NpYmlsaXR5VmFsdWUuZ2V0KCkpOwogfQog
CitzdGF0aWMgSlNWYWx1ZVJlZiBnZXREb2N1bWVudEVuY29kaW5nQ2FsbGJhY2soSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5
TmFtZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBkb2N1bWVudEVuY29kaW5nKEFkb3B0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+ZG9j
dW1lbnRFbmNvZGluZygpKTsKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwg
ZG9jdW1lbnRFbmNvZGluZy5nZXQoKSk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIGdldERvY3Vt
ZW50VVJJQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmpl
Y3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQorewor
ICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBkb2N1bWVudFVSSShBZG9wdCwgdG9BWEVsZW1l
bnQodGhpc09iamVjdCktPmRvY3VtZW50VVJJKCkpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVN0
cmluZyhjb250ZXh0LCBkb2N1bWVudFVSSS5nZXQoKSk7Cit9CisKIC8vIERlc3RydWN0aW9uCiAK
IHN0YXRpYyB2b2lkIGZpbmFsaXplKEpTT2JqZWN0UmVmIHRoaXNPYmplY3QpCkBAIC00NzEsNiAr
NDgzLDggQEAgSlNDbGFzc1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKCkK
ICAgICAgICAgeyAiaXNFeHBhbmRlZCIsIGdldElzRXhwYW5kZWRDYWxsYmFjaywgMCwga0pTUHJv
cGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9
LAogICAgICAgICB7ICJ2YWx1ZURlc2NyaXB0aW9uIiwgZ2V0VmFsdWVEZXNjcmlwdGlvbkNhbGxi
YWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImhpZXJhcmNoaWNhbExldmVsIiwgaGllcmFyY2hp
Y2FsTGV2ZWxDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJkb2N1bWVudEVuY29kaW5n
IiwgZ2V0RG9jdW1lbnRFbmNvZGluZ0NhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJl
YWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgImRv
Y3VtZW50VVJJIiwgZ2V0RG9jdW1lbnRVUklDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7
IDAsIDAsIDAsIDAgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAppbmRleCA4ODAwY2JlLi4yODlmZjFjIDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5oCkBAIC0xMTIsNiArMTEyLDggQEAgcHVibGljOgogICAgIGludCBoaWVyYXJjaGljYWxMZXZl
bCgpIGNvbnN0OwogICAgIGRvdWJsZSBjbGlja1BvaW50WCgpOwogICAgIGRvdWJsZSBjbGlja1Bv
aW50WSgpOworICAgIEpTU3RyaW5nUmVmIGRvY3VtZW50RW5jb2RpbmcoKTsKKyAgICBKU1N0cmlu
Z1JlZiBkb2N1bWVudFVSSSgpOwogCiAgICAgLy8gVGFibGUtc3BlY2lmaWMgYXR0cmlidXRlcwog
ICAgIEpTU3RyaW5nUmVmIGF0dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnMoKTsKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3Rr
LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50R3RrLmNwcAppbmRleCBjMWJmMDdkLi44OTg0NjMwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKKysrIGIv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsu
Y3BwCkBAIC00NzYsMyArNDc2LDIxIEBAIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0CiAgICAgLy8gRklYTUU6IGltcGxlbWVudAog
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwogfQorCitKU1N0
cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudEVuY29kaW5nKCkKK3sKKyAg
ICBBdGtSb2xlIHJvbGUgPSBhdGtfb2JqZWN0X2dldF9yb2xlKEFUS19PQkpFQ1QobV9lbGVtZW50
KSk7CisgICAgaWYgKHJvbGUgIT0gQVRLX1JPTEVfRE9DVU1FTlRfRlJBTUUpCisgICAgICAgIHJl
dHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworCisgICAgcmV0dXJuIEpT
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGF0a19kb2N1bWVudF9nZXRfYXR0cmlidXRlX3Zh
bHVlKEFUS19ET0NVTUVOVChtX2VsZW1lbnQpLCAiRW5jb2RpbmciKSk7Cit9CisKK0pTU3RyaW5n
UmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKCkKK3sKKyAgICBBdGtSb2xl
IHJvbGUgPSBhdGtfb2JqZWN0X2dldF9yb2xlKEFUS19PQkpFQ1QobV9lbGVtZW50KSk7CisgICAg
aWYgKHJvbGUgIT0gQVRLX1JPTEVfRE9DVU1FTlRfRlJBTUUpCisgICAgICAgIHJldHVybiBKU1N0
cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworCisgICAgcmV0dXJuIEpTU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKGF0a19kb2N1bWVudF9nZXRfYXR0cmlidXRlX3ZhbHVlKEFUS19E
T0NVTUVOVChtX2VsZW1lbnQpLCAiVVJJIikpOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQppbmRl
eCA3NzYyZjc1Li45NTBiNmVmIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtNjM5LDMgKzYz
OSwxMyBAQCBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphY2Nlc3NpYmlsaXR5
VmFsdWUoKSBjb25zdAogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKICAgICByZXR1cm4gSlNTdHJp
bmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKIH0KKworSlNTdHJpbmdSZWYgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5n
Q3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTU3RyaW5nUmVmIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoQ2hhcmFjdGVycygwLCAwKTsKK30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcCBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcAppbmRleCA4ZTIw
MDc4Li4wYWZhODliIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
QWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCkBAIC00MzEsMyArNDMxLDE0
IEBAIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlWYWx1
ZSgpIGNvbnN0CiAKICAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycyh2YWx1
ZS5kYXRhKCksIHZhbHVlLmxlbmd0aCgpKTsKIH0KKworCitKU1N0cmluZ1JlZiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpkb2N1bWVudEVuY29kaW5nKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6ZG9jdW1lbnRVUkkoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdp
dGhDaGFyYWN0ZXJzKDAsIDApOworfQotLSAKMS42LjMuMwoK
</data>

          </attachment>
      

    </bug>

</bugzilla>