<?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>229415</bug_id>
          
          <creation_ts>2021-08-23 12:26:18 -0700</creation_ts>
          <short_desc>AX: Return radiobuttons part of ad-hoc radiogroups from AX search queries</short_desc>
          <delta_ts>2021-08-25 09:38:34 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tyler Wilcock">tyler_w</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1786505</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-23 12:26:18 -0700</bug_when>
    <thetext>Per WAI-ARIA authoring best practices, radiobuttons should always be wrapped in a `role=&quot;radiogroup&quot;` container.

https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-16

&gt; “The radio buttons are contained in or owned by an element with role radiogroup.”

However, many real-world documents don&apos;t do this, instead forming &quot;ad-hoc&quot; radiogroups by connecting individual radiobuttons by `name` attribute (which is allowed by HTML):

&lt;form&gt;
&lt;input type=&quot;radio&quot; name=&quot;color” value=&quot;red&quot;&gt;Red&lt;/br&gt;
&lt;input type=&quot;radio&quot; name=&quot;color” value=&quot;blue&quot;&gt;Blue&lt;/br&gt;
&lt;/form&gt;

&lt;form&gt;
&lt;input type=&quot;radio&quot; name=&quot;size” value=&quot;small&quot;&gt;Small&lt;/br&gt;
&lt;input type=&quot;radio&quot; name=&quot;size” value=&quot;large&quot;&gt;Large&lt;/br&gt;
&lt;/form&gt;

When searching by AXRadioGroupSearchKey, WebKit currently cannot find these ad-hoc radiogroups. With this bug, we should make WebKit able to find them.

rdar://38830789</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786506</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-23 12:26:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/82256435&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786603</commentid>
    <comment_count>2</comment_count>
      <attachid>436247</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-23 16:21:00 -0700</bug_when>
    <thetext>Created attachment 436247
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786609</commentid>
    <comment_count>3</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-08-23 16:47:53 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #2)
&gt; Created attachment 436247 [details]
&gt; Patch

--- a/Source/WebCore/ChangeLog
+++ a/Source/WebCore/ChangeLog

+        connected only by `name` attribute, missing an appropriate role=&quot;radiogroup&quot;
+        wrapper.
I would use the word container or parent instead of wrapper, since wrapper in this context usually refers to the AXObject platform wrapper, e.g., WebAccessibilityObjectWrapper.

--- a/Source/WebCore/accessibility/AccessibilityObject.cpp
+++ a/Source/WebCore/accessibility/AccessibilityObject.cpp

+static bool objectIsRadioButtonInDifferentGroup(AXCoreObject* axObject, AXCoreObject* referenceObject)

objectIsRadioButtonInDifferentGroup -&gt; areRadioButtonsInDifferentGroups or areRadioButtonsInSameGroup ???

+    return axObject-&gt;element()-&gt;getNameAttribute() != referenceObject-&gt;element()-&gt;getNameAttribute();

What about if they have a radiogroup container? If this is just for ad-hoc groups, let&apos;s make it explicit in the function name.

-static bool isAccessibilityObjectSearchMatch(AXCoreObject* axObject, AccessibilitySearchCriteria const&amp; criteria)
+static bool isAccessibilityObjectSearchMatch(AXCoreObject* axObject, AccessibilitySearchCriteria const&amp; criteria, AccessibilitySearchContext const&amp; context)
Can we make the starting object a member of AccessibilitySearchCriteria instead of adding a new struct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786613</commentid>
    <comment_count>4</comment_count>
      <attachid>436247</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-08-23 16:54:38 -0700</bug_when>
    <thetext>Comment on attachment 436247
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:3654
&gt; +    if (!axObject-&gt;element() || !referenceObject-&gt;element())

we can probably combine these checks into the ones above and save this extra check

however, are we guaranteed to have an element() if it&apos;s already a radio button?

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:3870
&gt; +    AccessibilitySearchContext context { startObject };

should (or is) startObject already part of the searchCriteria?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786625</commentid>
    <comment_count>5</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-08-23 17:13:00 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #2)
&gt; Created attachment 436247 [details]
&gt; Patch

--- a/LayoutTests/ChangeLog
+++ a/LayoutTests/ChangeLog

+        connected only by `name` attributes, missing an appropriate role=&quot;radiogroup&quot;
+        wrapper.

wrapper -&gt; container or parent

+        * accessibility/mac/search-predicate-for-adhoc-radio-groups-expected.txt: Added.
+        * accessibility/mac/search-predicate-for-adhoc-radio-groups.html: Added.
+

Shouldn&apos;t we have an iOS test? on iOS we have the following method in the WebAccessibilityObjectWrapper interface:

- (NSArray&lt;WebAccessibilityObjectWrapper *&gt; *)accessibilityFindMatchingObjects:(NSDictionary *)parameters

--- a/LayoutTests/accessibility/mac/search-predicate-for-adhoc-radio-groups.html
+++ a/LayoutTests/accessibility/mac/search-predicate-for-adhoc-radio-groups.html

+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;

I think we can now include just js-test.js, and we don&apos;t need the -pre and the -post.

+&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
+&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;

Don&apos;t need these two lines any more if you include js-test.js.

+        shouldBe(&quot;resultElement.stringAttributeValue(&apos;AXDOMIdentifier&apos;)&quot;, &quot;&apos;circle&apos;&quot;);

Instead of resultElement.stringAttributeValue(&apos;AXDOMIdentifier&apos;) you can do just resultElement.domIdentifier.

+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;

Don&apos;t need this any more if you include js-test.js.

Are we covering the case of radiogroup containers in a separate test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786758</commentid>
    <comment_count>6</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 09:23:58 -0700</bug_when>
    <thetext>Thanks for the review!

&gt; objectIsRadioButtonInDifferentGroup -&gt; areRadioButtonsInDifferentGroups or areRadioButtonsInSameGroup ???

The semantics of this function can&apos;t be the same as what one would think with `areRadioButtonsInDifferentGroups`, as that name implies the function returns false if either object is not a radio button, but we want to return true if the `referenceObject` is not a radio button and `axObject` is.

I&apos;ll go with isRadioButtonInDifferentAdhocGroup for now, but if you have other ideas let me know.

&gt; however, are we guaranteed to have an element() if it&apos;s already a radio button?

Yeah, that seems reasonable. I&apos;ll remove the check.

&gt; Are we covering the case of radiogroup containers in a separate test?

accessibility/mac/search-predicate.html tests a search for role=radiogroup containers:

https://github.com/WebKit/WebKit/blob/989ff515ce6e103271072dd1b397ac43572a910c/LayoutTests/accessibility/mac/search-predicate.html#L225

Is that satisfactory, or are you looking for something here too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786786</commentid>
    <comment_count>7</comment_count>
      <attachid>436303</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 10:17:11 -0700</bug_when>
    <thetext>Created attachment 436303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786791</commentid>
    <comment_count>8</comment_count>
      <attachid>436303</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-08-24 10:21:13 -0700</bug_when>
    <thetext>Comment on attachment 436303
Patch

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

&gt; LayoutTests/ChangeLog:13
&gt; +        * accessibility/mac/search-predicate-for-adhoc-radio-groups-expected.txt: Added.

is this a Mac specific test? I don&apos;t think the uiSearch exists for any platform

should we move just into the Mac directory?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786800</commentid>
    <comment_count>9</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-08-24 10:29:33 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #8)
&gt; Comment on attachment 436303 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=436303&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:13
&gt; &gt; +        * accessibility/mac/search-predicate-for-adhoc-radio-groups-expected.txt: Added.
&gt; 
&gt; is this a Mac specific test? I don&apos;t think the uiSearch exists for any
&gt; platform
&gt; 
&gt; should we move just into the Mac directory?

On iOS we have:

- (NSArray&lt;WebAccessibilityObjectWrapper *&gt; *)accessibilityFindMatchingObjects:(NSDictionary *)parameters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786802</commentid>
    <comment_count>10</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-08-24 10:33:53 -0700</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #9)
&gt; (In reply to chris fleizach from comment #8)
&gt; &gt; Comment on attachment 436303 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=436303&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/ChangeLog:13
&gt; &gt; &gt; +        * accessibility/mac/search-predicate-for-adhoc-radio-groups-expected.txt: Added.
&gt; &gt; 
&gt; &gt; is this a Mac specific test? I don&apos;t think the uiSearch exists for any
&gt; &gt; platform
&gt; &gt; 
&gt; &gt; should we move just into the Mac directory?
&gt; 
&gt; On iOS we have:
&gt; 
&gt; - (NSArray&lt;WebAccessibilityObjectWrapper *&gt;
&gt; *)accessibilityFindMatchingObjects:(NSDictionary *)parameters

Does this test pass on iOS?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786803</commentid>
    <comment_count>11</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 10:37:42 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #8)
&gt; Comment on attachment 436303 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=436303&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:13
&gt; &gt; +        * accessibility/mac/search-predicate-for-adhoc-radio-groups-expected.txt: Added.
&gt; 
&gt; is this a Mac specific test? I don&apos;t think the uiSearch exists for any
&gt; platform
&gt; 
&gt; should we move just into the Mac directory?

Sorry, the Changelog is stale — Andres suggested we also test this on iOS, so I moved it out of the Mac folder. There is this function in the AccessibilityUIElementIOS class:

RefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::uiElementForSearchPredicate(JSContextRef context, AccessibilityUIElement *startElement, bool isDirectionNext, JSValueRef searchKey, JSStringRef searchText, bool visibleOnly, bool immediateDescendantsOnly)
{
    NSDictionary *parameterizedAttribute = searchPredicateParameterizedAttributeForSearchCriteria(context, startElement, isDirectionNext, 5, searchKey, searchText, visibleOnly, immediateDescendantsOnly);
    ...
}

However, I just realized that this search is hardcoded to return 5 matching elements, vs. the same function in AccessibilityUIElementMac which returns only 1 matching element, so this won&apos;t work without parameterizing that value...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786806</commentid>
    <comment_count>12</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 10:41:41 -0700</bug_when>
    <thetext>Correction: however this function is generated (it&apos;s not checked into source), it&apos;s getting a value of 5 for number of matching elements to return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786809</commentid>
    <comment_count>13</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-08-24 10:42:49 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #12)
&gt; Correction: however this function is generated (it&apos;s not checked into
&gt; source), it&apos;s getting a value of 5 for number of matching elements to return.

maybe we can have different expectation files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786810</commentid>
    <comment_count>14</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-08-24 10:43:31 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #11)
&gt; (In reply to chris fleizach from comment #8)
&gt; &gt; Comment on attachment 436303 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=436303&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/ChangeLog:13
&gt; &gt; &gt; +        * accessibility/mac/search-predicate-for-adhoc-radio-groups-expected.txt: Added.
&gt; &gt; 
&gt; &gt; is this a Mac specific test? I don&apos;t think the uiSearch exists for any
&gt; &gt; platform
&gt; &gt; 
&gt; &gt; should we move just into the Mac directory?
&gt; 
&gt; Sorry, the Changelog is stale — Andres suggested we also test this on iOS,
&gt; so I moved it out of the Mac folder. There is this function in the
&gt; AccessibilityUIElementIOS class:
&gt; 
&gt; RefPtr&lt;AccessibilityUIElement&gt;
&gt; AccessibilityUIElement::uiElementForSearchPredicate(JSContextRef context,
&gt; AccessibilityUIElement *startElement, bool isDirectionNext, JSValueRef
&gt; searchKey, JSStringRef searchText, bool visibleOnly, bool
&gt; immediateDescendantsOnly)
&gt; {
&gt;     NSDictionary *parameterizedAttribute =
&gt; searchPredicateParameterizedAttributeForSearchCriteria(context,
&gt; startElement, isDirectionNext, 5, searchKey, searchText, visibleOnly,
&gt; immediateDescendantsOnly);
&gt;     ...
&gt; }
&gt; 
&gt; However, I just realized that this search is hardcoded to return 5 matching
&gt; elements, vs. the same function in AccessibilityUIElementMac which returns
&gt; only 1 matching element, so this won&apos;t work without parameterizing that
&gt; value...

I would suggest making AccessibilityUIElement::uiElementForSearchPredicate to have the same signature in both Mac and iOS, so that a single test can be written.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786811</commentid>
    <comment_count>15</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 10:46:57 -0700</bug_when>
    <thetext>&gt; I would suggest making AccessibilityUIElement::uiElementForSearchPredicate
&gt; to have the same signature in both Mac and iOS, so that a single test can be
&gt; written.

OK, I actually should be able to do this. Will submit a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786829</commentid>
    <comment_count>16</comment_count>
      <attachid>436309</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 11:15:44 -0700</bug_when>
    <thetext>Created attachment 436309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786830</commentid>
    <comment_count>17</comment_count>
      <attachid>436310</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 11:17:41 -0700</bug_when>
    <thetext>Created attachment 436310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786901</commentid>
    <comment_count>18</comment_count>
      <attachid>436322</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 13:03:54 -0700</bug_when>
    <thetext>Created attachment 436322
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786905</commentid>
    <comment_count>19</comment_count>
      <attachid>436324</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 13:20:00 -0700</bug_when>
    <thetext>Created attachment 436324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786953</commentid>
    <comment_count>20</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 14:52:32 -0700</bug_when>
    <thetext>`domIdentifier` isn&apos;t implemented for DumpRenderTree UIAccessibilityElements. I&apos;m going to try to add support for it, but if it&apos;s too finicky then I&apos;ll go back to stringAttributeValue(&apos;AXDOMIdentifier&apos;) which is supported in both cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786957</commentid>
    <comment_count>21</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-08-24 14:56:08 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #20)
&gt; `domIdentifier` isn&apos;t implemented for DumpRenderTree
&gt; UIAccessibilityElements. I&apos;m going to try to add support for it, but if it&apos;s
&gt; too finicky then I&apos;ll go back to stringAttributeValue(&apos;AXDOMIdentifier&apos;)
&gt; which is supported in both cases.

you may also skip the test for Mac-wk1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786970</commentid>
    <comment_count>22</comment_count>
      <attachid>436339</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 15:21:29 -0700</bug_when>
    <thetext>Created attachment 436339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786971</commentid>
    <comment_count>23</comment_count>
      <attachid>436340</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2021-08-24 15:24:55 -0700</bug_when>
    <thetext>Created attachment 436340
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787186</commentid>
    <comment_count>24</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-25 09:38:32 -0700</bug_when>
    <thetext>Committed r281556 (240923@main): &lt;https://commits.webkit.org/240923@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436340.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436247</attachid>
            <date>2021-08-23 16:21:00 -0700</date>
            <delta_ts>2021-08-24 10:17:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229415-20210823182059.patch</filename>
            <type>text/plain</type>
            <size>15132</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNjNGVjMzNmYTI3ZWY1
MjExMDNkNjQ5MzNlYWVhNTFlY2U1NDhiOS4uOWFmYjYxMTdhYmE4MDEwNjMxMzU3NjdmOWEzNzlj
ODlhOTdiZmE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTA4LTIzICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgQVg6IFJldHVy
biByYWRpb2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFkaW9ncm91cHMgZnJvbSBBWCBzZWFyY2gg
cXVlcmllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI5NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RW5hYmxlIHRoZSBhYmlsaXR5IGZvciBXZWJLaXQgVUkgZWxlbWVudCBhY2Nlc3NpYmlsaXR5IHNl
YXJjaGVzIHRvIGZpbmQKKyAgICAgICAgYWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBhZC1ob2MgcmFk
aW9ncm91cCBpcyBhIGdyb3VwIG9mIHJhZGlvYnV0dG9ucworICAgICAgICBjb25uZWN0ZWQgb25s
eSBieSBgbmFtZWAgYXR0cmlidXRlLCBtaXNzaW5nIGFuIGFwcHJvcHJpYXRlIHJvbGU9InJhZGlv
Z3JvdXAiCisgICAgICAgIHdyYXBwZXIuCisKKyAgICAgICAgVGhpcyBpcyBpbXBsZW1lbnRlZCBi
eSBrZWVwaW5nIHRyYWNrIG9mIHRoZSBBWCBvYmplY3QgYSBzZWFyY2gKKyAgICAgICAgb3JpZ2lu
YXRlZCBmcm9tIGluIGEgbmV3IHN0cnVjdCBjYWxsZWQgQWNjZXNzaWJpbGl0eVNlYXJjaENvbnRl
eHQuIElmIHdlIGFyZQorICAgICAgICBzZWFyY2hpbmcgZm9yIHJhZGlvIGdyb3VwcywgYW5kIHRo
ZSBvcmlnaW4gQVggb2JqZWN0IGlzIGEgcmFkaW8KKyAgICAgICAgYnV0dG9uLCB3ZSBjYW4gcmV0
dXJuIGFub3RoZXIgcmFkaW9idXR0b24gZnJvbSB0aGlzIHNlYXJjaCBpZiBpdCBoYXMgYQorICAg
ICAgICBkaWZmZXJlbnQgYG5hbWVgIGF0dHJpYnV0ZS4KKworICAgICAgICBUZXN0OiBhY2Nlc3Np
YmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMuaHRtbAor
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6Om9iamVjdElzUmFkaW9CdXR0b25JbkRpZmZlcmVu
dEdyb3VwKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Ojppc0FjY2Vz
c2liaWxpdHlPYmplY3RTZWFyY2hNYXRjaEF0SW5kZXgpOiBBZGQKKyAgICAgICAgQWNjZXNzaWJp
bGl0eVNlYXJjaENvbnRleHQgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eTo6aXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2VhcmNoTWF0Y2gpOiBBZGQKKyAgICAgICAgQWNj
ZXNzaWJpbGl0eVNlYXJjaENvbnRleHQgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eTo6b2JqZWN0TWF0Y2hlc1NlYXJjaENyaXRlcmlhV2l0aFJlc3VsdExpbWl0KTog
QWRkCisgICAgICAgIEFjY2Vzc2liaWxpdHlTZWFyY2hDb250ZXh0IHBhcmFtZXRlci4KKyAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmZpbmRNYXRjaGluZ09iamVjdHMpOiBTZXQgdXAK
KyAgICAgICAgQWNjZXNzaWJpbGl0eVNlYXJjaENvbnRleHQgd2l0aCB0aGUgb2JqZWN0IHRoZSBz
ZWFyY2ggb3JpZ2luYXRlZCBmcm9tLgorCiAyMDIxLTA4LTIzICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU2V0dGluZyB3aW5kb3cubG9jYXRp
b24uaHJlZiB0byBhbiBpbnZhbGlkIFVSTCBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3Bw
CmluZGV4IDUwZDIwNWY0NWEzNTFlMmQ4ZGNhNDhmMTBmZWE3MzAwY2NhMWRlZTguLmRlNWY1NDI5
YTM3NWMxNTFlZTA0NDY1YjIwYzAzNDM3MWE5MmUwYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMzYzOSw3ICsz
NjM5LDMwIEBAIFN0cmluZyByb2xlVG9QbGF0Zm9ybVN0cmluZyhBY2Nlc3NpYmlsaXR5Um9sZSBy
b2xlKQogICAgIHJldHVybiByb2xlTWFwLT5nZXQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJvbGUp
KTsKIH0KIAotc3RhdGljIGJvb2wgaXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2VhcmNoTWF0Y2hBdElu
ZGV4KEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSBj
b25zdCYgY3JpdGVyaWEsIHNpemVfdCBpbmRleCkKKy8vIFRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5l
cyBpZiB0aGUgZ2l2ZW4gYGF4T2JqZWN0YCBpcyBhIHJhZGlvIGJ1dHRvbiBwYXJ0IG9mIGEgZGlm
ZmVyZW50IGFkLWhvYyByYWRpbyBncm91cAorLy8gdGhhbiBgcmVmZXJlbmNlT2JqZWN0YCwgd2hl
cmUgYWQtaG9jIHJhZGlvIGdyb3VwIG1lbWJlcnNoaXAgaXMgZGV0ZXJtaW5lZCBieSBjb21wYXJp
bmcgYG5hbWVgIGF0dHJpYnV0ZXMuCitzdGF0aWMgYm9vbCBvYmplY3RJc1JhZGlvQnV0dG9uSW5E
aWZmZXJlbnRHcm91cChBWENvcmVPYmplY3QqIGF4T2JqZWN0LCBBWENvcmVPYmplY3QqIHJlZmVy
ZW5jZU9iamVjdCkKK3sKKyAgICBpZiAoIWF4T2JqZWN0IHx8ICFheE9iamVjdC0+aXNSYWRpb0J1
dHRvbigpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBJZiB0aGUgYHJlZmVyZW5j
ZU9iamVjdGAgaXMgbm90IGEgcmFkaW8gYnV0dG9uIGFuZCB0aGlzIGBheE9iamVjdGAgaXMsIHRo
ZWlyIHJhZGlvIGdyb3VwIG1lbWJlcnNoaXAgaXMgZGlmZmVyZW50IGJlY2F1c2UKKyAgICAvLyBg
YXhPYmplY3RgIGJlbG9uZ3MgdG8gYSBncm91cCBhbmQgYHJlZmVyZW5jZU9iamVjdGAgZG9lc24n
dC4KKyAgICBpZiAoIXJlZmVyZW5jZU9iamVjdCB8fCAhcmVmZXJlbmNlT2JqZWN0LT5pc1JhZGlv
QnV0dG9uKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKCFheE9iamVjdC0+ZWxl
bWVudCgpIHx8ICFyZWZlcmVuY2VPYmplY3QtPmVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgcmV0dXJuIGF4T2JqZWN0LT5lbGVtZW50KCktPmdldE5hbWVBdHRyaWJ1dGUo
KSAhPSByZWZlcmVuY2VPYmplY3QtPmVsZW1lbnQoKS0+Z2V0TmFtZUF0dHJpYnV0ZSgpOworfQor
CitzdHJ1Y3QgQWNjZXNzaWJpbGl0eVNlYXJjaENvbnRleHQgeworICAgIC8vIFRoZSBvYmplY3Qg
dGhlIHNlYXJjaCBvcmlnaW5hdGVkIGZyb20uCisgICAgQVhDb3JlT2JqZWN0KiBvcmlnaW5PYmpl
Y3QgeyBudWxscHRyIH07Cit9OworCitzdGF0aWMgYm9vbCBpc0FjY2Vzc2liaWxpdHlPYmplY3RT
ZWFyY2hNYXRjaEF0SW5kZXgoQVhDb3JlT2JqZWN0KiBheE9iamVjdCwgQWNjZXNzaWJpbGl0eVNl
YXJjaENyaXRlcmlhIGNvbnN0JiBjcml0ZXJpYSwgQWNjZXNzaWJpbGl0eVNlYXJjaENvbnRleHQg
Y29uc3QmIGNvbnRleHQsIHNpemVfdCBpbmRleCkKIHsKICAgICBzd2l0Y2ggKGNyaXRlcmlhLnNl
YXJjaEtleXNbaW5kZXhdKSB7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5U2VhcmNoS2V5OjpBbnlU
eXBlOgpAQCAtMzcxOSw3ICszNzQyLDcgQEAgc3RhdGljIGJvb2wgaXNBY2Nlc3NpYmlsaXR5T2Jq
ZWN0U2VhcmNoTWF0Y2hBdEluZGV4KEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2UKICAgICBj
YXNlIEFjY2Vzc2liaWxpdHlTZWFyY2hLZXk6OlBsYWluVGV4dDoKICAgICAgICAgcmV0dXJuIGF4
T2JqZWN0LT5oYXNQbGFpblRleHQoKTsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlTZWFyY2hLZXk6
OlJhZGlvR3JvdXA6Ci0gICAgICAgIHJldHVybiBheE9iamVjdC0+aXNSYWRpb0dyb3VwKCk7Cisg
ICAgICAgIHJldHVybiBheE9iamVjdC0+aXNSYWRpb0dyb3VwKCkgfHwgb2JqZWN0SXNSYWRpb0J1
dHRvbkluRGlmZmVyZW50R3JvdXAoYXhPYmplY3QsIGNvbnRleHQub3JpZ2luT2JqZWN0KTsKICAg
ICBjYXNlIEFjY2Vzc2liaWxpdHlTZWFyY2hLZXk6OlNhbWVUeXBlOgogICAgICAgICByZXR1cm4g
Y3JpdGVyaWEuc3RhcnRPYmplY3QKICAgICAgICAgICAgICYmIGF4T2JqZWN0LT5yb2xlVmFsdWUo
KSA9PSBjcml0ZXJpYS5zdGFydE9iamVjdC0+cm9sZVZhbHVlKCk7CkBAIC0zNzQ3LDE0ICszNzcw
LDE0IEBAIHN0YXRpYyBib29sIGlzQWNjZXNzaWJpbGl0eU9iamVjdFNlYXJjaE1hdGNoQXRJbmRl
eChBWENvcmVPYmplY3QqIGF4T2JqZWN0LCBBY2NlCiAgICAgfQogfQogCi1zdGF0aWMgYm9vbCBp
c0FjY2Vzc2liaWxpdHlPYmplY3RTZWFyY2hNYXRjaChBWENvcmVPYmplY3QqIGF4T2JqZWN0LCBB
Y2Nlc3NpYmlsaXR5U2VhcmNoQ3JpdGVyaWEgY29uc3QmIGNyaXRlcmlhKQorc3RhdGljIGJvb2wg
aXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2VhcmNoTWF0Y2goQVhDb3JlT2JqZWN0KiBheE9iamVjdCwg
QWNjZXNzaWJpbGl0eVNlYXJjaENyaXRlcmlhIGNvbnN0JiBjcml0ZXJpYSwgQWNjZXNzaWJpbGl0
eVNlYXJjaENvbnRleHQgY29uc3QmIGNvbnRleHQpCiB7CiAgICAgaWYgKCFheE9iamVjdCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgc2l6ZV90IGxlbmd0aCA9IGNyaXRlcmlhLnNlYXJj
aEtleXMuc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgaWYgKGlzQWNjZXNzaWJpbGl0eU9iamVjdFNlYXJjaE1hdGNoQXRJbmRleChheE9i
amVjdCwgY3JpdGVyaWEsIGkpKSB7CisgICAgICAgIGlmIChpc0FjY2Vzc2liaWxpdHlPYmplY3RT
ZWFyY2hNYXRjaEF0SW5kZXgoYXhPYmplY3QsIGNyaXRlcmlhLCBjb250ZXh0LCBpKSkgewogICAg
ICAgICAgICAgaWYgKGNyaXRlcmlhLnZpc2libGVPbmx5ICYmICFheE9iamVjdC0+aXNPblNjcmVl
bigpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIHJldHVybiB0
cnVlOwpAQCAtMzc3MCw5ICszNzkzLDkgQEAgc3RhdGljIGJvb2wgaXNBY2Nlc3NpYmlsaXR5VGV4
dFNlYXJjaE1hdGNoKEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2Vzc2liaWxpdHkKICAgICBy
ZXR1cm4gYXhPYmplY3QtPmNvbnRhaW5zVGV4dChjcml0ZXJpYS5zZWFyY2hUZXh0KTsKIH0KIAot
c3RhdGljIGJvb2wgb2JqZWN0TWF0Y2hlc1NlYXJjaENyaXRlcmlhV2l0aFJlc3VsdExpbWl0KEFY
Q29yZU9iamVjdCogb2JqZWN0LCBBY2Nlc3NpYmlsaXR5U2VhcmNoQ3JpdGVyaWEgY29uc3QmIGNy
aXRlcmlhLCBBWENvcmVPYmplY3Q6OkFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVzdWx0
cykKK3N0YXRpYyBib29sIG9iamVjdE1hdGNoZXNTZWFyY2hDcml0ZXJpYVdpdGhSZXN1bHRMaW1p
dChBWENvcmVPYmplY3QqIG9iamVjdCwgQWNjZXNzaWJpbGl0eVNlYXJjaENyaXRlcmlhIGNvbnN0
JiBjcml0ZXJpYSwgQWNjZXNzaWJpbGl0eVNlYXJjaENvbnRleHQgY29uc3QmIGNvbnRleHQsIEFY
Q29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiByZXN1bHRzKQogewotICAg
IGlmIChpc0FjY2Vzc2liaWxpdHlPYmplY3RTZWFyY2hNYXRjaChvYmplY3QsIGNyaXRlcmlhKSAm
JiBpc0FjY2Vzc2liaWxpdHlUZXh0U2VhcmNoTWF0Y2gob2JqZWN0LCBjcml0ZXJpYSkpIHsKKyAg
ICBpZiAoaXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2VhcmNoTWF0Y2gob2JqZWN0LCBjcml0ZXJpYSwg
Y29udGV4dCkgJiYgaXNBY2Nlc3NpYmlsaXR5VGV4dFNlYXJjaE1hdGNoKG9iamVjdCwgY3JpdGVy
aWEpKSB7CiAgICAgICAgIHJlc3VsdHMuYXBwZW5kKG9iamVjdCk7CiAKICAgICAgICAgLy8gRW5v
dWdoIHJlc3VsdHMgd2VyZSBmb3VuZCB0byBzdG9wIHNlYXJjaGluZy4KQEAgLTM4NDMsNiArMzg2
Niw5IEBAIHZvaWQgZmluZE1hdGNoaW5nT2JqZWN0cyhBY2Nlc3NpYmlsaXR5U2VhcmNoQ3JpdGVy
aWEgY29uc3QmIGNyaXRlcmlhLCBBWENvcmVPYmplCiAKICAgICBib29sIGlzRm9yd2FyZCA9IGNy
aXRlcmlhLnNlYXJjaERpcmVjdGlvbiA9PSBBY2Nlc3NpYmlsaXR5U2VhcmNoRGlyZWN0aW9uOjpO
ZXh0OwogCisgICAgLy8gU2V0IHRoZSBzZWFyY2ggb3JpZ2luIG9iamVjdCBiZWZvcmUgdGhlIHN3
YXAgYmVsb3csIGFzIHdlIG5lZWQgdGhlIGFjdHVhbCBvcmlnaW4gb2JqZWN0IHdoZW4gc2VhcmNo
aW5nIGZvciByYWRpbyBncm91cHMuCisgICAgQWNjZXNzaWJpbGl0eVNlYXJjaENvbnRleHQgY29u
dGV4dCB7IHN0YXJ0T2JqZWN0IH07CisKICAgICAvLyBUaGUgZmlyc3QgaXRlcmF0aW9uIG9mIHRo
ZSBvdXRlciBsb29wIHdpbGwgZXhhbWluZSB0aGUgY2hpbGRyZW4gb2YgdGhlIHN0YXJ0IG9iamVj
dCBmb3IgbWF0Y2hlcy4gSG93ZXZlciwgd2hlbgogICAgIC8vIGl0ZXJhdGluZyBiYWNrd2FyZHMs
IHRoZSBzdGFydCBvYmplY3QgY2hpbGRyZW4gc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkLCBzbyB0
aGUgbG9vcCBpcyBza2lwcGVkIGFoZWFkLiBXZSBtYWtlIGFuCiAgICAgLy8gZXhjZXB0aW9uIHdo
ZW4gbm8gc3RhcnQgb2JqZWN0IHdhcyBzcGVjaWZpZWQgYmVjYXVzZSB3ZSB3YW50IHRvIHNlYXJj
aCBldmVyeXRoaW5nIHJlZ2FyZGxlc3Mgb2Ygc2VhcmNoIGRpcmVjdGlvbi4KQEAgLTM4NjUsNyAr
Mzg5MSw3IEBAIHZvaWQgZmluZE1hdGNoaW5nT2JqZWN0cyhBY2Nlc3NpYmlsaXR5U2VhcmNoQ3Jp
dGVyaWEgY29uc3QmIGNyaXRlcmlhLCBBWENvcmVPYmplCiAgICAgICAgICAgICBBWENvcmVPYmpl
Y3QqIHNlYXJjaE9iamVjdCA9IHNlYXJjaFN0YWNrLmxhc3QoKS5nZXQoKTsKICAgICAgICAgICAg
IHNlYXJjaFN0YWNrLnJlbW92ZUxhc3QoKTsKIAotICAgICAgICAgICAgaWYgKG9iamVjdE1hdGNo
ZXNTZWFyY2hDcml0ZXJpYVdpdGhSZXN1bHRMaW1pdChzZWFyY2hPYmplY3QsIGNyaXRlcmlhLCBy
ZXN1bHRzKSkKKyAgICAgICAgICAgIGlmIChvYmplY3RNYXRjaGVzU2VhcmNoQ3JpdGVyaWFXaXRo
UmVzdWx0TGltaXQoc2VhcmNoT2JqZWN0LCBjcml0ZXJpYSwgY29udGV4dCwgcmVzdWx0cykpCiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgIGlmICghY3JpdGVyaWEuaW1tZWRp
YXRlRGVzY2VuZGFudHNPbmx5KQpAQCAtMzg3Niw3ICszOTAyLDcgQEAgdm9pZCBmaW5kTWF0Y2hp
bmdPYmplY3RzKEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSBjb25zdCYgY3JpdGVyaWEsIEFY
Q29yZU9iamUKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIC8vIFdoZW4gbW92aW5nIGJh
Y2t3YXJkcywgdGhlIHBhcmVudCBvYmplY3QgbmVlZHMgdG8gYmUgY2hlY2tlZCwgYmVjYXVzZSB0
ZWNobmljYWxseSBpdCdzICJiZWZvcmUiIHRoZSBzdGFydGluZyBlbGVtZW50LgotICAgICAgICBp
ZiAoIWlzRm9yd2FyZCAmJiBzdGFydE9iamVjdCAhPSBjcml0ZXJpYS5hbmNob3JPYmplY3QgJiYg
b2JqZWN0TWF0Y2hlc1NlYXJjaENyaXRlcmlhV2l0aFJlc3VsdExpbWl0KHN0YXJ0T2JqZWN0LCBj
cml0ZXJpYSwgcmVzdWx0cykpCisgICAgICAgIGlmICghaXNGb3J3YXJkICYmIHN0YXJ0T2JqZWN0
ICE9IGNyaXRlcmlhLmFuY2hvck9iamVjdCAmJiBvYmplY3RNYXRjaGVzU2VhcmNoQ3JpdGVyaWFX
aXRoUmVzdWx0TGltaXQoc3RhcnRPYmplY3QsIGNyaXRlcmlhLCBjb250ZXh0LCByZXN1bHRzKSkK
ICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIHByZXZpb3VzT2JqZWN0ID0gc3RhcnRPYmpl
Y3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYzZmYzJmNTFhZDMyMzZjOWRiODk3MmM0YWYwNGQxNjQxMDA2YjRlOC4uMGJl
ODllY2U4ZGYxODQzZTQ0MWIzNDMwMjRjZDBmYmYzZDk5Mzk2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDIxLTA4LTIzICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+
CisKKyAgICAgICAgQVg6IFJldHVybiByYWRpb2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFkaW9n
cm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIHRvIGVuc3VyZSBXZWJLaXQgVUkgZWxlbWVu
dCBhY2Nlc3NpYmlsaXR5IHNlYXJjaGVzIGNhbiBmaW5kCisgICAgICAgIGFkLWhvYyByYWRpb2dy
b3Vwcy4gQW4gYWQtaG9jIHJhZGlvZ3JvdXAgaXMgYSBncm91cCBvZiByYWRpb2J1dHRvbnMKKyAg
ICAgICAgY29ubmVjdGVkIG9ubHkgYnkgYG5hbWVgIGF0dHJpYnV0ZXMsIG1pc3NpbmcgYW4gYXBw
cm9wcmlhdGUgcm9sZT0icmFkaW9ncm91cCIKKyAgICAgICAgd3JhcHBlci4KKworICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvbWFjL3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vw
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3NlYXJj
aC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sOiBBZGRlZC4KKwogMjAyMS0w
OC0yMyAgRXJpYyBIdXRjaGlzb24gIDxlaHV0Y2hpc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TWFjIHdrMV0gZmFzdC9jYW52YXMvd2ViZ2wvdGV4SW1hZ2UyRC12aWRlby1mbGlwWS1mYWxzZS5o
dG1sIGlzIGEgZmxha3kgdGltZW91dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbWFjL3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZv
ci1hZGhvYy1yYWRpby1ncm91cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3NTBlYmMyYzk4
ZmMwNGQyODVjZWFlNTk3ZDYzYWY5ZmQ1OGI1MTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1n
cm91cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDAgQEAKK1NoYXBlCisKKyBDaXJjbGUKKyBT
cXVhcmUKKyBUcmlhbmdsZQorQ29sb3IKKworIFJlZAorIEJsdWUKKyBHcmVlbgorU2l6ZQorCisg
U21hbGwKK1VucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0
ZW1zCisKKyBNZWRpdW0KK1VucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlv
IGdyb3VwIGl0ZW1zCisKKyBMYXJnZQorVGhpcyB0ZXN0IGVuc3VyZXMgV2ViS2l0IGNhbiBzZWFy
Y2ggZm9yIGFkLWhvYyByYWRpb2dyb3Vwcy4gQW4gYWQtaG9jIHJhZGlvZ3JvdXAgaXMgYSBzZXQg
b2YgcmFkaW9idXR0b25zIGNvbm5lY3RlZCBieSBgbmFtZWAgYXR0cmlidXRlIGFsb25lLCB3aXRo
b3V0IGFuIGFwcHJvcHJpYXRlIGByb2xlPSJyYWRpb2dyb3VwImAgY29udGFpbmVyLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FY
Um9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0RWxlbWVudC5zdHJpbmdBdHRyaWJ1dGVW
YWx1ZSgnQVhET01JZGVudGlmaWVyJykgaXMgJ2NpcmNsZScKK1BBU1MgcmVzdWx0RWxlbWVudC5y
b2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQQVNTIHJlc3VsdEVsZW1lbnQuc3RyaW5n
QXR0cmlidXRlVmFsdWUoJ0FYRE9NSWRlbnRpZmllcicpIGlzICdyZWQnCitQQVNTIHJlc3VsdEVs
ZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVtZW50
LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWERPTUlkZW50aWZpZXInKSBpcyAnc21hbGwnCitQQVNT
IHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9uJworUEFTUyByZXN1
bHRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWERPTUlkZW50aWZpZXInKSBpcyAnZ3Jl
ZW4nCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9uJwor
UEFTUyByZXN1bHRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWERPTUlkZW50aWZpZXIn
KSBpcyAndHJpYW5nbGUnCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJh
ZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWERP
TUlkZW50aWZpZXInKSBpcyAncmVkJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bWFjL3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8t
Z3JvdXBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMwNzBiZmZmMjhkNzhiZjE3ZjVjMTdlZTY4ODVjMzNm
YzYxYWNlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFj
L3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sCkBAIC0wLDAgKzEs
MTA2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5IiByb2xlPSJncm91
cCI+CisgICAgCis8cD5TaGFwZTwvcD4KKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9
ImNpcmNsZSIgbmFtZT0ic2hhcGUiIHZhbHVlPSJjaXJjbGUiPgorICA8bGFiZWwgZm9yPSJjaXJj
bGUiPkNpcmNsZTwvbGFiZWw+Cis8L2Rpdj4KKworPGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlv
IiBpZD0ic3F1YXJlIiBuYW1lPSJzaGFwZSIgdmFsdWU9InNxdWFyZSI+CisgIDxsYWJlbCBmb3I9
InNxdWFyZSI+U3F1YXJlPC9sYWJlbD4KKzwvZGl2PgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0i
cmFkaW8iIGlkPSJ0cmlhbmdsZSIgbmFtZT0ic2hhcGUiIHZhbHVlPSJ0cmlhbmdsZSI+CisgIDxs
YWJlbCBmb3I9InRyaWFuZ2xlIj5UcmlhbmdsZTwvbGFiZWw+Cis8L2Rpdj4KKworPHA+Q29sb3I8
L3A+Cis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyZWQiIG5hbWU9ImNvbG9yIiB2
YWx1ZT0icmVkIj4KKyAgPGxhYmVsIGZvcj0icmVkIj5SZWQ8L2xhYmVsPgorPC9kaXY+CisKKzxk
aXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImJsdWUiIG5hbWU9ImNvbG9yIiB2YWx1ZT0i
Ymx1ZSI+CisgIDxsYWJlbCBmb3I9ImJsdWUiPkJsdWU8L2xhYmVsPgorPC9kaXY+CisKKzxkaXY+
CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImdyZWVuIiBuYW1lPSJjb2xvciIgdmFsdWU9Imdy
ZWVuIj4KKyAgPGxhYmVsIGZvcj0iZ3JlZW4iPkdyZWVuPC9sYWJlbD4KKzwvZGl2PgorCis8cD5T
aXplPC9wPgorPGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0ic21hbGwiIG5hbWU9InNp
emUiIHZhbHVlPSJzbWFsbCI+CisgIDxsYWJlbCBmb3I9InNtYWxsIj5TbWFsbDwvbGFiZWw+Cis8
L2Rpdj4KKworPHA+CisgIFVucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlv
IGdyb3VwIGl0ZW1zCis8L3A+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9Im1l
ZGl1bSIgbmFtZT0ic2l6ZSIgdmFsdWU9Im1lZGl1bSI+CisgIDxsYWJlbCBmb3I9Im1lZGl1bSI+
TWVkaXVtPC9sYWJlbD4KKzwvZGl2PgorCis8cD4KKyAgVW5yZWxhdGVkIGNvbnRlbnQgc2VwYXJh
dGluZyBhZC1ob2MgcmFkaW8gZ3JvdXAgaXRlbXMKKzwvcD4KKworPGRpdj4KKyAgPGlucHV0IHR5
cGU9InJhZGlvIiBpZD0ibGFyZ2UiIG5hbWU9InNpemUiIHZhbHVlPSJsYXJnZSI+CisgIDxsYWJl
bCBmb3I9ImxhcmdlIj5MYXJnZTwvbGFiZWw+Cis8L2Rpdj4KKyAgICAKKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIFdlYktpdCBjYW4gc2VhcmNoIGZvciBhZC1ob2Mg
cmFkaW9ncm91cHMuIEFuIGFkLWhvYyByYWRpb2dyb3VwIGlzIGEgc2V0IG9mIHJhZGlvYnV0dG9u
cyBjb25uZWN0ZWQgYnkgYG5hbWVgIGF0dHJpYnV0ZSBhbG9uZSwgd2l0aG91dCBhbiBhcHByb3By
aWF0ZSBgcm9sZT1cInJhZGlvZ3JvdXBcImAgY29udGFpbmVyLiIpCisKKyAgICBpZiAod2luZG93
LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIHdpbmRvdy5jb250YWluZXJFbGVt
ZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJib2R5
Iik7CisgICAgICAgIAorICAgICAgICBzdGFydEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LmNo
aWxkQXRJbmRleCgwKTsKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNv
bnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwg
dHJ1ZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3Vs
ZEJlKCJyZXN1bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAg
ICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYRE9N
SWRlbnRpZmllcicpIiwgIidjaXJjbGUnIik7CisgICAgICAgIAorICAgICAgICBzdGFydEVsZW1l
bnQgPSByZXN1bHRFbGVtZW50ID0gY29udGFpbmVyRWxlbWVudC51aUVsZW1lbnRGb3JTZWFyY2hQ
cmVkaWNhdGUoc3RhcnRFbGVtZW50LCB0cnVlLCAiQVhSYWRpb0dyb3VwU2VhcmNoS2V5IiwgIiIs
IGZhbHNlKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQucm9sZSIsICInQVhSb2xl
OiBBWFJhZGlvQnV0dG9uJyIpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5zdHJp
bmdBdHRyaWJ1dGVWYWx1ZSgnQVhET01JZGVudGlmaWVyJykiLCAiJ3JlZCciKTsKKyAgICAgICAg
CisgICAgICAgIHN0YXJ0RWxlbWVudCA9IHJlc3VsdEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50
LnVpRWxlbWVudEZvclNlYXJjaFByZWRpY2F0ZShzdGFydEVsZW1lbnQsIHRydWUsICJBWFJhZGlv
R3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxl
bWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJl
KCJyZXN1bHRFbGVtZW50LnN0cmluZ0F0dHJpYnV0ZVZhbHVlKCdBWERPTUlkZW50aWZpZXInKSIs
ICInc21hbGwnIik7CisgICAgICAgIAorICAgICAgICAvLyBOb3cgc2VhcmNoIGJhY2t3YXJkcyB1
cCB0aGUgYWQtaG9jIHJhZGlvZ3JvdXBzLgorICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50
ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJl
ZGljYXRlKHN0YXJ0RWxlbWVudCwgZmFsc2UsICJBWFJhZGlvR3JvdXBTZWFyY2hLZXkiLCAiIiwg
ZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6
IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnN0cmlu
Z0F0dHJpYnV0ZVZhbHVlKCdBWERPTUlkZW50aWZpZXInKSIsICInZ3JlZW4nIik7CisgICAgICAg
IAorICAgICAgICBzdGFydEVsZW1lbnQgPSByZXN1bHRFbGVtZW50ID0gY29udGFpbmVyRWxlbWVu
dC51aUVsZW1lbnRGb3JTZWFyY2hQcmVkaWNhdGUoc3RhcnRFbGVtZW50LCBmYWxzZSwgIkFYUmFk
aW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRF
bGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxk
QmUoInJlc3VsdEVsZW1lbnQuc3RyaW5nQXR0cmlidXRlVmFsdWUoJ0FYRE9NSWRlbnRpZmllcicp
IiwgIid0cmlhbmdsZSciKTsKKyAgICAgICAgCisgICAgICAgIC8vIEFuZCBmaW5hbGx5IHNlYXJj
aCBmb3J3YXJkIG9uY2UgbW9yZS4KKyAgICAgICAgCisgICAgICAgIHN0YXJ0RWxlbWVudCA9IHJl
c3VsdEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LnVpRWxlbWVudEZvclNlYXJjaFByZWRpY2F0
ZShzdGFydEVsZW1lbnQsIHRydWUsICJBWFJhZGlvR3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFsc2Us
IGZhbHNlKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQucm9sZSIsICInQVhSb2xl
OiBBWFJhZGlvQnV0dG9uJyIpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5zdHJp
bmdBdHRyaWJ1dGVWYWx1ZSgnQVhET01JZGVudGlmaWVyJykiLCAiJ3JlZCciKTsKKyAgICB9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436303</attachid>
            <date>2021-08-24 10:17:11 -0700</date>
            <delta_ts>2021-08-24 11:15:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229415-20210824121710.patch</filename>
            <type>text/plain</type>
            <size>10717</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY0ZGU3ZmVlZGUxMjZk
MjcyY2E4Njk0YzU5M2NhMjZiMWFjZGVhMS4uNTI2NDY2NjBhNjY5MmIzODVkMjlmZmY0NjExNTA5
NGNmZDVkNTIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTI0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRp
b2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFkaW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxl
IHRoZSBhYmlsaXR5IGZvciBXZWJLaXQgVUkgZWxlbWVudCBhY2Nlc3NpYmlsaXR5IHNlYXJjaGVz
IHRvIGZpbmQKKyAgICAgICAgYWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91
cCBpcyBhIGdyb3VwIG9mIHJhZGlvYnV0dG9ucworICAgICAgICBjb25uZWN0ZWQgb25seSBieSBg
bmFtZWAgYXR0cmlidXRlLCBtaXNzaW5nIGFuIGFwcHJvcHJpYXRlIHJvbGU9InJhZGlvZ3JvdXAi
CisgICAgICAgIGNvbnRhaW5lci4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L21hYy9z
ZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMuaHRtbAorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHk6OmlzUmFkaW9CdXR0b25JbkRpZmZlcmVudEFkaG9jR3JvdXApOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eU9iamVj
dFNlYXJjaE1hdGNoQXRJbmRleCk6CisgICAgICAgIFdoZW4gc2VhcmNoaW5nIGZvciByYWRpb2dy
b3VwcywgYWxzbyBtYXRjaCByYWRpb2J1dHRvbnMgaW4gZGlmZmVyZW50CisgICAgICAgIGFkLWhv
YyByYWRpb2dyb3Vwcy4KKwogMjAyMS0wOC0yNCAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFw
ZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIE5vbi11bmlmaWVkIGJ1aWxkIGZpeGVzLCBsYXRl
IEF1Z3VzdCAyMDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCA1MGQyMDVmNDVhMzUxZTJkOGRjYTQ4ZjEwZmVhNzMw
MGNjYTFkZWU4Li5jNmY5OWZhYWI0YTVkYjE3MGI2MThjYTcyYzAzZGMwMDIyN2VlYWIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKQEAgLTM2MzksNiArMzYzOSwyMSBAQCBTdHJpbmcgcm9sZVRvUGxhdGZvcm1TdHJpbmco
QWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICByZXR1cm4gcm9sZU1hcC0+Z2V0KHN0YXRpY19j
YXN0PHVuc2lnbmVkPihyb2xlKSk7CiB9CiAKKy8vIFRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyBp
ZiB0aGUgZ2l2ZW4gYGF4T2JqZWN0YCBpcyBhIHJhZGlvIGJ1dHRvbiBwYXJ0IG9mIGEgZGlmZmVy
ZW50IGFkLWhvYyByYWRpbyBncm91cAorLy8gdGhhbiBgcmVmZXJlbmNlT2JqZWN0YCwgd2hlcmUg
YWQtaG9jIHJhZGlvIGdyb3VwIG1lbWJlcnNoaXAgaXMgZGV0ZXJtaW5lZCBieSBjb21wYXJpbmcg
YG5hbWVgIGF0dHJpYnV0ZXMuCitzdGF0aWMgYm9vbCBpc1JhZGlvQnV0dG9uSW5EaWZmZXJlbnRB
ZGhvY0dyb3VwKEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFYQ29yZU9iamVjdCogcmVmZXJlbmNl
T2JqZWN0KQoreworICAgIGlmICghYXhPYmplY3QgfHwgIWF4T2JqZWN0LT5pc1JhZGlvQnV0dG9u
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIElmIHRoZSBgcmVmZXJlbmNlT2Jq
ZWN0YCBpcyBub3QgYSByYWRpbyBidXR0b24gYW5kIHRoaXMgYGF4T2JqZWN0YCBpcywgdGhlaXIg
cmFkaW8gZ3JvdXAgbWVtYmVyc2hpcCBpcyBkaWZmZXJlbnQgYmVjYXVzZQorICAgIC8vIGBheE9i
amVjdGAgYmVsb25ncyB0byBhIGdyb3VwIGFuZCBgcmVmZXJlbmNlT2JqZWN0YCBkb2Vzbid0Lgor
ICAgIGlmICghcmVmZXJlbmNlT2JqZWN0IHx8ICFyZWZlcmVuY2VPYmplY3QtPmlzUmFkaW9CdXR0
b24oKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gYXhPYmplY3QtPmVsZW1l
bnQoKS0+Z2V0TmFtZUF0dHJpYnV0ZSgpICE9IHJlZmVyZW5jZU9iamVjdC0+ZWxlbWVudCgpLT5n
ZXROYW1lQXR0cmlidXRlKCk7Cit9CisKIHN0YXRpYyBib29sIGlzQWNjZXNzaWJpbGl0eU9iamVj
dFNlYXJjaE1hdGNoQXRJbmRleChBWENvcmVPYmplY3QqIGF4T2JqZWN0LCBBY2Nlc3NpYmlsaXR5
U2VhcmNoQ3JpdGVyaWEgY29uc3QmIGNyaXRlcmlhLCBzaXplX3QgaW5kZXgpCiB7CiAgICAgc3dp
dGNoIChjcml0ZXJpYS5zZWFyY2hLZXlzW2luZGV4XSkgewpAQCAtMzcxOSw3ICszNzM0LDcgQEAg
c3RhdGljIGJvb2wgaXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2VhcmNoTWF0Y2hBdEluZGV4KEFYQ29y
ZU9iamVjdCogYXhPYmplY3QsIEFjY2UKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlTZWFyY2hLZXk6
OlBsYWluVGV4dDoKICAgICAgICAgcmV0dXJuIGF4T2JqZWN0LT5oYXNQbGFpblRleHQoKTsKICAg
ICBjYXNlIEFjY2Vzc2liaWxpdHlTZWFyY2hLZXk6OlJhZGlvR3JvdXA6Ci0gICAgICAgIHJldHVy
biBheE9iamVjdC0+aXNSYWRpb0dyb3VwKCk7CisgICAgICAgIHJldHVybiBheE9iamVjdC0+aXNS
YWRpb0dyb3VwKCkgfHwgaXNSYWRpb0J1dHRvbkluRGlmZmVyZW50QWRob2NHcm91cChheE9iamVj
dCwgY3JpdGVyaWEuc3RhcnRPYmplY3QpOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVNlYXJjaEtl
eTo6U2FtZVR5cGU6CiAgICAgICAgIHJldHVybiBjcml0ZXJpYS5zdGFydE9iamVjdAogICAgICAg
ICAgICAgJiYgYXhPYmplY3QtPnJvbGVWYWx1ZSgpID09IGNyaXRlcmlhLnN0YXJ0T2JqZWN0LT5y
b2xlVmFsdWUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAxZGViYTA3OTZhYzNiZmM4NDY2ZTdmMTgyYzNkN2E3MGJhMmFl
ZjZmLi5kYjgyOWJkZDJlMDA4NDk1NjE2ZmQzOGMzMWE0ODNhOTE0YTk1M2UxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMjEtMDgtMjQgIFR5bGVyIFdpbGNvY2sgIDx0eWxlcl93QGFwcGxlLmNv
bT4KKworICAgICAgICBBWDogUmV0dXJuIHJhZGlvYnV0dG9ucyBwYXJ0IG9mIGFkLWhvYyByYWRp
b2dyb3VwcyBmcm9tIEFYIHNlYXJjaCBxdWVyaWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk0MTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCB0byBlbnN1cmUgV2ViS2l0IFVJIGVsZW1l
bnQgYWNjZXNzaWJpbGl0eSBzZWFyY2hlcyBjYW4gZmluZAorICAgICAgICBhZC1ob2MgcmFkaW9n
cm91cHMuIEFuIGFkLWhvYyByYWRpb2dyb3VwIGlzIGEgZ3JvdXAgb2YgcmFkaW9idXR0b25zCisg
ICAgICAgIGNvbm5lY3RlZCBvbmx5IGJ5IGBuYW1lYCBhdHRyaWJ1dGVzLCBtaXNzaW5nIGFuIGFw
cHJvcHJpYXRlIHJvbGU9InJhZGlvZ3JvdXAiCisgICAgICAgIGNvbnRhaW5lci4KKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvbWFjL3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdy
b3Vwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvc2VhcmNo
LXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOiBFbmFibGUgbmV3CisgICAgICAgIHNlYXJj
aC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sIHRlc3QuCisKIDIwMjEtMDgt
MjQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJF
R1JFU1NJT04ocjI4MTMwNSkgW0dTdHJlYW1lcl0gZmFzdC9tZWRpYXN0cmVhbS9nZXREaXNwbGF5
TWVkaWEtZnJhbWUtcmF0ZS5odG1sIHRpbWVvdXRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3NlYXJjaC1wcmVkaWNhdGUtZm9y
LWFkaG9jLXJhZGlvLWdyb3Vwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjc3NDdmMTk0NzA1
NGE2NDRlNmJjY2M1YTFmNTZkNmIwODFlMWZlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACitUaGlzIHRlc3QgZW5zdXJlcyBXZWJLaXQg
Y2FuIHNlYXJjaCBmb3IgYWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91cCBp
cyBhIHNldCBvZiByYWRpb2J1dHRvbnMgY29ubmVjdGVkIGJ5IGBuYW1lYCBhdHRyaWJ1dGUgYWxv
bmUsIHdpdGhvdXQgYW4gYXBwcm9wcmlhdGUgYHJvbGU9InJhZGlvZ3JvdXAiYCBjb250YWluZXIu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJlc3VsdEVsZW1lbnQucm9s
ZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVtZW50LmRvbUlkZW50
aWZpZXIgaXMgJ2NpcmNsZScKK1BBU1MgcmVzdWx0RWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IEFY
UmFkaW9CdXR0b24nCitQQVNTIHJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciBpcyAncmVkJwor
UEFTUyByZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1Mg
cmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIGlzICdzbWFsbCcKK1BBU1MgcmVzdWx0RWxlbWVu
dC5yb2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQQVNTIHJlc3VsdEVsZW1lbnQuZG9t
SWRlbnRpZmllciBpcyAnZ3JlZW4nCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xl
OiBBWFJhZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIgaXMgJ3Ry
aWFuZ2xlJworUEFTUyByZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogQVhSYWRpb0J1dHRv
bicKK1BBU1MgcmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIGlzICdyZWQnCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1NoYXBlCisKKyBDaXJjbGUK
KyBTcXVhcmUKKyBUcmlhbmdsZQorQ29sb3IKKworIFJlZAorIEJsdWUKKyBHcmVlbgorU2l6ZQor
CisgU21hbGwKK1VucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlvIGdyb3Vw
IGl0ZW1zCisKKyBNZWRpdW0KK1VucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJh
ZGlvIGdyb3VwIGl0ZW1zCisKKyBMYXJnZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8t
Z3JvdXBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRhY2Q2OTQ4ZmU1MjdhMGNkOTE4MWUwZDY4NWJkMzYw
YzhlNTYxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvc2Vh
cmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLmh0bWwKQEAgLTAsMCArMSwxMDIg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSIgcm9sZT0iZ3JvdXAiPgorICAg
IAorPHA+U2hhcGU8L3A+Cis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJjaXJjbGUi
IG5hbWU9InNoYXBlIiB2YWx1ZT0iY2lyY2xlIj4KKyAgPGxhYmVsIGZvcj0iY2lyY2xlIj5DaXJj
bGU8L2xhYmVsPgorPC9kaXY+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InNx
dWFyZSIgbmFtZT0ic2hhcGUiIHZhbHVlPSJzcXVhcmUiPgorICA8bGFiZWwgZm9yPSJzcXVhcmUi
PlNxdWFyZTwvbGFiZWw+Cis8L2Rpdj4KKworPGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBp
ZD0idHJpYW5nbGUiIG5hbWU9InNoYXBlIiB2YWx1ZT0idHJpYW5nbGUiPgorICA8bGFiZWwgZm9y
PSJ0cmlhbmdsZSI+VHJpYW5nbGU8L2xhYmVsPgorPC9kaXY+CisKKzxwPkNvbG9yPC9wPgorPGRp
dj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0icmVkIiBuYW1lPSJjb2xvciIgdmFsdWU9InJl
ZCI+CisgIDxsYWJlbCBmb3I9InJlZCI+UmVkPC9sYWJlbD4KKzwvZGl2PgorCis8ZGl2PgorICA8
aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJibHVlIiBuYW1lPSJjb2xvciIgdmFsdWU9ImJsdWUiPgor
ICA8bGFiZWwgZm9yPSJibHVlIj5CbHVlPC9sYWJlbD4KKzwvZGl2PgorCis8ZGl2PgorICA8aW5w
dXQgdHlwZT0icmFkaW8iIGlkPSJncmVlbiIgbmFtZT0iY29sb3IiIHZhbHVlPSJncmVlbiI+Cisg
IDxsYWJlbCBmb3I9ImdyZWVuIj5HcmVlbjwvbGFiZWw+Cis8L2Rpdj4KKworPHA+U2l6ZTwvcD4K
KzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InNtYWxsIiBuYW1lPSJzaXplIiB2YWx1
ZT0ic21hbGwiPgorICA8bGFiZWwgZm9yPSJzbWFsbCI+U21hbGw8L2xhYmVsPgorPC9kaXY+CisK
KzxwPgorICBVbnJlbGF0ZWQgY29udGVudCBzZXBhcmF0aW5nIGFkLWhvYyByYWRpbyBncm91cCBp
dGVtcworPC9wPgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtZWRpdW0iIG5h
bWU9InNpemUiIHZhbHVlPSJtZWRpdW0iPgorICA8bGFiZWwgZm9yPSJtZWRpdW0iPk1lZGl1bTwv
bGFiZWw+Cis8L2Rpdj4KKworPHA+CisgIFVucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQt
aG9jIHJhZGlvIGdyb3VwIGl0ZW1zCis8L3A+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRp
byIgaWQ9ImxhcmdlIiBuYW1lPSJzaXplIiB2YWx1ZT0ibGFyZ2UiPgorICA8bGFiZWwgZm9yPSJs
YXJnZSI+TGFyZ2U8L2xhYmVsPgorPC9kaXY+CisKKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCBlbnN1cmVzIFdlYktpdCBjYW4gc2VhcmNoIGZvciBhZC1ob2MgcmFkaW9ncm91
cHMuIEFuIGFkLWhvYyByYWRpb2dyb3VwIGlzIGEgc2V0IG9mIHJhZGlvYnV0dG9ucyBjb25uZWN0
ZWQgYnkgYG5hbWVgIGF0dHJpYnV0ZSBhbG9uZSwgd2l0aG91dCBhbiBhcHByb3ByaWF0ZSBgcm9s
ZT1cInJhZGlvZ3JvdXBcImAgY29udGFpbmVyLiIpCisKKyAgICBpZiAod2luZG93LmFjY2Vzc2li
aWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIHdpbmRvdy5jb250YWluZXJFbGVtZW50ID0gYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJib2R5Iik7CisgICAg
ICAgIAorICAgICAgICBzdGFydEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LmNoaWxkQXRJbmRl
eCgwKTsKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVs
ZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFY
UmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1
bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hv
dWxkQmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICInY2lyY2xlJyIpOworICAgICAg
ICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1l
bnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFk
aW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRF
bGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxk
QmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICIncmVkJyIpOworICAgICAgICAKKyAg
ICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlF
bGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9Hcm91
cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50
LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUoInJl
c3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICInc21hbGwnIik7CisgICAgICAgIAorICAgICAg
ICAvLyBOb3cgc2VhcmNoIGJhY2t3YXJkcyB1cCB0aGUgYWQtaG9jIHJhZGlvZ3JvdXBzLgorICAg
ICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVs
ZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgZmFsc2UsICJB
WFJhZGlvR3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVz
dWx0RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNo
b3VsZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ2dyZWVuJyIpOworICAgICAg
ICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1l
bnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgZmFsc2UsICJBWFJh
ZGlvR3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0
RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3Vs
ZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ3RyaWFuZ2xlJyIpOworICAgICAg
ICAKKyAgICAgICAgLy8gQW5kIGZpbmFsbHkgc2VhcmNoIGZvcndhcmQgb25jZSBtb3JlLgorICAg
ICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVs
ZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFY
UmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSwgZmFsc2UpOworICAgICAgICBzaG91bGRC
ZSgicmVzdWx0RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAg
ICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ3JlZCciKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWI4ZDNiZGFiZTcxODU3OThhNGM1Y2M3NWY0MWMzNzMx
ZjU4MjJlNi4uNjgyYzAwM2JmOTQxMmUwNWQ5MGJlOWJhMTYzMmYwNzM5NTlhY2UzZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIxMTMsNiArMjExMyw4
IEBAIGFjY2Vzc2liaWxpdHkvYXR0YWNobWVudC1lbGVtZW50Lmh0bWwgWyBQYXNzIF0KICMgRW5h
YmxlIFRleHQgbWFya2VyIHRlc3RzIGZvciBpT1MKIHdlYmtpdC5vcmcvYi8xNTMyOTIgYWNjZXNz
aWJpbGl0eS90ZXh0LW1hcmtlciBbIFBhc3MgXQogCithY2Nlc3NpYmlsaXR5L3NlYXJjaC1wcmVk
aWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sIFsgUGFzcyBdCisKICMgU2tpcCBhY2Nl
c3NpYmlsaXR5IHRleHQgcmVjb2duaXRpb24gdGVzdHMgb24gaU9TIDE0IGFuZCBlYXJsaWVyLgog
YWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2ltYWdlLW92ZXJsYXktZWxlbWVudHMuaHRtbAog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436309</attachid>
            <date>2021-08-24 11:15:44 -0700</date>
            <delta_ts>2021-08-24 11:17:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229415-20210824131543.patch</filename>
            <type>text/plain</type>
            <size>12046</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY0ZGU3ZmVlZGUxMjZk
MjcyY2E4Njk0YzU5M2NhMjZiMWFjZGVhMS4uZTFjMThiZTgwODU5YjU4NzlmMTBiZWUwMTZhZGNi
MDE0MmI5ZGIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTI0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRp
b2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFkaW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxl
IHRoZSBhYmlsaXR5IGZvciBXZWJLaXQgVUkgZWxlbWVudCBhY2Nlc3NpYmlsaXR5IHNlYXJjaGVz
IHRvIGZpbmQKKyAgICAgICAgYWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91
cCBpcyBhIGdyb3VwIG9mIHJhZGlvYnV0dG9ucworICAgICAgICBjb25uZWN0ZWQgb25seSBieSBg
bmFtZWAgYXR0cmlidXRlLCBtaXNzaW5nIGFuIGFwcHJvcHJpYXRlIHJvbGU9InJhZGlvZ3JvdXAi
CisgICAgICAgIGNvbnRhaW5lci4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L3NlYXJj
aC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sCisKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eTo6aXNSYWRpb0J1dHRvbkluRGlmZmVyZW50QWRob2NHcm91cCk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eTo6aXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2Vh
cmNoTWF0Y2hBdEluZGV4KToKKyAgICAgICAgV2hlbiBzZWFyY2hpbmcgZm9yIHJhZGlvZ3JvdXBz
LCBhbHNvIG1hdGNoIHJhZGlvYnV0dG9ucyBpbiBkaWZmZXJlbnQKKyAgICAgICAgYWQtaG9jIHJh
ZGlvZ3JvdXBzLgorCiAyMDIxLTA4LTI0ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6
QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMsIGxhdGUgQXVn
dXN0IDIwMjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwCmluZGV4IDUwZDIwNWY0NWEzNTFlMmQ4ZGNhNDhmMTBmZWE3MzAwY2Nh
MWRlZTguLmM2Zjk5ZmFhYjRhNWRiMTcwYjYxOGNhNzJjMDNkYzAwMjI3ZWVhYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cApAQCAtMzYzOSw2ICszNjM5LDIxIEBAIFN0cmluZyByb2xlVG9QbGF0Zm9ybVN0cmluZyhBY2Nl
c3NpYmlsaXR5Um9sZSByb2xlKQogICAgIHJldHVybiByb2xlTWFwLT5nZXQoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHJvbGUpKTsKIH0KIAorLy8gVGhpcyBmdW5jdGlvbiBkZXRlcm1pbmVzIGlmIHRo
ZSBnaXZlbiBgYXhPYmplY3RgIGlzIGEgcmFkaW8gYnV0dG9uIHBhcnQgb2YgYSBkaWZmZXJlbnQg
YWQtaG9jIHJhZGlvIGdyb3VwCisvLyB0aGFuIGByZWZlcmVuY2VPYmplY3RgLCB3aGVyZSBhZC1o
b2MgcmFkaW8gZ3JvdXAgbWVtYmVyc2hpcCBpcyBkZXRlcm1pbmVkIGJ5IGNvbXBhcmluZyBgbmFt
ZWAgYXR0cmlidXRlcy4KK3N0YXRpYyBib29sIGlzUmFkaW9CdXR0b25JbkRpZmZlcmVudEFkaG9j
R3JvdXAoQVhDb3JlT2JqZWN0KiBheE9iamVjdCwgQVhDb3JlT2JqZWN0KiByZWZlcmVuY2VPYmpl
Y3QpCit7CisgICAgaWYgKCFheE9iamVjdCB8fCAhYXhPYmplY3QtPmlzUmFkaW9CdXR0b24oKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gSWYgdGhlIGByZWZlcmVuY2VPYmplY3Rg
IGlzIG5vdCBhIHJhZGlvIGJ1dHRvbiBhbmQgdGhpcyBgYXhPYmplY3RgIGlzLCB0aGVpciByYWRp
byBncm91cCBtZW1iZXJzaGlwIGlzIGRpZmZlcmVudCBiZWNhdXNlCisgICAgLy8gYGF4T2JqZWN0
YCBiZWxvbmdzIHRvIGEgZ3JvdXAgYW5kIGByZWZlcmVuY2VPYmplY3RgIGRvZXNuJ3QuCisgICAg
aWYgKCFyZWZlcmVuY2VPYmplY3QgfHwgIXJlZmVyZW5jZU9iamVjdC0+aXNSYWRpb0J1dHRvbigp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBheE9iamVjdC0+ZWxlbWVudCgp
LT5nZXROYW1lQXR0cmlidXRlKCkgIT0gcmVmZXJlbmNlT2JqZWN0LT5lbGVtZW50KCktPmdldE5h
bWVBdHRyaWJ1dGUoKTsKK30KKwogc3RhdGljIGJvb2wgaXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2Vh
cmNoTWF0Y2hBdEluZGV4KEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2Vzc2liaWxpdHlTZWFy
Y2hDcml0ZXJpYSBjb25zdCYgY3JpdGVyaWEsIHNpemVfdCBpbmRleCkKIHsKICAgICBzd2l0Y2gg
KGNyaXRlcmlhLnNlYXJjaEtleXNbaW5kZXhdKSB7CkBAIC0zNzE5LDcgKzM3MzQsNyBAQCBzdGF0
aWMgYm9vbCBpc0FjY2Vzc2liaWxpdHlPYmplY3RTZWFyY2hNYXRjaEF0SW5kZXgoQVhDb3JlT2Jq
ZWN0KiBheE9iamVjdCwgQWNjZQogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVNlYXJjaEtleTo6UGxh
aW5UZXh0OgogICAgICAgICByZXR1cm4gYXhPYmplY3QtPmhhc1BsYWluVGV4dCgpOwogICAgIGNh
c2UgQWNjZXNzaWJpbGl0eVNlYXJjaEtleTo6UmFkaW9Hcm91cDoKLSAgICAgICAgcmV0dXJuIGF4
T2JqZWN0LT5pc1JhZGlvR3JvdXAoKTsKKyAgICAgICAgcmV0dXJuIGF4T2JqZWN0LT5pc1JhZGlv
R3JvdXAoKSB8fCBpc1JhZGlvQnV0dG9uSW5EaWZmZXJlbnRBZGhvY0dyb3VwKGF4T2JqZWN0LCBj
cml0ZXJpYS5zdGFydE9iamVjdCk7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5U2VhcmNoS2V5OjpT
YW1lVHlwZToKICAgICAgICAgcmV0dXJuIGNyaXRlcmlhLnN0YXJ0T2JqZWN0CiAgICAgICAgICAg
ICAmJiBheE9iamVjdC0+cm9sZVZhbHVlKCkgPT0gY3JpdGVyaWEuc3RhcnRPYmplY3QtPnJvbGVW
YWx1ZSgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KaW5kZXgg
NWNkZGY1ZjZkOTIwYjFhNmZmNDE0NmEyMzU4ODQzMTgxMGI3NGIxOC4uNjQxZjA5M2M1MTI5YWRm
OTFmMTFiNzAyOWE3NGI0NmJmNWZmYWM3OCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50SU9TLm1tCkBAIC03NTYsNyArNzU2LDcgQEAgdW5zaWduZWQgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6dWlFbGVtZW50Q291bnRGb3JTZWFyY2hQcmVkaWNhdGUoSlNDb250ZXh0UmVm
IGMKIAogUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnVpRWxlbWVudEZvclNlYXJjaFByZWRpY2F0ZShKU0NvbnRleHRSZWYgY29udGV4dCwgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudCAqc3RhcnRFbGVtZW50LCBib29sIGlzRGlyZWN0aW9uTmV4dCwg
SlNWYWx1ZVJlZiBzZWFyY2hLZXksIEpTU3RyaW5nUmVmIHNlYXJjaFRleHQsIGJvb2wgdmlzaWJs
ZU9ubHksIGJvb2wgaW1tZWRpYXRlRGVzY2VuZGFudHNPbmx5KQogewotICAgIE5TRGljdGlvbmFy
eSAqcGFyYW1ldGVyaXplZEF0dHJpYnV0ZSA9IHNlYXJjaFByZWRpY2F0ZVBhcmFtZXRlcml6ZWRB
dHRyaWJ1dGVGb3JTZWFyY2hDcml0ZXJpYShjb250ZXh0LCBzdGFydEVsZW1lbnQsIGlzRGlyZWN0
aW9uTmV4dCwgNSwgc2VhcmNoS2V5LCBzZWFyY2hUZXh0LCB2aXNpYmxlT25seSwgaW1tZWRpYXRl
RGVzY2VuZGFudHNPbmx5KTsKKyAgICBOU0RpY3Rpb25hcnkgKnBhcmFtZXRlcml6ZWRBdHRyaWJ1
dGUgPSBzZWFyY2hQcmVkaWNhdGVQYXJhbWV0ZXJpemVkQXR0cmlidXRlRm9yU2VhcmNoQ3JpdGVy
aWEoY29udGV4dCwgc3RhcnRFbGVtZW50LCBpc0RpcmVjdGlvbk5leHQsIDEsIHNlYXJjaEtleSwg
c2VhcmNoVGV4dCwgdmlzaWJsZU9ubHksIGltbWVkaWF0ZURlc2NlbmRhbnRzT25seSk7CiAgICAg
aWQgdmFsdWUgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlGaW5kTWF0Y2hpbmdPYmplY3RzOnBh
cmFtZXRlcml6ZWRBdHRyaWJ1dGVdOwogICAgIGlmICghW3ZhbHVlIGlzS2luZE9mQ2xhc3M6W05T
QXJyYXkgY2xhc3NdXSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWRlYmEwNzk2
YWMzYmZjODQ2NmU3ZjE4MmMzZDdhNzBiYTJhZWY2Zi4uYTVjYTlkOTdlY2VkOTIwNDY4Y2RkYTA5
ZTNiMmUyMmE0OTI5YTI0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA4LTI0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRp
b2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFkaW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRl
c3QgdG8gZW5zdXJlIFdlYktpdCBVSSBlbGVtZW50IGFjY2Vzc2liaWxpdHkgc2VhcmNoZXMgY2Fu
IGZpbmQKKyAgICAgICAgYWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91cCBp
cyBhIGdyb3VwIG9mIHJhZGlvYnV0dG9ucworICAgICAgICBjb25uZWN0ZWQgb25seSBieSBgbmFt
ZWAgYXR0cmlidXRlcywgbWlzc2luZyBhbiBhcHByb3ByaWF0ZSByb2xlPSJyYWRpb2dyb3VwIgor
ICAgICAgICBjb250YWluZXIuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3NlYXJjaC1wcmVk
aWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOiBF
bmFibGUgbmV3CisgICAgICAgIHNlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vw
cy5odG1sIHRlc3QuCisKIDIwMjEtMDgtMjQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI4MTMwNSkgW0dTdHJlYW1lcl0gZmFz
dC9tZWRpYXN0cmVhbS9nZXREaXNwbGF5TWVkaWEtZnJhbWUtcmF0ZS5odG1sIHRpbWVvdXRzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3NlYXJjaC1wcmVkaWNhdGUtZm9y
LWFkaG9jLXJhZGlvLWdyb3Vwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjc3NDdmMTk0NzA1NGE2NDRlNmJjY2M1YTFmNTZkNmIwODFlMWZlZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvc2VhcmNoLXByZWRpY2F0
ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACitU
aGlzIHRlc3QgZW5zdXJlcyBXZWJLaXQgY2FuIHNlYXJjaCBmb3IgYWQtaG9jIHJhZGlvZ3JvdXBz
LiBBbiBhZC1ob2MgcmFkaW9ncm91cCBpcyBhIHNldCBvZiByYWRpb2J1dHRvbnMgY29ubmVjdGVk
IGJ5IGBuYW1lYCBhdHRyaWJ1dGUgYWxvbmUsIHdpdGhvdXQgYW4gYXBwcm9wcmlhdGUgYHJvbGU9
InJhZGlvZ3JvdXAiYCBjb250YWluZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9uJworUEFT
UyByZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIgaXMgJ2NpcmNsZScKK1BBU1MgcmVzdWx0RWxl
bWVudC5yb2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQQVNTIHJlc3VsdEVsZW1lbnQu
ZG9tSWRlbnRpZmllciBpcyAncmVkJworUEFTUyByZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FYUm9s
ZTogQVhSYWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIGlzICdz
bWFsbCcKK1BBU1MgcmVzdWx0RWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24n
CitQQVNTIHJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciBpcyAnZ3JlZW4nCitQQVNTIHJlc3Vs
dEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVt
ZW50LmRvbUlkZW50aWZpZXIgaXMgJ3RyaWFuZ2xlJworUEFTUyByZXN1bHRFbGVtZW50LnJvbGUg
aXMgJ0FYUm9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0RWxlbWVudC5kb21JZGVudGlm
aWVyIGlzICdyZWQnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKK1NoYXBlCisKKyBDaXJjbGUKKyBTcXVhcmUKKyBUcmlhbmdsZQorQ29sb3IKKworIFJl
ZAorIEJsdWUKKyBHcmVlbgorU2l6ZQorCisgU21hbGwKK1VucmVsYXRlZCBjb250ZW50IHNlcGFy
YXRpbmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1zCisKKyBNZWRpdW0KK1VucmVsYXRlZCBjb250
ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1zCisKKyBMYXJnZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhv
Yy1yYWRpby1ncm91cHMuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvc2VhcmNoLXBy
ZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODc0YWE1Y2U2
YjhlN2FjNmVjNDBmYjM5MmRhZDMwMGVjMzU4NGQ0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3Jv
dXBzLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nl
c3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSIg
cm9sZT0iZ3JvdXAiPgorICAgIAorPHA+U2hhcGU8L3A+Cis8ZGl2PgorICA8aW5wdXQgdHlwZT0i
cmFkaW8iIGlkPSJjaXJjbGUiIG5hbWU9InNoYXBlIiB2YWx1ZT0iY2lyY2xlIj4KKyAgPGxhYmVs
IGZvcj0iY2lyY2xlIj5DaXJjbGU8L2xhYmVsPgorPC9kaXY+CisKKzxkaXY+CisgIDxpbnB1dCB0
eXBlPSJyYWRpbyIgaWQ9InNxdWFyZSIgbmFtZT0ic2hhcGUiIHZhbHVlPSJzcXVhcmUiPgorICA8
bGFiZWwgZm9yPSJzcXVhcmUiPlNxdWFyZTwvbGFiZWw+Cis8L2Rpdj4KKworPGRpdj4KKyAgPGlu
cHV0IHR5cGU9InJhZGlvIiBpZD0idHJpYW5nbGUiIG5hbWU9InNoYXBlIiB2YWx1ZT0idHJpYW5n
bGUiPgorICA8bGFiZWwgZm9yPSJ0cmlhbmdsZSI+VHJpYW5nbGU8L2xhYmVsPgorPC9kaXY+CisK
KzxwPkNvbG9yPC9wPgorPGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0icmVkIiBuYW1l
PSJjb2xvciIgdmFsdWU9InJlZCI+CisgIDxsYWJlbCBmb3I9InJlZCI+UmVkPC9sYWJlbD4KKzwv
ZGl2PgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJibHVlIiBuYW1lPSJjb2xv
ciIgdmFsdWU9ImJsdWUiPgorICA8bGFiZWwgZm9yPSJibHVlIj5CbHVlPC9sYWJlbD4KKzwvZGl2
PgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJncmVlbiIgbmFtZT0iY29sb3Ii
IHZhbHVlPSJncmVlbiI+CisgIDxsYWJlbCBmb3I9ImdyZWVuIj5HcmVlbjwvbGFiZWw+Cis8L2Rp
dj4KKworPHA+U2l6ZTwvcD4KKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InNtYWxs
IiBuYW1lPSJzaXplIiB2YWx1ZT0ic21hbGwiPgorICA8bGFiZWwgZm9yPSJzbWFsbCI+U21hbGw8
L2xhYmVsPgorPC9kaXY+CisKKzxwPgorICBVbnJlbGF0ZWQgY29udGVudCBzZXBhcmF0aW5nIGFk
LWhvYyByYWRpbyBncm91cCBpdGVtcworPC9wPgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFk
aW8iIGlkPSJtZWRpdW0iIG5hbWU9InNpemUiIHZhbHVlPSJtZWRpdW0iPgorICA8bGFiZWwgZm9y
PSJtZWRpdW0iPk1lZGl1bTwvbGFiZWw+Cis8L2Rpdj4KKworPHA+CisgIFVucmVsYXRlZCBjb250
ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1zCis8L3A+CisKKzxkaXY+Cisg
IDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImxhcmdlIiBuYW1lPSJzaXplIiB2YWx1ZT0ibGFyZ2Ui
PgorICA8bGFiZWwgZm9yPSJsYXJnZSI+TGFyZ2U8L2xhYmVsPgorPC9kaXY+CisKKzxzY3JpcHQ+
CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIFdlYktpdCBjYW4gc2VhcmNoIGZv
ciBhZC1ob2MgcmFkaW9ncm91cHMuIEFuIGFkLWhvYyByYWRpb2dyb3VwIGlzIGEgc2V0IG9mIHJh
ZGlvYnV0dG9ucyBjb25uZWN0ZWQgYnkgYG5hbWVgIGF0dHJpYnV0ZSBhbG9uZSwgd2l0aG91dCBh
biBhcHByb3ByaWF0ZSBgcm9sZT1cInJhZGlvZ3JvdXBcImAgY29udGFpbmVyLiIpCisKKyAgICBp
ZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIHdpbmRvdy5jb250
YWluZXJFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCJib2R5Iik7CisgICAgICAgIAorICAgICAgICBzdGFydEVsZW1lbnQgPSBjb250YWluZXJF
bGVtZW50LmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxl
bWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0
RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAg
ICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRv
biciKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICIn
Y2lyY2xlJyIpOworICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVu
dCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxl
bWVudCwgdHJ1ZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAg
IHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbici
KTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICIncmVk
JyIpOworICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNv
bnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwg
dHJ1ZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3Vs
ZEJlKCJyZXN1bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAg
ICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICInc21hbGwnIik7
CisgICAgICAgIAorICAgICAgICAvLyBOb3cgc2VhcmNoIGJhY2t3YXJkcyB1cCB0aGUgYWQtaG9j
IHJhZGlvZ3JvdXBzLgorICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxl
bWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0
RWxlbWVudCwgZmFsc2UsICJBWFJhZGlvR3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFsc2UpOworICAg
ICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0
b24nIik7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAi
J2dyZWVuJyIpOworICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVu
dCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxl
bWVudCwgZmFsc2UsICJBWFJhZGlvR3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFsc2UpOworICAgICAg
ICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24n
Iik7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ3Ry
aWFuZ2xlJyIpOworICAgICAgICAKKyAgICAgICAgLy8gQW5kIGZpbmFsbHkgc2VhcmNoIGZvcndh
cmQgb25jZSBtb3JlLgorICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxl
bWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0
RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSwgZmFsc2Up
OworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFk
aW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZp
ZXIiLCAiJ3JlZCciKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWI4ZDNiZGFiZTcxODU3
OThhNGM1Y2M3NWY0MWMzNzMxZjU4MjJlNi4uNjgyYzAwM2JmOTQxMmUwNWQ5MGJlOWJhMTYzMmYw
NzM5NTlhY2UzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTIxMTMsNiArMjExMyw4IEBAIGFjY2Vzc2liaWxpdHkvYXR0YWNobWVudC1lbGVtZW50Lmh0
bWwgWyBQYXNzIF0KICMgRW5hYmxlIFRleHQgbWFya2VyIHRlc3RzIGZvciBpT1MKIHdlYmtpdC5v
cmcvYi8xNTMyOTIgYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlciBbIFBhc3MgXQogCithY2Nlc3Np
YmlsaXR5L3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sIFsgUGFz
cyBdCisKICMgU2tpcCBhY2Nlc3NpYmlsaXR5IHRleHQgcmVjb2duaXRpb24gdGVzdHMgb24gaU9T
IDE0IGFuZCBlYXJsaWVyLgogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2ltYWdlLW92ZXJs
YXktZWxlbWVudHMuaHRtbAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436310</attachid>
            <date>2021-08-24 11:17:41 -0700</date>
            <delta_ts>2021-08-24 13:03:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229415-20210824131740.patch</filename>
            <type>text/plain</type>
            <size>10703</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY0ZGU3ZmVlZGUxMjZk
MjcyY2E4Njk0YzU5M2NhMjZiMWFjZGVhMS4uZTFjMThiZTgwODU5YjU4NzlmMTBiZWUwMTZhZGNi
MDE0MmI5ZGIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTI0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRp
b2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFkaW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxl
IHRoZSBhYmlsaXR5IGZvciBXZWJLaXQgVUkgZWxlbWVudCBhY2Nlc3NpYmlsaXR5IHNlYXJjaGVz
IHRvIGZpbmQKKyAgICAgICAgYWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91
cCBpcyBhIGdyb3VwIG9mIHJhZGlvYnV0dG9ucworICAgICAgICBjb25uZWN0ZWQgb25seSBieSBg
bmFtZWAgYXR0cmlidXRlLCBtaXNzaW5nIGFuIGFwcHJvcHJpYXRlIHJvbGU9InJhZGlvZ3JvdXAi
CisgICAgICAgIGNvbnRhaW5lci4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L3NlYXJj
aC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sCisKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eTo6aXNSYWRpb0J1dHRvbkluRGlmZmVyZW50QWRob2NHcm91cCk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eTo6aXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2Vh
cmNoTWF0Y2hBdEluZGV4KToKKyAgICAgICAgV2hlbiBzZWFyY2hpbmcgZm9yIHJhZGlvZ3JvdXBz
LCBhbHNvIG1hdGNoIHJhZGlvYnV0dG9ucyBpbiBkaWZmZXJlbnQKKyAgICAgICAgYWQtaG9jIHJh
ZGlvZ3JvdXBzLgorCiAyMDIxLTA4LTI0ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6
QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMsIGxhdGUgQXVn
dXN0IDIwMjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlPYmplY3QuY3BwCmluZGV4IDUwZDIwNWY0NWEzNTFlMmQ4ZGNhNDhmMTBmZWE3MzAwY2Nh
MWRlZTguLmM2Zjk5ZmFhYjRhNWRiMTcwYjYxOGNhNzJjMDNkYzAwMjI3ZWVhYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cApAQCAtMzYzOSw2ICszNjM5LDIxIEBAIFN0cmluZyByb2xlVG9QbGF0Zm9ybVN0cmluZyhBY2Nl
c3NpYmlsaXR5Um9sZSByb2xlKQogICAgIHJldHVybiByb2xlTWFwLT5nZXQoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHJvbGUpKTsKIH0KIAorLy8gVGhpcyBmdW5jdGlvbiBkZXRlcm1pbmVzIGlmIHRo
ZSBnaXZlbiBgYXhPYmplY3RgIGlzIGEgcmFkaW8gYnV0dG9uIHBhcnQgb2YgYSBkaWZmZXJlbnQg
YWQtaG9jIHJhZGlvIGdyb3VwCisvLyB0aGFuIGByZWZlcmVuY2VPYmplY3RgLCB3aGVyZSBhZC1o
b2MgcmFkaW8gZ3JvdXAgbWVtYmVyc2hpcCBpcyBkZXRlcm1pbmVkIGJ5IGNvbXBhcmluZyBgbmFt
ZWAgYXR0cmlidXRlcy4KK3N0YXRpYyBib29sIGlzUmFkaW9CdXR0b25JbkRpZmZlcmVudEFkaG9j
R3JvdXAoQVhDb3JlT2JqZWN0KiBheE9iamVjdCwgQVhDb3JlT2JqZWN0KiByZWZlcmVuY2VPYmpl
Y3QpCit7CisgICAgaWYgKCFheE9iamVjdCB8fCAhYXhPYmplY3QtPmlzUmFkaW9CdXR0b24oKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gSWYgdGhlIGByZWZlcmVuY2VPYmplY3Rg
IGlzIG5vdCBhIHJhZGlvIGJ1dHRvbiBhbmQgdGhpcyBgYXhPYmplY3RgIGlzLCB0aGVpciByYWRp
byBncm91cCBtZW1iZXJzaGlwIGlzIGRpZmZlcmVudCBiZWNhdXNlCisgICAgLy8gYGF4T2JqZWN0
YCBiZWxvbmdzIHRvIGEgZ3JvdXAgYW5kIGByZWZlcmVuY2VPYmplY3RgIGRvZXNuJ3QuCisgICAg
aWYgKCFyZWZlcmVuY2VPYmplY3QgfHwgIXJlZmVyZW5jZU9iamVjdC0+aXNSYWRpb0J1dHRvbigp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBheE9iamVjdC0+ZWxlbWVudCgp
LT5nZXROYW1lQXR0cmlidXRlKCkgIT0gcmVmZXJlbmNlT2JqZWN0LT5lbGVtZW50KCktPmdldE5h
bWVBdHRyaWJ1dGUoKTsKK30KKwogc3RhdGljIGJvb2wgaXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2Vh
cmNoTWF0Y2hBdEluZGV4KEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2Vzc2liaWxpdHlTZWFy
Y2hDcml0ZXJpYSBjb25zdCYgY3JpdGVyaWEsIHNpemVfdCBpbmRleCkKIHsKICAgICBzd2l0Y2gg
KGNyaXRlcmlhLnNlYXJjaEtleXNbaW5kZXhdKSB7CkBAIC0zNzE5LDcgKzM3MzQsNyBAQCBzdGF0
aWMgYm9vbCBpc0FjY2Vzc2liaWxpdHlPYmplY3RTZWFyY2hNYXRjaEF0SW5kZXgoQVhDb3JlT2Jq
ZWN0KiBheE9iamVjdCwgQWNjZQogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVNlYXJjaEtleTo6UGxh
aW5UZXh0OgogICAgICAgICByZXR1cm4gYXhPYmplY3QtPmhhc1BsYWluVGV4dCgpOwogICAgIGNh
c2UgQWNjZXNzaWJpbGl0eVNlYXJjaEtleTo6UmFkaW9Hcm91cDoKLSAgICAgICAgcmV0dXJuIGF4
T2JqZWN0LT5pc1JhZGlvR3JvdXAoKTsKKyAgICAgICAgcmV0dXJuIGF4T2JqZWN0LT5pc1JhZGlv
R3JvdXAoKSB8fCBpc1JhZGlvQnV0dG9uSW5EaWZmZXJlbnRBZGhvY0dyb3VwKGF4T2JqZWN0LCBj
cml0ZXJpYS5zdGFydE9iamVjdCk7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5U2VhcmNoS2V5OjpT
YW1lVHlwZToKICAgICAgICAgcmV0dXJuIGNyaXRlcmlhLnN0YXJ0T2JqZWN0CiAgICAgICAgICAg
ICAmJiBheE9iamVjdC0+cm9sZVZhbHVlKCkgPT0gY3JpdGVyaWEuc3RhcnRPYmplY3QtPnJvbGVW
YWx1ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDFkZWJhMDc5NmFjM2JmYzg0NjZlN2YxODJjM2Q3YTcwYmEyYWVmNmYu
LmE1Y2E5ZDk3ZWNlZDkyMDQ2OGNkZGEwOWUzYjJlMjJhNDkyOWEyNGQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAyMS0wOC0yNCAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgor
CisgICAgICAgIEFYOiBSZXR1cm4gcmFkaW9idXR0b25zIHBhcnQgb2YgYWQtaG9jIHJhZGlvZ3Jv
dXBzIGZyb20gQVggc2VhcmNoIHF1ZXJpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyOTQxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0IHRvIGVuc3VyZSBXZWJLaXQgVUkgZWxlbWVudCBh
Y2Nlc3NpYmlsaXR5IHNlYXJjaGVzIGNhbiBmaW5kCisgICAgICAgIGFkLWhvYyByYWRpb2dyb3Vw
cy4gQW4gYWQtaG9jIHJhZGlvZ3JvdXAgaXMgYSBncm91cCBvZiByYWRpb2J1dHRvbnMKKyAgICAg
ICAgY29ubmVjdGVkIG9ubHkgYnkgYG5hbWVgIGF0dHJpYnV0ZXMsIG1pc3NpbmcgYW4gYXBwcm9w
cmlhdGUgcm9sZT0icmFkaW9ncm91cCIKKyAgICAgICAgY29udGFpbmVyLgorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3NlYXJjaC1wcmVkaWNh
dGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvVGVzdEV4cGVjdGF0aW9uczogRW5hYmxlIG5ldworICAgICAgICBzZWFyY2gtcHJlZGlj
YXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMuaHRtbCB0ZXN0LgorCiAyMDIxLTA4LTI0ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9O
KHIyODEzMDUpIFtHU3RyZWFtZXJdIGZhc3QvbWVkaWFzdHJlYW0vZ2V0RGlzcGxheU1lZGlhLWZy
YW1lLXJhdGUuaHRtbCB0aW1lb3V0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1y
YWRpby1ncm91cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3NzQ3ZjE5NDcwNTRhNjQ0ZTZi
Y2NjNWExZjU2ZDZiMDgxZTFmZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzOSBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgV2ViS2l0IGNhbiBzZWFy
Y2ggZm9yIGFkLWhvYyByYWRpb2dyb3Vwcy4gQW4gYWQtaG9jIHJhZGlvZ3JvdXAgaXMgYSBzZXQg
b2YgcmFkaW9idXR0b25zIGNvbm5lY3RlZCBieSBgbmFtZWAgYXR0cmlidXRlIGFsb25lLCB3aXRo
b3V0IGFuIGFwcHJvcHJpYXRlIGByb2xlPSJyYWRpb2dyb3VwImAgY29udGFpbmVyLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FY
Um9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIGlz
ICdjaXJjbGUnCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0
dG9uJworUEFTUyByZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIgaXMgJ3JlZCcKK1BBU1MgcmVz
dWx0RWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQQVNTIHJlc3VsdEVs
ZW1lbnQuZG9tSWRlbnRpZmllciBpcyAnc21hbGwnCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBp
cyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVtZW50LmRvbUlkZW50aWZp
ZXIgaXMgJ2dyZWVuJworUEFTUyByZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogQVhSYWRp
b0J1dHRvbicKK1BBU1MgcmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIGlzICd0cmlhbmdsZScK
K1BBU1MgcmVzdWx0RWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQQVNT
IHJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciBpcyAncmVkJworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitTaGFwZQorCisgQ2lyY2xlCisgU3F1YXJl
CisgVHJpYW5nbGUKK0NvbG9yCisKKyBSZWQKKyBCbHVlCisgR3JlZW4KK1NpemUKKworIFNtYWxs
CitVbnJlbGF0ZWQgY29udGVudCBzZXBhcmF0aW5nIGFkLWhvYyByYWRpbyBncm91cCBpdGVtcwor
CisgTWVkaXVtCitVbnJlbGF0ZWQgY29udGVudCBzZXBhcmF0aW5nIGFkLWhvYyByYWRpbyBncm91
cCBpdGVtcworCisgTGFyZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
c2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg3NGFhNWNlNmI4ZTdhYzZlYzQwZmIzOTJkYWQzMDBlYzM1ODRkNGIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3NlYXJjaC1wcmVk
aWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sCkBAIC0wLDAgKzEsMTAyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiIHJvbGU9Imdyb3VwIj4KKyAgICAKKzxwPlNoYXBlPC9w
PgorPGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0iY2lyY2xlIiBuYW1lPSJzaGFwZSIg
dmFsdWU9ImNpcmNsZSI+CisgIDxsYWJlbCBmb3I9ImNpcmNsZSI+Q2lyY2xlPC9sYWJlbD4KKzwv
ZGl2PgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJzcXVhcmUiIG5hbWU9InNo
YXBlIiB2YWx1ZT0ic3F1YXJlIj4KKyAgPGxhYmVsIGZvcj0ic3F1YXJlIj5TcXVhcmU8L2xhYmVs
PgorPC9kaXY+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InRyaWFuZ2xlIiBu
YW1lPSJzaGFwZSIgdmFsdWU9InRyaWFuZ2xlIj4KKyAgPGxhYmVsIGZvcj0idHJpYW5nbGUiPlRy
aWFuZ2xlPC9sYWJlbD4KKzwvZGl2PgorCis8cD5Db2xvcjwvcD4KKzxkaXY+CisgIDxpbnB1dCB0
eXBlPSJyYWRpbyIgaWQ9InJlZCIgbmFtZT0iY29sb3IiIHZhbHVlPSJyZWQiPgorICA8bGFiZWwg
Zm9yPSJyZWQiPlJlZDwvbGFiZWw+Cis8L2Rpdj4KKworPGRpdj4KKyAgPGlucHV0IHR5cGU9InJh
ZGlvIiBpZD0iYmx1ZSIgbmFtZT0iY29sb3IiIHZhbHVlPSJibHVlIj4KKyAgPGxhYmVsIGZvcj0i
Ymx1ZSI+Qmx1ZTwvbGFiZWw+Cis8L2Rpdj4KKworPGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlv
IiBpZD0iZ3JlZW4iIG5hbWU9ImNvbG9yIiB2YWx1ZT0iZ3JlZW4iPgorICA8bGFiZWwgZm9yPSJn
cmVlbiI+R3JlZW48L2xhYmVsPgorPC9kaXY+CisKKzxwPlNpemU8L3A+Cis8ZGl2PgorICA8aW5w
dXQgdHlwZT0icmFkaW8iIGlkPSJzbWFsbCIgbmFtZT0ic2l6ZSIgdmFsdWU9InNtYWxsIj4KKyAg
PGxhYmVsIGZvcj0ic21hbGwiPlNtYWxsPC9sYWJlbD4KKzwvZGl2PgorCis8cD4KKyAgVW5yZWxh
dGVkIGNvbnRlbnQgc2VwYXJhdGluZyBhZC1ob2MgcmFkaW8gZ3JvdXAgaXRlbXMKKzwvcD4KKwor
PGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0ibWVkaXVtIiBuYW1lPSJzaXplIiB2YWx1
ZT0ibWVkaXVtIj4KKyAgPGxhYmVsIGZvcj0ibWVkaXVtIj5NZWRpdW08L2xhYmVsPgorPC9kaXY+
CisKKzxwPgorICBVbnJlbGF0ZWQgY29udGVudCBzZXBhcmF0aW5nIGFkLWhvYyByYWRpbyBncm91
cCBpdGVtcworPC9wPgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJsYXJnZSIg
bmFtZT0ic2l6ZSIgdmFsdWU9ImxhcmdlIj4KKyAgPGxhYmVsIGZvcj0ibGFyZ2UiPkxhcmdlPC9s
YWJlbD4KKzwvZGl2PgorCis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5z
dXJlcyBXZWJLaXQgY2FuIHNlYXJjaCBmb3IgYWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBhZC1ob2Mg
cmFkaW9ncm91cCBpcyBhIHNldCBvZiByYWRpb2J1dHRvbnMgY29ubmVjdGVkIGJ5IGBuYW1lYCBh
dHRyaWJ1dGUgYWxvbmUsIHdpdGhvdXQgYW4gYXBwcm9wcmlhdGUgYHJvbGU9XCJyYWRpb2dyb3Vw
XCJgIGNvbnRhaW5lci4iKQorCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cikgeworICAgICAgICB3aW5kb3cuY29udGFpbmVyRWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiYm9keSIpOworICAgICAgICAKKyAgICAgICAg
c3RhcnRFbGVtZW50ID0gY29udGFpbmVyRWxlbWVudC5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAg
IHN0YXJ0RWxlbWVudCA9IHJlc3VsdEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LnVpRWxlbWVu
dEZvclNlYXJjaFByZWRpY2F0ZShzdGFydEVsZW1lbnQsIHRydWUsICJBWFJhZGlvR3JvdXBTZWFy
Y2hLZXkiLCAiIiwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5yb2xl
IiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRF
bGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ2NpcmNsZSciKTsKKyAgICAgICAgCisgICAgICAgIHN0
YXJ0RWxlbWVudCA9IHJlc3VsdEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LnVpRWxlbWVudEZv
clNlYXJjaFByZWRpY2F0ZShzdGFydEVsZW1lbnQsIHRydWUsICJBWFJhZGlvR3JvdXBTZWFyY2hL
ZXkiLCAiIiwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5yb2xlIiwg
IidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVt
ZW50LmRvbUlkZW50aWZpZXIiLCAiJ3JlZCciKTsKKyAgICAgICAgCisgICAgICAgIHN0YXJ0RWxl
bWVudCA9IHJlc3VsdEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LnVpRWxlbWVudEZvclNlYXJj
aFByZWRpY2F0ZShzdGFydEVsZW1lbnQsIHRydWUsICJBWFJhZGlvR3JvdXBTZWFyY2hLZXkiLCAi
IiwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5yb2xlIiwgIidBWFJv
bGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LmRv
bUlkZW50aWZpZXIiLCAiJ3NtYWxsJyIpOworICAgICAgICAKKyAgICAgICAgLy8gTm93IHNlYXJj
aCBiYWNrd2FyZHMgdXAgdGhlIGFkLWhvYyByYWRpb2dyb3Vwcy4KKyAgICAgICAgCisgICAgICAg
IHN0YXJ0RWxlbWVudCA9IHJlc3VsdEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LnVpRWxlbWVu
dEZvclNlYXJjaFByZWRpY2F0ZShzdGFydEVsZW1lbnQsIGZhbHNlLCAiQVhSYWRpb0dyb3VwU2Vh
cmNoS2V5IiwgIiIsIGZhbHNlKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQucm9s
ZSIsICInQVhSb2xlOiBBWFJhZGlvQnV0dG9uJyIpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0
RWxlbWVudC5kb21JZGVudGlmaWVyIiwgIidncmVlbiciKTsKKyAgICAgICAgCisgICAgICAgIHN0
YXJ0RWxlbWVudCA9IHJlc3VsdEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LnVpRWxlbWVudEZv
clNlYXJjaFByZWRpY2F0ZShzdGFydEVsZW1lbnQsIGZhbHNlLCAiQVhSYWRpb0dyb3VwU2VhcmNo
S2V5IiwgIiIsIGZhbHNlKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQucm9sZSIs
ICInQVhSb2xlOiBBWFJhZGlvQnV0dG9uJyIpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxl
bWVudC5kb21JZGVudGlmaWVyIiwgIid0cmlhbmdsZSciKTsKKyAgICAgICAgCisgICAgICAgIC8v
IEFuZCBmaW5hbGx5IHNlYXJjaCBmb3J3YXJkIG9uY2UgbW9yZS4KKyAgICAgICAgCisgICAgICAg
IHN0YXJ0RWxlbWVudCA9IHJlc3VsdEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LnVpRWxlbWVu
dEZvclNlYXJjaFByZWRpY2F0ZShzdGFydEVsZW1lbnQsIHRydWUsICJBWFJhZGlvR3JvdXBTZWFy
Y2hLZXkiLCAiIiwgZmFsc2UsIGZhbHNlKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1l
bnQucm9sZSIsICInQVhSb2xlOiBBWFJhZGlvQnV0dG9uJyIpOworICAgICAgICBzaG91bGRCZSgi
cmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIiwgIidyZWQnIik7CisgICAgfQorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IGViOGQzYmRhYmU3MTg1Nzk4YTRjNWNjNzVmNDFjMzczMWY1ODIyZTYuLjY4MmMw
MDNiZjk0MTJlMDVkOTBiZTliYTE2MzJmMDczOTU5YWNlM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMTEzLDYgKzIxMTMsOCBAQCBhY2Nlc3NpYmls
aXR5L2F0dGFjaG1lbnQtZWxlbWVudC5odG1sIFsgUGFzcyBdCiAjIEVuYWJsZSBUZXh0IG1hcmtl
ciB0ZXN0cyBmb3IgaU9TCiB3ZWJraXQub3JnL2IvMTUzMjkyIGFjY2Vzc2liaWxpdHkvdGV4dC1t
YXJrZXIgWyBQYXNzIF0KIAorYWNjZXNzaWJpbGl0eS9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhv
Yy1yYWRpby1ncm91cHMuaHRtbCBbIFBhc3MgXQorCiAjIFNraXAgYWNjZXNzaWJpbGl0eSB0ZXh0
IHJlY29nbml0aW9uIHRlc3RzIG9uIGlPUyAxNCBhbmQgZWFybGllci4KIGFjY2Vzc2liaWxpdHkv
aW9zLXNpbXVsYXRvci9pbWFnZS1vdmVybGF5LWVsZW1lbnRzLmh0bWwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436322</attachid>
            <date>2021-08-24 13:03:54 -0700</date>
            <delta_ts>2021-08-24 13:19:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229415-20210824150353.patch</filename>
            <type>text/plain</type>
            <size>9974</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY0ZGU3ZmVlZGUxMjZk
MjcyY2E4Njk0YzU5M2NhMjZiMWFjZGVhMS4uNTI2NDY2NjBhNjY5MmIzODVkMjlmZmY0NjExNTA5
NGNmZDVkNTIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTI0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRp
b2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFkaW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxl
IHRoZSBhYmlsaXR5IGZvciBXZWJLaXQgVUkgZWxlbWVudCBhY2Nlc3NpYmlsaXR5IHNlYXJjaGVz
IHRvIGZpbmQKKyAgICAgICAgYWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91
cCBpcyBhIGdyb3VwIG9mIHJhZGlvYnV0dG9ucworICAgICAgICBjb25uZWN0ZWQgb25seSBieSBg
bmFtZWAgYXR0cmlidXRlLCBtaXNzaW5nIGFuIGFwcHJvcHJpYXRlIHJvbGU9InJhZGlvZ3JvdXAi
CisgICAgICAgIGNvbnRhaW5lci4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L21hYy9z
ZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMuaHRtbAorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHk6OmlzUmFkaW9CdXR0b25JbkRpZmZlcmVudEFkaG9jR3JvdXApOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eU9iamVj
dFNlYXJjaE1hdGNoQXRJbmRleCk6CisgICAgICAgIFdoZW4gc2VhcmNoaW5nIGZvciByYWRpb2dy
b3VwcywgYWxzbyBtYXRjaCByYWRpb2J1dHRvbnMgaW4gZGlmZmVyZW50CisgICAgICAgIGFkLWhv
YyByYWRpb2dyb3Vwcy4KKwogMjAyMS0wOC0yNCAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFw
ZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIE5vbi11bmlmaWVkIGJ1aWxkIGZpeGVzLCBsYXRl
IEF1Z3VzdCAyMDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCA1MGQyMDVmNDVhMzUxZTJkOGRjYTQ4ZjEwZmVhNzMw
MGNjYTFkZWU4Li5jNmY5OWZhYWI0YTVkYjE3MGI2MThjYTcyYzAzZGMwMDIyN2VlYWIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKQEAgLTM2MzksNiArMzYzOSwyMSBAQCBTdHJpbmcgcm9sZVRvUGxhdGZvcm1TdHJpbmco
QWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICByZXR1cm4gcm9sZU1hcC0+Z2V0KHN0YXRpY19j
YXN0PHVuc2lnbmVkPihyb2xlKSk7CiB9CiAKKy8vIFRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyBp
ZiB0aGUgZ2l2ZW4gYGF4T2JqZWN0YCBpcyBhIHJhZGlvIGJ1dHRvbiBwYXJ0IG9mIGEgZGlmZmVy
ZW50IGFkLWhvYyByYWRpbyBncm91cAorLy8gdGhhbiBgcmVmZXJlbmNlT2JqZWN0YCwgd2hlcmUg
YWQtaG9jIHJhZGlvIGdyb3VwIG1lbWJlcnNoaXAgaXMgZGV0ZXJtaW5lZCBieSBjb21wYXJpbmcg
YG5hbWVgIGF0dHJpYnV0ZXMuCitzdGF0aWMgYm9vbCBpc1JhZGlvQnV0dG9uSW5EaWZmZXJlbnRB
ZGhvY0dyb3VwKEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFYQ29yZU9iamVjdCogcmVmZXJlbmNl
T2JqZWN0KQoreworICAgIGlmICghYXhPYmplY3QgfHwgIWF4T2JqZWN0LT5pc1JhZGlvQnV0dG9u
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIElmIHRoZSBgcmVmZXJlbmNlT2Jq
ZWN0YCBpcyBub3QgYSByYWRpbyBidXR0b24gYW5kIHRoaXMgYGF4T2JqZWN0YCBpcywgdGhlaXIg
cmFkaW8gZ3JvdXAgbWVtYmVyc2hpcCBpcyBkaWZmZXJlbnQgYmVjYXVzZQorICAgIC8vIGBheE9i
amVjdGAgYmVsb25ncyB0byBhIGdyb3VwIGFuZCBgcmVmZXJlbmNlT2JqZWN0YCBkb2Vzbid0Lgor
ICAgIGlmICghcmVmZXJlbmNlT2JqZWN0IHx8ICFyZWZlcmVuY2VPYmplY3QtPmlzUmFkaW9CdXR0
b24oKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gYXhPYmplY3QtPmVsZW1l
bnQoKS0+Z2V0TmFtZUF0dHJpYnV0ZSgpICE9IHJlZmVyZW5jZU9iamVjdC0+ZWxlbWVudCgpLT5n
ZXROYW1lQXR0cmlidXRlKCk7Cit9CisKIHN0YXRpYyBib29sIGlzQWNjZXNzaWJpbGl0eU9iamVj
dFNlYXJjaE1hdGNoQXRJbmRleChBWENvcmVPYmplY3QqIGF4T2JqZWN0LCBBY2Nlc3NpYmlsaXR5
U2VhcmNoQ3JpdGVyaWEgY29uc3QmIGNyaXRlcmlhLCBzaXplX3QgaW5kZXgpCiB7CiAgICAgc3dp
dGNoIChjcml0ZXJpYS5zZWFyY2hLZXlzW2luZGV4XSkgewpAQCAtMzcxOSw3ICszNzM0LDcgQEAg
c3RhdGljIGJvb2wgaXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2VhcmNoTWF0Y2hBdEluZGV4KEFYQ29y
ZU9iamVjdCogYXhPYmplY3QsIEFjY2UKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlTZWFyY2hLZXk6
OlBsYWluVGV4dDoKICAgICAgICAgcmV0dXJuIGF4T2JqZWN0LT5oYXNQbGFpblRleHQoKTsKICAg
ICBjYXNlIEFjY2Vzc2liaWxpdHlTZWFyY2hLZXk6OlJhZGlvR3JvdXA6Ci0gICAgICAgIHJldHVy
biBheE9iamVjdC0+aXNSYWRpb0dyb3VwKCk7CisgICAgICAgIHJldHVybiBheE9iamVjdC0+aXNS
YWRpb0dyb3VwKCkgfHwgaXNSYWRpb0J1dHRvbkluRGlmZmVyZW50QWRob2NHcm91cChheE9iamVj
dCwgY3JpdGVyaWEuc3RhcnRPYmplY3QpOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVNlYXJjaEtl
eTo6U2FtZVR5cGU6CiAgICAgICAgIHJldHVybiBjcml0ZXJpYS5zdGFydE9iamVjdAogICAgICAg
ICAgICAgJiYgYXhPYmplY3QtPnJvbGVWYWx1ZSgpID09IGNyaXRlcmlhLnN0YXJ0T2JqZWN0LT5y
b2xlVmFsdWUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAxZGViYTA3OTZhYzNiZmM4NDY2ZTdmMTgyYzNkN2E3MGJhMmFl
ZjZmLi40MWNlOTJlZDlmN2JkN2VmYTBhNDRlYjc4YmQ2YzAzNzM3ODY1NjRjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMjEtMDgtMjQgIFR5bGVyIFdpbGNvY2sgIDx0eWxlcl93QGFwcGxlLmNv
bT4KKworICAgICAgICBBWDogUmV0dXJuIHJhZGlvYnV0dG9ucyBwYXJ0IG9mIGFkLWhvYyByYWRp
b2dyb3VwcyBmcm9tIEFYIHNlYXJjaCBxdWVyaWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk0MTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCB0byBlbnN1cmUgV2ViS2l0IFVJIGVsZW1l
bnQgYWNjZXNzaWJpbGl0eSBzZWFyY2hlcyBjYW4gZmluZAorICAgICAgICBhZC1ob2MgcmFkaW9n
cm91cHMuIEFuIGFkLWhvYyByYWRpb2dyb3VwIGlzIGEgZ3JvdXAgb2YgcmFkaW9idXR0b25zCisg
ICAgICAgIGNvbm5lY3RlZCBvbmx5IGJ5IGBuYW1lYCBhdHRyaWJ1dGVzLCBtaXNzaW5nIGFuIGFw
cHJvcHJpYXRlIHJvbGU9InJhZGlvZ3JvdXAiCisgICAgICAgIGNvbnRhaW5lci4KKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvbWFjL3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdy
b3Vwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3Nl
YXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sOiBBZGRlZC4KKwogMjAy
MS0wOC0yNCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTihyMjgxMzA1KSBbR1N0cmVhbWVyXSBmYXN0L21lZGlhc3RyZWFtL2dldERp
c3BsYXlNZWRpYS1mcmFtZS1yYXRlLmh0bWwgdGltZW91dHMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdy
b3Vwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gt
cHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY3NzQ3ZjE5NDcwNTRhNjQ0ZTZiY2NjNWExZjU2ZDZiMDgxZTFmZWYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1h
ZGhvYy1yYWRpby1ncm91cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVz
dCBlbnN1cmVzIFdlYktpdCBjYW4gc2VhcmNoIGZvciBhZC1ob2MgcmFkaW9ncm91cHMuIEFuIGFk
LWhvYyByYWRpb2dyb3VwIGlzIGEgc2V0IG9mIHJhZGlvYnV0dG9ucyBjb25uZWN0ZWQgYnkgYG5h
bWVgIGF0dHJpYnV0ZSBhbG9uZSwgd2l0aG91dCBhbiBhcHByb3ByaWF0ZSBgcm9sZT0icmFkaW9n
cm91cCJgIGNvbnRhaW5lci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
cmVzdWx0RWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQQVNTIHJlc3Vs
dEVsZW1lbnQuZG9tSWRlbnRpZmllciBpcyAnY2lyY2xlJworUEFTUyByZXN1bHRFbGVtZW50LnJv
bGUgaXMgJ0FYUm9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0RWxlbWVudC5kb21JZGVu
dGlmaWVyIGlzICdyZWQnCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJh
ZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIgaXMgJ3NtYWxsJwor
UEFTUyByZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1Mg
cmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIGlzICdncmVlbicKK1BBU1MgcmVzdWx0RWxlbWVu
dC5yb2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQQVNTIHJlc3VsdEVsZW1lbnQuZG9t
SWRlbnRpZmllciBpcyAndHJpYW5nbGUnCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhS
b2xlOiBBWFJhZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIgaXMg
J3JlZCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
U2hhcGUKKworIENpcmNsZQorIFNxdWFyZQorIFRyaWFuZ2xlCitDb2xvcgorCisgUmVkCisgQmx1
ZQorIEdyZWVuCitTaXplCisKKyBTbWFsbAorVW5yZWxhdGVkIGNvbnRlbnQgc2VwYXJhdGluZyBh
ZC1ob2MgcmFkaW8gZ3JvdXAgaXRlbXMKKworIE1lZGl1bQorVW5yZWxhdGVkIGNvbnRlbnQgc2Vw
YXJhdGluZyBhZC1ob2MgcmFkaW8gZ3JvdXAgaXRlbXMKKworIExhcmdlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1y
YWRpby1ncm91cHMuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3NlYXJjaC1w
cmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3NGFhNWNl
NmI4ZTdhYzZlYzQwZmIzOTJkYWQzMDBlYzM1ODRkNGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRp
by1ncm91cHMuaHRtbApAQCAtMCwwICsxLDEwMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJi
b2R5IiByb2xlPSJncm91cCI+CisgICAgCis8cD5TaGFwZTwvcD4KKzxkaXY+CisgIDxpbnB1dCB0
eXBlPSJyYWRpbyIgaWQ9ImNpcmNsZSIgbmFtZT0ic2hhcGUiIHZhbHVlPSJjaXJjbGUiPgorICA8
bGFiZWwgZm9yPSJjaXJjbGUiPkNpcmNsZTwvbGFiZWw+Cis8L2Rpdj4KKworPGRpdj4KKyAgPGlu
cHV0IHR5cGU9InJhZGlvIiBpZD0ic3F1YXJlIiBuYW1lPSJzaGFwZSIgdmFsdWU9InNxdWFyZSI+
CisgIDxsYWJlbCBmb3I9InNxdWFyZSI+U3F1YXJlPC9sYWJlbD4KKzwvZGl2PgorCis8ZGl2Pgor
ICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJ0cmlhbmdsZSIgbmFtZT0ic2hhcGUiIHZhbHVlPSJ0
cmlhbmdsZSI+CisgIDxsYWJlbCBmb3I9InRyaWFuZ2xlIj5UcmlhbmdsZTwvbGFiZWw+Cis8L2Rp
dj4KKworPHA+Q29sb3I8L3A+Cis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyZWQi
IG5hbWU9ImNvbG9yIiB2YWx1ZT0icmVkIj4KKyAgPGxhYmVsIGZvcj0icmVkIj5SZWQ8L2xhYmVs
PgorPC9kaXY+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImJsdWUiIG5hbWU9
ImNvbG9yIiB2YWx1ZT0iYmx1ZSI+CisgIDxsYWJlbCBmb3I9ImJsdWUiPkJsdWU8L2xhYmVsPgor
PC9kaXY+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImdyZWVuIiBuYW1lPSJj
b2xvciIgdmFsdWU9ImdyZWVuIj4KKyAgPGxhYmVsIGZvcj0iZ3JlZW4iPkdyZWVuPC9sYWJlbD4K
KzwvZGl2PgorCis8cD5TaXplPC9wPgorPGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0i
c21hbGwiIG5hbWU9InNpemUiIHZhbHVlPSJzbWFsbCI+CisgIDxsYWJlbCBmb3I9InNtYWxsIj5T
bWFsbDwvbGFiZWw+Cis8L2Rpdj4KKworPHA+CisgIFVucmVsYXRlZCBjb250ZW50IHNlcGFyYXRp
bmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1zCis8L3A+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBl
PSJyYWRpbyIgaWQ9Im1lZGl1bSIgbmFtZT0ic2l6ZSIgdmFsdWU9Im1lZGl1bSI+CisgIDxsYWJl
bCBmb3I9Im1lZGl1bSI+TWVkaXVtPC9sYWJlbD4KKzwvZGl2PgorCis8cD4KKyAgVW5yZWxhdGVk
IGNvbnRlbnQgc2VwYXJhdGluZyBhZC1ob2MgcmFkaW8gZ3JvdXAgaXRlbXMKKzwvcD4KKworPGRp
dj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0ibGFyZ2UiIG5hbWU9InNpemUiIHZhbHVlPSJs
YXJnZSI+CisgIDxsYWJlbCBmb3I9ImxhcmdlIj5MYXJnZTwvbGFiZWw+Cis8L2Rpdj4KKworPHNj
cmlwdD4KKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgV2ViS2l0IGNhbiBzZWFy
Y2ggZm9yIGFkLWhvYyByYWRpb2dyb3Vwcy4gQW4gYWQtaG9jIHJhZGlvZ3JvdXAgaXMgYSBzZXQg
b2YgcmFkaW9idXR0b25zIGNvbm5lY3RlZCBieSBgbmFtZWAgYXR0cmlidXRlIGFsb25lLCB3aXRo
b3V0IGFuIGFwcHJvcHJpYXRlIGByb2xlPVwicmFkaW9ncm91cFwiYCBjb250YWluZXIuIikKKwor
ICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgd2luZG93
LmNvbnRhaW5lckVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxl
bWVudEJ5SWQoImJvZHkiKTsKKyAgICAgICAgCisgICAgICAgIHN0YXJ0RWxlbWVudCA9IGNvbnRh
aW5lckVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAgICAgICBzdGFydEVsZW1lbnQgPSByZXN1
bHRFbGVtZW50ID0gY29udGFpbmVyRWxlbWVudC51aUVsZW1lbnRGb3JTZWFyY2hQcmVkaWNhdGUo
c3RhcnRFbGVtZW50LCB0cnVlLCAiQVhSYWRpb0dyb3VwU2VhcmNoS2V5IiwgIiIsIGZhbHNlKTsK
KyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBBWFJhZGlv
QnV0dG9uJyIpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVy
IiwgIidjaXJjbGUnIik7CisgICAgICAgIAorICAgICAgICBzdGFydEVsZW1lbnQgPSByZXN1bHRF
bGVtZW50ID0gY29udGFpbmVyRWxlbWVudC51aUVsZW1lbnRGb3JTZWFyY2hQcmVkaWNhdGUoc3Rh
cnRFbGVtZW50LCB0cnVlLCAiQVhSYWRpb0dyb3VwU2VhcmNoS2V5IiwgIiIsIGZhbHNlKTsKKyAg
ICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBBWFJhZGlvQnV0
dG9uJyIpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIiwg
IidyZWQnIik7CisgICAgICAgIAorICAgICAgICBzdGFydEVsZW1lbnQgPSByZXN1bHRFbGVtZW50
ID0gY29udGFpbmVyRWxlbWVudC51aUVsZW1lbnRGb3JTZWFyY2hQcmVkaWNhdGUoc3RhcnRFbGVt
ZW50LCB0cnVlLCAiQVhSYWRpb0dyb3VwU2VhcmNoS2V5IiwgIiIsIGZhbHNlKTsKKyAgICAgICAg
c2hvdWxkQmUoInJlc3VsdEVsZW1lbnQucm9sZSIsICInQVhSb2xlOiBBWFJhZGlvQnV0dG9uJyIp
OworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIiwgIidzbWFs
bCciKTsKKyAgICAgICAgCisgICAgICAgIC8vIE5vdyBzZWFyY2ggYmFja3dhcmRzIHVwIHRoZSBh
ZC1ob2MgcmFkaW9ncm91cHMuCisgICAgICAgIAorICAgICAgICBzdGFydEVsZW1lbnQgPSByZXN1
bHRFbGVtZW50ID0gY29udGFpbmVyRWxlbWVudC51aUVsZW1lbnRGb3JTZWFyY2hQcmVkaWNhdGUo
c3RhcnRFbGVtZW50LCBmYWxzZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7
CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRp
b0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmll
ciIsICInZ3JlZW4nIik7CisgICAgICAgIAorICAgICAgICBzdGFydEVsZW1lbnQgPSByZXN1bHRF
bGVtZW50ID0gY29udGFpbmVyRWxlbWVudC51aUVsZW1lbnRGb3JTZWFyY2hQcmVkaWNhdGUoc3Rh
cnRFbGVtZW50LCBmYWxzZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7Cisg
ICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1
dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIs
ICIndHJpYW5nbGUnIik7CisgICAgICAgIAorICAgICAgICAvLyBBbmQgZmluYWxseSBzZWFyY2gg
Zm9yd2FyZCBvbmNlIG1vcmUuCisgICAgICAgIAorICAgICAgICBzdGFydEVsZW1lbnQgPSByZXN1
bHRFbGVtZW50ID0gY29udGFpbmVyRWxlbWVudC51aUVsZW1lbnRGb3JTZWFyY2hQcmVkaWNhdGUo
c3RhcnRFbGVtZW50LCB0cnVlLCAiQVhSYWRpb0dyb3VwU2VhcmNoS2V5IiwgIiIsIGZhbHNlLCBm
YWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTog
QVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQuZG9tSWRl
bnRpZmllciIsICIncmVkJyIpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436324</attachid>
            <date>2021-08-24 13:20:00 -0700</date>
            <delta_ts>2021-08-24 15:21:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229415-20210824151959.patch</filename>
            <type>text/plain</type>
            <size>9981</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY0ZGU3ZmVlZGUxMjZk
MjcyY2E4Njk0YzU5M2NhMjZiMWFjZGVhMS4uYjlkNzlkZjg5NWE0NGZmMjVkZTdiYTlkZjM5ZmI3
YzVhNmI1M2MxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTI0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRp
b2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFkaW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDog
YWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBz
Lmh0bWwKKworICAgICAgICBFbmFibGUgdGhlIGFiaWxpdHkgZm9yIFdlYktpdCBVSSBlbGVtZW50
IGFjY2Vzc2liaWxpdHkgc2VhcmNoZXMgdG8gZmluZAorICAgICAgICBhZC1ob2MgcmFkaW9ncm91
cHMuIEFuIGFkLWhvYyByYWRpb2dyb3VwIGlzIGEgZ3JvdXAgb2YgcmFkaW9idXR0b25zCisgICAg
ICAgIGNvbm5lY3RlZCBvbmx5IGJ5IGBuYW1lYCBhdHRyaWJ1dGUsIG1pc3NpbmcgYW4gYXBwcm9w
cmlhdGUgcm9sZT0icmFkaW9ncm91cCIKKyAgICAgICAgY29udGFpbmVyLgorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHk6OmlzUmFkaW9CdXR0b25JbkRpZmZlcmVudEFkaG9jR3JvdXApOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eU9iamVj
dFNlYXJjaE1hdGNoQXRJbmRleCk6CisgICAgICAgIFdoZW4gc2VhcmNoaW5nIGZvciByYWRpb2dy
b3VwcywgYWxzbyByZXR1cm4gcmFkaW9idXR0b25zIGluIGRpZmZlcmVudAorICAgICAgICBhZC1o
b2MgcmFkaW9ncm91cHMuCisKIDIwMjEtMDgtMjQgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxh
cGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBOb24tdW5pZmllZCBidWlsZCBmaXhlcywgbGF0
ZSBBdWd1c3QgMjAyMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggNTBkMjA1ZjQ1YTM1MWUyZDhkY2E0OGYxMGZlYTcz
MDBjY2ExZGVlOC4uYzZmOTlmYWFiNGE1ZGIxNzBiNjE4Y2E3MmMwM2RjMDAyMjdlZWFiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwCkBAIC0zNjM5LDYgKzM2MzksMjEgQEAgU3RyaW5nIHJvbGVUb1BsYXRmb3JtU3RyaW5n
KEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAgICAgcmV0dXJuIHJvbGVNYXAtPmdldChzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4ocm9sZSkpOwogfQogCisvLyBUaGlzIGZ1bmN0aW9uIGRldGVybWluZXMg
aWYgdGhlIGdpdmVuIGBheE9iamVjdGAgaXMgYSByYWRpbyBidXR0b24gcGFydCBvZiBhIGRpZmZl
cmVudCBhZC1ob2MgcmFkaW8gZ3JvdXAKKy8vIHRoYW4gYHJlZmVyZW5jZU9iamVjdGAsIHdoZXJl
IGFkLWhvYyByYWRpbyBncm91cCBtZW1iZXJzaGlwIGlzIGRldGVybWluZWQgYnkgY29tcGFyaW5n
IGBuYW1lYCBhdHRyaWJ1dGVzLgorc3RhdGljIGJvb2wgaXNSYWRpb0J1dHRvbkluRGlmZmVyZW50
QWRob2NHcm91cChBWENvcmVPYmplY3QqIGF4T2JqZWN0LCBBWENvcmVPYmplY3QqIHJlZmVyZW5j
ZU9iamVjdCkKK3sKKyAgICBpZiAoIWF4T2JqZWN0IHx8ICFheE9iamVjdC0+aXNSYWRpb0J1dHRv
bigpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBJZiB0aGUgYHJlZmVyZW5jZU9i
amVjdGAgaXMgbm90IGEgcmFkaW8gYnV0dG9uIGFuZCB0aGlzIGBheE9iamVjdGAgaXMsIHRoZWly
IHJhZGlvIGdyb3VwIG1lbWJlcnNoaXAgaXMgZGlmZmVyZW50IGJlY2F1c2UKKyAgICAvLyBgYXhP
YmplY3RgIGJlbG9uZ3MgdG8gYSBncm91cCBhbmQgYHJlZmVyZW5jZU9iamVjdGAgZG9lc24ndC4K
KyAgICBpZiAoIXJlZmVyZW5jZU9iamVjdCB8fCAhcmVmZXJlbmNlT2JqZWN0LT5pc1JhZGlvQnV0
dG9uKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGF4T2JqZWN0LT5lbGVt
ZW50KCktPmdldE5hbWVBdHRyaWJ1dGUoKSAhPSByZWZlcmVuY2VPYmplY3QtPmVsZW1lbnQoKS0+
Z2V0TmFtZUF0dHJpYnV0ZSgpOworfQorCiBzdGF0aWMgYm9vbCBpc0FjY2Vzc2liaWxpdHlPYmpl
Y3RTZWFyY2hNYXRjaEF0SW5kZXgoQVhDb3JlT2JqZWN0KiBheE9iamVjdCwgQWNjZXNzaWJpbGl0
eVNlYXJjaENyaXRlcmlhIGNvbnN0JiBjcml0ZXJpYSwgc2l6ZV90IGluZGV4KQogewogICAgIHN3
aXRjaCAoY3JpdGVyaWEuc2VhcmNoS2V5c1tpbmRleF0pIHsKQEAgLTM3MTksNyArMzczNCw3IEBA
IHN0YXRpYyBib29sIGlzQWNjZXNzaWJpbGl0eU9iamVjdFNlYXJjaE1hdGNoQXRJbmRleChBWENv
cmVPYmplY3QqIGF4T2JqZWN0LCBBY2NlCiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5U2VhcmNoS2V5
OjpQbGFpblRleHQ6CiAgICAgICAgIHJldHVybiBheE9iamVjdC0+aGFzUGxhaW5UZXh0KCk7CiAg
ICAgY2FzZSBBY2Nlc3NpYmlsaXR5U2VhcmNoS2V5OjpSYWRpb0dyb3VwOgotICAgICAgICByZXR1
cm4gYXhPYmplY3QtPmlzUmFkaW9Hcm91cCgpOworICAgICAgICByZXR1cm4gYXhPYmplY3QtPmlz
UmFkaW9Hcm91cCgpIHx8IGlzUmFkaW9CdXR0b25JbkRpZmZlcmVudEFkaG9jR3JvdXAoYXhPYmpl
Y3QsIGNyaXRlcmlhLnN0YXJ0T2JqZWN0KTsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlTZWFyY2hL
ZXk6OlNhbWVUeXBlOgogICAgICAgICByZXR1cm4gY3JpdGVyaWEuc3RhcnRPYmplY3QKICAgICAg
ICAgICAgICYmIGF4T2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBjcml0ZXJpYS5zdGFydE9iamVjdC0+
cm9sZVZhbHVlKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWRlYmEwNzk2YWMzYmZjODQ2NmU3ZjE4MmMzZDdhNzBiYTJh
ZWY2Zi4uNDFjZTkyZWQ5ZjdiZDdlZmEwYTQ0ZWI3OGJkNmMwMzczNzg2NTY0YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE4IEBACisyMDIxLTA4LTI0ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5j
b20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRpb2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFk
aW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmllcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3QgdG8gZW5zdXJlIFdlYktpdCBVSSBlbGVt
ZW50IGFjY2Vzc2liaWxpdHkgc2VhcmNoZXMgY2FuIGZpbmQKKyAgICAgICAgYWQtaG9jIHJhZGlv
Z3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91cCBpcyBhIGdyb3VwIG9mIHJhZGlvYnV0dG9ucwor
ICAgICAgICBjb25uZWN0ZWQgb25seSBieSBgbmFtZWAgYXR0cmlidXRlcywgbWlzc2luZyBhbiBh
cHByb3ByaWF0ZSByb2xlPSJyYWRpb2dyb3VwIgorICAgICAgICBjb250YWluZXIuCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1n
cm91cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9z
ZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMuaHRtbDogQWRkZWQuCisKIDIw
MjEtMDgtMjQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT04ocjI4MTMwNSkgW0dTdHJlYW1lcl0gZmFzdC9tZWRpYXN0cmVhbS9nZXRE
aXNwbGF5TWVkaWEtZnJhbWUtcmF0ZS5odG1sIHRpbWVvdXRzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1n
cm91cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNo
LXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNzc0N2YxOTQ3MDU0YTY0NGU2YmNjYzVhMWY1NmQ2YjA4MWUxZmVmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLXByZWRpY2F0ZS1mb3It
YWRob2MtcmFkaW8tZ3JvdXBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACitUaGlzIHRl
c3QgZW5zdXJlcyBXZWJLaXQgY2FuIHNlYXJjaCBmb3IgYWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBh
ZC1ob2MgcmFkaW9ncm91cCBpcyBhIHNldCBvZiByYWRpb2J1dHRvbnMgY29ubmVjdGVkIGJ5IGBu
YW1lYCBhdHRyaWJ1dGUgYWxvbmUsIHdpdGhvdXQgYW4gYXBwcm9wcmlhdGUgYHJvbGU9InJhZGlv
Z3JvdXAiYCBjb250YWluZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9uJworUEFTUyByZXN1
bHRFbGVtZW50LmRvbUlkZW50aWZpZXIgaXMgJ2NpcmNsZScKK1BBU1MgcmVzdWx0RWxlbWVudC5y
b2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQQVNTIHJlc3VsdEVsZW1lbnQuZG9tSWRl
bnRpZmllciBpcyAncmVkJworUEFTUyByZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogQVhS
YWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIGlzICdzbWFsbCcK
K1BBU1MgcmVzdWx0RWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQQVNT
IHJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciBpcyAnZ3JlZW4nCitQQVNTIHJlc3VsdEVsZW1l
bnQucm9sZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVtZW50LmRv
bUlkZW50aWZpZXIgaXMgJ3RyaWFuZ2xlJworUEFTUyByZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FY
Um9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0RWxlbWVudC5kb21JZGVudGlmaWVyIGlz
ICdyZWQnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
K1NoYXBlCisKKyBDaXJjbGUKKyBTcXVhcmUKKyBUcmlhbmdsZQorQ29sb3IKKworIFJlZAorIEJs
dWUKKyBHcmVlbgorU2l6ZQorCisgU21hbGwKK1VucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcg
YWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1zCisKKyBNZWRpdW0KK1VucmVsYXRlZCBjb250ZW50IHNl
cGFyYXRpbmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1zCisKKyBMYXJnZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2Mt
cmFkaW8tZ3JvdXBzLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gt
cHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NGFjZDY5
NDhmZTUyN2EwY2Q5MTgxZTBkNjg1YmQzNjBjOGU1NjEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFk
aW8tZ3JvdXBzLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBpZD0iYm9keSIgcm9sZT0iZ3JvdXAiPgorICAgIAorPHA+U2hhcGU8L3A+Cis8ZGl2PgorICA8
aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJjaXJjbGUiIG5hbWU9InNoYXBlIiB2YWx1ZT0iY2lyY2xl
Ij4KKyAgPGxhYmVsIGZvcj0iY2lyY2xlIj5DaXJjbGU8L2xhYmVsPgorPC9kaXY+CisKKzxkaXY+
CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InNxdWFyZSIgbmFtZT0ic2hhcGUiIHZhbHVlPSJz
cXVhcmUiPgorICA8bGFiZWwgZm9yPSJzcXVhcmUiPlNxdWFyZTwvbGFiZWw+Cis8L2Rpdj4KKwor
PGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0idHJpYW5nbGUiIG5hbWU9InNoYXBlIiB2
YWx1ZT0idHJpYW5nbGUiPgorICA8bGFiZWwgZm9yPSJ0cmlhbmdsZSI+VHJpYW5nbGU8L2xhYmVs
PgorPC9kaXY+CisKKzxwPkNvbG9yPC9wPgorPGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBp
ZD0icmVkIiBuYW1lPSJjb2xvciIgdmFsdWU9InJlZCI+CisgIDxsYWJlbCBmb3I9InJlZCI+UmVk
PC9sYWJlbD4KKzwvZGl2PgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJibHVl
IiBuYW1lPSJjb2xvciIgdmFsdWU9ImJsdWUiPgorICA8bGFiZWwgZm9yPSJibHVlIj5CbHVlPC9s
YWJlbD4KKzwvZGl2PgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJncmVlbiIg
bmFtZT0iY29sb3IiIHZhbHVlPSJncmVlbiI+CisgIDxsYWJlbCBmb3I9ImdyZWVuIj5HcmVlbjwv
bGFiZWw+Cis8L2Rpdj4KKworPHA+U2l6ZTwvcD4KKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRp
byIgaWQ9InNtYWxsIiBuYW1lPSJzaXplIiB2YWx1ZT0ic21hbGwiPgorICA8bGFiZWwgZm9yPSJz
bWFsbCI+U21hbGw8L2xhYmVsPgorPC9kaXY+CisKKzxwPgorICBVbnJlbGF0ZWQgY29udGVudCBz
ZXBhcmF0aW5nIGFkLWhvYyByYWRpbyBncm91cCBpdGVtcworPC9wPgorCis8ZGl2PgorICA8aW5w
dXQgdHlwZT0icmFkaW8iIGlkPSJtZWRpdW0iIG5hbWU9InNpemUiIHZhbHVlPSJtZWRpdW0iPgor
ICA8bGFiZWwgZm9yPSJtZWRpdW0iPk1lZGl1bTwvbGFiZWw+Cis8L2Rpdj4KKworPHA+CisgIFVu
cmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1zCis8L3A+
CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9ImxhcmdlIiBuYW1lPSJzaXplIiB2
YWx1ZT0ibGFyZ2UiPgorICA8bGFiZWwgZm9yPSJsYXJnZSI+TGFyZ2U8L2xhYmVsPgorPC9kaXY+
CisKKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIFdlYktpdCBj
YW4gc2VhcmNoIGZvciBhZC1ob2MgcmFkaW9ncm91cHMuIEFuIGFkLWhvYyByYWRpb2dyb3VwIGlz
IGEgc2V0IG9mIHJhZGlvYnV0dG9ucyBjb25uZWN0ZWQgYnkgYG5hbWVgIGF0dHJpYnV0ZSBhbG9u
ZSwgd2l0aG91dCBhbiBhcHByb3ByaWF0ZSBgcm9sZT1cInJhZGlvZ3JvdXBcImAgY29udGFpbmVy
LiIpCisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAg
IHdpbmRvdy5jb250YWluZXJFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCJib2R5Iik7CisgICAgICAgIAorICAgICAgICBzdGFydEVsZW1lbnQg
PSBjb250YWluZXJFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgc3RhcnRFbGVtZW50
ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJl
ZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBm
YWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTog
QVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQuZG9tSWRl
bnRpZmllciIsICInY2lyY2xlJyIpOworICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0g
cmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGlj
YXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxz
ZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhS
YWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRp
ZmllciIsICIncmVkJyIpOworICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0
RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0
YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7Cisg
ICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1
dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIs
ICInc21hbGwnIik7CisgICAgICAgIAorICAgICAgICAvLyBOb3cgc2VhcmNoIGJhY2t3YXJkcyB1
cCB0aGUgYWQtaG9jIHJhZGlvZ3JvdXBzLgorICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50
ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJl
ZGljYXRlKHN0YXJ0RWxlbWVudCwgZmFsc2UsICJBWFJhZGlvR3JvdXBTZWFyY2hLZXkiLCAiIiwg
ZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6
IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlk
ZW50aWZpZXIiLCAiJ2dyZWVuJyIpOworICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0g
cmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGlj
YXRlKHN0YXJ0RWxlbWVudCwgZmFsc2UsICJBWFJhZGlvR3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFs
c2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFY
UmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50
aWZpZXIiLCAiJ3RyaWFuZ2xlJyIpOworICAgICAgICAKKyAgICAgICAgLy8gQW5kIGZpbmFsbHkg
c2VhcmNoIGZvcndhcmQgb25jZSBtb3JlLgorICAgICAgICAKKyAgICAgICAgc3RhcnRFbGVtZW50
ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVtZW50Rm9yU2VhcmNoUHJl
ZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9Hcm91cFNlYXJjaEtleSIsICIiLCBm
YWxzZSwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxlbWVudC5yb2xlIiwgIidB
WFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50
LmRvbUlkZW50aWZpZXIiLCAiJ3JlZCciKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436339</attachid>
            <date>2021-08-24 15:21:29 -0700</date>
            <delta_ts>2021-08-24 15:24:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229415-20210824172128.patch</filename>
            <type>text/plain</type>
            <size>10999</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY0ZGU3ZmVlZGUxMjZk
MjcyY2E4Njk0YzU5M2NhMjZiMWFjZGVhMS4uYjlkNzlkZjg5NWE0NGZmMjVkZTdiYTlkZjM5ZmI3
YzVhNmI1M2MxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTI0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRp
b2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFkaW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDog
YWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBz
Lmh0bWwKKworICAgICAgICBFbmFibGUgdGhlIGFiaWxpdHkgZm9yIFdlYktpdCBVSSBlbGVtZW50
IGFjY2Vzc2liaWxpdHkgc2VhcmNoZXMgdG8gZmluZAorICAgICAgICBhZC1ob2MgcmFkaW9ncm91
cHMuIEFuIGFkLWhvYyByYWRpb2dyb3VwIGlzIGEgZ3JvdXAgb2YgcmFkaW9idXR0b25zCisgICAg
ICAgIGNvbm5lY3RlZCBvbmx5IGJ5IGBuYW1lYCBhdHRyaWJ1dGUsIG1pc3NpbmcgYW4gYXBwcm9w
cmlhdGUgcm9sZT0icmFkaW9ncm91cCIKKyAgICAgICAgY29udGFpbmVyLgorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHk6OmlzUmFkaW9CdXR0b25JbkRpZmZlcmVudEFkaG9jR3JvdXApOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eU9iamVj
dFNlYXJjaE1hdGNoQXRJbmRleCk6CisgICAgICAgIFdoZW4gc2VhcmNoaW5nIGZvciByYWRpb2dy
b3VwcywgYWxzbyByZXR1cm4gcmFkaW9idXR0b25zIGluIGRpZmZlcmVudAorICAgICAgICBhZC1o
b2MgcmFkaW9ncm91cHMuCisKIDIwMjEtMDgtMjQgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxh
cGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBOb24tdW5pZmllZCBidWlsZCBmaXhlcywgbGF0
ZSBBdWd1c3QgMjAyMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggNTBkMjA1ZjQ1YTM1MWUyZDhkY2E0OGYxMGZlYTcz
MDBjY2ExZGVlOC4uYzZmOTlmYWFiNGE1ZGIxNzBiNjE4Y2E3MmMwM2RjMDAyMjdlZWFiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwCkBAIC0zNjM5LDYgKzM2MzksMjEgQEAgU3RyaW5nIHJvbGVUb1BsYXRmb3JtU3RyaW5n
KEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAgICAgcmV0dXJuIHJvbGVNYXAtPmdldChzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4ocm9sZSkpOwogfQogCisvLyBUaGlzIGZ1bmN0aW9uIGRldGVybWluZXMg
aWYgdGhlIGdpdmVuIGBheE9iamVjdGAgaXMgYSByYWRpbyBidXR0b24gcGFydCBvZiBhIGRpZmZl
cmVudCBhZC1ob2MgcmFkaW8gZ3JvdXAKKy8vIHRoYW4gYHJlZmVyZW5jZU9iamVjdGAsIHdoZXJl
IGFkLWhvYyByYWRpbyBncm91cCBtZW1iZXJzaGlwIGlzIGRldGVybWluZWQgYnkgY29tcGFyaW5n
IGBuYW1lYCBhdHRyaWJ1dGVzLgorc3RhdGljIGJvb2wgaXNSYWRpb0J1dHRvbkluRGlmZmVyZW50
QWRob2NHcm91cChBWENvcmVPYmplY3QqIGF4T2JqZWN0LCBBWENvcmVPYmplY3QqIHJlZmVyZW5j
ZU9iamVjdCkKK3sKKyAgICBpZiAoIWF4T2JqZWN0IHx8ICFheE9iamVjdC0+aXNSYWRpb0J1dHRv
bigpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBJZiB0aGUgYHJlZmVyZW5jZU9i
amVjdGAgaXMgbm90IGEgcmFkaW8gYnV0dG9uIGFuZCB0aGlzIGBheE9iamVjdGAgaXMsIHRoZWly
IHJhZGlvIGdyb3VwIG1lbWJlcnNoaXAgaXMgZGlmZmVyZW50IGJlY2F1c2UKKyAgICAvLyBgYXhP
YmplY3RgIGJlbG9uZ3MgdG8gYSBncm91cCBhbmQgYHJlZmVyZW5jZU9iamVjdGAgZG9lc24ndC4K
KyAgICBpZiAoIXJlZmVyZW5jZU9iamVjdCB8fCAhcmVmZXJlbmNlT2JqZWN0LT5pc1JhZGlvQnV0
dG9uKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGF4T2JqZWN0LT5lbGVt
ZW50KCktPmdldE5hbWVBdHRyaWJ1dGUoKSAhPSByZWZlcmVuY2VPYmplY3QtPmVsZW1lbnQoKS0+
Z2V0TmFtZUF0dHJpYnV0ZSgpOworfQorCiBzdGF0aWMgYm9vbCBpc0FjY2Vzc2liaWxpdHlPYmpl
Y3RTZWFyY2hNYXRjaEF0SW5kZXgoQVhDb3JlT2JqZWN0KiBheE9iamVjdCwgQWNjZXNzaWJpbGl0
eVNlYXJjaENyaXRlcmlhIGNvbnN0JiBjcml0ZXJpYSwgc2l6ZV90IGluZGV4KQogewogICAgIHN3
aXRjaCAoY3JpdGVyaWEuc2VhcmNoS2V5c1tpbmRleF0pIHsKQEAgLTM3MTksNyArMzczNCw3IEBA
IHN0YXRpYyBib29sIGlzQWNjZXNzaWJpbGl0eU9iamVjdFNlYXJjaE1hdGNoQXRJbmRleChBWENv
cmVPYmplY3QqIGF4T2JqZWN0LCBBY2NlCiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5U2VhcmNoS2V5
OjpQbGFpblRleHQ6CiAgICAgICAgIHJldHVybiBheE9iamVjdC0+aGFzUGxhaW5UZXh0KCk7CiAg
ICAgY2FzZSBBY2Nlc3NpYmlsaXR5U2VhcmNoS2V5OjpSYWRpb0dyb3VwOgotICAgICAgICByZXR1
cm4gYXhPYmplY3QtPmlzUmFkaW9Hcm91cCgpOworICAgICAgICByZXR1cm4gYXhPYmplY3QtPmlz
UmFkaW9Hcm91cCgpIHx8IGlzUmFkaW9CdXR0b25JbkRpZmZlcmVudEFkaG9jR3JvdXAoYXhPYmpl
Y3QsIGNyaXRlcmlhLnN0YXJ0T2JqZWN0KTsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlTZWFyY2hL
ZXk6OlNhbWVUeXBlOgogICAgICAgICByZXR1cm4gY3JpdGVyaWEuc3RhcnRPYmplY3QKICAgICAg
ICAgICAgICYmIGF4T2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBjcml0ZXJpYS5zdGFydE9iamVjdC0+
cm9sZVZhbHVlKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWRlYmEwNzk2YWMzYmZjODQ2NmU3ZjE4MmMzZDdhNzBiYTJh
ZWY2Zi4uMGY0OWM1Yzc2Zjk2YzY5NTU2MWNkNTk4YTQ5MzM1ZDM4ODczYmU2ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDIxLTA4LTI0ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5j
b20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRpb2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFk
aW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmllcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3QgdG8gZW5zdXJlIFdlYktpdCBVSSBlbGVt
ZW50IGFjY2Vzc2liaWxpdHkgc2VhcmNoZXMgY2FuIGZpbmQKKyAgICAgICAgYWQtaG9jIHJhZGlv
Z3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91cCBpcyBhIGdyb3VwIG9mIHJhZGlvYnV0dG9ucwor
ICAgICAgICBjb25uZWN0ZWQgb25seSBieSBgbmFtZWAgYXR0cmlidXRlcywgbWlzc2luZyBhbiBh
cHByb3ByaWF0ZSByb2xlPSJyYWRpb2dyb3VwIgorICAgICAgICBjb250YWluZXIuCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1n
cm91cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9z
ZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIG5ldyB0ZXN0IGR1
ZSB0byBsYWNrIG9mCisgICAgICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvbUlkZW50aWZp
ZXIgaW1wbGVtZW50YXRpb24uCisKIDIwMjEtMDgtMjQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9y
bWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI4MTMwNSkgW0dTdHJlYW1l
cl0gZmFzdC9tZWRpYXN0cmVhbS9nZXREaXNwbGF5TWVkaWEtZnJhbWUtcmF0ZS5odG1sIHRpbWVv
dXRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJl
ZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNzc0N2YxOTQ3MDU0YTY0NGU2YmNjYzVhMWY1NmQ2
YjA4MWUxZmVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM5IEBACitUaGlzIHRlc3QgZW5zdXJlcyBXZWJLaXQgY2FuIHNlYXJjaCBmb3Ig
YWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91cCBpcyBhIHNldCBvZiByYWRp
b2J1dHRvbnMgY29ubmVjdGVkIGJ5IGBuYW1lYCBhdHRyaWJ1dGUgYWxvbmUsIHdpdGhvdXQgYW4g
YXBwcm9wcmlhdGUgYHJvbGU9InJhZGlvZ3JvdXAiYCBjb250YWluZXIuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBB
WFJhZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIgaXMgJ2NpcmNs
ZScKK1BBU1MgcmVzdWx0RWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQ
QVNTIHJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciBpcyAncmVkJworUEFTUyByZXN1bHRFbGVt
ZW50LnJvbGUgaXMgJ0FYUm9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0RWxlbWVudC5k
b21JZGVudGlmaWVyIGlzICdzbWFsbCcKK1BBU1MgcmVzdWx0RWxlbWVudC5yb2xlIGlzICdBWFJv
bGU6IEFYUmFkaW9CdXR0b24nCitQQVNTIHJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciBpcyAn
Z3JlZW4nCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9u
JworUEFTUyByZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIgaXMgJ3RyaWFuZ2xlJworUEFTUyBy
ZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0
RWxlbWVudC5kb21JZGVudGlmaWVyIGlzICdyZWQnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1NoYXBlCisKKyBDaXJjbGUKKyBTcXVhcmUKKyBUcmlh
bmdsZQorQ29sb3IKKworIFJlZAorIEJsdWUKKyBHcmVlbgorU2l6ZQorCisgU21hbGwKK1VucmVs
YXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1zCisKKyBNZWRp
dW0KK1VucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1z
CisKKyBMYXJnZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2Vh
cmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLmh0bWwgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NGFjZDY5NDhmZTUyN2EwY2Q5MTgxZTBkNjg1YmQzNjBjOGU1NjEw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNo
LXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSIgcm9sZT0iZ3JvdXAiPgorICAgIAor
PHA+U2hhcGU8L3A+Cis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJjaXJjbGUiIG5h
bWU9InNoYXBlIiB2YWx1ZT0iY2lyY2xlIj4KKyAgPGxhYmVsIGZvcj0iY2lyY2xlIj5DaXJjbGU8
L2xhYmVsPgorPC9kaXY+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InNxdWFy
ZSIgbmFtZT0ic2hhcGUiIHZhbHVlPSJzcXVhcmUiPgorICA8bGFiZWwgZm9yPSJzcXVhcmUiPlNx
dWFyZTwvbGFiZWw+Cis8L2Rpdj4KKworPGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0i
dHJpYW5nbGUiIG5hbWU9InNoYXBlIiB2YWx1ZT0idHJpYW5nbGUiPgorICA8bGFiZWwgZm9yPSJ0
cmlhbmdsZSI+VHJpYW5nbGU8L2xhYmVsPgorPC9kaXY+CisKKzxwPkNvbG9yPC9wPgorPGRpdj4K
KyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0icmVkIiBuYW1lPSJjb2xvciIgdmFsdWU9InJlZCI+
CisgIDxsYWJlbCBmb3I9InJlZCI+UmVkPC9sYWJlbD4KKzwvZGl2PgorCis8ZGl2PgorICA8aW5w
dXQgdHlwZT0icmFkaW8iIGlkPSJibHVlIiBuYW1lPSJjb2xvciIgdmFsdWU9ImJsdWUiPgorICA8
bGFiZWwgZm9yPSJibHVlIj5CbHVlPC9sYWJlbD4KKzwvZGl2PgorCis8ZGl2PgorICA8aW5wdXQg
dHlwZT0icmFkaW8iIGlkPSJncmVlbiIgbmFtZT0iY29sb3IiIHZhbHVlPSJncmVlbiI+CisgIDxs
YWJlbCBmb3I9ImdyZWVuIj5HcmVlbjwvbGFiZWw+Cis8L2Rpdj4KKworPHA+U2l6ZTwvcD4KKzxk
aXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InNtYWxsIiBuYW1lPSJzaXplIiB2YWx1ZT0i
c21hbGwiPgorICA8bGFiZWwgZm9yPSJzbWFsbCI+U21hbGw8L2xhYmVsPgorPC9kaXY+CisKKzxw
PgorICBVbnJlbGF0ZWQgY29udGVudCBzZXBhcmF0aW5nIGFkLWhvYyByYWRpbyBncm91cCBpdGVt
cworPC9wPgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtZWRpdW0iIG5hbWU9
InNpemUiIHZhbHVlPSJtZWRpdW0iPgorICA8bGFiZWwgZm9yPSJtZWRpdW0iPk1lZGl1bTwvbGFi
ZWw+Cis8L2Rpdj4KKworPHA+CisgIFVucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9j
IHJhZGlvIGdyb3VwIGl0ZW1zCis8L3A+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIg
aWQ9ImxhcmdlIiBuYW1lPSJzaXplIiB2YWx1ZT0ibGFyZ2UiPgorICA8bGFiZWwgZm9yPSJsYXJn
ZSI+TGFyZ2U8L2xhYmVsPgorPC9kaXY+CisKKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCBlbnN1cmVzIFdlYktpdCBjYW4gc2VhcmNoIGZvciBhZC1ob2MgcmFkaW9ncm91cHMu
IEFuIGFkLWhvYyByYWRpb2dyb3VwIGlzIGEgc2V0IG9mIHJhZGlvYnV0dG9ucyBjb25uZWN0ZWQg
YnkgYG5hbWVgIGF0dHJpYnV0ZSBhbG9uZSwgd2l0aG91dCBhbiBhcHByb3ByaWF0ZSBgcm9sZT1c
InJhZGlvZ3JvdXBcImAgY29udGFpbmVyLiIpCisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7CisgICAgICAgIHdpbmRvdy5jb250YWluZXJFbGVtZW50ID0gYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJib2R5Iik7CisgICAgICAg
IAorICAgICAgICBzdGFydEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LmNoaWxkQXRJbmRleCgw
KTsKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1l
bnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFk
aW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRF
bGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxk
QmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICInY2lyY2xlJyIpOworICAgICAgICAK
KyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQu
dWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9H
cm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVt
ZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUo
InJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICIncmVkJyIpOworICAgICAgICAKKyAgICAg
ICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVt
ZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9Hcm91cFNl
YXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnJv
bGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3Vs
dEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICInc21hbGwnIik7CisgICAgICAgIAorICAgICAgICAv
LyBOb3cgc2VhcmNoIGJhY2t3YXJkcyB1cCB0aGUgYWQtaG9jIHJhZGlvZ3JvdXBzLgorICAgICAg
ICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1l
bnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgZmFsc2UsICJBWFJh
ZGlvR3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0
RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3Vs
ZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ2dyZWVuJyIpOworICAgICAgICAK
KyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQu
dWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgZmFsc2UsICJBWFJhZGlv
R3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxl
bWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJl
KCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ3RyaWFuZ2xlJyIpOworICAgICAgICAK
KyAgICAgICAgLy8gQW5kIGZpbmFsbHkgc2VhcmNoIGZvcndhcmQgb25jZSBtb3JlLgorICAgICAg
ICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1l
bnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFk
aW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgi
cmVzdWx0RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAg
IHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ3JlZCciKTsKKyAgICB9
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwYjc2OWQzZDEyOTRjZDU3ODU0YzE5NTdmYTNl
MTA4MTU1MWJmOTBlLi5jYmRiNDU1OTRjNDNlZWE4YmVkZjJhMjE5MDMxMWIyNzNjYzI3NWMxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC01
NjcsNiArNTY3LDkgQEAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1pbnNlcnQtaHRtbC5odG1s
IFsgUGFzcyBUaW1lb3V0IF0KIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1hc3luYy5odG1s
IFsgRmFpbHVyZSBdCiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXVuaWZpZWQtZW11bGF0aW9u
Lmh0bWwgWyBGYWlsdXJlIF0KIAorIyBEdW1wUmVuZGVyVHJlZSBgVUlBY2Nlc3NpYmlsaXR5RWxl
bWVudGBzIGRvbid0IGhhdmUgYSBkb21JZGVudGlmaWVyIG1ldGhvZC4KK2FjY2Vzc2liaWxpdHkv
bWFjL3NlYXJjaC1wcmVkaWNhdGUtZm9yLWFkaG9jLXJhZGlvLWdyb3Vwcy5odG1sIFsgU2tpcCBd
CisKICMgPHJkYXI6Ly9wcm9ibGVtLzI2MDUwOTIzPiBUaGUgcmVzdWx0IGlzIHByb2JhYmx5IHN0
aWxsIGEgcGFzcywgYnV0IHdlIGRvbid0IGhhdmUgYSB3YXkKICMgdG8gaGF2ZSBwbGF0Zm9ybSBz
cGVjaWZpYyByZXN1bHRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIFdLMSBhbmQgV0syLgog
YWNjZXNzaWJpbGl0eS9tYWMvZG9jdW1lbnQtYXR0cmlidXRlcy5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436340</attachid>
            <date>2021-08-24 15:24:55 -0700</date>
            <delta_ts>2021-08-25 09:38:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229415-20210824172454.patch</filename>
            <type>text/plain</type>
            <size>11013</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY0ZGU3ZmVlZGUxMjZk
MjcyY2E4Njk0YzU5M2NhMjZiMWFjZGVhMS4uYjlkNzlkZjg5NWE0NGZmMjVkZTdiYTlkZjM5ZmI3
YzVhNmI1M2MxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTI0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRp
b2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFkaW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDog
YWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBz
Lmh0bWwKKworICAgICAgICBFbmFibGUgdGhlIGFiaWxpdHkgZm9yIFdlYktpdCBVSSBlbGVtZW50
IGFjY2Vzc2liaWxpdHkgc2VhcmNoZXMgdG8gZmluZAorICAgICAgICBhZC1ob2MgcmFkaW9ncm91
cHMuIEFuIGFkLWhvYyByYWRpb2dyb3VwIGlzIGEgZ3JvdXAgb2YgcmFkaW9idXR0b25zCisgICAg
ICAgIGNvbm5lY3RlZCBvbmx5IGJ5IGBuYW1lYCBhdHRyaWJ1dGUsIG1pc3NpbmcgYW4gYXBwcm9w
cmlhdGUgcm9sZT0icmFkaW9ncm91cCIKKyAgICAgICAgY29udGFpbmVyLgorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHk6OmlzUmFkaW9CdXR0b25JbkRpZmZlcmVudEFkaG9jR3JvdXApOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eU9iamVj
dFNlYXJjaE1hdGNoQXRJbmRleCk6CisgICAgICAgIFdoZW4gc2VhcmNoaW5nIGZvciByYWRpb2dy
b3VwcywgYWxzbyByZXR1cm4gcmFkaW9idXR0b25zIGluIGRpZmZlcmVudAorICAgICAgICBhZC1o
b2MgcmFkaW9ncm91cHMuCisKIDIwMjEtMDgtMjQgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxh
cGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBOb24tdW5pZmllZCBidWlsZCBmaXhlcywgbGF0
ZSBBdWd1c3QgMjAyMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggNTBkMjA1ZjQ1YTM1MWUyZDhkY2E0OGYxMGZlYTcz
MDBjY2ExZGVlOC4uYzZmOTlmYWFiNGE1ZGIxNzBiNjE4Y2E3MmMwM2RjMDAyMjdlZWFiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwCkBAIC0zNjM5LDYgKzM2MzksMjEgQEAgU3RyaW5nIHJvbGVUb1BsYXRmb3JtU3RyaW5n
KEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAgICAgcmV0dXJuIHJvbGVNYXAtPmdldChzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4ocm9sZSkpOwogfQogCisvLyBUaGlzIGZ1bmN0aW9uIGRldGVybWluZXMg
aWYgdGhlIGdpdmVuIGBheE9iamVjdGAgaXMgYSByYWRpbyBidXR0b24gcGFydCBvZiBhIGRpZmZl
cmVudCBhZC1ob2MgcmFkaW8gZ3JvdXAKKy8vIHRoYW4gYHJlZmVyZW5jZU9iamVjdGAsIHdoZXJl
IGFkLWhvYyByYWRpbyBncm91cCBtZW1iZXJzaGlwIGlzIGRldGVybWluZWQgYnkgY29tcGFyaW5n
IGBuYW1lYCBhdHRyaWJ1dGVzLgorc3RhdGljIGJvb2wgaXNSYWRpb0J1dHRvbkluRGlmZmVyZW50
QWRob2NHcm91cChBWENvcmVPYmplY3QqIGF4T2JqZWN0LCBBWENvcmVPYmplY3QqIHJlZmVyZW5j
ZU9iamVjdCkKK3sKKyAgICBpZiAoIWF4T2JqZWN0IHx8ICFheE9iamVjdC0+aXNSYWRpb0J1dHRv
bigpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBJZiB0aGUgYHJlZmVyZW5jZU9i
amVjdGAgaXMgbm90IGEgcmFkaW8gYnV0dG9uIGFuZCB0aGlzIGBheE9iamVjdGAgaXMsIHRoZWly
IHJhZGlvIGdyb3VwIG1lbWJlcnNoaXAgaXMgZGlmZmVyZW50IGJlY2F1c2UKKyAgICAvLyBgYXhP
YmplY3RgIGJlbG9uZ3MgdG8gYSBncm91cCBhbmQgYHJlZmVyZW5jZU9iamVjdGAgZG9lc24ndC4K
KyAgICBpZiAoIXJlZmVyZW5jZU9iamVjdCB8fCAhcmVmZXJlbmNlT2JqZWN0LT5pc1JhZGlvQnV0
dG9uKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGF4T2JqZWN0LT5lbGVt
ZW50KCktPmdldE5hbWVBdHRyaWJ1dGUoKSAhPSByZWZlcmVuY2VPYmplY3QtPmVsZW1lbnQoKS0+
Z2V0TmFtZUF0dHJpYnV0ZSgpOworfQorCiBzdGF0aWMgYm9vbCBpc0FjY2Vzc2liaWxpdHlPYmpl
Y3RTZWFyY2hNYXRjaEF0SW5kZXgoQVhDb3JlT2JqZWN0KiBheE9iamVjdCwgQWNjZXNzaWJpbGl0
eVNlYXJjaENyaXRlcmlhIGNvbnN0JiBjcml0ZXJpYSwgc2l6ZV90IGluZGV4KQogewogICAgIHN3
aXRjaCAoY3JpdGVyaWEuc2VhcmNoS2V5c1tpbmRleF0pIHsKQEAgLTM3MTksNyArMzczNCw3IEBA
IHN0YXRpYyBib29sIGlzQWNjZXNzaWJpbGl0eU9iamVjdFNlYXJjaE1hdGNoQXRJbmRleChBWENv
cmVPYmplY3QqIGF4T2JqZWN0LCBBY2NlCiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5U2VhcmNoS2V5
OjpQbGFpblRleHQ6CiAgICAgICAgIHJldHVybiBheE9iamVjdC0+aGFzUGxhaW5UZXh0KCk7CiAg
ICAgY2FzZSBBY2Nlc3NpYmlsaXR5U2VhcmNoS2V5OjpSYWRpb0dyb3VwOgotICAgICAgICByZXR1
cm4gYXhPYmplY3QtPmlzUmFkaW9Hcm91cCgpOworICAgICAgICByZXR1cm4gYXhPYmplY3QtPmlz
UmFkaW9Hcm91cCgpIHx8IGlzUmFkaW9CdXR0b25JbkRpZmZlcmVudEFkaG9jR3JvdXAoYXhPYmpl
Y3QsIGNyaXRlcmlhLnN0YXJ0T2JqZWN0KTsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlTZWFyY2hL
ZXk6OlNhbWVUeXBlOgogICAgICAgICByZXR1cm4gY3JpdGVyaWEuc3RhcnRPYmplY3QKICAgICAg
ICAgICAgICYmIGF4T2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBjcml0ZXJpYS5zdGFydE9iamVjdC0+
cm9sZVZhbHVlKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWRlYmEwNzk2YWMzYmZjODQ2NmU3ZjE4MmMzZDdhNzBiYTJh
ZWY2Zi4uMGY0OWM1Yzc2Zjk2YzY5NTU2MWNkNTk4YTQ5MzM1ZDM4ODczYmU2ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDIxLTA4LTI0ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5j
b20+CisKKyAgICAgICAgQVg6IFJldHVybiByYWRpb2J1dHRvbnMgcGFydCBvZiBhZC1ob2MgcmFk
aW9ncm91cHMgZnJvbSBBWCBzZWFyY2ggcXVlcmllcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3QgdG8gZW5zdXJlIFdlYktpdCBVSSBlbGVt
ZW50IGFjY2Vzc2liaWxpdHkgc2VhcmNoZXMgY2FuIGZpbmQKKyAgICAgICAgYWQtaG9jIHJhZGlv
Z3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91cCBpcyBhIGdyb3VwIG9mIHJhZGlvYnV0dG9ucwor
ICAgICAgICBjb25uZWN0ZWQgb25seSBieSBgbmFtZWAgYXR0cmlidXRlcywgbWlzc2luZyBhbiBh
cHByb3ByaWF0ZSByb2xlPSJyYWRpb2dyb3VwIgorICAgICAgICBjb250YWluZXIuCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1n
cm91cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9z
ZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIG5ldyB0ZXN0IGR1
ZSB0byBsYWNrIG9mCisgICAgICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvbUlkZW50aWZp
ZXIgaW1wbGVtZW50YXRpb24uCisKIDIwMjEtMDgtMjQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9y
bWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI4MTMwNSkgW0dTdHJlYW1l
cl0gZmFzdC9tZWRpYXN0cmVhbS9nZXREaXNwbGF5TWVkaWEtZnJhbWUtcmF0ZS5odG1sIHRpbWVv
dXRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJl
ZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNzc0N2YxOTQ3MDU0YTY0NGU2YmNjYzVhMWY1NmQ2
YjA4MWUxZmVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9t
YWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDM5IEBACitUaGlzIHRlc3QgZW5zdXJlcyBXZWJLaXQgY2FuIHNlYXJjaCBmb3Ig
YWQtaG9jIHJhZGlvZ3JvdXBzLiBBbiBhZC1ob2MgcmFkaW9ncm91cCBpcyBhIHNldCBvZiByYWRp
b2J1dHRvbnMgY29ubmVjdGVkIGJ5IGBuYW1lYCBhdHRyaWJ1dGUgYWxvbmUsIHdpdGhvdXQgYW4g
YXBwcm9wcmlhdGUgYHJvbGU9InJhZGlvZ3JvdXAiYCBjb250YWluZXIuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBB
WFJhZGlvQnV0dG9uJworUEFTUyByZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIgaXMgJ2NpcmNs
ZScKK1BBU1MgcmVzdWx0RWxlbWVudC5yb2xlIGlzICdBWFJvbGU6IEFYUmFkaW9CdXR0b24nCitQ
QVNTIHJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciBpcyAncmVkJworUEFTUyByZXN1bHRFbGVt
ZW50LnJvbGUgaXMgJ0FYUm9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0RWxlbWVudC5k
b21JZGVudGlmaWVyIGlzICdzbWFsbCcKK1BBU1MgcmVzdWx0RWxlbWVudC5yb2xlIGlzICdBWFJv
bGU6IEFYUmFkaW9CdXR0b24nCitQQVNTIHJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciBpcyAn
Z3JlZW4nCitQQVNTIHJlc3VsdEVsZW1lbnQucm9sZSBpcyAnQVhSb2xlOiBBWFJhZGlvQnV0dG9u
JworUEFTUyByZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIgaXMgJ3RyaWFuZ2xlJworUEFTUyBy
ZXN1bHRFbGVtZW50LnJvbGUgaXMgJ0FYUm9sZTogQVhSYWRpb0J1dHRvbicKK1BBU1MgcmVzdWx0
RWxlbWVudC5kb21JZGVudGlmaWVyIGlzICdyZWQnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1NoYXBlCisKKyBDaXJjbGUKKyBTcXVhcmUKKyBUcmlh
bmdsZQorQ29sb3IKKworIFJlZAorIEJsdWUKKyBHcmVlbgorU2l6ZQorCisgU21hbGwKK1VucmVs
YXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1zCisKKyBNZWRp
dW0KK1VucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9jIHJhZGlvIGdyb3VwIGl0ZW1z
CisKKyBMYXJnZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2Vh
cmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLmh0bWwgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L21hYy9zZWFyY2gtcHJlZGljYXRlLWZvci1hZGhvYy1yYWRpby1ncm91cHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NGFjZDY5NDhmZTUyN2EwY2Q5MTgxZTBkNjg1YmQzNjBjOGU1NjEw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNo
LXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBzLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSIgcm9sZT0iZ3JvdXAiPgorICAgIAor
PHA+U2hhcGU8L3A+Cis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJjaXJjbGUiIG5h
bWU9InNoYXBlIiB2YWx1ZT0iY2lyY2xlIj4KKyAgPGxhYmVsIGZvcj0iY2lyY2xlIj5DaXJjbGU8
L2xhYmVsPgorPC9kaXY+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InNxdWFy
ZSIgbmFtZT0ic2hhcGUiIHZhbHVlPSJzcXVhcmUiPgorICA8bGFiZWwgZm9yPSJzcXVhcmUiPlNx
dWFyZTwvbGFiZWw+Cis8L2Rpdj4KKworPGRpdj4KKyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0i
dHJpYW5nbGUiIG5hbWU9InNoYXBlIiB2YWx1ZT0idHJpYW5nbGUiPgorICA8bGFiZWwgZm9yPSJ0
cmlhbmdsZSI+VHJpYW5nbGU8L2xhYmVsPgorPC9kaXY+CisKKzxwPkNvbG9yPC9wPgorPGRpdj4K
KyAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0icmVkIiBuYW1lPSJjb2xvciIgdmFsdWU9InJlZCI+
CisgIDxsYWJlbCBmb3I9InJlZCI+UmVkPC9sYWJlbD4KKzwvZGl2PgorCis8ZGl2PgorICA8aW5w
dXQgdHlwZT0icmFkaW8iIGlkPSJibHVlIiBuYW1lPSJjb2xvciIgdmFsdWU9ImJsdWUiPgorICA8
bGFiZWwgZm9yPSJibHVlIj5CbHVlPC9sYWJlbD4KKzwvZGl2PgorCis8ZGl2PgorICA8aW5wdXQg
dHlwZT0icmFkaW8iIGlkPSJncmVlbiIgbmFtZT0iY29sb3IiIHZhbHVlPSJncmVlbiI+CisgIDxs
YWJlbCBmb3I9ImdyZWVuIj5HcmVlbjwvbGFiZWw+Cis8L2Rpdj4KKworPHA+U2l6ZTwvcD4KKzxk
aXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InNtYWxsIiBuYW1lPSJzaXplIiB2YWx1ZT0i
c21hbGwiPgorICA8bGFiZWwgZm9yPSJzbWFsbCI+U21hbGw8L2xhYmVsPgorPC9kaXY+CisKKzxw
PgorICBVbnJlbGF0ZWQgY29udGVudCBzZXBhcmF0aW5nIGFkLWhvYyByYWRpbyBncm91cCBpdGVt
cworPC9wPgorCis8ZGl2PgorICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtZWRpdW0iIG5hbWU9
InNpemUiIHZhbHVlPSJtZWRpdW0iPgorICA8bGFiZWwgZm9yPSJtZWRpdW0iPk1lZGl1bTwvbGFi
ZWw+Cis8L2Rpdj4KKworPHA+CisgIFVucmVsYXRlZCBjb250ZW50IHNlcGFyYXRpbmcgYWQtaG9j
IHJhZGlvIGdyb3VwIGl0ZW1zCis8L3A+CisKKzxkaXY+CisgIDxpbnB1dCB0eXBlPSJyYWRpbyIg
aWQ9ImxhcmdlIiBuYW1lPSJzaXplIiB2YWx1ZT0ibGFyZ2UiPgorICA8bGFiZWwgZm9yPSJsYXJn
ZSI+TGFyZ2U8L2xhYmVsPgorPC9kaXY+CisKKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCBlbnN1cmVzIFdlYktpdCBjYW4gc2VhcmNoIGZvciBhZC1ob2MgcmFkaW9ncm91cHMu
IEFuIGFkLWhvYyByYWRpb2dyb3VwIGlzIGEgc2V0IG9mIHJhZGlvYnV0dG9ucyBjb25uZWN0ZWQg
YnkgYG5hbWVgIGF0dHJpYnV0ZSBhbG9uZSwgd2l0aG91dCBhbiBhcHByb3ByaWF0ZSBgcm9sZT1c
InJhZGlvZ3JvdXBcImAgY29udGFpbmVyLiIpCisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7CisgICAgICAgIHdpbmRvdy5jb250YWluZXJFbGVtZW50ID0gYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJib2R5Iik7CisgICAgICAg
IAorICAgICAgICBzdGFydEVsZW1lbnQgPSBjb250YWluZXJFbGVtZW50LmNoaWxkQXRJbmRleCgw
KTsKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1l
bnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFk
aW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRF
bGVtZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxk
QmUoInJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICInY2lyY2xlJyIpOworICAgICAgICAK
KyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQu
dWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9H
cm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVt
ZW50LnJvbGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUo
InJlc3VsdEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICIncmVkJyIpOworICAgICAgICAKKyAgICAg
ICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQudWlFbGVt
ZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFkaW9Hcm91cFNl
YXJjaEtleSIsICIiLCBmYWxzZSk7CisgICAgICAgIHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LnJv
bGUiLCAiJ0FYUm9sZTogQVhSYWRpb0J1dHRvbiciKTsKKyAgICAgICAgc2hvdWxkQmUoInJlc3Vs
dEVsZW1lbnQuZG9tSWRlbnRpZmllciIsICInc21hbGwnIik7CisgICAgICAgIAorICAgICAgICAv
LyBOb3cgc2VhcmNoIGJhY2t3YXJkcyB1cCB0aGUgYWQtaG9jIHJhZGlvZ3JvdXBzLgorICAgICAg
ICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1l
bnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgZmFsc2UsICJBWFJh
ZGlvR3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0
RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3Vs
ZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ2dyZWVuJyIpOworICAgICAgICAK
KyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQu
dWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgZmFsc2UsICJBWFJhZGlv
R3JvdXBTZWFyY2hLZXkiLCAiIiwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgicmVzdWx0RWxl
bWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAgIHNob3VsZEJl
KCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ3RyaWFuZ2xlJyIpOworICAgICAgICAK
KyAgICAgICAgLy8gQW5kIGZpbmFsbHkgc2VhcmNoIGZvcndhcmQgb25jZSBtb3JlLgorICAgICAg
ICAKKyAgICAgICAgc3RhcnRFbGVtZW50ID0gcmVzdWx0RWxlbWVudCA9IGNvbnRhaW5lckVsZW1l
bnQudWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKHN0YXJ0RWxlbWVudCwgdHJ1ZSwgIkFYUmFk
aW9Hcm91cFNlYXJjaEtleSIsICIiLCBmYWxzZSwgZmFsc2UpOworICAgICAgICBzaG91bGRCZSgi
cmVzdWx0RWxlbWVudC5yb2xlIiwgIidBWFJvbGU6IEFYUmFkaW9CdXR0b24nIik7CisgICAgICAg
IHNob3VsZEJlKCJyZXN1bHRFbGVtZW50LmRvbUlkZW50aWZpZXIiLCAiJ3JlZCciKTsKKyAgICB9
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwYjc2OWQzZDEyOTRjZDU3ODU0YzE5NTdmYTNl
MTA4MTU1MWJmOTBlLi5iNTk5YzIxYTNkMWM2ZWUwZmUyYjI5MTAxOTU3MzUzMzA5MzJjNWI1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC01
NjcsNiArNTY3LDkgQEAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1pbnNlcnQtaHRtbC5odG1s
IFsgUGFzcyBUaW1lb3V0IF0KIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1hc3luYy5odG1s
IFsgRmFpbHVyZSBdCiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXVuaWZpZWQtZW11bGF0aW9u
Lmh0bWwgWyBGYWlsdXJlIF0KIAorIyBTa2lwIGR1ZSB0byBsYWNrIG9mIER1bXBSZW5kZXJUcmVl
IGBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb21JZGVudGlmZXJgIGltcGxlbWVudGF0aW9uLgor
YWNjZXNzaWJpbGl0eS9tYWMvc2VhcmNoLXByZWRpY2F0ZS1mb3ItYWRob2MtcmFkaW8tZ3JvdXBz
Lmh0bWwgWyBTa2lwIF0KKwogIyA8cmRhcjovL3Byb2JsZW0vMjYwNTA5MjM+IFRoZSByZXN1bHQg
aXMgcHJvYmFibHkgc3RpbGwgYSBwYXNzLCBidXQgd2UgZG9uJ3QgaGF2ZSBhIHdheQogIyB0byBo
YXZlIHBsYXRmb3JtIHNwZWNpZmljIHJlc3VsdHMgdGhhdCBhcmUgZGlmZmVyZW50IGJldHdlZW4g
V0sxIGFuZCBXSzIuCiBhY2Nlc3NpYmlsaXR5L21hYy9kb2N1bWVudC1hdHRyaWJ1dGVzLmh0bWwg
WyBGYWlsdXJlIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>