<?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>72811</bug_id>
          
          <creation_ts>2011-11-19 15:06:32 -0800</creation_ts>
          <short_desc>[Gtk] No accessible caret-moved events found in certain content</short_desc>
          <delta_ts>2012-09-01 06:32:14 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.bbc.co.uk/radio4/programmes/genres/drama</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>0</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cfleizach</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>mario</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>506446</commentid>
    <comment_count>0</comment_count>
      <attachid>115961</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2011-11-19 15:06:32 -0800</bug_when>
    <thetext>Created attachment 115961
test script

Steps to reproduce:

1. Launch the attached test script (or use Accerciser&apos;s event monitor)
2. View http://www.bbc.co.uk/radio4/programmes/genres/drama in epiphany
3. Enable caret navigation if it is not already enabled
4. Position the caret at &quot;AVAILABLE NOW ON BBC IPLAYER&quot;
5. Down Arrow

Expected results: A caret-moved event would be seen each time the caret moves.

Actual results: For every program listed, a caret-moved event is seen for all lines BUT the subtitle line (the line immediately beneath the program title).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598449</commentid>
    <comment_count>1</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-04-09 11:18:12 -0700</bug_when>
    <thetext>Another place I&apos;m seeing this is in GNOME&apos;s bugzilla.

1. View a bug
2. Arrow from the top of the page to the &apos;Collapse All Comments&apos; link
3. Arrow left and right within that link

In steps 2 and 3, the caret moves but no corresponding accessible events are seen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696404</commentid>
    <comment_count>2</comment_count>
      <attachid>158641</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-15 14:55:41 -0700</bug_when>
    <thetext>Created attachment 158641
Test case

Very simple test case. Note that we:

* Get no caret-moved events from the middle line.
* Get bogus offsets for the caret-moved events we are getting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697433</commentid>
    <comment_count>3</comment_count>
      <attachid>158885</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-16 13:26:35 -0700</bug_when>
    <thetext>Created attachment 158885
New test case

Found the trigger. Finally. :-/

It seems that spans are exposed as having GroupRole (translates to ATK_ROLE_PANEL). If the span is displayed as a block element, we get caret moved events; otherwise we do not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697656</commentid>
    <comment_count>4</comment_count>
      <attachid>158937</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-16 16:30:58 -0700</bug_when>
    <thetext>Created attachment 158937
New new test case

Found another point of failure: Wrap the breakage in a link and we get a node (unlike the other failures). However ATK_IS_TEXT fails so we bail on the signal emission.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699166</commentid>
    <comment_count>5</comment_count>
      <attachid>159321</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-19 19:49:35 -0700</bug_when>
    <thetext>Created attachment 159321
Proposed patch, includes updated unit test and new layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699172</commentid>
    <comment_count>6</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-19 20:09:51 -0700</bug_when>
    <thetext>Mario: An informal review would be awesome since this patch is related to hierachy and the text interface. (But don&apos;t let that scare you, the bulk of the patch is test-related.)

Chris: A formal review would be awesome since this $%^#! bug boils down to Orca users navigating and Orca presenting nothing when conditions are JustRight(tm). And it turns out it is far easier than I had initially realized to cause those conditions to occur. :(

Thanks in advance to you both!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699189</commentid>
    <comment_count>7</comment_count>
      <attachid>159321</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-19 21:03:07 -0700</bug_when>
    <thetext>Comment on attachment 159321
Proposed patch, includes updated unit test and new layout test

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

&gt; Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp:85
&gt; +    if (ariaRoleAttribute() != UnknownRole || parent-&gt;ariaRoleAttribute() != UnknownRole)

It seems that just asking the parent if it&apos;s not an unknown wouldn&apos;t account for
&lt;div&gt;&lt;div&gt;&lt;span&gt;element&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;, or anything with nested unknowns. I don&apos;t see what&apos;s special about a parent having unknown role, but not a grandparent.

&gt; Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp:91
&gt; +    if ((node() &amp;&amp; node()-&gt;hasTagName(spanTag)) || (renderObject &amp;&amp; renderObject-&gt;isAnonymousBlock())) {

It seems weird to special case spanTag here. That seems like a level of detail that platform wrapper shouldn&apos;t have to know. 
It also seems weird that these isBody checks are inside this block. Seems like you could just check for that outside this block.

The logic change here appears to be to cause &lt;spans&gt; and anonymous render blocks to be ignored, but doesn&apos;t WebCore do that already?

&gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:860
&gt; +                    || (!coreObject-&gt;isControl() &amp;&amp; !coreObject-&gt;textUnderElement().isEmpty()))

presumably this would make all kinds of things have the text interface. Tables, Lists, &lt;body&gt; element. Is that intended?
Also if you&apos;re checking textUnderElement(), does the renderer-&gt;childrenInline() check matter? It seems that anything that has textUnder it would be a candidate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699195</commentid>
    <comment_count>8</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-19 21:22:41 -0700</bug_when>
    <thetext>(In reply to comment #7)

Thanks for the review Chris.

The short version of the story is that I wasn&apos;t checking for spans or isBody() and thought I had a ready-to-go patch, but it broke a bunch of layout tests so those changes are reactions. But I was also getting tired. So I&apos;ll make the changes you suggest and try a fresh look at the problem.

If you (and/or Mario) have suggestions about how to ensure everything that should have AtkText actually does, it would be great. Otherwise, I&apos;ll give that some more thought as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699208</commentid>
    <comment_count>9</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-19 21:34:32 -0700</bug_when>
    <thetext>Sorry for the spam, but just noticed this:

(In reply to comment #7)
 
&gt; The logic change here appears to be to cause &lt;spans&gt; and anonymous render blocks to be ignored, but doesn&apos;t WebCore do that already?

Not if you have them mixed in a single element to be included. That&apos;s the problem. I&apos;ve seen cases where:

* The inline span gets ignored, the block span gets included.
* The inline span becomes a child of GroupRole, because of the block span.
* The GroupRole gets included and the parent Paragraph gets ignored.

I have a Mac Mini and should probably add build WebKit for the Mac to my TODO list. In the meantime, what do you see hierarchy-wize for the test cases?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699256</commentid>
    <comment_count>10</comment_count>
      <attachid>159342</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-19 23:40:32 -0700</bug_when>
    <thetext>Created attachment 159342
Just the layout only test

(In reply to comment #7)
 
&gt; The logic change here appears to be to cause &lt;spans&gt; and anonymous render blocks to be ignored, but doesn&apos;t WebCore do that already?

The attached patch is just the original (new) layout test. I applied it to WebKit from master and ran it. What I get in the WebKitGtk port is below.

Chris: If you could do what I did and run just the new layout test, but on the Mac port, and tell me what you get and if that jives with what you would expect, that would be quite helpful. Thanks in advance!

--- /home/jd/checkout/WebKit/WebKitBuild/Release/layout-test-results/platform/gtk/accessibility/spans-expected.txt
+++ /home/jd/checkout/WebKit/WebKitBuild/Release/layout-test-results/platform/gtk/accessibility/spans-actual.txt
@@ -17,19 +17,19 @@
 
 
 PASS element.role is &apos;AXRole: heading&apos;
-PASS element.childrenCount is 0
+FAIL element.childrenCount should be 0. Was 3.
 PASS element.role is &apos;AXRole: heading&apos;
 PASS element.childrenCount is 1
 PASS link.role is &apos;AXRole: link&apos;
-PASS link.childrenCount is 0
+FAIL link.childrenCount should be 0. Was 2.
 PASS element.role is &apos;AXRole: list&apos;
 PASS element.childrenCount is 2
 PASS item.role is &apos;AXRole: list item&apos;
-PASS item.childrenCount is 0
+FAIL item.childrenCount should be 0. Was 3.
 PASS item.role is &apos;AXRole: list item&apos;
 PASS item.childrenCount is 1
 PASS link.role is &apos;AXRole: link&apos;
-PASS link.childrenCount is 0
+FAIL link.childrenCount should be 0. Was 2.
 PASS successfullyParsed is true
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699294</commentid>
    <comment_count>11</comment_count>
      <attachid>159321</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-08-20 01:07:08 -0700</bug_when>
    <thetext>Comment on attachment 159321
Proposed patch, includes updated unit test and new layout test

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

&gt;&gt; Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp:85
&gt;&gt; +    if (ariaRoleAttribute() != UnknownRole || parent-&gt;ariaRoleAttribute() != UnknownRole)
&gt; 
&gt; It seems that just asking the parent if it&apos;s not an unknown wouldn&apos;t account for
&gt; &lt;div&gt;&lt;div&gt;&lt;span&gt;element&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;, or anything with nested unknowns. I don&apos;t see what&apos;s special about a parent having unknown role, but not a grandparent.

What about using parentObjectUnignored()? I think that would cover the issue with &quot;nested unknowns&quot; Chris mentioned. Not sure if it would be good enough, though

&gt;&gt; Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp:91
&gt;&gt; +    if ((node() &amp;&amp; node()-&gt;hasTagName(spanTag)) || (renderObject &amp;&amp; renderObject-&gt;isAnonymousBlock())) {
&gt; 
&gt; It seems weird to special case spanTag here. That seems like a level of detail that platform wrapper shouldn&apos;t have to know. 
&gt; It also seems weird that these isBody checks are inside this block. Seems like you could just check for that outside this block.
&gt; 
&gt; The logic change here appears to be to cause &lt;spans&gt; and anonymous render blocks to be ignored, but doesn&apos;t WebCore do that already?

I agree with Chris&apos;s concerns here. Also, I wonder whether this would work as expected for those cases where divs are displayed inline (&lt;div style=&quot;display:inline;&quot;&gt;), which I agree are not the regular use case of HTML, but it happens some time.

Maybe there&apos;s a better way to check this (and get the same results) by checking the computed style for the render object?

&gt; Source/WebKit/gtk/tests/testatk.c:413
&gt; +    g_assert_cmpstr(text, ==, &quot;Block span in a link\nInline span in a link&quot;);

You&apos;re leaking memory for text here. As atk_text_get_text returns newly allocated memory, you should ensure you call g_free before reusing that variable.

It seems the same issues was present in this function prior to this patch, though. This patch could be a good moment to fix them (I&apos;d put them in lines 375 and 386)

&gt; Source/WebKit/gtk/tests/testatk.c:426
&gt; +    g_assert_cmpstr(text, ==, &quot;Block span in a heading\nInline span in a heading&quot;);

Same leak here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700255</commentid>
    <comment_count>12</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-20 17:41:34 -0700</bug_when>
    <thetext>Well, I went ahead and set up a development environment on my Mac. Here are the mac results for the same test. Ignoring the rolename diffs, the hierarchy and child count looks the same.

Chris: Please let me know if the child count is what you expect (i.e. it&apos;s a platform bug) or not what you expect (it is a WebCore bug).

Thanks!

=====================
@@ -16,20 +16,20 @@
 On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
 
 
-PASS element.role is &apos;AXRole: heading&apos;
-PASS element.childrenCount is 0
-PASS element.role is &apos;AXRole: heading&apos;
+FAIL element.role should be AXRole: heading. Was AXRole: AXHeading.
+FAIL element.childrenCount should be 0. Was 3.
+FAIL element.role should be AXRole: heading. Was AXRole: AXHeading.
 PASS element.childrenCount is 1
-PASS link.role is &apos;AXRole: link&apos;
-PASS link.childrenCount is 0
-PASS element.role is &apos;AXRole: list&apos;
+FAIL link.role should be AXRole: link. Was AXRole: AXLink.
+FAIL link.childrenCount should be 0. Was 3.
+FAIL element.role should be AXRole: list. Was AXRole: AXList.
 PASS element.childrenCount is 2
-PASS item.role is &apos;AXRole: list item&apos;
-PASS item.childrenCount is 0
-PASS item.role is &apos;AXRole: list item&apos;
+FAIL item.role should be AXRole: list item. Was AXRole: AXGroup.
+FAIL item.childrenCount should be 0. Was 3.
+FAIL item.role should be AXRole: list item. Was AXRole: AXGroup.
 PASS item.childrenCount is 1
-PASS link.role is &apos;AXRole: link&apos;
-PASS link.childrenCount is 0
+FAIL link.role should be AXRole: link. Was AXRole: AXLink.
+FAIL link.childrenCount should be 0. Was 3.
 PASS successfullyParsed is true
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700320</commentid>
    <comment_count>13</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-20 18:44:58 -0700</bug_when>
    <thetext>It looks like the children count is different

&gt; +FAIL element.childrenCount should be 0. Was 3.

It looks like this patch makes every &lt;span&gt; into an accessible element. that&apos;s sort of a big change. maybe it doesn&apos;t matter, but it will add a whole lot more elements to the tree

(In reply to comment #12)
&gt; Well, I went ahead and set up a development environment on my Mac. Here are the mac results for the same test. Ignoring the rolename diffs, the hierarchy and child count looks the same.
&gt; 
&gt; Chris: Please let me know if the child count is what you expect (i.e. it&apos;s a platform bug) or not what you expect (it is a WebCore bug).
&gt; 
&gt; Thanks!
&gt; 
&gt; =====================
&gt; @@ -16,20 +16,20 @@
&gt;  On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
&gt; 
&gt; 
&gt; -PASS element.role is &apos;AXRole: heading&apos;
&gt; -PASS element.childrenCount is 0
&gt; -PASS element.role is &apos;AXRole: heading&apos;
&gt; +FAIL element.role should be AXRole: heading. Was AXRole: AXHeading.
&gt; +FAIL element.childrenCount should be 0. Was 3.
&gt; +FAIL element.role should be AXRole: heading. Was AXRole: AXHeading.
&gt;  PASS element.childrenCount is 1
&gt; -PASS link.role is &apos;AXRole: link&apos;
&gt; -PASS link.childrenCount is 0
&gt; -PASS element.role is &apos;AXRole: list&apos;
&gt; +FAIL link.role should be AXRole: link. Was AXRole: AXLink.
&gt; +FAIL link.childrenCount should be 0. Was 3.
&gt; +FAIL element.role should be AXRole: list. Was AXRole: AXList.
&gt;  PASS element.childrenCount is 2
&gt; -PASS item.role is &apos;AXRole: list item&apos;
&gt; -PASS item.childrenCount is 0
&gt; -PASS item.role is &apos;AXRole: list item&apos;
&gt; +FAIL item.role should be AXRole: list item. Was AXRole: AXGroup.
&gt; +FAIL item.childrenCount should be 0. Was 3.
&gt; +FAIL item.role should be AXRole: list item. Was AXRole: AXGroup.
&gt;  PASS item.childrenCount is 1
&gt; -PASS link.role is &apos;AXRole: link&apos;
&gt; -PASS link.childrenCount is 0
&gt; +FAIL link.role should be AXRole: link. Was AXRole: AXLink.
&gt; +FAIL link.childrenCount should be 0. Was 3.
&gt;  PASS successfullyParsed is true
&gt; 
&gt;  TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700332</commentid>
    <comment_count>14</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-20 19:01:09 -0700</bug_when>
    <thetext>Chris, I think you may not be understanding me. Which is my fault for writing when tired. Lemme try again.

You said in comment #7:
&gt; The logic change here appears to be to cause &lt;spans&gt; and anonymous render blocks to be ignored, but doesn&apos;t WebCore do that already?

The answer is no.

* Comment 10 shows what happens if I run the layout test from
  the proposed patch WITHOUT the code changes from the proposed
  patch. Without the code changes, I see spans and anonymous
  render blocks. I do NOT want to see spans and anonymous render
  blocks

(In reply to comment #13)
&gt; It looks like the children count is different
&gt; 
&gt; &gt; +FAIL element.childrenCount should be 0. Was 3.
&gt; 
&gt; It looks like this patch makes every &lt;span&gt; into an accessible element. that&apos;s sort of a big change. maybe it doesn&apos;t matter, but it will add a whole lot more elements to the tree

Nope. The patch with the code changes results in their being 0 children.
To get 3 children, just use the current WebKit.

* Comment 12 shows what happens if I run that same layout test in
  my shiny new Mac development environment. Using WebKit from master
  and NO code changes. And the answer is: I see the same spans. You
  seem to have essentially the same thing.

Based on your response in Comment #13:

&gt; It looks like this patch makes every &lt;span&gt; into an accessible element.
&gt; that&apos;s sort of a big change. maybe it doesn&apos;t matter, but it will add
&gt; a whole lot more elements to the tree

1. My patch doesn&apos;t do that. The current code does.
2. I&apos;m guessing that is something you didn&apos;t realize.
3. I&apos;m guessing my next attempt should filter out those spans for us all.

Please confirm.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701172</commentid>
    <comment_count>15</comment_count>
      <attachid>159777</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-21 15:18:18 -0700</bug_when>
    <thetext>Created attachment 159777
Fix for the failure to implement AtkText along with updated unit test

This patch addresses the AtkText issue.

Given this some further thought this situation is as follows:
  * It the object is not ignored, AND
  * If the object is a paragraph, heading, div, table cell, or list item THEN
  * It should claim to implement AtkText -- regardless of whether or not it has text
  * If it doesn&apos;t actually have text, it should claim to have 0 chars and an empty string

FWIW: This is what we see from LibreOffice and it is what we see from Gecko. (Not that either can be counted upon for always doing what is right, but in this case I do think it is right.)

Therefore this patch just does a simple role check for paragraph, heading, div, and cell. The reason I did not do it for list item is listitem is that role already has role-specific code that causes it to do the right thing.

Please review. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701174</commentid>
    <comment_count>16</comment_count>
      <attachid>159777</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-21 15:21:07 -0700</bug_when>
    <thetext>Comment on attachment 159777
Fix for the failure to implement AtkText along with updated unit test

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

&gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:860
&gt; +                    || role == ParagraphRole || role == HeadingRole || role == DivRole || role == CellRole)

having an &amp;&amp; and then an || without parenthesis makes it ambiguous which will be interpreted first (so we should add parens around the renderer &amp;&amp; render-&gt;childrenInline)

I also think you should have a static method like roleIsTextType(AXRole role) instead of listing out each role here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701254</commentid>
    <comment_count>17</comment_count>
      <attachid>159791</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-21 16:17:50 -0700</bug_when>
    <thetext>Created attachment 159791
Fix for the failure to implement AtkText along with updated unit test

Makes the changes specified by Chris. (Thanks!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701264</commentid>
    <comment_count>18</comment_count>
      <attachid>159791</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-21 16:22:04 -0700</bug_when>
    <thetext>Comment on attachment 159791
Fix for the failure to implement AtkText along with updated unit test

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

&gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:820
&gt; +    return (role == ParagraphRole || role == HeadingRole || role == DivRole || role == CellRole);

i think the parens around the statement are not necessary. i&apos;m not sure if there is a style guide entry about this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701270</commentid>
    <comment_count>19</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-21 16:25:36 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 159791 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=159791&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:820
&gt; &gt; +    return (role == ParagraphRole || role == HeadingRole || role == DivRole || role == CellRole);
&gt; 
&gt; i think the parens around the statement are not necessary. i&apos;m not sure if there is a style guide entry about this

  $ Tools/Scripts/check-webkit-style 
  WARNING: File exempt from style guide. Skipping:   
  &quot;Source/WebKit/gtk/tests/testatk.c&quot;
  Total errors found: 0 in 4 files

Would you like a new patch with the parens removed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701274</commentid>
    <comment_count>20</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-21 16:28:43 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; (From update of attachment 159791 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=159791&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:820
&gt; &gt; &gt; +    return (role == ParagraphRole || role == HeadingRole || role == DivRole || role == CellRole);
&gt; &gt; 
&gt; &gt; i think the parens around the statement are not necessary. i&apos;m not sure if there is a style guide entry about this
&gt; 
&gt;   $ Tools/Scripts/check-webkit-style 
&gt;   WARNING: File exempt from style guide. Skipping:   
&gt;   &quot;Source/WebKit/gtk/tests/testatk.c&quot;
&gt;   Total errors found: 0 in 4 files
&gt; 
&gt; Would you like a new patch with the parens removed?

Yes. Thank you</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701283</commentid>
    <comment_count>21</comment_count>
      <attachid>159799</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-21 16:33:27 -0700</bug_when>
    <thetext>Created attachment 159799
Fix for the failure to implement AtkText along with updated unit test

(In reply to comment #20)

&gt; &gt; Would you like a new patch with the parens removed?
&gt; 
&gt; Yes. Thank you

Here you go. Thanks again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701459</commentid>
    <comment_count>22</comment_count>
      <attachid>159799</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 18:36:40 -0700</bug_when>
    <thetext>Comment on attachment 159799
Fix for the failure to implement AtkText along with updated unit test

Clearing flags on attachment: 159799

Committed r126243: &lt;http://trac.webkit.org/changeset/126243&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701460</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 18:36:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701475</commentid>
    <comment_count>24</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-21 18:49:10 -0700</bug_when>
    <thetext>(Reopening because I separated the problems. The AtkText part is solved. What remains is the extra children in the hierarchy for WebCore a11y)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702694</commentid>
    <comment_count>25</comment_count>
      <attachid>160086</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-22 22:36:46 -0700</bug_when>
    <thetext>Created attachment 160086
proposed fix - part 2

* Ignore inline spans in WebCore a11y
* Ignore anonymous blocks in Gtk platform a11y
* Treat list items as text role
* New layout test
* Corrected layout test (mismatched tags discovered as a result of this fix)
* Updated layout test (remove extraneous and now-ignored GroupRole object)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704628</commentid>
    <comment_count>26</comment_count>
      <attachid>160543</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-24 19:42:55 -0700</bug_when>
    <thetext>Created attachment 160543
proposed fix - part 2 (master compatible)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704631</commentid>
    <comment_count>27</comment_count>
      <attachid>160543</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-24 19:48:48 -0700</bug_when>
    <thetext>Comment on attachment 160543
proposed fix - part 2 (master compatible)

*sobs* forgot to re-git-add the new tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704639</commentid>
    <comment_count>28</comment_count>
      <attachid>160549</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-24 20:05:51 -0700</bug_when>
    <thetext>Created attachment 160549
proposed fix - part 2 (master compatible AND with new tests git-added)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704640</commentid>
    <comment_count>29</comment_count>
      <attachid>160550</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-24 20:18:08 -0700</bug_when>
    <thetext>Created attachment 160550
proposed fix - part 3 (includes new test)

Yet another aspect of this bug is expected accessible objects of DivRole and ParagraphRole being ignored, in favor of including child blocks.

N.B. this patch&apos;s test assume/rely in part upon the Part 2 fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704647</commentid>
    <comment_count>30</comment_count>
      <attachid>160549</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-24 21:45:08 -0700</bug_when>
    <thetext>Comment on attachment 160549
proposed fix - part 2 (master compatible AND with new tests git-added)

EWS is green, so....

Chris, when you get a chance could you please review this? Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704648</commentid>
    <comment_count>31</comment_count>
      <attachid>160550</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-24 21:48:14 -0700</bug_when>
    <thetext>Comment on attachment 160550
proposed fix - part 3 (includes new test)

EWS is NOT green, but.... This patch assumes the part 2 patch and the EWS failure is due to this patch not applying without the previous one having been first applied. So...

Chris, if you have a little extra time after reviewing part 2, could you please also review this one? Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704934</commentid>
    <comment_count>32</comment_count>
      <attachid>159799</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-26 21:15:35 -0700</bug_when>
    <thetext>Comment on attachment 159799
Fix for the failure to implement AtkText along with updated unit test

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

&gt; Source/WebKit/gtk/tests/testatk.c:351
&gt; +    g_free (text);

extra space after g_free

&gt; Source/WebKit/gtk/tests/testatk.c:357
&gt; +    g_free (text);

extra space after g_free</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704935</commentid>
    <comment_count>33</comment_count>
      <attachid>160549</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-26 21:16:50 -0700</bug_when>
    <thetext>Comment on attachment 160549
proposed fix - part 2 (master compatible AND with new tests git-added)

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

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1956
&gt; +    if (node &amp;&amp; node-&gt;hasTagName(spanTag))

we should have a comment here as to why all span tags need to be ignored</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705099</commentid>
    <comment_count>34</comment_count>
      <attachid>160678</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-27 02:21:28 -0700</bug_when>
    <thetext>Created attachment 160678
proposed fix - part 2 (addressed feedback from review)

(In reply to comment #33)
&gt; (From update of attachment 160549 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=160549&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1956
&gt; &gt; +    if (node &amp;&amp; node-&gt;hasTagName(spanTag))
&gt; 
&gt; we should have a comment here as to why all span tags need to be ignored

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705867</commentid>
    <comment_count>35</comment_count>
      <attachid>160678</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-27 16:41:27 -0700</bug_when>
    <thetext>Comment on attachment 160678
proposed fix - part 2 (addressed feedback from review)

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

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1956
&gt; +    // Content inside span tags gets included in the parent text object.

I don&apos;t feel like this comment is adequate to explain why they&apos;re ignored at this point. 

If I had to guess it&apos;s because 

&quot;&lt;span&gt; tags are inline tags and not meant to convey information if they have no other aria information on them. If we don&apos;t ignore them, then they can cause other elements to be ignored because....&quot;

&gt; Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp:83
&gt; +        &amp;&amp; parent-&gt;ariaRoleAttribute() == UnknownRole)

this seems like very specific logic. Generally we don&apos;t make inclusion decisions based on what the parent is doing. can you add a better comment here why an anonymous block, who&apos;s parent is not the body, and who&apos;s parent is not an unknown role, is ignored?

also, why does it only matter for the parent&apos;s aria role but not it&apos;s normal role?

&gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:822
&gt; +    return role == ParagraphRole || role == HeadingRole || role == DivRole || role == CellRole || role == ListItemRole;

this patch here seems like a separate issue from the rest of this patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705963</commentid>
    <comment_count>36</comment_count>
      <attachid>160878</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-27 18:23:27 -0700</bug_when>
    <thetext>Created attachment 160878
proposed fix - part 2 (addressed feedback from review)

(In reply to comment #35)

Thanks Chris! I fear this time I may have gone too far in the other direction (too long a comment), but I hope not.
 
&gt; If I had to guess it&apos;s because 
&gt; 
&gt; &quot;&lt;span&gt; tags are inline tags and not meant to convey information if they have no other aria information on them. If we don&apos;t ignore them, then they can cause other elements to be ignored because....&quot;

(They also cause events to be emitted from the wrong object.)

Both explained.

&gt; &gt; Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp:83
&gt; &gt; +        &amp;&amp; parent-&gt;ariaRoleAttribute() == UnknownRole)
&gt; 
&gt; this seems like very specific logic. Generally we don&apos;t make inclusion decisions based on what the parent is doing. can you add a better comment here why an anonymous block, who&apos;s parent is not the body, and who&apos;s parent is not an unknown role, is ignored?
&gt; 
&gt; also, why does it only matter for the parent&apos;s aria role but not it&apos;s normal role?

Bottom line is being conservative and going with the default behavior for now. But I detailed the areas.
 
&gt; &gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:822
&gt; &gt; +    return role == ParagraphRole || role == HeadingRole || role == DivRole || role == CellRole || role == ListItemRole;
&gt; 
&gt; this patch here seems like a separate issue from the rest of this patch

It does seem so on the surface. But it turns out that without that change, this patch introduces a regression in one of the unit tests. As I mentioned in comment 15, while list item is an always-expect-AtkText role I had not explicitly included it because we already had role-specific code handling that situation. Turned out the handling was based on an unwanted, unexpected GroupRole object. That is my mistake, for which I apologize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709007</commentid>
    <comment_count>37</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-30 13:57:48 -0700</bug_when>
    <thetext>Chris: Ping?

Are you crazy-busy, or do you want things done differently on the part 2 and/or part 3 patches that I still need to do? If the former, I understand completely and am sorry. If the latter, please let me know what they are and/or if there are bits you are fine with so that I can do a new patch with just those bits.

This particular bug results has significant impact for Orca users and I am really hoping it can be fixed in time for the GNOME 3.6 release. (Next webkitgtk release is Monday and we&apos;re nearly at code freeze.)

Sorry for being a noodge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709298</commentid>
    <comment_count>38</comment_count>
      <attachid>160878</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-30 21:30:13 -0700</bug_when>
    <thetext>Comment on attachment 160878
proposed fix - part 2 (addressed feedback from review)

thanks for updates to comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709300</commentid>
    <comment_count>39</comment_count>
      <attachid>160878</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-30 21:31:42 -0700</bug_when>
    <thetext>Comment on attachment 160878
proposed fix - part 2 (addressed feedback from review)

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709301</commentid>
    <comment_count>40</comment_count>
      <attachid>160550</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-30 21:33:18 -0700</bug_when>
    <thetext>Comment on attachment 160550
proposed fix - part 3 (includes new test)

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

looks ok otherwise

&gt; Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp:82
&gt; +    // ignores the paragraph or div and includes the block. We want the opposite.

it might be worth noting why GTK wants to do the opposite (since there&apos;s no link back to which bug this is fixing)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709353</commentid>
    <comment_count>41</comment_count>
      <attachid>161630</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-31 00:57:39 -0700</bug_when>
    <thetext>Created attachment 161630
proposed fix - part 3 (addressed feedback from review)

(In reply to comment #40)
&gt; (From update of attachment 160550 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=160550&amp;action=review
&gt; 
&gt; looks ok otherwise
&gt; 
&gt; &gt; Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp:82
&gt; &gt; +    // ignores the paragraph or div and includes the block. We want the opposite.
&gt; 
&gt; it might be worth noting why GTK wants to do the opposite (since there&apos;s no link back to which bug this is fixing)

Done. Thanks for the review!

r?ing and cq?ing. But note that this patch expects/depends upon the &quot;Part 2&quot; patch, so I fully expect the EWS to spit up on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710203</commentid>
    <comment_count>42</comment_count>
      <attachid>160878</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-01 01:30:18 -0700</bug_when>
    <thetext>Comment on attachment 160878
proposed fix - part 2 (addressed feedback from review)

Rejecting attachment 160878 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
.cpp
Hunk #1 FAILED at 1953.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebCore/accessibility/AccessibilityRenderObject.cpp.rej
patching file Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
patching file Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp
Hunk #1 succeeded at 820 (offset 1 line).

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Chris Flei...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/13724481</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710206</commentid>
    <comment_count>43</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-01 01:53:58 -0700</bug_when>
    <thetext>(In reply to comment #42)
&gt; (From update of attachment 160878 [details])
&gt; Rejecting attachment 160878 [details] from commit-queue.
&gt; 
&gt; Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2
&gt; 
&gt; Last 500 characters of output:
&gt; .cpp
&gt; Hunk #1 FAILED at 1953.
&gt; 1 out of 1 hunk FAILED -- saving rejects to file Source/WebCore/accessibility/AccessibilityRenderObject.cpp.rej
&gt; patching file Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
&gt; patching file Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp
&gt; Hunk #1 succeeded at 820 (offset 1 line).
&gt; 
&gt; Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Chris Flei...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue
&gt; 
&gt; Full output: http://queues.webkit.org/results/13724481

Rebased on ToT and landed in r127368:
http://trac.webkit.org/changeset/127368</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710211</commentid>
    <comment_count>44</comment_count>
      <attachid>161820</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-09-01 02:16:12 -0700</bug_when>
    <thetext>Created attachment 161820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710212</commentid>
    <comment_count>45</comment_count>
      <attachid>161821</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-09-01 02:45:25 -0700</bug_when>
    <thetext>Created attachment 161821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710215</commentid>
    <comment_count>46</comment_count>
      <attachid>161821</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-01 03:51:01 -0700</bug_when>
    <thetext>Comment on attachment 161821
Patch

Clearing flags on attachment: 161821

Committed r127370: &lt;http://trac.webkit.org/changeset/127370&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710216</commentid>
    <comment_count>47</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-01 03:51:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710227</commentid>
    <comment_count>48</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-09-01 06:32:14 -0700</bug_when>
    <thetext>(For reference in case gardeners come looking here)

I&apos;m seeing the need for just... one... more.... tweak to the replaced-objects-in-anonymous-blocks.html layout test. I opened bug 95643.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>115961</attachid>
            <date>2011-11-19 15:06:32 -0800</date>
            <delta_ts>2011-11-19 15:06:32 -0800</delta_ts>
            <desc>test script</desc>
            <filename>text-lines.py</filename>
            <type>text/plain</type>
            <size>483</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9weXRob24KCmltcG9ydCBweWF0c3BpCgpkZWYgb25DYXJldE1vdmVkKGV2ZW50
KToKICAgIHRyeToKICAgICAgICB0ZXh0ID0gZXZlbnQuc291cmNlLnF1ZXJ5VGV4dCgpCiAgICBl
eGNlcHQgTm90SW1wbGVtZW50ZWRFcnJvcjoKICAgICAgICByZXR1cm4KCiAgICBsaW5lID0gdGV4
dC5nZXRUZXh0QXRPZmZzZXQodGV4dC5jYXJldE9mZnNldCwgcHlhdHNwaS5URVhUX0JPVU5EQVJZ
X0xJTkVfU1RBUlQpCiAgICBwcmludCAiXG5DdXJyZW50IGxpbmU6ICVzXG5zdGFydE9mZnNldDog
JXMgZW5kT2Zmc2V0OiAlcyBjYXJldE9mZnNldDogJXMiICUgXAogICAgICAgIChsaW5lWzBdLCBs
aW5lWzFdLCBsaW5lWzJdLCB0ZXh0LmNhcmV0T2Zmc2V0KQoKcHlhdHNwaS5SZWdpc3RyeS5yZWdp
c3RlckV2ZW50TGlzdGVuZXIob25DYXJldE1vdmVkLCAib2JqZWN0OnRleHQtY2FyZXQtbW92ZWQi
KQpweWF0c3BpLlJlZ2lzdHJ5LnN0YXJ0KCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>158641</attachid>
            <date>2012-08-15 14:55:41 -0700</date>
            <delta_ts>2012-08-16 13:26:35 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>72811.html</filename>
            <type>text/plain</type>
            <size>115</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5Pgo8cD5FdmVudHMgb2NjdXIgaGVyZS48L3A+CjxzcGFuPlRoaXMgaXMgYnJv
a2VuLjwvc3Bhbj4KPHA+RXZlbnRzIG9jY3VyIGhlcmUgdG9vLjwvcD4KPC9ib2R5Pgo8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>158885</attachid>
            <date>2012-08-16 13:26:35 -0700</date>
            <delta_ts>2012-08-16 16:30:58 -0700</delta_ts>
            <desc>New test case</desc>
            <filename>72811.html</filename>
            <type>text/plain</type>
            <size>965</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSJsYXlvdXQuY3NzIiAvPgo8L2hlYWQ+Cjxib2R5Pgo8cD5JdCBzZWVtcyB0aGF0IHNwYW5zIGFy
ZSBleHBvc2VkIGFzIGhhdmluZyBHcm91cFJvbGUgKHRyYW5zbGF0ZXMgdG8gQVRLX1JPTEVfUEFO
RUwpLiBJZiB0aGUgc3BhbiBpcyBkaXNwbGF5ZWQgYXMgYSBibG9jayBlbGVtZW50LCB3ZSBnZXQg
Y2FyZXQgbW92ZWQgZXZlbnRzOyBvdGhlcndpc2Ugd2UgZG8gbm90LjwvcD4KICA8b2w+CiAgICA8
bGk+CiAgICAgIDxoND4KICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPkNhcmV0
IG1vdmVkIGV2ZW50cyBoZXJlIGZyb20gb2JqZWN0MSBvZiByb2xlIHBhbmVsLjwvc3Bhbj4KICAg
ICAgICA8c3Bhbj5DYXJldCBtb3ZlZCBldmVudHMgbWlzc2luZyBoZXJlIGZyb20gb2JqZWN0MiBv
ZiByb2xlIHBhbmVsLjwvc3Bhbj4KICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsi
PkNhcmV0IG1vdmVkIGV2ZW50cyBoZXJlIGZyb20gb2JqZWN0MyBvZiByb2xlIHBhbmVsLjwvc3Bh
bj4KICAgICAgPC9oND4KICAgIDwvbGk+CiAgPC9vbD4KICA8c3BhbiBzdHlsZT0iZGlzcGxheTpi
bG9jazsiPkNhcmV0IG1vdmVkIGV2ZW50cyBoZXJlIGZyb20gb2JqZWN0MSBvZiByb2xlIHBhbmVs
Ljwvc3Bhbj4KICA8c3Bhbj5DYXJldCBtb3ZlZCBldmVudHMgbWlzc2luZyBoZXJlIGZyb20gb2Jq
ZWN0MiBvZiByb2xlIHBhbmVsLjwvc3Bhbj4KICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsi
PkNhcmV0IG1vdmVkIGV2ZW50cyBoZXJlIGZyb20gb2JqZWN0MyBvZiByb2xlIHBhbmVsLjwvc3Bh
bj4KICA8cD5FdmVudHMgb2NjdXIgaGVyZS48L3A+CiAgPHNwYW4+VGhpcyBpcyBicm9rZW4uPC9z
cGFuPgogIDxwPkV2ZW50cyBvY2N1ciBoZXJlIHRvby48L3A+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>158937</attachid>
            <date>2012-08-16 16:30:58 -0700</date>
            <delta_ts>2012-08-16 16:30:58 -0700</delta_ts>
            <desc>New new test case</desc>
            <filename>72811.html</filename>
            <type>text/plain</type>
            <size>1151</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSJsYXlvdXQuY3NzIiAvPgo8L2hlYWQ+Cjxib2R5Pgo8cD5JdCBzZWVtcyB0aGF0IHNwYW5zIGFy
ZSBleHBvc2VkIGFzIGhhdmluZyBHcm91cFJvbGUgKHRyYW5zbGF0ZXMgdG8gQVRLX1JPTEVfUEFO
RUwpLiBJZiB0aGUgc3BhbiBpcyBkaXNwbGF5ZWQgYXMgYSBibG9jayBlbGVtZW50LCB3ZSBnZXQg
Y2FyZXQgbW92ZWQgZXZlbnRzOyBvdGhlcndpc2Ugd2UgZG8gbm90LjwvcD4KICA8b2w+CiAgICA8
bGk+CiAgICAgIDxoND4KICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPkNhcmV0
IG1vdmVkIGV2ZW50cyBoZXJlIGZyb20gb2JqZWN0MSBvZiByb2xlIHBhbmVsLjwvc3Bhbj4KICAg
ICAgICA8c3Bhbj5DYXJldCBtb3ZlZCBldmVudHMgbWlzc2luZyBoZXJlIGZyb20gb2JqZWN0MiBv
ZiByb2xlIHBhbmVsLjwvc3Bhbj4KICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsi
PkNhcmV0IG1vdmVkIGV2ZW50cyBoZXJlIGZyb20gb2JqZWN0MyBvZiByb2xlIHBhbmVsLjwvc3Bh
bj4KICAgICAgPC9oND4KICAgIDwvbGk+CiAgPC9vbD4KICA8c3BhbiBzdHlsZT0iZGlzcGxheTpi
bG9jazsiPkNhcmV0IG1vdmVkIGV2ZW50cyBoZXJlIGZyb20gb2JqZWN0MSBvZiByb2xlIHBhbmVs
Ljwvc3Bhbj4KICA8c3Bhbj5DYXJldCBtb3ZlZCBldmVudHMgbWlzc2luZyBoZXJlIGZyb20gb2Jq
ZWN0MiBvZiByb2xlIHBhbmVsLjwvc3Bhbj4KICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsi
PkNhcmV0IG1vdmVkIGV2ZW50cyBoZXJlIGZyb20gb2JqZWN0MyBvZiByb2xlIHBhbmVsLjwvc3Bh
bj4KICA8cD5FdmVudHMgb2NjdXIgaGVyZS48L3A+CiAgPHNwYW4+VGhpcyBpcyBicm9rZW4uPC9z
cGFuPgogIDxwPkV2ZW50cyBvY2N1ciBoZXJlIHRvby48L3A+CiAgPGEgaHJlZj0iZm9vIj4KICAg
IDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+Q2FyZXQgbW92ZWQgZXZlbnRzIGFyZSBmaW5l
IGhlcmUuPC9zcGFuPgogICAgPHNwYW4gY2xhc3M9InN1YnRpdGxlIj5ObyBjYXJldCBtb3ZlZCBl
dmVudHMgaGVyZSBiZWNhdXNlIEFUS19JU19URVhUIGZhaWxzLjwvc3Bhbj4KICA8L2E+CjwvYm9k
eT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159321</attachid>
            <date>2012-08-19 19:49:35 -0700</date>
            <delta_ts>2012-08-21 15:18:18 -0700</delta_ts>
            <desc>Proposed patch, includes updated unit test and new layout test</desc>
            <filename>72811.patch</filename>
            <type>text/plain</type>
            <size>16897</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBmMTI0N2RlZmRkM2NjNTI1ZTY5YjdjNTczNzIzMzc0Y2YyYzQ0NGIzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBTdW4sIDE5IEF1ZyAyMDEyIDIyOjQ2OjEzIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gRml4
IGZvciBidWcgNzI4MTEKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAyMiArKysrKysKIC4uLi9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBl
Y3RlZC50eHQgICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9ndGsvYWNjZXNzaWJpbGl0eS9hcmlh
LXJvbGVzLXVuaWdub3JlZC5odG1sICAgIHwgIDQgKy0KIC4uLi9wbGF0Zm9ybS9ndGsvYWNjZXNz
aWJpbGl0eS9zcGFucy1leHBlY3RlZC50eHQgIHwgMzYgKysrKysrKysrKwogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbCAgfCA3OCArKysrKysrKysrKysr
KysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8IDI2ICsrKysrKysrCiAuLi4vYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9i
amVjdEF0ay5jcHAgICB8IDIzICsrKysrKysKIC4uLi9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBw
ZXJBdGsuY3BwICAgICAgICAgICAgIHwgIDMgKy0KIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrCiBTb3VyY2UvV2ViS2l0L2d0ay90
ZXN0cy90ZXN0YXRrLmMgICAgICAgICAgICAgICAgICB8IDMxICsrKysrKysrLQogMTAgZmlsZXMg
Y2hhbmdlZCwgMjQwIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtZXhwZWN0
ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvc3BhbnMuaHRtbAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMjc3ZWUwLi40OWQxZGY3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMTItMDgtMTkgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtHdGtdIE5vIGFjY2Vzc2libGUgY2FyZXQtbW92ZWQgZXZlbnRzIGZv
dW5kIGluIGNlcnRhaW4gY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzI4MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgYnVnIHJlc3VsdGVkIGZyb20gcGxhdGZvcm0tc3BlY2lmaWMgcHJv
YmxlbXMgYXNzb2NpYXRlZCB3aXRoIHRoZQorICAgICAgICBwcmVzZW5jZSBvZiBib3RoIGlubGlu
ZSBhbmQgYmxvY2sgY2hpbGRyZW4gdW5kZXIgdGhlIHNhbWUgYWNjZXNzaWJsZQorICAgICAgICBv
YmplY3QuIFRoZSBvbWlzc2lvbiBvZiBleHBlY3RlZCBldmVudHMgY2FtZSBmcm9tIHR3byBpc3N1
ZXM6IE1pc3NpbmcKKyAgICAgICAgYW5kIHVuZXhwZWN0ZWQgYWNjZXNzaWJsZSBvYmplY3RzLCBh
bmQgb2JqZWN0cyBjbGFpbWluZyBub3QgdG8gaGF2ZQorICAgICAgICBpbXBsZW1lbnRlZCB0aGUg
QXRrVGV4dCBpbnRlcmZhY2UuCisKKyAgICAgICAgQSBuZXcgbGF5b3V0IHRlc3Qgd2FzIGFkZGVk
IHRvIHRlc3QgZm9yIHRoZSBleHBlY3RlZCBvYmplY3RzLgorICAgICAgICBBbiBleGlzdGluZyB0
ZXN0IHdhcyBtb2RpZmllZCB0byBjb3JyZWN0IGEgbWFya3VwIG1pc3Rha2UgdW5jb3ZlcmVkCisg
ICAgICAgIGFzIGEgcmVzdWx0IG9mIGZpeGluZyBidWcgNzI4MTEuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3RlZC50eHQ6
IFVwZGF0ZSBleHBlY3RlZCByZXN1bHRzLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWw6IENvcnJlY3RlZCBtaXMtbWF0Y2hlZCBl
bGVtZW50IHRhZ3MuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0
eS9zcGFucy5odG1sOiBBZGRlZC4KKwogMjAxMi0wOC0xOCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGb2xsb3cgdXAgdG8gcjEyNTk2NiwgZml4aW5n
IGZsYWt5IHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQtZXhwZWN0ZWQu
dHh0CmluZGV4IDMyNTUxNjQuLmYwNTFjMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVu
aWdub3JlZC1leHBlY3RlZC50eHQKQEAgLTE4LDcgKzE4LDcgQEAgUEFTUyBlbGVtZW50LnJvbGUg
aXMgJ0FYUm9sZTogbGFiZWwnCiBQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBoZWFkaW5n
JwogUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogZm9ybScKIFBBU1MgZWxlbWVudC5yb2xl
IGlzICdBWFJvbGU6IHB1c2ggYnV0dG9uJwotUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTog
cGFuZWwnCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBzZWN0aW9uJwogUEFTUyBlbGVt
ZW50LnJvbGUgaXMgJ0FYUm9sZTogZW50cnknCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5
L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNj
ZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sCmluZGV4IDk2YjM1YzkuLjZhZmYw
MzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2Fy
aWEtcm9sZXMtdW5pZ25vcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Fj
Y2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbApAQCAtMTQsNyArMTQsNyBAQAog
PGZvcm0+QSBmb3JtIHdpdGggYSBidXR0b24gPGJ1dHRvbiBuYW1lPSJidXR0b24iIHZhbHVlPSJC
dXR0b24iPkNsaWNrIG1lITwvYnV0dG9uPjwvZm9ybT4KIDxmb3JtIHJvbGU9ImJ1dHRvbiI+SnVz
dCBhIGJ1dHRvbiA8YnV0dG9uIG5hbWU9ImJ1dHRvbiIgdmFsdWU9IkJ1dHRvbiI+Q2xpY2sgbWUh
PC9idXR0b24+PC9mb3JtPgogCi08ZGl2Pkp1c3Qgc29tZSB0ZXh0IGluc2lkZSBhIGRpdjwvZm9y
bT4KKzxkaXY+SnVzdCBzb21lIHRleHQgaW5zaWRlIGEgZGl2PC9kaXY+CiA8ZGl2IHJvbGU9InRl
eHRib3giPlRoaXMgZGl2IGlzIGNvbnRhaW5zIGEgdGV4dGJveCAoYW4gZW50cnkpPC9kaXY+CiAK
IDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgpAQCAtNTEsNyArNTEsNyBAQCBpZiAod2luZG93LmFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAKICAgICAvLyBEaXZzCiAgICAgZWxlbWVudCA9IHdl
YkFyZWEuY2hpbGRBdEluZGV4KDUpOwotICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FY
Um9sZTogcGFuZWwnIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBz
ZWN0aW9uJyIpOwogICAgIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCg2KTsKICAgICBz
aG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IGVudHJ5JyIpOwogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyOTQ0OTIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFu
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorZmlyc3QgYmxvY2sgc3BhbgoraW5saW5l
IHNwYW4KK3NlY29uZCBibG9jayBzcGFuCitmaXJzdCBibG9jayBzcGFuCitpbmxpbmUgc3Bhbgor
c2Vjb25kIGJsb2NrIHNwYW4KKworZmlyc3QgYmxvY2sgc3BhbgoraW5saW5lIHNwYW4KK3NlY29u
ZCBibG9jayBzcGFuCitmaXJzdCBibG9jayBzcGFuCitpbmxpbmUgc3Bhbgorc2Vjb25kIGJsb2Nr
IHNwYW4KK1RoaXMgdGVzdHMgdGhhdCBib3RoIGJsb2NrIHNwYW5zIGFuZCBpbmxpbmUgc3BhbnMg
Z2V0IGZvbGRlZCBpbnRvIHRoZSBwYXJlbnQgb2JqZWN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBoZWFkaW5nJworUEFTUyBl
bGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTog
aGVhZGluZycKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDEKK1BBU1MgbGluay5yb2xl
IGlzICdBWFJvbGU6IGxpbmsnCitQQVNTIGxpbmsuY2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIGVs
ZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBsaXN0JworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQg
aXMgMgorUEFTUyBpdGVtLnJvbGUgaXMgJ0FYUm9sZTogbGlzdCBpdGVtJworUEFTUyBpdGVtLmNo
aWxkcmVuQ291bnQgaXMgMAorUEFTUyBpdGVtLnJvbGUgaXMgJ0FYUm9sZTogbGlzdCBpdGVtJwor
UEFTUyBpdGVtLmNoaWxkcmVuQ291bnQgaXMgMQorUEFTUyBsaW5rLnJvbGUgaXMgJ0FYUm9sZTog
bGluaycKK1BBU1MgbGluay5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4yZTcyYTBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbApAQCAtMCwwICsxLDc4IEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKzxoND4KKyAgPHNwYW4gc3R5bGU9
ImRpc3BsYXk6YmxvY2s7Ij5maXJzdCBibG9jayBzcGFuPC9zcGFuPgorICA8c3Bhbj5pbmxpbmUg
c3Bhbjwvc3Bhbj4KKyAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5zZWNvbmQgYmxvY2sg
c3Bhbjwvc3Bhbj4KKzwvaDQ+Cis8aDQ+CisgIDxhIGhyZWY9ImZvbyI+CisgICAgICA8c3BhbiBz
dHlsZT0iZGlzcGxheTpibG9jazsiPmZpcnN0IGJsb2NrIHNwYW48L3NwYW4+CisgICAgICA8c3Bh
bj5pbmxpbmUgc3Bhbjwvc3Bhbj4KKyAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+
c2Vjb25kIGJsb2NrIHNwYW48L3NwYW4+CisgIDwvYT4KKzwvaDQ+Cis8b2w+CisgIDxsaT4KKyAg
ICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPmZpcnN0IGJsb2NrIHNwYW48L3NwYW4+Cisg
ICAgPHNwYW4+aW5saW5lIHNwYW48L3NwYW4+CisgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6Ymxv
Y2s7Ij5zZWNvbmQgYmxvY2sgc3Bhbjwvc3Bhbj4KKyAgPC9saT4KKyAgPGxpPgorICAgIDxhIGhy
ZWY9ImZvbyI+CisgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPmZpcnN0IGJsb2Nr
IHNwYW48L3NwYW4+CisgICAgICA8c3Bhbj5pbmxpbmUgc3Bhbjwvc3Bhbj4KKyAgICAgIDxzcGFu
IHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+c2Vjb25kIGJsb2NrIHNwYW48L3NwYW4+CisgICAgPC9h
PgorICA8L2xpPgorPC9vbD4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBib3Ro
IGJsb2NrIHNwYW5zIGFuZCBpbmxpbmUgc3BhbnMgZ2V0IGZvbGRlZCBpbnRvIHRoZSBwYXJlbnQg
b2JqZWN0Iik7CisKK2lmICh3aW5kb3cubGF5b3V0Q29udHJvbGxlcikgeworICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworfQorCitpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVy
KSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHkiKS5mb2N1cygpOworICAgIHZh
ciB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAg
ICB2YXIgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJl
bGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogaGVhZGluZyciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVu
dC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJ
bmRleCgxKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IGhlYWRpbmcn
Iik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIxIik7CisKKyAgICB2
YXIgbGluayA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJsaW5rLnJv
bGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAgICBzaG91bGRCZSgibGluay5jaGlsZHJlbkNvdW50
IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgyKTsKKyAgICBz
aG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IGxpc3QnIik7CisgICAgc2hvdWxkQmUo
ImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIyIik7CisKKyAgICB2YXIgaXRlbSA9IGVsZW1lbnQu
Y2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJpdGVtLnJvbGUiLCAiJ0FYUm9sZTogbGlz
dCBpdGVtJyIpOworICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisg
ICAgaXRlbSA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDEpOworICAgIHNob3VsZEJlKCJpdGVtLnJv
bGUiLCAiJ0FYUm9sZTogbGlzdCBpdGVtJyIpOworICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVu
Q291bnQiLCAiMSIpOworCisgICAgbGluayA9IGl0ZW0uY2hpbGRBdEluZGV4KDApOworICAgIHNo
b3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAgICBzaG91bGRCZSgibGlu
ay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MDA5ZDE5Li44NDlkNTQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTItMDgtMTkgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHdGtdIE5vIGFjY2Vzc2libGUgY2FyZXQtbW92ZWQgZXZlbnRz
IGZvdW5kIGluIGNlcnRhaW4gY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgYnVnIHJlc3VsdGVkIGZyb20gcGxhdGZvcm0tc3BlY2lmaWMg
cHJvYmxlbXMgYXNzb2NpYXRlZCB3aXRoIHRoZQorICAgICAgICBwcmVzZW5jZSBvZiBib3RoIGlu
bGluZSBhbmQgYmxvY2sgY2hpbGRyZW4gdW5kZXIgdGhlIHNhbWUgYWNjZXNzaWJsZQorICAgICAg
ICBvYmplY3QuIFRoZSBvbWlzc2lvbiBvZiBleHBlY3RlZCBldmVudHMgY2FtZSBmcm9tIHR3byBp
c3N1ZXM6IE1pc3NpbmcKKyAgICAgICAgYW5kIHVuZXhwZWN0ZWQgYWNjZXNzaWJsZSBvYmplY3Rz
LCBhbmQgb2JqZWN0cyBjbGFpbWluZyBub3QgdG8gaGF2ZQorICAgICAgICBpbXBsZW1lbnRlZCB0
aGUgQXRrVGV4dCBpbnRlcmZhY2UuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvc3BhbnMuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNz
aWJpbGl0eU9iamVjdEF0ay5jcHA6CisgICAgICAgIChXZWJDb3JlKTogdXNpbmcgbmFtZXNwYWNl
IEhUTUxOYW1lcworICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNz
aWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QpOgorICAgICAgICBGb2xkIGlubGluZSBzcGFu
cyBhbmQgYmxvY2sgc3BhbnMgaW50byB0aGUgcGFyZW50IHdoZW4gcG9zc2libGUuIFdlCisgICAg
ICAgIGNvbnRpbnVlIHVzaW5nIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciBBUklBLCB0aGUgYm9k
eSBpdHNlbGYsIGFuZAorICAgICAgICBpbW1lZGlhdGUgY2hpbGRyZW4gb2YgdGhlIGJvZHkuCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3Bw
OgorICAgICAgICAoZ2V0SW50ZXJmYWNlTWFza0Zyb21PYmplY3QpOiBBIG5vbi1jb250cm9sIGFj
Y2Vzc2libGUgb2JqZWN0IHdpdGggdGV4dAorICAgICAgICB1bmRlciBpdHMgZWxlbWVudCBub3cg
aW5jbHVkZXMgV0FJX1RFWFQgaW4gaXRzIGludGVyZmFjZSBtYXNrOyBiZWZvcmUgaXQKKyAgICAg
ICAgd2FzIGluY2x1ZGVkIG9ubHkgZm9yIGlubGluZSBjaGlsZHJlbi4KKwogMjAxMi0wOC0xOCAg
UGhpbGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFNWR01h
c2tFbGVtZW50IHRvIGluaGVyaXQgZnJvbSBTdHlsZWRFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsu
Y3BwCmluZGV4IDM5ZjQ4ODguLjNhMWUxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCkBAIC0y
MSw2ICsyMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0
eU9iamVjdC5oIgogCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgogI2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+
CkBAIC0yOSw2ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKKwogYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5
SWdub3JlQXR0YWNobWVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNzgsNiAr
ODEsMjYgQEAgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3NpYmlsaXR5T2JqZWN0
OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc08KICAgICBpZiAocm9sZSA9PSBVbmtub3du
Um9sZSkKICAgICAgICAgcmV0dXJuIElnbm9yZU9iamVjdDsKIAorICAgIC8vIFByZXNlcnZlIGN1
cnJlbnQgYmVoYXZpb3IgZm9yIEFSSUEuCisgICAgaWYgKGFyaWFSb2xlQXR0cmlidXRlKCkgIT0g
VW5rbm93blJvbGUgfHwgcGFyZW50LT5hcmlhUm9sZUF0dHJpYnV0ZSgpICE9IFVua25vd25Sb2xl
KQorICAgICAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9yOworCisgICAgUmVuZGVyT2JqZWN0KiBy
ZW5kZXJPYmplY3QgPSByZW5kZXJlcigpOyAgICAKKworICAgIC8vIElubGluZSBzcGFucyBhbmQg
YmxvY2sgc3BhbnMgc2hvdWxkIGJlIGZvbGRlZCBpbnRvIHRoZSBwYXJlbnQgd2hlbiBwb3NzaWJs
ZS4KKyAgICBpZiAoKG5vZGUoKSAmJiBub2RlKCktPmhhc1RhZ05hbWUoc3BhblRhZykpIHx8IChy
ZW5kZXJPYmplY3QgJiYgcmVuZGVyT2JqZWN0LT5pc0Fub255bW91c0Jsb2NrKCkpKSB7CisgICAg
ICAgIC8vIFByZXNlcnZlIGN1cnJlbnQgYmVoYXZpb3IgZm9yIHRoZSBib2R5LgorICAgICAgICBp
ZiAocmVuZGVyT2JqZWN0LT5pc0JvZHkoKSkKKyAgICAgICAgICAgIHJldHVybiBEZWZhdWx0QmVo
YXZpb3I7CisKKyAgICAgICAgLy8gUHJlc2VydmUgY3VycmVudCBiZWhhdmlvciBmb3IgaW1tZWRp
YXRlIGNoaWxkcmVuIG9mIHRoZSBib2R5LgorICAgICAgICByZW5kZXJPYmplY3QgPSBwYXJlbnQt
PnJlbmRlcmVyKCk7CisgICAgICAgIGlmIChyZW5kZXJPYmplY3QgJiYgcmVuZGVyT2JqZWN0LT5p
c0JvZHkoKSkKKyAgICAgICAgICAgIHJldHVybiBEZWZhdWx0QmVoYXZpb3I7ICAgICAgCisKKyAg
ICAgICAgcmV0dXJuIElnbm9yZU9iamVjdDsKKyAgICB9CisKICAgICByZXR1cm4gRGVmYXVsdEJl
aGF2aW9yOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0
ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXggN2Y2Yjg5NC4u
OTZjYjY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2Vi
S2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtODU2LDcgKzg1Niw4
IEBAIHN0YXRpYyBndWludDE2IGdldEludGVyZmFjZU1hc2tGcm9tT2JqZWN0KEFjY2Vzc2liaWxp
dHlPYmplY3QqIGNvcmVPYmplY3QpCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAo
cm9sZSAhPSBUYWJsZVJvbGUpIHsKICAgICAgICAgICAgICAgICBpbnRlcmZhY2VNYXNrIHw9IDEg
PDwgV0FJX0hZUEVSVEVYVDsKLSAgICAgICAgICAgICAgICBpZiAocmVuZGVyZXIgJiYgcmVuZGVy
ZXItPmNoaWxkcmVuSW5saW5lKCkpCisgICAgICAgICAgICAgICAgaWYgKHJlbmRlcmVyICYmIChy
ZW5kZXJlci0+Y2hpbGRyZW5JbmxpbmUoKSkKKyAgICAgICAgICAgICAgICAgICAgfHwgKCFjb3Jl
T2JqZWN0LT5pc0NvbnRyb2woKSAmJiAhY29yZU9iamVjdC0+dGV4dFVuZGVyRWxlbWVudCgpLmlz
RW1wdHkoKSkpCiAgICAgICAgICAgICAgICAgICAgIGludGVyZmFjZU1hc2sgfD0gMSA8PCBXQUlf
VEVYVDsKICAgICAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDUxMWEwODcuLjk3MTQw
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0wOC0xOSAgSm9hbm1h
cmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0d0a10gTm8gYWNjZXNz
aWJsZSBjYXJldC1tb3ZlZCBldmVudHMgZm91bmQgaW4gY2VydGFpbiBjb250ZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgxMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBidWcgcmVzdWx0ZWQg
ZnJvbSBwbGF0Zm9ybS1zcGVjaWZpYyBwcm9ibGVtcyBhc3NvY2lhdGVkIHdpdGggdGhlCisgICAg
ICAgIHByZXNlbmNlIG9mIGJvdGggaW5saW5lIGFuZCBibG9jayBjaGlsZHJlbiB1bmRlciB0aGUg
c2FtZSBhY2Nlc3NpYmxlCisgICAgICAgIG9iamVjdC4gVGhlIG9taXNzaW9uIG9mIGV4cGVjdGVk
IGV2ZW50cyBjYW1lIGZyb20gdHdvIGlzc3VlczogTWlzc2luZworICAgICAgICBhbmQgdW5leHBl
Y3RlZCBhY2Nlc3NpYmxlIG9iamVjdHMsIGFuZCBvYmplY3RzIGNsYWltaW5nIG5vdCB0byBoYXZl
CisgICAgICAgIGltcGxlbWVudGVkIHRoZSBBdGtUZXh0IGludGVyZmFjZS4KKworICAgICAgICBV
cGRhdGVkIHRoZSBBdGtUZXh0IHVuaXQgdGVzdCB0byBpbmNsdWRlIHRoZSBzY2VuYXJpb3MgZnJv
bSB0aGUgYnVnLgorCisgICAgICAgICogdGVzdHMvdGVzdGF0ay5jOgorICAgICAgICAodGVzdFdl
YmtpdEF0a0NhcmV0T2Zmc2V0cyk6IEFkZCB0d28gbmV3IGVsZW1lbnRzIChvbmUgdGV4dCwgb25l
IGluIGEKKyAgICAgICAgbGluaykgZWFjaCBvZiB3aGljaCBjb25zaXN0cyBvZiB0d28gc3BhbnMg
KG9uZSBpbmxpbmUsIG9uZSBibG9jaykuIFRlc3QKKyAgICAgICAgdGhlIEF0a1RleHQgaW1wbGVt
ZW50YXRpb24gb2Ygb2J0YWluaW5nIHRoZSB0ZXh0LCBzZXR0aW5nIHRoZSBjYXJldCwgYW5kCisg
ICAgICAgIHJlY2VpdmluZyBjYXJldC1tb3ZlZCBldmVudHMgZnJvbSB0aGUgYXBwcm9wcmlhdGUg
YWNjZXNzaWJsZSBvYmplY3QuCisKIDIwMTItMDgtMTUgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdn
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHdGtdIGF0a190ZXh0X3NldF9jYXJldF9vZmZzZXQo
KSBmYWlscyBmb3IgdGFibGUgY2VsbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3Rl
c3RzL3Rlc3RhdGsuYyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsuYwppbmRleCAy
NDYzYzc0Li4zY2IwYmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay90ZXN0cy90ZXN0
YXRrLmMKKysrIGIvU291cmNlL1dlYktpdC9ndGsvdGVzdHMvdGVzdGF0ay5jCkBAIC02NSw3ICs2
NSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBsaW5rc1dpdGhJbmxpbmVJbWFnZXMgPSAiPGh0bWw+
PGhlYWQ+PHN0eWxlPmEuaHR0cDpiZWZvcmUge2NvCiAKIHN0YXRpYyBjb25zdCBjaGFyKiBsaXN0
c09mSXRlbXMgPSAiPGh0bWw+PGJvZHk+PHVsPjxsaT50ZXh0IG9ubHk8L2xpPjxsaT48YSBocmVm
PSdmb28nPmxpbmsgb25seTwvYT48L2xpPjxsaT50ZXh0IGFuZCBhIDxhIGhyZWY9J2Jhcic+bGlu
azwvYT48L2xpPjwvdWw+PG9sPjxsaT50ZXh0IG9ubHk8L2xpPjxsaT48YSBocmVmPSdmb28nPmxp
bmsgb25seTwvYT48L2xpPjxsaT50ZXh0IGFuZCBhIDxhIGhyZWY9J2Jhcic+bGluazwvYT48L2xp
Pjwvb2w+PC9ib2R5PjwvaHRtbD4iOwogCi1zdGF0aWMgY29uc3QgY2hhciogdGV4dEZvckNhcmV0
QnJvd3NpbmcgPSAiPGh0bWw+PGJvZHk+PGgxPkEgdGV4dCBoZWFkZXI8L2gxPjxwPkEgcGFyYWdy
YXBoIDxhIGhyZWY9J2h0dHA6Ly9mb28uYmFyLmJhei8nPndpdGggYSBsaW5rPC9hPiBpbiB0aGUg
bWlkZGxlPC9wPjxvbD48bGk+QSBsaXN0IGl0ZW08L2xpPjwvb2w+PHNlbGVjdD48b3B0aW9uIHNl
bGVjdGVkIHZhbHVlPSdmb28nPkFuIG9wdGlvbiBpbiBhIGNvbWJvIGJveDwvb3B0aW9uPjwvc2Vs
ZWN0PjxpbnB1dCB0eXBlPSd0ZXh0JycgbmFtZT0nZm9vJycgdmFsdWU9J2ZvbyBiYXIgYmF6JyAv
Pjx0YWJsZT48dHI+PHRkPmEgdGFibGUgY2VsbDwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0
bWw+IjsKK3N0YXRpYyBjb25zdCBjaGFyKiB0ZXh0Rm9yQ2FyZXRCcm93c2luZyA9ICI8aHRtbD48
Ym9keT48aDE+QSB0ZXh0IGhlYWRlcjwvaDE+PHA+QSBwYXJhZ3JhcGggPGEgaHJlZj0naHR0cDov
L2Zvby5iYXIuYmF6Lyc+d2l0aCBhIGxpbms8L2E+IGluIHRoZSBtaWRkbGU8L3A+PG9sPjxsaT5B
IGxpc3QgaXRlbTwvbGk+PC9vbD48c2VsZWN0PjxvcHRpb24gc2VsZWN0ZWQgdmFsdWU9J2Zvbyc+
QW4gb3B0aW9uIGluIGEgY29tYm8gYm94PC9vcHRpb24+PC9zZWxlY3Q+PGlucHV0IHR5cGU9J3Rl
eHQnJyBuYW1lPSdmb28nJyB2YWx1ZT0nZm9vIGJhciBiYXonIC8+PHRhYmxlPjx0cj48dGQ+YSB0
YWJsZSBjZWxsPC90ZD48L3RyPjwvdGFibGU+PGg0PjxhIGhyZWY9J2Zvbyc+PHNwYW4gc3R5bGU9
J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgbGluazwvc3Bhbj48c3Bhbj5JbmxpbmUg
c3BhbiBpbiBhIGxpbms8L3NwYW4+PC9oND48L3A+PGg0PjxzcGFuIHN0eWxlPSdkaXNwbGF5OmJs
b2NrOyc+QmxvY2sgc3BhbiBpbiBhIGhlYWRpbmc8L3NwYW4+PHNwYW4+SW5saW5lIHNwYW4gaW4g
YSBoZWFkaW5nPC9zcGFuPjwvaDQ+PC9ib2R5PjwvaHRtbD4iOwogCiBzdGF0aWMgY29uc3QgY2hh
ciogdGV4dEZvclNlbGVjdGlvbnMgPSAiPGh0bWw+PGJvZHk+PHA+QSBwYXJhZ3JhcGggd2l0aCBw
bGFpbiB0ZXh0PC9wPjxwPkEgcGFyYWdyYXBoIHdpdGggPGEgaHJlZj0naHR0cDovL3dlYmtpdC5v
cmcnPmEgbGluazwvYT4gaW4gdGhlIG1pZGRsZTwvcD48b2w+PGxpPkEgbGlzdCBpdGVtPC9saT48
L29sPjxzZWxlY3Q+PC9ib2R5PjwvaHRtbD4iOwogCkBAIC0zOTksMTMgKzM5OSwzOSBAQCBzdGF0
aWMgdm9pZCB0ZXN0V2Via2l0QXRrQ2FyZXRPZmZzZXRzKCkKICAgICBnX2Fzc2VydChhdGtfb2Jq
ZWN0X2dldF9yb2xlKHRhYmxlQ2VsbCkgPT0gQVRLX1JPTEVfVEFCTEVfQ0VMTCk7CiAgICAgdGV4
dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKHRhYmxlQ2VsbCksIDAsIC0xKTsKICAgICBn
X2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICJhIHRhYmxlIGNlbGwiKTsKLSAgICBnX2ZyZWUodGV4
dCk7CiAKICAgICByZXN1bHQgPSBhdGtfdGV4dF9zZXRfY2FyZXRfb2Zmc2V0KEFUS19URVhUKHRh
YmxlQ2VsbCksIDIpOwogICAgIGdfYXNzZXJ0X2NtcGludChyZXN1bHQsID09LCBUUlVFKTsKICAg
ICBvZmZzZXQgPSBhdGtfdGV4dF9nZXRfY2FyZXRfb2Zmc2V0KEFUS19URVhUKHRhYmxlQ2VsbCkp
OwogICAgIGdfYXNzZXJ0X2NtcGludChvZmZzZXQsID09LCAyKTsKIAorICAgIEF0a09iamVjdCog
aGVhZGluZyA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQob2JqZWN0LCA1KTsKKyAg
ICBnX2Fzc2VydChBVEtfSVNfVEVYVChoZWFkaW5nKSk7CisgICAgZ19zaWduYWxfY29ubmVjdCho
ZWFkaW5nLCAidGV4dC1jYXJldC1tb3ZlZCIsIEdfQ0FMTEJBQ0sodGV4dENhcmV0TW92ZWRDYWxs
YmFjayksIDApOworCisgICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKGhlYWRp
bmcpLCAwLCAtMSk7CisgICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAiQmxvY2sgc3BhbiBp
biBhIGxpbmtcbklubGluZSBzcGFuIGluIGEgbGluayIpOworCisgICAgcmVzdWx0ID0gYXRrX3Rl
eHRfc2V0X2NhcmV0X29mZnNldChBVEtfVEVYVChoZWFkaW5nKSwgMzApOworICAgIGdfYXNzZXJ0
X2NtcGludChyZXN1bHQsID09LCBUUlVFKTsKKyAgICBvZmZzZXQgPSBhdGtfdGV4dF9nZXRfY2Fy
ZXRfb2Zmc2V0KEFUS19URVhUKGhlYWRpbmcpKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQob2Zmc2V0
LCA9PSwgMzApOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0Q2FyZXRNb3ZlZFJlc3VsdCwgPT0s
ICJ8aGVhZGluZ3wzMHwiKTsKKworICAgIGhlYWRpbmcgPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3Np
YmxlX2NoaWxkKG9iamVjdCwgNik7CisgICAgZ19hc3NlcnQoQVRLX0lTX1RFWFQoaGVhZGluZykp
OworICAgIGdfc2lnbmFsX2Nvbm5lY3QoaGVhZGluZywgInRleHQtY2FyZXQtbW92ZWQiLCBHX0NB
TExCQUNLKHRleHRDYXJldE1vdmVkQ2FsbGJhY2spLCAwKTsKKworICAgIHRleHQgPSBhdGtfdGV4
dF9nZXRfdGV4dChBVEtfVEVYVChoZWFkaW5nKSwgMCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0
cih0ZXh0LCA9PSwgIkJsb2NrIHNwYW4gaW4gYSBoZWFkaW5nXG5JbmxpbmUgc3BhbiBpbiBhIGhl
YWRpbmciKTsKKworICAgIHJlc3VsdCA9IGF0a190ZXh0X3NldF9jYXJldF9vZmZzZXQoQVRLX1RF
WFQoaGVhZGluZyksIDMwKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQocmVzdWx0LCA9PSwgVFJVRSk7
CisgICAgb2Zmc2V0ID0gYXRrX3RleHRfZ2V0X2NhcmV0X29mZnNldChBVEtfVEVYVChoZWFkaW5n
KSk7CisgICAgZ19hc3NlcnRfY21waW50KG9mZnNldCwgPT0sIDMwKTsKKyAgICBnX2Fzc2VydF9j
bXBzdHIodGV4dENhcmV0TW92ZWRSZXN1bHQsID09LCAifGhlYWRpbmd8MzB8Iik7CisKKyAgICBn
X2ZyZWUodGV4dCk7CiAgICAgZ19mcmVlKHRleHRDYXJldE1vdmVkUmVzdWx0KTsKIAogICAgIGdf
b2JqZWN0X3VucmVmKGhlYWRlcik7CkBAIC00MjAsNiArNDQ2LDcgQEAgc3RhdGljIHZvaWQgdGVz
dFdlYmtpdEF0a0NhcmV0T2Zmc2V0cygpCiAgICAgZ19vYmplY3RfdW5yZWYodGV4dEVudHJ5KTsK
ICAgICBnX29iamVjdF91bnJlZih0YWJsZSk7CiAgICAgZ19vYmplY3RfdW5yZWYodGFibGVDZWxs
KTsKKyAgICBnX29iamVjdF91bnJlZihoZWFkaW5nKTsKICAgICBnX29iamVjdF91bnJlZih3ZWJW
aWV3KTsKIH0KIAotLSAKMS43LjExLjIKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>159342</attachid>
            <date>2012-08-19 23:40:32 -0700</date>
            <delta_ts>2012-08-21 15:18:18 -0700</delta_ts>
            <desc>Just the layout only test</desc>
            <filename>testonly.patch</filename>
            <type>text/plain</type>
            <size>3727</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5z
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3Nw
YW5zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Mjk0
NDkyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvc3BhbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKK2ZpcnN0IGJsb2NrIHNw
YW4KK2lubGluZSBzcGFuCitzZWNvbmQgYmxvY2sgc3BhbgorZmlyc3QgYmxvY2sgc3BhbgoraW5s
aW5lIHNwYW4KK3NlY29uZCBibG9jayBzcGFuCisKK2ZpcnN0IGJsb2NrIHNwYW4KK2lubGluZSBz
cGFuCitzZWNvbmQgYmxvY2sgc3BhbgorZmlyc3QgYmxvY2sgc3BhbgoraW5saW5lIHNwYW4KK3Nl
Y29uZCBibG9jayBzcGFuCitUaGlzIHRlc3RzIHRoYXQgYm90aCBibG9jayBzcGFucyBhbmQgaW5s
aW5lIHNwYW5zIGdldCBmb2xkZWQgaW50byB0aGUgcGFyZW50IG9iamVjdAorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogaGVhZGlu
ZycKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xlIGlz
ICdBWFJvbGU6IGhlYWRpbmcnCitQQVNTIGVsZW1lbnQuY2hpbGRyZW5Db3VudCBpcyAxCitQQVNT
IGxpbmsucm9sZSBpcyAnQVhSb2xlOiBsaW5rJworUEFTUyBsaW5rLmNoaWxkcmVuQ291bnQgaXMg
MAorUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogbGlzdCcKK1BBU1MgZWxlbWVudC5jaGls
ZHJlbkNvdW50IGlzIDIKK1BBU1MgaXRlbS5yb2xlIGlzICdBWFJvbGU6IGxpc3QgaXRlbScKK1BB
U1MgaXRlbS5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgaXRlbS5yb2xlIGlzICdBWFJvbGU6IGxp
c3QgaXRlbScKK1BBU1MgaXRlbS5jaGlsZHJlbkNvdW50IGlzIDEKK1BBU1MgbGluay5yb2xlIGlz
ICdBWFJvbGU6IGxpbmsnCitQQVNTIGxpbmsuY2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMmU3MmEwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLmh0bWwKQEAgLTAsMCArMSw3OCBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+Cis8aDQ+CisgIDxz
cGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+Zmlyc3QgYmxvY2sgc3Bhbjwvc3Bhbj4KKyAgPHNw
YW4+aW5saW5lIHNwYW48L3NwYW4+CisgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+c2Vj
b25kIGJsb2NrIHNwYW48L3NwYW4+Cis8L2g0PgorPGg0PgorICA8YSBocmVmPSJmb28iPgorICAg
ICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5maXJzdCBibG9jayBzcGFuPC9zcGFuPgor
ICAgICAgPHNwYW4+aW5saW5lIHNwYW48L3NwYW4+CisgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxh
eTpibG9jazsiPnNlY29uZCBibG9jayBzcGFuPC9zcGFuPgorICA8L2E+Cis8L2g0PgorPG9sPgor
ICA8bGk+CisgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5maXJzdCBibG9jayBzcGFu
PC9zcGFuPgorICAgIDxzcGFuPmlubGluZSBzcGFuPC9zcGFuPgorICAgIDxzcGFuIHN0eWxlPSJk
aXNwbGF5OmJsb2NrOyI+c2Vjb25kIGJsb2NrIHNwYW48L3NwYW4+CisgIDwvbGk+CisgIDxsaT4K
KyAgICA8YSBocmVmPSJmb28iPgorICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5m
aXJzdCBibG9jayBzcGFuPC9zcGFuPgorICAgICAgPHNwYW4+aW5saW5lIHNwYW48L3NwYW4+Cisg
ICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPnNlY29uZCBibG9jayBzcGFuPC9zcGFu
PgorICAgIDwvYT4KKyAgPC9saT4KKzwvb2w+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3Rz
IHRoYXQgYm90aCBibG9jayBzcGFucyBhbmQgaW5saW5lIHNwYW5zIGdldCBmb2xkZWQgaW50byB0
aGUgcGFyZW50IG9iamVjdCIpOworCitpZiAod2luZG93LmxheW91dENvbnRyb2xsZXIpIHsKKyAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKworaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcikgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2R5IikuZm9jdXMo
KTsKKyAgICB2YXIgd2ViQXJlYSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVt
ZW50OworCisgICAgdmFyIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgwKTsKKyAgICBz
aG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IGhlYWRpbmcnIik7CisgICAgc2hvdWxk
QmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIwIik7CisKKyAgICBlbGVtZW50ID0gd2ViQXJl
YS5jaGlsZEF0SW5kZXgoMSk7CisgICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICInQVhSb2xl
OiBoZWFkaW5nJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LmNoaWxkcmVuQ291bnQiLCAiMSIp
OworCisgICAgdmFyIGxpbmsgPSBlbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKKyAgICBzaG91bGRC
ZSgibGluay5yb2xlIiwgIidBWFJvbGU6IGxpbmsnIik7CisgICAgc2hvdWxkQmUoImxpbmsuY2hp
bGRyZW5Db3VudCIsICIwIik7CisKKyAgICBlbGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgo
Mik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBsaXN0JyIpOworICAg
IHNob3VsZEJlKCJlbGVtZW50LmNoaWxkcmVuQ291bnQiLCAiMiIpOworCisgICAgdmFyIGl0ZW0g
PSBlbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKKyAgICBzaG91bGRCZSgiaXRlbS5yb2xlIiwgIidB
WFJvbGU6IGxpc3QgaXRlbSciKTsKKyAgICBzaG91bGRCZSgiaXRlbS5jaGlsZHJlbkNvdW50Iiwg
IjAiKTsKKworICAgIGl0ZW0gPSBlbGVtZW50LmNoaWxkQXRJbmRleCgxKTsKKyAgICBzaG91bGRC
ZSgiaXRlbS5yb2xlIiwgIidBWFJvbGU6IGxpc3QgaXRlbSciKTsKKyAgICBzaG91bGRCZSgiaXRl
bS5jaGlsZHJlbkNvdW50IiwgIjEiKTsKKworICAgIGxpbmsgPSBpdGVtLmNoaWxkQXRJbmRleCgw
KTsKKyAgICBzaG91bGRCZSgibGluay5yb2xlIiwgIidBWFJvbGU6IGxpbmsnIik7CisgICAgc2hv
dWxkQmUoImxpbmsuY2hpbGRyZW5Db3VudCIsICIwIik7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159777</attachid>
            <date>2012-08-21 15:18:18 -0700</date>
            <delta_ts>2012-08-21 16:17:50 -0700</delta_ts>
            <desc>Fix for the failure to implement AtkText along with updated unit test</desc>
            <filename>72811-a.patch</filename>
            <type>text/plain</type>
            <size>10928</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSA3YmEyMzg5YWVkNWQ1MjMxOTY4MDhjNzcwMWE0YzE5ZDMzODhlYzJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBUdWUsIDIxIEF1ZyAyMDEyIDE4OjA0OjA1IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gUGFy
dCBvZiB0aGUgZml4IGZvciBidWcgNzI4MTEKCi0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMiArKysrKysrKwogLi4uL2d0ay9XZWJLaXRB
Y2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAgICAgICAgICAgICAgfCAgMyArLQogU291cmNlL1dlYktp
dC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAxNyArKysrKysrCiBTb3Vy
Y2UvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMgICAgICAgICAgICAgICAgICB8IDU5ICsrKysr
KysrKysrKysrKysrKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwgNCBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjM0YzA5Yi4uZDI0MTU0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI1IEBACisyMDEyLTA4LTIxICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR3RrXSBObyBhY2Nlc3NpYmxlIGNhcmV0LW1vdmVkIGV2ZW50
cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcyODExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUGFydCBvZiB0aGUgYnVnIGlzIGR1ZSB0byBvYmplY3RzIHdoaWNo
IHNob3VsZCBjbGFpbSB0byBpbXBsZW1lbnQgQXRrVGV4dAorICAgICAgICBmYWlsZWQgdG8gZG8g
c28gYXMgYSByZXN1bHQgb2YgY29udGFpbmluZyBhIG1peHR1cmUgb2YgaW5saW5lIGFuZCBibG9j
aworICAgICAgICBzcGFucy4KKworICAgICAgICBBbiB1cGRhdGVkIHVuaXQgdGVzdCB3YXMgcHJv
dmlkZWQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3Jh
cHBlckF0ay5jcHA6CisgICAgICAgIChnZXRJbnRlcmZhY2VNYXNrRnJvbU9iamVjdCk6IEFkZCB0
aGUgZm9sbG93aW5nIGZvdXIgYWNjZXNzaWJsZSByb2xlcyBhcworICAgICAgICBhbHdheXMgaW1w
bGVtZW50aW5nIEF0a1RleHQgYmVjYXVzZSB0aGV5IGFyZSBhbHdheXMgZXhwZWN0ZWQgdG8gZG8g
c28gaWYKKyAgICAgICAgdGhleSBhcmUgbm90IGlnbm9yZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhl
ciBvciBub3QgdGhleSBhcmUgZW1wdHk6CisgICAgICAgIC0gUGFyYWdyYXBoUm9sZQorICAgICAg
ICAtIEhlYWRpbmdSb2xlCisgICAgICAgIC0gRGl2Um9sZQorICAgICAgICAtIENlbGxSb2xlCisK
IDIwMTItMDgtMTkgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJlbW92ZSBSZWZQdHIgZnJvbSBIVE1MUHJvZ3Jlc3NFbGVtZW50OjptX3ZhbHVlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxl
V3JhcHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRB
Y2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXggN2Y2Yjg5NC4uMDJiY2NkMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBw
ZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFj
Y2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtODU2LDcgKzg1Niw4IEBAIHN0YXRpYyBndWludDE2
IGdldEludGVyZmFjZU1hc2tGcm9tT2JqZWN0KEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcmVPYmpl
Y3QpCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAocm9sZSAhPSBUYWJsZVJvbGUp
IHsKICAgICAgICAgICAgICAgICBpbnRlcmZhY2VNYXNrIHw9IDEgPDwgV0FJX0hZUEVSVEVYVDsK
LSAgICAgICAgICAgICAgICBpZiAocmVuZGVyZXIgJiYgcmVuZGVyZXItPmNoaWxkcmVuSW5saW5l
KCkpCisgICAgICAgICAgICAgICAgaWYgKHJlbmRlcmVyICYmIHJlbmRlcmVyLT5jaGlsZHJlbklu
bGluZSgpCisgICAgICAgICAgICAgICAgICAgIHx8IHJvbGUgPT0gUGFyYWdyYXBoUm9sZSB8fCBy
b2xlID09IEhlYWRpbmdSb2xlIHx8IHJvbGUgPT0gRGl2Um9sZSB8fCByb2xlID09IENlbGxSb2xl
KQogICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VNYXNrIHw9IDEgPDwgV0FJX1RFWFQ7CiAg
ICAgICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA1MTFhMDg3Li4zNzI3YmRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDgtMjEgIEpvYW5tYXJpZSBEaWdn
cyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorICAgICAgICBbR3RrXSBObyBhY2Nlc3NpYmxlIGNhcmV0
LW1vdmVkIGV2ZW50cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODExCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiB0aGUgYnVnIGlzIGR1ZSB0byBv
YmplY3RzIHdoaWNoIHNob3VsZCBjbGFpbSB0byBpbXBsZW1lbnQgQXRrVGV4dAorICAgICAgICBm
YWlsZWQgdG8gZG8gc28gYXMgYSByZXN1bHQgb2YgY29udGFpbmluZyBhIG1peHR1cmUgb2YgaW5s
aW5lIGFuZCBibG9jaworICAgICAgICBzcGFucy4KKworICAgICAgICBBbiB1cGRhdGVkIHVuaXQg
dGVzdCB3YXMgcHJvdmlkZWQuCisKKyAgICAgICAgKiB0ZXN0cy90ZXN0YXRrLmM6CisgICAgICAg
ICh0ZXN0V2Via2l0QXRrQ2FyZXRPZmZzZXRzKTogQWRkZWQgaW5zdGFuY2VzIG9mIG9iamVjdHMg
Y29udGFpbmluZyBhCisgICAgICAgIG1peHR1cmUgb2YgaW5saW5lIGFuZCBibG9jayBzcGFucyBh
bmQgdGVzdGVkIHRoYXQgdGhleSBpbXBsZW1lbnQgQXRrVGV4dAorICAgICAgICBhbmQgY29udGFp
biB0aGUgcmlnaHQgdGV4dHVhbCBjb250ZW50cy4KKwogMjAxMi0wOC0xNSAgSm9hbm1hcmllIERp
Z2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0d0a10gYXRrX3RleHRfc2V0X2Nh
cmV0X29mZnNldCgpIGZhaWxzIGZvciB0YWJsZSBjZWxscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ndGsvdGVzdHMvdGVzdGF0ay5jIGIvU291cmNlL1dlYktpdC9ndGsvdGVzdHMvdGVzdGF0
ay5jCmluZGV4IDI0NjNjNzQuLjc1OWRhMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L3Rlc3RzL3Rlc3RhdGsuYworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMK
QEAgLTY1LDcgKzY1LDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGxpbmtzV2l0aElubGluZUltYWdl
cyA9ICI8aHRtbD48aGVhZD48c3R5bGU+YS5odHRwOmJlZm9yZSB7Y28KIAogc3RhdGljIGNvbnN0
IGNoYXIqIGxpc3RzT2ZJdGVtcyA9ICI8aHRtbD48Ym9keT48dWw+PGxpPnRleHQgb25seTwvbGk+
PGxpPjxhIGhyZWY9J2Zvbyc+bGluayBvbmx5PC9hPjwvbGk+PGxpPnRleHQgYW5kIGEgPGEgaHJl
Zj0nYmFyJz5saW5rPC9hPjwvbGk+PC91bD48b2w+PGxpPnRleHQgb25seTwvbGk+PGxpPjxhIGhy
ZWY9J2Zvbyc+bGluayBvbmx5PC9hPjwvbGk+PGxpPnRleHQgYW5kIGEgPGEgaHJlZj0nYmFyJz5s
aW5rPC9hPjwvbGk+PC9vbD48L2JvZHk+PC9odG1sPiI7CiAKLXN0YXRpYyBjb25zdCBjaGFyKiB0
ZXh0Rm9yQ2FyZXRCcm93c2luZyA9ICI8aHRtbD48Ym9keT48aDE+QSB0ZXh0IGhlYWRlcjwvaDE+
PHA+QSBwYXJhZ3JhcGggPGEgaHJlZj0naHR0cDovL2Zvby5iYXIuYmF6Lyc+d2l0aCBhIGxpbms8
L2E+IGluIHRoZSBtaWRkbGU8L3A+PG9sPjxsaT5BIGxpc3QgaXRlbTwvbGk+PC9vbD48c2VsZWN0
PjxvcHRpb24gc2VsZWN0ZWQgdmFsdWU9J2Zvbyc+QW4gb3B0aW9uIGluIGEgY29tYm8gYm94PC9v
cHRpb24+PC9zZWxlY3Q+PGlucHV0IHR5cGU9J3RleHQnJyBuYW1lPSdmb28nJyB2YWx1ZT0nZm9v
IGJhciBiYXonIC8+PHRhYmxlPjx0cj48dGQ+YSB0YWJsZSBjZWxsPC90ZD48L3RyPjwvdGFibGU+
PC9ib2R5PjwvaHRtbD4iOworc3RhdGljIGNvbnN0IGNoYXIqIHRleHRGb3JDYXJldEJyb3dzaW5n
ID0gIjxodG1sPjxib2R5PjxoMT5BIHRleHQgaGVhZGVyPC9oMT48cD5BIHBhcmFncmFwaCA8YSBo
cmVmPSdodHRwOi8vZm9vLmJhci5iYXovJz53aXRoIGEgbGluazwvYT4gaW4gdGhlIG1pZGRsZTwv
cD48b2w+PGxpPkEgbGlzdCBpdGVtPC9saT48bGk+PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7
Jz5CbG9jayBzcGFuIGluIGEgbGlzdCBpdGVtPC9zcGFuPjxzcGFuPklubGluZSBzcGFuIGluIGEg
bGlzdCBpdGVtPC9zcGFuPjwvbGk+PGxpPjxhIGhyZWY9J2Zvbyc+PHNwYW4gc3R5bGU9J2Rpc3Bs
YXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgbGluayBpbiBhIGxpc3QgaXRlbTwvc3Bhbj48c3Bh
bj5JbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSBsaXN0IGl0ZW08L3NwYW4+PC9hPjwvbGk+PC9v
bD48c2VsZWN0PjxvcHRpb24gc2VsZWN0ZWQgdmFsdWU9J2Zvbyc+QW4gb3B0aW9uIGluIGEgY29t
Ym8gYm94PC9vcHRpb24+PC9zZWxlY3Q+PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2ZvbycgdmFs
dWU9J2ZvbyBiYXIgYmF6JyAvPjx0YWJsZT48dHI+PHRkPmEgdGFibGUgY2VsbDwvdGQ+PHRkPjwv
dGQ+PHRkPjxhIGhyZWY9J2Zvbyc+PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBz
cGFuIGluIGEgbGluayBpbiBhIHRhYmxlIGNlbGw8L3NwYW4+PHNwYW4+SW5saW5lIHNwYW4gaW4g
YSBsaW5rIGluIGEgdGFibGUgY2VsbDwvc3Bhbj48L2E+PC90ZD48dGQ+PHNwYW4gc3R5bGU9J2Rp
c3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgdGFibGUgY2VsbDwvc3Bhbj48c3Bhbj5Jbmxp
bmUgc3BhbiBpbiBhIHRhYmxlIGNlbGw8L3NwYW4+PC90ZD48L3RyPjwvdGFibGU+PGg0PjxhIGhy
ZWY9J2Zvbyc+PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgbGlu
ayBpbiBhIGhlYWRpbmc8L3NwYW4+PHNwYW4+SW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgaGVh
ZGluZzwvc3Bhbj48L2g0PjxoND48c3BhbiBzdHlsZT0nZGlzcGxheTpibG9jazsnPkJsb2NrIHNw
YW4gaW4gYSBoZWFkaW5nPC9zcGFuPjxzcGFuPklubGluZSBzcGFuIGluIGEgaGVhZGluZzwvc3Bh
bj48L2g0PjwvYm9keT48L2h0bWw+IjsKIAogc3RhdGljIGNvbnN0IGNoYXIqIHRleHRGb3JTZWxl
Y3Rpb25zID0gIjxodG1sPjxib2R5PjxwPkEgcGFyYWdyYXBoIHdpdGggcGxhaW4gdGV4dDwvcD48
cD5BIHBhcmFncmFwaCB3aXRoIDxhIGhyZWY9J2h0dHA6Ly93ZWJraXQub3JnJz5hIGxpbms8L2E+
IGluIHRoZSBtaWRkbGU8L3A+PG9sPjxsaT5BIGxpc3QgaXRlbTwvbGk+PC9vbD48c2VsZWN0Pjwv
Ym9keT48L2h0bWw+IjsKIApAQCAtMzM2LDcgKzMzNiw3IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJr
aXRBdGtDYXJldE9mZnNldHMoKQogICAgIEF0a09iamVjdCogbGlzdCA9IGF0a19vYmplY3RfcmVm
X2FjY2Vzc2libGVfY2hpbGQob2JqZWN0LCAyKTsKICAgICBnX2Fzc2VydChBVEtfT0JKRUNUKGxp
c3QpKTsKICAgICBnX2Fzc2VydChhdGtfb2JqZWN0X2dldF9yb2xlKGxpc3QpID09IEFUS19ST0xF
X0xJU1QpOwotICAgIGdfYXNzZXJ0X2NtcGludChhdGtfb2JqZWN0X2dldF9uX2FjY2Vzc2libGVf
Y2hpbGRyZW4obGlzdCksID09LCAxKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoYXRrX29iamVjdF9n
ZXRfbl9hY2Nlc3NpYmxlX2NoaWxkcmVuKGxpc3QpLCA9PSwgMyk7CiAKICAgICBBdGtPYmplY3Qq
IGxpc3RJdGVtID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChsaXN0LCAwKTsKICAg
ICBnX2Fzc2VydChBVEtfSVNfVEVYVChsaXN0SXRlbSkpOwpAQCAtMzQ0LDYgKzM0NCwxOCBAQCBz
dGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrQ2FyZXRPZmZzZXRzKCkKICAgICBnX2Fzc2VydF9jbXBz
dHIodGV4dCwgPT0sICIxLiBBIGxpc3QgaXRlbSIpOwogICAgIGdfZnJlZSAodGV4dCk7CiAKKyAg
ICBsaXN0SXRlbSA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQobGlzdCwgMSk7Cisg
ICAgZ19hc3NlcnQoQVRLX0lTX1RFWFQobGlzdEl0ZW0pKTsKKyAgICB0ZXh0ID0gYXRrX3RleHRf
Z2V0X3RleHQoQVRLX1RFWFQobGlzdEl0ZW0pLCAwLCAtMSk7CisgICAgZ19hc3NlcnRfY21wc3Ry
KHRleHQsID09LCAiMi4gQmxvY2sgc3BhbiBpbiBhIGxpc3QgaXRlbVxuSW5saW5lIHNwYW4gaW4g
YSBsaXN0IGl0ZW0iKTsKKyAgICBnX2ZyZWUgKHRleHQpOworCisgICAgbGlzdEl0ZW0gPSBhdGtf
b2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKGxpc3QsIDIpOworICAgIGdfYXNzZXJ0KEFUS19J
U19URVhUKGxpc3RJdGVtKSk7CisgICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhU
KGxpc3RJdGVtKSwgMCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIjMuIEJs
b2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgbGlzdCBpdGVtXG5JbmxpbmUgc3BhbiBpbiBhIGxpbmsg
aW4gYSBsaXN0IGl0ZW0iKTsKKyAgICBnX2ZyZWUgKHRleHQpOworCiAgICAgLyogSXQncyBub3Qg
cG9zc2libGUgdG8gcGxhY2UgdGhlIGNhcmV0IGluc2lkZSBhbiBpdGVtJ3MgbWFya2VyLiAqLwog
ICAgIHJlc3VsdCA9IGF0a190ZXh0X3NldF9jYXJldF9vZmZzZXQoQVRLX1RFWFQobGlzdEl0ZW0p
LCAxKTsKICAgICBnX2Fzc2VydF9jbXBpbnQocmVzdWx0LCA9PSwgRkFMU0UpOwpAQCAtMzYwLDEw
ICszNzIsMTIgQEAgc3RhdGljIHZvaWQgdGVzdFdlYmtpdEF0a0NhcmV0T2Zmc2V0cygpCiAKICAg
ICBBdGtPYmplY3QqIGNvbWJvQm94ID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChw
YW5lbCwgMCk7CiAgICAgZ19hc3NlcnQoQVRLX0lTX09CSkVDVChjb21ib0JveCkpOworICAgIGdf
YXNzZXJ0KCFBVEtfSVNfVEVYVChjb21ib0JveCkpOwogICAgIGdfYXNzZXJ0KGF0a19vYmplY3Rf
Z2V0X3JvbGUoY29tYm9Cb3gpID09IEFUS19ST0xFX0NPTUJPX0JPWCk7CiAKICAgICBBdGtPYmpl
Y3QqIG1lbnVQb3B1cCA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQoY29tYm9Cb3gs
IDApOwogICAgIGdfYXNzZXJ0KEFUS19JU19PQkpFQ1QobWVudVBvcHVwKSk7CisgICAgZ19hc3Nl
cnQoIUFUS19JU19URVhUKG1lbnVQb3B1cCkpOwogICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0
X3JvbGUobWVudVBvcHVwKSA9PSBBVEtfUk9MRV9NRU5VKTsKIAogICAgIEF0a09iamVjdCogY29t
Ym9Cb3hPcHRpb24gPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKG1lbnVQb3B1cCwg
MCk7CkBAIC0zNzIsNiArMzg2LDcgQEAgc3RhdGljIHZvaWQgdGVzdFdlYmtpdEF0a0NhcmV0T2Zm
c2V0cygpCiAgICAgZ19hc3NlcnQoQVRLX0lTX1RFWFQoY29tYm9Cb3hPcHRpb24pKTsKICAgICB0
ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRLX1RFWFQoY29tYm9Cb3hPcHRpb24pLCAwLCAtMSk7
CiAgICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAiQW4gb3B0aW9uIGluIGEgY29tYm8gYm94
Iik7CisgICAgZ19mcmVlKHRleHQpOwogCiAgICAgLyogSXQncyBub3QgcG9zc2libGUgdG8gcGxh
Y2UgdGhlIGNhcmV0IGluc2lkZSBhbiBvcHRpb24gZm9yIGEgY29tYm9ib3guICovCiAgICAgcmVz
dWx0ID0gYXRrX3RleHRfc2V0X2NhcmV0X29mZnNldChBVEtfVEVYVChjb21ib0JveE9wdGlvbiks
IDEpOwpAQCAtMzgzLDYgKzM5OCw3IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJraXRBdGtDYXJldE9m
ZnNldHMoKQogICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHRleHRFbnRyeSkpOwogICAgIHRleHQg
PSBhdGtfdGV4dF9nZXRfdGV4dChBVEtfVEVYVCh0ZXh0RW50cnkpLCAwLCAtMSk7CiAgICAgZ19h
c3NlcnRfY21wc3RyKHRleHQsID09LCAiZm9vIGJhciBiYXoiKTsKKyAgICBnX2ZyZWUodGV4dCk7
CiAKICAgICByZXN1bHQgPSBhdGtfdGV4dF9zZXRfY2FyZXRfb2Zmc2V0KEFUS19URVhUKHRleHRF
bnRyeSksIDUpOwogICAgIGdfYXNzZXJ0X2NtcGludChyZXN1bHQsID09LCBUUlVFKTsKQEAgLTM5
MSw4ICs0MDcsOSBAQCBzdGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrQ2FyZXRPZmZzZXRzKCkKIAog
ICAgIEF0a09iamVjdCogdGFibGUgPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKG9i
amVjdCwgNCk7CiAgICAgZ19hc3NlcnQoQVRLX0lTX09CSkVDVCh0YWJsZSkpOworICAgIGdfYXNz
ZXJ0KCFBVEtfSVNfVEVYVCh0YWJsZSkpOwogICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3Jv
bGUodGFibGUpID09IEFUS19ST0xFX1RBQkxFKTsKLSAgICBnX2Fzc2VydF9jbXBpbnQoYXRrX29i
amVjdF9nZXRfbl9hY2Nlc3NpYmxlX2NoaWxkcmVuKHRhYmxlKSwgPT0sIDEpOworICAgIGdfYXNz
ZXJ0X2NtcGludChhdGtfb2JqZWN0X2dldF9uX2FjY2Vzc2libGVfY2hpbGRyZW4odGFibGUpLCA9
PSwgNCk7CiAKICAgICBBdGtPYmplY3QqIHRhYmxlQ2VsbCA9IGF0a19vYmplY3RfcmVmX2FjY2Vz
c2libGVfY2hpbGQodGFibGUsIDApOwogICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHRhYmxlQ2Vs
bCkpOwpAQCAtNDA2LDYgKzQyMyw0MiBAQCBzdGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrQ2FyZXRP
ZmZzZXRzKCkKICAgICBvZmZzZXQgPSBhdGtfdGV4dF9nZXRfY2FyZXRfb2Zmc2V0KEFUS19URVhU
KHRhYmxlQ2VsbCkpOwogICAgIGdfYXNzZXJ0X2NtcGludChvZmZzZXQsID09LCAyKTsKIAorICAg
IC8qIEV2ZW4gZW1wdHkgdGFibGUgY2VsbHMgc2hvdWxkIGltcGxlbWVudCBBdGtUZXh0LCBidXQg
cmVwb3J0IGFuIGVtcHR5IHN0cmluZyAqLworICAgIHRhYmxlQ2VsbCA9IGF0a19vYmplY3RfcmVm
X2FjY2Vzc2libGVfY2hpbGQodGFibGUsIDEpOworICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHRh
YmxlQ2VsbCkpOworICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUodGFibGVDZWxsKSA9
PSBBVEtfUk9MRV9UQUJMRV9DRUxMKTsKKyAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRL
X1RFWFQodGFibGVDZWxsKSwgMCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwg
IiIpOworICAgIGdfZnJlZSh0ZXh0KTsKKworICAgIHRhYmxlQ2VsbCA9IGF0a19vYmplY3RfcmVm
X2FjY2Vzc2libGVfY2hpbGQodGFibGUsIDIpOworICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHRh
YmxlQ2VsbCkpOworICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUodGFibGVDZWxsKSA9
PSBBVEtfUk9MRV9UQUJMRV9DRUxMKTsKKyAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRL
X1RFWFQodGFibGVDZWxsKSwgMCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwg
IkJsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgdGFibGUgY2VsbFxuSW5saW5lIHNwYW4gaW4gYSBs
aW5rIGluIGEgdGFibGUgY2VsbCIpOworICAgIGdfZnJlZSh0ZXh0KTsKKworICAgIHRhYmxlQ2Vs
bCA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQodGFibGUsIDMpOworICAgIGdfYXNz
ZXJ0KEFUS19JU19URVhUKHRhYmxlQ2VsbCkpOworICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0
X3JvbGUodGFibGVDZWxsKSA9PSBBVEtfUk9MRV9UQUJMRV9DRUxMKTsKKyAgICB0ZXh0ID0gYXRr
X3RleHRfZ2V0X3RleHQoQVRLX1RFWFQodGFibGVDZWxsKSwgMCwgLTEpOworICAgIGdfYXNzZXJ0
X2NtcHN0cih0ZXh0LCA9PSwgIkJsb2NrIHNwYW4gaW4gYSB0YWJsZSBjZWxsXG5JbmxpbmUgc3Bh
biBpbiBhIHRhYmxlIGNlbGwiKTsKKyAgICBnX2ZyZWUodGV4dCk7CisKKyAgICBoZWFkZXIgPSBh
dGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKG9iamVjdCwgNSk7CisgICAgZ19hc3NlcnQo
QVRLX0lTX1RFWFQoaGVhZGVyKSk7CisgICAgZ19hc3NlcnQoYXRrX29iamVjdF9nZXRfcm9sZSho
ZWFkZXIpID09IEFUS19ST0xFX0hFQURJTkcpOworICAgIHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4
dChBVEtfVEVYVChoZWFkZXIpLCAwLCAtMSk7CisgICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09
LCAiQmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBoZWFkaW5nXG5JbmxpbmUgc3BhbiBpbiBhIGxp
bmsgaW4gYSBoZWFkaW5nIik7CisgICAgZ19mcmVlKHRleHQpOworCisgICAgaGVhZGVyID0gYXRr
X29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChvYmplY3QsIDYpOworICAgIGdfYXNzZXJ0KEFU
S19JU19URVhUKGhlYWRlcikpOworICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUoaGVh
ZGVyKSA9PSBBVEtfUk9MRV9IRUFESU5HKTsKKyAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQo
QVRLX1RFWFQoaGVhZGVyKSwgMCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwg
IkJsb2NrIHNwYW4gaW4gYSBoZWFkaW5nXG5JbmxpbmUgc3BhbiBpbiBhIGhlYWRpbmciKTsKKyAg
ICBnX2ZyZWUodGV4dCk7CisKICAgICBnX2ZyZWUodGV4dENhcmV0TW92ZWRSZXN1bHQpOwogCiAg
ICAgZ19vYmplY3RfdW5yZWYoaGVhZGVyKTsKLS0gCjEuNy4xMS40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159791</attachid>
            <date>2012-08-21 16:17:50 -0700</date>
            <delta_ts>2012-08-21 16:33:27 -0700</delta_ts>
            <desc>Fix for the failure to implement AtkText along with updated unit test</desc>
            <filename>72811-a.patch</filename>
            <type>text/plain</type>
            <size>11309</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSA0ODZhNGQ4OWUyNzg4ZjlmMjEyMWQxYzdlZTc4ZTk1MTQzYmVjODk2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBUdWUsIDIxIEF1ZyAyMDEyIDE4OjA0OjA1IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gUGFy
dCBvZiB0aGUgZml4IGZvciBidWcgNzI4MTEKCi0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMyArKysrKysrKysKIC4uLi9ndGsvV2ViS2l0
QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwICAgICAgICAgICAgIHwgIDcgKystCiBTb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8IDE3ICsrKysrKysKIFNv
dXJjZS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsuYyAgICAgICAgICAgICAgICAgIHwgNTkgKysr
KysrKysrKysrKysrKysrKystLQogNCBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwg
NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjM0YzA5Yi4uZjNmZWI0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA4LTIxICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR3RrXSBObyBhY2Nlc3NpYmxlIGNhcmV0LW1vdmVkIGV2
ZW50cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiB0aGUgYnVnIGlzIGR1ZSB0byBvYmplY3RzIHdo
aWNoIHNob3VsZCBjbGFpbSB0byBpbXBsZW1lbnQgQXRrVGV4dAorICAgICAgICBmYWlsZWQgdG8g
ZG8gc28gYXMgYSByZXN1bHQgb2YgY29udGFpbmluZyBhIG1peHR1cmUgb2YgaW5saW5lIGFuZCBi
bG9jaworICAgICAgICBzcGFucy4KKworICAgICAgICBBbiB1cGRhdGVkIHVuaXQgdGVzdCB3YXMg
cHJvdmlkZWQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxl
V3JhcHBlckF0ay5jcHA6CisgICAgICAgIChyb2xlSXNUZXh0VHlwZSk6IE5ldyBtZXRob2QgdG8g
Y2hlY2sgaWYgYSByb2xlIGlzIG9uZSBleHBlY3RlZCB0byBoYXZlCisgICAgICAgIGltcGxlbWVu
dGVkIHRoZSBBdGtUZXh0IGludGVyZmFjZS4gQ3VycmVudGx5IHRoYXQgaXMgZGVmaW5lZCBhczoK
KyAgICAgICAgIC0gUGFyYWdyYXBoUm9sZQorICAgICAgICAgLSBIZWFkaW5nUm9sZQorICAgICAg
ICAgLSBEaXZSb2xlCisgICAgICAgICAtIENlbGxSb2xlCisgICAgICAgIChnZXRJbnRlcmZhY2VN
YXNrRnJvbU9iamVjdCk6IElmIGEgcm9sZSBpcyBvbmUgb2YgdGhlIHRleHQgdHlwZSByb2xlcywK
KyAgICAgICAgYXV0b21hdGljYWxseSBhZGQgV0FJX1RFWFQgdG8gdGhlIGFjY2Vzc2libGUgb2Jq
ZWN0J3MgaW50ZXJmYWNlIG1hc2suCisKIDIwMTItMDgtMTkgIEtlbnRhcm8gSGFyYSAgPGhhcmFr
ZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBSZWZQdHIgZnJvbSBIVE1MUHJvZ3Jl
c3NFbGVtZW50OjptX3ZhbHVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXggN2Y2
Yjg5NC4uM2RhYjU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9n
dGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtODE1LDYg
KzgxNSwxMSBAQCBzdGF0aWMgR1R5cGUgR2V0QXRrSW50ZXJmYWNlVHlwZUZyb21XQUlUeXBlKFdB
SVR5cGUgdHlwZSkKICAgICByZXR1cm4gR19UWVBFX0lOVkFMSUQ7CiB9CiAKK3N0YXRpYyBib29s
IHJvbGVJc1RleHRUeXBlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCit7CisgICAgcmV0dXJuIChy
b2xlID09IFBhcmFncmFwaFJvbGUgfHwgcm9sZSA9PSBIZWFkaW5nUm9sZSB8fCByb2xlID09IERp
dlJvbGUgfHwgcm9sZSA9PSBDZWxsUm9sZSk7Cit9CisKIHN0YXRpYyBndWludDE2IGdldEludGVy
ZmFjZU1hc2tGcm9tT2JqZWN0KEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcmVPYmplY3QpCiB7CiAg
ICAgZ3VpbnQxNiBpbnRlcmZhY2VNYXNrID0gMDsKQEAgLTg1Niw3ICs4NjEsNyBAQCBzdGF0aWMg
Z3VpbnQxNiBnZXRJbnRlcmZhY2VNYXNrRnJvbU9iamVjdChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBj
b3JlT2JqZWN0KQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKHJvbGUgIT0gVGFi
bGVSb2xlKSB7CiAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTWFzayB8PSAxIDw8IFdBSV9IWVBF
UlRFWFQ7Ci0gICAgICAgICAgICAgICAgaWYgKHJlbmRlcmVyICYmIHJlbmRlcmVyLT5jaGlsZHJl
bklubGluZSgpKQorICAgICAgICAgICAgICAgIGlmICgocmVuZGVyZXIgJiYgcmVuZGVyZXItPmNo
aWxkcmVuSW5saW5lKCkpIHx8IHJvbGVJc1RleHRUeXBlKHJvbGUpKQogICAgICAgICAgICAgICAg
ICAgICBpbnRlcmZhY2VNYXNrIHw9IDEgPDwgV0FJX1RFWFQ7CiAgICAgICAgICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwppbmRleCA1MTFhMDg3Li4zNzI3YmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTItMDgtMjEgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEu
Y29tPgorICAgICAgICBbR3RrXSBObyBhY2Nlc3NpYmxlIGNhcmV0LW1vdmVkIGV2ZW50cyBmb3Vu
ZCBpbiBjZXJ0YWluIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcyODExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUGFydCBvZiB0aGUgYnVnIGlzIGR1ZSB0byBvYmplY3RzIHdoaWNoIHNob3Vs
ZCBjbGFpbSB0byBpbXBsZW1lbnQgQXRrVGV4dAorICAgICAgICBmYWlsZWQgdG8gZG8gc28gYXMg
YSByZXN1bHQgb2YgY29udGFpbmluZyBhIG1peHR1cmUgb2YgaW5saW5lIGFuZCBibG9jaworICAg
ICAgICBzcGFucy4KKworICAgICAgICBBbiB1cGRhdGVkIHVuaXQgdGVzdCB3YXMgcHJvdmlkZWQu
CisKKyAgICAgICAgKiB0ZXN0cy90ZXN0YXRrLmM6CisgICAgICAgICh0ZXN0V2Via2l0QXRrQ2Fy
ZXRPZmZzZXRzKTogQWRkZWQgaW5zdGFuY2VzIG9mIG9iamVjdHMgY29udGFpbmluZyBhCisgICAg
ICAgIG1peHR1cmUgb2YgaW5saW5lIGFuZCBibG9jayBzcGFucyBhbmQgdGVzdGVkIHRoYXQgdGhl
eSBpbXBsZW1lbnQgQXRrVGV4dAorICAgICAgICBhbmQgY29udGFpbiB0aGUgcmlnaHQgdGV4dHVh
bCBjb250ZW50cy4KKwogMjAxMi0wOC0xNSAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0d0a10gYXRrX3RleHRfc2V0X2NhcmV0X29mZnNldCgpIGZhaWxz
IGZvciB0YWJsZSBjZWxscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvdGVzdHMvdGVz
dGF0ay5jIGIvU291cmNlL1dlYktpdC9ndGsvdGVzdHMvdGVzdGF0ay5jCmluZGV4IDI0NjNjNzQu
Ljc1OWRhMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsuYwor
KysgYi9Tb3VyY2UvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMKQEAgLTY1LDcgKzY1LDcgQEAg
c3RhdGljIGNvbnN0IGNoYXIqIGxpbmtzV2l0aElubGluZUltYWdlcyA9ICI8aHRtbD48aGVhZD48
c3R5bGU+YS5odHRwOmJlZm9yZSB7Y28KIAogc3RhdGljIGNvbnN0IGNoYXIqIGxpc3RzT2ZJdGVt
cyA9ICI8aHRtbD48Ym9keT48dWw+PGxpPnRleHQgb25seTwvbGk+PGxpPjxhIGhyZWY9J2Zvbyc+
bGluayBvbmx5PC9hPjwvbGk+PGxpPnRleHQgYW5kIGEgPGEgaHJlZj0nYmFyJz5saW5rPC9hPjwv
bGk+PC91bD48b2w+PGxpPnRleHQgb25seTwvbGk+PGxpPjxhIGhyZWY9J2Zvbyc+bGluayBvbmx5
PC9hPjwvbGk+PGxpPnRleHQgYW5kIGEgPGEgaHJlZj0nYmFyJz5saW5rPC9hPjwvbGk+PC9vbD48
L2JvZHk+PC9odG1sPiI7CiAKLXN0YXRpYyBjb25zdCBjaGFyKiB0ZXh0Rm9yQ2FyZXRCcm93c2lu
ZyA9ICI8aHRtbD48Ym9keT48aDE+QSB0ZXh0IGhlYWRlcjwvaDE+PHA+QSBwYXJhZ3JhcGggPGEg
aHJlZj0naHR0cDovL2Zvby5iYXIuYmF6Lyc+d2l0aCBhIGxpbms8L2E+IGluIHRoZSBtaWRkbGU8
L3A+PG9sPjxsaT5BIGxpc3QgaXRlbTwvbGk+PC9vbD48c2VsZWN0PjxvcHRpb24gc2VsZWN0ZWQg
dmFsdWU9J2Zvbyc+QW4gb3B0aW9uIGluIGEgY29tYm8gYm94PC9vcHRpb24+PC9zZWxlY3Q+PGlu
cHV0IHR5cGU9J3RleHQnJyBuYW1lPSdmb28nJyB2YWx1ZT0nZm9vIGJhciBiYXonIC8+PHRhYmxl
Pjx0cj48dGQ+YSB0YWJsZSBjZWxsPC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4iOwor
c3RhdGljIGNvbnN0IGNoYXIqIHRleHRGb3JDYXJldEJyb3dzaW5nID0gIjxodG1sPjxib2R5Pjxo
MT5BIHRleHQgaGVhZGVyPC9oMT48cD5BIHBhcmFncmFwaCA8YSBocmVmPSdodHRwOi8vZm9vLmJh
ci5iYXovJz53aXRoIGEgbGluazwvYT4gaW4gdGhlIG1pZGRsZTwvcD48b2w+PGxpPkEgbGlzdCBp
dGVtPC9saT48bGk+PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEg
bGlzdCBpdGVtPC9zcGFuPjxzcGFuPklubGluZSBzcGFuIGluIGEgbGlzdCBpdGVtPC9zcGFuPjwv
bGk+PGxpPjxhIGhyZWY9J2Zvbyc+PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBz
cGFuIGluIGEgbGluayBpbiBhIGxpc3QgaXRlbTwvc3Bhbj48c3Bhbj5JbmxpbmUgc3BhbiBpbiBh
IGxpbmsgaW4gYSBsaXN0IGl0ZW08L3NwYW4+PC9hPjwvbGk+PC9vbD48c2VsZWN0PjxvcHRpb24g
c2VsZWN0ZWQgdmFsdWU9J2Zvbyc+QW4gb3B0aW9uIGluIGEgY29tYm8gYm94PC9vcHRpb24+PC9z
ZWxlY3Q+PGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2ZvbycgdmFsdWU9J2ZvbyBiYXIgYmF6JyAv
Pjx0YWJsZT48dHI+PHRkPmEgdGFibGUgY2VsbDwvdGQ+PHRkPjwvdGQ+PHRkPjxhIGhyZWY9J2Zv
byc+PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgbGluayBpbiBh
IHRhYmxlIGNlbGw8L3NwYW4+PHNwYW4+SW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgdGFibGUg
Y2VsbDwvc3Bhbj48L2E+PC90ZD48dGQ+PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9j
ayBzcGFuIGluIGEgdGFibGUgY2VsbDwvc3Bhbj48c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIHRhYmxl
IGNlbGw8L3NwYW4+PC90ZD48L3RyPjwvdGFibGU+PGg0PjxhIGhyZWY9J2Zvbyc+PHNwYW4gc3R5
bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgbGluayBpbiBhIGhlYWRpbmc8L3Nw
YW4+PHNwYW4+SW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgaGVhZGluZzwvc3Bhbj48L2g0Pjxo
ND48c3BhbiBzdHlsZT0nZGlzcGxheTpibG9jazsnPkJsb2NrIHNwYW4gaW4gYSBoZWFkaW5nPC9z
cGFuPjxzcGFuPklubGluZSBzcGFuIGluIGEgaGVhZGluZzwvc3Bhbj48L2g0PjwvYm9keT48L2h0
bWw+IjsKIAogc3RhdGljIGNvbnN0IGNoYXIqIHRleHRGb3JTZWxlY3Rpb25zID0gIjxodG1sPjxi
b2R5PjxwPkEgcGFyYWdyYXBoIHdpdGggcGxhaW4gdGV4dDwvcD48cD5BIHBhcmFncmFwaCB3aXRo
IDxhIGhyZWY9J2h0dHA6Ly93ZWJraXQub3JnJz5hIGxpbms8L2E+IGluIHRoZSBtaWRkbGU8L3A+
PG9sPjxsaT5BIGxpc3QgaXRlbTwvbGk+PC9vbD48c2VsZWN0PjwvYm9keT48L2h0bWw+IjsKIApA
QCAtMzM2LDcgKzMzNiw3IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJraXRBdGtDYXJldE9mZnNldHMo
KQogICAgIEF0a09iamVjdCogbGlzdCA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQo
b2JqZWN0LCAyKTsKICAgICBnX2Fzc2VydChBVEtfT0JKRUNUKGxpc3QpKTsKICAgICBnX2Fzc2Vy
dChhdGtfb2JqZWN0X2dldF9yb2xlKGxpc3QpID09IEFUS19ST0xFX0xJU1QpOwotICAgIGdfYXNz
ZXJ0X2NtcGludChhdGtfb2JqZWN0X2dldF9uX2FjY2Vzc2libGVfY2hpbGRyZW4obGlzdCksID09
LCAxKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoYXRrX29iamVjdF9nZXRfbl9hY2Nlc3NpYmxlX2No
aWxkcmVuKGxpc3QpLCA9PSwgMyk7CiAKICAgICBBdGtPYmplY3QqIGxpc3RJdGVtID0gYXRrX29i
amVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChsaXN0LCAwKTsKICAgICBnX2Fzc2VydChBVEtfSVNf
VEVYVChsaXN0SXRlbSkpOwpAQCAtMzQ0LDYgKzM0NCwxOCBAQCBzdGF0aWMgdm9pZCB0ZXN0V2Vi
a2l0QXRrQ2FyZXRPZmZzZXRzKCkKICAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICIxLiBB
IGxpc3QgaXRlbSIpOwogICAgIGdfZnJlZSAodGV4dCk7CiAKKyAgICBsaXN0SXRlbSA9IGF0a19v
YmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQobGlzdCwgMSk7CisgICAgZ19hc3NlcnQoQVRLX0lT
X1RFWFQobGlzdEl0ZW0pKTsKKyAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRLX1RFWFQo
bGlzdEl0ZW0pLCAwLCAtMSk7CisgICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAiMi4gQmxv
Y2sgc3BhbiBpbiBhIGxpc3QgaXRlbVxuSW5saW5lIHNwYW4gaW4gYSBsaXN0IGl0ZW0iKTsKKyAg
ICBnX2ZyZWUgKHRleHQpOworCisgICAgbGlzdEl0ZW0gPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3Np
YmxlX2NoaWxkKGxpc3QsIDIpOworICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKGxpc3RJdGVtKSk7
CisgICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKGxpc3RJdGVtKSwgMCwgLTEp
OworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIjMuIEJsb2NrIHNwYW4gaW4gYSBsaW5r
IGluIGEgbGlzdCBpdGVtXG5JbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSBsaXN0IGl0ZW0iKTsK
KyAgICBnX2ZyZWUgKHRleHQpOworCiAgICAgLyogSXQncyBub3QgcG9zc2libGUgdG8gcGxhY2Ug
dGhlIGNhcmV0IGluc2lkZSBhbiBpdGVtJ3MgbWFya2VyLiAqLwogICAgIHJlc3VsdCA9IGF0a190
ZXh0X3NldF9jYXJldF9vZmZzZXQoQVRLX1RFWFQobGlzdEl0ZW0pLCAxKTsKICAgICBnX2Fzc2Vy
dF9jbXBpbnQocmVzdWx0LCA9PSwgRkFMU0UpOwpAQCAtMzYwLDEwICszNzIsMTIgQEAgc3RhdGlj
IHZvaWQgdGVzdFdlYmtpdEF0a0NhcmV0T2Zmc2V0cygpCiAKICAgICBBdGtPYmplY3QqIGNvbWJv
Qm94ID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChwYW5lbCwgMCk7CiAgICAgZ19h
c3NlcnQoQVRLX0lTX09CSkVDVChjb21ib0JveCkpOworICAgIGdfYXNzZXJ0KCFBVEtfSVNfVEVY
VChjb21ib0JveCkpOwogICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUoY29tYm9Cb3gp
ID09IEFUS19ST0xFX0NPTUJPX0JPWCk7CiAKICAgICBBdGtPYmplY3QqIG1lbnVQb3B1cCA9IGF0
a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQoY29tYm9Cb3gsIDApOwogICAgIGdfYXNzZXJ0
KEFUS19JU19PQkpFQ1QobWVudVBvcHVwKSk7CisgICAgZ19hc3NlcnQoIUFUS19JU19URVhUKG1l
bnVQb3B1cCkpOwogICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUobWVudVBvcHVwKSA9
PSBBVEtfUk9MRV9NRU5VKTsKIAogICAgIEF0a09iamVjdCogY29tYm9Cb3hPcHRpb24gPSBhdGtf
b2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKG1lbnVQb3B1cCwgMCk7CkBAIC0zNzIsNiArMzg2
LDcgQEAgc3RhdGljIHZvaWQgdGVzdFdlYmtpdEF0a0NhcmV0T2Zmc2V0cygpCiAgICAgZ19hc3Nl
cnQoQVRLX0lTX1RFWFQoY29tYm9Cb3hPcHRpb24pKTsKICAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0
X3RleHQoQVRLX1RFWFQoY29tYm9Cb3hPcHRpb24pLCAwLCAtMSk7CiAgICAgZ19hc3NlcnRfY21w
c3RyKHRleHQsID09LCAiQW4gb3B0aW9uIGluIGEgY29tYm8gYm94Iik7CisgICAgZ19mcmVlKHRl
eHQpOwogCiAgICAgLyogSXQncyBub3QgcG9zc2libGUgdG8gcGxhY2UgdGhlIGNhcmV0IGluc2lk
ZSBhbiBvcHRpb24gZm9yIGEgY29tYm9ib3guICovCiAgICAgcmVzdWx0ID0gYXRrX3RleHRfc2V0
X2NhcmV0X29mZnNldChBVEtfVEVYVChjb21ib0JveE9wdGlvbiksIDEpOwpAQCAtMzgzLDYgKzM5
OCw3IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJraXRBdGtDYXJldE9mZnNldHMoKQogICAgIGdfYXNz
ZXJ0KEFUS19JU19URVhUKHRleHRFbnRyeSkpOwogICAgIHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4
dChBVEtfVEVYVCh0ZXh0RW50cnkpLCAwLCAtMSk7CiAgICAgZ19hc3NlcnRfY21wc3RyKHRleHQs
ID09LCAiZm9vIGJhciBiYXoiKTsKKyAgICBnX2ZyZWUodGV4dCk7CiAKICAgICByZXN1bHQgPSBh
dGtfdGV4dF9zZXRfY2FyZXRfb2Zmc2V0KEFUS19URVhUKHRleHRFbnRyeSksIDUpOwogICAgIGdf
YXNzZXJ0X2NtcGludChyZXN1bHQsID09LCBUUlVFKTsKQEAgLTM5MSw4ICs0MDcsOSBAQCBzdGF0
aWMgdm9pZCB0ZXN0V2Via2l0QXRrQ2FyZXRPZmZzZXRzKCkKIAogICAgIEF0a09iamVjdCogdGFi
bGUgPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKG9iamVjdCwgNCk7CiAgICAgZ19h
c3NlcnQoQVRLX0lTX09CSkVDVCh0YWJsZSkpOworICAgIGdfYXNzZXJ0KCFBVEtfSVNfVEVYVCh0
YWJsZSkpOwogICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUodGFibGUpID09IEFUS19S
T0xFX1RBQkxFKTsKLSAgICBnX2Fzc2VydF9jbXBpbnQoYXRrX29iamVjdF9nZXRfbl9hY2Nlc3Np
YmxlX2NoaWxkcmVuKHRhYmxlKSwgPT0sIDEpOworICAgIGdfYXNzZXJ0X2NtcGludChhdGtfb2Jq
ZWN0X2dldF9uX2FjY2Vzc2libGVfY2hpbGRyZW4odGFibGUpLCA9PSwgNCk7CiAKICAgICBBdGtP
YmplY3QqIHRhYmxlQ2VsbCA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQodGFibGUs
IDApOwogICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHRhYmxlQ2VsbCkpOwpAQCAtNDA2LDYgKzQy
Myw0MiBAQCBzdGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrQ2FyZXRPZmZzZXRzKCkKICAgICBvZmZz
ZXQgPSBhdGtfdGV4dF9nZXRfY2FyZXRfb2Zmc2V0KEFUS19URVhUKHRhYmxlQ2VsbCkpOwogICAg
IGdfYXNzZXJ0X2NtcGludChvZmZzZXQsID09LCAyKTsKIAorICAgIC8qIEV2ZW4gZW1wdHkgdGFi
bGUgY2VsbHMgc2hvdWxkIGltcGxlbWVudCBBdGtUZXh0LCBidXQgcmVwb3J0IGFuIGVtcHR5IHN0
cmluZyAqLworICAgIHRhYmxlQ2VsbCA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQo
dGFibGUsIDEpOworICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHRhYmxlQ2VsbCkpOworICAgIGdf
YXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUodGFibGVDZWxsKSA9PSBBVEtfUk9MRV9UQUJMRV9D
RUxMKTsKKyAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRLX1RFWFQodGFibGVDZWxsKSwg
MCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIiIpOworICAgIGdfZnJlZSh0
ZXh0KTsKKworICAgIHRhYmxlQ2VsbCA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQo
dGFibGUsIDIpOworICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHRhYmxlQ2VsbCkpOworICAgIGdf
YXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUodGFibGVDZWxsKSA9PSBBVEtfUk9MRV9UQUJMRV9D
RUxMKTsKKyAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRLX1RFWFQodGFibGVDZWxsKSwg
MCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIkJsb2NrIHNwYW4gaW4gYSBs
aW5rIGluIGEgdGFibGUgY2VsbFxuSW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgdGFibGUgY2Vs
bCIpOworICAgIGdfZnJlZSh0ZXh0KTsKKworICAgIHRhYmxlQ2VsbCA9IGF0a19vYmplY3RfcmVm
X2FjY2Vzc2libGVfY2hpbGQodGFibGUsIDMpOworICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHRh
YmxlQ2VsbCkpOworICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUodGFibGVDZWxsKSA9
PSBBVEtfUk9MRV9UQUJMRV9DRUxMKTsKKyAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRL
X1RFWFQodGFibGVDZWxsKSwgMCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwg
IkJsb2NrIHNwYW4gaW4gYSB0YWJsZSBjZWxsXG5JbmxpbmUgc3BhbiBpbiBhIHRhYmxlIGNlbGwi
KTsKKyAgICBnX2ZyZWUodGV4dCk7CisKKyAgICBoZWFkZXIgPSBhdGtfb2JqZWN0X3JlZl9hY2Nl
c3NpYmxlX2NoaWxkKG9iamVjdCwgNSk7CisgICAgZ19hc3NlcnQoQVRLX0lTX1RFWFQoaGVhZGVy
KSk7CisgICAgZ19hc3NlcnQoYXRrX29iamVjdF9nZXRfcm9sZShoZWFkZXIpID09IEFUS19ST0xF
X0hFQURJTkcpOworICAgIHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4dChBVEtfVEVYVChoZWFkZXIp
LCAwLCAtMSk7CisgICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAiQmxvY2sgc3BhbiBpbiBh
IGxpbmsgaW4gYSBoZWFkaW5nXG5JbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSBoZWFkaW5nIik7
CisgICAgZ19mcmVlKHRleHQpOworCisgICAgaGVhZGVyID0gYXRrX29iamVjdF9yZWZfYWNjZXNz
aWJsZV9jaGlsZChvYmplY3QsIDYpOworICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKGhlYWRlcikp
OworICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUoaGVhZGVyKSA9PSBBVEtfUk9MRV9I
RUFESU5HKTsKKyAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRLX1RFWFQoaGVhZGVyKSwg
MCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIkJsb2NrIHNwYW4gaW4gYSBo
ZWFkaW5nXG5JbmxpbmUgc3BhbiBpbiBhIGhlYWRpbmciKTsKKyAgICBnX2ZyZWUodGV4dCk7CisK
ICAgICBnX2ZyZWUodGV4dENhcmV0TW92ZWRSZXN1bHQpOwogCiAgICAgZ19vYmplY3RfdW5yZWYo
aGVhZGVyKTsKLS0gCjEuNy4xMS40Cgo=
</data>
<flag name="review"
          id="170200"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159799</attachid>
            <date>2012-08-21 16:33:27 -0700</date>
            <delta_ts>2012-09-01 02:15:58 -0700</delta_ts>
            <desc>Fix for the failure to implement AtkText along with updated unit test</desc>
            <filename>72811-a.patch</filename>
            <type>text/plain</type>
            <size>11307</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAyNzhjZGZjMjBmOTI1YzIyMGI0YzkwZjdmOTdjODkzNTNjYTllNmUwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBUdWUsIDIxIEF1ZyAyMDEyIDE4OjA0OjA1IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gUGFy
dCBvZiB0aGUgZml4IGZvciBidWcgNzI4MTEKCi0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMyArKysrKysrKysKIC4uLi9ndGsvV2ViS2l0
QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwICAgICAgICAgICAgIHwgIDcgKystCiBTb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8IDE3ICsrKysrKysKIFNv
dXJjZS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsuYyAgICAgICAgICAgICAgICAgIHwgNTkgKysr
KysrKysrKysrKysrKysrKystLQogNCBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwg
NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjM0YzA5Yi4uZjNmZWI0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA4LTIxICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR3RrXSBObyBhY2Nlc3NpYmxlIGNhcmV0LW1vdmVkIGV2
ZW50cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUGFydCBvZiB0aGUgYnVnIGlzIGR1ZSB0byBvYmplY3RzIHdo
aWNoIHNob3VsZCBjbGFpbSB0byBpbXBsZW1lbnQgQXRrVGV4dAorICAgICAgICBmYWlsZWQgdG8g
ZG8gc28gYXMgYSByZXN1bHQgb2YgY29udGFpbmluZyBhIG1peHR1cmUgb2YgaW5saW5lIGFuZCBi
bG9jaworICAgICAgICBzcGFucy4KKworICAgICAgICBBbiB1cGRhdGVkIHVuaXQgdGVzdCB3YXMg
cHJvdmlkZWQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxl
V3JhcHBlckF0ay5jcHA6CisgICAgICAgIChyb2xlSXNUZXh0VHlwZSk6IE5ldyBtZXRob2QgdG8g
Y2hlY2sgaWYgYSByb2xlIGlzIG9uZSBleHBlY3RlZCB0byBoYXZlCisgICAgICAgIGltcGxlbWVu
dGVkIHRoZSBBdGtUZXh0IGludGVyZmFjZS4gQ3VycmVudGx5IHRoYXQgaXMgZGVmaW5lZCBhczoK
KyAgICAgICAgIC0gUGFyYWdyYXBoUm9sZQorICAgICAgICAgLSBIZWFkaW5nUm9sZQorICAgICAg
ICAgLSBEaXZSb2xlCisgICAgICAgICAtIENlbGxSb2xlCisgICAgICAgIChnZXRJbnRlcmZhY2VN
YXNrRnJvbU9iamVjdCk6IElmIGEgcm9sZSBpcyBvbmUgb2YgdGhlIHRleHQgdHlwZSByb2xlcywK
KyAgICAgICAgYXV0b21hdGljYWxseSBhZGQgV0FJX1RFWFQgdG8gdGhlIGFjY2Vzc2libGUgb2Jq
ZWN0J3MgaW50ZXJmYWNlIG1hc2suCisKIDIwMTItMDgtMTkgIEtlbnRhcm8gSGFyYSAgPGhhcmFr
ZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBSZWZQdHIgZnJvbSBIVE1MUHJvZ3Jl
c3NFbGVtZW50OjptX3ZhbHVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXggN2Y2
Yjg5NC4uNDg3NmFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9n
dGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtODE1LDYg
KzgxNSwxMSBAQCBzdGF0aWMgR1R5cGUgR2V0QXRrSW50ZXJmYWNlVHlwZUZyb21XQUlUeXBlKFdB
SVR5cGUgdHlwZSkKICAgICByZXR1cm4gR19UWVBFX0lOVkFMSUQ7CiB9CiAKK3N0YXRpYyBib29s
IHJvbGVJc1RleHRUeXBlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCit7CisgICAgcmV0dXJuIHJv
bGUgPT0gUGFyYWdyYXBoUm9sZSB8fCByb2xlID09IEhlYWRpbmdSb2xlIHx8IHJvbGUgPT0gRGl2
Um9sZSB8fCByb2xlID09IENlbGxSb2xlOworfQorCiBzdGF0aWMgZ3VpbnQxNiBnZXRJbnRlcmZh
Y2VNYXNrRnJvbU9iamVjdChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0KQogewogICAg
IGd1aW50MTYgaW50ZXJmYWNlTWFzayA9IDA7CkBAIC04NTYsNyArODYxLDcgQEAgc3RhdGljIGd1
aW50MTYgZ2V0SW50ZXJmYWNlTWFza0Zyb21PYmplY3QoQWNjZXNzaWJpbGl0eU9iamVjdCogY29y
ZU9iamVjdCkKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGlmIChyb2xlICE9IFRhYmxl
Um9sZSkgewogICAgICAgICAgICAgICAgIGludGVyZmFjZU1hc2sgfD0gMSA8PCBXQUlfSFlQRVJU
RVhUOwotICAgICAgICAgICAgICAgIGlmIChyZW5kZXJlciAmJiByZW5kZXJlci0+Y2hpbGRyZW5J
bmxpbmUoKSkKKyAgICAgICAgICAgICAgICBpZiAoKHJlbmRlcmVyICYmIHJlbmRlcmVyLT5jaGls
ZHJlbklubGluZSgpKSB8fCByb2xlSXNUZXh0VHlwZShyb2xlKSkKICAgICAgICAgICAgICAgICAg
ICAgaW50ZXJmYWNlTWFzayB8PSAxIDw8IFdBSV9URVhUOwogICAgICAgICAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cKaW5kZXggNTExYTA4Ny4uMzcyN2JkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDEyLTA4LTIxICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNv
bT4KKyAgICAgICAgW0d0a10gTm8gYWNjZXNzaWJsZSBjYXJldC1tb3ZlZCBldmVudHMgZm91bmQg
aW4gY2VydGFpbiBjb250ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MjgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFBhcnQgb2YgdGhlIGJ1ZyBpcyBkdWUgdG8gb2JqZWN0cyB3aGljaCBzaG91bGQg
Y2xhaW0gdG8gaW1wbGVtZW50IEF0a1RleHQKKyAgICAgICAgZmFpbGVkIHRvIGRvIHNvIGFzIGEg
cmVzdWx0IG9mIGNvbnRhaW5pbmcgYSBtaXh0dXJlIG9mIGlubGluZSBhbmQgYmxvY2sKKyAgICAg
ICAgc3BhbnMuCisKKyAgICAgICAgQW4gdXBkYXRlZCB1bml0IHRlc3Qgd2FzIHByb3ZpZGVkLgor
CisgICAgICAgICogdGVzdHMvdGVzdGF0ay5jOgorICAgICAgICAodGVzdFdlYmtpdEF0a0NhcmV0
T2Zmc2V0cyk6IEFkZGVkIGluc3RhbmNlcyBvZiBvYmplY3RzIGNvbnRhaW5pbmcgYQorICAgICAg
ICBtaXh0dXJlIG9mIGlubGluZSBhbmQgYmxvY2sgc3BhbnMgYW5kIHRlc3RlZCB0aGF0IHRoZXkg
aW1wbGVtZW50IEF0a1RleHQKKyAgICAgICAgYW5kIGNvbnRhaW4gdGhlIHJpZ2h0IHRleHR1YWwg
Y29udGVudHMuCisKIDIwMTItMDgtMTUgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtHdGtdIGF0a190ZXh0X3NldF9jYXJldF9vZmZzZXQoKSBmYWlscyBm
b3IgdGFibGUgY2VsbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3Rh
dGsuYyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsuYwppbmRleCAyNDYzYzc0Li43
NTlkYTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMKKysr
IGIvU291cmNlL1dlYktpdC9ndGsvdGVzdHMvdGVzdGF0ay5jCkBAIC02NSw3ICs2NSw3IEBAIHN0
YXRpYyBjb25zdCBjaGFyKiBsaW5rc1dpdGhJbmxpbmVJbWFnZXMgPSAiPGh0bWw+PGhlYWQ+PHN0
eWxlPmEuaHR0cDpiZWZvcmUge2NvCiAKIHN0YXRpYyBjb25zdCBjaGFyKiBsaXN0c09mSXRlbXMg
PSAiPGh0bWw+PGJvZHk+PHVsPjxsaT50ZXh0IG9ubHk8L2xpPjxsaT48YSBocmVmPSdmb28nPmxp
bmsgb25seTwvYT48L2xpPjxsaT50ZXh0IGFuZCBhIDxhIGhyZWY9J2Jhcic+bGluazwvYT48L2xp
PjwvdWw+PG9sPjxsaT50ZXh0IG9ubHk8L2xpPjxsaT48YSBocmVmPSdmb28nPmxpbmsgb25seTwv
YT48L2xpPjxsaT50ZXh0IGFuZCBhIDxhIGhyZWY9J2Jhcic+bGluazwvYT48L2xpPjwvb2w+PC9i
b2R5PjwvaHRtbD4iOwogCi1zdGF0aWMgY29uc3QgY2hhciogdGV4dEZvckNhcmV0QnJvd3Npbmcg
PSAiPGh0bWw+PGJvZHk+PGgxPkEgdGV4dCBoZWFkZXI8L2gxPjxwPkEgcGFyYWdyYXBoIDxhIGhy
ZWY9J2h0dHA6Ly9mb28uYmFyLmJhei8nPndpdGggYSBsaW5rPC9hPiBpbiB0aGUgbWlkZGxlPC9w
PjxvbD48bGk+QSBsaXN0IGl0ZW08L2xpPjwvb2w+PHNlbGVjdD48b3B0aW9uIHNlbGVjdGVkIHZh
bHVlPSdmb28nPkFuIG9wdGlvbiBpbiBhIGNvbWJvIGJveDwvb3B0aW9uPjwvc2VsZWN0PjxpbnB1
dCB0eXBlPSd0ZXh0JycgbmFtZT0nZm9vJycgdmFsdWU9J2ZvbyBiYXIgYmF6JyAvPjx0YWJsZT48
dHI+PHRkPmEgdGFibGUgY2VsbDwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+IjsKK3N0
YXRpYyBjb25zdCBjaGFyKiB0ZXh0Rm9yQ2FyZXRCcm93c2luZyA9ICI8aHRtbD48Ym9keT48aDE+
QSB0ZXh0IGhlYWRlcjwvaDE+PHA+QSBwYXJhZ3JhcGggPGEgaHJlZj0naHR0cDovL2Zvby5iYXIu
YmF6Lyc+d2l0aCBhIGxpbms8L2E+IGluIHRoZSBtaWRkbGU8L3A+PG9sPjxsaT5BIGxpc3QgaXRl
bTwvbGk+PGxpPjxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sgc3BhbiBpbiBhIGxp
c3QgaXRlbTwvc3Bhbj48c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIGxpc3QgaXRlbTwvc3Bhbj48L2xp
PjxsaT48YSBocmVmPSdmb28nPjxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sgc3Bh
biBpbiBhIGxpbmsgaW4gYSBsaXN0IGl0ZW08L3NwYW4+PHNwYW4+SW5saW5lIHNwYW4gaW4gYSBs
aW5rIGluIGEgbGlzdCBpdGVtPC9zcGFuPjwvYT48L2xpPjwvb2w+PHNlbGVjdD48b3B0aW9uIHNl
bGVjdGVkIHZhbHVlPSdmb28nPkFuIG9wdGlvbiBpbiBhIGNvbWJvIGJveDwvb3B0aW9uPjwvc2Vs
ZWN0PjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdmb28nIHZhbHVlPSdmb28gYmFyIGJheicgLz48
dGFibGU+PHRyPjx0ZD5hIHRhYmxlIGNlbGw8L3RkPjx0ZD48L3RkPjx0ZD48YSBocmVmPSdmb28n
PjxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSB0
YWJsZSBjZWxsPC9zcGFuPjxzcGFuPklubGluZSBzcGFuIGluIGEgbGluayBpbiBhIHRhYmxlIGNl
bGw8L3NwYW4+PC9hPjwvdGQ+PHRkPjxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sg
c3BhbiBpbiBhIHRhYmxlIGNlbGw8L3NwYW4+PHNwYW4+SW5saW5lIHNwYW4gaW4gYSB0YWJsZSBj
ZWxsPC9zcGFuPjwvdGQ+PC90cj48L3RhYmxlPjxoND48YSBocmVmPSdmb28nPjxzcGFuIHN0eWxl
PSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBoZWFkaW5nPC9zcGFu
PjxzcGFuPklubGluZSBzcGFuIGluIGEgbGluayBpbiBhIGhlYWRpbmc8L3NwYW4+PC9oND48aDQ+
PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgaGVhZGluZzwvc3Bh
bj48c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIGhlYWRpbmc8L3NwYW4+PC9oND48L2JvZHk+PC9odG1s
PiI7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiB0ZXh0Rm9yU2VsZWN0aW9ucyA9ICI8aHRtbD48Ym9k
eT48cD5BIHBhcmFncmFwaCB3aXRoIHBsYWluIHRleHQ8L3A+PHA+QSBwYXJhZ3JhcGggd2l0aCA8
YSBocmVmPSdodHRwOi8vd2Via2l0Lm9yZyc+YSBsaW5rPC9hPiBpbiB0aGUgbWlkZGxlPC9wPjxv
bD48bGk+QSBsaXN0IGl0ZW08L2xpPjwvb2w+PHNlbGVjdD48L2JvZHk+PC9odG1sPiI7CiAKQEAg
LTMzNiw3ICszMzYsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrQ2FyZXRPZmZzZXRzKCkK
ICAgICBBdGtPYmplY3QqIGxpc3QgPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKG9i
amVjdCwgMik7CiAgICAgZ19hc3NlcnQoQVRLX09CSkVDVChsaXN0KSk7CiAgICAgZ19hc3NlcnQo
YXRrX29iamVjdF9nZXRfcm9sZShsaXN0KSA9PSBBVEtfUk9MRV9MSVNUKTsKLSAgICBnX2Fzc2Vy
dF9jbXBpbnQoYXRrX29iamVjdF9nZXRfbl9hY2Nlc3NpYmxlX2NoaWxkcmVuKGxpc3QpLCA9PSwg
MSk7CisgICAgZ19hc3NlcnRfY21waW50KGF0a19vYmplY3RfZ2V0X25fYWNjZXNzaWJsZV9jaGls
ZHJlbihsaXN0KSwgPT0sIDMpOwogCiAgICAgQXRrT2JqZWN0KiBsaXN0SXRlbSA9IGF0a19vYmpl
Y3RfcmVmX2FjY2Vzc2libGVfY2hpbGQobGlzdCwgMCk7CiAgICAgZ19hc3NlcnQoQVRLX0lTX1RF
WFQobGlzdEl0ZW0pKTsKQEAgLTM0NCw2ICszNDQsMTggQEAgc3RhdGljIHZvaWQgdGVzdFdlYmtp
dEF0a0NhcmV0T2Zmc2V0cygpCiAgICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAiMS4gQSBs
aXN0IGl0ZW0iKTsKICAgICBnX2ZyZWUgKHRleHQpOwogCisgICAgbGlzdEl0ZW0gPSBhdGtfb2Jq
ZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKGxpc3QsIDEpOworICAgIGdfYXNzZXJ0KEFUS19JU19U
RVhUKGxpc3RJdGVtKSk7CisgICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKGxp
c3RJdGVtKSwgMCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIjIuIEJsb2Nr
IHNwYW4gaW4gYSBsaXN0IGl0ZW1cbklubGluZSBzcGFuIGluIGEgbGlzdCBpdGVtIik7CisgICAg
Z19mcmVlICh0ZXh0KTsKKworICAgIGxpc3RJdGVtID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJs
ZV9jaGlsZChsaXN0LCAyKTsKKyAgICBnX2Fzc2VydChBVEtfSVNfVEVYVChsaXN0SXRlbSkpOwor
ICAgIHRleHQgPSBhdGtfdGV4dF9nZXRfdGV4dChBVEtfVEVYVChsaXN0SXRlbSksIDAsIC0xKTsK
KyAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICIzLiBCbG9jayBzcGFuIGluIGEgbGluayBp
biBhIGxpc3QgaXRlbVxuSW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgbGlzdCBpdGVtIik7Cisg
ICAgZ19mcmVlICh0ZXh0KTsKKwogICAgIC8qIEl0J3Mgbm90IHBvc3NpYmxlIHRvIHBsYWNlIHRo
ZSBjYXJldCBpbnNpZGUgYW4gaXRlbSdzIG1hcmtlci4gKi8KICAgICByZXN1bHQgPSBhdGtfdGV4
dF9zZXRfY2FyZXRfb2Zmc2V0KEFUS19URVhUKGxpc3RJdGVtKSwgMSk7CiAgICAgZ19hc3NlcnRf
Y21waW50KHJlc3VsdCwgPT0sIEZBTFNFKTsKQEAgLTM2MCwxMCArMzcyLDEyIEBAIHN0YXRpYyB2
b2lkIHRlc3RXZWJraXRBdGtDYXJldE9mZnNldHMoKQogCiAgICAgQXRrT2JqZWN0KiBjb21ib0Jv
eCA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2libGVfY2hpbGQocGFuZWwsIDApOwogICAgIGdfYXNz
ZXJ0KEFUS19JU19PQkpFQ1QoY29tYm9Cb3gpKTsKKyAgICBnX2Fzc2VydCghQVRLX0lTX1RFWFQo
Y29tYm9Cb3gpKTsKICAgICBnX2Fzc2VydChhdGtfb2JqZWN0X2dldF9yb2xlKGNvbWJvQm94KSA9
PSBBVEtfUk9MRV9DT01CT19CT1gpOwogCiAgICAgQXRrT2JqZWN0KiBtZW51UG9wdXAgPSBhdGtf
b2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKGNvbWJvQm94LCAwKTsKICAgICBnX2Fzc2VydChB
VEtfSVNfT0JKRUNUKG1lbnVQb3B1cCkpOworICAgIGdfYXNzZXJ0KCFBVEtfSVNfVEVYVChtZW51
UG9wdXApKTsKICAgICBnX2Fzc2VydChhdGtfb2JqZWN0X2dldF9yb2xlKG1lbnVQb3B1cCkgPT0g
QVRLX1JPTEVfTUVOVSk7CiAKICAgICBBdGtPYmplY3QqIGNvbWJvQm94T3B0aW9uID0gYXRrX29i
amVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChtZW51UG9wdXAsIDApOwpAQCAtMzcyLDYgKzM4Niw3
IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJraXRBdGtDYXJldE9mZnNldHMoKQogICAgIGdfYXNzZXJ0
KEFUS19JU19URVhUKGNvbWJvQm94T3B0aW9uKSk7CiAgICAgdGV4dCA9IGF0a190ZXh0X2dldF90
ZXh0KEFUS19URVhUKGNvbWJvQm94T3B0aW9uKSwgMCwgLTEpOwogICAgIGdfYXNzZXJ0X2NtcHN0
cih0ZXh0LCA9PSwgIkFuIG9wdGlvbiBpbiBhIGNvbWJvIGJveCIpOworICAgIGdfZnJlZSh0ZXh0
KTsKIAogICAgIC8qIEl0J3Mgbm90IHBvc3NpYmxlIHRvIHBsYWNlIHRoZSBjYXJldCBpbnNpZGUg
YW4gb3B0aW9uIGZvciBhIGNvbWJvYm94LiAqLwogICAgIHJlc3VsdCA9IGF0a190ZXh0X3NldF9j
YXJldF9vZmZzZXQoQVRLX1RFWFQoY29tYm9Cb3hPcHRpb24pLCAxKTsKQEAgLTM4Myw2ICszOTgs
NyBAQCBzdGF0aWMgdm9pZCB0ZXN0V2Via2l0QXRrQ2FyZXRPZmZzZXRzKCkKICAgICBnX2Fzc2Vy
dChBVEtfSVNfVEVYVCh0ZXh0RW50cnkpKTsKICAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQo
QVRLX1RFWFQodGV4dEVudHJ5KSwgMCwgLTEpOwogICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9
PSwgImZvbyBiYXIgYmF6Iik7CisgICAgZ19mcmVlKHRleHQpOwogCiAgICAgcmVzdWx0ID0gYXRr
X3RleHRfc2V0X2NhcmV0X29mZnNldChBVEtfVEVYVCh0ZXh0RW50cnkpLCA1KTsKICAgICBnX2Fz
c2VydF9jbXBpbnQocmVzdWx0LCA9PSwgVFJVRSk7CkBAIC0zOTEsOCArNDA3LDkgQEAgc3RhdGlj
IHZvaWQgdGVzdFdlYmtpdEF0a0NhcmV0T2Zmc2V0cygpCiAKICAgICBBdGtPYmplY3QqIHRhYmxl
ID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChvYmplY3QsIDQpOwogICAgIGdfYXNz
ZXJ0KEFUS19JU19PQkpFQ1QodGFibGUpKTsKKyAgICBnX2Fzc2VydCghQVRLX0lTX1RFWFQodGFi
bGUpKTsKICAgICBnX2Fzc2VydChhdGtfb2JqZWN0X2dldF9yb2xlKHRhYmxlKSA9PSBBVEtfUk9M
RV9UQUJMRSk7Ci0gICAgZ19hc3NlcnRfY21waW50KGF0a19vYmplY3RfZ2V0X25fYWNjZXNzaWJs
ZV9jaGlsZHJlbih0YWJsZSksID09LCAxKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoYXRrX29iamVj
dF9nZXRfbl9hY2Nlc3NpYmxlX2NoaWxkcmVuKHRhYmxlKSwgPT0sIDQpOwogCiAgICAgQXRrT2Jq
ZWN0KiB0YWJsZUNlbGwgPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKHRhYmxlLCAw
KTsKICAgICBnX2Fzc2VydChBVEtfSVNfVEVYVCh0YWJsZUNlbGwpKTsKQEAgLTQwNiw2ICs0MjMs
NDIgQEAgc3RhdGljIHZvaWQgdGVzdFdlYmtpdEF0a0NhcmV0T2Zmc2V0cygpCiAgICAgb2Zmc2V0
ID0gYXRrX3RleHRfZ2V0X2NhcmV0X29mZnNldChBVEtfVEVYVCh0YWJsZUNlbGwpKTsKICAgICBn
X2Fzc2VydF9jbXBpbnQob2Zmc2V0LCA9PSwgMik7CiAKKyAgICAvKiBFdmVuIGVtcHR5IHRhYmxl
IGNlbGxzIHNob3VsZCBpbXBsZW1lbnQgQXRrVGV4dCwgYnV0IHJlcG9ydCBhbiBlbXB0eSBzdHJp
bmcgKi8KKyAgICB0YWJsZUNlbGwgPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKHRh
YmxlLCAxKTsKKyAgICBnX2Fzc2VydChBVEtfSVNfVEVYVCh0YWJsZUNlbGwpKTsKKyAgICBnX2Fz
c2VydChhdGtfb2JqZWN0X2dldF9yb2xlKHRhYmxlQ2VsbCkgPT0gQVRLX1JPTEVfVEFCTEVfQ0VM
TCk7CisgICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKHRhYmxlQ2VsbCksIDAs
IC0xKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICIiKTsKKyAgICBnX2ZyZWUodGV4
dCk7CisKKyAgICB0YWJsZUNlbGwgPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKHRh
YmxlLCAyKTsKKyAgICBnX2Fzc2VydChBVEtfSVNfVEVYVCh0YWJsZUNlbGwpKTsKKyAgICBnX2Fz
c2VydChhdGtfb2JqZWN0X2dldF9yb2xlKHRhYmxlQ2VsbCkgPT0gQVRLX1JPTEVfVEFCTEVfQ0VM
TCk7CisgICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKHRhYmxlQ2VsbCksIDAs
IC0xKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICJCbG9jayBzcGFuIGluIGEgbGlu
ayBpbiBhIHRhYmxlIGNlbGxcbklubGluZSBzcGFuIGluIGEgbGluayBpbiBhIHRhYmxlIGNlbGwi
KTsKKyAgICBnX2ZyZWUodGV4dCk7CisKKyAgICB0YWJsZUNlbGwgPSBhdGtfb2JqZWN0X3JlZl9h
Y2Nlc3NpYmxlX2NoaWxkKHRhYmxlLCAzKTsKKyAgICBnX2Fzc2VydChBVEtfSVNfVEVYVCh0YWJs
ZUNlbGwpKTsKKyAgICBnX2Fzc2VydChhdGtfb2JqZWN0X2dldF9yb2xlKHRhYmxlQ2VsbCkgPT0g
QVRLX1JPTEVfVEFCTEVfQ0VMTCk7CisgICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19U
RVhUKHRhYmxlQ2VsbCksIDAsIC0xKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICJC
bG9jayBzcGFuIGluIGEgdGFibGUgY2VsbFxuSW5saW5lIHNwYW4gaW4gYSB0YWJsZSBjZWxsIik7
CisgICAgZ19mcmVlKHRleHQpOworCisgICAgaGVhZGVyID0gYXRrX29iamVjdF9yZWZfYWNjZXNz
aWJsZV9jaGlsZChvYmplY3QsIDUpOworICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKGhlYWRlcikp
OworICAgIGdfYXNzZXJ0KGF0a19vYmplY3RfZ2V0X3JvbGUoaGVhZGVyKSA9PSBBVEtfUk9MRV9I
RUFESU5HKTsKKyAgICB0ZXh0ID0gYXRrX3RleHRfZ2V0X3RleHQoQVRLX1RFWFQoaGVhZGVyKSwg
MCwgLTEpOworICAgIGdfYXNzZXJ0X2NtcHN0cih0ZXh0LCA9PSwgIkJsb2NrIHNwYW4gaW4gYSBs
aW5rIGluIGEgaGVhZGluZ1xuSW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgaGVhZGluZyIpOwor
ICAgIGdfZnJlZSh0ZXh0KTsKKworICAgIGhlYWRlciA9IGF0a19vYmplY3RfcmVmX2FjY2Vzc2li
bGVfY2hpbGQob2JqZWN0LCA2KTsKKyAgICBnX2Fzc2VydChBVEtfSVNfVEVYVChoZWFkZXIpKTsK
KyAgICBnX2Fzc2VydChhdGtfb2JqZWN0X2dldF9yb2xlKGhlYWRlcikgPT0gQVRLX1JPTEVfSEVB
RElORyk7CisgICAgdGV4dCA9IGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKGhlYWRlciksIDAs
IC0xKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIodGV4dCwgPT0sICJCbG9jayBzcGFuIGluIGEgaGVh
ZGluZ1xuSW5saW5lIHNwYW4gaW4gYSBoZWFkaW5nIik7CisgICAgZ19mcmVlKHRleHQpOworCiAg
ICAgZ19mcmVlKHRleHRDYXJldE1vdmVkUmVzdWx0KTsKIAogICAgIGdfb2JqZWN0X3VucmVmKGhl
YWRlcik7Ci0tIAoxLjcuMTEuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160086</attachid>
            <date>2012-08-22 22:36:46 -0700</date>
            <delta_ts>2012-08-24 19:42:55 -0700</delta_ts>
            <desc>proposed fix - part 2</desc>
            <filename>72811-b.patch</filename>
            <type>text/plain</type>
            <size>11525</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBhNWJhYzQzNzFlYTdjZmMwNDYyNTQyN2NlYzQ4NjJjZGJkYmJhZGMxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBUaHUsIDIzIEF1ZyAyMDEyIDAxOjI4OjA4IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gUmVz
dCBvZiB0aGUgZml4IGZvciBidWcgNzI4MTEKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxOSArKysrKysKIC4uLi9hcmlhLXJvbGVzLXVu
aWdub3JlZC1leHBlY3RlZC50eHQgICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9ndGsvYWNjZXNz
aWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sICAgIHwgIDQgKy0KIC4uLi9ndGsvYWNj
ZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dCAgIHwgIDQgLS0KIC4uLi9wbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1leHBlY3RlZC50eHQgIHwgMzYgKysrKysrKysr
KwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbCAgfCA3
OCArKysrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8IDE5ICsrKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgfCAgMyArCiAuLi4vYWNjZXNzaWJpbGl0eS9ndGsv
QWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgICB8ICA1ICsrCiAuLi4vZ3RrL1dlYktpdEFjY2Vz
c2libGVXcmFwcGVyQXRrLmNwcCAgICAgICAgICAgICB8ICAyICstCiAxMCBmaWxlcyBjaGFuZ2Vk
LCAxNjQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1leHBlY3RlZC50eHQK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0
eS9zcGFucy5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhhN2Y4MmQuLjc5NDJhNjggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MiBAQAorMjAxMi0wOC0yMiAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0d0a10gTm8gYWNjZXNzaWJsZSBjYXJldC1tb3ZlZCBldmVudHMgZm91bmQgaW4g
Y2VydGFpbiBjb250ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MjgxMQorCisgICAgICAgIFBhcnQgb2YgdGhlIGJ1ZyB3YXMgZHVlIHRvIGV4dHJh
bmVvdXMgYWNjZXNzaWJsZSBvYmplY3RzIHJlc3VsdGluZworICAgICAgICBmcm9tIHVuaWdub3Jl
ZCBpbmxpbmUgYW5kIGJsb2NrIHNwYW5zLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIG5ldyB0ZXN0LCB1cGRhdGVkIHRoZSByZXN1bHRzIG9m
IG9uZSB0ZXN0IHRvIHJlZmxlY3QgdGhlIGZpeCwKKyAgICAgICAgY29ycmVjdGVkIGEgdGVzdCB3
aXRoIGEgbWlzbWF0Y2hlZCBlbGVtZW50IHRhZy4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLWV4cGVjdGVkLnR4dDogQ29ycmVjdGVk
IHJlc3VsdHMgaGF2aW5nIGZpeGVkIHRhZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNz
aWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sOiBGaXhlZCBtaXNtYXRjaGVkIGVsZW1l
bnQgdGFnLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L21lZGlhLWVsZW1l
bnQtZXhwZWN0ZWQudHh0OiBVcGRhdGVkIHRvIHJlZmxlY3QgcmVtb3ZhbCBvZiBleHRyYW5lb3Vz
IG9iamVjdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3Nw
YW5zLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA4LTIxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVjggc2hvdWxkbid0IGhhdmUgaXRzIG93biB3YXkgb2YgcHJpbnRp
bmcgY3Jvc3Mtb3JpZ2luIGVycm9yIG1lc3NhZ2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVu
aWdub3JlZC1leHBlY3RlZC50eHQKaW5kZXggMzI1NTE2NC4uZjA1MWMwOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9y
ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLWV4cGVjdGVkLnR4dApAQCAtMTgsNyArMTgsNyBAQCBQ
QVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBsYWJlbCcKIFBBU1MgZWxlbWVudC5yb2xlIGlz
ICdBWFJvbGU6IGhlYWRpbmcnCiBQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBmb3JtJwog
UEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogcHVzaCBidXR0b24nCi1QQVNTIGVsZW1lbnQu
cm9sZSBpcyAnQVhSb2xlOiBwYW5lbCcKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHNl
Y3Rpb24nCiBQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBlbnRyeScKIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWwKaW5k
ZXggOTZiMzVjOS4uNmFmZjAzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sCkBA
IC0xNCw3ICsxNCw3IEBACiA8Zm9ybT5BIGZvcm0gd2l0aCBhIGJ1dHRvbiA8YnV0dG9uIG5hbWU9
ImJ1dHRvbiIgdmFsdWU9IkJ1dHRvbiI+Q2xpY2sgbWUhPC9idXR0b24+PC9mb3JtPgogPGZvcm0g
cm9sZT0iYnV0dG9uIj5KdXN0IGEgYnV0dG9uIDxidXR0b24gbmFtZT0iYnV0dG9uIiB2YWx1ZT0i
QnV0dG9uIj5DbGljayBtZSE8L2J1dHRvbj48L2Zvcm0+CiAKLTxkaXY+SnVzdCBzb21lIHRleHQg
aW5zaWRlIGEgZGl2PC9mb3JtPgorPGRpdj5KdXN0IHNvbWUgdGV4dCBpbnNpZGUgYSBkaXY8L2Rp
dj4KIDxkaXYgcm9sZT0idGV4dGJveCI+VGhpcyBkaXYgaXMgY29udGFpbnMgYSB0ZXh0Ym94IChh
biBlbnRyeSk8L2Rpdj4KIAogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CkBAIC01MSw3ICs1MSw3
IEBAIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKIAogICAgIC8vIERpdnMK
ICAgICBlbGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoNSk7Ci0gICAgc2hvdWxkQmUoImVs
ZW1lbnQucm9sZSIsICInQVhSb2xlOiBwYW5lbCciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5y
b2xlIiwgIidBWFJvbGU6IHNlY3Rpb24nIik7CiAgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRB
dEluZGV4KDYpOwogICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogZW50cnkn
Iik7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0
eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L21lZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IDgxZWNmMTcuLjBh
YjAyNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5
L21lZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9hY2Nlc3NpYmlsaXR5L21lZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0xMywxMCArMTMs
NiBAQCBTdGF0ZSBhdCAnY2FucGxheXRocm91Z2gnIGV2ZW50OgogCiAKICAgICAgICAgZGVzY3Jp
cHRpb246IEFYRGVzY3JpcHRpb246IAotICAgICAgICByb2xlOiBBWFJvbGU6IHBhbmVsCi0KLQot
ICAgICAgICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogCiAgICAgICAgIHJvbGU6IEFYUm9s
ZTogc2xpZGVyCiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvc3BhbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Fj
Y2Vzc2liaWxpdHkvc3BhbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjkyOTQ0OTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAor
Zmlyc3QgYmxvY2sgc3BhbgoraW5saW5lIHNwYW4KK3NlY29uZCBibG9jayBzcGFuCitmaXJzdCBi
bG9jayBzcGFuCitpbmxpbmUgc3Bhbgorc2Vjb25kIGJsb2NrIHNwYW4KKworZmlyc3QgYmxvY2sg
c3BhbgoraW5saW5lIHNwYW4KK3NlY29uZCBibG9jayBzcGFuCitmaXJzdCBibG9jayBzcGFuCitp
bmxpbmUgc3Bhbgorc2Vjb25kIGJsb2NrIHNwYW4KK1RoaXMgdGVzdHMgdGhhdCBib3RoIGJsb2Nr
IHNwYW5zIGFuZCBpbmxpbmUgc3BhbnMgZ2V0IGZvbGRlZCBpbnRvIHRoZSBwYXJlbnQgb2JqZWN0
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGVsZW1lbnQucm9sZSBpcyAn
QVhSb2xlOiBoZWFkaW5nJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBl
bGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogaGVhZGluZycKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNv
dW50IGlzIDEKK1BBU1MgbGluay5yb2xlIGlzICdBWFJvbGU6IGxpbmsnCitQQVNTIGxpbmsuY2hp
bGRyZW5Db3VudCBpcyAwCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBsaXN0JworUEFT
UyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMgorUEFTUyBpdGVtLnJvbGUgaXMgJ0FYUm9sZTog
bGlzdCBpdGVtJworUEFTUyBpdGVtLmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBpdGVtLnJvbGUg
aXMgJ0FYUm9sZTogbGlzdCBpdGVtJworUEFTUyBpdGVtLmNoaWxkcmVuQ291bnQgaXMgMQorUEFT
UyBsaW5rLnJvbGUgaXMgJ0FYUm9sZTogbGluaycKK1BBU1MgbGluay5jaGlsZHJlbkNvdW50IGlz
IDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy5o
dG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTcyYTBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbApA
QCAtMCwwICsxLDc4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5
Ij4KKzxoND4KKyAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5maXJzdCBibG9jayBzcGFu
PC9zcGFuPgorICA8c3Bhbj5pbmxpbmUgc3Bhbjwvc3Bhbj4KKyAgPHNwYW4gc3R5bGU9ImRpc3Bs
YXk6YmxvY2s7Ij5zZWNvbmQgYmxvY2sgc3Bhbjwvc3Bhbj4KKzwvaDQ+Cis8aDQ+CisgIDxhIGhy
ZWY9ImZvbyI+CisgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPmZpcnN0IGJsb2Nr
IHNwYW48L3NwYW4+CisgICAgICA8c3Bhbj5pbmxpbmUgc3Bhbjwvc3Bhbj4KKyAgICAgIDxzcGFu
IHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+c2Vjb25kIGJsb2NrIHNwYW48L3NwYW4+CisgIDwvYT4K
KzwvaDQ+Cis8b2w+CisgIDxsaT4KKyAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPmZp
cnN0IGJsb2NrIHNwYW48L3NwYW4+CisgICAgPHNwYW4+aW5saW5lIHNwYW48L3NwYW4+CisgICAg
PHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5zZWNvbmQgYmxvY2sgc3Bhbjwvc3Bhbj4KKyAg
PC9saT4KKyAgPGxpPgorICAgIDxhIGhyZWY9ImZvbyI+CisgICAgICA8c3BhbiBzdHlsZT0iZGlz
cGxheTpibG9jazsiPmZpcnN0IGJsb2NrIHNwYW48L3NwYW4+CisgICAgICA8c3Bhbj5pbmxpbmUg
c3Bhbjwvc3Bhbj4KKyAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+c2Vjb25kIGJs
b2NrIHNwYW48L3NwYW4+CisgICAgPC9hPgorICA8L2xpPgorPC9vbD4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlRoaXMgdGVzdHMgdGhhdCBib3RoIGJsb2NrIHNwYW5zIGFuZCBpbmxpbmUgc3BhbnMgZ2V0
IGZvbGRlZCBpbnRvIHRoZSBwYXJlbnQgb2JqZWN0Iik7CisKK2lmICh3aW5kb3cubGF5b3V0Q29u
dHJvbGxlcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQorCitpZiAod2luZG93
LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImJvZHkiKS5mb2N1cygpOworICAgIHZhciB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICB2YXIgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdElu
ZGV4KDApOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogaGVhZGluZyci
KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVs
ZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgxKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5y
b2xlIiwgIidBWFJvbGU6IGhlYWRpbmcnIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRy
ZW5Db3VudCIsICIxIik7CisKKyAgICB2YXIgbGluayA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDAp
OworICAgIHNob3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAgICBzaG91
bGRCZSgibGluay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3ZWJBcmVh
LmNoaWxkQXRJbmRleCgyKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6
IGxpc3QnIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIyIik7CisK
KyAgICB2YXIgaXRlbSA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJp
dGVtLnJvbGUiLCAiJ0FYUm9sZTogbGlzdCBpdGVtJyIpOworICAgIHNob3VsZEJlKCJpdGVtLmNo
aWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgaXRlbSA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDEp
OworICAgIHNob3VsZEJlKCJpdGVtLnJvbGUiLCAiJ0FYUm9sZTogbGlzdCBpdGVtJyIpOworICAg
IHNob3VsZEJlKCJpdGVtLmNoaWxkcmVuQ291bnQiLCAiMSIpOworCisgICAgbGluayA9IGl0ZW0u
Y2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogbGlu
ayciKTsKKyAgICBzaG91bGRCZSgibGluay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKK30KKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZDE4OWJh
Li45MmFiODVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDgtMjIgIEpvYW5t
YXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHdGtdIE5vIGFjY2Vz
c2libGUgY2FyZXQtbW92ZWQgZXZlbnRzIGZvdW5kIGluIGNlcnRhaW4gY29udGVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTEKKworICAgICAg
ICBQYXJ0IG9mIHRoZSBidWcgd2FzIGR1ZSB0byBleHRyYW5lb3VzIGFjY2Vzc2libGUgb2JqZWN0
cyByZXN1bHRpbmcKKyAgICAgICAgZnJvbSB1bmlnbm9yZWQgaW5saW5lIGFuZCBibG9jayBzcGFu
cy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy5odG1sCisKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCk6IEln
bm9yZSBvYmplY3RzIHRoYXQgaGF2ZSBzcGFuVGFnIHRhZyBuYW1lLgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmpl
Y3QpOiBJZ25vcmUgbW9zdCBhbm9ueW1vdXMgYmxvY2tzLgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcDoKKyAgICAgICAgKHJvbGVJc1Rl
eHRUeXBlKTogQWRkIExpc3RJdGVtIHRvIHRoZSByb2xlcyB3aGljaCBzaG91bGQgaW1wbGVtZW50
IEF0a1RleHQuCisKIDIwMTItMDgtMjEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBWOCBzaG91bGRuJ3QgaGF2ZSBpdHMgb3duIHdheSBvZiBwcmludGluZyBjcm9z
cy1vcmlnaW4gZXJyb3IgbWVzc2FnZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDViNjM5OTgu
LjI1ZTJjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtMTk1Myw2ICsxOTUzLDkgQEAgYm9v
bCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29u
c3QKICAgICBpZiAoc3VwcG9ydHNBUklBQXR0cmlidXRlcygpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgCisgICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFzVGFnTmFtZShzcGFuVGFnKSkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKICAgICBpZiAobV9yZW5kZXJlci0+aXNCbG9ja0Zsb3coKSAm
JiBtX3JlbmRlcmVyLT5jaGlsZHJlbklubGluZSgpKQogICAgICAgICByZXR1cm4gIXRvUmVuZGVy
QmxvY2sobV9yZW5kZXJlciktPmZpcnN0TGluZUJveCgpICYmICFtb3VzZUJ1dHRvbkxpc3RlbmVy
KCk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
Z3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCmluZGV4IDM5ZjQ4ODguLmFhYWRhMDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlP
YmplY3RBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vz
c2liaWxpdHlPYmplY3RBdGsuY3BwCkBAIC03OCw2ICs3OCwxMSBAQCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUlu
Y2x1ZGVzTwogICAgIGlmIChyb2xlID09IFVua25vd25Sb2xlKQogICAgICAgICByZXR1cm4gSWdu
b3JlT2JqZWN0OwogCisgICAgLy8gQmxvY2sgc3BhbnMgcmVzdWx0IGluIGV4dHJhbmVvdXMgb2Jq
ZWN0cyBvZiBBVEtfUk9MRV9QQU5FTC4KKyAgICBpZiAocmVuZGVyZXIoKS0+aXNBbm9ueW1vdXNC
bG9jaygpICYmICFwYXJlbnQtPnJlbmRlcmVyKCktPmlzQm9keSgpCisgICAgICAgICYmIHBhcmVu
dC0+YXJpYVJvbGVBdHRyaWJ1dGUoKSA9PSBVbmtub3duUm9sZSkKKyAgICAgICAgcmV0dXJuIEln
bm9yZU9iamVjdDsKKwogICAgIHJldHVybiBEZWZhdWx0QmVoYXZpb3I7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFw
cGVyQXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vz
c2libGVXcmFwcGVyQXRrLmNwcAppbmRleCA0ODc2YWFmLi42MmIzNzBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNz
aWJsZVdyYXBwZXJBdGsuY3BwCkBAIC04MTcsNyArODE3LDcgQEAgc3RhdGljIEdUeXBlIEdldEF0
a0ludGVyZmFjZVR5cGVGcm9tV0FJVHlwZShXQUlUeXBlIHR5cGUpCiAKIHN0YXRpYyBib29sIHJv
bGVJc1RleHRUeXBlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiB7Ci0gICAgcmV0dXJuIHJvbGUg
PT0gUGFyYWdyYXBoUm9sZSB8fCByb2xlID09IEhlYWRpbmdSb2xlIHx8IHJvbGUgPT0gRGl2Um9s
ZSB8fCByb2xlID09IENlbGxSb2xlOworICAgIHJldHVybiByb2xlID09IFBhcmFncmFwaFJvbGUg
fHwgcm9sZSA9PSBIZWFkaW5nUm9sZSB8fCByb2xlID09IERpdlJvbGUgfHwgcm9sZSA9PSBDZWxs
Um9sZSB8fCByb2xlID09IExpc3RJdGVtUm9sZTsKIH0KIAogc3RhdGljIGd1aW50MTYgZ2V0SW50
ZXJmYWNlTWFza0Zyb21PYmplY3QoQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCkKLS0g
CjEuNy4xMS40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160543</attachid>
            <date>2012-08-24 19:42:55 -0700</date>
            <delta_ts>2012-08-24 19:48:48 -0700</delta_ts>
            <desc>proposed fix - part 2 (master compatible)</desc>
            <filename>72811-b.patch</filename>
            <type>text/plain</type>
            <size>7566</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBlYjUyZGM1YmQ3M2QxN2Y2MWVhNmRkMmFlN2U3NmM2Y2UyNjQzMjFkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBGcmksIDI0IEF1ZyAyMDEyIDIyOjM4OjQyIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gRml4
IGZvciBidWcgNzI4MTEgLSBwYXJ0IDIKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxOSArKysrKysrKysrKysrKysrKysrCiAuLi4v
YWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3RlZC50eHQgICB8ICAyICst
CiAuLi4vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbCAgICAgICB8
ICA0ICsrLS0KIC4uLi9ndGsvYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4
dCAgICAgIHwgIDQgLS0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAxOSArKysrKysrKysrKysrKysrKysrCiAuLi4vYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAgICAgICB8ICAzICsrKwogLi4uL2FjY2Vz
c2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwICAgICAgfCAgNSArKysrKwog
Li4uL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcCAgfCAg
MiArLQogOCBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkMjU4ZjVjLi41MjMwZTQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDgt
MjQgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHdGtd
IE5vIGFjY2Vzc2libGUgY2FyZXQtbW92ZWQgZXZlbnRzIGZvdW5kIGluIGNlcnRhaW4gY29udGVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTEK
KworICAgICAgICBQYXJ0IG9mIHRoZSBidWcgd2FzIGR1ZSB0byBleHRyYW5lb3VzIGFjY2Vzc2li
bGUgb2JqZWN0cyByZXN1bHRpbmcKKyAgICAgICAgZnJvbSB1bmlnbm9yZWQgaW5saW5lIGFuZCBi
bG9jayBzcGFucy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCBuZXcgdGVzdCwgdXBkYXRlZCB0aGUgcmVzdWx0cyBvZiBvbmUgdGVzdCB0byBy
ZWZsZWN0IHRoZSBmaXgsCisgICAgICAgIGNvcnJlY3RlZCBhIHRlc3Qgd2l0aCBhIG1pc21hdGNo
ZWQgZWxlbWVudCB0YWcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9h
cmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3RlZC50eHQ6IENvcnJlY3RlZCByZXN1bHRzIGhhdmlu
ZyBmaXhlZCB0YWcuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1y
b2xlcy11bmlnbm9yZWQuaHRtbDogRml4ZWQgbWlzbWF0Y2hlZCBlbGVtZW50IHRhZy4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4
dDogVXBkYXRlZCB0byByZWZsZWN0IHJlbW92YWwgb2YgZXh0cmFuZW91cyBvYmplY3QuCisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy5odG1sOiBBZGRl
ZC4KKwogMjAxMi0wOC0yNCAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6ICFhdHRhY2hlZCgpIGluIFdlYkNvcmU6Ok5vZGU6
OmF0dGFjaCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJp
bGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3RlZC50eHQK
aW5kZXggMzI1NTE2NC4uZjA1MWMwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25v
cmVkLWV4cGVjdGVkLnR4dApAQCAtMTgsNyArMTgsNyBAQCBQQVNTIGVsZW1lbnQucm9sZSBpcyAn
QVhSb2xlOiBsYWJlbCcKIFBBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IGhlYWRpbmcnCiBQ
QVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBmb3JtJwogUEFTUyBlbGVtZW50LnJvbGUgaXMg
J0FYUm9sZTogcHVzaCBidXR0b24nCi1QQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBwYW5l
bCcKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHNlY3Rpb24nCiBQQVNTIGVsZW1lbnQu
cm9sZSBpcyAnQVhSb2xlOiBlbnRyeScKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJp
YS1yb2xlcy11bmlnbm9yZWQuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWwKaW5kZXggOTZiMzVjOS4uNmFmZjAzMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1y
b2xlcy11bmlnbm9yZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNz
aWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sCkBAIC0xNCw3ICsxNCw3IEBACiA8Zm9y
bT5BIGZvcm0gd2l0aCBhIGJ1dHRvbiA8YnV0dG9uIG5hbWU9ImJ1dHRvbiIgdmFsdWU9IkJ1dHRv
biI+Q2xpY2sgbWUhPC9idXR0b24+PC9mb3JtPgogPGZvcm0gcm9sZT0iYnV0dG9uIj5KdXN0IGEg
YnV0dG9uIDxidXR0b24gbmFtZT0iYnV0dG9uIiB2YWx1ZT0iQnV0dG9uIj5DbGljayBtZSE8L2J1
dHRvbj48L2Zvcm0+CiAKLTxkaXY+SnVzdCBzb21lIHRleHQgaW5zaWRlIGEgZGl2PC9mb3JtPgor
PGRpdj5KdXN0IHNvbWUgdGV4dCBpbnNpZGUgYSBkaXY8L2Rpdj4KIDxkaXYgcm9sZT0idGV4dGJv
eCI+VGhpcyBkaXYgaXMgY29udGFpbnMgYSB0ZXh0Ym94IChhbiBlbnRyeSk8L2Rpdj4KIAogPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+CkBAIC01MSw3ICs1MSw3IEBAIGlmICh3aW5kb3cuYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIpIHsKIAogICAgIC8vIERpdnMKICAgICBlbGVtZW50ID0gd2ViQXJl
YS5jaGlsZEF0SW5kZXgoNSk7Ci0gICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICInQVhSb2xl
OiBwYW5lbCciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IHNlY3Rp
b24nIik7CiAgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDYpOwogICAgIHNob3Vs
ZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogZW50cnknIik7CiB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L21lZGlhLWVs
ZW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IDgxZWNmMTcuLjBhYjAyNzcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L21lZGlhLWVsZW1lbnQtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L21lZGlh
LWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0xMywxMCArMTMsNiBAQCBTdGF0ZSBhdCAnY2FucGxh
eXRocm91Z2gnIGV2ZW50OgogCiAKICAgICAgICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246
IAotICAgICAgICByb2xlOiBBWFJvbGU6IHBhbmVsCi0KLQotICAgICAgICBkZXNjcmlwdGlvbjog
QVhEZXNjcmlwdGlvbjogCiAgICAgICAgIHJvbGU6IEFYUm9sZTogc2xpZGVyCiAKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDAwMmZhNjUuLmE5NzZlOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAx
Mi0wOC0yNCAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0d0a10gTm8gYWNjZXNzaWJsZSBjYXJldC1tb3ZlZCBldmVudHMgZm91bmQgaW4gY2VydGFpbiBj
b250ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MjgxMQorCisgICAgICAgIFBhcnQgb2YgdGhlIGJ1ZyB3YXMgZHVlIHRvIGV4dHJhbmVvdXMgYWNj
ZXNzaWJsZSBvYmplY3RzIHJlc3VsdGluZworICAgICAgICBmcm9tIHVuaWdub3JlZCBpbmxpbmUg
YW5kIGJsb2NrIHNwYW5zLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLmh0bWwKKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nlc3NpYmlsaXR5
SXNJZ25vcmVkKTogSWdub3JlIG9iamVjdHMgdGhhdCBoYXZlIHNwYW5UYWcgdGFnIG5hbWUuCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZv
cm1JbmNsdWRlc09iamVjdCk6IElnbm9yZSBtb3N0IGFub255bW91cyBibG9ja3MuCisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwOgorICAg
ICAgICAocm9sZUlzVGV4dFR5cGUpOiBBZGQgTGlzdEl0ZW0gdG8gdGhlIHJvbGVzIHdoaWNoIHNo
b3VsZCBpbXBsZW1lbnQgQXRrVGV4dC4KKwogMjAxMi0wOC0yNCAgUm9nZXIgRm9uZyAgPHJvZ2Vy
X2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlh
bGlhc2VkIHNob3VsZCB1c2UgQ0cgZm9udCByZW5kZXJpbmcgY29kZSBwYXRoLCBub3QgR0RJCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcAppbmRleCA3ZmE1ZDNiLi44ODNmNzUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHAKQEAgLTE5NTMsNiArMTk1Myw5IEBAIGJvb2wgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAgaWYgKHN1cHBvcnRzQVJJQUF0
dHJpYnV0ZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAorICAgIGlmIChub2RlICYm
IG5vZGUtPmhhc1RhZ05hbWUoc3BhblRhZykpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAg
aWYgKG1fcmVuZGVyZXItPmlzQmxvY2tGbG93KCkgJiYgbV9yZW5kZXJlci0+Y2hpbGRyZW5Jbmxp
bmUoKSkKICAgICAgICAgcmV0dXJuICF0b1JlbmRlckJsb2NrKG1fcmVuZGVyZXIpLT5maXJzdExp
bmVCb3goKSAmJiAhbW91c2VCdXR0b25MaXN0ZW5lcigpOwogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRr
LmNwcAppbmRleCAzOWY0ODg4Li5hYWFkYTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAt
NzgsNiArNzgsMTEgQEAgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3NpYmlsaXR5
T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc08KICAgICBpZiAocm9sZSA9PSBV
bmtub3duUm9sZSkKICAgICAgICAgcmV0dXJuIElnbm9yZU9iamVjdDsKIAorICAgIC8vIEJsb2Nr
IHNwYW5zIHJlc3VsdCBpbiBleHRyYW5lb3VzIG9iamVjdHMgb2YgQVRLX1JPTEVfUEFORUwuCisg
ICAgaWYgKHJlbmRlcmVyKCktPmlzQW5vbnltb3VzQmxvY2soKSAmJiAhcGFyZW50LT5yZW5kZXJl
cigpLT5pc0JvZHkoKQorICAgICAgICAmJiBwYXJlbnQtPmFyaWFSb2xlQXR0cmlidXRlKCkgPT0g
VW5rbm93blJvbGUpCisgICAgICAgIHJldHVybiBJZ25vcmVPYmplY3Q7CisKICAgICByZXR1cm4g
RGVmYXVsdEJlaGF2aW9yOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXgg
ZjdmOWY2ZS4uZGYxNjg3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtODE5
LDcgKzgxOSw3IEBAIHN0YXRpYyBHVHlwZSBHZXRBdGtJbnRlcmZhY2VUeXBlRnJvbVdBSVR5cGUo
V0FJVHlwZSB0eXBlKQogCiBzdGF0aWMgYm9vbCByb2xlSXNUZXh0VHlwZShBY2Nlc3NpYmlsaXR5
Um9sZSByb2xlKQogewotICAgIHJldHVybiByb2xlID09IFBhcmFncmFwaFJvbGUgfHwgcm9sZSA9
PSBIZWFkaW5nUm9sZSB8fCByb2xlID09IERpdlJvbGUgfHwgcm9sZSA9PSBDZWxsUm9sZTsKKyAg
ICByZXR1cm4gcm9sZSA9PSBQYXJhZ3JhcGhSb2xlIHx8IHJvbGUgPT0gSGVhZGluZ1JvbGUgfHwg
cm9sZSA9PSBEaXZSb2xlIHx8IHJvbGUgPT0gQ2VsbFJvbGUgfHwgcm9sZSA9PSBMaXN0SXRlbVJv
bGU7CiB9CiAKIHN0YXRpYyBndWludDE2IGdldEludGVyZmFjZU1hc2tGcm9tT2JqZWN0KEFjY2Vz
c2liaWxpdHlPYmplY3QqIGNvcmVPYmplY3QpCi0tIAoxLjcuMTEuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160549</attachid>
            <date>2012-08-24 20:05:51 -0700</date>
            <delta_ts>2012-08-27 02:21:28 -0700</delta_ts>
            <desc>proposed fix - part 2 (master compatible AND with new tests git-added)</desc>
            <filename>0001-Fix-for-bug-72811-part-2.patch</filename>
            <type>text/plain</type>
            <size>11511</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAwYWViYzA2M2RhMDZjYWQxYzQ3NGIxMjJhMzIyYTI3NWYzZjc1NjU1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBGcmksIDI0IEF1ZyAyMDEyIDIzOjAyOjQyIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gRml4
IGZvciBidWcgNzI4MTEgLSBwYXJ0IDIKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAxOSArKysrKysKIC4uLi9hcmlhLXJvbGVzLXVuaWdu
b3JlZC1leHBlY3RlZC50eHQgICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9ndGsvYWNjZXNzaWJp
bGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sICAgIHwgIDQgKy0KIC4uLi9ndGsvYWNjZXNz
aWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dCAgIHwgIDQgLS0KIC4uLi9wbGF0Zm9y
bS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1leHBlY3RlZC50eHQgIHwgMzYgKysrKysrKysrKwog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbCAgfCA3OCAr
KysrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8IDE5ICsrKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAgICAgfCAgMyArCiAuLi4vYWNjZXNzaWJpbGl0eS9ndGsvQWNj
ZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgICB8ICA1ICsrCiAuLi4vZ3RrL1dlYktpdEFjY2Vzc2li
bGVXcmFwcGVyQXRrLmNwcCAgICAgICAgICAgICB8ICAyICstCiAxMCBmaWxlcyBjaGFuZ2VkLCAx
NjQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1leHBlY3RlZC50eHQKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9z
cGFucy5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGQyNThmNWMuLjUyMzBlNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAxMi0wOC0yNCAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0d0a10gTm8gYWNjZXNzaWJsZSBjYXJldC1tb3ZlZCBldmVudHMgZm91bmQgaW4gY2Vy
dGFpbiBjb250ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MjgxMQorCisgICAgICAgIFBhcnQgb2YgdGhlIGJ1ZyB3YXMgZHVlIHRvIGV4dHJhbmVv
dXMgYWNjZXNzaWJsZSBvYmplY3RzIHJlc3VsdGluZworICAgICAgICBmcm9tIHVuaWdub3JlZCBp
bmxpbmUgYW5kIGJsb2NrIHNwYW5zLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIG5ldyB0ZXN0LCB1cGRhdGVkIHRoZSByZXN1bHRzIG9mIG9u
ZSB0ZXN0IHRvIHJlZmxlY3QgdGhlIGZpeCwKKyAgICAgICAgY29ycmVjdGVkIGEgdGVzdCB3aXRo
IGEgbWlzbWF0Y2hlZCBlbGVtZW50IHRhZy4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLWV4cGVjdGVkLnR4dDogQ29ycmVjdGVkIHJl
c3VsdHMgaGF2aW5nIGZpeGVkIHRhZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJp
bGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sOiBGaXhlZCBtaXNtYXRjaGVkIGVsZW1lbnQg
dGFnLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L21lZGlhLWVsZW1lbnQt
ZXhwZWN0ZWQudHh0OiBVcGRhdGVkIHRvIHJlZmxlY3QgcmVtb3ZhbCBvZiBleHRyYW5lb3VzIG9i
amVjdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5z
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTA4LTI0ICBGbG9yaW4gTWFsaXRhICA8Zm1hbGl0YUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogIWF0dGFjaGVkKCkgaW4gV2Vi
Q29yZTo6Tm9kZTo6YXR0YWNoKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9hY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLWV4
cGVjdGVkLnR4dAppbmRleCAzMjU1MTY0Li5mMDUxYzA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1y
b2xlcy11bmlnbm9yZWQtZXhwZWN0ZWQudHh0CkBAIC0xOCw3ICsxOCw3IEBAIFBBU1MgZWxlbWVu
dC5yb2xlIGlzICdBWFJvbGU6IGxhYmVsJwogUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTog
aGVhZGluZycKIFBBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IGZvcm0nCiBQQVNTIGVsZW1l
bnQucm9sZSBpcyAnQVhSb2xlOiBwdXNoIGJ1dHRvbicKLVBBU1MgZWxlbWVudC5yb2xlIGlzICdB
WFJvbGU6IHBhbmVsJworUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogc2VjdGlvbicKIFBB
U1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IGVudHJ5JwogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNz
aWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbAppbmRleCA5NmIzNWM5
Li42YWZmMDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJp
bGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWwKQEAgLTE0LDcgKzE0
LDcgQEAKIDxmb3JtPkEgZm9ybSB3aXRoIGEgYnV0dG9uIDxidXR0b24gbmFtZT0iYnV0dG9uIiB2
YWx1ZT0iQnV0dG9uIj5DbGljayBtZSE8L2J1dHRvbj48L2Zvcm0+CiA8Zm9ybSByb2xlPSJidXR0
b24iPkp1c3QgYSBidXR0b24gPGJ1dHRvbiBuYW1lPSJidXR0b24iIHZhbHVlPSJCdXR0b24iPkNs
aWNrIG1lITwvYnV0dG9uPjwvZm9ybT4KIAotPGRpdj5KdXN0IHNvbWUgdGV4dCBpbnNpZGUgYSBk
aXY8L2Zvcm0+Cis8ZGl2Pkp1c3Qgc29tZSB0ZXh0IGluc2lkZSBhIGRpdjwvZGl2PgogPGRpdiBy
b2xlPSJ0ZXh0Ym94Ij5UaGlzIGRpdiBpcyBjb250YWlucyBhIHRleHRib3ggKGFuIGVudHJ5KTwv
ZGl2PgogCiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KQEAgLTUxLDcgKzUxLDcgQEAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewogCiAgICAgLy8gRGl2cwogICAgIGVsZW1l
bnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCg1KTsKLSAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xl
IiwgIidBWFJvbGU6IHBhbmVsJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FY
Um9sZTogc2VjdGlvbiciKTsKICAgICBlbGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoNik7
CiAgICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBlbnRyeSciKTsKIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L21lZGlhLWVs
ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxp
dHkvbWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQKaW5kZXggODFlY2YxNy4uMGFiMDI3NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbWVkaWEtZWxl
bWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvbWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTEzLDEwICsxMyw2IEBAIFN0YXRl
IGF0ICdjYW5wbGF5dGhyb3VnaCcgZXZlbnQ6CiAKIAogICAgICAgICBkZXNjcmlwdGlvbjogQVhE
ZXNjcmlwdGlvbjogCi0gICAgICAgIHJvbGU6IEFYUm9sZTogcGFuZWwKLQotCi0gICAgICAgIGRl
c2NyaXB0aW9uOiBBWERlc2NyaXB0aW9uOiAKICAgICAgICAgcm9sZTogQVhSb2xlOiBzbGlkZXIK
IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9z
cGFucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0
eS9zcGFucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
OTI5NDQ5MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L3NwYW5zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM2IEBACitmaXJzdCBibG9j
ayBzcGFuCitpbmxpbmUgc3Bhbgorc2Vjb25kIGJsb2NrIHNwYW4KK2ZpcnN0IGJsb2NrIHNwYW4K
K2lubGluZSBzcGFuCitzZWNvbmQgYmxvY2sgc3BhbgorCitmaXJzdCBibG9jayBzcGFuCitpbmxp
bmUgc3Bhbgorc2Vjb25kIGJsb2NrIHNwYW4KK2ZpcnN0IGJsb2NrIHNwYW4KK2lubGluZSBzcGFu
CitzZWNvbmQgYmxvY2sgc3BhbgorVGhpcyB0ZXN0cyB0aGF0IGJvdGggYmxvY2sgc3BhbnMgYW5k
IGlubGluZSBzcGFucyBnZXQgZm9sZGVkIGludG8gdGhlIHBhcmVudCBvYmplY3QKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IGhl
YWRpbmcnCitQQVNTIGVsZW1lbnQuY2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIGVsZW1lbnQucm9s
ZSBpcyAnQVhSb2xlOiBoZWFkaW5nJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMQor
UEFTUyBsaW5rLnJvbGUgaXMgJ0FYUm9sZTogbGluaycKK1BBU1MgbGluay5jaGlsZHJlbkNvdW50
IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IGxpc3QnCitQQVNTIGVsZW1lbnQu
Y2hpbGRyZW5Db3VudCBpcyAyCitQQVNTIGl0ZW0ucm9sZSBpcyAnQVhSb2xlOiBsaXN0IGl0ZW0n
CitQQVNTIGl0ZW0uY2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIGl0ZW0ucm9sZSBpcyAnQVhSb2xl
OiBsaXN0IGl0ZW0nCitQQVNTIGl0ZW0uY2hpbGRyZW5Db3VudCBpcyAxCitQQVNTIGxpbmsucm9s
ZSBpcyAnQVhSb2xlOiBsaW5rJworUEFTUyBsaW5rLmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLmh0bWwgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlNzJhMGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy5odG1sCkBAIC0wLDAgKzEs
NzggQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorPGg0Pgor
ICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPmZpcnN0IGJsb2NrIHNwYW48L3NwYW4+Cisg
IDxzcGFuPmlubGluZSBzcGFuPC9zcGFuPgorICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsi
PnNlY29uZCBibG9jayBzcGFuPC9zcGFuPgorPC9oND4KKzxoND4KKyAgPGEgaHJlZj0iZm9vIj4K
KyAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+Zmlyc3QgYmxvY2sgc3Bhbjwvc3Bh
bj4KKyAgICAgIDxzcGFuPmlubGluZSBzcGFuPC9zcGFuPgorICAgICAgPHNwYW4gc3R5bGU9ImRp
c3BsYXk6YmxvY2s7Ij5zZWNvbmQgYmxvY2sgc3Bhbjwvc3Bhbj4KKyAgPC9hPgorPC9oND4KKzxv
bD4KKyAgPGxpPgorICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+Zmlyc3QgYmxvY2sg
c3Bhbjwvc3Bhbj4KKyAgICA8c3Bhbj5pbmxpbmUgc3Bhbjwvc3Bhbj4KKyAgICA8c3BhbiBzdHls
ZT0iZGlzcGxheTpibG9jazsiPnNlY29uZCBibG9jayBzcGFuPC9zcGFuPgorICA8L2xpPgorICA8
bGk+CisgICAgPGEgaHJlZj0iZm9vIj4KKyAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2Nr
OyI+Zmlyc3QgYmxvY2sgc3Bhbjwvc3Bhbj4KKyAgICAgIDxzcGFuPmlubGluZSBzcGFuPC9zcGFu
PgorICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5zZWNvbmQgYmxvY2sgc3Bhbjwv
c3Bhbj4KKyAgICA8L2E+CisgIDwvbGk+Cis8L29sPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0cyB0aGF0IGJvdGggYmxvY2sgc3BhbnMgYW5kIGlubGluZSBzcGFucyBnZXQgZm9sZGVkIGlu
dG8gdGhlIHBhcmVudCBvYmplY3QiKTsKKworaWYgKHdpbmRvdy5sYXlvdXRDb250cm9sbGVyKSB7
CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cit9CisKK2lmICh3aW5kb3cuYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpLmZv
Y3VzKCk7CisgICAgdmFyIHdlYkFyZWEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudDsKKworICAgIHZhciBlbGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMCk7Cisg
ICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBoZWFkaW5nJyIpOworICAgIHNo
b3VsZEJlKCJlbGVtZW50LmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9IHdl
YkFyZWEuY2hpbGRBdEluZGV4KDEpOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FY
Um9sZTogaGVhZGluZyciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50Iiwg
IjEiKTsKKworICAgIHZhciBsaW5rID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7CisgICAgc2hv
dWxkQmUoImxpbmsucm9sZSIsICInQVhSb2xlOiBsaW5rJyIpOworICAgIHNob3VsZEJlKCJsaW5r
LmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdElu
ZGV4KDIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogbGlzdCciKTsK
KyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjIiKTsKKworICAgIHZhciBp
dGVtID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7CisgICAgc2hvdWxkQmUoIml0ZW0ucm9sZSIs
ICInQVhSb2xlOiBsaXN0IGl0ZW0nIik7CisgICAgc2hvdWxkQmUoIml0ZW0uY2hpbGRyZW5Db3Vu
dCIsICIwIik7CisKKyAgICBpdGVtID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMSk7CisgICAgc2hv
dWxkQmUoIml0ZW0ucm9sZSIsICInQVhSb2xlOiBsaXN0IGl0ZW0nIik7CisgICAgc2hvdWxkQmUo
Iml0ZW0uY2hpbGRyZW5Db3VudCIsICIxIik7CisKKyAgICBsaW5rID0gaXRlbS5jaGlsZEF0SW5k
ZXgoMCk7CisgICAgc2hvdWxkQmUoImxpbmsucm9sZSIsICInQVhSb2xlOiBsaW5rJyIpOworICAg
IHNob3VsZEJlKCJsaW5rLmNoaWxkcmVuQ291bnQiLCAiMCIpOworfQorCis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYwNjYwZjMuLjFlZTkxMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wOC0yNCAgSm9hbm1hcmllIERpZ2dz
ICA8amRpZ2dzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0d0a10gTm8gYWNjZXNzaWJsZSBjYXJl
dC1tb3ZlZCBldmVudHMgZm91bmQgaW4gY2VydGFpbiBjb250ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgxMQorCisgICAgICAgIFBhcnQgb2Yg
dGhlIGJ1ZyB3YXMgZHVlIHRvIGV4dHJhbmVvdXMgYWNjZXNzaWJsZSBvYmplY3RzIHJlc3VsdGlu
ZworICAgICAgICBmcm9tIHVuaWdub3JlZCBpbmxpbmUgYW5kIGJsb2NrIHNwYW5zLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKTogSWdub3JlIG9iamVj
dHMgdGhhdCBoYXZlIHNwYW5UYWcgdGFnIG5hbWUuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9n
dGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCk6IElnbm9y
ZSBtb3N0IGFub255bW91cyBibG9ja3MuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvV2Vi
S2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwOgorICAgICAgICAocm9sZUlzVGV4dFR5cGUpOiBB
ZGQgTGlzdEl0ZW0gdG8gdGhlIHJvbGVzIHdoaWNoIHNob3VsZCBpbXBsZW1lbnQgQXRrVGV4dC4K
KwogMjAxMi0wOC0yNCAgSGVsZGVyIENvcnJlaWEgIDxoZWxkZXIuY29ycmVpYUBub2tpYS5jb20+
CiAKICAgICAgICAgW1RleG1hcF0gTW92ZSBUZXh0dXJlTWFwcGVyR0wgdG8gdXNlIEdyYXBoaWNz
Q29udGV4dDNECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA3ZmE1ZDNiLi44ODNmNzUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTE5NTMsNiArMTk1Myw5IEBAIGJvb2wgQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAgaWYgKHN1
cHBvcnRzQVJJQUF0dHJpYnV0ZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAorICAg
IGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUoc3BhblRhZykpCisgICAgICAgIHJldHVybiB0
cnVlOworCiAgICAgaWYgKG1fcmVuZGVyZXItPmlzQmxvY2tGbG93KCkgJiYgbV9yZW5kZXJlci0+
Y2hpbGRyZW5JbmxpbmUoKSkKICAgICAgICAgcmV0dXJuICF0b1JlbmRlckJsb2NrKG1fcmVuZGVy
ZXIpLT5maXJzdExpbmVCb3goKSAmJiAhbW91c2VCdXR0b25MaXN0ZW5lcigpOwogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9i
amVjdEF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRrLmNwcAppbmRleCAzOWY0ODg4Li5hYWFkYTAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0
QXRrLmNwcApAQCAtNzgsNiArNzgsMTEgQEAgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc08KICAgICBp
ZiAocm9sZSA9PSBVbmtub3duUm9sZSkKICAgICAgICAgcmV0dXJuIElnbm9yZU9iamVjdDsKIAor
ICAgIC8vIEJsb2NrIHNwYW5zIHJlc3VsdCBpbiBleHRyYW5lb3VzIG9iamVjdHMgb2YgQVRLX1JP
TEVfUEFORUwuCisgICAgaWYgKHJlbmRlcmVyKCktPmlzQW5vbnltb3VzQmxvY2soKSAmJiAhcGFy
ZW50LT5yZW5kZXJlcigpLT5pc0JvZHkoKQorICAgICAgICAmJiBwYXJlbnQtPmFyaWFSb2xlQXR0
cmlidXRlKCkgPT0gVW5rbm93blJvbGUpCisgICAgICAgIHJldHVybiBJZ25vcmVPYmplY3Q7CisK
ICAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9yOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0
ay5jcHAKaW5kZXggZjdmOWY2ZS4uZGYxNjg3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRr
LmNwcApAQCAtODE5LDcgKzgxOSw3IEBAIHN0YXRpYyBHVHlwZSBHZXRBdGtJbnRlcmZhY2VUeXBl
RnJvbVdBSVR5cGUoV0FJVHlwZSB0eXBlKQogCiBzdGF0aWMgYm9vbCByb2xlSXNUZXh0VHlwZShB
Y2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogewotICAgIHJldHVybiByb2xlID09IFBhcmFncmFwaFJv
bGUgfHwgcm9sZSA9PSBIZWFkaW5nUm9sZSB8fCByb2xlID09IERpdlJvbGUgfHwgcm9sZSA9PSBD
ZWxsUm9sZTsKKyAgICByZXR1cm4gcm9sZSA9PSBQYXJhZ3JhcGhSb2xlIHx8IHJvbGUgPT0gSGVh
ZGluZ1JvbGUgfHwgcm9sZSA9PSBEaXZSb2xlIHx8IHJvbGUgPT0gQ2VsbFJvbGUgfHwgcm9sZSA9
PSBMaXN0SXRlbVJvbGU7CiB9CiAKIHN0YXRpYyBndWludDE2IGdldEludGVyZmFjZU1hc2tGcm9t
T2JqZWN0KEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcmVPYmplY3QpCi0tIAoxLjcuMTEuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160550</attachid>
            <date>2012-08-24 20:18:08 -0700</date>
            <delta_ts>2012-08-31 00:57:39 -0700</delta_ts>
            <desc>proposed fix - part 3 (includes new test)</desc>
            <filename>0002-Fix-for-bug-72811-part-3.patch</filename>
            <type>text/plain</type>
            <size>11865</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBmOWE2YTJkYzdkNzc0Nzk5ODFjMzFjMDViMTgyODcwN2M1ZTg4ZDNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBGcmksIDI0IEF1ZyAyMDEyIDIzOjExOjU0IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAyLzJd
IEZpeCBmb3IgYnVnIDcyODExIC0gcGFydCAzCgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICsrKysKIC4uLi9zcGFucy1wYXJhZ3Jh
cGhzLWFuZC1kaXZzLWV4cGVjdGVkLnR4dCAgICAgICAgIHwgIDUyICsrKysrKysrKysKIC4uLi9h
Y2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMuaHRtbCAgIHwgMTEzICsrKysr
KysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgMjIgKysrKwogLi4uL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmNwcCAgfCAgIDkgKysKIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5oIHwgICAxICsKIC4uLi9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcCAgIHwgIDEyICsrKwogNyBmaWxlcyBjaGFuZ2VkLCAyMjYg
aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMtZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
c3BhbnMtcGFyYWdyYXBocy1hbmQtZGl2cy5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUyMzBlNDYuLjE5NWYxOTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTMsNiArMywyMyBAQAogICAgICAgICBbR3RrXSBObyBhY2Nlc3NpYmxlIGNhcmV0
LW1vdmVkIGV2ZW50cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRlbnQKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODExCiAKKyAgICAgICAgUGFydCBvZiB0
aGUgYnVnIHdhcyBkdWUgdG8gZXhwZWN0ZWQgYWNjZXNzaWJsZSBvYmplY3RzIG9mIERpdlJvbGUK
KyAgICAgICAgYW5kIFBhcmFncmFwaFJvbGUgYmVpbmcgaWdub3JlZCwgaW4gZmF2b3Igb2YgaW5j
bHVkaW5nIGNoaWxkIGJsb2Nrcy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBuZXcgdGVzdCB0byB2ZXJpZnkgdGhhdCBwYXJhZ3JhcGhzIGFu
ZCBkaXZzIHdoaWNoIGNvbnRhaW4gYW5vbnltb3VzCisgICAgICAgIGJsb2NrcyBhcmUgaW5jbHVk
ZWQgaW4gdGhlIGFjY2Vzc2libGUgb2JqZWN0IGhpZXJhcmNoeSBhbmQgaGF2ZSB0aGUgY29ycmVj
dAorICAgICAgICBudW1iZXIgb2YgY2hpbGRyZW4gd2l0aCB0aGUgZXhwZWN0ZWQgcm9sZS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5k
LWRpdnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNz
aWJpbGl0eS9zcGFucy1wYXJhZ3JhcGhzLWFuZC1kaXZzLmh0bWw6IEFkZGVkLgorCisyMDEyLTA4
LTI0ICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBbR3Rr
XSBObyBhY2Nlc3NpYmxlIGNhcmV0LW1vdmVkIGV2ZW50cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRl
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODEx
CisKICAgICAgICAgUGFydCBvZiB0aGUgYnVnIHdhcyBkdWUgdG8gZXh0cmFuZW91cyBhY2Nlc3Np
YmxlIG9iamVjdHMgcmVzdWx0aW5nCiAgICAgICAgIGZyb20gdW5pZ25vcmVkIGlubGluZSBhbmQg
YmxvY2sgc3BhbnMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtcGFyYWdyYXBocy1hbmQtZGl2
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU5OTgw
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTIg
QEAKK0Jsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgcGFyYWdyYXBoCitJbmxpbmUgc3BhbiBpbiBh
IGxpbmsgaW4gYSBwYXJhZ3JhcGgKKworQmxvY2sgc3BhbiBpbiBhIHBhcmFncmFwaAorSW5saW5l
IHNwYW4gaW4gYSBwYXJhZ3JhcGgKKworSW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgcGFyYWdy
YXBoCitCbG9jayBzcGFuIGluIGEgbGluayBpbiBhIHBhcmFncmFwaAorCitJbmxpbmUgc3BhbiBp
biBhIHBhcmFncmFwaAorQmxvY2sgc3BhbiBpbiBhIHBhcmFncmFwaAorQmxvY2sgc3BhbiBpbiBh
IGxpbmsgaW4gYSBkaXYKK0lubGluZSBzcGFuIGluIGEgbGluayBpbiBhIGRpdgorQmxvY2sgc3Bh
biBpbiBhIGRpdgorSW5saW5lIHNwYW4gaW4gYSBkaXYKK0lubGluZSBzcGFuIGluIGEgbGluayBp
biBhIGRpdgorQmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBkaXYKK0lubGluZSBzcGFuIGluIGEg
ZGl2CitCbG9jayBzcGFuIGluIGEgZGl2CitUaGlzIHRlc3RzIHRoYXQgcGFyYWdyYXBocyBhbmQg
ZGl2cyB3aXRoIGFub255bW91cyBibG9jayBjaGlsZHJlbiBhcmUgbm90IGlnbm9yZWQgYW5kIGhh
dmUgdGhlIGV4cGVjdGVkIGNoaWxkcmVuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBwYXJhZ3JhcGgnCitQQVNTIGVsZW1lbnQu
Y2hpbGRyZW5Db3VudCBpcyAxCitQQVNTIGxpbmsucm9sZSBpcyAnQVhSb2xlOiBsaW5rJworUEFT
UyBsaW5rLmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTog
cGFyYWdyYXBoJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50
LnJvbGUgaXMgJ0FYUm9sZTogcGFyYWdyYXBoJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQg
aXMgMQorUEFTUyBsaW5rLnJvbGUgaXMgJ0FYUm9sZTogbGluaycKK1BBU1MgbGluay5jaGlsZHJl
bkNvdW50IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHBhcmFncmFwaCcKK1BB
U1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJv
bGU6IHNlY3Rpb24nCitQQVNTIGVsZW1lbnQuY2hpbGRyZW5Db3VudCBpcyAxCitQQVNTIGxpbmsu
cm9sZSBpcyAnQVhSb2xlOiBsaW5rJworUEFTUyBsaW5rLmNoaWxkcmVuQ291bnQgaXMgMAorUEFT
UyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogc2VjdGlvbicKK1BBU1MgZWxlbWVudC5jaGlsZHJl
bkNvdW50IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHNlY3Rpb24nCitQQVNT
IGVsZW1lbnQuY2hpbGRyZW5Db3VudCBpcyAxCitQQVNTIGxpbmsucm9sZSBpcyAnQVhSb2xlOiBs
aW5rJworUEFTUyBsaW5rLmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50LnJvbGUgaXMg
J0FYUm9sZTogc2VjdGlvbicKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1wYXJhZ3JhcGhz
LWFuZC1kaXZzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9z
cGFucy1wYXJhZ3JhcGhzLWFuZC1kaXZzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uOGIyMzMzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMuaHRtbApAQCAtMCww
ICsxLDExMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+Cisg
IDxwPgorICAgIDxhIGhyZWY9J2Zvbyc+CisgICAgICAgPHNwYW4gc3R5bGU9J2Rpc3BsYXk6Ymxv
Y2s7Jz5CbG9jayBzcGFuIGluIGEgbGluayBpbiBhIHBhcmFncmFwaDwvc3Bhbj4KKyAgICAgICA8
c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSBwYXJhZ3JhcGg8L3NwYW4+CisgICAgPC9h
PgorICA8L3A+CisgIDxwPgorICAgIDxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sg
c3BhbiBpbiBhIHBhcmFncmFwaDwvc3Bhbj4KKyAgICA8c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIHBh
cmFncmFwaDwvc3Bhbj4KKyAgPC9wPgorICA8cD4KKyAgICA8YSBocmVmPSdmb28nPgorICAgICAg
IDxzcGFuPklubGluZSBzcGFuIGluIGEgbGluayBpbiBhIHBhcmFncmFwaDwvc3Bhbj4KKyAgICAg
ICA8c3BhbiBzdHlsZT0nZGlzcGxheTpibG9jazsnPkJsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEg
cGFyYWdyYXBoPC9zcGFuPgorICAgIDwvYT4KKyAgPC9wPgorICA8cD4KKyAgICA8c3Bhbj5Jbmxp
bmUgc3BhbiBpbiBhIHBhcmFncmFwaDwvc3Bhbj4KKyAgICA8c3BhbiBzdHlsZT0nZGlzcGxheTpi
bG9jazsnPkJsb2NrIHNwYW4gaW4gYSBwYXJhZ3JhcGg8L3NwYW4+CisgIDwvcD4KKyAgPGRpdj4K
KyAgICA8YSBocmVmPSdmb28nPgorICAgICAgIDxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+
QmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBkaXY8L3NwYW4+CisgICAgICAgPHNwYW4+SW5saW5l
IHNwYW4gaW4gYSBsaW5rIGluIGEgZGl2PC9zcGFuPgorICAgIDwvYT4KKyAgPC9kaXY+CisgIDxk
aXY+CisgICAgPHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgZGl2
PC9zcGFuPgorICAgIDxzcGFuPklubGluZSBzcGFuIGluIGEgZGl2PC9zcGFuPgorICA8L2Rpdj4K
KyAgPGRpdj4KKyAgICA8YSBocmVmPSdmb28nPgorICAgICAgIDxzcGFuPklubGluZSBzcGFuIGlu
IGEgbGluayBpbiBhIGRpdjwvc3Bhbj4KKyAgICAgICA8c3BhbiBzdHlsZT0nZGlzcGxheTpibG9j
azsnPkJsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgZGl2PC9zcGFuPgorICAgIDwvYT4KKyAgPC9k
aXY+CisgIDxkaXY+CisgICAgPHNwYW4+SW5saW5lIHNwYW4gaW4gYSBkaXY8L3NwYW4+CisgICAg
PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgZGl2PC9zcGFuPgor
ICA8L2Rpdj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHBhcmFncmFwaHMg
YW5kIGRpdnMgd2l0aCBhbm9ueW1vdXMgYmxvY2sgY2hpbGRyZW4gYXJlIG5vdCBpZ25vcmVkIGFu
ZCBoYXZlIHRoZSBleHBlY3RlZCBjaGlsZHJlbiIpOworCitpZiAod2luZG93LmxheW91dENvbnRy
b2xsZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKworaWYgKHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJi
b2R5IikuZm9jdXMoKTsKKyAgICB2YXIgd2ViQXJlYSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50OworCisgICAgdmFyIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRl
eCgwKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IHBhcmFncmFwaCci
KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjEiKTsKKworICAgIHZh
ciBsaW5rID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7CisgICAgc2hvdWxkQmUoImxpbmsucm9s
ZSIsICInQVhSb2xlOiBsaW5rJyIpOworICAgIHNob3VsZEJlKCJsaW5rLmNoaWxkcmVuQ291bnQi
LCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDEpOworICAgIHNo
b3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogcGFyYWdyYXBoJyIpOworICAgIHNob3Vs
ZEJlKCJlbGVtZW50LmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFy
ZWEuY2hpbGRBdEluZGV4KDIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9s
ZTogcGFyYWdyYXBoJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LmNoaWxkcmVuQ291bnQiLCAi
MSIpOworCisgICAgbGluayA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJl
KCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAgICBzaG91bGRCZSgibGluay5jaGls
ZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgz
KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IHBhcmFncmFwaCciKTsK
KyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1l
bnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCg0KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xl
IiwgIidBWFJvbGU6IHNlY3Rpb24nIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5D
b3VudCIsICIxIik7CisKKyAgICBsaW5rID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7CisgICAg
c2hvdWxkQmUoImxpbmsucm9sZSIsICInQVhSb2xlOiBsaW5rJyIpOworICAgIHNob3VsZEJlKCJs
aW5rLmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRB
dEluZGV4KDUpOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogc2VjdGlv
biciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAg
IGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCg2KTsKKyAgICBzaG91bGRCZSgiZWxlbWVu
dC5yb2xlIiwgIidBWFJvbGU6IHNlY3Rpb24nIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hp
bGRyZW5Db3VudCIsICIxIik7CisKKyAgICBsaW5rID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7
CisgICAgc2hvdWxkQmUoImxpbmsucm9sZSIsICInQVhSb2xlOiBsaW5rJyIpOworICAgIHNob3Vs
ZEJlKCJsaW5rLmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFyZWEu
Y2hpbGRBdEluZGV4KDcpOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTog
c2VjdGlvbiciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjAiKTsK
K30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAxZWU5MTAxLi5iMzE2NTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0zLDYgKzMsMjggQEAKICAgICAgICAg
W0d0a10gTm8gYWNjZXNzaWJsZSBjYXJldC1tb3ZlZCBldmVudHMgZm91bmQgaW4gY2VydGFpbiBj
b250ZW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MjgxMQogCisgICAgICAgIFBhcnQgb2YgdGhlIGJ1ZyB3YXMgZHVlIHRvIGV4cGVjdGVkIGFjY2Vz
c2libGUgb2JqZWN0cyBvZiBEaXZSb2xlCisgICAgICAgIGFuZCBQYXJhZ3JhcGhSb2xlIGJlaW5n
IGlnbm9yZWQsIGluIGZhdm9yIG9mIGluY2x1ZGluZyBjaGlsZCBibG9ja3MuCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvc3BhbnMtcGFyYWdyYXBocy1hbmQtZGl2cy5odG1sCisKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Zmlyc3RBbm9ueW1vdXNCbG9ja0NoaWxkKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oOgorICAgICAgICAoQWNjZXNzaWJpbGl0eU9iamVjdCk6CisgICAgICAgIE5ldyBtZXRob2Qg
dG8gcmV0dXJuIHRoZSBmaXJzdCBjaGlsZCB3aGljaCBpcyBhbiBhbm9ueW1vdXMgYmxvY2suCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZv
cm1JbmNsdWRlc09iamVjdCk6CisgICAgICAgIEluY2x1ZGUgcGFyYWdyYXBocyBhbmQgZGl2cyB3
aGljaCBjb250YWluIGEgbm9uLW5lc3RlZCBhbm9ueW1vdXMgYmxvY2suCisKKzIwMTItMDgtMjQg
IEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHdGtdIE5v
IGFjY2Vzc2libGUgY2FyZXQtbW92ZWQgZXZlbnRzIGZvdW5kIGluIGNlcnRhaW4gY29udGVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTEKKwog
ICAgICAgICBQYXJ0IG9mIHRoZSBidWcgd2FzIGR1ZSB0byBleHRyYW5lb3VzIGFjY2Vzc2libGUg
b2JqZWN0cyByZXN1bHRpbmcKICAgICAgICAgZnJvbSB1bmlnbm9yZWQgaW5saW5lIGFuZCBibG9j
ayBzcGFucy4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAKaW5kZXggZjg2N2VjMy4uMDM5ZjZlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0x
MzQwLDYgKzEzNDAsMTUgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc0FuY2VzdG9yT2ZP
YmplY3QoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogYXhPYmplY3QKICAgICByZXR1cm4gdGhp
cyA9PSBheE9iamVjdCB8fCBheE9iamVjdC0+aXNEZXNjZW5kYW50T2ZPYmplY3QodGhpcyk7CiB9
CiAKK0FjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmZpcnN0QW5vbnlt
b3VzQmxvY2tDaGlsZCgpIGNvbnN0Cit7CisgICAgZm9yIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBj
aGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkp
IHsKKyAgICAgICAgaWYgKGNoaWxkLT5yZW5kZXJlcigpICYmIGNoaWxkLT5yZW5kZXJlcigpLT5p
c0Fub255bW91c0Jsb2NrKCkpCisgICAgICAgICAgICByZXR1cm4gY2hpbGQ7CisgICAgfQorICAg
IHJldHVybiAwOworfQorCiB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBBY2Nlc3NpYmlsaXR5Um9s
ZSwgQ2FzZUZvbGRpbmdIYXNoPiBBUklBUm9sZU1hcDsKIAogc3RydWN0IFJvbGVFbnRyeSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CmluZGV4IGVhNzdhZTQuLmQ0NTQyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC01ODIsNiArNTgyLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVBcmlhRXhwYW5kZWRDaGFuZ2VkKCkgeyB9CiAgICAg
Ym9vbCBpc0Rlc2NlbmRhbnRPZk9iamVjdChjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0KikgY29u
c3Q7CiAgICAgYm9vbCBpc0FuY2VzdG9yT2ZPYmplY3QoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVj
dCopIGNvbnN0OworICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGZpcnN0QW5vbnltb3VzQmxvY2tD
aGlsZCgpIGNvbnN0OwogICAgIAogICAgIHN0YXRpYyBBY2Nlc3NpYmlsaXR5Um9sZSBhcmlhUm9s
ZVRvV2ViQ29yZVJvbGUoY29uc3QgU3RyaW5nJik7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBn
ZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRr
LmNwcAppbmRleCBhYWFkYTAwLi5kMjk2ZTI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKQEAg
LTc4LDYgKzc4LDE4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gQWNjZXNzaWJpbGl0
eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPCiAgICAgaWYgKHJvbGUgPT0g
VW5rbm93blJvbGUpCiAgICAgICAgIHJldHVybiBJZ25vcmVPYmplY3Q7CiAKKyAgICAvLyBHaXZl
biBhIHBhcmFncmFwaCBvciBkaXYgY29udGFpbmluZyBhIG5vbi1uZXN0ZWQgYW5vbnltb3VzIGJs
b2NrLCBXZWJDb3JlCisgICAgLy8gaWdub3JlcyB0aGUgcGFyYWdyYXBoIG9yIGRpdiBhbmQgaW5j
bHVkZXMgdGhlIGJsb2NrLiBXZSB3YW50IHRoZSBvcHBvc2l0ZS4KKyAgICBpZiAocm9sZSA9PSBQ
YXJhZ3JhcGhSb2xlIHx8IHJvbGUgPT0gRGl2Um9sZSkgeworICAgICAgICBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBjaGlsZCA9IGZpcnN0QW5vbnltb3VzQmxvY2tDaGlsZCgpOworICAgICAgICBpZiAo
IWNoaWxkKQorICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRCZWhhdmlvcjsKKworICAgICAgICBj
aGlsZCA9IGNoaWxkLT5maXJzdENoaWxkKCk7CisgICAgICAgIGlmIChjaGlsZC0+aXNMaW5rKCkg
fHwgIWNoaWxkLT5maXJzdEFub255bW91c0Jsb2NrQ2hpbGQoKSkKKyAgICAgICAgICAgIHJldHVy
biBJbmNsdWRlT2JqZWN0OworICAgIH0KKwogICAgIC8vIEJsb2NrIHNwYW5zIHJlc3VsdCBpbiBl
eHRyYW5lb3VzIG9iamVjdHMgb2YgQVRLX1JPTEVfUEFORUwuCiAgICAgaWYgKHJlbmRlcmVyKCkt
PmlzQW5vbnltb3VzQmxvY2soKSAmJiAhcGFyZW50LT5yZW5kZXJlcigpLT5pc0JvZHkoKQogICAg
ICAgICAmJiBwYXJlbnQtPmFyaWFSb2xlQXR0cmlidXRlKCkgPT0gVW5rbm93blJvbGUpCi0tIAox
LjcuMTEuNAoK
</data>
<flag name="review"
          id="171137"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160678</attachid>
            <date>2012-08-27 02:21:28 -0700</date>
            <delta_ts>2012-08-27 18:23:27 -0700</delta_ts>
            <desc>proposed fix - part 2 (addressed feedback from review)</desc>
            <filename>72811-b.patch</filename>
            <type>text/plain</type>
            <size>11587</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAwYWYxYmUzY2FlNjljZmJkZDA1NTA0NjM3MDg3NzI4NjNlNWFjMWY4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBGcmksIDI0IEF1ZyAyMDEyIDIzOjAyOjQyIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gRml4
IGZvciBidWcgNzI4MTEgLSBwYXJ0IDIKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAxOSArKysrKysKIC4uLi9hcmlhLXJvbGVzLXVuaWdu
b3JlZC1leHBlY3RlZC50eHQgICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9ndGsvYWNjZXNzaWJp
bGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sICAgIHwgIDQgKy0KIC4uLi9ndGsvYWNjZXNz
aWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dCAgIHwgIDQgLS0KIC4uLi9wbGF0Zm9y
bS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1leHBlY3RlZC50eHQgIHwgMzYgKysrKysrKysrKwog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbCAgfCA3OCAr
KysrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8IDE5ICsrKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAgICAgfCAgNCArKwogLi4uL2FjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwICAgfCAgNSArKwogLi4uL2d0ay9XZWJLaXRBY2Nlc3Np
YmxlV3JhcHBlckF0ay5jcHAgICAgICAgICAgICAgfCAgMiArLQogMTAgZmlsZXMgY2hhbmdlZCwg
MTY1IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
c3BhbnMuaHRtbAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBkMjU4ZjVjLi5kNmE5NDBiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDgtMjcgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHdGtdIE5vIGFjY2Vzc2libGUgY2FyZXQtbW92ZWQgZXZlbnRzIGZvdW5kIGluIGNl
cnRhaW4gY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzI4MTEKKworICAgICAgICBQYXJ0IG9mIHRoZSBidWcgd2FzIGR1ZSB0byBleHRyYW5l
b3VzIGFjY2Vzc2libGUgb2JqZWN0cyByZXN1bHRpbmcKKyAgICAgICAgZnJvbSB1bmlnbm9yZWQg
aW5saW5lIGFuZCBibG9jayBzcGFucy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgdGVzdCwgdXBkYXRlZCB0aGUgcmVzdWx0cyBvZiBv
bmUgdGVzdCB0byByZWZsZWN0IHRoZSBmaXgsCisgICAgICAgIGNvcnJlY3RlZCBhIHRlc3Qgd2l0
aCBhIG1pc21hdGNoZWQgZWxlbWVudCB0YWcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNj
ZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3RlZC50eHQ6IENvcnJlY3RlZCBy
ZXN1bHRzIGhhdmluZyBmaXhlZCB0YWcuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbDogRml4ZWQgbWlzbWF0Y2hlZCBlbGVtZW50
IHRhZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50
LWV4cGVjdGVkLnR4dDogVXBkYXRlZCB0byByZWZsZWN0IHJlbW92YWwgb2YgZXh0cmFuZW91cyBv
YmplY3QuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFu
cy5odG1sOiBBZGRlZC4KKwogMjAxMi0wOC0yNCAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6ICFhdHRhY2hlZCgpIGluIFdl
YkNvcmU6Ok5vZGU6OmF0dGFjaCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1l
eHBlY3RlZC50eHQKaW5kZXggMzI1NTE2NC4uZjA1MWMwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEt
cm9sZXMtdW5pZ25vcmVkLWV4cGVjdGVkLnR4dApAQCAtMTgsNyArMTgsNyBAQCBQQVNTIGVsZW1l
bnQucm9sZSBpcyAnQVhSb2xlOiBsYWJlbCcKIFBBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6
IGhlYWRpbmcnCiBQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBmb3JtJwogUEFTUyBlbGVt
ZW50LnJvbGUgaXMgJ0FYUm9sZTogcHVzaCBidXR0b24nCi1QQVNTIGVsZW1lbnQucm9sZSBpcyAn
QVhSb2xlOiBwYW5lbCcKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHNlY3Rpb24nCiBQ
QVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBlbnRyeScKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWwKaW5kZXggOTZiMzVj
OS4uNmFmZjAzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sCkBAIC0xNCw3ICsx
NCw3IEBACiA8Zm9ybT5BIGZvcm0gd2l0aCBhIGJ1dHRvbiA8YnV0dG9uIG5hbWU9ImJ1dHRvbiIg
dmFsdWU9IkJ1dHRvbiI+Q2xpY2sgbWUhPC9idXR0b24+PC9mb3JtPgogPGZvcm0gcm9sZT0iYnV0
dG9uIj5KdXN0IGEgYnV0dG9uIDxidXR0b24gbmFtZT0iYnV0dG9uIiB2YWx1ZT0iQnV0dG9uIj5D
bGljayBtZSE8L2J1dHRvbj48L2Zvcm0+CiAKLTxkaXY+SnVzdCBzb21lIHRleHQgaW5zaWRlIGEg
ZGl2PC9mb3JtPgorPGRpdj5KdXN0IHNvbWUgdGV4dCBpbnNpZGUgYSBkaXY8L2Rpdj4KIDxkaXYg
cm9sZT0idGV4dGJveCI+VGhpcyBkaXYgaXMgY29udGFpbnMgYSB0ZXh0Ym94IChhbiBlbnRyeSk8
L2Rpdj4KIAogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CkBAIC01MSw3ICs1MSw3IEBAIGlmICh3
aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKIAogICAgIC8vIERpdnMKICAgICBlbGVt
ZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoNSk7Ci0gICAgc2hvdWxkQmUoImVsZW1lbnQucm9s
ZSIsICInQVhSb2xlOiBwYW5lbCciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidB
WFJvbGU6IHNlY3Rpb24nIik7CiAgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDYp
OwogICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogZW50cnknIik7CiB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9tZWRpYS1l
bGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L21lZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IDgxZWNmMTcuLjBhYjAyNzcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L21lZGlhLWVs
ZW1lbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L21lZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0xMywxMCArMTMsNiBAQCBTdGF0
ZSBhdCAnY2FucGxheXRocm91Z2gnIGV2ZW50OgogCiAKICAgICAgICAgZGVzY3JpcHRpb246IEFY
RGVzY3JpcHRpb246IAotICAgICAgICByb2xlOiBBWFJvbGU6IHBhbmVsCi0KLQotICAgICAgICBk
ZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogCiAgICAgICAgIHJvbGU6IEFYUm9sZTogc2xpZGVy
CiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
c3BhbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxp
dHkvc3BhbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjkyOTQ0OTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNj
ZXNzaWJpbGl0eS9zcGFucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBAQAorZmlyc3QgYmxv
Y2sgc3BhbgoraW5saW5lIHNwYW4KK3NlY29uZCBibG9jayBzcGFuCitmaXJzdCBibG9jayBzcGFu
CitpbmxpbmUgc3Bhbgorc2Vjb25kIGJsb2NrIHNwYW4KKworZmlyc3QgYmxvY2sgc3BhbgoraW5s
aW5lIHNwYW4KK3NlY29uZCBibG9jayBzcGFuCitmaXJzdCBibG9jayBzcGFuCitpbmxpbmUgc3Bh
bgorc2Vjb25kIGJsb2NrIHNwYW4KK1RoaXMgdGVzdHMgdGhhdCBib3RoIGJsb2NrIHNwYW5zIGFu
ZCBpbmxpbmUgc3BhbnMgZ2V0IGZvbGRlZCBpbnRvIHRoZSBwYXJlbnQgb2JqZWN0CisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBo
ZWFkaW5nJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50LnJv
bGUgaXMgJ0FYUm9sZTogaGVhZGluZycKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDEK
K1BBU1MgbGluay5yb2xlIGlzICdBWFJvbGU6IGxpbmsnCitQQVNTIGxpbmsuY2hpbGRyZW5Db3Vu
dCBpcyAwCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBsaXN0JworUEFTUyBlbGVtZW50
LmNoaWxkcmVuQ291bnQgaXMgMgorUEFTUyBpdGVtLnJvbGUgaXMgJ0FYUm9sZTogbGlzdCBpdGVt
JworUEFTUyBpdGVtLmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBpdGVtLnJvbGUgaXMgJ0FYUm9s
ZTogbGlzdCBpdGVtJworUEFTUyBpdGVtLmNoaWxkcmVuQ291bnQgaXMgMQorUEFTUyBsaW5rLnJv
bGUgaXMgJ0FYUm9sZTogbGluaycKK1BBU1MgbGluay5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy5odG1sIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTcyYTBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbApAQCAtMCwwICsx
LDc4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKzxoND4K
KyAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5maXJzdCBibG9jayBzcGFuPC9zcGFuPgor
ICA8c3Bhbj5pbmxpbmUgc3Bhbjwvc3Bhbj4KKyAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7
Ij5zZWNvbmQgYmxvY2sgc3Bhbjwvc3Bhbj4KKzwvaDQ+Cis8aDQ+CisgIDxhIGhyZWY9ImZvbyI+
CisgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPmZpcnN0IGJsb2NrIHNwYW48L3Nw
YW4+CisgICAgICA8c3Bhbj5pbmxpbmUgc3Bhbjwvc3Bhbj4KKyAgICAgIDxzcGFuIHN0eWxlPSJk
aXNwbGF5OmJsb2NrOyI+c2Vjb25kIGJsb2NrIHNwYW48L3NwYW4+CisgIDwvYT4KKzwvaDQ+Cis8
b2w+CisgIDxsaT4KKyAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPmZpcnN0IGJsb2Nr
IHNwYW48L3NwYW4+CisgICAgPHNwYW4+aW5saW5lIHNwYW48L3NwYW4+CisgICAgPHNwYW4gc3R5
bGU9ImRpc3BsYXk6YmxvY2s7Ij5zZWNvbmQgYmxvY2sgc3Bhbjwvc3Bhbj4KKyAgPC9saT4KKyAg
PGxpPgorICAgIDxhIGhyZWY9ImZvbyI+CisgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9j
azsiPmZpcnN0IGJsb2NrIHNwYW48L3NwYW4+CisgICAgICA8c3Bhbj5pbmxpbmUgc3Bhbjwvc3Bh
bj4KKyAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+c2Vjb25kIGJsb2NrIHNwYW48
L3NwYW4+CisgICAgPC9hPgorICA8L2xpPgorPC9vbD4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMg
dGVzdHMgdGhhdCBib3RoIGJsb2NrIHNwYW5zIGFuZCBpbmxpbmUgc3BhbnMgZ2V0IGZvbGRlZCBp
bnRvIHRoZSBwYXJlbnQgb2JqZWN0Iik7CisKK2lmICh3aW5kb3cubGF5b3V0Q29udHJvbGxlcikg
eworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQorCitpZiAod2luZG93LmFjY2Vzc2li
aWxpdHlDb250cm9sbGVyKSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHkiKS5m
b2N1cygpOworICAgIHZhciB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQ7CisKKyAgICB2YXIgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDApOwor
ICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogaGVhZGluZyciKTsKKyAgICBz
aG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3
ZWJBcmVhLmNoaWxkQXRJbmRleCgxKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidB
WFJvbGU6IGhlYWRpbmcnIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIs
ICIxIik7CisKKyAgICB2YXIgbGluayA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAgIHNo
b3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAgICBzaG91bGRCZSgibGlu
ay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJ
bmRleCgyKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IGxpc3QnIik7
CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIyIik7CisKKyAgICB2YXIg
aXRlbSA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJpdGVtLnJvbGUi
LCAiJ0FYUm9sZTogbGlzdCBpdGVtJyIpOworICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVuQ291
bnQiLCAiMCIpOworCisgICAgaXRlbSA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDEpOworICAgIHNo
b3VsZEJlKCJpdGVtLnJvbGUiLCAiJ0FYUm9sZTogbGlzdCBpdGVtJyIpOworICAgIHNob3VsZEJl
KCJpdGVtLmNoaWxkcmVuQ291bnQiLCAiMSIpOworCisgICAgbGluayA9IGl0ZW0uY2hpbGRBdElu
ZGV4KDApOworICAgIHNob3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAg
ICBzaG91bGRCZSgibGluay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKK30KKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MDY2MGYzLi5kNTY1MjZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDgtMjcgIEpvYW5tYXJpZSBEaWdn
cyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHdGtdIE5vIGFjY2Vzc2libGUgY2Fy
ZXQtbW92ZWQgZXZlbnRzIGZvdW5kIGluIGNlcnRhaW4gY29udGVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTEKKworICAgICAgICBQYXJ0IG9m
IHRoZSBidWcgd2FzIGR1ZSB0byBleHRyYW5lb3VzIGFjY2Vzc2libGUgb2JqZWN0cyByZXN1bHRp
bmcKKyAgICAgICAgZnJvbSB1bmlnbm9yZWQgaW5saW5lIGFuZCBibG9jayBzcGFucy4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbGF0Zm9y
bS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCk6IElnbm9yZSBvYmpl
Y3RzIHRoYXQgaGF2ZSBzcGFuVGFnIHRhZyBuYW1lLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
Z3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QpOiBJZ25v
cmUgbW9zdCBhbm9ueW1vdXMgYmxvY2tzLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL1dl
YktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcDoKKyAgICAgICAgKHJvbGVJc1RleHRUeXBlKTog
QWRkIExpc3RJdGVtIHRvIHRoZSByb2xlcyB3aGljaCBzaG91bGQgaW1wbGVtZW50IEF0a1RleHQu
CisKIDIwMTItMDgtMjQgIEhlbGRlciBDb3JyZWlhICA8aGVsZGVyLmNvcnJlaWFAbm9raWEuY29t
PgogCiAgICAgICAgIFtUZXhtYXBdIE1vdmUgVGV4dHVyZU1hcHBlckdMIHRvIHVzZSBHcmFwaGlj
c0NvbnRleHQzRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggN2ZhNWQzYi4uMzQ3NWE2NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCkBAIC0xOTUzLDYgKzE5NTMsMTAgQEAgYm9vbCBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICBpZiAo
c3VwcG9ydHNBUklBQXR0cmlidXRlcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCisg
ICAgLy8gQ29udGVudCBpbnNpZGUgc3BhbiB0YWdzIGdldHMgaW5jbHVkZWQgaW4gdGhlIHBhcmVu
dCB0ZXh0IG9iamVjdC4KKyAgICBpZiAobm9kZSAmJiBub2RlLT5oYXNUYWdOYW1lKHNwYW5UYWcp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGlmIChtX3JlbmRlcmVyLT5pc0Jsb2NrRmxv
dygpICYmIG1fcmVuZGVyZXItPmNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgIHJldHVybiAhdG9S
ZW5kZXJCbG9jayhtX3JlbmRlcmVyKS0+Zmlyc3RMaW5lQm94KCkgJiYgIW1vdXNlQnV0dG9uTGlz
dGVuZXIoKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
Z3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKaW5kZXggMzlmNDg4OC4uYWFhZGEw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJp
bGl0eU9iamVjdEF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsv
QWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKQEAgLTc4LDYgKzc4LDExIEBAIEFjY2Vzc2liaWxp
dHlPYmplY3RJbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRm
b3JtSW5jbHVkZXNPCiAgICAgaWYgKHJvbGUgPT0gVW5rbm93blJvbGUpCiAgICAgICAgIHJldHVy
biBJZ25vcmVPYmplY3Q7CiAKKyAgICAvLyBCbG9jayBzcGFucyByZXN1bHQgaW4gZXh0cmFuZW91
cyBvYmplY3RzIG9mIEFUS19ST0xFX1BBTkVMLgorICAgIGlmIChyZW5kZXJlcigpLT5pc0Fub255
bW91c0Jsb2NrKCkgJiYgIXBhcmVudC0+cmVuZGVyZXIoKS0+aXNCb2R5KCkKKyAgICAgICAgJiYg
cGFyZW50LT5hcmlhUm9sZUF0dHJpYnV0ZSgpID09IFVua25vd25Sb2xlKQorICAgICAgICByZXR1
cm4gSWdub3JlT2JqZWN0OworCiAgICAgcmV0dXJuIERlZmF1bHRCZWhhdmlvcjsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJs
ZVdyYXBwZXJBdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0
QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCmluZGV4IGY3ZjlmNmUuLmRmMTY4NzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFw
cGVyQXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRB
Y2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKQEAgLTgxOSw3ICs4MTksNyBAQCBzdGF0aWMgR1R5cGUg
R2V0QXRrSW50ZXJmYWNlVHlwZUZyb21XQUlUeXBlKFdBSVR5cGUgdHlwZSkKIAogc3RhdGljIGJv
b2wgcm9sZUlzVGV4dFR5cGUoQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKIHsKLSAgICByZXR1cm4g
cm9sZSA9PSBQYXJhZ3JhcGhSb2xlIHx8IHJvbGUgPT0gSGVhZGluZ1JvbGUgfHwgcm9sZSA9PSBE
aXZSb2xlIHx8IHJvbGUgPT0gQ2VsbFJvbGU7CisgICAgcmV0dXJuIHJvbGUgPT0gUGFyYWdyYXBo
Um9sZSB8fCByb2xlID09IEhlYWRpbmdSb2xlIHx8IHJvbGUgPT0gRGl2Um9sZSB8fCByb2xlID09
IENlbGxSb2xlIHx8IHJvbGUgPT0gTGlzdEl0ZW1Sb2xlOwogfQogCiBzdGF0aWMgZ3VpbnQxNiBn
ZXRJbnRlcmZhY2VNYXNrRnJvbU9iamVjdChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0
KQotLSAKMS43LjExLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160878</attachid>
            <date>2012-08-27 18:23:27 -0700</date>
            <delta_ts>2012-09-01 02:16:01 -0700</delta_ts>
            <desc>proposed fix - part 2 (addressed feedback from review)</desc>
            <filename>0001-Fix-for-bug-72811-part-2.patch</filename>
            <type>text/plain</type>
            <size>13023</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBkMzc3OTBiYWMwM2RiOGQwNTgzYTczMTY0N2RlZWE5M2Q1M2Y3NTRkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkQG1pbmkubG9jYWw+CkRhdGU6
IE1vbiwgMjcgQXVnIDIwMTIgMjE6MDM6MzIgLTA0MDAKU3ViamVjdDogW1BBVENIXSBGaXggZm9y
IGJ1ZyA3MjgxMSAtIHBhcnQgMgoKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMTkgKysrKysKIC4uLi9hcmlhLXJvbGVzLXVuaWdub3Jl
ZC1leHBlY3RlZC50eHQgICAgICAgICAgICAgIHwgICAgMiArLQogLi4uL2d0ay9hY2Nlc3NpYmls
aXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWwgICAgfCAgICA0ICstCiAuLi4vZ3RrL2FjY2Vz
c2liaWxpdHkvbWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQgICB8ICAgIDQgLQogLi4uL3BsYXRm
b3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLWV4cGVjdGVkLnR4dCAgfCAgIDM2ICsrKysrKysr
KwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbCAgfCAg
IDc4ICsrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMTkgKysrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwICAgIHwgICAgOSArKysKIC4uLi9hY2Nlc3NpYmlsaXR5
L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCAgIHwgICAxNSArKysrCiAuLi4vZ3RrL1dl
YktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcCAgICAgICAgICAgICB8ICAgIDIgKy0KIDEwIGZp
bGVzIGNoYW5nZWQsIDE4MCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLWV4
cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L3NwYW5zLmh0bWwKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTY3N2EzZC4uNGMyZTlhYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDEyLTA4LTI3ICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR3RrXSBObyBhY2Nlc3NpYmxlIGNhcmV0LW1vdmVkIGV2ZW50
cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcyODExCisKKyAgICAgICAgUGFydCBvZiB0aGUgYnVnIHdhcyBk
dWUgdG8gZXh0cmFuZW91cyBhY2Nlc3NpYmxlIG9iamVjdHMgcmVzdWx0aW5nCisgICAgICAgIGZy
b20gdW5pZ25vcmVkIGlubGluZSBhbmQgYmxvY2sgc3BhbnMuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgbmV3IHRlc3QsIHVwZGF0ZWQgdGhl
IHJlc3VsdHMgb2Ygb25lIHRlc3QgdG8gcmVmbGVjdCB0aGUgZml4LAorICAgICAgICBjb3JyZWN0
ZWQgYSB0ZXN0IHdpdGggYSBtaXNtYXRjaGVkIGVsZW1lbnQgdGFnLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQtZXhwZWN0ZWQudHh0
OiBDb3JyZWN0ZWQgcmVzdWx0cyBoYXZpbmcgZml4ZWQgdGFnLgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWw6IEZpeGVkIG1pc21h
dGNoZWQgZWxlbWVudCB0YWcuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
bWVkaWEtZWxlbWVudC1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgdG8gcmVmbGVjdCByZW1vdmFsIG9m
IGV4dHJhbmVvdXMgb2JqZWN0LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5
L3NwYW5zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvc3BhbnMuaHRtbDogQWRkZWQuCisKIDIwMTItMDgtMjcgIEp1bGllbiBDaGFmZnJh
aXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW9yZSB1bnJldmlld2VkIHJl
YmFzZWxpbmluZyBhZnRlciByMTI2NjgzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9y
ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDMyNTUxNjQuLmYwNTFjMDggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9h
cmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3RlZC50eHQKQEAgLTE4LDcgKzE4LDcgQEAgUEFTUyBl
bGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogbGFiZWwnCiBQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhS
b2xlOiBoZWFkaW5nJwogUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogZm9ybScKIFBBU1Mg
ZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHB1c2ggYnV0dG9uJwotUEFTUyBlbGVtZW50LnJvbGUg
aXMgJ0FYUm9sZTogcGFuZWwnCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBzZWN0aW9u
JwogUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogZW50cnknCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sCmluZGV4IDk2
YjM1YzkuLjZhZmYwMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbApAQCAtMTQs
NyArMTQsNyBAQAogPGZvcm0+QSBmb3JtIHdpdGggYSBidXR0b24gPGJ1dHRvbiBuYW1lPSJidXR0
b24iIHZhbHVlPSJCdXR0b24iPkNsaWNrIG1lITwvYnV0dG9uPjwvZm9ybT4KIDxmb3JtIHJvbGU9
ImJ1dHRvbiI+SnVzdCBhIGJ1dHRvbiA8YnV0dG9uIG5hbWU9ImJ1dHRvbiIgdmFsdWU9IkJ1dHRv
biI+Q2xpY2sgbWUhPC9idXR0b24+PC9mb3JtPgogCi08ZGl2Pkp1c3Qgc29tZSB0ZXh0IGluc2lk
ZSBhIGRpdjwvZm9ybT4KKzxkaXY+SnVzdCBzb21lIHRleHQgaW5zaWRlIGEgZGl2PC9kaXY+CiA8
ZGl2IHJvbGU9InRleHRib3giPlRoaXMgZGl2IGlzIGNvbnRhaW5zIGEgdGV4dGJveCAoYW4gZW50
cnkpPC9kaXY+CiAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgpAQCAtNTEsNyArNTEsNyBAQCBp
ZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAKICAgICAvLyBEaXZzCiAgICAg
ZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDUpOwotICAgIHNob3VsZEJlKCJlbGVtZW50
LnJvbGUiLCAiJ0FYUm9sZTogcGFuZWwnIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIs
ICInQVhSb2xlOiBzZWN0aW9uJyIpOwogICAgIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRl
eCg2KTsKICAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IGVudHJ5JyIpOwog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbWVk
aWEtZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNz
aWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dAppbmRleCA4MWVjZjE3Li4wYWIwMjc3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9tZWRp
YS1lbGVtZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNj
ZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMTMsMTAgKzEzLDYgQEAg
U3RhdGUgYXQgJ2NhbnBsYXl0aHJvdWdoJyBldmVudDoKIAogCiAgICAgICAgIGRlc2NyaXB0aW9u
OiBBWERlc2NyaXB0aW9uOiAKLSAgICAgICAgcm9sZTogQVhSb2xlOiBwYW5lbAotCi0KLSAgICAg
ICAgZGVzY3JpcHRpb246IEFYRGVzY3JpcHRpb246IAogICAgICAgICByb2xlOiBBWFJvbGU6IHNs
aWRlcgogCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L3NwYW5zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L3NwYW5zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi45Mjk0NDkyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvc3BhbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKK2ZpcnN0
IGJsb2NrIHNwYW4KK2lubGluZSBzcGFuCitzZWNvbmQgYmxvY2sgc3BhbgorZmlyc3QgYmxvY2sg
c3BhbgoraW5saW5lIHNwYW4KK3NlY29uZCBibG9jayBzcGFuCisKK2ZpcnN0IGJsb2NrIHNwYW4K
K2lubGluZSBzcGFuCitzZWNvbmQgYmxvY2sgc3BhbgorZmlyc3QgYmxvY2sgc3BhbgoraW5saW5l
IHNwYW4KK3NlY29uZCBibG9jayBzcGFuCitUaGlzIHRlc3RzIHRoYXQgYm90aCBibG9jayBzcGFu
cyBhbmQgaW5saW5lIHNwYW5zIGdldCBmb2xkZWQgaW50byB0aGUgcGFyZW50IG9iamVjdAorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9s
ZTogaGVhZGluZycKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgZWxlbWVu
dC5yb2xlIGlzICdBWFJvbGU6IGhlYWRpbmcnCitQQVNTIGVsZW1lbnQuY2hpbGRyZW5Db3VudCBp
cyAxCitQQVNTIGxpbmsucm9sZSBpcyAnQVhSb2xlOiBsaW5rJworUEFTUyBsaW5rLmNoaWxkcmVu
Q291bnQgaXMgMAorUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogbGlzdCcKK1BBU1MgZWxl
bWVudC5jaGlsZHJlbkNvdW50IGlzIDIKK1BBU1MgaXRlbS5yb2xlIGlzICdBWFJvbGU6IGxpc3Qg
aXRlbScKK1BBU1MgaXRlbS5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgaXRlbS5yb2xlIGlzICdB
WFJvbGU6IGxpc3QgaXRlbScKK1BBU1MgaXRlbS5jaGlsZHJlbkNvdW50IGlzIDEKK1BBU1MgbGlu
ay5yb2xlIGlzICdBWFJvbGU6IGxpbmsnCitQQVNTIGxpbmsuY2hpbGRyZW5Db3VudCBpcyAwCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU3MmEwYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLmh0bWwKQEAgLTAs
MCArMSw3OCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+Cis8
aDQ+CisgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+Zmlyc3QgYmxvY2sgc3Bhbjwvc3Bh
bj4KKyAgPHNwYW4+aW5saW5lIHNwYW48L3NwYW4+CisgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJs
b2NrOyI+c2Vjb25kIGJsb2NrIHNwYW48L3NwYW4+Cis8L2g0PgorPGg0PgorICA8YSBocmVmPSJm
b28iPgorICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5maXJzdCBibG9jayBzcGFu
PC9zcGFuPgorICAgICAgPHNwYW4+aW5saW5lIHNwYW48L3NwYW4+CisgICAgICA8c3BhbiBzdHls
ZT0iZGlzcGxheTpibG9jazsiPnNlY29uZCBibG9jayBzcGFuPC9zcGFuPgorICA8L2E+Cis8L2g0
PgorPG9sPgorICA8bGk+CisgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5maXJzdCBi
bG9jayBzcGFuPC9zcGFuPgorICAgIDxzcGFuPmlubGluZSBzcGFuPC9zcGFuPgorICAgIDxzcGFu
IHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+c2Vjb25kIGJsb2NrIHNwYW48L3NwYW4+CisgIDwvbGk+
CisgIDxsaT4KKyAgICA8YSBocmVmPSJmb28iPgorICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6
YmxvY2s7Ij5maXJzdCBibG9jayBzcGFuPC9zcGFuPgorICAgICAgPHNwYW4+aW5saW5lIHNwYW48
L3NwYW4+CisgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPnNlY29uZCBibG9jayBz
cGFuPC9zcGFuPgorICAgIDwvYT4KKyAgPC9saT4KKzwvb2w+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
aGlzIHRlc3RzIHRoYXQgYm90aCBibG9jayBzcGFucyBhbmQgaW5saW5lIHNwYW5zIGdldCBmb2xk
ZWQgaW50byB0aGUgcGFyZW50IG9iamVjdCIpOworCitpZiAod2luZG93LmxheW91dENvbnRyb2xs
ZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKworaWYgKHdpbmRvdy5hY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2R5
IikuZm9jdXMoKTsKKyAgICB2YXIgd2ViQXJlYSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50OworCisgICAgdmFyIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgw
KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IGhlYWRpbmcnIik7Cisg
ICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIwIik7CisKKyAgICBlbGVtZW50
ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMSk7CisgICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIs
ICInQVhSb2xlOiBoZWFkaW5nJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LmNoaWxkcmVuQ291
bnQiLCAiMSIpOworCisgICAgdmFyIGxpbmsgPSBlbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKKyAg
ICBzaG91bGRCZSgibGluay5yb2xlIiwgIidBWFJvbGU6IGxpbmsnIik7CisgICAgc2hvdWxkQmUo
ImxpbmsuY2hpbGRyZW5Db3VudCIsICIwIik7CisKKyAgICBlbGVtZW50ID0gd2ViQXJlYS5jaGls
ZEF0SW5kZXgoMik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBsaXN0
JyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LmNoaWxkcmVuQ291bnQiLCAiMiIpOworCisgICAg
dmFyIGl0ZW0gPSBlbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKKyAgICBzaG91bGRCZSgiaXRlbS5y
b2xlIiwgIidBWFJvbGU6IGxpc3QgaXRlbSciKTsKKyAgICBzaG91bGRCZSgiaXRlbS5jaGlsZHJl
bkNvdW50IiwgIjAiKTsKKworICAgIGl0ZW0gPSBlbGVtZW50LmNoaWxkQXRJbmRleCgxKTsKKyAg
ICBzaG91bGRCZSgiaXRlbS5yb2xlIiwgIidBWFJvbGU6IGxpc3QgaXRlbSciKTsKKyAgICBzaG91
bGRCZSgiaXRlbS5jaGlsZHJlbkNvdW50IiwgIjEiKTsKKworICAgIGxpbmsgPSBpdGVtLmNoaWxk
QXRJbmRleCgwKTsKKyAgICBzaG91bGRCZSgibGluay5yb2xlIiwgIidBWFJvbGU6IGxpbmsnIik7
CisgICAgc2hvdWxkQmUoImxpbmsuY2hpbGRyZW5Db3VudCIsICIwIik7Cit9CisKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYxMzAwMC4uNmVi
ODVlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA4LTI3ICBKb2FubWFyaWUg
RGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBbR3RrXSBObyBhY2Nlc3NpYmxl
IGNhcmV0LW1vdmVkIGV2ZW50cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRlbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODExCisKKyAgICAgICAgUGFy
dCBvZiB0aGUgYnVnIHdhcyBkdWUgdG8gZXh0cmFuZW91cyBhY2Nlc3NpYmxlIG9iamVjdHMgcmVz
dWx0aW5nCisgICAgICAgIGZyb20gdW5pZ25vcmVkIGlubGluZSBhbmQgYmxvY2sgc3BhbnMuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGxh
dGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQpOiBJZ25vcmUg
b2JqZWN0cyB0aGF0IGhhdmUgc3BhblRhZyB0YWcgbmFtZS4KKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KTog
SWdub3JlIG1vc3QgYW5vbnltb3VzIGJsb2Nrcy4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0
ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHA6CisgICAgICAgIChyb2xlSXNUZXh0VHlw
ZSk6IEFkZCBMaXN0SXRlbSB0byB0aGUgcm9sZXMgd2hpY2ggc2hvdWxkIGltcGxlbWVudCBBdGtU
ZXh0LgorCiAyMDEyLTA4LTI3ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gQSBnZW5lcmFsIG1lY2hhbmlzbSBmb3IgcGFzc2luZyBkYXRh
IGludG8gYW5kIG91dCBvZiBhcHBlbmRRdWFkcyBhbmQgcXVhZEN1bGxlciB2aWEgQ0NBcHBlbmRR
dWFkc0RhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDdmYTVkM2IuLjFlNTNhYjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcApAQCAtMTk1Myw2ICsxOTUzLDE1IEBAIGJvb2wgQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAgaWYgKHN1
cHBvcnRzQVJJQUF0dHJpYnV0ZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAorICAg
IC8vIDxzcGFuPiB0YWdzIGFyZSBpbmxpbmUgdGFncyBhbmQgbm90IG1lYW50IHRvIGNvbnZleSBp
bmZvcm1hdGlvbiBpZiB0aGV5IGhhdmUgbm8gb3RoZXIgYXJpYQorICAgIC8vIGluZm9ybWF0aW9u
IG9uIHRoZW0uIElmIHdlIGRvbid0IGlnbm9yZSB0aGVtLCB0aGV5IG1heSBlbWl0IHNpZ25hbHMg
ZXhwZWN0ZWQgdG8gY29tZSBmcm9tCisgICAgLy8gdGhlaXIgcGFyZW50LiBJbiBhZGRpdGlvbiwg
YmVjYXVzZSBpbmNsdWRlZCBzcGFucyBhcmUgR3JvdXBSb2xlIG9iamVjdHMsIGFuZCBHcm91cFJv
bGUKKyAgICAvLyBvYmplY3RzIGFyZSBvZnRlbiBjb250YWluZXJzIHdpdGggbWVhbmluZ2Z1bCBp
bmZvcm1hdGlvbiwgdGhlIGluY2x1c2lvbiBvZiBhIHNwYW4gY2FuIGhhdmUKKyAgICAvLyB0aGUg
c2lkZSBlZmZlY3Qgb2YgY2F1c2luZyB0aGUgaW1tZWRpYXRlIHBhcmVudCBhY2Nlc3NpYmxlIHRv
IGJlIGlnbm9yZWQuIFRoaXMgaXMgZXNwZWNpYWxseQorICAgIC8vIHByb2JsZW1hdGljIGZvciBw
bGF0Zm9ybXMgd2hpY2ggaGF2ZSBkaXN0aW5jdCByb2xlcyBmb3IgdGV4dHVhbCBibG9jayBlbGVt
ZW50cy4KKyAgICBpZiAobm9kZSAmJiBub2RlLT5oYXNUYWdOYW1lKHNwYW5UYWcpKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKwogICAgIGlmIChtX3JlbmRlcmVyLT5pc0Jsb2NrRmxvdygpICYmIG1f
cmVuZGVyZXItPmNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgIHJldHVybiAhdG9SZW5kZXJCbG9j
ayhtX3JlbmRlcmVyKS0+Zmlyc3RMaW5lQm94KCkgJiYgIW1vdXNlQnV0dG9uTGlzdGVuZXIoKTsK
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vz
c2liaWxpdHlPYmplY3RBdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsv
QWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKaW5kZXggMzlmNDg4OC4uZWYwYmIzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVj
dEF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJp
bGl0eU9iamVjdEF0ay5jcHAKQEAgLTc4LDYgKzc4LDIxIEBAIEFjY2Vzc2liaWxpdHlPYmplY3RJ
bmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVk
ZXNPCiAgICAgaWYgKHJvbGUgPT0gVW5rbm93blJvbGUpCiAgICAgICAgIHJldHVybiBJZ25vcmVP
YmplY3Q7CiAKKyAgICAvLyBCbG9jayBzcGFucyByZXN1bHQgaW4gb2JqZWN0cyBvZiBBVEtfUk9M
RV9QQU5FTCB3aGljaCBhcmUgYWxtb3N0IGFsd2F5cyB1bndhbnRlZC4KKyAgICAvLyBIb3dldmVy
LCBpZiB3ZSBpZ25vcmUgYmxvY2sgc3BhbnMgd2hvc2UgcGFyZW50IGlzIHRoZSBib2R5LCB0aGUg
Y2hpbGQgY29udHJvbHMKKyAgICAvLyB3aWxsIGJlY29tZSBpbW1lZGlhdGUgY2hpbGRyZW4gb2Yg
dGhlIEFUS19ST0xFX0RPQ1VNRU5UX0ZSQU1FIGFuZCBhbnkgdGV4dCB3aWxsCisgICAgLy8gYmVj
b21lIHRleHQgd2l0aGluIHRoZSBkb2N1bWVudCBmcmFtZSBpdHNlbGYuIFRoaXMgdWx0aW1hdGVs
eSBtYXkgYmUgd2hhdCB3ZSB3YW50CisgICAgLy8gYW5kIHdvdWxkIGxhcmdlbHkgYmUgY29uc2lz
dGVudCB3aXRoIHdoYXQgd2Ugc2VlIGZyb20gR2Vja28uIEhvd2V2ZXIsIGlnbm9yaW5nCisgICAg
Ly8gc3BhbnMgd2hvc2UgcGFyZW50IGlzIHRoZSBib2R5IGNoYW5nZXMgdGhlIGN1cnJlbnQgYmVo
YXZpb3Igd2Ugc2VlIGZyb20gV2ViQ29yZS4KKyAgICAvLyBVbnRpbCB3ZSBoYXZlIHN1ZmZpY2ll
bnQgdGltZSB0byBwcm9wZXJseSBhbmFseXplIHRoZXNlIGNhc2VzLCB3ZSB3aWxsIGRlZmVyIHRv
CisgICAgLy8gV2ViQ29yZS4gV2Ugb25seSBjaGVjayB0aGF0IHRoZSBwYXJlbnQgaXMgbm90IGFy
aWEgYmVjYXVzZSB3ZSBkbyBub3QgZXhwZWN0CisgICAgLy8gYW5vbnltb3VzIGJsb2NrcyB3aGlj
aCBhcmUgYXJpYS1yZWxhdGVkIHRvIHRoZW1zZWx2ZXMgaGF2ZSBhbiBhcmlhIHJvbGUsIG5vcgor
ICAgIC8vIGhhdmUgd2UgZW5jb3VudGVyZWQgaW5zdGFuY2VzIHdoZXJlIHRoZSBwYXJlbnQgb2Yg
YW4gYW5vbnltb3VzIGJsb2NrIGFsc28gbGFja2VkCisgICAgLy8gYW4gYXJpYSByb2xlIGJ1dCB0
aGUgZ3JhbmRwYXJlbnQgaGFkIG9uZS4KKyAgICBpZiAocmVuZGVyZXIoKS0+aXNBbm9ueW1vdXNC
bG9jaygpICYmICFwYXJlbnQtPnJlbmRlcmVyKCktPmlzQm9keSgpCisgICAgICAgICYmIHBhcmVu
dC0+YXJpYVJvbGVBdHRyaWJ1dGUoKSA9PSBVbmtub3duUm9sZSkKKyAgICAgICAgcmV0dXJuIEln
bm9yZU9iamVjdDsKKwogICAgIHJldHVybiBEZWZhdWx0QmVoYXZpb3I7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFw
cGVyQXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vz
c2libGVXcmFwcGVyQXRrLmNwcAppbmRleCBmN2Y5ZjZlLi5kZjE2ODc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNz
aWJsZVdyYXBwZXJBdGsuY3BwCkBAIC04MTksNyArODE5LDcgQEAgc3RhdGljIEdUeXBlIEdldEF0
a0ludGVyZmFjZVR5cGVGcm9tV0FJVHlwZShXQUlUeXBlIHR5cGUpCiAKIHN0YXRpYyBib29sIHJv
bGVJc1RleHRUeXBlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiB7Ci0gICAgcmV0dXJuIHJvbGUg
PT0gUGFyYWdyYXBoUm9sZSB8fCByb2xlID09IEhlYWRpbmdSb2xlIHx8IHJvbGUgPT0gRGl2Um9s
ZSB8fCByb2xlID09IENlbGxSb2xlOworICAgIHJldHVybiByb2xlID09IFBhcmFncmFwaFJvbGUg
fHwgcm9sZSA9PSBIZWFkaW5nUm9sZSB8fCByb2xlID09IERpdlJvbGUgfHwgcm9sZSA9PSBDZWxs
Um9sZSB8fCByb2xlID09IExpc3RJdGVtUm9sZTsKIH0KIAogc3RhdGljIGd1aW50MTYgZ2V0SW50
ZXJmYWNlTWFza0Zyb21PYmplY3QoQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCkKLS0g
CjEuNy45LjYgKEFwcGxlIEdpdC0zMS4xKQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161630</attachid>
            <date>2012-08-31 00:57:39 -0700</date>
            <delta_ts>2012-09-01 02:16:05 -0700</delta_ts>
            <desc>proposed fix - part 3 (addressed feedback from review)</desc>
            <filename>part3.patch</filename>
            <type>text/plain</type>
            <size>12179</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBmOWE2YTJkYzdkNzc0Nzk5ODFjMzFjMDViMTgyODcwN2M1ZTg4ZDNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBGcmksIDI0IEF1ZyAyMDEyIDIzOjExOjU0IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAyLzJd
IEZpeCBmb3IgYnVnIDcyODExIC0gcGFydCAzCgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICsrKysKIC4uLi9zcGFucy1wYXJhZ3Jh
cGhzLWFuZC1kaXZzLWV4cGVjdGVkLnR4dCAgICAgICAgIHwgIDUyICsrKysrKysrKysKIC4uLi9h
Y2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMuaHRtbCAgIHwgMTEzICsrKysr
KysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgMjIgKysrKwogLi4uL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmNwcCAgfCAgIDkgKysKIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5oIHwgICAxICsKIC4uLi9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcCAgIHwgIDEyICsrKwogNyBmaWxlcyBjaGFuZ2VkLCAyMjYg
aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMtZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
c3BhbnMtcGFyYWdyYXBocy1hbmQtZGl2cy5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUyMzBlNDYuLjE5NWYxOTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTMsNiArMywyMyBAQAogICAgICAgICBbR3RrXSBObyBhY2Nlc3NpYmxlIGNhcmV0
LW1vdmVkIGV2ZW50cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRlbnQKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODExCiAKKyAgICAgICAgUGFydCBvZiB0
aGUgYnVnIHdhcyBkdWUgdG8gZXhwZWN0ZWQgYWNjZXNzaWJsZSBvYmplY3RzIG9mIERpdlJvbGUK
KyAgICAgICAgYW5kIFBhcmFncmFwaFJvbGUgYmVpbmcgaWdub3JlZCwgaW4gZmF2b3Igb2YgaW5j
bHVkaW5nIGNoaWxkIGJsb2Nrcy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBuZXcgdGVzdCB0byB2ZXJpZnkgdGhhdCBwYXJhZ3JhcGhzIGFu
ZCBkaXZzIHdoaWNoIGNvbnRhaW4gYW5vbnltb3VzCisgICAgICAgIGJsb2NrcyBhcmUgaW5jbHVk
ZWQgaW4gdGhlIGFjY2Vzc2libGUgb2JqZWN0IGhpZXJhcmNoeSBhbmQgaGF2ZSB0aGUgY29ycmVj
dAorICAgICAgICBudW1iZXIgb2YgY2hpbGRyZW4gd2l0aCB0aGUgZXhwZWN0ZWQgcm9sZS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5k
LWRpdnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNz
aWJpbGl0eS9zcGFucy1wYXJhZ3JhcGhzLWFuZC1kaXZzLmh0bWw6IEFkZGVkLgorCisyMDEyLTA4
LTI0ICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBbR3Rr
XSBObyBhY2Nlc3NpYmxlIGNhcmV0LW1vdmVkIGV2ZW50cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRl
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODEx
CisKICAgICAgICAgUGFydCBvZiB0aGUgYnVnIHdhcyBkdWUgdG8gZXh0cmFuZW91cyBhY2Nlc3Np
YmxlIG9iamVjdHMgcmVzdWx0aW5nCiAgICAgICAgIGZyb20gdW5pZ25vcmVkIGlubGluZSBhbmQg
YmxvY2sgc3BhbnMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtcGFyYWdyYXBocy1hbmQtZGl2
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU5OTgw
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTIg
QEAKK0Jsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgcGFyYWdyYXBoCitJbmxpbmUgc3BhbiBpbiBh
IGxpbmsgaW4gYSBwYXJhZ3JhcGgKKworQmxvY2sgc3BhbiBpbiBhIHBhcmFncmFwaAorSW5saW5l
IHNwYW4gaW4gYSBwYXJhZ3JhcGgKKworSW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgcGFyYWdy
YXBoCitCbG9jayBzcGFuIGluIGEgbGluayBpbiBhIHBhcmFncmFwaAorCitJbmxpbmUgc3BhbiBp
biBhIHBhcmFncmFwaAorQmxvY2sgc3BhbiBpbiBhIHBhcmFncmFwaAorQmxvY2sgc3BhbiBpbiBh
IGxpbmsgaW4gYSBkaXYKK0lubGluZSBzcGFuIGluIGEgbGluayBpbiBhIGRpdgorQmxvY2sgc3Bh
biBpbiBhIGRpdgorSW5saW5lIHNwYW4gaW4gYSBkaXYKK0lubGluZSBzcGFuIGluIGEgbGluayBp
biBhIGRpdgorQmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBkaXYKK0lubGluZSBzcGFuIGluIGEg
ZGl2CitCbG9jayBzcGFuIGluIGEgZGl2CitUaGlzIHRlc3RzIHRoYXQgcGFyYWdyYXBocyBhbmQg
ZGl2cyB3aXRoIGFub255bW91cyBibG9jayBjaGlsZHJlbiBhcmUgbm90IGlnbm9yZWQgYW5kIGhh
dmUgdGhlIGV4cGVjdGVkIGNoaWxkcmVuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBwYXJhZ3JhcGgnCitQQVNTIGVsZW1lbnQu
Y2hpbGRyZW5Db3VudCBpcyAxCitQQVNTIGxpbmsucm9sZSBpcyAnQVhSb2xlOiBsaW5rJworUEFT
UyBsaW5rLmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTog
cGFyYWdyYXBoJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50
LnJvbGUgaXMgJ0FYUm9sZTogcGFyYWdyYXBoJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQg
aXMgMQorUEFTUyBsaW5rLnJvbGUgaXMgJ0FYUm9sZTogbGluaycKK1BBU1MgbGluay5jaGlsZHJl
bkNvdW50IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHBhcmFncmFwaCcKK1BB
U1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJv
bGU6IHNlY3Rpb24nCitQQVNTIGVsZW1lbnQuY2hpbGRyZW5Db3VudCBpcyAxCitQQVNTIGxpbmsu
cm9sZSBpcyAnQVhSb2xlOiBsaW5rJworUEFTUyBsaW5rLmNoaWxkcmVuQ291bnQgaXMgMAorUEFT
UyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogc2VjdGlvbicKK1BBU1MgZWxlbWVudC5jaGlsZHJl
bkNvdW50IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHNlY3Rpb24nCitQQVNT
IGVsZW1lbnQuY2hpbGRyZW5Db3VudCBpcyAxCitQQVNTIGxpbmsucm9sZSBpcyAnQVhSb2xlOiBs
aW5rJworUEFTUyBsaW5rLmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50LnJvbGUgaXMg
J0FYUm9sZTogc2VjdGlvbicKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1wYXJhZ3JhcGhz
LWFuZC1kaXZzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9z
cGFucy1wYXJhZ3JhcGhzLWFuZC1kaXZzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uOGIyMzMzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMuaHRtbApAQCAtMCww
ICsxLDExMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+Cisg
IDxwPgorICAgIDxhIGhyZWY9J2Zvbyc+CisgICAgICAgPHNwYW4gc3R5bGU9J2Rpc3BsYXk6Ymxv
Y2s7Jz5CbG9jayBzcGFuIGluIGEgbGluayBpbiBhIHBhcmFncmFwaDwvc3Bhbj4KKyAgICAgICA8
c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSBwYXJhZ3JhcGg8L3NwYW4+CisgICAgPC9h
PgorICA8L3A+CisgIDxwPgorICAgIDxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sg
c3BhbiBpbiBhIHBhcmFncmFwaDwvc3Bhbj4KKyAgICA8c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIHBh
cmFncmFwaDwvc3Bhbj4KKyAgPC9wPgorICA8cD4KKyAgICA8YSBocmVmPSdmb28nPgorICAgICAg
IDxzcGFuPklubGluZSBzcGFuIGluIGEgbGluayBpbiBhIHBhcmFncmFwaDwvc3Bhbj4KKyAgICAg
ICA8c3BhbiBzdHlsZT0nZGlzcGxheTpibG9jazsnPkJsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEg
cGFyYWdyYXBoPC9zcGFuPgorICAgIDwvYT4KKyAgPC9wPgorICA8cD4KKyAgICA8c3Bhbj5Jbmxp
bmUgc3BhbiBpbiBhIHBhcmFncmFwaDwvc3Bhbj4KKyAgICA8c3BhbiBzdHlsZT0nZGlzcGxheTpi
bG9jazsnPkJsb2NrIHNwYW4gaW4gYSBwYXJhZ3JhcGg8L3NwYW4+CisgIDwvcD4KKyAgPGRpdj4K
KyAgICA8YSBocmVmPSdmb28nPgorICAgICAgIDxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+
QmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBkaXY8L3NwYW4+CisgICAgICAgPHNwYW4+SW5saW5l
IHNwYW4gaW4gYSBsaW5rIGluIGEgZGl2PC9zcGFuPgorICAgIDwvYT4KKyAgPC9kaXY+CisgIDxk
aXY+CisgICAgPHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgZGl2
PC9zcGFuPgorICAgIDxzcGFuPklubGluZSBzcGFuIGluIGEgZGl2PC9zcGFuPgorICA8L2Rpdj4K
KyAgPGRpdj4KKyAgICA8YSBocmVmPSdmb28nPgorICAgICAgIDxzcGFuPklubGluZSBzcGFuIGlu
IGEgbGluayBpbiBhIGRpdjwvc3Bhbj4KKyAgICAgICA8c3BhbiBzdHlsZT0nZGlzcGxheTpibG9j
azsnPkJsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgZGl2PC9zcGFuPgorICAgIDwvYT4KKyAgPC9k
aXY+CisgIDxkaXY+CisgICAgPHNwYW4+SW5saW5lIHNwYW4gaW4gYSBkaXY8L3NwYW4+CisgICAg
PHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgZGl2PC9zcGFuPgor
ICA8L2Rpdj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHBhcmFncmFwaHMg
YW5kIGRpdnMgd2l0aCBhbm9ueW1vdXMgYmxvY2sgY2hpbGRyZW4gYXJlIG5vdCBpZ25vcmVkIGFu
ZCBoYXZlIHRoZSBleHBlY3RlZCBjaGlsZHJlbiIpOworCitpZiAod2luZG93LmxheW91dENvbnRy
b2xsZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKworaWYgKHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJi
b2R5IikuZm9jdXMoKTsKKyAgICB2YXIgd2ViQXJlYSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50OworCisgICAgdmFyIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRl
eCgwKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IHBhcmFncmFwaCci
KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjEiKTsKKworICAgIHZh
ciBsaW5rID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7CisgICAgc2hvdWxkQmUoImxpbmsucm9s
ZSIsICInQVhSb2xlOiBsaW5rJyIpOworICAgIHNob3VsZEJlKCJsaW5rLmNoaWxkcmVuQ291bnQi
LCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDEpOworICAgIHNo
b3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogcGFyYWdyYXBoJyIpOworICAgIHNob3Vs
ZEJlKCJlbGVtZW50LmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFy
ZWEuY2hpbGRBdEluZGV4KDIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9s
ZTogcGFyYWdyYXBoJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LmNoaWxkcmVuQ291bnQiLCAi
MSIpOworCisgICAgbGluayA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJl
KCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAgICBzaG91bGRCZSgibGluay5jaGls
ZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgz
KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IHBhcmFncmFwaCciKTsK
KyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1l
bnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCg0KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xl
IiwgIidBWFJvbGU6IHNlY3Rpb24nIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5D
b3VudCIsICIxIik7CisKKyAgICBsaW5rID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7CisgICAg
c2hvdWxkQmUoImxpbmsucm9sZSIsICInQVhSb2xlOiBsaW5rJyIpOworICAgIHNob3VsZEJlKCJs
aW5rLmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRB
dEluZGV4KDUpOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogc2VjdGlv
biciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAg
IGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCg2KTsKKyAgICBzaG91bGRCZSgiZWxlbWVu
dC5yb2xlIiwgIidBWFJvbGU6IHNlY3Rpb24nIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hp
bGRyZW5Db3VudCIsICIxIik7CisKKyAgICBsaW5rID0gZWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7
CisgICAgc2hvdWxkQmUoImxpbmsucm9sZSIsICInQVhSb2xlOiBsaW5rJyIpOworICAgIHNob3Vs
ZEJlKCJsaW5rLmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFyZWEu
Y2hpbGRBdEluZGV4KDcpOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTog
c2VjdGlvbiciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjAiKTsK
K30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAxZWU5MTAxLi5iMzE2NTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0zLDYgKzMsMjggQEAKICAgICAgICAg
W0d0a10gTm8gYWNjZXNzaWJsZSBjYXJldC1tb3ZlZCBldmVudHMgZm91bmQgaW4gY2VydGFpbiBj
b250ZW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MjgxMQogCisgICAgICAgIFBhcnQgb2YgdGhlIGJ1ZyB3YXMgZHVlIHRvIGV4cGVjdGVkIGFjY2Vz
c2libGUgb2JqZWN0cyBvZiBEaXZSb2xlCisgICAgICAgIGFuZCBQYXJhZ3JhcGhSb2xlIGJlaW5n
IGlnbm9yZWQsIGluIGZhdm9yIG9mIGluY2x1ZGluZyBjaGlsZCBibG9ja3MuCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvc3BhbnMtcGFyYWdyYXBocy1hbmQtZGl2cy5odG1sCisKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Zmlyc3RBbm9ueW1vdXNCbG9ja0NoaWxkKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oOgorICAgICAgICAoQWNjZXNzaWJpbGl0eU9iamVjdCk6CisgICAgICAgIE5ldyBtZXRob2Qg
dG8gcmV0dXJuIHRoZSBmaXJzdCBjaGlsZCB3aGljaCBpcyBhbiBhbm9ueW1vdXMgYmxvY2suCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZv
cm1JbmNsdWRlc09iamVjdCk6CisgICAgICAgIEluY2x1ZGUgcGFyYWdyYXBocyBhbmQgZGl2cyB3
aGljaCBjb250YWluIGEgbm9uLW5lc3RlZCBhbm9ueW1vdXMgYmxvY2suCisKKzIwMTItMDgtMjQg
IEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHdGtdIE5v
IGFjY2Vzc2libGUgY2FyZXQtbW92ZWQgZXZlbnRzIGZvdW5kIGluIGNlcnRhaW4gY29udGVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTEKKwog
ICAgICAgICBQYXJ0IG9mIHRoZSBidWcgd2FzIGR1ZSB0byBleHRyYW5lb3VzIGFjY2Vzc2libGUg
b2JqZWN0cyByZXN1bHRpbmcKICAgICAgICAgZnJvbSB1bmlnbm9yZWQgaW5saW5lIGFuZCBibG9j
ayBzcGFucy4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAKaW5kZXggZjg2N2VjMy4uMDM5ZjZlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0x
MzQwLDYgKzEzNDAsMTUgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc0FuY2VzdG9yT2ZP
YmplY3QoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogYXhPYmplY3QKICAgICByZXR1cm4gdGhp
cyA9PSBheE9iamVjdCB8fCBheE9iamVjdC0+aXNEZXNjZW5kYW50T2ZPYmplY3QodGhpcyk7CiB9
CiAKK0FjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmZpcnN0QW5vbnlt
b3VzQmxvY2tDaGlsZCgpIGNvbnN0Cit7CisgICAgZm9yIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBj
aGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkp
IHsKKyAgICAgICAgaWYgKGNoaWxkLT5yZW5kZXJlcigpICYmIGNoaWxkLT5yZW5kZXJlcigpLT5p
c0Fub255bW91c0Jsb2NrKCkpCisgICAgICAgICAgICByZXR1cm4gY2hpbGQ7CisgICAgfQorICAg
IHJldHVybiAwOworfQorCiB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBBY2Nlc3NpYmlsaXR5Um9s
ZSwgQ2FzZUZvbGRpbmdIYXNoPiBBUklBUm9sZU1hcDsKIAogc3RydWN0IFJvbGVFbnRyeSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CmluZGV4IGVhNzdhZTQuLmQ0NTQyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC01ODIsNiArNTgyLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVBcmlhRXhwYW5kZWRDaGFuZ2VkKCkgeyB9CiAgICAg
Ym9vbCBpc0Rlc2NlbmRhbnRPZk9iamVjdChjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0KikgY29u
c3Q7CiAgICAgYm9vbCBpc0FuY2VzdG9yT2ZPYmplY3QoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVj
dCopIGNvbnN0OworICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGZpcnN0QW5vbnltb3VzQmxvY2tD
aGlsZCgpIGNvbnN0OwogICAgIAogICAgIHN0YXRpYyBBY2Nlc3NpYmlsaXR5Um9sZSBhcmlhUm9s
ZVRvV2ViQ29yZVJvbGUoY29uc3QgU3RyaW5nJik7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBn
ZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRr
LmNwcAppbmRleCBlZjBiYjNmLi43NDhiNGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAt
NzgsNiArNzgsMjEgQEAgQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3NpYmlsaXR5
T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc08KICAgICBpZiAocm9sZSA9PSBV
bmtub3duUm9sZSkKICAgICAgICAgcmV0dXJuIElnbm9yZU9iamVjdDsKIAorICAgIC8vIEdpdmVu
IGEgcGFyYWdyYXBoIG9yIGRpdiBjb250YWluaW5nIGEgbm9uLW5lc3RlZCBhbm9ueW1vdXMgYmxv
Y2ssIFdlYkNvcmUKKyAgICAvLyBpZ25vcmVzIHRoZSBwYXJhZ3JhcGggb3IgZGl2IGFuZCBpbmNs
dWRlcyB0aGUgYmxvY2suIFdlIHdhbnQgdGhlIG9wcG9zaXRlOgorICAgIC8vIEFUcyBhcmUgZXhw
ZWN0aW5nIGFjY2Vzc2libGUgb2JqZWN0cyBhc3NvY2lhdGVkIHdpdGggdGV4dHVhbCBlbGVtZW50
cy4gVGhleQorICAgIC8vIHVzdWFsbHkgaGF2ZSBubyBuZWVkIGZvciB0aGUgYW5vbnltb3VzIGJs
b2NrLiBBbmQgd2hlbiB0aGUgd3Jvbmcgb2JqZWN0cworICAgIC8vIGdldCBpbmNsdWRlZCBvciBp
Z25vcmVkLCBuZWVkZWQgYWNjZXNzaWJpbGl0eSBzaWduYWxzIGRvIG5vdCBnZXQgZW1pdHRlZC4K
KyAgICBpZiAocm9sZSA9PSBQYXJhZ3JhcGhSb2xlIHx8IHJvbGUgPT0gRGl2Um9sZSkgeworICAg
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjaGlsZCA9IGZpcnN0QW5vbnltb3VzQmxvY2tDaGls
ZCgpOworICAgICAgICBpZiAoIWNoaWxkKQorICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRCZWhh
dmlvcjsKKworICAgICAgICBjaGlsZCA9IGNoaWxkLT5maXJzdENoaWxkKCk7CisgICAgICAgIGlm
IChjaGlsZC0+aXNMaW5rKCkgfHwgIWNoaWxkLT5maXJzdEFub255bW91c0Jsb2NrQ2hpbGQoKSkK
KyAgICAgICAgICAgIHJldHVybiBJbmNsdWRlT2JqZWN0OworICAgIH0KKwogICAgIC8vIEJsb2Nr
IHNwYW5zIHJlc3VsdCBpbiBvYmplY3RzIG9mIEFUS19ST0xFX1BBTkVMIHdoaWNoIGFyZSBhbG1v
c3QgYWx3YXlzIHVud2FudGVkLgogICAgIC8vIEhvd2V2ZXIsIGlmIHdlIGlnbm9yZSBibG9jayBz
cGFucyB3aG9zZSBwYXJlbnQgaXMgdGhlIGJvZHksIHRoZSBjaGlsZCBjb250cm9scwogICAgIC8v
IHdpbGwgYmVjb21lIGltbWVkaWF0ZSBjaGlsZHJlbiBvZiB0aGUgQVRLX1JPTEVfRE9DVU1FTlRf
RlJBTUUgYW5kIGFueSB0ZXh0IHdpbGwKLS0gCjEuNy4xMS40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161820</attachid>
            <date>2012-09-01 02:16:12 -0700</date>
            <delta_ts>2012-09-01 02:45:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72811-20120901051558.patch</filename>
            <type>text/plain</type>
            <size>22782</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDgzNTVlYWEzYzA5N2Vi
MDdmNzRmMzBlOTRkMjQ0N2E0MGYxNzVlNS4uMDU1YTkwMDBjZmI1MjgwOWE0ZmUyYzJiOWMxOTJk
MWRkZDU5NDI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDEyLTA5LTAxICBKb2Fu
bWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KIAorICAgICAgICBbR3RrXSBObyBhY2Nl
c3NpYmxlIGNhcmV0LW1vdmVkIGV2ZW50cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODExCisKKyAgICAg
ICAgUGFydCBvZiB0aGUgYnVnIHdhcyBkdWUgdG8gZXhwZWN0ZWQgYWNjZXNzaWJsZSBvYmplY3Rz
IG9mIERpdlJvbGUKKyAgICAgICAgYW5kIFBhcmFncmFwaFJvbGUgYmVpbmcgaWdub3JlZCwgaW4g
ZmF2b3Igb2YgaW5jbHVkaW5nIGNoaWxkIGJsb2Nrcy4KKworICAgICAgICBSZXZpZXdlZCBieSBD
aHJpcyBGbGVpemFjaC4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0
eS9zcGFucy1wYXJhZ3JhcGhzLWFuZC1kaXZzLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0OjpmaXJzdEFub255bW91c0Jsb2NrQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAg
IChBY2Nlc3NpYmlsaXR5T2JqZWN0KToKKyAgICAgICAgTmV3IG1ldGhvZCB0byByZXR1cm4gdGhl
IGZpcnN0IGNoaWxkIHdoaWNoIGlzIGFuIGFub255bW91cyBibG9jay4KKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2Jq
ZWN0KToKKyAgICAgICAgSW5jbHVkZSBwYXJhZ3JhcGhzIGFuZCBkaXZzIHdoaWNoIGNvbnRhaW4g
YSBub24tbmVzdGVkIGFub255bW91cyBibG9jay4KKworMjAxMi0wOS0wMSAgSm9hbm1hcmllIERp
Z2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0d0a10gTm8gYWNjZXNzaWJsZSBj
YXJldC1tb3ZlZCBldmVudHMgZm91bmQgaW4gY2VydGFpbiBjb250ZW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgxMQorCisgICAgICAgIFBhcnQg
b2YgdGhlIGJ1ZyB3YXMgZHVlIHRvIGV4dHJhbmVvdXMgYWNjZXNzaWJsZSBvYmplY3RzIHJlc3Vs
dGluZworICAgICAgICBmcm9tIHVuaWdub3JlZCBpbmxpbmUgYW5kIGJsb2NrIHNwYW5zLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIFRlc3Q6IHBsYXRm
b3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKTogSWdub3JlIG9i
amVjdHMgdGhhdCBoYXZlIHNwYW5UYWcgdGFnIG5hbWUuCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCk6IEln
bm9yZSBtb3N0IGFub255bW91cyBibG9ja3MuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsv
V2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwOgorICAgICAgICAocm9sZUlzVGV4dFR5cGUp
OiBBZGQgTGlzdEl0ZW0gdG8gdGhlIHJvbGVzIHdoaWNoIHNob3VsZCBpbXBsZW1lbnQgQXRrVGV4
dC4KKworMjAxMi0wOS0wMSAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisK
ICAgICAgICAgW0d0a10gSW5jb3JyZWN0L3VuZXhwZWN0ZWQgY2hhcmFjdGVycyBpbiB0aGUgdGV4
dCBvZiBjZXJ0YWluIGFjY2Vzc2libGVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NTE4MAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCA1ZjEyYzAzYWM3Mzg2OGFkMDVj
NmE4MWZjMmM4ZDkwNjQ2YzliOTU5Li42ZWEzYmYzOGRhNzVlYzNiYTcyMzU1ZGM4YjYyZWY2MzJh
MTI0YWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAKQEAgLTEzNTMsNiArMTM1MywxNSBAQCBib29sIEFjY2Vzc2liaWxp
dHlPYmplY3Q6OmlzQW5jZXN0b3JPZk9iamVjdChjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBh
eE9iamVjdAogICAgIHJldHVybiB0aGlzID09IGF4T2JqZWN0IHx8IGF4T2JqZWN0LT5pc0Rlc2Nl
bmRhbnRPZk9iamVjdCh0aGlzKTsKIH0KIAorQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJp
bGl0eU9iamVjdDo6Zmlyc3RBbm9ueW1vdXNCbG9ja0NoaWxkKCkgY29uc3QKK3sKKyAgICBmb3Ig
KEFjY2Vzc2liaWxpdHlPYmplY3QqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQg
PSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICBpZiAoY2hpbGQtPnJlbmRlcmVyKCkg
JiYgY2hpbGQtPnJlbmRlcmVyKCktPmlzQW5vbnltb3VzQmxvY2soKSkKKyAgICAgICAgICAgIHJl
dHVybiBjaGlsZDsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKIHR5cGVkZWYgSGFzaE1hcDxT
dHJpbmcsIEFjY2Vzc2liaWxpdHlSb2xlLCBDYXNlRm9sZGluZ0hhc2g+IEFSSUFSb2xlTWFwOwog
CiBzdHJ1Y3QgUm9sZUVudHJ5IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggYzAzYjYzZjllZTE4MzFjNmRmMGIxY2NhNTlj
NzA0MWRhNWU2NmVjYi4uMzNjZmJkMWMwMTllOTA4NWJiZDFhOTYwZTA5MWEwMzMyMjA2ZjQ0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmgKQEAgLTU4Niw2ICs1ODYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRs
ZUFyaWFFeHBhbmRlZENoYW5nZWQoKSB7IH0KICAgICBib29sIGlzRGVzY2VuZGFudE9mT2JqZWN0
KGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqKSBjb25zdDsKICAgICBib29sIGlzQW5jZXN0b3JP
Zk9iamVjdChjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0KikgY29uc3Q7CisgICAgQWNjZXNzaWJp
bGl0eU9iamVjdCogZmlyc3RBbm9ueW1vdXNCbG9ja0NoaWxkKCkgY29uc3Q7CiAgICAgCiAgICAg
c3RhdGljIEFjY2Vzc2liaWxpdHlSb2xlIGFyaWFSb2xlVG9XZWJDb3JlUm9sZShjb25zdCBTdHJp
bmcmKTsKICAgICBib29sIGhhc0F0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwYjE1MTJlYzU5N2UwYjA2MjBmYWQ1N2MzMjAxZjc3
NTQyNWYzZTBlLi5lZjRkY2ZlNGVjZmEzOThkNjYwMDJiZWQ1NjZhNDkyY2I3NjA2NDA1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTE5NTMsNiArMTk1MywxNSBAQCBib29sIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogICAgIC8vIGlm
IHRoaXMgZWxlbWVudCBoYXMgYXJpYSBhdHRyaWJ1dGVzIG9uIGl0LCBpdCBzaG91bGQgbm90IGJl
IGlnbm9yZWQuCiAgICAgaWYgKHN1cHBvcnRzQVJJQUF0dHJpYnV0ZXMoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgLy8gPHNwYW4+IHRhZ3MgYXJlIGlubGluZSB0YWdzIGFuZCBub3Qg
bWVhbnQgdG8gY29udmV5IGluZm9ybWF0aW9uIGlmIHRoZXkgaGF2ZSBubyBvdGhlciBhcmlhCisg
ICAgLy8gaW5mb3JtYXRpb24gb24gdGhlbS4gSWYgd2UgZG9uJ3QgaWdub3JlIHRoZW0sIHRoZXkg
bWF5IGVtaXQgc2lnbmFscyBleHBlY3RlZCB0byBjb21lIGZyb20KKyAgICAvLyB0aGVpciBwYXJl
bnQuIEluIGFkZGl0aW9uLCBiZWNhdXNlIGluY2x1ZGVkIHNwYW5zIGFyZSBHcm91cFJvbGUgb2Jq
ZWN0cywgYW5kIEdyb3VwUm9sZQorICAgIC8vIG9iamVjdHMgYXJlIG9mdGVuIGNvbnRhaW5lcnMg
d2l0aCBtZWFuaW5nZnVsIGluZm9ybWF0aW9uLCB0aGUgaW5jbHVzaW9uIG9mIGEgc3BhbiBjYW4g
aGF2ZQorICAgIC8vIHRoZSBzaWRlIGVmZmVjdCBvZiBjYXVzaW5nIHRoZSBpbW1lZGlhdGUgcGFy
ZW50IGFjY2Vzc2libGUgdG8gYmUgaWdub3JlZC4gVGhpcyBpcyBlc3BlY2lhbGx5CisgICAgLy8g
cHJvYmxlbWF0aWMgZm9yIHBsYXRmb3JtcyB3aGljaCBoYXZlIGRpc3RpbmN0IHJvbGVzIGZvciB0
ZXh0dWFsIGJsb2NrIGVsZW1lbnRzLgorICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUo
c3BhblRhZykpCisgICAgICAgIHJldHVybiB0cnVlOwogICAgIAogICAgIGlmIChtX3JlbmRlcmVy
LT5pc0Jsb2NrRmxvdygpICYmIG1fcmVuZGVyZXItPmNoaWxkcmVuSW5saW5lKCkgJiYgIWNhblNl
dEZvY3VzQXR0cmlidXRlKCkpCiAgICAgICAgIHJldHVybiAhdG9SZW5kZXJCbG9jayhtX3JlbmRl
cmVyKS0+Zmlyc3RMaW5lQm94KCkgJiYgIW1vdXNlQnV0dG9uTGlzdGVuZXIoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RB
dGsuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9i
amVjdEF0ay5jcHAKaW5kZXggMzlmNDg4ODNlNGI4MTQwMWMzYmUyOGViYjA1ZDEyY2VlMzUyZjY1
MC4uNzQ4YjRiZjkwMzA3ZjE0MzUyOWM3NjUwMjcwZmY4MDJkNzUxMDM1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9i
amVjdEF0ay5jcHAKQEAgLTc4LDYgKzc4LDM2IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNp
b24gQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPCiAg
ICAgaWYgKHJvbGUgPT0gVW5rbm93blJvbGUpCiAgICAgICAgIHJldHVybiBJZ25vcmVPYmplY3Q7
CiAKKyAgICAvLyBHaXZlbiBhIHBhcmFncmFwaCBvciBkaXYgY29udGFpbmluZyBhIG5vbi1uZXN0
ZWQgYW5vbnltb3VzIGJsb2NrLCBXZWJDb3JlCisgICAgLy8gaWdub3JlcyB0aGUgcGFyYWdyYXBo
IG9yIGRpdiBhbmQgaW5jbHVkZXMgdGhlIGJsb2NrLiBXZSB3YW50IHRoZSBvcHBvc2l0ZToKKyAg
ICAvLyBBVHMgYXJlIGV4cGVjdGluZyBhY2Nlc3NpYmxlIG9iamVjdHMgYXNzb2NpYXRlZCB3aXRo
IHRleHR1YWwgZWxlbWVudHMuIFRoZXkKKyAgICAvLyB1c3VhbGx5IGhhdmUgbm8gbmVlZCBmb3Ig
dGhlIGFub255bW91cyBibG9jay4gQW5kIHdoZW4gdGhlIHdyb25nIG9iamVjdHMKKyAgICAvLyBn
ZXQgaW5jbHVkZWQgb3IgaWdub3JlZCwgbmVlZGVkIGFjY2Vzc2liaWxpdHkgc2lnbmFscyBkbyBu
b3QgZ2V0IGVtaXR0ZWQuCisgICAgaWYgKHJvbGUgPT0gUGFyYWdyYXBoUm9sZSB8fCByb2xlID09
IERpdlJvbGUpIHsKKyAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY2hpbGQgPSBmaXJzdEFu
b255bW91c0Jsb2NrQ2hpbGQoKTsKKyAgICAgICAgaWYgKCFjaGlsZCkKKyAgICAgICAgICAgIHJl
dHVybiBEZWZhdWx0QmVoYXZpb3I7CisKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+Zmlyc3RDaGls
ZCgpOworICAgICAgICBpZiAoY2hpbGQtPmlzTGluaygpIHx8ICFjaGlsZC0+Zmlyc3RBbm9ueW1v
dXNCbG9ja0NoaWxkKCkpCisgICAgICAgICAgICByZXR1cm4gSW5jbHVkZU9iamVjdDsKKyAgICB9
CisKKyAgICAvLyBCbG9jayBzcGFucyByZXN1bHQgaW4gb2JqZWN0cyBvZiBBVEtfUk9MRV9QQU5F
TCB3aGljaCBhcmUgYWxtb3N0IGFsd2F5cyB1bndhbnRlZC4KKyAgICAvLyBIb3dldmVyLCBpZiB3
ZSBpZ25vcmUgYmxvY2sgc3BhbnMgd2hvc2UgcGFyZW50IGlzIHRoZSBib2R5LCB0aGUgY2hpbGQg
Y29udHJvbHMKKyAgICAvLyB3aWxsIGJlY29tZSBpbW1lZGlhdGUgY2hpbGRyZW4gb2YgdGhlIEFU
S19ST0xFX0RPQ1VNRU5UX0ZSQU1FIGFuZCBhbnkgdGV4dCB3aWxsCisgICAgLy8gYmVjb21lIHRl
eHQgd2l0aGluIHRoZSBkb2N1bWVudCBmcmFtZSBpdHNlbGYuIFRoaXMgdWx0aW1hdGVseSBtYXkg
YmUgd2hhdCB3ZSB3YW50CisgICAgLy8gYW5kIHdvdWxkIGxhcmdlbHkgYmUgY29uc2lzdGVudCB3
aXRoIHdoYXQgd2Ugc2VlIGZyb20gR2Vja28uIEhvd2V2ZXIsIGlnbm9yaW5nCisgICAgLy8gc3Bh
bnMgd2hvc2UgcGFyZW50IGlzIHRoZSBib2R5IGNoYW5nZXMgdGhlIGN1cnJlbnQgYmVoYXZpb3Ig
d2Ugc2VlIGZyb20gV2ViQ29yZS4KKyAgICAvLyBVbnRpbCB3ZSBoYXZlIHN1ZmZpY2llbnQgdGlt
ZSB0byBwcm9wZXJseSBhbmFseXplIHRoZXNlIGNhc2VzLCB3ZSB3aWxsIGRlZmVyIHRvCisgICAg
Ly8gV2ViQ29yZS4gV2Ugb25seSBjaGVjayB0aGF0IHRoZSBwYXJlbnQgaXMgbm90IGFyaWEgYmVj
YXVzZSB3ZSBkbyBub3QgZXhwZWN0CisgICAgLy8gYW5vbnltb3VzIGJsb2NrcyB3aGljaCBhcmUg
YXJpYS1yZWxhdGVkIHRvIHRoZW1zZWx2ZXMgaGF2ZSBhbiBhcmlhIHJvbGUsIG5vcgorICAgIC8v
IGhhdmUgd2UgZW5jb3VudGVyZWQgaW5zdGFuY2VzIHdoZXJlIHRoZSBwYXJlbnQgb2YgYW4gYW5v
bnltb3VzIGJsb2NrIGFsc28gbGFja2VkCisgICAgLy8gYW4gYXJpYSByb2xlIGJ1dCB0aGUgZ3Jh
bmRwYXJlbnQgaGFkIG9uZS4KKyAgICBpZiAocmVuZGVyZXIoKS0+aXNBbm9ueW1vdXNCbG9jaygp
ICYmICFwYXJlbnQtPnJlbmRlcmVyKCktPmlzQm9keSgpCisgICAgICAgICYmIHBhcmVudC0+YXJp
YVJvbGVBdHRyaWJ1dGUoKSA9PSBVbmtub3duUm9sZSkKKyAgICAgICAgcmV0dXJuIElnbm9yZU9i
amVjdDsKKwogICAgIHJldHVybiBEZWZhdWx0QmVoYXZpb3I7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVX
cmFwcGVyQXRrLmNwcAppbmRleCAxZjQ4MDAwZTE0N2I1ZmQzZmU5OWNjOTZmYzkzYzBhODQ5OTZh
OTkzLi4xZjdjMzIxNzNhNzMyZWY1Mjg1OTMzN2Q3M2I5MzRiMTc1MmY1NDJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBl
ckF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNj
ZXNzaWJsZVdyYXBwZXJBdGsuY3BwCkBAIC04MjAsNyArODIwLDcgQEAgc3RhdGljIEdUeXBlIEdl
dEF0a0ludGVyZmFjZVR5cGVGcm9tV0FJVHlwZShXQUlUeXBlIHR5cGUpCiAKIHN0YXRpYyBib29s
IHJvbGVJc1RleHRUeXBlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiB7Ci0gICAgcmV0dXJuIHJv
bGUgPT0gUGFyYWdyYXBoUm9sZSB8fCByb2xlID09IEhlYWRpbmdSb2xlIHx8IHJvbGUgPT0gRGl2
Um9sZSB8fCByb2xlID09IENlbGxSb2xlOworICAgIHJldHVybiByb2xlID09IFBhcmFncmFwaFJv
bGUgfHwgcm9sZSA9PSBIZWFkaW5nUm9sZSB8fCByb2xlID09IERpdlJvbGUgfHwgcm9sZSA9PSBD
ZWxsUm9sZSB8fCByb2xlID09IExpc3RJdGVtUm9sZTsKIH0KIAogc3RhdGljIGd1aW50MTYgZ2V0
SW50ZXJmYWNlTWFza0Zyb21PYmplY3QoQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxOGVmZDZhZjkzODQ4YmFkY2YwMTNkN2YwNjg1NTRkOWU5YTlmNzAzLi4wOTdmZDU1
YjRlODFmYzlhNDVlYzg4YzM0MjIwYTI0NDAyMjE0MzJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDEgQEAK
IDIwMTItMDktMDEgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgogCisgICAg
ICAgIFtHdGtdIE5vIGFjY2Vzc2libGUgY2FyZXQtbW92ZWQgZXZlbnRzIGZvdW5kIGluIGNlcnRh
aW4gY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzI4MTEKKworICAgICAgICBQYXJ0IG9mIHRoZSBidWcgd2FzIGR1ZSB0byBleHBlY3RlZCBh
Y2Nlc3NpYmxlIG9iamVjdHMgb2YgRGl2Um9sZQorICAgICAgICBhbmQgUGFyYWdyYXBoUm9sZSBi
ZWluZyBpZ25vcmVkLCBpbiBmYXZvciBvZiBpbmNsdWRpbmcgY2hpbGQgYmxvY2tzLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIEFkZGVkIG5ldyB0ZXN0
IHRvIHZlcmlmeSB0aGF0IHBhcmFncmFwaHMgYW5kIGRpdnMgd2hpY2ggY29udGFpbiBhbm9ueW1v
dXMKKyAgICAgICAgYmxvY2tzIGFyZSBpbmNsdWRlZCBpbiB0aGUgYWNjZXNzaWJsZSBvYmplY3Qg
aGllcmFyY2h5IGFuZCBoYXZlIHRoZSBjb3JyZWN0CisgICAgICAgIG51bWJlciBvZiBjaGlsZHJl
biB3aXRoIHRoZSBleHBlY3RlZCByb2xlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvc3BhbnMtcGFyYWdyYXBocy1hbmQtZGl2cy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5k
LWRpdnMuaHRtbDogQWRkZWQuCisKKzIwMTItMDktMDEgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdn
c0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHdGtdIE5vIGFjY2Vzc2libGUgY2FyZXQtbW92ZWQg
ZXZlbnRzIGZvdW5kIGluIGNlcnRhaW4gY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTEKKworICAgICAgICBQYXJ0IG9mIHRoZSBidWcg
d2FzIGR1ZSB0byBleHRyYW5lb3VzIGFjY2Vzc2libGUgb2JqZWN0cyByZXN1bHRpbmcKKyAgICAg
ICAgZnJvbSB1bmlnbm9yZWQgaW5saW5lIGFuZCBibG9jayBzcGFucy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAgICBBZGRlZCBuZXcgdGVzdCwgdXBkYXRl
ZCB0aGUgcmVzdWx0cyBvZiBvbmUgdGVzdCB0byByZWZsZWN0IHRoZSBmaXgsCisgICAgICAgIGNv
cnJlY3RlZCBhIHRlc3Qgd2l0aCBhIG1pc21hdGNoZWQgZWxlbWVudCB0YWcuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3Rl
ZC50eHQ6IENvcnJlY3RlZCByZXN1bHRzIGhhdmluZyBmaXhlZCB0YWcuCisgICAgICAgICogcGxh
dGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbDogRml4ZWQg
bWlzbWF0Y2hlZCBlbGVtZW50IHRhZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJp
bGl0eS9tZWRpYS1lbGVtZW50LWV4cGVjdGVkLnR4dDogVXBkYXRlZCB0byByZWZsZWN0IHJlbW92
YWwgb2YgZXh0cmFuZW91cyBvYmplY3QuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvc3BhbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
YWNjZXNzaWJpbGl0eS9zcGFucy5odG1sOiBBZGRlZC4KKworMjAxMi0wOS0wMSAgSm9hbm1hcmll
IERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisKICAgICAgICAgW0d0a10gSW5jb3JyZWN0L3Vu
ZXhwZWN0ZWQgY2hhcmFjdGVycyBpbiB0aGUgdGV4dCBvZiBjZXJ0YWluIGFjY2Vzc2libGVzCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTE4MAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9hcmlhLXJv
bGVzLXVuaWdub3JlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNj
ZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC1leHBlY3RlZC50eHQKaW5kZXggMzI1NTE2
NGVhYWZhZWRhZTViYjJlY2NiYmRjMTE0MGE2ZjVjMGYyYS4uZjA1MWMwODgzOWM5ZDJkMzZhZGEx
NjllZjYxM2U5NDhkYzVlZTlmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvYXJpYS1yb2xlcy11bmlnbm9yZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVk
LWV4cGVjdGVkLnR4dApAQCAtMTgsNyArMTgsNyBAQCBQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhS
b2xlOiBsYWJlbCcKIFBBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IGhlYWRpbmcnCiBQQVNT
IGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBmb3JtJwogUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FY
Um9sZTogcHVzaCBidXR0b24nCi1QQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBwYW5lbCcK
K1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHNlY3Rpb24nCiBQQVNTIGVsZW1lbnQucm9s
ZSBpcyAnQVhSb2xlOiBlbnRyeScKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1y
b2xlcy11bmlnbm9yZWQuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L2FyaWEtcm9sZXMtdW5pZ25vcmVkLmh0bWwKaW5kZXggOTZiMzVjOWY4OTdiMThjZGQyN2Fj
ZWEyZDRhY2ZlOGMyZmFmMmMzNi4uNmFmZjAzMjQ2NWJiZmUyM2YxMjhhNzQ0YTMxOGIyMTRiYmZk
ZDE4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
YXJpYS1yb2xlcy11bmlnbm9yZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
YWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLXVuaWdub3JlZC5odG1sCkBAIC0xNCw3ICsxNCw3IEBA
CiA8Zm9ybT5BIGZvcm0gd2l0aCBhIGJ1dHRvbiA8YnV0dG9uIG5hbWU9ImJ1dHRvbiIgdmFsdWU9
IkJ1dHRvbiI+Q2xpY2sgbWUhPC9idXR0b24+PC9mb3JtPgogPGZvcm0gcm9sZT0iYnV0dG9uIj5K
dXN0IGEgYnV0dG9uIDxidXR0b24gbmFtZT0iYnV0dG9uIiB2YWx1ZT0iQnV0dG9uIj5DbGljayBt
ZSE8L2J1dHRvbj48L2Zvcm0+CiAKLTxkaXY+SnVzdCBzb21lIHRleHQgaW5zaWRlIGEgZGl2PC9m
b3JtPgorPGRpdj5KdXN0IHNvbWUgdGV4dCBpbnNpZGUgYSBkaXY8L2Rpdj4KIDxkaXYgcm9sZT0i
dGV4dGJveCI+VGhpcyBkaXYgaXMgY29udGFpbnMgYSB0ZXh0Ym94IChhbiBlbnRyeSk8L2Rpdj4K
IAogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CkBAIC01MSw3ICs1MSw3IEBAIGlmICh3aW5kb3cu
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKIAogICAgIC8vIERpdnMKICAgICBlbGVtZW50ID0g
d2ViQXJlYS5jaGlsZEF0SW5kZXgoNSk7Ci0gICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICIn
QVhSb2xlOiBwYW5lbCciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6
IHNlY3Rpb24nIik7CiAgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDYpOwogICAg
IHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogZW50cnknIik7CiB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L21l
ZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IDgxZWNmMTcyNjcwNjM2MTllOGI0OTg0MWE5
NDI3OGJiMzE1YzFlNDYuLjBhYjAyNzdiZmY1OWI3MzJkNzkxZjA4YTEwZjNiNjBmMWI5NjE4ZGEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L21lZGlh
LWVsZW1lbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L21lZGlhLWVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0xMywxMCArMTMsNiBAQCBT
dGF0ZSBhdCAnY2FucGxheXRocm91Z2gnIGV2ZW50OgogCiAKICAgICAgICAgZGVzY3JpcHRpb246
IEFYRGVzY3JpcHRpb246IAotICAgICAgICByb2xlOiBBWFJvbGU6IHBhbmVsCi0KLQotICAgICAg
ICBkZXNjcmlwdGlvbjogQVhEZXNjcmlwdGlvbjogCiAgICAgICAgIHJvbGU6IEFYUm9sZTogc2xp
ZGVyCiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxp
dHkvc3BhbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvc3BhbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyOTQ0OTI5MTI4NGIxZjI3NDc1
ZjUyZWM3NjdlODViMTg2YzM0NDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNiBA
QAorZmlyc3QgYmxvY2sgc3BhbgoraW5saW5lIHNwYW4KK3NlY29uZCBibG9jayBzcGFuCitmaXJz
dCBibG9jayBzcGFuCitpbmxpbmUgc3Bhbgorc2Vjb25kIGJsb2NrIHNwYW4KKworZmlyc3QgYmxv
Y2sgc3BhbgoraW5saW5lIHNwYW4KK3NlY29uZCBibG9jayBzcGFuCitmaXJzdCBibG9jayBzcGFu
CitpbmxpbmUgc3Bhbgorc2Vjb25kIGJsb2NrIHNwYW4KK1RoaXMgdGVzdHMgdGhhdCBib3RoIGJs
b2NrIHNwYW5zIGFuZCBpbmxpbmUgc3BhbnMgZ2V0IGZvbGRlZCBpbnRvIHRoZSBwYXJlbnQgb2Jq
ZWN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGVsZW1lbnQucm9sZSBp
cyAnQVhSb2xlOiBoZWFkaW5nJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMAorUEFT
UyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogaGVhZGluZycKK1BBU1MgZWxlbWVudC5jaGlsZHJl
bkNvdW50IGlzIDEKK1BBU1MgbGluay5yb2xlIGlzICdBWFJvbGU6IGxpbmsnCitQQVNTIGxpbmsu
Y2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBsaXN0Jwor
UEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMgorUEFTUyBpdGVtLnJvbGUgaXMgJ0FYUm9s
ZTogbGlzdCBpdGVtJworUEFTUyBpdGVtLmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBpdGVtLnJv
bGUgaXMgJ0FYUm9sZTogbGlzdCBpdGVtJworUEFTUyBpdGVtLmNoaWxkcmVuQ291bnQgaXMgMQor
UEFTUyBsaW5rLnJvbGUgaXMgJ0FYUm9sZTogbGluaycKK1BBU1MgbGluay5jaGlsZHJlbkNvdW50
IGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFu
cy1wYXJhZ3JhcGhzLWFuZC1kaXZzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9hY2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY1OTk4MDYxNjdiMzM4MTQzNzYyYTllZDg1MmFmZGNlNjBlMTEwYjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9z
cGFucy1wYXJhZ3JhcGhzLWFuZC1kaXZzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUyIEBACitC
bG9jayBzcGFuIGluIGEgbGluayBpbiBhIHBhcmFncmFwaAorSW5saW5lIHNwYW4gaW4gYSBsaW5r
IGluIGEgcGFyYWdyYXBoCisKK0Jsb2NrIHNwYW4gaW4gYSBwYXJhZ3JhcGgKK0lubGluZSBzcGFu
IGluIGEgcGFyYWdyYXBoCisKK0lubGluZSBzcGFuIGluIGEgbGluayBpbiBhIHBhcmFncmFwaAor
QmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBwYXJhZ3JhcGgKKworSW5saW5lIHNwYW4gaW4gYSBw
YXJhZ3JhcGgKK0Jsb2NrIHNwYW4gaW4gYSBwYXJhZ3JhcGgKK0Jsb2NrIHNwYW4gaW4gYSBsaW5r
IGluIGEgZGl2CitJbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSBkaXYKK0Jsb2NrIHNwYW4gaW4g
YSBkaXYKK0lubGluZSBzcGFuIGluIGEgZGl2CitJbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSBk
aXYKK0Jsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgZGl2CitJbmxpbmUgc3BhbiBpbiBhIGRpdgor
QmxvY2sgc3BhbiBpbiBhIGRpdgorVGhpcyB0ZXN0cyB0aGF0IHBhcmFncmFwaHMgYW5kIGRpdnMg
d2l0aCBhbm9ueW1vdXMgYmxvY2sgY2hpbGRyZW4gYXJlIG5vdCBpZ25vcmVkIGFuZCBoYXZlIHRo
ZSBleHBlY3RlZCBjaGlsZHJlbgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogcGFyYWdyYXBoJworUEFTUyBlbGVtZW50LmNoaWxk
cmVuQ291bnQgaXMgMQorUEFTUyBsaW5rLnJvbGUgaXMgJ0FYUm9sZTogbGluaycKK1BBU1MgbGlu
ay5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHBhcmFn
cmFwaCcKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xl
IGlzICdBWFJvbGU6IHBhcmFncmFwaCcKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDEK
K1BBU1MgbGluay5yb2xlIGlzICdBWFJvbGU6IGxpbmsnCitQQVNTIGxpbmsuY2hpbGRyZW5Db3Vu
dCBpcyAwCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBwYXJhZ3JhcGgnCitQQVNTIGVs
ZW1lbnQuY2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBz
ZWN0aW9uJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMQorUEFTUyBsaW5rLnJvbGUg
aXMgJ0FYUm9sZTogbGluaycKK1BBU1MgbGluay5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgZWxl
bWVudC5yb2xlIGlzICdBWFJvbGU6IHNlY3Rpb24nCitQQVNTIGVsZW1lbnQuY2hpbGRyZW5Db3Vu
dCBpcyAwCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBzZWN0aW9uJworUEFTUyBlbGVt
ZW50LmNoaWxkcmVuQ291bnQgaXMgMQorUEFTUyBsaW5rLnJvbGUgaXMgJ0FYUm9sZTogbGluaycK
K1BBU1MgbGluay5jaGlsZHJlbkNvdW50IGlzIDAKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJv
bGU6IHNlY3Rpb24nCitQQVNTIGVsZW1lbnQuY2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtcGFyYWdyYXBocy1hbmQt
ZGl2cy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMt
cGFyYWdyYXBocy1hbmQtZGl2cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMjMzMzlkZjBiMjE3MDYwZjZj
YmQ4NDYwOWM3YmVmMjAyYmU2ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1wYXJhZ3JhcGhzLWFuZC1kaXZzLmh0bWwKQEAg
LTAsMCArMSwxMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHki
PgorICA8cD4KKyAgICA8YSBocmVmPSdmb28nPgorICAgICAgIDxzcGFuIHN0eWxlPSdkaXNwbGF5
OmJsb2NrOyc+QmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBwYXJhZ3JhcGg8L3NwYW4+CisgICAg
ICAgPHNwYW4+SW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgcGFyYWdyYXBoPC9zcGFuPgorICAg
IDwvYT4KKyAgPC9wPgorICA8cD4KKyAgICA8c3BhbiBzdHlsZT0nZGlzcGxheTpibG9jazsnPkJs
b2NrIHNwYW4gaW4gYSBwYXJhZ3JhcGg8L3NwYW4+CisgICAgPHNwYW4+SW5saW5lIHNwYW4gaW4g
YSBwYXJhZ3JhcGg8L3NwYW4+CisgIDwvcD4KKyAgPHA+CisgICAgPGEgaHJlZj0nZm9vJz4KKyAg
ICAgICA8c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSBwYXJhZ3JhcGg8L3NwYW4+Cisg
ICAgICAgPHNwYW4gc3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgbGluayBp
biBhIHBhcmFncmFwaDwvc3Bhbj4KKyAgICA8L2E+CisgIDwvcD4KKyAgPHA+CisgICAgPHNwYW4+
SW5saW5lIHNwYW4gaW4gYSBwYXJhZ3JhcGg8L3NwYW4+CisgICAgPHNwYW4gc3R5bGU9J2Rpc3Bs
YXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgcGFyYWdyYXBoPC9zcGFuPgorICA8L3A+CisgIDxk
aXY+CisgICAgPGEgaHJlZj0nZm9vJz4KKyAgICAgICA8c3BhbiBzdHlsZT0nZGlzcGxheTpibG9j
azsnPkJsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgZGl2PC9zcGFuPgorICAgICAgIDxzcGFuPklu
bGluZSBzcGFuIGluIGEgbGluayBpbiBhIGRpdjwvc3Bhbj4KKyAgICA8L2E+CisgIDwvZGl2Pgor
ICA8ZGl2PgorICAgIDxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sgc3BhbiBpbiBh
IGRpdjwvc3Bhbj4KKyAgICA8c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIGRpdjwvc3Bhbj4KKyAgPC9k
aXY+CisgIDxkaXY+CisgICAgPGEgaHJlZj0nZm9vJz4KKyAgICAgICA8c3Bhbj5JbmxpbmUgc3Bh
biBpbiBhIGxpbmsgaW4gYSBkaXY8L3NwYW4+CisgICAgICAgPHNwYW4gc3R5bGU9J2Rpc3BsYXk6
YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgbGluayBpbiBhIGRpdjwvc3Bhbj4KKyAgICA8L2E+Cisg
IDwvZGl2PgorICA8ZGl2PgorICAgIDxzcGFuPklubGluZSBzcGFuIGluIGEgZGl2PC9zcGFuPgor
ICAgIDxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sgc3BhbiBpbiBhIGRpdjwvc3Bh
bj4KKyAgPC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBwYXJhZ3Jh
cGhzIGFuZCBkaXZzIHdpdGggYW5vbnltb3VzIGJsb2NrIGNoaWxkcmVuIGFyZSBub3QgaWdub3Jl
ZCBhbmQgaGF2ZSB0aGUgZXhwZWN0ZWQgY2hpbGRyZW4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRD
b250cm9sbGVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cit9CisKK2lmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYm9keSIpLmZvY3VzKCk7CisgICAgdmFyIHdlYkFyZWEgPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5mb2N1c2VkRWxlbWVudDsKKworICAgIHZhciBlbGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0
SW5kZXgoMCk7CisgICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBwYXJhZ3Jh
cGgnIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIxIik7CisKKyAg
ICB2YXIgbGluayA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJsaW5r
LnJvbGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAgICBzaG91bGRCZSgibGluay5jaGlsZHJlbkNv
dW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgxKTsKKyAg
ICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IHBhcmFncmFwaCciKTsKKyAgICBz
aG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3
ZWJBcmVhLmNoaWxkQXRJbmRleCgyKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidB
WFJvbGU6IHBhcmFncmFwaCciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50
IiwgIjEiKTsKKworICAgIGxpbmsgPSBlbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKKyAgICBzaG91
bGRCZSgibGluay5yb2xlIiwgIidBWFJvbGU6IGxpbmsnIik7CisgICAgc2hvdWxkQmUoImxpbmsu
Y2hpbGRyZW5Db3VudCIsICIwIik7CisKKyAgICBlbGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5k
ZXgoMyk7CisgICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBwYXJhZ3JhcGgn
Iik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIwIik7CisKKyAgICBl
bGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoNCk7CisgICAgc2hvdWxkQmUoImVsZW1lbnQu
cm9sZSIsICInQVhSb2xlOiBzZWN0aW9uJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LmNoaWxk
cmVuQ291bnQiLCAiMSIpOworCisgICAgbGluayA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDApOwor
ICAgIHNob3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAgICBzaG91bGRC
ZSgibGluay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3ZWJBcmVhLmNo
aWxkQXRJbmRleCg1KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IHNl
Y3Rpb24nIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIwIik7CisK
KyAgICBlbGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoNik7CisgICAgc2hvdWxkQmUoImVs
ZW1lbnQucm9sZSIsICInQVhSb2xlOiBzZWN0aW9uJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50
LmNoaWxkcmVuQ291bnQiLCAiMSIpOworCisgICAgbGluayA9IGVsZW1lbnQuY2hpbGRBdEluZGV4
KDApOworICAgIHNob3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAgICBz
aG91bGRCZSgibGluay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3ZWJB
cmVhLmNoaWxkQXRJbmRleCg3KTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJv
bGU6IHNlY3Rpb24nIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIw
Iik7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy5odG1sIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yZTcyYTBiMzMwNWZhNjIyMGMyMmMwYWJiNmIwOTgwNjgyMzNjMzA3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMuaHRt
bApAQCAtMCwwICsxLDc4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJi
b2R5Ij4KKzxoND4KKyAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5maXJzdCBibG9jayBz
cGFuPC9zcGFuPgorICA8c3Bhbj5pbmxpbmUgc3Bhbjwvc3Bhbj4KKyAgPHNwYW4gc3R5bGU9ImRp
c3BsYXk6YmxvY2s7Ij5zZWNvbmQgYmxvY2sgc3Bhbjwvc3Bhbj4KKzwvaDQ+Cis8aDQ+CisgIDxh
IGhyZWY9ImZvbyI+CisgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsiPmZpcnN0IGJs
b2NrIHNwYW48L3NwYW4+CisgICAgICA8c3Bhbj5pbmxpbmUgc3Bhbjwvc3Bhbj4KKyAgICAgIDxz
cGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+c2Vjb25kIGJsb2NrIHNwYW48L3NwYW4+CisgIDwv
YT4KKzwvaDQ+Cis8b2w+CisgIDxsaT4KKyAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jazsi
PmZpcnN0IGJsb2NrIHNwYW48L3NwYW4+CisgICAgPHNwYW4+aW5saW5lIHNwYW48L3NwYW4+Cisg
ICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5zZWNvbmQgYmxvY2sgc3Bhbjwvc3Bhbj4K
KyAgPC9saT4KKyAgPGxpPgorICAgIDxhIGhyZWY9ImZvbyI+CisgICAgICA8c3BhbiBzdHlsZT0i
ZGlzcGxheTpibG9jazsiPmZpcnN0IGJsb2NrIHNwYW48L3NwYW4+CisgICAgICA8c3Bhbj5pbmxp
bmUgc3Bhbjwvc3Bhbj4KKyAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyI+c2Vjb25k
IGJsb2NrIHNwYW48L3NwYW4+CisgICAgPC9hPgorICA8L2xpPgorPC9vbD4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdHMgdGhhdCBib3RoIGJsb2NrIHNwYW5zIGFuZCBpbmxpbmUgc3BhbnMg
Z2V0IGZvbGRlZCBpbnRvIHRoZSBwYXJlbnQgb2JqZWN0Iik7CisKK2lmICh3aW5kb3cubGF5b3V0
Q29udHJvbGxlcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQorCitpZiAod2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImJvZHkiKS5mb2N1cygpOworICAgIHZhciB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICB2YXIgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRB
dEluZGV4KDApOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogaGVhZGlu
ZyciKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAg
IGVsZW1lbnQgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgxKTsKKyAgICBzaG91bGRCZSgiZWxlbWVu
dC5yb2xlIiwgIidBWFJvbGU6IGhlYWRpbmcnIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hp
bGRyZW5Db3VudCIsICIxIik7CisKKyAgICB2YXIgbGluayA9IGVsZW1lbnQuY2hpbGRBdEluZGV4
KDApOworICAgIHNob3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTogbGluayciKTsKKyAgICBz
aG91bGRCZSgibGluay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgIGVsZW1lbnQgPSB3ZWJB
cmVhLmNoaWxkQXRJbmRleCgyKTsKKyAgICBzaG91bGRCZSgiZWxlbWVudC5yb2xlIiwgIidBWFJv
bGU6IGxpc3QnIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIyIik7
CisKKyAgICB2YXIgaXRlbSA9IGVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJl
KCJpdGVtLnJvbGUiLCAiJ0FYUm9sZTogbGlzdCBpdGVtJyIpOworICAgIHNob3VsZEJlKCJpdGVt
LmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgaXRlbSA9IGVsZW1lbnQuY2hpbGRBdEluZGV4
KDEpOworICAgIHNob3VsZEJlKCJpdGVtLnJvbGUiLCAiJ0FYUm9sZTogbGlzdCBpdGVtJyIpOwor
ICAgIHNob3VsZEJlKCJpdGVtLmNoaWxkcmVuQ291bnQiLCAiMSIpOworCisgICAgbGluayA9IGl0
ZW0uY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJsaW5rLnJvbGUiLCAiJ0FYUm9sZTog
bGluayciKTsKKyAgICBzaG91bGRCZSgibGluay5jaGlsZHJlbkNvdW50IiwgIjAiKTsKK30KKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161821</attachid>
            <date>2012-09-01 02:45:25 -0700</date>
            <delta_ts>2012-09-01 03:51:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72811-20120901054511.patch</filename>
            <type>text/plain</type>
            <size>11753</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTJjZTY3ZjMwMjA5YmZk
ZjIzZjJjNTI1NTY1YmRjOTcyZjE2ZDI3ZC4uMDU1YTkwMDBjZmI1MjgwOWE0ZmUyYzJiOWMxOTJk
MWRkZDU5NDI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMyw2ICszLDI4IEBACiAgICAgICAgIFtHdGtdIE5v
IGFjY2Vzc2libGUgY2FyZXQtbW92ZWQgZXZlbnRzIGZvdW5kIGluIGNlcnRhaW4gY29udGVudAog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTEKIAor
ICAgICAgICBQYXJ0IG9mIHRoZSBidWcgd2FzIGR1ZSB0byBleHBlY3RlZCBhY2Nlc3NpYmxlIG9i
amVjdHMgb2YgRGl2Um9sZQorICAgICAgICBhbmQgUGFyYWdyYXBoUm9sZSBiZWluZyBpZ25vcmVk
LCBpbiBmYXZvciBvZiBpbmNsdWRpbmcgY2hpbGQgYmxvY2tzLgorCisgICAgICAgIFJldmlld2Vk
IGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMuaHRtbAorCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3Q6OmZpcnN0QW5vbnltb3VzQmxvY2tDaGlsZCk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAg
ICAgICAgKEFjY2Vzc2liaWxpdHlPYmplY3QpOgorICAgICAgICBOZXcgbWV0aG9kIHRvIHJldHVy
biB0aGUgZmlyc3QgY2hpbGQgd2hpY2ggaXMgYW4gYW5vbnltb3VzIGJsb2NrLgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVk
ZXNPYmplY3QpOgorICAgICAgICBJbmNsdWRlIHBhcmFncmFwaHMgYW5kIGRpdnMgd2hpY2ggY29u
dGFpbiBhIG5vbi1uZXN0ZWQgYW5vbnltb3VzIGJsb2NrLgorCisyMDEyLTA5LTAxICBKb2FubWFy
aWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBbR3RrXSBObyBhY2Nlc3Np
YmxlIGNhcmV0LW1vdmVkIGV2ZW50cyBmb3VuZCBpbiBjZXJ0YWluIGNvbnRlbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyODExCisKICAgICAgICAg
UGFydCBvZiB0aGUgYnVnIHdhcyBkdWUgdG8gZXh0cmFuZW91cyBhY2Nlc3NpYmxlIG9iamVjdHMg
cmVzdWx0aW5nCiAgICAgICAgIGZyb20gdW5pZ25vcmVkIGlubGluZSBhbmQgYmxvY2sgc3BhbnMu
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuY3BwCmluZGV4IDVmMTJjMDNhYzczODY4YWQwNWM2YTgxZmMyYzhkOTA2NDZjOWI5NTku
LjZlYTNiZjM4ZGE3NWVjM2JhNzIzNTVkYzhiNjJlZjYzMmExMjRhZDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAt
MTM1Myw2ICsxMzUzLDE1IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNBbmNlc3Rvck9m
T2JqZWN0KGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0CiAgICAgcmV0dXJuIHRo
aXMgPT0gYXhPYmplY3QgfHwgYXhPYmplY3QtPmlzRGVzY2VuZGFudE9mT2JqZWN0KHRoaXMpOwog
fQogCitBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpmaXJzdEFub255
bW91c0Jsb2NrQ2hpbGQoKSBjb25zdAoreworICAgIGZvciAoQWNjZXNzaWJpbGl0eU9iamVjdCog
Y2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygp
KSB7CisgICAgICAgIGlmIChjaGlsZC0+cmVuZGVyZXIoKSAmJiBjaGlsZC0+cmVuZGVyZXIoKS0+
aXNBbm9ueW1vdXNCbG9jaygpKQorICAgICAgICAgICAgcmV0dXJuIGNoaWxkOworICAgIH0KKyAg
ICByZXR1cm4gMDsKK30KKwogdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgQWNjZXNzaWJpbGl0eVJv
bGUsIENhc2VGb2xkaW5nSGFzaD4gQVJJQVJvbGVNYXA7CiAKIHN0cnVjdCBSb2xlRW50cnkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
aAppbmRleCBjMDNiNjNmOWVlMTgzMWM2ZGYwYjFjY2E1OWM3MDQxZGE1ZTY2ZWNiLi4zM2NmYmQx
YzAxOWU5MDg1YmJkMWE5NjBlMDkxYTAzMzIyMDZmNDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtNTg2LDYgKzU4Niw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXJpYUV4cGFuZGVkQ2hhbmdlZCgp
IHsgfQogICAgIGJvb2wgaXNEZXNjZW5kYW50T2ZPYmplY3QoY29uc3QgQWNjZXNzaWJpbGl0eU9i
amVjdCopIGNvbnN0OwogICAgIGJvb2wgaXNBbmNlc3Rvck9mT2JqZWN0KGNvbnN0IEFjY2Vzc2li
aWxpdHlPYmplY3QqKSBjb25zdDsKKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBmaXJzdEFub255
bW91c0Jsb2NrQ2hpbGQoKSBjb25zdDsKICAgICAKICAgICBzdGF0aWMgQWNjZXNzaWJpbGl0eVJv
bGUgYXJpYVJvbGVUb1dlYkNvcmVSb2xlKGNvbnN0IFN0cmluZyYpOwogICAgIGJvb2wgaGFzQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAK
aW5kZXggZWYwYmIzZjhlOTNiMzU0ZTljMjI0Mzg5ODkyYTBiOGFhMWQ2NDUyNi4uNzQ4YjRiZjkw
MzA3ZjE0MzUyOWM3NjUwMjcwZmY4MDJkNzUxMDM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAK
QEAgLTc4LDYgKzc4LDIxIEBAIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gQWNjZXNzaWJp
bGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPCiAgICAgaWYgKHJvbGUg
PT0gVW5rbm93blJvbGUpCiAgICAgICAgIHJldHVybiBJZ25vcmVPYmplY3Q7CiAKKyAgICAvLyBH
aXZlbiBhIHBhcmFncmFwaCBvciBkaXYgY29udGFpbmluZyBhIG5vbi1uZXN0ZWQgYW5vbnltb3Vz
IGJsb2NrLCBXZWJDb3JlCisgICAgLy8gaWdub3JlcyB0aGUgcGFyYWdyYXBoIG9yIGRpdiBhbmQg
aW5jbHVkZXMgdGhlIGJsb2NrLiBXZSB3YW50IHRoZSBvcHBvc2l0ZToKKyAgICAvLyBBVHMgYXJl
IGV4cGVjdGluZyBhY2Nlc3NpYmxlIG9iamVjdHMgYXNzb2NpYXRlZCB3aXRoIHRleHR1YWwgZWxl
bWVudHMuIFRoZXkKKyAgICAvLyB1c3VhbGx5IGhhdmUgbm8gbmVlZCBmb3IgdGhlIGFub255bW91
cyBibG9jay4gQW5kIHdoZW4gdGhlIHdyb25nIG9iamVjdHMKKyAgICAvLyBnZXQgaW5jbHVkZWQg
b3IgaWdub3JlZCwgbmVlZGVkIGFjY2Vzc2liaWxpdHkgc2lnbmFscyBkbyBub3QgZ2V0IGVtaXR0
ZWQuCisgICAgaWYgKHJvbGUgPT0gUGFyYWdyYXBoUm9sZSB8fCByb2xlID09IERpdlJvbGUpIHsK
KyAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY2hpbGQgPSBmaXJzdEFub255bW91c0Jsb2Nr
Q2hpbGQoKTsKKyAgICAgICAgaWYgKCFjaGlsZCkKKyAgICAgICAgICAgIHJldHVybiBEZWZhdWx0
QmVoYXZpb3I7CisKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+Zmlyc3RDaGlsZCgpOworICAgICAg
ICBpZiAoY2hpbGQtPmlzTGluaygpIHx8ICFjaGlsZC0+Zmlyc3RBbm9ueW1vdXNCbG9ja0NoaWxk
KCkpCisgICAgICAgICAgICByZXR1cm4gSW5jbHVkZU9iamVjdDsKKyAgICB9CisKICAgICAvLyBC
bG9jayBzcGFucyByZXN1bHQgaW4gb2JqZWN0cyBvZiBBVEtfUk9MRV9QQU5FTCB3aGljaCBhcmUg
YWxtb3N0IGFsd2F5cyB1bndhbnRlZC4KICAgICAvLyBIb3dldmVyLCBpZiB3ZSBpZ25vcmUgYmxv
Y2sgc3BhbnMgd2hvc2UgcGFyZW50IGlzIHRoZSBib2R5LCB0aGUgY2hpbGQgY29udHJvbHMKICAg
ICAvLyB3aWxsIGJlY29tZSBpbW1lZGlhdGUgY2hpbGRyZW4gb2YgdGhlIEFUS19ST0xFX0RPQ1VN
RU5UX0ZSQU1FIGFuZCBhbnkgdGV4dCB3aWxsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzdiMGZiMjU2NTViM2MyNDVlNmM4
Y2JlNjc3ZDc5NDY1MGE1NzEyOC4uMDk3ZmQ1NWI0ZTgxZmM5YTQ1ZWM4OGMzNDIyMGEyNDQwMjIx
NDMyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMyw2ICszLDIzIEBACiAgICAgICAgIFtHdGtdIE5vIGFjY2Vzc2libGUg
Y2FyZXQtbW92ZWQgZXZlbnRzIGZvdW5kIGluIGNlcnRhaW4gY29udGVudAogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTEKIAorICAgICAgICBQYXJ0
IG9mIHRoZSBidWcgd2FzIGR1ZSB0byBleHBlY3RlZCBhY2Nlc3NpYmxlIG9iamVjdHMgb2YgRGl2
Um9sZQorICAgICAgICBhbmQgUGFyYWdyYXBoUm9sZSBiZWluZyBpZ25vcmVkLCBpbiBmYXZvciBv
ZiBpbmNsdWRpbmcgY2hpbGQgYmxvY2tzLgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZs
ZWl6YWNoLgorCisgICAgICAgIEFkZGVkIG5ldyB0ZXN0IHRvIHZlcmlmeSB0aGF0IHBhcmFncmFw
aHMgYW5kIGRpdnMgd2hpY2ggY29udGFpbiBhbm9ueW1vdXMKKyAgICAgICAgYmxvY2tzIGFyZSBp
bmNsdWRlZCBpbiB0aGUgYWNjZXNzaWJsZSBvYmplY3QgaGllcmFyY2h5IGFuZCBoYXZlIHRoZSBj
b3JyZWN0CisgICAgICAgIG51bWJlciBvZiBjaGlsZHJlbiB3aXRoIHRoZSBleHBlY3RlZCByb2xl
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtcGFyYWdyYXBo
cy1hbmQtZGl2cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMuaHRtbDogQWRkZWQuCisKKzIw
MTItMDktMDEgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAg
IFtHdGtdIE5vIGFjY2Vzc2libGUgY2FyZXQtbW92ZWQgZXZlbnRzIGZvdW5kIGluIGNlcnRhaW4g
Y29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzI4MTEKKwogICAgICAgICBQYXJ0IG9mIHRoZSBidWcgd2FzIGR1ZSB0byBleHRyYW5lb3VzIGFj
Y2Vzc2libGUgb2JqZWN0cyByZXN1bHRpbmcKICAgICAgICAgZnJvbSB1bmlnbm9yZWQgaW5saW5l
IGFuZCBibG9jayBzcGFucy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvc3BhbnMtcGFyYWdyYXBocy1hbmQtZGl2cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9zcGFucy1wYXJhZ3JhcGhzLWFu
ZC1kaXZzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTk5ODA2MTY3YjMzODE0Mzc2MmE5ZWQ4
NTJhZmRjZTYwZTExMGI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtcGFyYWdyYXBocy1hbmQtZGl2cy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1MiBAQAorQmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBwYXJhZ3JhcGgKK0lu
bGluZSBzcGFuIGluIGEgbGluayBpbiBhIHBhcmFncmFwaAorCitCbG9jayBzcGFuIGluIGEgcGFy
YWdyYXBoCitJbmxpbmUgc3BhbiBpbiBhIHBhcmFncmFwaAorCitJbmxpbmUgc3BhbiBpbiBhIGxp
bmsgaW4gYSBwYXJhZ3JhcGgKK0Jsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgcGFyYWdyYXBoCisK
K0lubGluZSBzcGFuIGluIGEgcGFyYWdyYXBoCitCbG9jayBzcGFuIGluIGEgcGFyYWdyYXBoCitC
bG9jayBzcGFuIGluIGEgbGluayBpbiBhIGRpdgorSW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEg
ZGl2CitCbG9jayBzcGFuIGluIGEgZGl2CitJbmxpbmUgc3BhbiBpbiBhIGRpdgorSW5saW5lIHNw
YW4gaW4gYSBsaW5rIGluIGEgZGl2CitCbG9jayBzcGFuIGluIGEgbGluayBpbiBhIGRpdgorSW5s
aW5lIHNwYW4gaW4gYSBkaXYKK0Jsb2NrIHNwYW4gaW4gYSBkaXYKK1RoaXMgdGVzdHMgdGhhdCBw
YXJhZ3JhcGhzIGFuZCBkaXZzIHdpdGggYW5vbnltb3VzIGJsb2NrIGNoaWxkcmVuIGFyZSBub3Qg
aWdub3JlZCBhbmQgaGF2ZSB0aGUgZXhwZWN0ZWQgY2hpbGRyZW4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgZWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IHBhcmFncmFwaCcK
K1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDEKK1BBU1MgbGluay5yb2xlIGlzICdBWFJv
bGU6IGxpbmsnCitQQVNTIGxpbmsuY2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIGVsZW1lbnQucm9s
ZSBpcyAnQVhSb2xlOiBwYXJhZ3JhcGgnCitQQVNTIGVsZW1lbnQuY2hpbGRyZW5Db3VudCBpcyAw
CitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBwYXJhZ3JhcGgnCitQQVNTIGVsZW1lbnQu
Y2hpbGRyZW5Db3VudCBpcyAxCitQQVNTIGxpbmsucm9sZSBpcyAnQVhSb2xlOiBsaW5rJworUEFT
UyBsaW5rLmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTog
cGFyYWdyYXBoJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50
LnJvbGUgaXMgJ0FYUm9sZTogc2VjdGlvbicKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlz
IDEKK1BBU1MgbGluay5yb2xlIGlzICdBWFJvbGU6IGxpbmsnCitQQVNTIGxpbmsuY2hpbGRyZW5D
b3VudCBpcyAwCitQQVNTIGVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBzZWN0aW9uJworUEFTUyBl
bGVtZW50LmNoaWxkcmVuQ291bnQgaXMgMAorUEFTUyBlbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTog
c2VjdGlvbicKK1BBU1MgZWxlbWVudC5jaGlsZHJlbkNvdW50IGlzIDEKK1BBU1MgbGluay5yb2xl
IGlzICdBWFJvbGU6IGxpbmsnCitQQVNTIGxpbmsuY2hpbGRyZW5Db3VudCBpcyAwCitQQVNTIGVs
ZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBzZWN0aW9uJworUEFTUyBlbGVtZW50LmNoaWxkcmVuQ291
bnQgaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3Nw
YW5zLXBhcmFncmFwaHMtYW5kLWRpdnMuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L3NwYW5zLXBhcmFncmFwaHMtYW5kLWRpdnMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
YjIzMzM5ZGYwYjIxNzA2MGY2Y2JkODQ2MDljN2JlZjIwMmJlNmQzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvc3BhbnMtcGFyYWdyYXBo
cy1hbmQtZGl2cy5odG1sCkBAIC0wLDAgKzEsMTEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IGlkPSJib2R5Ij4KKyAgPHA+CisgICAgPGEgaHJlZj0nZm9vJz4KKyAgICAgICA8
c3BhbiBzdHlsZT0nZGlzcGxheTpibG9jazsnPkJsb2NrIHNwYW4gaW4gYSBsaW5rIGluIGEgcGFy
YWdyYXBoPC9zcGFuPgorICAgICAgIDxzcGFuPklubGluZSBzcGFuIGluIGEgbGluayBpbiBhIHBh
cmFncmFwaDwvc3Bhbj4KKyAgICA8L2E+CisgIDwvcD4KKyAgPHA+CisgICAgPHNwYW4gc3R5bGU9
J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgcGFyYWdyYXBoPC9zcGFuPgorICAgIDxz
cGFuPklubGluZSBzcGFuIGluIGEgcGFyYWdyYXBoPC9zcGFuPgorICA8L3A+CisgIDxwPgorICAg
IDxhIGhyZWY9J2Zvbyc+CisgICAgICAgPHNwYW4+SW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEg
cGFyYWdyYXBoPC9zcGFuPgorICAgICAgIDxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+Qmxv
Y2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBwYXJhZ3JhcGg8L3NwYW4+CisgICAgPC9hPgorICA8L3A+
CisgIDxwPgorICAgIDxzcGFuPklubGluZSBzcGFuIGluIGEgcGFyYWdyYXBoPC9zcGFuPgorICAg
IDxzcGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sgc3BhbiBpbiBhIHBhcmFncmFwaDwv
c3Bhbj4KKyAgPC9wPgorICA8ZGl2PgorICAgIDxhIGhyZWY9J2Zvbyc+CisgICAgICAgPHNwYW4g
c3R5bGU9J2Rpc3BsYXk6YmxvY2s7Jz5CbG9jayBzcGFuIGluIGEgbGluayBpbiBhIGRpdjwvc3Bh
bj4KKyAgICAgICA8c3Bhbj5JbmxpbmUgc3BhbiBpbiBhIGxpbmsgaW4gYSBkaXY8L3NwYW4+Cisg
ICAgPC9hPgorICA8L2Rpdj4KKyAgPGRpdj4KKyAgICA8c3BhbiBzdHlsZT0nZGlzcGxheTpibG9j
azsnPkJsb2NrIHNwYW4gaW4gYSBkaXY8L3NwYW4+CisgICAgPHNwYW4+SW5saW5lIHNwYW4gaW4g
YSBkaXY8L3NwYW4+CisgIDwvZGl2PgorICA8ZGl2PgorICAgIDxhIGhyZWY9J2Zvbyc+CisgICAg
ICAgPHNwYW4+SW5saW5lIHNwYW4gaW4gYSBsaW5rIGluIGEgZGl2PC9zcGFuPgorICAgICAgIDxz
cGFuIHN0eWxlPSdkaXNwbGF5OmJsb2NrOyc+QmxvY2sgc3BhbiBpbiBhIGxpbmsgaW4gYSBkaXY8
L3NwYW4+CisgICAgPC9hPgorICA8L2Rpdj4KKyAgPGRpdj4KKyAgICA8c3Bhbj5JbmxpbmUgc3Bh
biBpbiBhIGRpdjwvc3Bhbj4KKyAgICA8c3BhbiBzdHlsZT0nZGlzcGxheTpibG9jazsnPkJsb2Nr
IHNwYW4gaW4gYSBkaXY8L3NwYW4+CisgIDwvZGl2PgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlz
IHRlc3RzIHRoYXQgcGFyYWdyYXBocyBhbmQgZGl2cyB3aXRoIGFub255bW91cyBibG9jayBjaGls
ZHJlbiBhcmUgbm90IGlnbm9yZWQgYW5kIGhhdmUgdGhlIGV4cGVjdGVkIGNoaWxkcmVuIik7CisK
K2lmICh3aW5kb3cubGF5b3V0Q29udHJvbGxlcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworfQorCitpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHkiKS5mb2N1cygpOworICAgIHZhciB3ZWJBcmVhID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICB2YXIgZWxlbWVu
dCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUi
LCAiJ0FYUm9sZTogcGFyYWdyYXBoJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LmNoaWxkcmVu
Q291bnQiLCAiMSIpOworCisgICAgdmFyIGxpbmsgPSBlbGVtZW50LmNoaWxkQXRJbmRleCgwKTsK
KyAgICBzaG91bGRCZSgibGluay5yb2xlIiwgIidBWFJvbGU6IGxpbmsnIik7CisgICAgc2hvdWxk
QmUoImxpbmsuY2hpbGRyZW5Db3VudCIsICIwIik7CisKKyAgICBlbGVtZW50ID0gd2ViQXJlYS5j
aGlsZEF0SW5kZXgoMSk7CisgICAgc2hvdWxkQmUoImVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBw
YXJhZ3JhcGgnIik7CisgICAgc2hvdWxkQmUoImVsZW1lbnQuY2hpbGRyZW5Db3VudCIsICIwIik7
CisKKyAgICBlbGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMik7CisgICAgc2hvdWxkQmUo
ImVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBwYXJhZ3JhcGgnIik7CisgICAgc2hvdWxkQmUoImVs
ZW1lbnQuY2hpbGRyZW5Db3VudCIsICIxIik7CisKKyAgICBsaW5rID0gZWxlbWVudC5jaGlsZEF0
SW5kZXgoMCk7CisgICAgc2hvdWxkQmUoImxpbmsucm9sZSIsICInQVhSb2xlOiBsaW5rJyIpOwor
ICAgIHNob3VsZEJlKCJsaW5rLmNoaWxkcmVuQ291bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9
IHdlYkFyZWEuY2hpbGRBdEluZGV4KDMpOworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAi
J0FYUm9sZTogcGFyYWdyYXBoJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LmNoaWxkcmVuQ291
bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDQpOworICAg
IHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogc2VjdGlvbiciKTsKKyAgICBzaG91
bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjEiKTsKKworICAgIGxpbmsgPSBlbGVtZW50
LmNoaWxkQXRJbmRleCgwKTsKKyAgICBzaG91bGRCZSgibGluay5yb2xlIiwgIidBWFJvbGU6IGxp
bmsnIik7CisgICAgc2hvdWxkQmUoImxpbmsuY2hpbGRyZW5Db3VudCIsICIwIik7CisKKyAgICBl
bGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoNSk7CisgICAgc2hvdWxkQmUoImVsZW1lbnQu
cm9sZSIsICInQVhSb2xlOiBzZWN0aW9uJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50LmNoaWxk
cmVuQ291bnQiLCAiMCIpOworCisgICAgZWxlbWVudCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDYp
OworICAgIHNob3VsZEJlKCJlbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogc2VjdGlvbiciKTsKKyAg
ICBzaG91bGRCZSgiZWxlbWVudC5jaGlsZHJlbkNvdW50IiwgIjEiKTsKKworICAgIGxpbmsgPSBl
bGVtZW50LmNoaWxkQXRJbmRleCgwKTsKKyAgICBzaG91bGRCZSgibGluay5yb2xlIiwgIidBWFJv
bGU6IGxpbmsnIik7CisgICAgc2hvdWxkQmUoImxpbmsuY2hpbGRyZW5Db3VudCIsICIwIik7CisK
KyAgICBlbGVtZW50ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoNyk7CisgICAgc2hvdWxkQmUoImVs
ZW1lbnQucm9sZSIsICInQVhSb2xlOiBzZWN0aW9uJyIpOworICAgIHNob3VsZEJlKCJlbGVtZW50
LmNoaWxkcmVuQ291bnQiLCAiMCIpOworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>