<?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>84137</bug_id>
          
          <creation_ts>2012-04-17 02:59:34 -0700</creation_ts>
          <short_desc>[GTK] Properly expose &lt;legend&gt; elements to ATs</short_desc>
          <delta_ts>2012-09-10 18:41:10 -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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>95185</dependson>
          <blocked>25531</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>jdiggs</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>603907</commentid>
    <comment_count>0</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-04-17 02:59:34 -0700</bug_when>
    <thetext>We should properly expose at least the role and text for elements like this:

       &lt;legend&gt;Choose a shipping method:&lt;/legend&gt;

This should allow unskipping accessibility/legend.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705163</commentid>
    <comment_count>1</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-27 04:52:56 -0700</bug_when>
    <thetext>We could certainly do this. I&apos;m debating between what role to use.

http://www.w3.org/TR/html-markup/legend.html made me think ATK_ROLE_CAPTION

But when I visually look at the test case, it looks an awful lot like a GtkFrame, in which case perhaps it would make sense for it to be exposed as ATK_ROLE_FRAME.

Piñeiro, opinions?

BTW, looking at the expected results for the Mac, it&apos;s exposed as role static text (i.e. I was hoping we could just follow their lead, but in the ATK world, I don&apos;t think ATK_ROLE_TEXT is what this thing should be).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705180</commentid>
    <comment_count>2</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-27 05:22:53 -0700</bug_when>
    <thetext>So... Piñeiro and I chatted about this in IRC. We also looked at what we get from Gtk+ and Gecko. In summary:

* One could make a good case for ATK_ROLE_CAPTION.
* One could make a similarly good case for ATK_ROLE_LABEL.
* Looking at a similar-looking frame from Gtk+ demo in Accerciser:
  - The text corresponding to the legend has ATK_ROLE_LABEL.
  - The container itself has ATK_ROLE_PANEL.
  - Both are children of the ATK_ROLE_FRAME.
* Looking at the Layout test example in Firefox with Accerciser:
  - The legend has ATK_ROLE_LABEL.
  - The container itself has ATK_ROLE_PANEL.

So in the spirit of consistency, the container should be ATK_ROLE_PANEL (which it already is). The legend should have ATK_ROLE_LABEL and a corresponding AtkRelation set between it and the panel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707182</commentid>
    <comment_count>3</comment_count>
      <attachid>161155</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-29 00:40:39 -0700</bug_when>
    <thetext>Created attachment 161155
proposed patch

* Created a new WebCore Accessibility Role, LegendRole.
* Used it to map to the expected platform role, ATK_ROLE_LABEL.
* Established the needed AtkRelation pair, label-for/labelled-by
  between the legend and fieldset.
* Modified legend.html to use buildAccessibilityTree() [1]
* Unskipped legend.html for Gtk.
* Added expected results for Gtk.
* Updated expected results for Mac because the output from
  buildAccessibilityTree() changes the appearance.

Please review.

[1] It&apos;s in three tests already so why not four? ;) Note that I did open bug 95286 because this handy function should be somewhere other than individual tests. Chris gave me some advice as to how. (Thanks!) So I&apos;ll give that a shot. In the meantime, if we can overlook the duplication I&apos;d appreciate it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707184</commentid>
    <comment_count>4</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-29 00:41:47 -0700</bug_when>
    <thetext>Please review. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707187</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-29 00:44:03 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707193</commentid>
    <comment_count>6</comment_count>
      <attachid>161155</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-29 00:52:20 -0700</bug_when>
    <thetext>Comment on attachment 161155
proposed patch

I think we probably want to move this legend test to the mac platform only, because what it is testing is that the titleUIElement is properly set, not that the tree hierarch matches something. 
so let&apos;s move legend.html to mac only and rename to legend-title-element.html and use this new one in all platforms as something like legend-hierarchy.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707206</commentid>
    <comment_count>7</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-29 01:05:52 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 161155 [details])
&gt; I think we probably want to move this legend test to the mac platform only, because what it is testing is that the titleUIElement is properly set, not that the tree hierarch matches something. 
&gt; so let&apos;s move legend.html to mac only and rename to legend-title-element.html and use this new one in all platforms as something like legend-hierarchy.html

I&apos;d be happy to do that. But what about instead putting the titleUIElement back in the test itself? I have that implemented in DRT for Gtk now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707207</commentid>
    <comment_count>8</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-29 01:06:47 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 161155 [details] [details])
&gt; &gt; I think we probably want to move this legend test to the mac platform only, because what it is testing is that the titleUIElement is properly set, not that the tree hierarch matches something. 
&gt; &gt; so let&apos;s move legend.html to mac only and rename to legend-title-element.html and use this new one in all platforms as something like legend-hierarchy.html
&gt; 
&gt; I&apos;d be happy to do that. But what about instead putting the titleUIElement back in the test itself? I have that implemented in DRT for Gtk now.

that will work as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707275</commentid>
    <comment_count>9</comment_count>
      <attachid>161173</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-29 03:43:20 -0700</bug_when>
    <thetext>Created attachment 161173
proposed patch

(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; (From update of attachment 161155 [details] [details] [details])
&gt; &gt; &gt; I think we probably want to move this legend test to the mac platform only, because what it is testing is that the titleUIElement is properly set, not that the tree hierarchy matches something. 

Now the test prints the hierarchy and identifies the titleUIElement within the hierarchy.

So mac results look like:

  AXRole: AXWebArea AXValue: 
      AXRole: AXGroup AXValue: 
          AXRole: AXGroup AXValue:      &lt;&lt; fieldset&apos;s titleUIElement
              AXRole: AXStaticText AXValue: Choose a shipping method:
          AXRole: AXGroup AXValue: 
              AXRole: AXRadioButton AXValue: 0
              AXRole: AXStaticText AXValue: Overnight
      AXRole: AXGroup AXValue: 
          AXRole: AXStaticText AXValue: End of test

And gtk results look like:

  AXRole: document frame 
      AXRole: panel 
          AXRole: label AXValue: Choose a shipping method:     &lt;&lt; fieldset&apos;s titleUIElement
          AXRole: panel 
              AXRole: radio button AXValue: 
      AXRole: section AXValue: End of test

Two completely different hierarchies, same titleUIElement, one single cross-platform layout test. :) Whatdya think?

If you don&apos;t like it, I&apos;ll go with your original suggestion namely:

&gt; &gt; &gt; so let&apos;s move legend.html to mac only and rename to legend-title-element.html and use this new one in all platforms as something like legend-hierarchy.html

Thanks again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707401</commentid>
    <comment_count>10</comment_count>
      <attachid>161212</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-29 06:31:14 -0700</bug_when>
    <thetext>Created attachment 161212
proposed patch

The previous patch is no longer master compatible due to the new CanvasRole. This one should be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707828</commentid>
    <comment_count>11</comment_count>
      <attachid>161212</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-29 13:51:15 -0700</bug_when>
    <thetext>Comment on attachment 161212
proposed patch

Funny story:

* This patch obsoletes the previous patch.
* The previous patch became obsolete because
  it would not apply cleanly given this
  morning&apos;s committed fix for bug 95248.
  (http://trac.webkit.org/changeset/126972)
* I happily created a new post-bug 95248
  version tossed at at EWS, everything is
  green BUT cr-linux because the fix for bug
  95248 was rolled out in bug 95349 hours later.
  (http://trac.webkit.org/changeset/127006)

Yes I know these things happen. No big deal. :)

But I would appreciate a review of this or the previous patch even though it does not currently pass EWS for the reasons described above. Unless Dominic makes some extreme change to fix bug 95349, one of these patches is bound to apply cleanly. ;)

Sorry and thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709253</commentid>
    <comment_count>12</comment_count>
      <attachid>161212</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-30 19:24:12 -0700</bug_when>
    <thetext>Comment on attachment 161212
proposed patch

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

&gt; LayoutTests/accessibility/legend.html:52
&gt; +        buildAccessibilityTree(body, 0, fieldset.titleUIElement(), &quot;&lt;&lt; fieldset&apos;s titleUIElement&quot;);

While this method works, I find it a little hard to understand. I think in addition to what you have here, doing an equality for the titleUIElement would be good.

something like

shouldBeTrue(titleUIElement.isEqual(fieldset.titleUIElement()))

after you build the accessibility tree code.

&gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:205
&gt; +    

extra line insertion can be removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709268</commentid>
    <comment_count>13</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-30 19:55:21 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 161212 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=161212&amp;action=review
&gt; 
&gt; &gt; LayoutTests/accessibility/legend.html:52
&gt; &gt; +        buildAccessibilityTree(body, 0, fieldset.titleUIElement(), &quot;&lt;&lt; fieldset&apos;s titleUIElement&quot;);
&gt; 
&gt; While this method works, I find it a little hard to understand.

Method as in &quot;code method/function&quot;? Or method as in &quot;method of indicating the desired object&quot;? (Yeah, I know. Both. Because it&apos;s how I feel.)

Having said that, in this particular case I&apos;m actually more concerned about &quot;method of indicating the desired object&quot;. Because my plan is to tackle bug 95286 before too long, so the unclear method of code in this particular test will go away in favor of replacement code in the to-be-created accessibility-utlity.js). But I&apos;d like to sort out what that new code should do.

So about indicating the desired object... You have ideas and/or preferences?
* Marking it on its left with an asterisk (or your character(s) of choice)
* Enclosing that whole line in square brackets (or the characters of choice)
* Something else

&gt; I think in addition to what you have here, doing an equality for the titleUIElement would be good.
&gt; 
&gt; something like
&gt; 
&gt; shouldBeTrue(titleUIElement.isEqual(fieldset.titleUIElement()))

Nice!
 
&gt; after you build the accessibility tree code.
&gt; 
&gt; &gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:205
&gt; &gt; +    
&gt; 
&gt; extra line insertion can be removed

Will do. Thanks for the review and suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709270</commentid>
    <comment_count>14</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-08-30 20:02:28 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (From update of attachment 161212 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=161212&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/accessibility/legend.html:52
&gt; &gt; &gt; +        buildAccessibilityTree(body, 0, fieldset.titleUIElement(), &quot;&lt;&lt; fieldset&apos;s titleUIElement&quot;);
&gt; &gt; 
&gt; &gt; While this method works, I find it a little hard to understand.
&gt; 
&gt; Method as in &quot;code method/function&quot;? Or method as in &quot;method of indicating the desired object&quot;? (Yeah, I know. Both. Because it&apos;s how I feel.)
&gt; 
&gt; Having said that, in this particular case I&apos;m actually more concerned about &quot;method of indicating the desired object&quot;. Because my plan is to tackle bug 95286 before too long, so the unclear method of code in this particular test will go away in favor of replacement code in the to-be-created accessibility-utlity.js). But I&apos;d like to sort out what that new code should do.
&gt; 
&gt; So about indicating the desired object... You have ideas and/or preferences?
&gt; * Marking it on its left with an asterisk (or your character(s) of choice)
&gt; * Enclosing that whole line in square brackets (or the characters of choice)
&gt; * Something else
&gt; 

I think the mechanism is fine, I just wanted to say that for a test that checks what the titleUIElement was, this method of encoding it within a buildAXTree method is not the clearest way to indicate that. 

&gt; &gt; I think in addition to what you have here, doing an equality for the titleUIElement would be good.
&gt; &gt; 
&gt; &gt; something like
&gt; &gt; 
&gt; &gt; shouldBeTrue(titleUIElement.isEqual(fieldset.titleUIElement()))
&gt; 
&gt; Nice!
&gt; 
&gt; &gt; after you build the accessibility tree code.
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:205
&gt; &gt; &gt; +    
&gt; &gt; 
&gt; &gt; extra line insertion can be removed
&gt; 
&gt; Will do. Thanks for the review and suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709341</commentid>
    <comment_count>15</comment_count>
      <attachid>161626</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-08-31 00:12:46 -0700</bug_when>
    <thetext>Created attachment 161626
proposed fix (addressed feedback from review)

(In reply to comment #12)
&gt; (From update of attachment 161212 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=161212&amp;action=review
&gt; 
&gt; &gt; LayoutTests/accessibility/legend.html:52
&gt; &gt; +        buildAccessibilityTree(body, 0, fieldset.titleUIElement(), &quot;&lt;&lt; fieldset&apos;s titleUIElement&quot;);
&gt; 
&gt; While this method works, I find it a little hard to understand. I think in addition to what you have here, doing an equality for the titleUIElement would be good.
&gt; 
&gt; something like
&gt; 
&gt; shouldBeTrue(titleUIElement.isEqual(fieldset.titleUIElement()))
&gt; 
&gt; after you build the accessibility tree code.

Wound up doing three things in response:

1. Null check:

   shouldBeTrue(&quot;titleUIElement != null&quot;);

2. Platform independent (in theory) search for the text:

   var titleUIElementText = titleUIElement;
   while (titleUIElementText &amp;&amp; titleUIElementText.childrenCount)
       titleUIElementText = titleUIElementText.childAtIndex(0); 
   shouldBe(&quot;titleUIElementText.stringValue&quot;, &quot;&apos;AXValue: Choose a shipping method:&apos;&quot;);

   (&quot;In theory&quot; == looking at the html and how we do things, the ancestry will vary
    from platform to platform, but I can&apos;t think of a good reason why a platform would
    give the StaticText object a child. Moreover, I confirmed it works for the Gtk port
    as well as the Mac port.)

3. Added comments as to why the test was doing the things it is doing.

In addition, I updated the Gtk test results to reflect what will be the case after the fix for bug 95180 is committed since you gave that one an R+ and I&apos;ve since Cq?ed it.
 
&gt; &gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:205
&gt; &gt; +    
&gt; 
&gt; extra line insertion can be removed

Argh. I hate when I do that. Thanks for catching it. Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715403</commentid>
    <comment_count>16</comment_count>
      <attachid>161626</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-09-08 21:09:46 -0700</bug_when>
    <thetext>Comment on attachment 161626
proposed fix (addressed feedback from review)

thanks for the updates. looks good</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715404</commentid>
    <comment_count>17</comment_count>
      <attachid>161626</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-08 21:12:36 -0700</bug_when>
    <thetext>Comment on attachment 161626
proposed fix (addressed feedback from review)

Rejecting attachment 161626 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:
rc/AssertMatchingEnums.cpp
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp
Hunk #1 FAILED at 208.
1 out of 1 hunk FAILED -- saving rejects to file Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp.rej

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/13788758</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716706</commentid>
    <comment_count>18</comment_count>
      <attachid>163254</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-09-10 17:08:46 -0700</bug_when>
    <thetext>Created attachment 163254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716731</commentid>
    <comment_count>19</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-09-10 17:48:13 -0700</bug_when>
    <thetext>Sorry to be spammy, but a just-in-case note for gardeners: This patch includes updated tests and may need rebaselining.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716762</commentid>
    <comment_count>20</comment_count>
      <attachid>163254</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-10 18:41:05 -0700</bug_when>
    <thetext>Comment on attachment 163254
Patch

Clearing flags on attachment: 163254

Committed r128140: &lt;http://trac.webkit.org/changeset/128140&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716764</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-10 18:41:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161155</attachid>
            <date>2012-08-29 00:40:39 -0700</date>
            <delta_ts>2012-08-29 03:43:20 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>84137.patch</filename>
            <type>text/plain</type>
            <size>17419</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAxZjkwYzRiYmZiODc1OGRlYWQzYmVjZTMwYzQ0YTNhZjY5NjUyYzExIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBXZWQsIDI5IEF1ZyAyMDEyIDAyOjQwOjQ1IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gRml4
IGZvciBidWcgODQxMzcKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAxNiArKysrKysrKwogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9s
ZWdlbmQuaHRtbCAgICAgICAgICAgICAgfCA0NSArKysrKysrKysrKysrKystLS0tLS0tCiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyAgICAgICAgICB8ICAzIC0tCiAu
Li4vcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dCB8IDE4ICsr
KysrKysrKwogLi4uL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC1leHBlY3RlZC50
eHQgfCAxNiArKysrKystLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAyMyArKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggfCAgMSArCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAgICB8ICAyICsKIC4uLi9ndGsvV2ViS2l0QWNjZXNzaWJs
ZVdyYXBwZXJBdGsuY3BwICAgICAgICAgICAgIHwgMjggKysrKysrKysrKysrKysKIC4uLi9tYWMv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0gICAgICAgICAgIHwgIDMgKy0KIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgIHwgMTUgKysrKysr
KysKIC4uLi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmggIHwg
IDEgKwogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAg
fCAgMSArCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8IDE0ICsrKysrKysKIC4uLi9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJv
bWl1bS5jcHAgIHwgIDIgKwogMTUgZmlsZXMgY2hhbmdlZCwgMTY4IGluc2VydGlvbnMoKyksIDIw
IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC1leHBlY3RlZC50eHQKCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjEzZjU1My4uOTFi
MWM0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTI4ICBKb2FubWFyaWUgRGlnZ3Mg
IDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBQcm9wZXJseSBleHBvc2UgPGxl
Z2VuZD4gZWxlbWVudHMgdG8gQVRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NDEzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENyZWF0ZWQgYSBuZXcgV2ViQ29yZSBBY2Nlc3NpYmlsaXR5IFJvbGUsIExl
Z2VuZFJvbGUuIFVzZWQgaXQgdG8gbWFwIHRvCisgICAgICAgIHRoZSBleHBlY3RlZCBwbGF0Zm9y
bSByb2xlLCBBVEtfUk9MRV9MQUJFTC4gQWxzbyBlc3RhYmxpc2hlZCB0aGUgbmVlZGVkCisgICAg
ICAgIEF0a1JlbGF0aW9uIHBhaXIsIGxhYmVsLWZvci9sYWJlbGxlZC1ieSBiZXR3ZWVuIHRoZSBs
ZWdlbmQgYW5kIGZpZWxkc2V0LgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9sZWdlbmQuaHRt
bDogTW9kaWZpZWQgdGhlIHRlc3QgdG8gYmUgbW9yZSBwbGF0Zm9ybS1hZ25vc3RpYy4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogUmVtb3ZlZCBsZWdlbmQuaHRtbCBm
cm9tIHRoZSBza2lwcGVkIGxpc3QuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxp
dHkvbGVnZW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Fj
Y2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKwogMjAxMi0wOC0yOCAg
VG9tIFNlcGV6ICA8dHNlcGV6QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDU1AgZG9lc24ndCB0
dXJuIG9mZiBldmFsLCBldGMuIGluIFdlYiBXb3JrZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9s
ZWdlbmQuaHRtbAppbmRleCBiM2M3MDA5Li40NWJmOWRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvbGVnZW5kLmh0bWwKQEAgLTEsNiArMSwyOSBAQAogPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+IAorCisgICAg
ZnVuY3Rpb24gYnVpbGRBY2Nlc3NpYmlsaXR5VHJlZShhY2Nlc3NpYmlsaXR5T2JqZWN0LCBpbmRl
bnQpIHsKKyAgICAgICAgdmFyIHN0ciA9ICIiOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGluZGVudDsgaSsrKQorICAgICAgICAgICAgc3RyICs9ICIgICAgIjsKKyAgICAgICAgc3RyICs9
IGFjY2Vzc2liaWxpdHlPYmplY3Qucm9sZTsKKyAgICAgICAgc3RyICs9ICIgIiArIGFjY2Vzc2li
aWxpdHlPYmplY3Quc3RyaW5nVmFsdWU7CisgICAgICAgIHN0ciArPSAiXG4iOworICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHJlZSIpLmlubmVyVGV4dCArPSBzdHI7CisKKyAgICAg
ICAgaWYgKGFjY2Vzc2liaWxpdHlPYmplY3Quc3RyaW5nVmFsdWUuaW5kZXhPZignRW5kIG9mIHRl
c3QnKSA+PSAwKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHZhciBjb3Vu
dCA9IGFjY2Vzc2liaWxpdHlPYmplY3QuY2hpbGRyZW5Db3VudDsKKyAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CisgICAgICAgICAgICBpZiAoIWJ1aWxkQWNjZXNzaWJp
bGl0eVRyZWUoYWNjZXNzaWJpbGl0eU9iamVjdC5jaGlsZEF0SW5kZXgoaSksIGluZGVudCArIDEp
KQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IGlkPSJib2R5
Ij4KQEAgLTEwLDI4ICszMywyNCBAQAogICAgIDxpbnB1dCBpZD0ib3Zlcm5pZ2h0IiB0eXBlPSJy
YWRpbyIgbmFtZT0ic2hpcHBpbmciIHZhbHVlPSJvdmVybmlnaHQiIC8+T3Zlcm5pZ2h0CiA8L2Zp
ZWxkc2V0PgogCis8ZGl2PkVuZCBvZiB0ZXN0PC9kaXY+CisKIDxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPHByZSBpZD0idHJlZSI+PC9wcmU+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIAog
PHNjcmlwdD4KIAogICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYSBmaWVsZHNldCdz
IHRpdGxlIHVpIGVsZW1lbnQgaXMgdGhlIGxlZ2VuZCdzIHN0YXRpYyB0ZXh0LiIpOwotICAgIGlm
ICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKIAotICAgICAgICBpZiAod2luZG93
LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAgICAgIHZhciBib2R5ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHkiKTsKLSAgICAgICAgICAgIGJvZHkuZm9jdXMoKTsK
LQotICAgICAgICAgICAgdmFyIGZpZWxkc2V0ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9j
dXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApOwotICAgICAgICAgICAgdmFyIHRpdGxlVUlFbGVt
ZW50ID0gZmllbGRzZXQudGl0bGVVSUVsZW1lbnQoKTsKLSAgICAgICAgICAgIHNob3VsZEJlKCJ0
aXRsZVVJRWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYR3JvdXAnIik7Ci0gICAgICAgICAgICBz
aG91bGRCZSgidGl0bGVVSUVsZW1lbnQuY2hpbGRBdEluZGV4KDApLnJvbGUiLCAiJ0FYUm9sZTog
QVhTdGF0aWNUZXh0JyIpOwotICAgICAgICAgICAgc2hvdWxkQmUoInRpdGxlVUlFbGVtZW50LmNo
aWxkQXRJbmRleCgwKS5zdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogQ2hvb3NlIGEgc2hpcHBpbmcg
bWV0aG9kOiciKTsKLSAgICAgICAgfQorICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIpIHsKKyAgICAgICAgLy8gQnVpbGQgdGhlIGFjY2Vzc2liaWxpdHkgdHJlZSB1cCB1bnRp
bCAnRW5kIG9mIHRlc3QnIGlzIGVuY291bnRlcmVkLgorICAgICAgICBkb2N1bWVudC5ib2R5LmZv
Y3VzKCk7CisgICAgICAgIGJ1aWxkQWNjZXNzaWJpbGl0eVRyZWUoYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQsIDApOwogICAgIH0KKwogPC9zY3JpcHQ+CiAKLTxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGJmNDg3MmMuLmI3MzdhNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMDg2LDkgKzEwODYsNiBAQCBCVUdXSzg0MDQ0IFNL
SVAgOiBhY2Nlc3NpYmlsaXR5L2ltYWdlLWxpbmsuaHRtbCA9IFRFWFQKIEJVR1dLODQwNDUgU0tJ
UCA6IGFjY2Vzc2liaWxpdHkvaW1hZ2UtbWFwMS5odG1sID0gVEVYVAogQlVHV0s4NDA0NSBTS0lQ
IDogYWNjZXNzaWJpbGl0eS9pbWFnZS1tYXAyLmh0bWwgPSBURVhUCiAKLS8vIFByb3Blcmx5IGV4
cG9zZSA8bGVnZW5kPiBlbGVtZW50cyB0byBBVHMKLUJVR1dLODQxMzcgU0tJUCA6IGFjY2Vzc2li
aWxpdHkvbGVnZW5kLmh0bWwgPSBURVhUCi0KIC8vIFtEUlRdIGRpZERldGVjdFhTUyBpcyBub3Qg
aW1wbGVtZW50ZWQKIEJVR1dLNzE0NjUgOiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Iv
c2NyaXB0LXRhZy13aXRoLWNhbGxiYWNrcy5odG1sID0gVEVYVAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmI1YWY1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitDaG9vc2UgYSBzaGlwcGluZyBtZXRob2Q6CitP
dmVybmlnaHQKK0VuZCBvZiB0ZXN0CitUaGlzIHRlc3RzIHRoYXQgYSBmaWVsZHNldCdzIHRpdGxl
IHVpIGVsZW1lbnQgaXMgdGhlIGxlZ2VuZCdzIHN0YXRpYyB0ZXh0LgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworQVhSb2xlOiBkb2N1bWVudCBmcmFtZSAKKyAgICBBWFJvbGU6IHBh
bmVsIAorICAgICAgICBBWFJvbGU6IGxhYmVsIEFYVmFsdWU6IENob29zZSBhIHNoaXBwaW5nIG1l
dGhvZDoKKyAgICAgICAgQVhSb2xlOiBwYW5lbCAKKyAgICAgICAgICAgIEFYUm9sZTogcmFkaW8g
YnV0dG9uIEFYVmFsdWU6IAorICAgIEFYUm9sZTogc2VjdGlvbiBBWFZhbHVlOiBFbmQgb2YgdGVz
dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9sZWdl
bmQtZXhwZWN0ZWQudHh0CmluZGV4IDkxZjlkNDIuLjIzMzJlNmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVk
LnR4dApAQCAtMSwxMSArMSwyMSBAQAogQ2hvb3NlIGEgc2hpcHBpbmcgbWV0aG9kOgogT3Zlcm5p
Z2h0CitFbmQgb2YgdGVzdAogVGhpcyB0ZXN0cyB0aGF0IGEgZmllbGRzZXQncyB0aXRsZSB1aSBl
bGVtZW50IGlzIHRoZSBsZWdlbmQncyBzdGF0aWMgdGV4dC4KIAogT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgogCiAKLVBBU1MgdGl0bGVVSUVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWEdyb3Vw
JwotUEFTUyB0aXRsZVVJRWxlbWVudC5jaGlsZEF0SW5kZXgoMCkucm9sZSBpcyAnQVhSb2xlOiBB
WFN0YXRpY1RleHQnCi1QQVNTIHRpdGxlVUlFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5zdHJpbmdW
YWx1ZSBpcyAnQVhWYWx1ZTogQ2hvb3NlIGEgc2hpcHBpbmcgbWV0aG9kOicKK0FYUm9sZTogQVhX
ZWJBcmVhIEFYVmFsdWU6IAorICAgIEFYUm9sZTogQVhHcm91cCBBWFZhbHVlOiAKKyAgICAgICAg
QVhSb2xlOiBBWEdyb3VwIEFYVmFsdWU6IAorICAgICAgICAgICAgQVhSb2xlOiBBWFN0YXRpY1Rl
eHQgQVhWYWx1ZTogQ2hvb3NlIGEgc2hpcHBpbmcgbWV0aG9kOgorICAgICAgICBBWFJvbGU6IEFY
R3JvdXAgQVhWYWx1ZTogCisgICAgICAgICAgICBBWFJvbGU6IEFYUmFkaW9CdXR0b24gQVhWYWx1
ZTogMAorICAgICAgICAgICAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogT3Zlcm5pZ2h0
CisgICAgQVhSb2xlOiBBWEdyb3VwIEFYVmFsdWU6IAorICAgICAgICBBWFJvbGU6IEFYU3RhdGlj
VGV4dCBBWFZhbHVlOiBFbmQgb2YgdGVzdAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2Nzc1M2U0Li40NTE1MTNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDgtMjggIEpvYW5tYXJpZSBEaWdncyAgPGpk
aWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFByb3Blcmx5IGV4cG9zZSA8bGVnZW5k
PiBlbGVtZW50cyB0byBBVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0MTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ3JlYXRlZCBhIG5ldyBXZWJDb3JlIEFjY2Vzc2liaWxpdHkgUm9sZSwgTGVnZW5k
Um9sZS4gVXNlZCBpdCB0byBtYXAgdG8KKyAgICAgICAgdGhlIGV4cGVjdGVkIHBsYXRmb3JtIHJv
bGUsIEFUS19ST0xFX0xBQkVMLiBBbHNvIGVzdGFibGlzaGVkIHRoZSBuZWVkZWQKKyAgICAgICAg
QXRrUmVsYXRpb24gcGFpciwgbGFiZWwtZm9yL2xhYmVsbGVkLWJ5IGJldHdlZW4gdGhlIGxlZ2Vu
ZCBhbmQgZmllbGRzZXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3QgbmVlZGVkIC0gRXhpc3Rpbmcg
bGVnZW5kLmh0bWwgdGVzdCBpcyBub3cgdW5za2lwcGVkIGZvciBHdGsuCisKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDogQWRkZWQgTGVnZW5kUm9sZQorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpkZXRlcm1pbmVBY2Nlc3Np
YmlsaXR5Um9sZSk6IE1hcCBsZWdlbmRUYWcgdG8gTGVnZW5kUm9sZQorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcDoKKyAgICAgICAgKHdl
YmtpdEFjY2Vzc2libGVHZXROYW1lKTogRmllbGRzZXQgYWNjZXNzaWJsZSBzaG91bGQgdGFrZSBp
dHMgbmFtZSBmcm9tIHRoZSBhc3NvY2lhdGVkIExlZ2VuZFJvbGUvbGFiZWwKKyAgICAgICAgKHNl
dEF0a1JlbGF0aW9uU2V0RnJvbUNvcmVPYmplY3QpOiBTZXQgbGFiZWwtZm9yL2xhYmVsbGVkLWJ5
IEF0a1JlbGF0aW9uIHBhaXIgYmV0d2VlbiBmaWVsZHNldCBhbmQgbGVnZW5kCisgICAgICAgIChh
dGtSb2xlKTogTWFwIExlZ2VuZFJvbGUgdG8gQVRLX1JPTEVfTEFCRUwKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbToKKyAgICAgICAg
KGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xlTWFwKTogIE1hcCBMZWdlbmRSb2xlIHRvIE5TQWNjZXNz
aWJpbGl0eUdyb3VwUm9sZQorCiAyMDEyLTA4LTI4ICBUb20gU2VwZXogIDx0c2VwZXpAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIENTUCBkb2Vzbid0IHR1cm4gb2ZmIGV2YWwsIGV0Yy4gaW4gV2Vi
IFdvcmtlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmgKaW5kZXggZTY3MTY1YS4uZDJlZGYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTE0Miw2ICsxNDIs
NyBAQCBlbnVtIEFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBMYW5kbWFya01haW5Sb2xlLAogICAg
IExhbmRtYXJrTmF2aWdhdGlvblJvbGUsCiAgICAgTGFuZG1hcmtTZWFyY2hSb2xlLAorICAgIExl
Z2VuZFJvbGUsCiAgICAgTGlua1JvbGUsCiAgICAgTGlzdFJvbGUsCiAgICAgTGlzdEJveFJvbGUs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA3ZmE1ZDNiLi41YmZkMWJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHAKQEAgLTMxNDQsNiArMzE0NCw4IEBAIEFjY2Vzc2liaWxpdHlSb2xlIEFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKCkKICAgICAgICAg
cmV0dXJuIExpc3RNYXJrZXJSb2xlOwogICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUo
YnV0dG9uVGFnKSkKICAgICAgICAgcmV0dXJuIGJ1dHRvblJvbGVUeXBlKCk7CisgICAgaWYgKG5v
ZGUgJiYgbm9kZS0+aGFzVGFnTmFtZShsZWdlbmRUYWcpKQorICAgICAgICByZXR1cm4gTGVnZW5k
Um9sZTsKICAgICBpZiAobV9yZW5kZXJlci0+aXNUZXh0KCkpCiAgICAgICAgIHJldHVybiBTdGF0
aWNUZXh0Um9sZTsKICAgICBpZiAoY3NzQm94ICYmIGNzc0JveC0+aXNJbWFnZSgpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxl
V3JhcHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRB
Y2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXggZjdmOWY2ZS4uMDRhYjBjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBw
ZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFj
Y2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtOTksNiArOTksMTUgQEAgc3RhdGljIGNvbnN0IGdj
aGFyKiB3ZWJraXRBY2Nlc3NpYmxlR2V0TmFtZShBdGtPYmplY3QqIG9iamVjdCkKICAgICBpZiAo
IWNvcmVPYmplY3QtPmlzQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCgpKQogICAgICAgICByZXR1
cm4gcmV0dXJuU3RyaW5nKGNvcmVPYmplY3QtPnN0cmluZ1ZhbHVlKCkpOwogCisgICAgaWYgKGNv
cmVPYmplY3QtPmlzRmllbGRzZXQoKSkgeworICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBs
YWJlbCA9IGNvcmVPYmplY3QtPnRpdGxlVUlFbGVtZW50KCk7CisgICAgICAgIGlmIChsYWJlbCkg
eworICAgICAgICAgICAgQXRrT2JqZWN0KiBhdGtPYmplY3QgPSBsYWJlbC0+d3JhcHBlcigpOwor
ICAgICAgICAgICAgaWYgKEFUS19JU19URVhUKGF0a09iamVjdCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKGF0a09iamVjdCksIDAsIC0xKTsKKyAg
ICAgICAgfQorICAgIH0KKwogICAgIGlmIChjb3JlT2JqZWN0LT5pc0NvbnRyb2woKSkgewogICAg
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsYWJlbCA9IGNvcmVPYmplY3QtPmNvcnJlc3BvbmRp
bmdMYWJlbEZvckNvbnRyb2xFbGVtZW50KCk7CiAgICAgICAgIGlmIChsYWJlbCkgewpAQCAtMTY2
LDYgKzE3NSwyMyBAQCBzdGF0aWMgY29uc3QgZ2NoYXIqIHdlYmtpdEFjY2Vzc2libGVHZXREZXNj
cmlwdGlvbihBdGtPYmplY3QqIG9iamVjdCkKIAogc3RhdGljIHZvaWQgc2V0QXRrUmVsYXRpb25T
ZXRGcm9tQ29yZU9iamVjdChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0LCBBdGtSZWxh
dGlvblNldCogcmVsYXRpb25TZXQpCiB7CisgICAgaWYgKGNvcmVPYmplY3QtPmlzRmllbGRzZXQo
KSkgeworICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsYWJlbCA9IGNvcmVPYmplY3QtPnRp
dGxlVUlFbGVtZW50KCk7CisgICAgICAgIGlmIChsYWJlbCkKKyAgICAgICAgICAgIGF0a19yZWxh
dGlvbl9zZXRfYWRkX3JlbGF0aW9uX2J5X3R5cGUocmVsYXRpb25TZXQsIEFUS19SRUxBVElPTl9M
QUJFTExFRF9CWSwgbGFiZWwtPndyYXBwZXIoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBpZiAoY29yZU9iamVjdC0+cm9sZVZhbHVlKCkgPT0gTGVnZW5kUm9sZSkgeworICAgICAg
ICBmb3IgKEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9IGNvcmVPYmplY3QtPnBhcmVudE9i
amVjdFVuaWdub3JlZCgpOyBwYXJlbnQ7IHBhcmVudCA9IHBhcmVudC0+cGFyZW50T2JqZWN0VW5p
Z25vcmVkKCkpIHsKKyAgICAgICAgICAgIGlmIChwYXJlbnQtPmlzRmllbGRzZXQoKSkgeworICAg
ICAgICAgICAgICAgIGF0a19yZWxhdGlvbl9zZXRfYWRkX3JlbGF0aW9uX2J5X3R5cGUocmVsYXRp
b25TZXQsIEFUS19SRUxBVElPTl9MQUJFTF9GT1IsIHBhcmVudC0+d3JhcHBlcigpKTsKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1
cm47CisgICAgfQorCiAgICAgaWYgKGNvcmVPYmplY3QtPmlzQ29udHJvbCgpKSB7CiAgICAgICAg
IEFjY2Vzc2liaWxpdHlPYmplY3QqIGxhYmVsID0gY29yZU9iamVjdC0+Y29ycmVzcG9uZGluZ0xh
YmVsRm9yQ29udHJvbEVsZW1lbnQoKTsKICAgICAgICAgaWYgKGxhYmVsKQpAQCAtMTc2LDYgKzIw
Miw3IEBAIHN0YXRpYyB2b2lkIHNldEF0a1JlbGF0aW9uU2V0RnJvbUNvcmVPYmplY3QoQWNjZXNz
aWJpbGl0eU9iamVjdCogY29yZU9iamVjdCwgQXRrCiAgICAgICAgICAgICBhdGtfcmVsYXRpb25f
c2V0X2FkZF9yZWxhdGlvbl9ieV90eXBlKHJlbGF0aW9uU2V0LCBBVEtfUkVMQVRJT05fTEFCRUxf
Rk9SLCBjb250cm9sLT53cmFwcGVyKCkpOwogICAgIH0KIH0KKyAgICAKIAogc3RhdGljIGdwb2lu
dGVyIHdlYmtpdF9hY2Nlc3NpYmxlX3BhcmVudF9jbGFzcyA9IDA7CiAKQEAgLTUxOSw2ICs1NDYs
NyBAQCBzdGF0aWMgQXRrUm9sZSBhdGtSb2xlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAgICAg
Y2FzZSBQYXJhZ3JhcGhSb2xlOgogICAgICAgICByZXR1cm4gQVRLX1JPTEVfUEFSQUdSQVBIOwog
ICAgIGNhc2UgTGFiZWxSb2xlOgorICAgIGNhc2UgTGVnZW5kUm9sZToKICAgICAgICAgcmV0dXJu
IEFUS19ST0xFX0xBQkVMOwogICAgIGNhc2UgRGl2Um9sZToKICAgICAgICAgcmV0dXJuIEFUS19S
T0xFX1NFQ1RJT047CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21h
Yy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCmluZGV4IDZmNWU3
NTEuLjIzMTNmZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCkBAIC0xNTc4
LDcgKzE1NzgsOCBAQCBzdGF0aWMgY29uc3QgQWNjZXNzaWJpbGl0eVJvbGVNYXAmIGNyZWF0ZUFj
Y2Vzc2liaWxpdHlSb2xlTWFwKCkKICAgICAgICAgeyBGb3JtUm9sZSwgTlNBY2Nlc3NpYmlsaXR5
R3JvdXBSb2xlIH0sCiAgICAgICAgIHsgU3BpbkJ1dHRvblJvbGUsIE5TQWNjZXNzaWJpbGl0eUlu
Y3JlbWVudG9yUm9sZSB9LAogICAgICAgICB7IEZvb3RlclJvbGUsIE5TQWNjZXNzaWJpbGl0eUdy
b3VwUm9sZSB9LAotICAgICAgICB7IFRvZ2dsZUJ1dHRvblJvbGUsIE5TQWNjZXNzaWJpbGl0eUJ1
dHRvblJvbGUgfQorICAgICAgICB7IFRvZ2dsZUJ1dHRvblJvbGUsIE5TQWNjZXNzaWJpbGl0eUJ1
dHRvblJvbGUgfSwKKyAgICAgICAgeyBMZWdlbmRSb2xlLCBOU0FjY2Vzc2liaWxpdHlHcm91cFJv
bGUgfSwKICAgICB9OwogICAgIEFjY2Vzc2liaWxpdHlSb2xlTWFwJiByb2xlTWFwID0gKm5ldyBB
Y2Nlc3NpYmlsaXR5Um9sZU1hcDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
MGFiMjc4Yi4uOTRkYWJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OCBAQAorMjAxMi0wOC0yOCAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS10gUHJvcGVybHkgZXhwb3NlIDxsZWdlbmQ+IGVsZW1lbnRzIHRvIEFUcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQxMzcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGVkIGEg
bmV3IFdlYkNvcmUgQWNjZXNzaWJpbGl0eSBSb2xlLCBMZWdlbmRSb2xlLiBVc2VkIGl0IHRvIG1h
cCB0bworICAgICAgICB0aGUgZXhwZWN0ZWQgcGxhdGZvcm0gcm9sZSwgQVRLX1JPTEVfTEFCRUwu
IEFsc28gZXN0YWJsaXNoZWQgdGhlIG5lZWRlZAorICAgICAgICBBdGtSZWxhdGlvbiBwYWlyLCBs
YWJlbC1mb3IvbGFiZWxsZWQtYnkgYmV0d2VlbiB0aGUgbGVnZW5kIGFuZCBmaWVsZHNldC4KKwor
ICAgICAgICAqIHB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oOiBhZGRlZCBXZWJBY2Nlc3Np
YmlsaXR5Um9sZUxlZ2VuZAorICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDog
YWRkZWQgdGhlIGFzc2VydCBtYXRjaGluZyBydWxlIGZvcgorICAgICAgICBXZWJBY2Nlc3NpYmls
aXR5Um9sZUxlZ2VuZCBhbmQgTGVnZW5kUm9sZQorCiAyMDEyLTA4LTI4ICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IEFTU0VSVCBpbiBmYXN0L2V2ZW50cy90
b3VjaC9nZXN0dXJlL2NvbnRleHQtbWVudS1vbi10d28tZmluZ2VyLXRhcC5odG1sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaApp
bmRleCBmNDBjMWQ5Li45OTdlM2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgKQEAgLTg3LDYgKzg3LDcgQEAgZW51bSBX
ZWJBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVMYW5kbWFya01h
aW4sCiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVMYW5kbWFya05hdmlnYXRpb24sCiAgICAgV2Vi
QWNjZXNzaWJpbGl0eVJvbGVMYW5kbWFya1NlYXJjaCwKKyAgICBXZWJBY2Nlc3NpYmlsaXR5Um9s
ZUxlZ2VuZCwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxpbmssCiAgICAgV2ViQWNjZXNzaWJp
bGl0eVJvbGVMaXN0LAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlTGlzdEJveCwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXgg
MTE5NDVhNS4uZmRmMWM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTI2MSw2ICsyNjEsNyBAQCBDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlRG9jdW1lbnROb3RlLCBEb2N1bWVu
dE5vdGVSb2xlKQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5
Um9sZURvY3VtZW50UmVnaW9uLCBEb2N1bWVudFJlZ2lvblJvbGUpOwogQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5Um9sZVVzZXJJbnRlcmZhY2VUb29sdGlwLCBV
c2VySW50ZXJmYWNlVG9vbHRpcFJvbGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJBY2Nlc3NpYmlsaXR5Um9sZVRvZ2dsZUJ1dHRvbiwgVG9nZ2xlQnV0dG9uUm9sZSk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlTGVnZW5kLCBMZWdl
bmRSb2xlKTsKIAogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBcHBsaWNhdGlvbkNh
Y2hlSG9zdDo6VW5jYWNoZWQsIEFwcGxpY2F0aW9uQ2FjaGVIb3N0OjpVTkNBQ0hFRCk7CiBDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0OjpJZGxlLCBB
cHBsaWNhdGlvbkNhY2hlSG9zdDo6SURMRSk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDA3NTFjYi4uOGMwNzNiMiAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA4LTI4ICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBb
R1RLXSBQcm9wZXJseSBleHBvc2UgPGxlZ2VuZD4gZWxlbWVudHMgdG8gQVRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDEzNworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENyZWF0ZWQgYSBuZXcgV2ViQ29y
ZSBBY2Nlc3NpYmlsaXR5IFJvbGUsIExlZ2VuZFJvbGUuIFVzZWQgaXQgdG8gbWFwIHRvCisgICAg
ICAgIHRoZSBleHBlY3RlZCBwbGF0Zm9ybSByb2xlLCBBVEtfUk9MRV9MQUJFTC4gQWxzbyBlc3Rh
Ymxpc2hlZCB0aGUgbmVlZGVkCisgICAgICAgIEF0a1JlbGF0aW9uIHBhaXIsIGxhYmVsLWZvci9s
YWJlbGxlZC1ieSBiZXR3ZWVuIHRoZSBsZWdlbmQgYW5kIGZpZWxkc2V0LgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Q2hyb21pdW0uY3BwOgorICAgICAgICAocm9sZVRvU3RyaW5nKTogYWRkZWQgIkxlZ2VuZCIgc3Ry
aW5nIGZvciBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxlZ2VuZAorCiAyMDEyLTA4LTI4ICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBjci1ld3MgYm90IGRvZXNuJ3Qgc2V0
IENXRCBjb3JyZWN0bHkgd2hlbiB6aXBwaW5nIGxheW91dCB0ZXN0IHJlc3VsdHMKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudENocm9taXVtLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNwcAppbmRleCBlZTc3OWNi
Li5kMDljMTMzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hy
b21pdW0uY3BwCkBAIC0yMDYsNiArMjA2LDggQEAgc3RhdGljIHN0cmluZyByb2xlVG9TdHJpbmco
V2ViQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQo
IlVzZXJJbnRlcmZhY2VUb29sdGlwIik7CiAgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9sZVRv
Z2dsZUJ1dHRvbjoKICAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIlRvZ2dsZUJ1dHRvbiIp
OworICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eVJvbGVMZWdlbmQ6CisgICAgICAgIHJldHVybiBy
ZXN1bHQuYXBwZW5kKCJMZWdlbmQiKTsKICAgICBkZWZhdWx0OgogICAgICAgICAvLyBBbHNvIG1h
dGNoZXMgV2ViQWNjZXNzaWJpbGl0eVJvbGVVbmtub3duLgogICAgICAgICByZXR1cm4gcmVzdWx0
LmFwcGVuZCgiVW5rbm93biIpOwotLSAKMS43LjExLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161173</attachid>
            <date>2012-08-29 03:43:20 -0700</date>
            <delta_ts>2012-08-29 06:31:14 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>84137.patch</filename>
            <type>text/plain</type>
            <size>17831</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAwODk3OTc1NTBkMzcwZjg5NmJlMDQ3ZGM0ZWI3OTFkMTg2OTc0OTAwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBXZWQsIDI5IEF1ZyAyMDEyIDAyOjQwOjQ1IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gRml4
IGZvciBidWcgODQxMzcKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAxNiArKysrKysrCiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2xl
Z2VuZC5odG1sICAgICAgICAgICAgICB8IDUwICsrKysrKysrKysrKysrKystLS0tLS0KIExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zICAgICAgICAgIHwgIDMgLS0KIC4u
Li9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0IHwgMTggKysr
KysrKysKIC4uLi9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0
IHwgMTggKysrKysrLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgMjMgKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmggfCAgMSArCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcCAgICB8ICAyICsKIC4uLi9ndGsvV2ViS2l0QWNjZXNzaWJsZVdy
YXBwZXJBdGsuY3BwICAgICAgICAgICAgIHwgMjggKysrKysrKysrKysrCiAuLi4vbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tICAgICAgICAgICB8ICAzICstCiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICB8IDE1ICsrKysrKysKIC4u
Li9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmggIHwgIDEgKwog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgfCAgMSAr
CiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE0
ICsrKysrKwogLi4uL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNw
cCAgfCAgMiArCiAxNSBmaWxlcyBjaGFuZ2VkLCAxNzMgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRp
b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MTNmNTUzLi45MWIxYzQxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDgtMjggIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdn
c0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFByb3Blcmx5IGV4cG9zZSA8bGVnZW5kPiBl
bGVtZW50cyB0byBBVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg0MTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ3JlYXRlZCBhIG5ldyBXZWJDb3JlIEFjY2Vzc2liaWxpdHkgUm9sZSwgTGVnZW5kUm9s
ZS4gVXNlZCBpdCB0byBtYXAgdG8KKyAgICAgICAgdGhlIGV4cGVjdGVkIHBsYXRmb3JtIHJvbGUs
IEFUS19ST0xFX0xBQkVMLiBBbHNvIGVzdGFibGlzaGVkIHRoZSBuZWVkZWQKKyAgICAgICAgQXRr
UmVsYXRpb24gcGFpciwgbGFiZWwtZm9yL2xhYmVsbGVkLWJ5IGJldHdlZW4gdGhlIGxlZ2VuZCBp
dHMgZmllbGRzZXQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2xlZ2VuZC5odG1sOiBNb2Rp
ZmllZCB0aGUgdGVzdCB0byBiZSBtb3JlIHBsYXRmb3JtLWFnbm9zdGljLgorICAgICAgICAqIHBs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBSZW1vdmVkIGxlZ2VuZC5odG1sIGZyb20gdGhl
IHNraXBwZWQgbGlzdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9sZWdl
bmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJp
bGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0OiBVcGRhdGVkLgorCiAyMDEyLTA4LTI4ICBUb20gU2Vw
ZXogIDx0c2VwZXpAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENTUCBkb2Vzbid0IHR1cm4gb2Zm
IGV2YWwsIGV0Yy4gaW4gV2ViIFdvcmtlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvbGVnZW5kLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC5o
dG1sCmluZGV4IGIzYzcwMDkuLmI1ZmI1MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvbGVnZW5kLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9sZWdl
bmQuaHRtbApAQCAtMSw2ICsxLDMxIEBACiA8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4gCisKKyAgICBmdW5jdGlv
biBidWlsZEFjY2Vzc2liaWxpdHlUcmVlKGFjY2Vzc2liaWxpdHlPYmplY3QsIGluZGVudCwgdGFy
Z2V0T2JqZWN0LCB0YXJnZXRTdHJpbmcpIHsKKyAgICAgICAgdmFyIHN0ciA9ICIiOworICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGluZGVudDsgaSsrKQorICAgICAgICAgICAgc3RyICs9ICIg
ICAgIjsKKyAgICAgICAgc3RyICs9IGFjY2Vzc2liaWxpdHlPYmplY3Qucm9sZTsKKyAgICAgICAg
c3RyICs9ICIgIiArIGFjY2Vzc2liaWxpdHlPYmplY3Quc3RyaW5nVmFsdWU7CisgICAgICAgIGlm
ICh0YXJnZXRPYmplY3QgJiYgYWNjZXNzaWJpbGl0eU9iamVjdC5pc0VxdWFsKHRhcmdldE9iamVj
dCkpCisgICAgICAgICAgICBzdHIgKz0gIiAgICAgIiArIHRhcmdldFN0cmluZzsKKyAgICAgICAg
c3RyICs9ICJcbiI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmVlIikuaW5u
ZXJUZXh0ICs9IHN0cjsKKworICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eU9iamVjdC5zdHJpbmdW
YWx1ZS5pbmRleE9mKCdFbmQgb2YgdGVzdCcpID49IDApCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgdmFyIGNvdW50ID0gYWNjZXNzaWJpbGl0eU9iamVjdC5jaGlsZHJlbkNv
dW50OworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKKyAgICAgICAg
ICAgIGlmICghYnVpbGRBY2Nlc3NpYmlsaXR5VHJlZShhY2Nlc3NpYmlsaXR5T2JqZWN0LmNoaWxk
QXRJbmRleChpKSwgaW5kZW50ICsgMSwgdGFyZ2V0T2JqZWN0LCB0YXJnZXRTdHJpbmcpKQorICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IGlkPSJib2R5Ij4KQEAg
LTEwLDI4ICszNSwyNSBAQAogICAgIDxpbnB1dCBpZD0ib3Zlcm5pZ2h0IiB0eXBlPSJyYWRpbyIg
bmFtZT0ic2hpcHBpbmciIHZhbHVlPSJvdmVybmlnaHQiIC8+T3Zlcm5pZ2h0CiA8L2ZpZWxkc2V0
PgogCis8ZGl2PkVuZCBvZiB0ZXN0PC9kaXY+CisKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PHByZSBpZD0idHJlZSI+PC9wcmU+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIAogPHNjcmlw
dD4KIAotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYSBmaWVsZHNldCdzIHRpdGxl
IHVpIGVsZW1lbnQgaXMgdGhlIGxlZ2VuZCdzIHN0YXRpYyB0ZXh0LiIpOwotICAgIGlmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
cyB0aGF0IGEgZmllbGRzZXQncyB0aXRsZSB1aSBlbGVtZW50IGlzIHRoZSBsZWdlbmQuIik7CiAK
LSAgICAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAg
ICAgICB2YXIgYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2R5Iik7Ci0gICAgICAg
ICAgICBib2R5LmZvY3VzKCk7Ci0KLSAgICAgICAgICAgIHZhciBmaWVsZHNldCA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAg
ICAgIHZhciB0aXRsZVVJRWxlbWVudCA9IGZpZWxkc2V0LnRpdGxlVUlFbGVtZW50KCk7Ci0gICAg
ICAgICAgICBzaG91bGRCZSgidGl0bGVVSUVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBBWEdyb3Vw
JyIpOwotICAgICAgICAgICAgc2hvdWxkQmUoInRpdGxlVUlFbGVtZW50LmNoaWxkQXRJbmRleCgw
KS5yb2xlIiwgIidBWFJvbGU6IEFYU3RhdGljVGV4dCciKTsKLSAgICAgICAgICAgIHNob3VsZEJl
KCJ0aXRsZVVJRWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuc3RyaW5nVmFsdWUiLCAiJ0FYVmFsdWU6
IENob29zZSBhIHNoaXBwaW5nIG1ldGhvZDonIik7Ci0gICAgICAgIH0KKyAgICBpZiAod2luZG93
LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMo
KTsKKyAgICAgICAgdmFyIGJvZHkgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudDsKKyAgICAgICAgdmFyIGZpZWxkc2V0ID0gYm9keS5jaGlsZEF0SW5kZXgoMCk7CisgICAg
ICAgIGJ1aWxkQWNjZXNzaWJpbGl0eVRyZWUoYm9keSwgMCwgZmllbGRzZXQudGl0bGVVSUVsZW1l
bnQoKSwgIjw8IGZpZWxkc2V0J3MgdGl0bGVVSUVsZW1lbnQiKTsKICAgICB9CisKIDwvc2NyaXB0
PgogCi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiZjQ4NzJjLi5iNzM3YTVkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTA4Niw5ICsxMDg2LDYgQEAg
QlVHV0s4NDA0NCBTS0lQIDogYWNjZXNzaWJpbGl0eS9pbWFnZS1saW5rLmh0bWwgPSBURVhUCiBC
VUdXSzg0MDQ1IFNLSVAgOiBhY2Nlc3NpYmlsaXR5L2ltYWdlLW1hcDEuaHRtbCA9IFRFWFQKIEJV
R1dLODQwNDUgU0tJUCA6IGFjY2Vzc2liaWxpdHkvaW1hZ2UtbWFwMi5odG1sID0gVEVYVAogCi0v
LyBQcm9wZXJseSBleHBvc2UgPGxlZ2VuZD4gZWxlbWVudHMgdG8gQVRzCi1CVUdXSzg0MTM3IFNL
SVAgOiBhY2Nlc3NpYmlsaXR5L2xlZ2VuZC5odG1sID0gVEVYVAotCiAvLyBbRFJUXSBkaWREZXRl
Y3RYU1MgaXMgbm90IGltcGxlbWVudGVkCiBCVUdXSzcxNDY1IDogaHR0cC90ZXN0cy9zZWN1cml0
eS94c3NBdWRpdG9yL3NjcmlwdC10YWctd2l0aC1jYWxsYmFja3MuaHRtbCA9IFRFWFQKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2xlZ2Vu
ZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg3ZDJm
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmls
aXR5L2xlZ2VuZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQ2hvb3NlIGEgc2hpcHBp
bmcgbWV0aG9kOgorT3Zlcm5pZ2h0CitFbmQgb2YgdGVzdAorVGhpcyB0ZXN0cyB0aGF0IGEgZmll
bGRzZXQncyB0aXRsZSB1aSBlbGVtZW50IGlzIHRoZSBsZWdlbmQuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitBWFJvbGU6IGRvY3VtZW50IGZyYW1lIAorICAgIEFYUm9sZTogcGFu
ZWwgCisgICAgICAgIEFYUm9sZTogbGFiZWwgQVhWYWx1ZTogQ2hvb3NlIGEgc2hpcHBpbmcgbWV0
aG9kOiAgICAgPDwgZmllbGRzZXQncyB0aXRsZVVJRWxlbWVudAorICAgICAgICBBWFJvbGU6IHBh
bmVsIAorICAgICAgICAgICAgQVhSb2xlOiByYWRpbyBidXR0b24gQVhWYWx1ZTogCisgICAgQVhS
b2xlOiBzZWN0aW9uIEFYVmFsdWU6IEVuZCBvZiB0ZXN0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC1leHBlY3RlZC50eHQKaW5kZXggOTFm
OWQ0Mi4uYTk3NjhjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDIxIEBACiBD
aG9vc2UgYSBzaGlwcGluZyBtZXRob2Q6CiBPdmVybmlnaHQKLVRoaXMgdGVzdHMgdGhhdCBhIGZp
ZWxkc2V0J3MgdGl0bGUgdWkgZWxlbWVudCBpcyB0aGUgbGVnZW5kJ3Mgc3RhdGljIHRleHQuCitF
bmQgb2YgdGVzdAorVGhpcyB0ZXN0cyB0aGF0IGEgZmllbGRzZXQncyB0aXRsZSB1aSBlbGVtZW50
IGlzIHRoZSBsZWdlbmQuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIHRp
dGxlVUlFbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogQVhHcm91cCcKLVBBU1MgdGl0bGVVSUVsZW1l
bnQuY2hpbGRBdEluZGV4KDApLnJvbGUgaXMgJ0FYUm9sZTogQVhTdGF0aWNUZXh0JwotUEFTUyB0
aXRsZVVJRWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuc3RyaW5nVmFsdWUgaXMgJ0FYVmFsdWU6IENo
b29zZSBhIHNoaXBwaW5nIG1ldGhvZDonCitBWFJvbGU6IEFYV2ViQXJlYSBBWFZhbHVlOiAKKyAg
ICBBWFJvbGU6IEFYR3JvdXAgQVhWYWx1ZTogCisgICAgICAgIEFYUm9sZTogQVhHcm91cCBBWFZh
bHVlOiAgICAgIDw8IGZpZWxkc2V0J3MgdGl0bGVVSUVsZW1lbnQKKyAgICAgICAgICAgIEFYUm9s
ZTogQVhTdGF0aWNUZXh0IEFYVmFsdWU6IENob29zZSBhIHNoaXBwaW5nIG1ldGhvZDoKKyAgICAg
ICAgQVhSb2xlOiBBWEdyb3VwIEFYVmFsdWU6IAorICAgICAgICAgICAgQVhSb2xlOiBBWFJhZGlv
QnV0dG9uIEFYVmFsdWU6IDAKKyAgICAgICAgICAgIEFYUm9sZTogQVhTdGF0aWNUZXh0IEFYVmFs
dWU6IE92ZXJuaWdodAorICAgIEFYUm9sZTogQVhHcm91cCBBWFZhbHVlOiAKKyAgICAgICAgQVhS
b2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogRW5kIG9mIHRlc3QKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjc3NTNlNC4u
NDUxNTEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA4LTI4ICBKb2FubWFy
aWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBQcm9wZXJseSBl
eHBvc2UgPGxlZ2VuZD4gZWxlbWVudHMgdG8gQVRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDEzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENyZWF0ZWQgYSBuZXcgV2ViQ29yZSBBY2Nlc3NpYmlsaXR5
IFJvbGUsIExlZ2VuZFJvbGUuIFVzZWQgaXQgdG8gbWFwIHRvCisgICAgICAgIHRoZSBleHBlY3Rl
ZCBwbGF0Zm9ybSByb2xlLCBBVEtfUk9MRV9MQUJFTC4gQWxzbyBlc3RhYmxpc2hlZCB0aGUgbmVl
ZGVkCisgICAgICAgIEF0a1JlbGF0aW9uIHBhaXIsIGxhYmVsLWZvci9sYWJlbGxlZC1ieSBiZXR3
ZWVuIHRoZSBsZWdlbmQgaXRzIGZpZWxkc2V0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0IG5lZWRl
ZCAtIEV4aXN0aW5nIGxlZ2VuZC5odG1sIHRlc3QgaXMgbm93IHVuc2tpcHBlZCBmb3IgR3RrLgor
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6IEFkZGVkIExl
Z2VuZFJvbGUKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZGV0
ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUpOiBNYXAgbGVnZW5kVGFnIHRvIExlZ2VuZFJvbGUKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHA6
CisgICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlR2V0TmFtZSk6IEZpZWxkc2V0IGFjY2Vzc2libGUg
c2hvdWxkIHRha2UgaXRzIG5hbWUgZnJvbSB0aGUgYXNzb2NpYXRlZCBMZWdlbmRSb2xlL2xhYmVs
CisgICAgICAgIChzZXRBdGtSZWxhdGlvblNldEZyb21Db3JlT2JqZWN0KTogU2V0IGxhYmVsLWZv
ci9sYWJlbGxlZC1ieSBBdGtSZWxhdGlvbiBwYWlyIGJldHdlZW4gZmllbGRzZXQgYW5kIGxlZ2Vu
ZAorICAgICAgICAoYXRrUm9sZSk6IE1hcCBMZWdlbmRSb2xlIHRvIEFUS19ST0xFX0xBQkVMCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIu
bW06CisgICAgICAgIChjcmVhdGVBY2Nlc3NpYmlsaXR5Um9sZU1hcCk6ICBNYXAgTGVnZW5kUm9s
ZSB0byBOU0FjY2Vzc2liaWxpdHlHcm91cFJvbGUKKwogMjAxMi0wOC0yOCAgVG9tIFNlcGV6ICA8
dHNlcGV6QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDU1AgZG9lc24ndCB0dXJuIG9mZiBldmFs
LCBldGMuIGluIFdlYiBXb3JrZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IGU2NzE2NWEuLmQyZWRmMWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBA
IC0xNDIsNiArMTQyLDcgQEAgZW51bSBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgTGFuZG1hcmtN
YWluUm9sZSwKICAgICBMYW5kbWFya05hdmlnYXRpb25Sb2xlLAogICAgIExhbmRtYXJrU2VhcmNo
Um9sZSwKKyAgICBMZWdlbmRSb2xlLAogICAgIExpbmtSb2xlLAogICAgIExpc3RSb2xlLAogICAg
IExpc3RCb3hSb2xlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggN2ZhNWQzYi4uNWJmZDFiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0zMTQ0LDYgKzMxNDQsOCBAQCBBY2Nlc3NpYmlsaXR5
Um9sZSBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9s
ZSgpCiAgICAgICAgIHJldHVybiBMaXN0TWFya2VyUm9sZTsKICAgICBpZiAobm9kZSAmJiBub2Rl
LT5oYXNUYWdOYW1lKGJ1dHRvblRhZykpCiAgICAgICAgIHJldHVybiBidXR0b25Sb2xlVHlwZSgp
OworICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUobGVnZW5kVGFnKSkKKyAgICAgICAg
cmV0dXJuIExlZ2VuZFJvbGU7CiAgICAgaWYgKG1fcmVuZGVyZXItPmlzVGV4dCgpKQogICAgICAg
ICByZXR1cm4gU3RhdGljVGV4dFJvbGU7CiAgICAgaWYgKGNzc0JveCAmJiBjc3NCb3gtPmlzSW1h
Z2UoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2Vi
S2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCmluZGV4IGY3ZjlmNmUuLjA0YWIw
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFj
Y2Vzc2libGVXcmFwcGVyQXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKQEAgLTk5LDYgKzk5LDE1IEBAIHN0
YXRpYyBjb25zdCBnY2hhciogd2Via2l0QWNjZXNzaWJsZUdldE5hbWUoQXRrT2JqZWN0KiBvYmpl
Y3QpCiAgICAgaWYgKCFjb3JlT2JqZWN0LT5pc0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QoKSkK
ICAgICAgICAgcmV0dXJuIHJldHVyblN0cmluZyhjb3JlT2JqZWN0LT5zdHJpbmdWYWx1ZSgpKTsK
IAorICAgIGlmIChjb3JlT2JqZWN0LT5pc0ZpZWxkc2V0KCkpIHsKKyAgICAgICAgQWNjZXNzaWJp
bGl0eU9iamVjdCogbGFiZWwgPSBjb3JlT2JqZWN0LT50aXRsZVVJRWxlbWVudCgpOworICAgICAg
ICBpZiAobGFiZWwpIHsKKyAgICAgICAgICAgIEF0a09iamVjdCogYXRrT2JqZWN0ID0gbGFiZWwt
PndyYXBwZXIoKTsKKyAgICAgICAgICAgIGlmIChBVEtfSVNfVEVYVChhdGtPYmplY3QpKQorICAg
ICAgICAgICAgICAgIHJldHVybiBhdGtfdGV4dF9nZXRfdGV4dChBVEtfVEVYVChhdGtPYmplY3Qp
LCAwLCAtMSk7CisgICAgICAgIH0KKyAgICB9CisKICAgICBpZiAoY29yZU9iamVjdC0+aXNDb250
cm9sKCkpIHsKICAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogbGFiZWwgPSBjb3JlT2JqZWN0
LT5jb3JyZXNwb25kaW5nTGFiZWxGb3JDb250cm9sRWxlbWVudCgpOwogICAgICAgICBpZiAobGFi
ZWwpIHsKQEAgLTE2Niw2ICsxNzUsMjMgQEAgc3RhdGljIGNvbnN0IGdjaGFyKiB3ZWJraXRBY2Nl
c3NpYmxlR2V0RGVzY3JpcHRpb24oQXRrT2JqZWN0KiBvYmplY3QpCiAKIHN0YXRpYyB2b2lkIHNl
dEF0a1JlbGF0aW9uU2V0RnJvbUNvcmVPYmplY3QoQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCwgQXRrUmVsYXRpb25TZXQqIHJlbGF0aW9uU2V0KQogeworICAgIGlmIChjb3JlT2JqZWN0
LT5pc0ZpZWxkc2V0KCkpIHsKKyAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogbGFiZWwgPSBj
b3JlT2JqZWN0LT50aXRsZVVJRWxlbWVudCgpOworICAgICAgICBpZiAobGFiZWwpCisgICAgICAg
ICAgICBhdGtfcmVsYXRpb25fc2V0X2FkZF9yZWxhdGlvbl9ieV90eXBlKHJlbGF0aW9uU2V0LCBB
VEtfUkVMQVRJT05fTEFCRUxMRURfQlksIGxhYmVsLT53cmFwcGVyKCkpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKGNvcmVPYmplY3QtPnJvbGVWYWx1ZSgpID09IExlZ2VuZFJv
bGUpIHsKKyAgICAgICAgZm9yIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnQgPSBjb3JlT2Jq
ZWN0LT5wYXJlbnRPYmplY3RVbmlnbm9yZWQoKTsgcGFyZW50OyBwYXJlbnQgPSBwYXJlbnQtPnBh
cmVudE9iamVjdFVuaWdub3JlZCgpKSB7CisgICAgICAgICAgICBpZiAocGFyZW50LT5pc0ZpZWxk
c2V0KCkpIHsKKyAgICAgICAgICAgICAgICBhdGtfcmVsYXRpb25fc2V0X2FkZF9yZWxhdGlvbl9i
eV90eXBlKHJlbGF0aW9uU2V0LCBBVEtfUkVMQVRJT05fTEFCRUxfRk9SLCBwYXJlbnQtPndyYXBw
ZXIoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChjb3JlT2JqZWN0LT5pc0NvbnRyb2wo
KSkgewogICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsYWJlbCA9IGNvcmVPYmplY3QtPmNv
cnJlc3BvbmRpbmdMYWJlbEZvckNvbnRyb2xFbGVtZW50KCk7CiAgICAgICAgIGlmIChsYWJlbCkK
QEAgLTE3Niw2ICsyMDIsNyBAQCBzdGF0aWMgdm9pZCBzZXRBdGtSZWxhdGlvblNldEZyb21Db3Jl
T2JqZWN0KEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcmVPYmplY3QsIEF0awogICAgICAgICAgICAg
YXRrX3JlbGF0aW9uX3NldF9hZGRfcmVsYXRpb25fYnlfdHlwZShyZWxhdGlvblNldCwgQVRLX1JF
TEFUSU9OX0xBQkVMX0ZPUiwgY29udHJvbC0+d3JhcHBlcigpKTsKICAgICB9CiB9CisgICAgCiAK
IHN0YXRpYyBncG9pbnRlciB3ZWJraXRfYWNjZXNzaWJsZV9wYXJlbnRfY2xhc3MgPSAwOwogCkBA
IC01MTksNiArNTQ2LDcgQEAgc3RhdGljIEF0a1JvbGUgYXRrUm9sZShBY2Nlc3NpYmlsaXR5Um9s
ZSByb2xlKQogICAgIGNhc2UgUGFyYWdyYXBoUm9sZToKICAgICAgICAgcmV0dXJuIEFUS19ST0xF
X1BBUkFHUkFQSDsKICAgICBjYXNlIExhYmVsUm9sZToKKyAgICBjYXNlIExlZ2VuZFJvbGU6CiAg
ICAgICAgIHJldHVybiBBVEtfUk9MRV9MQUJFTDsKICAgICBjYXNlIERpdlJvbGU6CiAgICAgICAg
IHJldHVybiBBVEtfUk9MRV9TRUNUSU9OOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5t
bQppbmRleCA2ZjVlNzUxLi4yMzEzZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ci5tbQpAQCAtMTU3OCw3ICsxNTc4LDggQEAgc3RhdGljIGNvbnN0IEFjY2Vzc2liaWxpdHlSb2xl
TWFwJiBjcmVhdGVBY2Nlc3NpYmlsaXR5Um9sZU1hcCgpCiAgICAgICAgIHsgRm9ybVJvbGUsIE5T
QWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAogICAgICAgICB7IFNwaW5CdXR0b25Sb2xlLCBOU0Fj
Y2Vzc2liaWxpdHlJbmNyZW1lbnRvclJvbGUgfSwKICAgICAgICAgeyBGb290ZXJSb2xlLCBOU0Fj
Y2Vzc2liaWxpdHlHcm91cFJvbGUgfSwKLSAgICAgICAgeyBUb2dnbGVCdXR0b25Sb2xlLCBOU0Fj
Y2Vzc2liaWxpdHlCdXR0b25Sb2xlIH0KKyAgICAgICAgeyBUb2dnbGVCdXR0b25Sb2xlLCBOU0Fj
Y2Vzc2liaWxpdHlCdXR0b25Sb2xlIH0sCisgICAgICAgIHsgTGVnZW5kUm9sZSwgTlNBY2Nlc3Np
YmlsaXR5R3JvdXBSb2xlIH0sCiAgICAgfTsKICAgICBBY2Nlc3NpYmlsaXR5Um9sZU1hcCYgcm9s
ZU1hcCA9ICpuZXcgQWNjZXNzaWJpbGl0eVJvbGVNYXA7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDBhYjI3OGIuLjk0ZGFiZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDgtMjggIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFByb3Blcmx5IGV4cG9zZSA8bGVnZW5kPiBlbGVt
ZW50cyB0byBBVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg0MTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ3JlYXRlZCBhIG5ldyBXZWJDb3JlIEFjY2Vzc2liaWxpdHkgUm9sZSwgTGVnZW5kUm9sZS4g
VXNlZCBpdCB0byBtYXAgdG8KKyAgICAgICAgdGhlIGV4cGVjdGVkIHBsYXRmb3JtIHJvbGUsIEFU
S19ST0xFX0xBQkVMLiBBbHNvIGVzdGFibGlzaGVkIHRoZSBuZWVkZWQKKyAgICAgICAgQXRrUmVs
YXRpb24gcGFpciwgbGFiZWwtZm9yL2xhYmVsbGVkLWJ5IGJldHdlZW4gdGhlIGxlZ2VuZCBpdHMg
ZmllbGRzZXQuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaDogYWRk
ZWQgV2ViQWNjZXNzaWJpbGl0eVJvbGVMZWdlbmQKKyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5jcHA6IGFkZGVkIHRoZSBhc3NlcnQgbWF0Y2hpbmcgcnVsZSBmb3IKKyAgICAgICAg
V2ViQWNjZXNzaWJpbGl0eVJvbGVMZWdlbmQgYW5kIExlZ2VuZFJvbGUKKwogMjAxMi0wOC0yOCAg
QWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBBU1NFUlQgaW4g
ZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9jb250ZXh0LW1lbnUtb24tdHdvLWZpbmdlci10YXAu
aHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNz
aWJpbGl0eVJvbGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2li
aWxpdHlSb2xlLmgKaW5kZXggZjQwYzFkOS4uOTk3ZTNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oCkBAIC04Nyw2ICs4
Nyw3IEBAIGVudW0gV2ViQWNjZXNzaWJpbGl0eVJvbGUgewogICAgIFdlYkFjY2Vzc2liaWxpdHlS
b2xlTGFuZG1hcmtNYWluLAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlTGFuZG1hcmtOYXZpZ2F0
aW9uLAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlTGFuZG1hcmtTZWFyY2gsCisgICAgV2ViQWNj
ZXNzaWJpbGl0eVJvbGVMZWdlbmQsCiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVMaW5rLAogICAg
IFdlYkFjY2Vzc2liaWxpdHlSb2xlTGlzdCwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxpc3RC
b3gsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51
bXMuY3BwCmluZGV4IDExOTQ1YTUuLmZkZjFjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC0yNjEsNiArMjYxLDcgQEAg
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5Um9sZURvY3VtZW50
Tm90ZSwgRG9jdW1lbnROb3RlUm9sZSkKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
QWNjZXNzaWJpbGl0eVJvbGVEb2N1bWVudFJlZ2lvbiwgRG9jdW1lbnRSZWdpb25Sb2xlKTsKIENP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVVc2VySW50ZXJm
YWNlVG9vbHRpcCwgVXNlckludGVyZmFjZVRvb2x0aXBSb2xlKTsKIENPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVUb2dnbGVCdXR0b24sIFRvZ2dsZUJ1dHRv
blJvbGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5Um9s
ZUxlZ2VuZCwgTGVnZW5kUm9sZSk7CiAKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
QXBwbGljYXRpb25DYWNoZUhvc3Q6OlVuY2FjaGVkLCBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6VU5D
QUNIRUQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBcHBsaWNhdGlvbkNhY2hl
SG9zdDo6SWRsZSwgQXBwbGljYXRpb25DYWNoZUhvc3Q6OklETEUpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDAwNzUxY2IuLjhjMDczYjIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMi0wOC0yOCAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW0dUS10gUHJvcGVybHkgZXhwb3NlIDxsZWdlbmQ+IGVsZW1lbnRzIHRvIEFU
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQxMzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGVk
IGEgbmV3IFdlYkNvcmUgQWNjZXNzaWJpbGl0eSBSb2xlLCBMZWdlbmRSb2xlLiBVc2VkIGl0IHRv
IG1hcCB0bworICAgICAgICB0aGUgZXhwZWN0ZWQgcGxhdGZvcm0gcm9sZSwgQVRLX1JPTEVfTEFC
RUwuIEFsc28gZXN0YWJsaXNoZWQgdGhlIG5lZWRlZAorICAgICAgICBBdGtSZWxhdGlvbiBwYWly
LCBsYWJlbC1mb3IvbGFiZWxsZWQtYnkgYmV0d2VlbiB0aGUgbGVnZW5kIGl0cyBmaWVsZHNldC4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAgKHJvbGVUb1N0cmluZyk6IGFkZGVk
ICJMZWdlbmQiIHN0cmluZyBmb3IgV2ViQWNjZXNzaWJpbGl0eVJvbGVMZWdlbmQKKwogMjAxMi0w
OC0yOCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgY3ItZXdzIGJv
dCBkb2Vzbid0IHNldCBDV0QgY29ycmVjdGx5IHdoZW4gemlwcGluZyBsYXlvdXQgdGVzdCByZXN1
bHRzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVy
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAK
aW5kZXggZWU3NzljYi4uZDA5YzEzMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFJ1bm5lci9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudENocm9taXVtLmNwcApAQCAtMjA2LDYgKzIwNiw4IEBAIHN0YXRpYyBzdHJpbmcg
cm9sZVRvU3RyaW5nKFdlYkFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAgICAgICAgIHJldHVybiBy
ZXN1bHQuYXBwZW5kKCJVc2VySW50ZXJmYWNlVG9vbHRpcCIpOwogICAgIGNhc2UgV2ViQWNjZXNz
aWJpbGl0eVJvbGVUb2dnbGVCdXR0b246CiAgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJU
b2dnbGVCdXR0b24iKTsKKyAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlTGVnZW5kOgorICAg
ICAgICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiTGVnZW5kIik7CiAgICAgZGVmYXVsdDoKICAgICAg
ICAgLy8gQWxzbyBtYXRjaGVzIFdlYkFjY2Vzc2liaWxpdHlSb2xlVW5rbm93bi4KICAgICAgICAg
cmV0dXJuIHJlc3VsdC5hcHBlbmQoIlVua25vd24iKTsKLS0gCjEuNy4xMS40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161212</attachid>
            <date>2012-08-29 06:31:14 -0700</date>
            <delta_ts>2012-08-31 00:12:46 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>84137.patch</filename>
            <type>text/plain</type>
            <size>17765</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSA2ZTM5NmQzYTdmOWMyMTZjMDcyMjU4ZDkyNWU5OTk3NmZlYjZhNjAzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBXZWQsIDI5IEF1ZyAyMDEyIDA5OjI3OjQ2IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gRml4
IGZvciBidWcgODQxMzcKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAxNiArKysrKysrCiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2xl
Z2VuZC5odG1sICAgICAgICAgICAgICB8IDUwICsrKysrKysrKysrKysrKystLS0tLS0KIExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zICAgICAgICAgIHwgIDMgLS0KIC4u
Li9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0IHwgMTggKysr
KysrKysKIC4uLi9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0
IHwgMTggKysrKysrLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgMjMgKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmggfCAgMSArCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcCAgICB8ICAyICsKIC4uLi9ndGsvV2ViS2l0QWNjZXNzaWJsZVdy
YXBwZXJBdGsuY3BwICAgICAgICAgICAgIHwgMjggKysrKysrKysrKysrCiAuLi4vbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tICAgICAgICAgICB8ICAzICstCiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICB8IDE1ICsrKysrKysKIC4u
Li9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmggIHwgIDEgKwog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgfCAgMSAr
CiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE0
ICsrKysrKwogLi4uL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNw
cCAgfCAgMiArCiAxNSBmaWxlcyBjaGFuZ2VkLCAxNzMgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRp
b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vz
c2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MTEzN2VmLi5jMDVkOTBhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDgtMjkgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdn
c0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFByb3Blcmx5IGV4cG9zZSA8bGVnZW5kPiBl
bGVtZW50cyB0byBBVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg0MTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ3JlYXRlZCBhIG5ldyBXZWJDb3JlIEFjY2Vzc2liaWxpdHkgUm9sZSwgTGVnZW5kUm9s
ZS4gVXNlZCBpdCB0byBtYXAgdG8KKyAgICAgICAgdGhlIGV4cGVjdGVkIHBsYXRmb3JtIHJvbGUs
IEFUS19ST0xFX0xBQkVMLiBBbHNvIGVzdGFibGlzaGVkIHRoZSBuZWVkZWQKKyAgICAgICAgQXRr
UmVsYXRpb24gcGFpciwgbGFiZWwtZm9yL2xhYmVsbGVkLWJ5IGJldHdlZW4gdGhlIGxlZ2VuZCBh
bmQgZmllbGRzZXQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2xlZ2VuZC5odG1sOiBNb2Rp
ZmllZCB0aGUgdGVzdCB0byBiZSBtb3JlIHBsYXRmb3JtLWFnbm9zdGljLgorICAgICAgICAqIHBs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBSZW1vdmVkIGxlZ2VuZC5odG1sIGZyb20gdGhl
IHNraXBwZWQgbGlzdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9sZWdl
bmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJp
bGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0OiBVcGRhdGVkLgorCiAyMDEyLTA4LTI5ICBEb21pbmlr
IFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CiAKICAgICAgICAgW0VG
TF0gVW5yZXZpZXdlZCBFRkwgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9sZWdlbmQuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbGVnZW5k
Lmh0bWwKaW5kZXggYjNjNzAwOS4uYjVmYjUzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9sZWdlbmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2xl
Z2VuZC5odG1sCkBAIC0xLDYgKzEsMzEgQEAKIDwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PiAKKworICAgIGZ1bmN0
aW9uIGJ1aWxkQWNjZXNzaWJpbGl0eVRyZWUoYWNjZXNzaWJpbGl0eU9iamVjdCwgaW5kZW50LCB0
YXJnZXRPYmplY3QsIHRhcmdldFN0cmluZykgeworICAgICAgICB2YXIgc3RyID0gIiI7CisgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5kZW50OyBpKyspCisgICAgICAgICAgICBzdHIgKz0g
IiAgICAiOworICAgICAgICBzdHIgKz0gYWNjZXNzaWJpbGl0eU9iamVjdC5yb2xlOworICAgICAg
ICBzdHIgKz0gIiAiICsgYWNjZXNzaWJpbGl0eU9iamVjdC5zdHJpbmdWYWx1ZTsKKyAgICAgICAg
aWYgKHRhcmdldE9iamVjdCAmJiBhY2Nlc3NpYmlsaXR5T2JqZWN0LmlzRXF1YWwodGFyZ2V0T2Jq
ZWN0KSkKKyAgICAgICAgICAgIHN0ciArPSAiICAgICAiICsgdGFyZ2V0U3RyaW5nOworICAgICAg
ICBzdHIgKz0gIlxuIjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyZWUiKS5p
bm5lclRleHQgKz0gc3RyOworCisgICAgICAgIGlmIChhY2Nlc3NpYmlsaXR5T2JqZWN0LnN0cmlu
Z1ZhbHVlLmluZGV4T2YoJ0VuZCBvZiB0ZXN0JykgPj0gMCkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgICAgICB2YXIgY291bnQgPSBhY2Nlc3NpYmlsaXR5T2JqZWN0LmNoaWxkcmVu
Q291bnQ7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7ICsraSkgeworICAgICAg
ICAgICAgaWYgKCFidWlsZEFjY2Vzc2liaWxpdHlUcmVlKGFjY2Vzc2liaWxpdHlPYmplY3QuY2hp
bGRBdEluZGV4KGkpLCBpbmRlbnQgKyAxLCB0YXJnZXRPYmplY3QsIHRhcmdldFN0cmluZykpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgaWQ9ImJvZHkiPgpA
QCAtMTAsMjggKzM1LDI1IEBACiAgICAgPGlucHV0IGlkPSJvdmVybmlnaHQiIHR5cGU9InJhZGlv
IiBuYW1lPSJzaGlwcGluZyIgdmFsdWU9Im92ZXJuaWdodCIgLz5PdmVybmlnaHQKIDwvZmllbGRz
ZXQ+CiAKKzxkaXY+RW5kIG9mIHRlc3Q8L2Rpdj4KKwogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8cHJlIGlkPSJ0cmVlIj48L3ByZT4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogCiA8c2Ny
aXB0PgogCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhIGZpZWxkc2V0J3MgdGl0
bGUgdWkgZWxlbWVudCBpcyB0aGUgbGVnZW5kJ3Mgc3RhdGljIHRleHQuIik7Ci0gICAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3RzIHRoYXQgYSBmaWVsZHNldCdzIHRpdGxlIHVpIGVsZW1lbnQgaXMgdGhlIGxlZ2VuZC4iKTsK
IAotICAgICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAg
ICAgICAgIHZhciBib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHkiKTsKLSAgICAg
ICAgICAgIGJvZHkuZm9jdXMoKTsKLQotICAgICAgICAgICAgdmFyIGZpZWxkc2V0ID0gYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApOwotICAgICAg
ICAgICAgdmFyIHRpdGxlVUlFbGVtZW50ID0gZmllbGRzZXQudGl0bGVVSUVsZW1lbnQoKTsKLSAg
ICAgICAgICAgIHNob3VsZEJlKCJ0aXRsZVVJRWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYR3Jv
dXAnIik7Ci0gICAgICAgICAgICBzaG91bGRCZSgidGl0bGVVSUVsZW1lbnQuY2hpbGRBdEluZGV4
KDApLnJvbGUiLCAiJ0FYUm9sZTogQVhTdGF0aWNUZXh0JyIpOwotICAgICAgICAgICAgc2hvdWxk
QmUoInRpdGxlVUlFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5zdHJpbmdWYWx1ZSIsICInQVhWYWx1
ZTogQ2hvb3NlIGEgc2hpcHBpbmcgbWV0aG9kOiciKTsKLSAgICAgICAgfQorICAgIGlmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5mb2N1
cygpOworICAgICAgICB2YXIgYm9keSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRF
bGVtZW50OworICAgICAgICB2YXIgZmllbGRzZXQgPSBib2R5LmNoaWxkQXRJbmRleCgwKTsKKyAg
ICAgICAgYnVpbGRBY2Nlc3NpYmlsaXR5VHJlZShib2R5LCAwLCBmaWVsZHNldC50aXRsZVVJRWxl
bWVudCgpLCAiPDwgZmllbGRzZXQncyB0aXRsZVVJRWxlbWVudCIpOwogICAgIH0KKwogPC9zY3Jp
cHQ+CiAKLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGI3OGYyMjAuLjgxMTdiM2IgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMDg2LDkgKzEwODYsNiBA
QCBCVUdXSzg0MDQ0IFNLSVAgOiBhY2Nlc3NpYmlsaXR5L2ltYWdlLWxpbmsuaHRtbCA9IFRFWFQK
IEJVR1dLODQwNDUgU0tJUCA6IGFjY2Vzc2liaWxpdHkvaW1hZ2UtbWFwMS5odG1sID0gVEVYVAog
QlVHV0s4NDA0NSBTS0lQIDogYWNjZXNzaWJpbGl0eS9pbWFnZS1tYXAyLmh0bWwgPSBURVhUCiAK
LS8vIFByb3Blcmx5IGV4cG9zZSA8bGVnZW5kPiBlbGVtZW50cyB0byBBVHMKLUJVR1dLODQxMzcg
U0tJUCA6IGFjY2Vzc2liaWxpdHkvbGVnZW5kLmh0bWwgPSBURVhUCi0KIC8vIFtEUlRdIGRpZERl
dGVjdFhTUyBpcyBub3QgaW1wbGVtZW50ZWQKIEJVR1dLNzE0NjUgOiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy13aXRoLWNhbGxiYWNrcy5odG1sID0gVEVYVAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9sZWdlbmQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbGVn
ZW5kLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODdk
MmYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitDaG9vc2UgYSBzaGlw
cGluZyBtZXRob2Q6CitPdmVybmlnaHQKK0VuZCBvZiB0ZXN0CitUaGlzIHRlc3RzIHRoYXQgYSBm
aWVsZHNldCdzIHRpdGxlIHVpIGVsZW1lbnQgaXMgdGhlIGxlZ2VuZC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK0FYUm9sZTogZG9jdW1lbnQgZnJhbWUgCisgICAgQVhSb2xlOiBw
YW5lbCAKKyAgICAgICAgQVhSb2xlOiBsYWJlbCBBWFZhbHVlOiBDaG9vc2UgYSBzaGlwcGluZyBt
ZXRob2Q6ICAgICA8PCBmaWVsZHNldCdzIHRpdGxlVUlFbGVtZW50CisgICAgICAgIEFYUm9sZTog
cGFuZWwgCisgICAgICAgICAgICBBWFJvbGU6IHJhZGlvIGJ1dHRvbiBBWFZhbHVlOiAKKyAgICBB
WFJvbGU6IHNlY3Rpb24gQVhWYWx1ZTogRW5kIG9mIHRlc3QKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dAppbmRleCA5
MWY5ZDQyLi5hOTc2OGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNj
ZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMjEgQEAK
IENob29zZSBhIHNoaXBwaW5nIG1ldGhvZDoKIE92ZXJuaWdodAotVGhpcyB0ZXN0cyB0aGF0IGEg
ZmllbGRzZXQncyB0aXRsZSB1aSBlbGVtZW50IGlzIHRoZSBsZWdlbmQncyBzdGF0aWMgdGV4dC4K
K0VuZCBvZiB0ZXN0CitUaGlzIHRlc3RzIHRoYXQgYSBmaWVsZHNldCdzIHRpdGxlIHVpIGVsZW1l
bnQgaXMgdGhlIGxlZ2VuZC4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1Mg
dGl0bGVVSUVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWEdyb3VwJwotUEFTUyB0aXRsZVVJRWxl
bWVudC5jaGlsZEF0SW5kZXgoMCkucm9sZSBpcyAnQVhSb2xlOiBBWFN0YXRpY1RleHQnCi1QQVNT
IHRpdGxlVUlFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTog
Q2hvb3NlIGEgc2hpcHBpbmcgbWV0aG9kOicKK0FYUm9sZTogQVhXZWJBcmVhIEFYVmFsdWU6IAor
ICAgIEFYUm9sZTogQVhHcm91cCBBWFZhbHVlOiAKKyAgICAgICAgQVhSb2xlOiBBWEdyb3VwIEFY
VmFsdWU6ICAgICAgPDwgZmllbGRzZXQncyB0aXRsZVVJRWxlbWVudAorICAgICAgICAgICAgQVhS
b2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogQ2hvb3NlIGEgc2hpcHBpbmcgbWV0aG9kOgorICAg
ICAgICBBWFJvbGU6IEFYR3JvdXAgQVhWYWx1ZTogCisgICAgICAgICAgICBBWFJvbGU6IEFYUmFk
aW9CdXR0b24gQVhWYWx1ZTogMAorICAgICAgICAgICAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhW
YWx1ZTogT3Zlcm5pZ2h0CisgICAgQVhSb2xlOiBBWEdyb3VwIEFYVmFsdWU6IAorICAgICAgICBB
WFJvbGU6IEFYU3RhdGljVGV4dCBBWFZhbHVlOiBFbmQgb2YgdGVzdAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkOWNmMTE0
Li45YWI0MTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDgtMjkgIEpvYW5t
YXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFByb3Blcmx5
IGV4cG9zZSA8bGVnZW5kPiBlbGVtZW50cyB0byBBVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0MTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRlZCBhIG5ldyBXZWJDb3JlIEFjY2Vzc2liaWxp
dHkgUm9sZSwgTGVnZW5kUm9sZS4gVXNlZCBpdCB0byBtYXAgdG8KKyAgICAgICAgdGhlIGV4cGVj
dGVkIHBsYXRmb3JtIHJvbGUsIEFUS19ST0xFX0xBQkVMLiBBbHNvIGVzdGFibGlzaGVkIHRoZSBu
ZWVkZWQKKyAgICAgICAgQXRrUmVsYXRpb24gcGFpciwgbGFiZWwtZm9yL2xhYmVsbGVkLWJ5IGJl
dHdlZW4gdGhlIGxlZ2VuZCBhbmQgZmllbGRzZXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3QgbmVl
ZGVkIC0gRXhpc3RpbmcgbGVnZW5kLmh0bWwgdGVzdCBpcyBub3cgdW5za2lwcGVkIGZvciBHdGsu
CisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDogQWRkZWQg
TGVnZW5kUm9sZQorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpk
ZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZSk6IE1hcCBsZWdlbmRUYWcgdG8gTGVnZW5kUm9sZQor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNw
cDoKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVHZXROYW1lKTogRmllbGRzZXQgYWNjZXNzaWJs
ZSBzaG91bGQgdGFrZSBpdHMgbmFtZSBmcm9tIHRoZSBhc3NvY2lhdGVkIExlZ2VuZFJvbGUvbGFi
ZWwKKyAgICAgICAgKHNldEF0a1JlbGF0aW9uU2V0RnJvbUNvcmVPYmplY3QpOiBTZXQgbGFiZWwt
Zm9yL2xhYmVsbGVkLWJ5IEF0a1JlbGF0aW9uIHBhaXIgYmV0d2VlbiBmaWVsZHNldCBhbmQgbGVn
ZW5kCisgICAgICAgIChhdGtSb2xlKTogTWFwIExlZ2VuZFJvbGUgdG8gQVRLX1JPTEVfTEFCRUwK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ci5tbToKKyAgICAgICAgKGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xlTWFwKTogIE1hcCBMZWdlbmRS
b2xlIHRvIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZQorCiAyMDEyLTA4LTI5ICBGbG9yaW4gTWFs
aXRhICA8Zm1hbGl0YUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5jb3JyZWN0IGxhcmdlLWFy
ZWEgY2xpcHBpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmgKaW5kZXggYzAzYjYzZi4uYTk2NWQ0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTE0Myw2ICsx
NDMsNyBAQCBlbnVtIEFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBMYW5kbWFya01haW5Sb2xlLAog
ICAgIExhbmRtYXJrTmF2aWdhdGlvblJvbGUsCiAgICAgTGFuZG1hcmtTZWFyY2hSb2xlLAorICAg
IExlZ2VuZFJvbGUsCiAgICAgTGlua1JvbGUsCiAgICAgTGlzdFJvbGUsCiAgICAgTGlzdEJveFJv
bGUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwYjE1MTJlLi4zN2ZiZWRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKQEAgLTMxNzIsNiArMzE3Miw4IEBAIEFjY2Vzc2liaWxpdHlSb2xlIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKCkKICAgICAg
ICAgcmV0dXJuIExpc3RNYXJrZXJSb2xlOwogICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05h
bWUoYnV0dG9uVGFnKSkKICAgICAgICAgcmV0dXJuIGJ1dHRvblJvbGVUeXBlKCk7CisgICAgaWYg
KG5vZGUgJiYgbm9kZS0+aGFzVGFnTmFtZShsZWdlbmRUYWcpKQorICAgICAgICByZXR1cm4gTGVn
ZW5kUm9sZTsKICAgICBpZiAobV9yZW5kZXJlci0+aXNUZXh0KCkpCiAgICAgICAgIHJldHVybiBT
dGF0aWNUZXh0Um9sZTsKICAgICBpZiAoY3NzQm94ICYmIGNzc0JveC0+aXNJbWFnZSgpKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3Np
YmxlV3JhcHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJL
aXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXggMWY0ODAwMC4uYWMwZDJjMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdy
YXBwZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktp
dEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtOTksNiArOTksMTUgQEAgc3RhdGljIGNvbnN0
IGdjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlR2V0TmFtZShBdGtPYmplY3QqIG9iamVjdCkKICAgICBp
ZiAoIWNvcmVPYmplY3QtPmlzQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCgpKQogICAgICAgICBy
ZXR1cm4gcmV0dXJuU3RyaW5nKGNvcmVPYmplY3QtPnN0cmluZ1ZhbHVlKCkpOwogCisgICAgaWYg
KGNvcmVPYmplY3QtPmlzRmllbGRzZXQoKSkgeworICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBsYWJlbCA9IGNvcmVPYmplY3QtPnRpdGxlVUlFbGVtZW50KCk7CisgICAgICAgIGlmIChsYWJl
bCkgeworICAgICAgICAgICAgQXRrT2JqZWN0KiBhdGtPYmplY3QgPSBsYWJlbC0+d3JhcHBlcigp
OworICAgICAgICAgICAgaWYgKEFUS19JU19URVhUKGF0a09iamVjdCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKGF0a09iamVjdCksIDAsIC0xKTsK
KyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChjb3JlT2JqZWN0LT5pc0NvbnRyb2woKSkgewog
ICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsYWJlbCA9IGNvcmVPYmplY3QtPmNvcnJlc3Bv
bmRpbmdMYWJlbEZvckNvbnRyb2xFbGVtZW50KCk7CiAgICAgICAgIGlmIChsYWJlbCkgewpAQCAt
MTY2LDYgKzE3NSwyMyBAQCBzdGF0aWMgY29uc3QgZ2NoYXIqIHdlYmtpdEFjY2Vzc2libGVHZXRE
ZXNjcmlwdGlvbihBdGtPYmplY3QqIG9iamVjdCkKIAogc3RhdGljIHZvaWQgc2V0QXRrUmVsYXRp
b25TZXRGcm9tQ29yZU9iamVjdChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0LCBBdGtS
ZWxhdGlvblNldCogcmVsYXRpb25TZXQpCiB7CisgICAgaWYgKGNvcmVPYmplY3QtPmlzRmllbGRz
ZXQoKSkgeworICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsYWJlbCA9IGNvcmVPYmplY3Qt
PnRpdGxlVUlFbGVtZW50KCk7CisgICAgICAgIGlmIChsYWJlbCkKKyAgICAgICAgICAgIGF0a19y
ZWxhdGlvbl9zZXRfYWRkX3JlbGF0aW9uX2J5X3R5cGUocmVsYXRpb25TZXQsIEFUS19SRUxBVElP
Tl9MQUJFTExFRF9CWSwgbGFiZWwtPndyYXBwZXIoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBpZiAoY29yZU9iamVjdC0+cm9sZVZhbHVlKCkgPT0gTGVnZW5kUm9sZSkgeworICAg
ICAgICBmb3IgKEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9IGNvcmVPYmplY3QtPnBhcmVu
dE9iamVjdFVuaWdub3JlZCgpOyBwYXJlbnQ7IHBhcmVudCA9IHBhcmVudC0+cGFyZW50T2JqZWN0
VW5pZ25vcmVkKCkpIHsKKyAgICAgICAgICAgIGlmIChwYXJlbnQtPmlzRmllbGRzZXQoKSkgewor
ICAgICAgICAgICAgICAgIGF0a19yZWxhdGlvbl9zZXRfYWRkX3JlbGF0aW9uX2J5X3R5cGUocmVs
YXRpb25TZXQsIEFUS19SRUxBVElPTl9MQUJFTF9GT1IsIHBhcmVudC0+d3JhcHBlcigpKTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBy
ZXR1cm47CisgICAgfQorCiAgICAgaWYgKGNvcmVPYmplY3QtPmlzQ29udHJvbCgpKSB7CiAgICAg
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGxhYmVsID0gY29yZU9iamVjdC0+Y29ycmVzcG9uZGlu
Z0xhYmVsRm9yQ29udHJvbEVsZW1lbnQoKTsKICAgICAgICAgaWYgKGxhYmVsKQpAQCAtMTc2LDYg
KzIwMiw3IEBAIHN0YXRpYyB2b2lkIHNldEF0a1JlbGF0aW9uU2V0RnJvbUNvcmVPYmplY3QoQWNj
ZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCwgQXRrCiAgICAgICAgICAgICBhdGtfcmVsYXRp
b25fc2V0X2FkZF9yZWxhdGlvbl9ieV90eXBlKHJlbGF0aW9uU2V0LCBBVEtfUkVMQVRJT05fTEFC
RUxfRk9SLCBjb250cm9sLT53cmFwcGVyKCkpOwogICAgIH0KIH0KKyAgICAKIAogc3RhdGljIGdw
b2ludGVyIHdlYmtpdF9hY2Nlc3NpYmxlX3BhcmVudF9jbGFzcyA9IDA7CiAKQEAgLTUyMCw2ICs1
NDcsNyBAQCBzdGF0aWMgQXRrUm9sZSBhdGtSb2xlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAg
ICAgY2FzZSBQYXJhZ3JhcGhSb2xlOgogICAgICAgICByZXR1cm4gQVRLX1JPTEVfUEFSQUdSQVBI
OwogICAgIGNhc2UgTGFiZWxSb2xlOgorICAgIGNhc2UgTGVnZW5kUm9sZToKICAgICAgICAgcmV0
dXJuIEFUS19ST0xFX0xBQkVMOwogICAgIGNhc2UgRGl2Um9sZToKICAgICAgICAgcmV0dXJuIEFU
S19ST0xFX1NFQ1RJT047CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCmluZGV4IGYz
Y2Q4MDAuLmFkNDYzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCkBAIC0x
NTc5LDcgKzE1NzksOCBAQCBzdGF0aWMgY29uc3QgQWNjZXNzaWJpbGl0eVJvbGVNYXAmIGNyZWF0
ZUFjY2Vzc2liaWxpdHlSb2xlTWFwKCkKICAgICAgICAgeyBTcGluQnV0dG9uUm9sZSwgTlNBY2Nl
c3NpYmlsaXR5SW5jcmVtZW50b3JSb2xlIH0sCiAgICAgICAgIHsgRm9vdGVyUm9sZSwgTlNBY2Nl
c3NpYmlsaXR5R3JvdXBSb2xlIH0sCiAgICAgICAgIHsgVG9nZ2xlQnV0dG9uUm9sZSwgTlNBY2Nl
c3NpYmlsaXR5QnV0dG9uUm9sZSB9LAotICAgICAgICB7IENhbnZhc1JvbGUsIE5TQWNjZXNzaWJp
bGl0eUltYWdlUm9sZSB9CisgICAgICAgIHsgQ2FudmFzUm9sZSwgTlNBY2Nlc3NpYmlsaXR5SW1h
Z2VSb2xlIH0sCisgICAgICAgIHsgTGVnZW5kUm9sZSwgTlNBY2Nlc3NpYmlsaXR5R3JvdXBSb2xl
IH0KICAgICB9OwogICAgIEFjY2Vzc2liaWxpdHlSb2xlTWFwJiByb2xlTWFwID0gKm5ldyBBY2Nl
c3NpYmlsaXR5Um9sZU1hcDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNGZl
ZWFjOS4uOWQzZmNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBA
QAorMjAxMi0wOC0yOSAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0dUS10gUHJvcGVybHkgZXhwb3NlIDxsZWdlbmQ+IGVsZW1lbnRzIHRvIEFUcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQxMzcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGVkIGEgbmV3
IFdlYkNvcmUgQWNjZXNzaWJpbGl0eSBSb2xlLCBMZWdlbmRSb2xlLiBVc2VkIGl0IHRvIG1hcCB0
bworICAgICAgICB0aGUgZXhwZWN0ZWQgcGxhdGZvcm0gcm9sZSwgQVRLX1JPTEVfTEFCRUwuIEFs
c28gZXN0YWJsaXNoZWQgdGhlIG5lZWRlZAorICAgICAgICBBdGtSZWxhdGlvbiBwYWlyLCBsYWJl
bC1mb3IvbGFiZWxsZWQtYnkgYmV0d2VlbiB0aGUgbGVnZW5kIGFuZCBmaWVsZHNldC4KKworICAg
ICAgICAqIHB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oOiBhZGRlZCBXZWJBY2Nlc3NpYmls
aXR5Um9sZUxlZ2VuZAorICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDogYWRk
ZWQgdGhlIGFzc2VydCBtYXRjaGluZyBydWxlIGZvcgorICAgICAgICBXZWJBY2Nlc3NpYmlsaXR5
Um9sZUxlZ2VuZCBhbmQgTGVnZW5kUm9sZQorCiAyMDEyLTA4LTI5ICBQZXRlciBCZXZlcmxvbyAg
PHBldGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiAgUm9sbGVkIERFUFMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmls
aXR5Um9sZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0
eVJvbGUuaAppbmRleCBmMTczMTgyLi5lYTUyNzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgKQEAgLTg4LDYgKzg4LDcg
QEAgZW51bSBXZWJBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVM
YW5kbWFya01haW4sCiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVMYW5kbWFya05hdmlnYXRpb24s
CiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVMYW5kbWFya1NlYXJjaCwKKyAgICBXZWJBY2Nlc3Np
YmlsaXR5Um9sZUxlZ2VuZCwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxpbmssCiAgICAgV2Vi
QWNjZXNzaWJpbGl0eVJvbGVMaXN0LAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlTGlzdEJveCwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51
bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5j
cHAKaW5kZXggOGVmM2ZlMi4uMWU2YzNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTI2Miw2ICsyNjIsNyBAQCBDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlRG9jdW1lbnRSZWdp
b24sIERvY3VtZW50UmVnaW9uUgogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBY2Nl
c3NpYmlsaXR5Um9sZVVzZXJJbnRlcmZhY2VUb29sdGlwLCBVc2VySW50ZXJmYWNlVG9vbHRpcFJv
bGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5Um9sZVRv
Z2dsZUJ1dHRvbiwgVG9nZ2xlQnV0dG9uUm9sZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlQ2FudmFzLCBDYW52YXNSb2xlKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVMZWdlbmQsIExlZ2VuZFJvbGUp
OwogCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0
OjpVbmNhY2hlZCwgQXBwbGljYXRpb25DYWNoZUhvc3Q6OlVOQ0FDSEVEKTsKIENPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q6OklkbGUsIEFwcGxpY2F0
aW9uQ2FjaGVIb3N0OjpJRExFKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCAxYWY1ZGQyLi41YWIxMjNhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDgtMjkg
IEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFBy
b3Blcmx5IGV4cG9zZSA8bGVnZW5kPiBlbGVtZW50cyB0byBBVHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0MTM3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRlZCBhIG5ldyBXZWJDb3JlIEFjY2Vz
c2liaWxpdHkgUm9sZSwgTGVnZW5kUm9sZS4gVXNlZCBpdCB0byBtYXAgdG8KKyAgICAgICAgdGhl
IGV4cGVjdGVkIHBsYXRmb3JtIHJvbGUsIEFUS19ST0xFX0xBQkVMLiBBbHNvIGVzdGFibGlzaGVk
IHRoZSBuZWVkZWQKKyAgICAgICAgQXRrUmVsYXRpb24gcGFpciwgbGFiZWwtZm9yL2xhYmVsbGVk
LWJ5IGJldHdlZW4gdGhlIGxlZ2VuZCBhbmQgZmllbGRzZXQuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1
bS5jcHA6CisgICAgICAgIChyb2xlVG9TdHJpbmcpOiBhZGRlZCAiTGVnZW5kIiBzdHJpbmcgZm9y
IFdlYkFjY2Vzc2liaWxpdHlSb2xlTGVnZW5kCisKIDIwMTItMDgtMjkgIEtyaXN0w7NmIEtvc3p0
ecOzICA8a2tyaXN0b2ZAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtOUldUXSBUaGUgbnJ3
dCBzaG91bGQgY2hlY2sgdGhlIGNvbnRlbnRzIG9mIHRoZSBza2lwcGVkIGZpbGVzIHdpdGggLS1s
aW50LXRlc3QtZmlsZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENo
cm9taXVtLmNwcAppbmRleCAzNGU0ZTNjLi45YjBjMTI2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJv
bWl1bS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwCkBAIC0yMDgsNiArMjA4LDggQEAgc3Rh
dGljIHN0cmluZyByb2xlVG9TdHJpbmcoV2ViQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICAg
ICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIlRvZ2dsZUJ1dHRvbiIpOwogICAgIGNhc2UgV2ViQWNj
ZXNzaWJpbGl0eVJvbGVDYW52YXM6CiAgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJDYW52
YXMiKTsKKyAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlTGVnZW5kOgorICAgICAgICByZXR1
cm4gcmVzdWx0LmFwcGVuZCgiTGVnZW5kIik7CiAgICAgZGVmYXVsdDoKICAgICAgICAgLy8gQWxz
byBtYXRjaGVzIFdlYkFjY2Vzc2liaWxpdHlSb2xlVW5rbm93bi4KICAgICAgICAgcmV0dXJuIHJl
c3VsdC5hcHBlbmQoIlVua25vd24iKTsKLS0gCjEuNy4xMS40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161626</attachid>
            <date>2012-08-31 00:12:46 -0700</date>
            <delta_ts>2012-09-10 17:08:39 -0700</delta_ts>
            <desc>proposed fix (addressed feedback from review)</desc>
            <filename>84137.patch</filename>
            <type>text/plain</type>
            <size>18522</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAxMDA0ODhlMWUxMzBmMjc0YjlkYTk3NmFiODgxZWE0NTBiOTRhMTM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkaWdnc0BpZ2FsaWEuY29tPgpE
YXRlOiBGcmksIDMxIEF1ZyAyMDEyIDAxOjE4OjA2IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gRml4
IGZvciBidWcgODQxMzcKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAxNiArKysrKysrCiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2xl
Z2VuZC5odG1sICAgICAgICAgICAgICB8IDU2ICsrKysrKysrKysrKysrKysrLS0tLS0KIExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zICAgICAgICAgIHwgIDMgLS0KIC4u
Li9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0IHwgMjAgKysr
KysrKysKIC4uLi9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0
IHwgMjAgKysrKysrLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgMjMgKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaCB8ICAxICsKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwICAgIHwgIDIgKwogLi4uL2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3Jh
cHBlckF0ay5jcHAgICAgICAgICAgICAgfCAyNyArKysrKysrKysrKwogLi4uL21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSAgICAgICAgICAgfCAgMyArLQogU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgfCAxNSArKysrKysKIC4uLi9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmggIHwgIDEgKwogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgfCAgMSArCiBU
b29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE0ICsr
KysrKwogLi4uL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNwcCAg
fCAgMiArCiAxNSBmaWxlcyBjaGFuZ2VkLCAxODUgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25z
KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzOWNlYTE3Li43OWI2ZWVmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDgtMzAgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIFByb3Blcmx5IGV4cG9zZSA8bGVnZW5kPiBlbGVtZW50cyB0
byBBVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0
MTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3Jl
YXRlZCBhIG5ldyBXZWJDb3JlIEFjY2Vzc2liaWxpdHkgUm9sZSwgTGVnZW5kUm9sZS4gVXNlZCBp
dCB0byBtYXAgdG8KKyAgICAgICAgdGhlIGV4cGVjdGVkIHBsYXRmb3JtIHJvbGUsIEFUS19ST0xF
X0xBQkVMLiBBbHNvIGVzdGFibGlzaGVkIHRoZSBuZWVkZWQKKyAgICAgICAgQXRrUmVsYXRpb24g
cGFpciwgbGFiZWwtZm9yL2xhYmVsbGVkLWJ5IGJldHdlZW4gdGhlIGxlZ2VuZCBhbmQgZmllbGRz
ZXQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2xlZ2VuZC5odG1sOiBNb2RpZmllZCB0aGUg
dGVzdCB0byBiZSBtb3JlIHBsYXRmb3JtLWFnbm9zdGljLgorICAgICAgICAqIHBsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zOiBSZW1vdmVkIGxlZ2VuZC5odG1sIGZyb20gdGhlIHNraXBwZWQg
bGlzdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9sZWdl
bmQtZXhwZWN0ZWQudHh0OiBVcGRhdGVkLgorCiAyMDEyLTA4LTMwICBGaWxpcCBQaXpsbyAgPGZw
aXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgQVNTRVJUSU9OIEZBSUxVUkUgaW4gSlNDOjpKU0ds
b2JhbERhdGE6OmZsb2F0MzJBcnJheURlc2NyaXB0b3Igd2hlbiBydW5uaW5nIGZhc3QvanMvZGZn
LWZsb2F0NjRhcnJheS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2xlZ2VuZC5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9sZWdlbmQuaHRtbAppbmRl
eCBiM2M3MDA5Li44ZGI5MjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2xlZ2VuZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbGVnZW5kLmh0bWwK
QEAgLTEsNiArMSwzMSBAQAogPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CisKKyAgICBmdW5jdGlvbiBidWlsZEFj
Y2Vzc2liaWxpdHlUcmVlKGFjY2Vzc2liaWxpdHlPYmplY3QsIGluZGVudCwgdGFyZ2V0T2JqZWN0
LCB0YXJnZXRTdHJpbmcpIHsKKyAgICAgICAgdmFyIHN0ciA9ICIiOworICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGluZGVudDsgaSsrKQorICAgICAgICAgICAgc3RyICs9ICIgICAgIjsKKyAg
ICAgICAgc3RyICs9IGFjY2Vzc2liaWxpdHlPYmplY3Qucm9sZTsKKyAgICAgICAgc3RyICs9ICIg
IiArIGFjY2Vzc2liaWxpdHlPYmplY3Quc3RyaW5nVmFsdWU7CisgICAgICAgIGlmICh0YXJnZXRP
YmplY3QgJiYgYWNjZXNzaWJpbGl0eU9iamVjdC5pc0VxdWFsKHRhcmdldE9iamVjdCkpCisgICAg
ICAgICAgICBzdHIgKz0gIiAgICAgIiArIHRhcmdldFN0cmluZzsKKyAgICAgICAgc3RyICs9ICJc
biI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmVlIikuaW5uZXJUZXh0ICs9
IHN0cjsKKworICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eU9iamVjdC5zdHJpbmdWYWx1ZS5pbmRl
eE9mKCdFbmQgb2YgdGVzdCcpID49IDApCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgdmFyIGNvdW50ID0gYWNjZXNzaWJpbGl0eU9iamVjdC5jaGlsZHJlbkNvdW50OworICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKKyAgICAgICAgICAgIGlmICgh
YnVpbGRBY2Nlc3NpYmlsaXR5VHJlZShhY2Nlc3NpYmlsaXR5T2JqZWN0LmNoaWxkQXRJbmRleChp
KSwgaW5kZW50ICsgMSwgdGFyZ2V0T2JqZWN0LCB0YXJnZXRTdHJpbmcpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IGlkPSJib2R5Ij4KQEAgLTEwLDI4ICsz
NSwzNyBAQAogICAgIDxpbnB1dCBpZD0ib3Zlcm5pZ2h0IiB0eXBlPSJyYWRpbyIgbmFtZT0ic2hp
cHBpbmciIHZhbHVlPSJvdmVybmlnaHQiIC8+T3Zlcm5pZ2h0CiA8L2ZpZWxkc2V0PgogCis8ZGl2
PkVuZCBvZiB0ZXN0PC9kaXY+CisKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPHByZSBpZD0i
dHJlZSI+PC9wcmU+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIAogPHNjcmlwdD4KIAotICAg
IGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYSBmaWVsZHNldCdzIHRpdGxlIHVpIGVsZW1l
bnQgaXMgdGhlIGxlZ2VuZCdzIHN0YXRpYyB0ZXh0LiIpOworICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3RzIHRoYXQgYSBmaWVsZHNldCdzIHRpdGxlIHVpIGVsZW1lbnQgaXMgdGhlIGxlZ2VuZC4i
KTsKKwogICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAg
ZG9jdW1lbnQuYm9keS5mb2N1cygpOworICAgICAgICB2YXIgYm9keSA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAgICAgICB2YXIgZmllbGRzZXQgPSBib2R5LmNo
aWxkQXRJbmRleCgwKTsKKyAgICAgICAgdmFyIHRpdGxlVUlFbGVtZW50ID0gZmllbGRzZXQudGl0
bGVVSUVsZW1lbnQoKTsKIAotICAgICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7CisgICAgICAgIC8vIFByaW50IG91dCB0aGUgdHJlZSBvZiBhY2Nlc3NpYmxlIG9iamVj
dHMsIGluZGljYXRpbmcgdGhlIHRpdGxlVUlFbGVtZW50IHNvCisgICAgICAgIC8vIHRoYXQgZWFj
aCBwbGF0Zm9ybSBjYW4gdmVyaWZ5IHRoZWlyIGV4cGVjdGVkIG9iamVjdCBoYXMgYmVlbiBmb3Vu
ZAorICAgICAgICBidWlsZEFjY2Vzc2liaWxpdHlUcmVlKGJvZHksIDAsIHRpdGxlVUlFbGVtZW50
LCAiPDwgZmllbGRzZXQncyB0aXRsZVVJRWxlbWVudCIpOwogCi0gICAgICAgICAgICB2YXIgYm9k
eSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2R5Iik7Ci0gICAgICAgICAgICBib2R5LmZv
Y3VzKCk7CisgICAgICAgIC8vIFZlcmlmeSB0aGF0IHdlIGhhdmUgZ290dGVuIHRoZSB0aXRsZVVJ
RWxlbWVudCBhbmQgaXQgaGFzIHRoZSBleHBlY3RlZCB0ZXh0LAorICAgICAgICAvLyB3aGljaCBz
aG91bGQgYmUgaW4gdGhlIGxhc3QgZGVzY2VuZGFudCByZWdhcmRsZXNzIG9mIHBsYXRmb3JtLgor
ICAgICAgICBzaG91bGRCZVRydWUoInRpdGxlVUlFbGVtZW50ICE9IG51bGwiKTsKKyAgICAgICAg
dmFyIHRpdGxlVUlFbGVtZW50VGV4dCA9IHRpdGxlVUlFbGVtZW50OworICAgICAgICB3aGlsZSAo
dGl0bGVVSUVsZW1lbnRUZXh0ICYmIHRpdGxlVUlFbGVtZW50VGV4dC5jaGlsZHJlbkNvdW50KQor
ICAgICAgICAgICAgdGl0bGVVSUVsZW1lbnRUZXh0ID0gdGl0bGVVSUVsZW1lbnRUZXh0LmNoaWxk
QXRJbmRleCgwKTsgCiAKLSAgICAgICAgICAgIHZhciBmaWVsZHNldCA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgICAgIHZh
ciB0aXRsZVVJRWxlbWVudCA9IGZpZWxkc2V0LnRpdGxlVUlFbGVtZW50KCk7Ci0gICAgICAgICAg
ICBzaG91bGRCZSgidGl0bGVVSUVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBBWEdyb3VwJyIpOwot
ICAgICAgICAgICAgc2hvdWxkQmUoInRpdGxlVUlFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5yb2xl
IiwgIidBWFJvbGU6IEFYU3RhdGljVGV4dCciKTsKLSAgICAgICAgICAgIHNob3VsZEJlKCJ0aXRs
ZVVJRWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuc3RyaW5nVmFsdWUiLCAiJ0FYVmFsdWU6IENob29z
ZSBhIHNoaXBwaW5nIG1ldGhvZDonIik7Ci0gICAgICAgIH0KKyAgICAgICAgc2hvdWxkQmUoInRp
dGxlVUlFbGVtZW50VGV4dC5zdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogQ2hvb3NlIGEgc2hpcHBp
bmcgbWV0aG9kOiciKTsKICAgICB9CiA8L3NjcmlwdD4KIAotPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9k
eT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggN2FjY2U3Yi4uN2Y0YzlhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTEwODksOSArMTA4OSw2IEBAIEJVR1dLODQwNDQgU0tJUCA6IGFjY2Vzc2li
aWxpdHkvaW1hZ2UtbGluay5odG1sID0gVEVYVAogQlVHV0s4NDA0NSBTS0lQIDogYWNjZXNzaWJp
bGl0eS9pbWFnZS1tYXAxLmh0bWwgPSBURVhUCiBCVUdXSzg0MDQ1IFNLSVAgOiBhY2Nlc3NpYmls
aXR5L2ltYWdlLW1hcDIuaHRtbCA9IFRFWFQKIAotLy8gUHJvcGVybHkgZXhwb3NlIDxsZWdlbmQ+
IGVsZW1lbnRzIHRvIEFUcwotQlVHV0s4NDEzNyBTS0lQIDogYWNjZXNzaWJpbGl0eS9sZWdlbmQu
aHRtbCA9IFRFWFQKLQogLy8gW0RSVF0gZGlkRGV0ZWN0WFNTIGlzIG5vdCBpbXBsZW1lbnRlZAog
QlVHV0s3MTQ2NSA6IGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9zY3JpcHQtdGFnLXdp
dGgtY2FsbGJhY2tzLmh0bWwgPSBURVhUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0MDgzZjQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIwIEBACitDaG9vc2UgYSBzaGlwcGluZyBtZXRob2Q6CitPdmVybmlnaHQKK0Vu
ZCBvZiB0ZXN0CitUaGlzIHRlc3RzIHRoYXQgYSBmaWVsZHNldCdzIHRpdGxlIHVpIGVsZW1lbnQg
aXMgdGhlIGxlZ2VuZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0FYUm9sZTog
ZG9jdW1lbnQgZnJhbWUgCisgICAgQVhSb2xlOiBwYW5lbCAKKyAgICAgICAgQVhSb2xlOiBsYWJl
bCBBWFZhbHVlOiBDaG9vc2UgYSBzaGlwcGluZyBtZXRob2Q6ICAgICA8PCBmaWVsZHNldCdzIHRp
dGxlVUlFbGVtZW50CisgICAgICAgIEFYUm9sZTogcGFuZWwgQVhWYWx1ZTogPG9iaj5PdmVybmln
aHQ8XG4+CisgICAgICAgICAgICBBWFJvbGU6IHJhZGlvIGJ1dHRvbiBBWFZhbHVlOiAKKyAgICBB
WFJvbGU6IHNlY3Rpb24gQVhWYWx1ZTogRW5kIG9mIHRlc3QKK1BBU1MgdGl0bGVVSUVsZW1lbnQg
IT0gbnVsbCBpcyB0cnVlCitQQVNTIHRpdGxlVUlFbGVtZW50VGV4dC5zdHJpbmdWYWx1ZSBpcyAn
QVhWYWx1ZTogQ2hvb3NlIGEgc2hpcHBpbmcgbWV0aG9kOicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dAppbmRleCA5
MWY5ZDQyLi4zMmIwOWFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNj
ZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMjMgQEAK
IENob29zZSBhIHNoaXBwaW5nIG1ldGhvZDoKIE92ZXJuaWdodAotVGhpcyB0ZXN0cyB0aGF0IGEg
ZmllbGRzZXQncyB0aXRsZSB1aSBlbGVtZW50IGlzIHRoZSBsZWdlbmQncyBzdGF0aWMgdGV4dC4K
K0VuZCBvZiB0ZXN0CitUaGlzIHRlc3RzIHRoYXQgYSBmaWVsZHNldCdzIHRpdGxlIHVpIGVsZW1l
bnQgaXMgdGhlIGxlZ2VuZC4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1Mg
dGl0bGVVSUVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWEdyb3VwJwotUEFTUyB0aXRsZVVJRWxl
bWVudC5jaGlsZEF0SW5kZXgoMCkucm9sZSBpcyAnQVhSb2xlOiBBWFN0YXRpY1RleHQnCi1QQVNT
IHRpdGxlVUlFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTog
Q2hvb3NlIGEgc2hpcHBpbmcgbWV0aG9kOicKK0FYUm9sZTogQVhXZWJBcmVhIEFYVmFsdWU6IAor
ICAgIEFYUm9sZTogQVhHcm91cCBBWFZhbHVlOiAKKyAgICAgICAgQVhSb2xlOiBBWEdyb3VwIEFY
VmFsdWU6ICAgICAgPDwgZmllbGRzZXQncyB0aXRsZVVJRWxlbWVudAorICAgICAgICAgICAgQVhS
b2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogQ2hvb3NlIGEgc2hpcHBpbmcgbWV0aG9kOgorICAg
ICAgICBBWFJvbGU6IEFYR3JvdXAgQVhWYWx1ZTogCisgICAgICAgICAgICBBWFJvbGU6IEFYUmFk
aW9CdXR0b24gQVhWYWx1ZTogMAorICAgICAgICAgICAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhW
YWx1ZTogT3Zlcm5pZ2h0CisgICAgQVhSb2xlOiBBWEdyb3VwIEFYVmFsdWU6IAorICAgICAgICBB
WFJvbGU6IEFYU3RhdGljVGV4dCBBWFZhbHVlOiBFbmQgb2YgdGVzdAorUEFTUyB0aXRsZVVJRWxl
bWVudCAhPSBudWxsIGlzIHRydWUKK1BBU1MgdGl0bGVVSUVsZW1lbnRUZXh0LnN0cmluZ1ZhbHVl
IGlzICdBWFZhbHVlOiBDaG9vc2UgYSBzaGlwcGluZyBtZXRob2Q6JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlZjhjNjI4
Li4xNTEwOGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDgtMzAgIEpvYW5t
YXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFByb3Blcmx5IGV4cG9z
ZSA8bGVnZW5kPiBlbGVtZW50cyB0byBBVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg0MTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ3JlYXRlZCBhIG5ldyBXZWJDb3JlIEFjY2Vzc2liaWxpdHkgUm9s
ZSwgTGVnZW5kUm9sZS4gVXNlZCBpdCB0byBtYXAgdG8KKyAgICAgICAgdGhlIGV4cGVjdGVkIHBs
YXRmb3JtIHJvbGUsIEFUS19ST0xFX0xBQkVMLiBBbHNvIGVzdGFibGlzaGVkIHRoZSBuZWVkZWQK
KyAgICAgICAgQXRrUmVsYXRpb24gcGFpciwgbGFiZWwtZm9yL2xhYmVsbGVkLWJ5IGJldHdlZW4g
dGhlIGxlZ2VuZCBhbmQgZmllbGRzZXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3QgbmVlZGVkIC0g
RXhpc3RpbmcgbGVnZW5kLmh0bWwgdGVzdCBpcyBub3cgdW5za2lwcGVkIGZvciBHdGsuCisKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDogQWRkZWQgTGVnZW5k
Um9sZQorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpkZXRlcm1p
bmVBY2Nlc3NpYmlsaXR5Um9sZSk6IE1hcCBsZWdlbmRUYWcgdG8gTGVnZW5kUm9sZQorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcDoKKyAg
ICAgICAgKHdlYmtpdEFjY2Vzc2libGVHZXROYW1lKTogRmllbGRzZXQgYWNjZXNzaWJsZSBzaG91
bGQgdGFrZSBpdHMgbmFtZSBmcm9tIHRoZSBhc3NvY2lhdGVkIExlZ2VuZFJvbGUvbGFiZWwKKyAg
ICAgICAgKHNldEF0a1JlbGF0aW9uU2V0RnJvbUNvcmVPYmplY3QpOiBTZXQgbGFiZWwtZm9yL2xh
YmVsbGVkLWJ5IEF0a1JlbGF0aW9uIHBhaXIgYmV0d2VlbiBmaWVsZHNldCBhbmQgbGVnZW5kCisg
ICAgICAgIChhdGtSb2xlKTogTWFwIExlZ2VuZFJvbGUgdG8gQVRLX1JPTEVfTEFCRUwKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbToK
KyAgICAgICAgKGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xlTWFwKTogIE1hcCBMZWdlbmRSb2xlIHRv
IE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZQorCiAyMDEyLTA4LTMwICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVwbGFjZSBtb3JlIGluc3RhbmNlcyBvZiArPSB3
aXRoIFN0cmluZ0J1aWxkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggYzAzYjYzZi4uYTk2NWQ0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTE0
Myw2ICsxNDMsNyBAQCBlbnVtIEFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBMYW5kbWFya01haW5S
b2xlLAogICAgIExhbmRtYXJrTmF2aWdhdGlvblJvbGUsCiAgICAgTGFuZG1hcmtTZWFyY2hSb2xl
LAorICAgIExlZ2VuZFJvbGUsCiAgICAgTGlua1JvbGUsCiAgICAgTGlzdFJvbGUsCiAgICAgTGlz
dEJveFJvbGUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwYjE1MTJlLi4zN2ZiZWRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTMxNzIsNiArMzE3Miw4IEBAIEFjY2Vzc2liaWxpdHlSb2xl
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKCkK
ICAgICAgICAgcmV0dXJuIExpc3RNYXJrZXJSb2xlOwogICAgIGlmIChub2RlICYmIG5vZGUtPmhh
c1RhZ05hbWUoYnV0dG9uVGFnKSkKICAgICAgICAgcmV0dXJuIGJ1dHRvblJvbGVUeXBlKCk7Cisg
ICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFzVGFnTmFtZShsZWdlbmRUYWcpKQorICAgICAgICByZXR1
cm4gTGVnZW5kUm9sZTsKICAgICBpZiAobV9yZW5kZXJlci0+aXNUZXh0KCkpCiAgICAgICAgIHJl
dHVybiBTdGF0aWNUZXh0Um9sZTsKICAgICBpZiAoY3NzQm94ICYmIGNzc0JveC0+aXNJbWFnZSgp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRB
Y2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0
ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKaW5kZXggMWY0ODAwMC4uM2ZhMGE3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNz
aWJsZVdyYXBwZXJBdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3Rr
L1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcApAQCAtOTksNiArOTksMTUgQEAgc3RhdGlj
IGNvbnN0IGdjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlR2V0TmFtZShBdGtPYmplY3QqIG9iamVjdCkK
ICAgICBpZiAoIWNvcmVPYmplY3QtPmlzQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCgpKQogICAg
ICAgICByZXR1cm4gcmV0dXJuU3RyaW5nKGNvcmVPYmplY3QtPnN0cmluZ1ZhbHVlKCkpOwogCisg
ICAgaWYgKGNvcmVPYmplY3QtPmlzRmllbGRzZXQoKSkgeworICAgICAgICBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBsYWJlbCA9IGNvcmVPYmplY3QtPnRpdGxlVUlFbGVtZW50KCk7CisgICAgICAgIGlm
IChsYWJlbCkgeworICAgICAgICAgICAgQXRrT2JqZWN0KiBhdGtPYmplY3QgPSBsYWJlbC0+d3Jh
cHBlcigpOworICAgICAgICAgICAgaWYgKEFUS19JU19URVhUKGF0a09iamVjdCkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGF0a190ZXh0X2dldF90ZXh0KEFUS19URVhUKGF0a09iamVjdCksIDAs
IC0xKTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChjb3JlT2JqZWN0LT5pc0NvbnRyb2wo
KSkgewogICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsYWJlbCA9IGNvcmVPYmplY3QtPmNv
cnJlc3BvbmRpbmdMYWJlbEZvckNvbnRyb2xFbGVtZW50KCk7CiAgICAgICAgIGlmIChsYWJlbCkg
ewpAQCAtMTY2LDYgKzE3NSwyMyBAQCBzdGF0aWMgY29uc3QgZ2NoYXIqIHdlYmtpdEFjY2Vzc2li
bGVHZXREZXNjcmlwdGlvbihBdGtPYmplY3QqIG9iamVjdCkKIAogc3RhdGljIHZvaWQgc2V0QXRr
UmVsYXRpb25TZXRGcm9tQ29yZU9iamVjdChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0
LCBBdGtSZWxhdGlvblNldCogcmVsYXRpb25TZXQpCiB7CisgICAgaWYgKGNvcmVPYmplY3QtPmlz
RmllbGRzZXQoKSkgeworICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsYWJlbCA9IGNvcmVP
YmplY3QtPnRpdGxlVUlFbGVtZW50KCk7CisgICAgICAgIGlmIChsYWJlbCkKKyAgICAgICAgICAg
IGF0a19yZWxhdGlvbl9zZXRfYWRkX3JlbGF0aW9uX2J5X3R5cGUocmVsYXRpb25TZXQsIEFUS19S
RUxBVElPTl9MQUJFTExFRF9CWSwgbGFiZWwtPndyYXBwZXIoKSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoY29yZU9iamVjdC0+cm9sZVZhbHVlKCkgPT0gTGVnZW5kUm9sZSkg
eworICAgICAgICBmb3IgKEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9IGNvcmVPYmplY3Qt
PnBhcmVudE9iamVjdFVuaWdub3JlZCgpOyBwYXJlbnQ7IHBhcmVudCA9IHBhcmVudC0+cGFyZW50
T2JqZWN0VW5pZ25vcmVkKCkpIHsKKyAgICAgICAgICAgIGlmIChwYXJlbnQtPmlzRmllbGRzZXQo
KSkgeworICAgICAgICAgICAgICAgIGF0a19yZWxhdGlvbl9zZXRfYWRkX3JlbGF0aW9uX2J5X3R5
cGUocmVsYXRpb25TZXQsIEFUS19SRUxBVElPTl9MQUJFTF9GT1IsIHBhcmVudC0+d3JhcHBlcigp
KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKGNvcmVPYmplY3QtPmlzQ29udHJvbCgpKSB7
CiAgICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGxhYmVsID0gY29yZU9iamVjdC0+Y29ycmVz
cG9uZGluZ0xhYmVsRm9yQ29udHJvbEVsZW1lbnQoKTsKICAgICAgICAgaWYgKGxhYmVsKQpAQCAt
NTIwLDYgKzU0Niw3IEBAIHN0YXRpYyBBdGtSb2xlIGF0a1JvbGUoQWNjZXNzaWJpbGl0eVJvbGUg
cm9sZSkKICAgICBjYXNlIFBhcmFncmFwaFJvbGU6CiAgICAgICAgIHJldHVybiBBVEtfUk9MRV9Q
QVJBR1JBUEg7CiAgICAgY2FzZSBMYWJlbFJvbGU6CisgICAgY2FzZSBMZWdlbmRSb2xlOgogICAg
ICAgICByZXR1cm4gQVRLX1JPTEVfTEFCRUw7CiAgICAgY2FzZSBEaXZSb2xlOgogICAgICAgICBy
ZXR1cm4gQVRLX1JPTEVfU0VDVElPTjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0K
aW5kZXggZjNjZDgwMC4uYWQ0NjM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIu
bW0KQEAgLTE1NzksNyArMTU3OSw4IEBAIHN0YXRpYyBjb25zdCBBY2Nlc3NpYmlsaXR5Um9sZU1h
cCYgY3JlYXRlQWNjZXNzaWJpbGl0eVJvbGVNYXAoKQogICAgICAgICB7IFNwaW5CdXR0b25Sb2xl
LCBOU0FjY2Vzc2liaWxpdHlJbmNyZW1lbnRvclJvbGUgfSwKICAgICAgICAgeyBGb290ZXJSb2xl
LCBOU0FjY2Vzc2liaWxpdHlHcm91cFJvbGUgfSwKICAgICAgICAgeyBUb2dnbGVCdXR0b25Sb2xl
LCBOU0FjY2Vzc2liaWxpdHlCdXR0b25Sb2xlIH0sCi0gICAgICAgIHsgQ2FudmFzUm9sZSwgTlNB
Y2Nlc3NpYmlsaXR5SW1hZ2VSb2xlIH0KKyAgICAgICAgeyBDYW52YXNSb2xlLCBOU0FjY2Vzc2li
aWxpdHlJbWFnZVJvbGUgfSwKKyAgICAgICAgeyBMZWdlbmRSb2xlLCBOU0FjY2Vzc2liaWxpdHlH
cm91cFJvbGUgfQogICAgIH07CiAgICAgQWNjZXNzaWJpbGl0eVJvbGVNYXAmIHJvbGVNYXAgPSAq
bmV3IEFjY2Vzc2liaWxpdHlSb2xlTWFwOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCBmNTk3NThiLi4wZTU5YzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDEyLTA4LTMwICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNv
bT4KKworICAgICAgICBQcm9wZXJseSBleHBvc2UgPGxlZ2VuZD4gZWxlbWVudHMgdG8gQVRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDEzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENyZWF0ZWQgYSBu
ZXcgV2ViQ29yZSBBY2Nlc3NpYmlsaXR5IFJvbGUsIExlZ2VuZFJvbGUuIFVzZWQgaXQgdG8gbWFw
IHRvCisgICAgICAgIHRoZSBleHBlY3RlZCBwbGF0Zm9ybSByb2xlLCBBVEtfUk9MRV9MQUJFTC4g
QWxzbyBlc3RhYmxpc2hlZCB0aGUgbmVlZGVkCisgICAgICAgIEF0a1JlbGF0aW9uIHBhaXIsIGxh
YmVsLWZvci9sYWJlbGxlZC1ieSBiZXR3ZWVuIHRoZSBsZWdlbmQgYW5kIGZpZWxkc2V0LgorCisg
ICAgICAgICogcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmg6IGFkZGVkIFdlYkFjY2Vzc2li
aWxpdHlSb2xlTGVnZW5kCisgICAgICAgICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOiBh
ZGRlZCB0aGUgYXNzZXJ0IG1hdGNoaW5nIHJ1bGUgZm9yCisgICAgICAgIFdlYkFjY2Vzc2liaWxp
dHlSb2xlTGVnZW5kIGFuZCBMZWdlbmRSb2xlCisKIDIwMTItMDgtMzAgIEphbWVzIFJvYmluc29u
ICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE1ha2Ugd2Via2l0
X2NvbXBvc2l0b3Igc3BlY2lmaWMgdW5pdCB0ZXN0IGNvbXBpbGF0aW9uIGNvbmRpdGlvbmFsIG9u
IGd5cCB2YXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFj
Y2Vzc2liaWxpdHlSb2xlLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nl
c3NpYmlsaXR5Um9sZS5oCmluZGV4IGYxNzMxODIuLmVhNTI3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaApAQCAtODgs
NiArODgsNyBAQCBlbnVtIFdlYkFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBXZWJBY2Nlc3NpYmls
aXR5Um9sZUxhbmRtYXJrTWFpbiwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxhbmRtYXJrTmF2
aWdhdGlvbiwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxhbmRtYXJrU2VhcmNoLAorICAgIFdl
YkFjY2Vzc2liaWxpdHlSb2xlTGVnZW5kLAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlTGluaywK
ICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxpc3QsCiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVM
aXN0Qm94LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0
Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcAppbmRleCA4ZWYzZmUyLi4xZTZjM2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMjYyLDYgKzI2Miw3
IEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVEb2N1
bWVudFJlZ2lvbiwgRG9jdW1lbnRSZWdpb25SCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkFjY2Vzc2liaWxpdHlSb2xlVXNlckludGVyZmFjZVRvb2x0aXAsIFVzZXJJbnRlcmZhY2VU
b29sdGlwUm9sZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxp
dHlSb2xlVG9nZ2xlQnV0dG9uLCBUb2dnbGVCdXR0b25Sb2xlKTsKIENPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVDYW52YXMsIENhbnZhc1JvbGUpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5Um9sZUxlZ2VuZCwgTGVn
ZW5kUm9sZSk7CiAKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQXBwbGljYXRpb25D
YWNoZUhvc3Q6OlVuY2FjaGVkLCBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6VU5DQUNIRUQpOwogQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDo6SWRsZSwg
QXBwbGljYXRpb25DYWNoZUhvc3Q6OklETEUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDY3ODY1YmEuLmJmMzQwNDQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0wOC0zMCAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisKKyAgICAgICAg
UHJvcGVybHkgZXhwb3NlIDxsZWdlbmQ+IGVsZW1lbnRzIHRvIEFUcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQxMzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGVkIGEgbmV3IFdlYkNvcmUgQWNj
ZXNzaWJpbGl0eSBSb2xlLCBMZWdlbmRSb2xlLiBVc2VkIGl0IHRvIG1hcCB0bworICAgICAgICB0
aGUgZXhwZWN0ZWQgcGxhdGZvcm0gcm9sZSwgQVRLX1JPTEVfTEFCRUwuIEFsc28gZXN0YWJsaXNo
ZWQgdGhlIG5lZWRlZAorICAgICAgICBBdGtSZWxhdGlvbiBwYWlyLCBsYWJlbC1mb3IvbGFiZWxs
ZWQtYnkgYmV0d2VlbiB0aGUgbGVnZW5kIGFuZCBmaWVsZHNldC4KKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9t
aXVtLmNwcDoKKyAgICAgICAgKHJvbGVUb1N0cmluZyk6IGFkZGVkICJMZWdlbmQiIHN0cmluZyBm
b3IgV2ViQWNjZXNzaWJpbGl0eVJvbGVMZWdlbmQKKwogMjAxMi0wOC0zMCAgWGlhbnpodSBXYW5n
ICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bS1BbmRyb2lk
XSBTa2lwIGNvbXBvc2l0aW5nL3dlYmdsIGFuZCBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL3Ro
cmVhZGVkL2NvbXBvc2l0aW5nL3dlYmdsIHRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1
bS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAKaW5kZXggMzRlNGUzYy4uOWIwYzEyNiAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxlbWVudENocm9taXVtLmNwcApAQCAtMjA4
LDYgKzIwOCw4IEBAIHN0YXRpYyBzdHJpbmcgcm9sZVRvU3RyaW5nKFdlYkFjY2Vzc2liaWxpdHlS
b2xlIHJvbGUpCiAgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJUb2dnbGVCdXR0b24iKTsK
ICAgICBjYXNlIFdlYkFjY2Vzc2liaWxpdHlSb2xlQ2FudmFzOgogICAgICAgICByZXR1cm4gcmVz
dWx0LmFwcGVuZCgiQ2FudmFzIik7CisgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxlZ2Vu
ZDoKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIkxlZ2VuZCIpOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIC8vIEFsc28gbWF0Y2hlcyBXZWJBY2Nlc3NpYmlsaXR5Um9sZVVua25vd24uCiAg
ICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJVbmtub3duIik7Ci0tIAoxLjcuMTEuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163254</attachid>
            <date>2012-09-10 17:08:46 -0700</date>
            <delta_ts>2012-09-10 18:41:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84137-20120910200821.patch</filename>
            <type>text/plain</type>
            <size>18093</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjI5Yzk4MTU5YTEyZGQw
NGMwNzk5NzhiYjcyNWU4NGNmZGExMGNlMy4uZWM1MmExNWU5MmU3ZGI1ZWYxYjQ2OGYzYTdiZjFl
NWEyM2MwNTQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA5LTEwICBKb2Fu
bWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBQcm9wZXJseSBleHBv
c2UgPGxlZ2VuZD4gZWxlbWVudHMgdG8gQVRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NDEzNworCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZs
ZWl6YWNoLgorCisgICAgICAgIENyZWF0ZWQgYSBuZXcgV2ViQ29yZSBBY2Nlc3NpYmlsaXR5IFJv
bGUsIExlZ2VuZFJvbGUuIFVzZWQgaXQgdG8gbWFwIHRvCisgICAgICAgIHRoZSBleHBlY3RlZCBw
bGF0Zm9ybSByb2xlLCBBVEtfUk9MRV9MQUJFTC4gQWxzbyBlc3RhYmxpc2hlZCB0aGUgbmVlZGVk
CisgICAgICAgIEF0a1JlbGF0aW9uIHBhaXIsIGxhYmVsLWZvci9sYWJlbGxlZC1ieSBiZXR3ZWVu
IHRoZSBsZWdlbmQgYW5kIGZpZWxkc2V0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0IG5lZWRlZCAt
IEV4aXN0aW5nIGxlZ2VuZC5odG1sIHRlc3QgaXMgbm93IHVuc2tpcHBlZCBmb3IgR3RrLgorCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6IEFkZGVkIExlZ2Vu
ZFJvbGUKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZGV0ZXJt
aW5lQWNjZXNzaWJpbGl0eVJvbGUpOiBNYXAgbGVnZW5kVGFnIHRvIExlZ2VuZFJvbGUKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHA6Cisg
ICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlR2V0TmFtZSk6IEZpZWxkc2V0IGFjY2Vzc2libGUgc2hv
dWxkIHRha2UgaXRzIG5hbWUgZnJvbSB0aGUgYXNzb2NpYXRlZCBMZWdlbmRSb2xlL2xhYmVsCisg
ICAgICAgIChzZXRBdGtSZWxhdGlvblNldEZyb21Db3JlT2JqZWN0KTogU2V0IGxhYmVsLWZvci9s
YWJlbGxlZC1ieSBBdGtSZWxhdGlvbiBwYWlyIGJldHdlZW4gZmllbGRzZXQgYW5kIGxlZ2VuZAor
ICAgICAgICAoYXRrUm9sZSk6IE1hcCBMZWdlbmRSb2xlIHRvIEFUS19ST0xFX0xBQkVMCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW06
CisgICAgICAgIChjcmVhdGVBY2Nlc3NpYmlsaXR5Um9sZU1hcCk6ICBNYXAgTGVnZW5kUm9sZSB0
byBOU0FjY2Vzc2liaWxpdHlHcm91cFJvbGUKKwogMjAxMi0wOS0xMCAgT2phbiBWYWZhaSAgPG9q
YW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmFtZSBib3gtc2l6aW5nIGFwcGx5aW5nIG1l
dGhvZHMgdG8gYmUgbW9yZSBjbGVhciBhYm91dCBqdXN0IGFwcGx5aW5nIGJveC1zaXppbmcuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDFiMzEyZjcyMmYzMzExNzMyZDZmZDM4OTUxYTU3
YjJjODFjYjc5YjQuLjg0MWJiZTZlZDhlZTRmZGEyOTBiM2MyN2M1ODhjY2IwY2IzOGZmMTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDktMTAgIEpv
YW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFByb3Blcmx5IGV4
cG9zZSA8bGVnZW5kPiBlbGVtZW50cyB0byBBVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg0MTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMg
RmxlaXphY2guCisKKyAgICAgICAgQ3JlYXRlZCBhIG5ldyBXZWJDb3JlIEFjY2Vzc2liaWxpdHkg
Um9sZSwgTGVnZW5kUm9sZS4gVXNlZCBpdCB0byBtYXAgdG8KKyAgICAgICAgdGhlIGV4cGVjdGVk
IHBsYXRmb3JtIHJvbGUsIEFUS19ST0xFX0xBQkVMLiBBbHNvIGVzdGFibGlzaGVkIHRoZSBuZWVk
ZWQKKyAgICAgICAgQXRrUmVsYXRpb24gcGFpciwgbGFiZWwtZm9yL2xhYmVsbGVkLWJ5IGJldHdl
ZW4gdGhlIGxlZ2VuZCBhbmQgZmllbGRzZXQuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNz
aWJpbGl0eVJvbGUuaDogYWRkZWQgV2ViQWNjZXNzaWJpbGl0eVJvbGVMZWdlbmQKKyAgICAgICAg
KiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6IGFkZGVkIHRoZSBhc3NlcnQgbWF0Y2hpbmcg
cnVsZSBmb3IKKyAgICAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVMZWdlbmQgYW5kIExlZ2VuZFJv
bGUKKwogMjAxMi0wOS0xMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW1Y4XSBWOEF1eGlsaWFyeUNvbnRleHQgdXNlZCBieSBJREIgbGVha3MgbWVtb3J5CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CmluZGV4IGNhNjNmM2YxZDllZjgzNDExMTFhMTMzZDg0MDRmNWQ0Y2M2ZjM4YzEuLjllNDE4MTIx
MmZlZWY4NmFjOWE2ZmU1MTdiMTQ2YTk1ZjRmODU3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC0xNDQsNiArMTQ0LDcg
QEAgZW51bSBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgTGFuZG1hcmtNYWluUm9sZSwKICAgICBM
YW5kbWFya05hdmlnYXRpb25Sb2xlLAogICAgIExhbmRtYXJrU2VhcmNoUm9sZSwKKyAgICBMZWdl
bmRSb2xlLAogICAgIExpbmtSb2xlLAogICAgIExpc3RSb2xlLAogICAgIExpc3RCb3hSb2xlLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKaW5kZXggODdlMmY4MTc5NjBiNTIyZDFmOTY3MzIwZjEyMTkwNjNj
YmEzYWNiZS4uNGYyOTViMzU0ZTNiZDZlMGZiNDYyNGM5MzA1YzY3MDVhOTMxMDYyNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwCkBAIC0zMTkyLDYgKzMxOTIsOCBAQCBBY2Nlc3NpYmlsaXR5Um9sZSBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZSgpCiAg
ICAgICAgIHJldHVybiBMaXN0TWFya2VyUm9sZTsKICAgICBpZiAobm9kZSAmJiBub2RlLT5oYXNU
YWdOYW1lKGJ1dHRvblRhZykpCiAgICAgICAgIHJldHVybiBidXR0b25Sb2xlVHlwZSgpOworICAg
IGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUobGVnZW5kVGFnKSkKKyAgICAgICAgcmV0dXJu
IExlZ2VuZFJvbGU7CiAgICAgaWYgKG1fcmVuZGVyZXItPmlzVGV4dCgpKQogICAgICAgICByZXR1
cm4gU3RhdGljVGV4dFJvbGU7CiAgICAgaWYgKGNzc0JveCAmJiBjc3NCb3gtPmlzSW1hZ2UoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNj
ZXNzaWJsZVdyYXBwZXJBdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsv
V2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCmluZGV4IGVjOTkwMzc2ZmY4NjBmMzA0YTA1
ZmFiNDAzYjhkOTk5ZGMwYTQwNjQuLmVjMjIzYWEwMjU1ZjAzN2ViYzZiOTA5NzcxNjMwMTg1MWNk
MDg0MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL1dlYktp
dEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKQEAgLTk5LDYgKzk5LDE1IEBA
IHN0YXRpYyBjb25zdCBnY2hhciogd2Via2l0QWNjZXNzaWJsZUdldE5hbWUoQXRrT2JqZWN0KiBv
YmplY3QpCiAgICAgaWYgKCFjb3JlT2JqZWN0LT5pc0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qo
KSkKICAgICAgICAgcmV0dXJuIHJldHVyblN0cmluZyhjb3JlT2JqZWN0LT5zdHJpbmdWYWx1ZSgp
KTsKIAorICAgIGlmIChjb3JlT2JqZWN0LT5pc0ZpZWxkc2V0KCkpIHsKKyAgICAgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogbGFiZWwgPSBjb3JlT2JqZWN0LT50aXRsZVVJRWxlbWVudCgpOworICAg
ICAgICBpZiAobGFiZWwpIHsKKyAgICAgICAgICAgIEF0a09iamVjdCogYXRrT2JqZWN0ID0gbGFi
ZWwtPndyYXBwZXIoKTsKKyAgICAgICAgICAgIGlmIChBVEtfSVNfVEVYVChhdGtPYmplY3QpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBhdGtfdGV4dF9nZXRfdGV4dChBVEtfVEVYVChhdGtPYmpl
Y3QpLCAwLCAtMSk7CisgICAgICAgIH0KKyAgICB9CisKICAgICBpZiAoY29yZU9iamVjdC0+aXND
b250cm9sKCkpIHsKICAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogbGFiZWwgPSBjb3JlT2Jq
ZWN0LT5jb3JyZXNwb25kaW5nTGFiZWxGb3JDb250cm9sRWxlbWVudCgpOwogICAgICAgICBpZiAo
bGFiZWwpIHsKQEAgLTE2Niw2ICsxNzUsMjMgQEAgc3RhdGljIGNvbnN0IGdjaGFyKiB3ZWJraXRB
Y2Nlc3NpYmxlR2V0RGVzY3JpcHRpb24oQXRrT2JqZWN0KiBvYmplY3QpCiAKIHN0YXRpYyB2b2lk
IHNldEF0a1JlbGF0aW9uU2V0RnJvbUNvcmVPYmplY3QoQWNjZXNzaWJpbGl0eU9iamVjdCogY29y
ZU9iamVjdCwgQXRrUmVsYXRpb25TZXQqIHJlbGF0aW9uU2V0KQogeworICAgIGlmIChjb3JlT2Jq
ZWN0LT5pc0ZpZWxkc2V0KCkpIHsKKyAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogbGFiZWwg
PSBjb3JlT2JqZWN0LT50aXRsZVVJRWxlbWVudCgpOworICAgICAgICBpZiAobGFiZWwpCisgICAg
ICAgICAgICBhdGtfcmVsYXRpb25fc2V0X2FkZF9yZWxhdGlvbl9ieV90eXBlKHJlbGF0aW9uU2V0
LCBBVEtfUkVMQVRJT05fTEFCRUxMRURfQlksIGxhYmVsLT53cmFwcGVyKCkpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKGNvcmVPYmplY3QtPnJvbGVWYWx1ZSgpID09IExlZ2Vu
ZFJvbGUpIHsKKyAgICAgICAgZm9yIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnQgPSBjb3Jl
T2JqZWN0LT5wYXJlbnRPYmplY3RVbmlnbm9yZWQoKTsgcGFyZW50OyBwYXJlbnQgPSBwYXJlbnQt
PnBhcmVudE9iamVjdFVuaWdub3JlZCgpKSB7CisgICAgICAgICAgICBpZiAocGFyZW50LT5pc0Zp
ZWxkc2V0KCkpIHsKKyAgICAgICAgICAgICAgICBhdGtfcmVsYXRpb25fc2V0X2FkZF9yZWxhdGlv
bl9ieV90eXBlKHJlbGF0aW9uU2V0LCBBVEtfUkVMQVRJT05fTEFCRUxfRk9SLCBwYXJlbnQtPndy
YXBwZXIoKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChjb3JlT2JqZWN0LT5pc0NvbnRy
b2woKSkgewogICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsYWJlbCA9IGNvcmVPYmplY3Qt
PmNvcnJlc3BvbmRpbmdMYWJlbEZvckNvbnRyb2xFbGVtZW50KCk7CiAgICAgICAgIGlmIChsYWJl
bCkKQEAgLTUxOSw2ICs1NDUsNyBAQCBzdGF0aWMgQXRrUm9sZSBhdGtSb2xlKEFjY2Vzc2liaWxp
dHlSb2xlIHJvbGUpCiAgICAgY2FzZSBQYXJhZ3JhcGhSb2xlOgogICAgICAgICByZXR1cm4gQVRL
X1JPTEVfUEFSQUdSQVBIOwogICAgIGNhc2UgTGFiZWxSb2xlOgorICAgIGNhc2UgTGVnZW5kUm9s
ZToKICAgICAgICAgcmV0dXJuIEFUS19ST0xFX0xBQkVMOwogICAgIGNhc2UgRGl2Um9sZToKICAg
ICAgICAgcmV0dXJuIEFUS19ST0xFX1NFQ1RJT047CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyLm1tCmluZGV4IGI1MDlkYWNkMWEyMmE2YWZiNWIyN2FhNjAwNDU0ZGFhMThhMmVlMTAuLjI2
YzdhYWUyN2FiYmZlZGU3MDBmY2YxNjNiNDlhYWNlNmI2YjRkYWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyLm1tCkBAIC0xNTc5LDcgKzE1NzksOCBAQCBzdGF0aWMgY29uc3QgQWNj
ZXNzaWJpbGl0eVJvbGVNYXAmIGNyZWF0ZUFjY2Vzc2liaWxpdHlSb2xlTWFwKCkKICAgICAgICAg
eyBTcGluQnV0dG9uUm9sZSwgTlNBY2Nlc3NpYmlsaXR5SW5jcmVtZW50b3JSb2xlIH0sCiAgICAg
ICAgIHsgRm9vdGVyUm9sZSwgTlNBY2Nlc3NpYmlsaXR5R3JvdXBSb2xlIH0sCiAgICAgICAgIHsg
VG9nZ2xlQnV0dG9uUm9sZSwgTlNBY2Nlc3NpYmlsaXR5QnV0dG9uUm9sZSB9LAotICAgICAgICB7
IENhbnZhc1JvbGUsIE5TQWNjZXNzaWJpbGl0eUltYWdlUm9sZSB9CisgICAgICAgIHsgQ2FudmFz
Um9sZSwgTlNBY2Nlc3NpYmlsaXR5SW1hZ2VSb2xlIH0sCisgICAgICAgIHsgTGVnZW5kUm9sZSwg
TlNBY2Nlc3NpYmlsaXR5R3JvdXBSb2xlIH0KICAgICB9OwogICAgIEFjY2Vzc2liaWxpdHlSb2xl
TWFwJiByb2xlTWFwID0gKm5ldyBBY2Nlc3NpYmlsaXR5Um9sZU1hcDsKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oCmlu
ZGV4IGRiOGZiY2JkNGY1MGJiZmJmN2Y5NTc2YmRlNDc2ZGRhOGYzMWUxOGEuLmQ0YTRjNzE1YWM4
ZThjZTA1Y2ZkN2MzNDA2N2NmZmMzN2M4ZTRlMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlSb2xlLmgKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaApAQCAtODksNiArODksNyBA
QCBlbnVtIFdlYkFjY2Vzc2liaWxpdHlSb2xlIHsKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxh
bmRtYXJrTWFpbiwKICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxhbmRtYXJrTmF2aWdhdGlvbiwK
ICAgICBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxhbmRtYXJrU2VhcmNoLAorICAgIFdlYkFjY2Vzc2li
aWxpdHlSb2xlTGVnZW5kLAogICAgIFdlYkFjY2Vzc2liaWxpdHlSb2xlTGluaywKICAgICBXZWJB
Y2Nlc3NpYmlsaXR5Um9sZUxpc3QsCiAgICAgV2ViQWNjZXNzaWJpbGl0eVJvbGVMaXN0Qm94LApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNw
cAppbmRleCBjZmFhMjZiYWJlZDZjNDllMzZmOTZkNDVjZTNiNGU0Mzc4NmFiOTk4Li5jNmJmOTcx
ZjFkY2ViYTJjNTRjMjhhYWIxMjllMGNhNzNiMGM0MzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMjYyLDYgKzI2Miw3
IEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVEb2N1
bWVudFJlZ2lvbiwgRG9jdW1lbnRSZWdpb25SCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkFjY2Vzc2liaWxpdHlSb2xlVXNlckludGVyZmFjZVRvb2x0aXAsIFVzZXJJbnRlcmZhY2VU
b29sdGlwUm9sZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxp
dHlSb2xlVG9nZ2xlQnV0dG9uLCBUb2dnbGVCdXR0b25Sb2xlKTsKIENPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVDYW52YXMsIENhbnZhc1JvbGUpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5Um9sZUxlZ2VuZCwgTGVn
ZW5kUm9sZSk7CiAKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQXBwbGljYXRpb25D
YWNoZUhvc3Q6OlVuY2FjaGVkLCBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6VU5DQUNIRUQpOwogQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDo6SWRsZSwg
QXBwbGljYXRpb25DYWNoZUhvc3Q6OklETEUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDAwOWMwMmQ5OTY5MTQ4MDUwOTdmYmRlNzViYzA3OGU3
MzRhZDM3NGQuLjljNDQ2MTEwZTJhMzc5ZjAxOTc5YTM1Yzc4MTAyMWY1MjE3ZjQ5OGIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxMi0wOS0xMCAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CisK
KyAgICAgICAgUHJvcGVybHkgZXhwb3NlIDxsZWdlbmQ+IGVsZW1lbnRzIHRvIEFUcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQxMzcKKworICAgICAg
ICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAgICBDcmVhdGVkIGEgbmV3IFdl
YkNvcmUgQWNjZXNzaWJpbGl0eSBSb2xlLCBMZWdlbmRSb2xlLiBVc2VkIGl0IHRvIG1hcCB0bwor
ICAgICAgICB0aGUgZXhwZWN0ZWQgcGxhdGZvcm0gcm9sZSwgQVRLX1JPTEVfTEFCRUwuIEFsc28g
ZXN0YWJsaXNoZWQgdGhlIG5lZWRlZAorICAgICAgICBBdGtSZWxhdGlvbiBwYWlyLCBsYWJlbC1m
b3IvbGFiZWxsZWQtYnkgYmV0d2VlbiB0aGUgbGVnZW5kIGFuZCBmaWVsZHNldC4KKworICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudENocm9taXVtLmNwcDoKKyAgICAgICAgKHJvbGVUb1N0cmluZyk6IGFkZGVkICJMZWdlbmQi
IHN0cmluZyBmb3IgV2ViQWNjZXNzaWJpbGl0eVJvbGVMZWdlbmQKKwogMjAxMi0wOS0xMCAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkOyByb2xs
aW5nIG91dCByMTI4MDgxLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFJ1bm5lci9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Q2hyb21pdW0uY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Q2hyb21pdW0uY3BwCmluZGV4IGY1YWU5MjU4YzczYzk5MDAzZWNjNjE2MzY4M2VmOWIzZDU3MGZk
OWIuLjA4MDAyMDk0Y2JmMzgzNGY5NjFmNTk3MjY4YjlmNDEwNDllMjY4ODUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudENocm9taXVtLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0UnVubmVyL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRDaHJvbWl1bS5jcHAKQEAgLTIxOCw2ICsy
MTgsOCBAQCBzdGF0aWMgc3RyaW5nIHJvbGVUb1N0cmluZyhXZWJBY2Nlc3NpYmlsaXR5Um9sZSBy
b2xlKQogICAgICAgICByZXR1cm4gcmVzdWx0LmFwcGVuZCgiRm9ybSIpOwogICAgIGNhc2UgV2Vi
QWNjZXNzaWJpbGl0eVJvbGVIb3Jpem9udGFsUnVsZToKICAgICAgICAgcmV0dXJuIHJlc3VsdC5h
cHBlbmQoIkhvcml6b250YWxSdWxlIik7CisgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Um9sZUxl
Z2VuZDoKKyAgICAgICAgcmV0dXJuIHJlc3VsdC5hcHBlbmQoIkxlZ2VuZCIpOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIC8vIEFsc28gbWF0Y2hlcyBXZWJBY2Nlc3NpYmlsaXR5Um9sZVVua25vd24u
CiAgICAgICAgIHJldHVybiByZXN1bHQuYXBwZW5kKCJVbmtub3duIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjAxYzFj
MDZkMWQyOThkYzdlNDM4OTU2NGFmYTNiOWU3NmU2ZDBkMy4uNjJkOWQxZGUxNmU3OTgwNWY1OTJj
YmJmZWMwMzU2NDgyN2FlMDE2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA5LTEwICBK
b2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBQcm9wZXJseSBl
eHBvc2UgPGxlZ2VuZD4gZWxlbWVudHMgdG8gQVRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDEzNworCisgICAgICAgIFJldmlld2VkIGJ5IENocmlz
IEZsZWl6YWNoLgorCisgICAgICAgIENyZWF0ZWQgYSBuZXcgV2ViQ29yZSBBY2Nlc3NpYmlsaXR5
IFJvbGUsIExlZ2VuZFJvbGUuIFVzZWQgaXQgdG8gbWFwIHRvCisgICAgICAgIHRoZSBleHBlY3Rl
ZCBwbGF0Zm9ybSByb2xlLCBBVEtfUk9MRV9MQUJFTC4gQWxzbyBlc3RhYmxpc2hlZCB0aGUgbmVl
ZGVkCisgICAgICAgIEF0a1JlbGF0aW9uIHBhaXIsIGxhYmVsLWZvci9sYWJlbGxlZC1ieSBiZXR3
ZWVuIHRoZSBsZWdlbmQgYW5kIGZpZWxkc2V0LgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9s
ZWdlbmQuaHRtbDogTW9kaWZpZWQgdGhlIHRlc3QgdG8gYmUgbW9yZSBwbGF0Zm9ybS1hZ25vc3Rp
Yy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogUmVtb3ZlZCBsZWdl
bmQuaHRtbCBmcm9tIHRoZSBza2lwcGVkIGxpc3QuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Fj
Y2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKwogMjAx
Mi0wOS0xMCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkOyByb2xsaW5nIG91dCByMTI4MDgxLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9sZWdlbmQuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbGVnZW5k
Lmh0bWwKaW5kZXggYjNjNzAwOWVhYTA2YjkyMjM5YzlmNjczNTU1MDMzMTNkMjU5YWE2YS4uOGRi
OTI3YjZjMjcwN2E1M2I2MTI4NTI5MmM1NjRhYTUyOWQ0ZGMzZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9sZWdlbmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L2xlZ2VuZC5odG1sCkBAIC0xLDYgKzEsMzEgQEAKIDwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgorCisg
ICAgZnVuY3Rpb24gYnVpbGRBY2Nlc3NpYmlsaXR5VHJlZShhY2Nlc3NpYmlsaXR5T2JqZWN0LCBp
bmRlbnQsIHRhcmdldE9iamVjdCwgdGFyZ2V0U3RyaW5nKSB7CisgICAgICAgIHZhciBzdHIgPSAi
IjsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbmRlbnQ7IGkrKykKKyAgICAgICAgICAg
IHN0ciArPSAiICAgICI7CisgICAgICAgIHN0ciArPSBhY2Nlc3NpYmlsaXR5T2JqZWN0LnJvbGU7
CisgICAgICAgIHN0ciArPSAiICIgKyBhY2Nlc3NpYmlsaXR5T2JqZWN0LnN0cmluZ1ZhbHVlOwor
ICAgICAgICBpZiAodGFyZ2V0T2JqZWN0ICYmIGFjY2Vzc2liaWxpdHlPYmplY3QuaXNFcXVhbCh0
YXJnZXRPYmplY3QpKQorICAgICAgICAgICAgc3RyICs9ICIgICAgICIgKyB0YXJnZXRTdHJpbmc7
CisgICAgICAgIHN0ciArPSAiXG4iOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dHJlZSIpLmlubmVyVGV4dCArPSBzdHI7CisKKyAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlPYmpl
Y3Quc3RyaW5nVmFsdWUuaW5kZXhPZignRW5kIG9mIHRlc3QnKSA+PSAwKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgIHZhciBjb3VudCA9IGFjY2Vzc2liaWxpdHlPYmplY3Qu
Y2hpbGRyZW5Db3VudDsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7
CisgICAgICAgICAgICBpZiAoIWJ1aWxkQWNjZXNzaWJpbGl0eVRyZWUoYWNjZXNzaWJpbGl0eU9i
amVjdC5jaGlsZEF0SW5kZXgoaSksIGluZGVudCArIDEsIHRhcmdldE9iamVjdCwgdGFyZ2V0U3Ry
aW5nKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBpZD0i
Ym9keSI+CkBAIC0xMCwyOCArMzUsMzcgQEAKICAgICA8aW5wdXQgaWQ9Im92ZXJuaWdodCIgdHlw
ZT0icmFkaW8iIG5hbWU9InNoaXBwaW5nIiB2YWx1ZT0ib3Zlcm5pZ2h0IiAvPk92ZXJuaWdodAog
PC9maWVsZHNldD4KIAorPGRpdj5FbmQgb2YgdGVzdDwvZGl2PgorCiA8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxwcmUgaWQ9InRyZWUiPjwvcHJlPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CiAKIDxzY3JpcHQ+CiAKLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGEgZmllbGRz
ZXQncyB0aXRsZSB1aSBlbGVtZW50IGlzIHRoZSBsZWdlbmQncyBzdGF0aWMgdGV4dC4iKTsKKyAg
ICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGEgZmllbGRzZXQncyB0aXRsZSB1aSBlbGVt
ZW50IGlzIHRoZSBsZWdlbmQuIik7CisKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250
cm9sbGVyKSB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKKyAgICAgICAgdmFyIGJv
ZHkgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAgICAgICAgdmFy
IGZpZWxkc2V0ID0gYm9keS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgIHZhciB0aXRsZVVJRWxl
bWVudCA9IGZpZWxkc2V0LnRpdGxlVUlFbGVtZW50KCk7CiAKLSAgICAgICAgaWYgKHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICAvLyBQcmludCBvdXQgdGhlIHRyZWUg
b2YgYWNjZXNzaWJsZSBvYmplY3RzLCBpbmRpY2F0aW5nIHRoZSB0aXRsZVVJRWxlbWVudCBzbwor
ICAgICAgICAvLyB0aGF0IGVhY2ggcGxhdGZvcm0gY2FuIHZlcmlmeSB0aGVpciBleHBlY3RlZCBv
YmplY3QgaGFzIGJlZW4gZm91bmQKKyAgICAgICAgYnVpbGRBY2Nlc3NpYmlsaXR5VHJlZShib2R5
LCAwLCB0aXRsZVVJRWxlbWVudCwgIjw8IGZpZWxkc2V0J3MgdGl0bGVVSUVsZW1lbnQiKTsKIAot
ICAgICAgICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpOwot
ICAgICAgICAgICAgYm9keS5mb2N1cygpOworICAgICAgICAvLyBWZXJpZnkgdGhhdCB3ZSBoYXZl
IGdvdHRlbiB0aGUgdGl0bGVVSUVsZW1lbnQgYW5kIGl0IGhhcyB0aGUgZXhwZWN0ZWQgdGV4dCwK
KyAgICAgICAgLy8gd2hpY2ggc2hvdWxkIGJlIGluIHRoZSBsYXN0IGRlc2NlbmRhbnQgcmVnYXJk
bGVzcyBvZiBwbGF0Zm9ybS4KKyAgICAgICAgc2hvdWxkQmVUcnVlKCJ0aXRsZVVJRWxlbWVudCAh
PSBudWxsIik7CisgICAgICAgIHZhciB0aXRsZVVJRWxlbWVudFRleHQgPSB0aXRsZVVJRWxlbWVu
dDsKKyAgICAgICAgd2hpbGUgKHRpdGxlVUlFbGVtZW50VGV4dCAmJiB0aXRsZVVJRWxlbWVudFRl
eHQuY2hpbGRyZW5Db3VudCkKKyAgICAgICAgICAgIHRpdGxlVUlFbGVtZW50VGV4dCA9IHRpdGxl
VUlFbGVtZW50VGV4dC5jaGlsZEF0SW5kZXgoMCk7IAogCi0gICAgICAgICAgICB2YXIgZmllbGRz
ZXQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5kZXgo
MCk7Ci0gICAgICAgICAgICB2YXIgdGl0bGVVSUVsZW1lbnQgPSBmaWVsZHNldC50aXRsZVVJRWxl
bWVudCgpOwotICAgICAgICAgICAgc2hvdWxkQmUoInRpdGxlVUlFbGVtZW50LnJvbGUiLCAiJ0FY
Um9sZTogQVhHcm91cCciKTsKLSAgICAgICAgICAgIHNob3VsZEJlKCJ0aXRsZVVJRWxlbWVudC5j
aGlsZEF0SW5kZXgoMCkucm9sZSIsICInQVhSb2xlOiBBWFN0YXRpY1RleHQnIik7Ci0gICAgICAg
ICAgICBzaG91bGRCZSgidGl0bGVVSUVsZW1lbnQuY2hpbGRBdEluZGV4KDApLnN0cmluZ1ZhbHVl
IiwgIidBWFZhbHVlOiBDaG9vc2UgYSBzaGlwcGluZyBtZXRob2Q6JyIpOwotICAgICAgICB9Cisg
ICAgICAgIHNob3VsZEJlKCJ0aXRsZVVJRWxlbWVudFRleHQuc3RyaW5nVmFsdWUiLCAiJ0FYVmFs
dWU6IENob29zZSBhIHNoaXBwaW5nIG1ldGhvZDonIik7CiAgICAgfQogPC9zY3JpcHQ+CiAKLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDk2MzcwZjczYjQwYzhjMWE4NGZhODFkMDE3YWFjYzkzZmZh
NjY4YTAuLjNkNDcwM2JkN2QxZTg1ZjBkY2RjYzIxZmU3MDQ2YTQzZDI2YzcxYzggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMDkyLDkgKzEwOTIsNiBA
QCBCVUdXSzg0MDQ0IFNLSVAgOiBhY2Nlc3NpYmlsaXR5L2ltYWdlLWxpbmsuaHRtbCA9IFRFWFQK
IEJVR1dLODQwNDUgU0tJUCA6IGFjY2Vzc2liaWxpdHkvaW1hZ2UtbWFwMS5odG1sID0gVEVYVAog
QlVHV0s4NDA0NSBTS0lQIDogYWNjZXNzaWJpbGl0eS9pbWFnZS1tYXAyLmh0bWwgPSBURVhUCiAK
LS8vIFByb3Blcmx5IGV4cG9zZSA8bGVnZW5kPiBlbGVtZW50cyB0byBBVHMKLUJVR1dLODQxMzcg
U0tJUCA6IGFjY2Vzc2liaWxpdHkvbGVnZW5kLmh0bWwgPSBURVhUCi0KIC8vIFtEUlRdIGRpZERl
dGVjdFhTUyBpcyBub3QgaW1wbGVtZW50ZWQKIEJVR1dLNzE0NjUgOiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy13aXRoLWNhbGxiYWNrcy5odG1sID0gVEVYVAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9sZWdlbmQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvbGVn
ZW5kLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDA4M2Y0MzJkMTY0OTAxNWY5ZGZiN2RmMDU3
NWYyYjA0MGQzYjRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitDaG9v
c2UgYSBzaGlwcGluZyBtZXRob2Q6CitPdmVybmlnaHQKK0VuZCBvZiB0ZXN0CitUaGlzIHRlc3Rz
IHRoYXQgYSBmaWVsZHNldCdzIHRpdGxlIHVpIGVsZW1lbnQgaXMgdGhlIGxlZ2VuZC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0FYUm9sZTogZG9jdW1lbnQgZnJhbWUgCisgICAg
QVhSb2xlOiBwYW5lbCAKKyAgICAgICAgQVhSb2xlOiBsYWJlbCBBWFZhbHVlOiBDaG9vc2UgYSBz
aGlwcGluZyBtZXRob2Q6ICAgICA8PCBmaWVsZHNldCdzIHRpdGxlVUlFbGVtZW50CisgICAgICAg
IEFYUm9sZTogcGFuZWwgQVhWYWx1ZTogPG9iaj5PdmVybmlnaHQ8XG4+CisgICAgICAgICAgICBB
WFJvbGU6IHJhZGlvIGJ1dHRvbiBBWFZhbHVlOiAKKyAgICBBWFJvbGU6IHNlY3Rpb24gQVhWYWx1
ZTogRW5kIG9mIHRlc3QKK1BBU1MgdGl0bGVVSUVsZW1lbnQgIT0gbnVsbCBpcyB0cnVlCitQQVNT
IHRpdGxlVUlFbGVtZW50VGV4dC5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogQ2hvb3NlIGEgc2hp
cHBpbmcgbWV0aG9kOicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJp
bGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvbGVnZW5kLWV4cGVjdGVkLnR4dAppbmRleCA5MWY5ZDQyNzMzYzgwYzE4MjQ5NDcy
ODc3MmZlYzBmMmE2N2IyZjE3Li4zMmIwOWFiNjE1ZjZjMzMxOWMwNWQyOTIxOWU0YmI4OGE5Mjky
ZDkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9s
ZWdlbmQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3Np
YmlsaXR5L2xlZ2VuZC1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMjMgQEAKIENob29zZSBhIHNo
aXBwaW5nIG1ldGhvZDoKIE92ZXJuaWdodAotVGhpcyB0ZXN0cyB0aGF0IGEgZmllbGRzZXQncyB0
aXRsZSB1aSBlbGVtZW50IGlzIHRoZSBsZWdlbmQncyBzdGF0aWMgdGV4dC4KK0VuZCBvZiB0ZXN0
CitUaGlzIHRlc3RzIHRoYXQgYSBmaWVsZHNldCdzIHRpdGxlIHVpIGVsZW1lbnQgaXMgdGhlIGxl
Z2VuZC4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgdGl0bGVVSUVsZW1l
bnQucm9sZSBpcyAnQVhSb2xlOiBBWEdyb3VwJwotUEFTUyB0aXRsZVVJRWxlbWVudC5jaGlsZEF0
SW5kZXgoMCkucm9sZSBpcyAnQVhSb2xlOiBBWFN0YXRpY1RleHQnCi1QQVNTIHRpdGxlVUlFbGVt
ZW50LmNoaWxkQXRJbmRleCgwKS5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogQ2hvb3NlIGEgc2hp
cHBpbmcgbWV0aG9kOicKK0FYUm9sZTogQVhXZWJBcmVhIEFYVmFsdWU6IAorICAgIEFYUm9sZTog
QVhHcm91cCBBWFZhbHVlOiAKKyAgICAgICAgQVhSb2xlOiBBWEdyb3VwIEFYVmFsdWU6ICAgICAg
PDwgZmllbGRzZXQncyB0aXRsZVVJRWxlbWVudAorICAgICAgICAgICAgQVhSb2xlOiBBWFN0YXRp
Y1RleHQgQVhWYWx1ZTogQ2hvb3NlIGEgc2hpcHBpbmcgbWV0aG9kOgorICAgICAgICBBWFJvbGU6
IEFYR3JvdXAgQVhWYWx1ZTogCisgICAgICAgICAgICBBWFJvbGU6IEFYUmFkaW9CdXR0b24gQVhW
YWx1ZTogMAorICAgICAgICAgICAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogT3Zlcm5p
Z2h0CisgICAgQVhSb2xlOiBBWEdyb3VwIEFYVmFsdWU6IAorICAgICAgICBBWFJvbGU6IEFYU3Rh
dGljVGV4dCBBWFZhbHVlOiBFbmQgb2YgdGVzdAorUEFTUyB0aXRsZVVJRWxlbWVudCAhPSBudWxs
IGlzIHRydWUKK1BBU1MgdGl0bGVVSUVsZW1lbnRUZXh0LnN0cmluZ1ZhbHVlIGlzICdBWFZhbHVl
OiBDaG9vc2UgYSBzaGlwcGluZyBtZXRob2Q6JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>