<?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>232420</bug_id>
          
          <creation_ts>2021-10-27 20:33:28 -0700</creation_ts>
          <short_desc>Selection extend() should trigger exception with no ranges</short_desc>
          <delta_ts>2021-11-11 12:48:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/31460</see_also>
          <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="Brandon">brandonstewart</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>brandonstewart</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ntim</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1809555</commentid>
    <comment_count>0</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-27 20:33:28 -0700</bug_when>
    <thetext>The Selection extend method should thrown an exception when no ranges are present.

https://w3c.github.io/selection-api/#dom-selection-extend</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809556</commentid>
    <comment_count>1</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-27 20:38:00 -0700</bug_when>
    <thetext>&lt;rdar://83931240&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809563</commentid>
    <comment_count>2</comment_count>
      <attachid>442672</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-27 21:34:37 -0700</bug_when>
    <thetext>Created attachment 442672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809582</commentid>
    <comment_count>3</comment_count>
      <attachid>442678</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-27 23:39:02 -0700</bug_when>
    <thetext>Created attachment 442678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809685</commentid>
    <comment_count>4</comment_count>
      <attachid>442710</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-28 08:51:42 -0700</bug_when>
    <thetext>Created attachment 442710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809812</commentid>
    <comment_count>5</comment_count>
      <attachid>442710</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-28 13:34:16 -0700</bug_when>
    <thetext>Comment on attachment 442710
Patch

If this is important for interoperability why does this have no coverage in WPT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809860</commentid>
    <comment_count>6</comment_count>
      <attachid>442710</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-28 15:16:39 -0700</bug_when>
    <thetext>Comment on attachment 442710
Patch

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

&gt; LayoutTests/fast/dom/Range/missingRange.html:3
&gt; +        &lt;script src=&quot;../../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;

If you don&apos;t end up converting this to a WPT test, you&apos;ll need to include this instead:
&lt;script src=&quot;/resources/testharness.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;/resources/testharnessreport.js&quot;&gt;&lt;/script&gt;

&gt; LayoutTests/fast/dom/Range/missingRange.html:12
&gt; +            getSelection().extend(div1);

And here:
something like this:
```
test(function () {
    let div = document.createElement(&apos;div&apos;);
    document.body.appendChild(div);
    assert_throws_dom(&quot;InvalidStateError&quot;, () =&gt; {
        getSelection().extend(div);
    });
}, &apos;Test extend method failure due to missing range&apos;);
```

Then move it under LayoutTests/imported/w3c/web-platform-tests/selection/.

Then later on submit a PR for that test to https://github.com/web-platform-tests/wpt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809874</commentid>
    <comment_count>7</comment_count>
      <attachid>442710</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-28 15:39:37 -0700</bug_when>
    <thetext>Comment on attachment 442710
Patch

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

&gt; LayoutTests/fast/dom/Range/missingRange-expected.txt:7
&gt; +FAIL successfullyParsed should be true (of type boolean). Was undefined (of type undefined).

r- due to FAIL line in test output.

&gt;&gt; LayoutTests/fast/dom/Range/missingRange.html:12
&gt;&gt; +            getSelection().extend(div1);
&gt; 
&gt; And here:
&gt; something like this:
&gt; ```
&gt; test(function () {
&gt;     let div = document.createElement(&apos;div&apos;);
&gt;     document.body.appendChild(div);
&gt;     assert_throws_dom(&quot;InvalidStateError&quot;, () =&gt; {
&gt;         getSelection().extend(div);
&gt;     });
&gt; }, &apos;Test extend method failure due to missing range&apos;);
&gt; ```
&gt; 
&gt; Then move it under LayoutTests/imported/w3c/web-platform-tests/selection/.
&gt; 
&gt; Then later on submit a PR for that test to https://github.com/web-platform-tests/wpt.

And in the future, if writing such tests using js-test.js, please:
- Include js-test.js instead of js-test-pre.js / js-test-post.js which are legacy
- shouldThrowErrorName(&quot;getSelection().extend(div1);&quot;, &quot;InvalidStateError&quot;) to properly PASS / FAIL based on the exception being thrown. Right now, the exception is throw and not caught and causes a FAIL line to be printed in the output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810209</commentid>
    <comment_count>8</comment_count>
      <attachid>442858</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-29 13:22:26 -0700</bug_when>
    <thetext>Created attachment 442858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810217</commentid>
    <comment_count>9</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-29 13:34:56 -0700</bug_when>
    <thetext>I replaced the layout test with a new WPT test.

From looking at the WPT extend tests they do have code that will handle a rangeCount of 0, but I am unable to find a specific test in which the exception is triggered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810218</commentid>
    <comment_count>10</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-10-29 13:36:50 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810219</commentid>
    <comment_count>11</comment_count>
      <attachid>442858</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-29 13:43:00 -0700</bug_when>
    <thetext>Comment on attachment 442858
Patch

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

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:2
&gt; +&lt;title&gt;Selection extend() tests&lt;/title&gt;

Please provide a more specific title

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:5
&gt; +&lt;body&gt;

Please close you &lt;body&gt;

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:8
&gt; +&lt;script src=common.js&gt;&lt;/script&gt;

What is this used for?

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:9
&gt; +&lt;script src=extend.js&gt;&lt;/script&gt;

What is this used for?

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:10
&gt; +&lt;div id=&quot;log&quot;&gt;&lt;/div&gt;

Ideally, the test() would create and remove the div:
let div = document.createElement(&quot;div&quot;);
document.body.appendChild(div);

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:14
&gt; +var selection = document.getSelection();

Should be inside the test().

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:19
&gt; +    selection.removeAllRanges();

Which is this needed? How can there be a range already?

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:22
&gt; +});

We normally pass a string parameter as second parameter with a test description.

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:24
&gt; +testDiv.style.display = &quot;none&quot;;

The test should do clean up itself. I&apos;d recommend adding something like this inside your test():
```
this.add_cleanup(function() { div.remove() });
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810229</commentid>
    <comment_count>12</comment_count>
      <attachid>442859</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-29 14:03:46 -0700</bug_when>
    <thetext>Created attachment 442859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810243</commentid>
    <comment_count>13</comment_count>
      <attachid>442862</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-29 14:19:13 -0700</bug_when>
    <thetext>Created attachment 442862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810248</commentid>
    <comment_count>14</comment_count>
      <attachid>442859</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-29 14:31:21 -0700</bug_when>
    <thetext>Comment on attachment 442859
Patch

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

&gt; LayoutTests/editing/execCommand/null_calc_primitive_value_for_css_property.html:16
&gt; +    document.getSelection().addRange(range);

Wouldn&apos;t `document.getSelection().collapse(x, 0);` work?

&gt; LayoutTests/editing/execCommand/transpose-backslash-with-euc.html:13
&gt; +    getSelection().addRange(new Range());

May be better to call:
getSelection().collapse(backslashDivElement, 0);
before calling extend.

&gt; LayoutTests/editing/inserting/insert-html-crash-02.html:16
&gt; +    getSelection().addRange(new Range());

Similarly, would be better to call getSelection().collapse(document.body, 0) I think.

&gt; LayoutTests/imported/w3c/ChangeLog:9
&gt; +        contains no Range objects.

Please provide a link to the specification (https://w3c.github.io/selection-api/#dom-selection-extend) since you are aligning with the spec.

Also please mention in the change log the behavior of other browser engines. Matching the spec is good but only if other engines agree with the spec.

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:2
&gt; +&lt;title&gt;Selection extend() test thrown exceptions&lt;/title&gt;

Missing &lt;html&gt; tag.

&gt; LayoutTests/imported/w3c/web-platform-tests/selection/extend-exception.html:4
&gt; +&lt;meta name=timeout content=long&gt;

This is a trivial test, it doesn&apos;t need a long timeout.

&gt; Source/WebCore/page/DOMSelection.cpp:342
&gt; +    if (this-&gt;rangeCount() &lt; 1)

is this-&gt; really needed?

&gt; Source/WebCore/page/DOMSelection.cpp:343
&gt; +        return Exception { InvalidStateError, &quot;The &apos;extend&apos; method requires a Range object to be added to the Selection object before calling this method.&quot; };

I think I&apos;d prefer a message like: &quot;extend() cannot be called on an empty selection&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810300</commentid>
    <comment_count>15</comment_count>
      <attachid>442859</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-29 15:54:59 -0700</bug_when>
    <thetext>Comment on attachment 442859
Patch

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

&gt;&gt; Source/WebCore/page/DOMSelection.cpp:343
&gt;&gt; +        return Exception { InvalidStateError, &quot;The &apos;extend&apos; method requires a Range object to be added to the Selection object before calling this method.&quot; };
&gt; 
&gt; I think I&apos;d prefer a message like: &quot;extend() cannot be called on an empty selection&quot;

I am good with increasing the terseness of the current message, but we should still mention the missing range object.

Other browsers make it a point to mention it too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810301</commentid>
    <comment_count>16</comment_count>
      <attachid>442859</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-29 15:55:02 -0700</bug_when>
    <thetext>Comment on attachment 442859
Patch

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

&gt;&gt; Source/WebCore/page/DOMSelection.cpp:343
&gt;&gt; +        return Exception { InvalidStateError, &quot;The &apos;extend&apos; method requires a Range object to be added to the Selection object before calling this method.&quot; };
&gt; 
&gt; I think I&apos;d prefer a message like: &quot;extend() cannot be called on an empty selection&quot;

I am good with increasing the terseness of the current message, but we should still mention the missing range object.

Other browsers make it a point to mention it too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810302</commentid>
    <comment_count>17</comment_count>
      <attachid>442877</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2021-10-29 15:55:53 -0700</bug_when>
    <thetext>Created attachment 442877
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810304</commentid>
    <comment_count>18</comment_count>
      <attachid>442877</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-29 15:59:53 -0700</bug_when>
    <thetext>Comment on attachment 442877
Patch

r=me if the bots are happy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810459</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-30 15:58:29 -0700</bug_when>
    <thetext>Committed r285084 (243726@main): &lt;https://commits.webkit.org/243726@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442877.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442672</attachid>
            <date>2021-10-27 21:34:37 -0700</date>
            <delta_ts>2021-10-27 23:39:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>232420_patch.patch</filename>
            <type>text/plain</type>
            <size>3745</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhMjY1NTA4NzRkNjUuLmUyNGNhZjhkYjU1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDIxLTEwLTI3ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2VyIGV4Y2VwdGlvbiB3
aXRoIG5vIHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVmVyaWZ5IHRoZSAnZXh0ZW5kJyBtZXRob2Qgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24g
d2hlbiB0aGUgU2VsZWN0aW9uIG9iamVjdAorICAgICAgICBjb250YWlucyBubyBSYW5nZSBvYmpl
Y3RzLgorCisgICAgICAgICogZmFzdC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLmh0bWw6IEFk
ZGVkLgorCiAyMDIxLTEwLTI0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFJFR1JFU1NJT04gKGlPUyAxNSk6IFNhZmFyaSBzaG93cyB6b29tIGNhbGxv
dXQgZXZlbiBpZiAtd2Via2l0LXVzZXItc2VsZWN0IGlzIG5vbmUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21pc3NpbmdSYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9SYW5nZS9taXNzaW5nUmFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOWI5YmFiNDFmZGU1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEwIEBACitDT05TT0xFIE1FU1NBR0U6IEludmFsaWRTdGF0ZUVycm9yOiBU
aGUgJ2V4dGVuZCcgbWV0aG9kIHJlcXVpcmVzIGEgUmFuZ2Ugb2JqZWN0IHRvIGJlIGFkZGVkIHRv
IHRoZSBTZWxlY3Rpb24gb2JqZWN0IGJlZm9yZSBjYWxsaW5nIHRoaXMgbWV0aG9kLgorVGVzdCBl
eHRlbmQgbWV0aG9kIGZhaWx1cmUgZHVlIHRvIG1pc3NpbmcgcmFuZ2UKKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK0ZBSUwgc3VjY2Vzc2Z1bGx5UGFyc2VkIHNob3VsZCBiZSB0cnVl
IChvZiB0eXBlIGJvb2xlYW4pLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2Uv
bWlzc2luZ1JhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9taXNzaW5nUmFu
Z2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjExOGExN2Y3
M2E3YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21pc3Np
bmdSYW5nZS5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAg
ICBkZXNjcmlwdGlvbignVGVzdCBleHRlbmQgbWV0aG9kIGZhaWx1cmUgZHVlIHRvIG1pc3Npbmcg
cmFuZ2UnKTsKKworICAgICAgICAgICAgbGV0IGRpdjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2MSk7CisK
KyAgICAgICAgICAgIGdldFNlbGVjdGlvbigpLmV4dGVuZChkaXYxKTsKKworICAgICAgICA8L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlOWIx
OGZiMmU2MTguLjFjZDk1OTQzMWY0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIx
LTEwLTI3ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CisKKyAg
ICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2VyIGV4Y2VwdGlvbiB3aXRoIG5v
IHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlICdleHRlbmQnIG1ldGhvZCBpbiB0aGUgU2VsZWN0aW9uIEFQSSBzaG91bGQgdGhyb3cgYW4g
ZXhjZXB0aW9uIHVwb24KKyAgICAgICAgYmVpbmcgY2FsbGVkIGlmIHRoZXJlIGFyZSBubyByYW5n
ZXMgcHJlc2VudCBpbiB0aGUgU2VsZWN0aW9uIG9iamVjdC4KKworICAgICAgICBodHRwczovL3cz
Yy5naXRodWIuaW8vc2VsZWN0aW9uLWFwaS8jZG9tLXNlbGVjdGlvbi1leHRlbmQKKworICAgICAg
ICBUZXN0OiBmYXN0L2RvbS9SYW5nZS9taXNzaW5nUmFuZ2UuaHRtbAorCisgICAgICAgICogcGFn
ZS9ET01TZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VsZWN0aW9uOjpleHRl
bmQpOgorCiAyMDIxLTEwLTI0ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4IHR5cG8gaW4gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6
dXBkYXRlVmlkZW9UcmFja3MoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01T
ZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwCmluZGV4
IDA4ZDU5NmQ0ZWI3Mi4uNzg2ZmYyOGM1NmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rp
b24uY3BwCkBAIC0zMzgsNiArMzM4LDEwIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IERPTVNlbGVjdGlv
bjo6ZXh0ZW5kKE5vZGUmIG5vZGUsIHVuc2lnbmVkIG9mZnNldCkKICAgICBhdXRvIGZyYW1lID0g
dGhpcy0+ZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4geyB9OworCisg
ICAgaWYgKHRoaXMtPnJhbmdlQ291bnQoKSA8IDEpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkU3RhdGVFcnJvciwgIlRoZSAnZXh0ZW5kJyBtZXRob2QgcmVxdWlyZXMgYSBSYW5n
ZSBvYmplY3QgdG8gYmUgYWRkZWQgdG8gdGhlIFNlbGVjdGlvbiBvYmplY3QgYmVmb3JlIGNhbGxp
bmcgdGhpcyBtZXRob2QuIiB9OworCiAgICAgaWYgKGZyYW1lLT5zZXR0aW5ncygpLmxpdmVSYW5n
ZVNlbGVjdGlvbkVuYWJsZWQoKSkgewogICAgICAgICBpZiAoIWZyYW1lLT5kb2N1bWVudCgpLT5j
b250YWlucyhub2RlKSkKICAgICAgICAgICAgIHJldHVybiB7IH07Cg==
</data>
<flag name="commit-queue"
          id="467217"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442678</attachid>
            <date>2021-10-27 23:39:02 -0700</date>
            <delta_ts>2021-10-28 08:51:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>232420_patch2.patch</filename>
            <type>text/plain</type>
            <size>7499</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhMjY1NTA4NzRkNjUuLmNiYTAzZjRjZmY0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBA
CisyMDIxLTEwLTI3ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2VyIGV4Y2VwdGlvbiB3
aXRoIG5vIHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVmVyaWZ5IHRoZSAnZXh0ZW5kJyBtZXRob2Qgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24g
d2hlbiB0aGUgU2VsZWN0aW9uIG9iamVjdAorICAgICAgICBjb250YWlucyBubyBSYW5nZSBvYmpl
Y3RzLgorCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZl
X3ZhbHVlX2Zvcl9jc3NfcHJvcGVydHkuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21t
YW5kL3RyYW5zcG9zZS1iYWNrc2xhc2gtd2l0aC1ldWMuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5n
L2luc2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sOgorICAgICAgICAqIGVkaXRpbmcv
c2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLmh0bWw6IEFk
ZGVkLgorCiAyMDIxLTEwLTI0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFJFR1JFU1NJT04gKGlPUyAxNSk6IFNhZmFyaSBzaG93cyB6b29tIGNhbGxv
dXQgZXZlbiBpZiAtd2Via2l0LXVzZXItc2VsZWN0IGlzIG5vbmUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvbnVsbF9jYWxjX3ByaW1pdGl2ZV92YWx1ZV9mb3Jf
Y3NzX3Byb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL251bGxf
Y2FsY19wcmltaXRpdmVfdmFsdWVfZm9yX2Nzc19wcm9wZXJ0eS5odG1sCmluZGV4IGI5ODg2OWI2
OGJlMS4uZTY0NTE0MWY5ZDU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWND
b21tYW5kL251bGxfY2FsY19wcmltaXRpdmVfdmFsdWVfZm9yX2Nzc19wcm9wZXJ0eS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvbnVsbF9jYWxjX3ByaW1pdGl2ZV92
YWx1ZV9mb3JfY3NzX3Byb3BlcnR5Lmh0bWwKQEAgLTksNyArOSw3IEBAIGlucyB7ICAtd2Via2l0
LXVzZXItbW9kaWZ5OiByZWFkLXdyaXRlLXBsYWludGV4dC1vbmx5OyBwYWRkaW5nLXRvcDogbWlu
KDAuNTY3ODA4CiBmdW5jdGlvbiBjc3NQcmltaXRpdmVWYWxUZXN0KCkgewogICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0KKyAgICBk
b2N1bWVudC5nZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShuZXcgUmFuZ2UoKSk7CiAgICAgZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCkuZXh0ZW5kKHgpOyAKICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgi
aW5zZXJ0SFRNTCIsIGZhbHNlLCAiVGhlIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5vIGNyYXNo
LiIpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90cmFu
c3Bvc2UtYmFja3NsYXNoLXdpdGgtZXVjLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWND
b21tYW5kL3RyYW5zcG9zZS1iYWNrc2xhc2gtd2l0aC1ldWMuaHRtbAppbmRleCBhMzhiMWU5MTVm
MjguLjVlZWM0Y2YzMTlmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29t
bWFuZC90cmFuc3Bvc2UtYmFja3NsYXNoLXdpdGgtZXVjLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC90cmFuc3Bvc2UtYmFja3NsYXNoLXdpdGgtZXVjLmh0bWwKQEAg
LTEwLDYgKzEwLDcgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogCiBmdW5jdGlvbiB0ZXN0KCkK
IHsKKyAgICBnZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShuZXcgUmFuZ2UoKSk7CiAgICAgdmFyIGJh
Y2tzbGFzaERpdkVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmFja3NsYXNoIik7
CiAgICAgZ2V0U2VsZWN0aW9uKCkuZXh0ZW5kKGJhY2tzbGFzaERpdkVsZW1lbnQsIDEpOwogICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJUcmFuc3Bvc2UiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1odG1sLWNyYXNoLTAyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sCmluZGV4IDY2
YzM4ZTEyZGZjMy4uMTQ1OGY1OTRlNzJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2luc2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvaW5zZXJ0aW5nL2luc2VydC1odG1sLWNyYXNoLTAyLmh0bWwKQEAgLTEzLDYgKzEzLDcg
QEAKICAgICBsZXQgaWZyYW1lMCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwog
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lMCk7CiAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKSk7CisgICAgZ2V0
U2VsZWN0aW9uKCkuYWRkUmFuZ2UobmV3IFJhbmdlKCkpOwogICAgIGdldFNlbGVjdGlvbigpLmV4
dGVuZChkb2N1bWVudC5ib2R5KTsKICAgICBpZnJhbWUwLmNvbnRlbnREb2N1bWVudC5vbnZpc2li
aWxpdHljaGFuZ2UgPSAoKSA9PiB7CiAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0
SFRNTCcsIGZhbHNlLCAnZm9vJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ET01TZWxlY3Rpb24tY3Jvc3NpbmctZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50
LWV4cGVjdGVkLnR4dAppbmRleCBiOTk0NTE2MTY5MDMuLmNkYTYzYWU4NTIwNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRv
Y3VtZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9E
T01TZWxlY3Rpb24tY3Jvc3NpbmctZG9jdW1lbnQtZXhwZWN0ZWQudHh0CkBAIC04LDcgKzgsNyBA
QCBQQVNTIG1haW5TZWwuYW5jaG9yTm9kZSBpcyBudWxsCiBQQVNTIGZvcmVpZ25TZWwuYW5jaG9y
Tm9kZSBpcyBudWxsCiBQQVNTIG1haW5TZWwuYW5jaG9yTm9kZSBpcyBudWxsCiBQQVNTIGZvcmVp
Z25TZWwuYW5jaG9yTm9kZSBpcyBudWxsCi1QQVNTIG1haW5TZWwuYW5jaG9yTm9kZSBpcyBudWxs
CitQQVNTIG1haW5TZWwuYW5jaG9yTm9kZSBpcyBub3QgbnVsbAogUEFTUyBmb3JlaWduU2VsLmFu
Y2hvck5vZGUgaXMgbnVsbAogUEFTUyBtYWluU2VsLmFuY2hvck5vZGUgaXMgbnVsbAogUEFTUyBm
b3JlaWduU2VsLmFuY2hvck5vZGUgaXMgbnVsbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ET01TZWxlY3Rpb24tY3Jvc3NpbmctZG9jdW1lbnQu
aHRtbAppbmRleCBiYThhM2RhMDc4MDUuLjRkNWQ0YzY5MDQxNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3Nz
aW5nLWRvY3VtZW50Lmh0bWwKQEAgLTQ2LDkgKzQ2LDEwIEBAIHNob3VsZEJlTnVsbCgiZm9yZWln
blNlbC5hbmNob3JOb2RlIik7CiBzaG91bGRCZU51bGwoIm1haW5TZWwuYW5jaG9yTm9kZSIpOwog
CiBjbGVhcigpOworbWFpblNlbC5hZGRSYW5nZShuZXcgUmFuZ2UoKSk7CiBtYWluU2VsLmV4dGVu
ZChmb3JlaWduRWxlbWVudCwgMSk7CiBzaG91bGRCZU51bGwoImZvcmVpZ25TZWwuYW5jaG9yTm9k
ZSIpOwotc2hvdWxkQmVOdWxsKCJtYWluU2VsLmFuY2hvck5vZGUiKTsKK3Nob3VsZE5vdEJlKCJt
YWluU2VsLmFuY2hvck5vZGUiLCAibnVsbCIpOwogCiBjbGVhcigpOwogbWFpblNlbC5zZWxlY3RB
bGxDaGlsZHJlbihmb3JlaWduRWxlbWVudCwgMSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9SYW5nZS9taXNzaW5nUmFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLjliOWJhYjQxZmRlNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21pc3NpbmdSYW5nZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMCBAQAorQ09OU09MRSBNRVNTQUdFOiBJbnZhbGlkU3RhdGVFcnJvcjogVGhlICdleHRl
bmQnIG1ldGhvZCByZXF1aXJlcyBhIFJhbmdlIG9iamVjdCB0byBiZSBhZGRlZCB0byB0aGUgU2Vs
ZWN0aW9uIG9iamVjdCBiZWZvcmUgY2FsbGluZyB0aGlzIG1ldGhvZC4KK1Rlc3QgZXh0ZW5kIG1l
dGhvZCBmYWlsdXJlIGR1ZSB0byBtaXNzaW5nIHJhbmdlCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitGQUlMIHN1Y2Nlc3NmdWxseVBhcnNlZCBzaG91bGQgYmUgdHJ1ZSAob2YgdHlw
ZSBib29sZWFuKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21pc3NpbmdS
YW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xMThhMTdmNzNhN2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9taXNzaW5nUmFuZ2Uu
aHRtbApAQCAtMCwwICsxLDE3IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAg
PC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZGVzY3Jp
cHRpb24oJ1Rlc3QgZXh0ZW5kIG1ldGhvZCBmYWlsdXJlIGR1ZSB0byBtaXNzaW5nIHJhbmdlJyk7
CisKKyAgICAgICAgICAgIGxldCBkaXYxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdjEpOworCisgICAgICAg
ICAgICBnZXRTZWxlY3Rpb24oKS5leHRlbmQoZGl2MSk7CisKKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTliMThmYjJlNjE4
Li4xY2Q5NTk0MzFmNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0xMC0yNyAg
QnJhbmRvbiBTdGV3YXJ0ICA8YnJhbmRvbnN0ZXdhcnRAYXBwbGUuY29tPgorCisgICAgICAgIFNl
bGVjdGlvbiBleHRlbmQoKSBzaG91bGQgdHJpZ2dlciBleGNlcHRpb24gd2l0aCBubyByYW5nZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQyMAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSAnZXh0
ZW5kJyBtZXRob2QgaW4gdGhlIFNlbGVjdGlvbiBBUEkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlv
biB1cG9uCisgICAgICAgIGJlaW5nIGNhbGxlZCBpZiB0aGVyZSBhcmUgbm8gcmFuZ2VzIHByZXNl
bnQgaW4gdGhlIFNlbGVjdGlvbiBvYmplY3QuCisKKyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3NlbGVjdGlvbi1hcGkvI2RvbS1zZWxlY3Rpb24tZXh0ZW5kCisKKyAgICAgICAgVGVzdDog
ZmFzdC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRE9NU2Vs
ZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlvbjo6ZXh0ZW5kKToKKwog
MjAyMS0xMC0yNCAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgogCiAgICAgICAg
IEZpeCB0eXBvIGluIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnVwZGF0ZVZp
ZGVvVHJhY2tzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNwcAppbmRleCAwOGQ1OTZk
NGViNzIuLjc4NmZmMjhjNTZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01T
ZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNwcApA
QCAtMzM4LDYgKzMzOCwxMCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBET01TZWxlY3Rpb246OmV4dGVu
ZChOb2RlJiBub2RlLCB1bnNpZ25lZCBvZmZzZXQpCiAgICAgYXV0byBmcmFtZSA9IHRoaXMtPmZy
YW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmICh0
aGlzLT5yYW5nZUNvdW50KCkgPCAxKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxp
ZFN0YXRlRXJyb3IsICJUaGUgJ2V4dGVuZCcgbWV0aG9kIHJlcXVpcmVzIGEgUmFuZ2Ugb2JqZWN0
IHRvIGJlIGFkZGVkIHRvIHRoZSBTZWxlY3Rpb24gb2JqZWN0IGJlZm9yZSBjYWxsaW5nIHRoaXMg
bWV0aG9kLiIgfTsKKwogICAgIGlmIChmcmFtZS0+c2V0dGluZ3MoKS5saXZlUmFuZ2VTZWxlY3Rp
b25FbmFibGVkKCkpIHsKICAgICAgICAgaWYgKCFmcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGFpbnMo
bm9kZSkpCiAgICAgICAgICAgICByZXR1cm4geyB9Owo=
</data>
<flag name="commit-queue"
          id="467225"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442710</attachid>
            <date>2021-10-28 08:51:42 -0700</date>
            <delta_ts>2021-10-29 13:22:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>232420_patch3.patch</filename>
            <type>text/plain</type>
            <size>7627</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhMjY1NTA4NzRkNjUuLjk5Y2MxMjRlNWFjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBA
CisyMDIxLTEwLTI4ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2VyIGV4Y2VwdGlvbiB3
aXRoIG5vIHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVmVyaWZ5IHRoZSAnZXh0ZW5kJyBtZXRob2Qgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24g
d2hlbiB0aGUgU2VsZWN0aW9uIG9iamVjdAorICAgICAgICBjb250YWlucyBubyBSYW5nZSBvYmpl
Y3RzLgorCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZl
X3ZhbHVlX2Zvcl9jc3NfcHJvcGVydHkuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21t
YW5kL3RyYW5zcG9zZS1iYWNrc2xhc2gtd2l0aC1ldWMuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5n
L2luc2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sOgorICAgICAgICAqIGVkaXRpbmcv
c2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLmh0bWw6IEFk
ZGVkLgorCiAyMDIxLTEwLTI0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFJFR1JFU1NJT04gKGlPUyAxNSk6IFNhZmFyaSBzaG93cyB6b29tIGNhbGxv
dXQgZXZlbiBpZiAtd2Via2l0LXVzZXItc2VsZWN0IGlzIG5vbmUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvbnVsbF9jYWxjX3ByaW1pdGl2ZV92YWx1ZV9mb3Jf
Y3NzX3Byb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL251bGxf
Y2FsY19wcmltaXRpdmVfdmFsdWVfZm9yX2Nzc19wcm9wZXJ0eS5odG1sCmluZGV4IGI5ODg2OWI2
OGJlMS4uMGNhMmY4YzljNzMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWND
b21tYW5kL251bGxfY2FsY19wcmltaXRpdmVfdmFsdWVfZm9yX2Nzc19wcm9wZXJ0eS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvbnVsbF9jYWxjX3ByaW1pdGl2ZV92
YWx1ZV9mb3JfY3NzX3Byb3BlcnR5Lmh0bWwKQEAgLTksOCArOSwxMSBAQCBpbnMgeyAgLXdlYmtp
dC11c2VyLW1vZGlmeTogcmVhZC13cml0ZS1wbGFpbnRleHQtb25seTsgcGFkZGluZy10b3A6IG1p
bigwLjU2NzgwOAogZnVuY3Rpb24gY3NzUHJpbWl0aXZlVmFsVGVzdCgpIHsKICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotCi0gICAg
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuZXh0ZW5kKHgpOyAKKyAgICBsZXQgcmFuZ2UgPSBuZXcg
UmFuZ2UoKTsKKyAgICByYW5nZS5zZXRTdGFydCh4LCAwKTsKKyAgICByYW5nZS5zZXRFbmQoeCwg
MCk7CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuYWRkUmFuZ2UocmFuZ2UpOworICAgIGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpLmV4dGVuZCh4KTsKICAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiaW5zZXJ0SFRNTCIsIGZhbHNlLCAiVGhlIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5vIGNy
YXNoLiIpOwogfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4
ZWNDb21tYW5kL3RyYW5zcG9zZS1iYWNrc2xhc2gtd2l0aC1ldWMuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvZXhlY0NvbW1hbmQvdHJhbnNwb3NlLWJhY2tzbGFzaC13aXRoLWV1Yy5odG1sCmlu
ZGV4IGEzOGIxZTkxNWYyOC4uNWVlYzRjZjMxOWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2V4ZWNDb21tYW5kL3RyYW5zcG9zZS1iYWNrc2xhc2gtd2l0aC1ldWMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3RyYW5zcG9zZS1iYWNrc2xhc2gtd2l0
aC1ldWMuaHRtbApAQCAtMTAsNiArMTAsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAKIGZ1
bmN0aW9uIHRlc3QoKQogeworICAgIGdldFNlbGVjdGlvbigpLmFkZFJhbmdlKG5ldyBSYW5nZSgp
KTsKICAgICB2YXIgYmFja3NsYXNoRGl2RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJiYWNrc2xhc2giKTsKICAgICBnZXRTZWxlY3Rpb24oKS5leHRlbmQoYmFja3NsYXNoRGl2RWxl
bWVudCwgMSk7CiAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlRyYW5zcG9zZSIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWh0bWwtY3Jhc2gtMDIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1odG1sLWNyYXNoLTAy
Lmh0bWwKaW5kZXggNjZjMzhlMTJkZmMzLi4xNDU4ZjU5NGU3MmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1odG1sLWNyYXNoLTAyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWh0bWwtY3Jhc2gtMDIuaHRtbApA
QCAtMTMsNiArMTMsNyBAQAogICAgIGxldCBpZnJhbWUwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaWZyYW1lJyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUwKTsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFt
ZScpKTsKKyAgICBnZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShuZXcgUmFuZ2UoKSk7CiAgICAgZ2V0
U2VsZWN0aW9uKCkuZXh0ZW5kKGRvY3VtZW50LmJvZHkpOwogICAgIGlmcmFtZTAuY29udGVudERv
Y3VtZW50Lm9udmlzaWJpbGl0eWNoYW5nZSA9ICgpID0+IHsKICAgICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCdJbnNlcnRIVE1MJywgZmFsc2UsICdmb28nKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ET01TZWxlY3Rpb24tY3Jv
c3NpbmctZG9jdW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IGI5OTQ1MTYxNjkwMy4uY2RhNjNhZTg1
MjA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ET01TZWxlY3Rp
b24tY3Jvc3NpbmctZG9jdW1lbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50eHQK
QEAgLTgsNyArOCw3IEBAIFBBU1MgbWFpblNlbC5hbmNob3JOb2RlIGlzIG51bGwKIFBBU1MgZm9y
ZWlnblNlbC5hbmNob3JOb2RlIGlzIG51bGwKIFBBU1MgbWFpblNlbC5hbmNob3JOb2RlIGlzIG51
bGwKIFBBU1MgZm9yZWlnblNlbC5hbmNob3JOb2RlIGlzIG51bGwKLVBBU1MgbWFpblNlbC5hbmNo
b3JOb2RlIGlzIG51bGwKK1BBU1MgbWFpblNlbC5hbmNob3JOb2RlIGlzIG5vdCBudWxsCiBQQVNT
IGZvcmVpZ25TZWwuYW5jaG9yTm9kZSBpcyBudWxsCiBQQVNTIG1haW5TZWwuYW5jaG9yTm9kZSBp
cyBudWxsCiBQQVNTIGZvcmVpZ25TZWwuYW5jaG9yTm9kZSBpcyBudWxsCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ET01TZWxlY3Rpb24tY3Jvc3NpbmctZG9jdW1l
bnQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9z
c2luZy1kb2N1bWVudC5odG1sCmluZGV4IGJhOGEzZGEwNzgwNS4uNGQ1ZDRjNjkwNDE0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ET01TZWxlY3Rpb24tY3Jvc3Np
bmctZG9jdW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ET01T
ZWxlY3Rpb24tY3Jvc3NpbmctZG9jdW1lbnQuaHRtbApAQCAtNDYsOSArNDYsMTAgQEAgc2hvdWxk
QmVOdWxsKCJmb3JlaWduU2VsLmFuY2hvck5vZGUiKTsKIHNob3VsZEJlTnVsbCgibWFpblNlbC5h
bmNob3JOb2RlIik7CiAKIGNsZWFyKCk7CittYWluU2VsLmFkZFJhbmdlKG5ldyBSYW5nZSgpKTsK
IG1haW5TZWwuZXh0ZW5kKGZvcmVpZ25FbGVtZW50LCAxKTsKIHNob3VsZEJlTnVsbCgiZm9yZWln
blNlbC5hbmNob3JOb2RlIik7Ci1zaG91bGRCZU51bGwoIm1haW5TZWwuYW5jaG9yTm9kZSIpOwor
c2hvdWxkTm90QmUoIm1haW5TZWwuYW5jaG9yTm9kZSIsICJudWxsIik7CiAKIGNsZWFyKCk7CiBt
YWluU2VsLnNlbGVjdEFsbENoaWxkcmVuKGZvcmVpZ25FbGVtZW50LCAxKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21pc3NpbmdSYW5nZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9taXNzaW5nUmFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOWI5YmFiNDFmZGU1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvbWlzc2luZ1JhbmdlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitDT05TT0xFIE1FU1NBR0U6IEludmFsaWRTdGF0ZUVy
cm9yOiBUaGUgJ2V4dGVuZCcgbWV0aG9kIHJlcXVpcmVzIGEgUmFuZ2Ugb2JqZWN0IHRvIGJlIGFk
ZGVkIHRvIHRoZSBTZWxlY3Rpb24gb2JqZWN0IGJlZm9yZSBjYWxsaW5nIHRoaXMgbWV0aG9kLgor
VGVzdCBleHRlbmQgbWV0aG9kIGZhaWx1cmUgZHVlIHRvIG1pc3NpbmcgcmFuZ2UKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ZBSUwgc3VjY2Vzc2Z1bGx5UGFyc2VkIHNob3VsZCBi
ZSB0cnVlIChvZiB0eXBlIGJvb2xlYW4pLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5l
ZCkuCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
UmFuZ2UvbWlzc2luZ1JhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9taXNz
aW5nUmFuZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjEx
OGExN2Y3M2E3YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Jhbmdl
L21pc3NpbmdSYW5nZS5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbignVGVzdCBleHRlbmQgbWV0aG9kIGZhaWx1cmUgZHVlIHRvIG1p
c3NpbmcgcmFuZ2UnKTsKKworICAgICAgICAgICAgbGV0IGRpdjEgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2
MSk7CisKKyAgICAgICAgICAgIGdldFNlbGVjdGlvbigpLmV4dGVuZChkaXYxKTsKKworICAgICAg
ICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBlOWIxOGZiMmU2MTguLjQzOTJkZDA0OTIwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDIxLTEwLTI4ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2VyIGV4Y2VwdGlvbiB3
aXRoIG5vIHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlICdleHRlbmQnIG1ldGhvZCBpbiB0aGUgU2VsZWN0aW9uIEFQSSBzaG91bGQgdGhy
b3cgYW4gZXhjZXB0aW9uIHVwb24KKyAgICAgICAgYmVpbmcgY2FsbGVkIGlmIHRoZXJlIGFyZSBu
byByYW5nZXMgcHJlc2VudCBpbiB0aGUgU2VsZWN0aW9uIG9iamVjdC4KKworICAgICAgICBodHRw
czovL3czYy5naXRodWIuaW8vc2VsZWN0aW9uLWFwaS8jZG9tLXNlbGVjdGlvbi1leHRlbmQKKwor
ICAgICAgICBUZXN0OiBmYXN0L2RvbS9SYW5nZS9taXNzaW5nUmFuZ2UuaHRtbAorCisgICAgICAg
ICogcGFnZS9ET01TZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VsZWN0aW9u
OjpleHRlbmQpOgorCiAyMDIxLTEwLTI0ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5j
b20+CiAKICAgICAgICAgRml4IHR5cG8gaW4gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6dXBkYXRlVmlkZW9UcmFja3MoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01TZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3Bw
CmluZGV4IDA4ZDU5NmQ0ZWI3Mi4uNzg2ZmYyOGM1NmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01T
ZWxlY3Rpb24uY3BwCkBAIC0zMzgsNiArMzM4LDEwIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IERPTVNl
bGVjdGlvbjo6ZXh0ZW5kKE5vZGUmIG5vZGUsIHVuc2lnbmVkIG9mZnNldCkKICAgICBhdXRvIGZy
YW1lID0gdGhpcy0+ZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4geyB9
OworCisgICAgaWYgKHRoaXMtPnJhbmdlQ291bnQoKSA8IDEpCisgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIlRoZSAnZXh0ZW5kJyBtZXRob2QgcmVxdWlyZXMg
YSBSYW5nZSBvYmplY3QgdG8gYmUgYWRkZWQgdG8gdGhlIFNlbGVjdGlvbiBvYmplY3QgYmVmb3Jl
IGNhbGxpbmcgdGhpcyBtZXRob2QuIiB9OworCiAgICAgaWYgKGZyYW1lLT5zZXR0aW5ncygpLmxp
dmVSYW5nZVNlbGVjdGlvbkVuYWJsZWQoKSkgewogICAgICAgICBpZiAoIWZyYW1lLT5kb2N1bWVu
dCgpLT5jb250YWlucyhub2RlKSkKICAgICAgICAgICAgIHJldHVybiB7IH07Cg==
</data>
<flag name="review"
          id="467263"
          type_id="1"
          status="-"
          setter="cdumez"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442858</attachid>
            <date>2021-10-29 13:22:26 -0700</date>
            <delta_ts>2021-10-29 14:03:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>232420_patch4.patch</filename>
            <type>text/plain</type>
            <size>7649</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3OWM2YjU2ZmRjNDQuLjZkM2RkNjY2YmNiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDIxLTEwLTI5ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2VyIGV4Y2VwdGlvbiB3
aXRoIG5vIHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVmVyaWZ5IHRoZSAnZXh0ZW5kJyBtZXRob2Qgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24g
d2hlbiB0aGUgU2VsZWN0aW9uIG9iamVjdAorICAgICAgICBjb250YWlucyBubyBSYW5nZSBvYmpl
Y3RzLgorCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZl
X3ZhbHVlX2Zvcl9jc3NfcHJvcGVydHkuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21t
YW5kL3RyYW5zcG9zZS1iYWNrc2xhc2gtd2l0aC1ldWMuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5n
L2luc2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sOgorICAgICAgICAqIGVkaXRpbmcv
c2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50
Lmh0bWw6CisKIDIwMjEtMTAtMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBEaXNhYmxlIE5FVFNDQVBFX1BMVUdJTl9BUEkgYXQgYnVpbGQg
dGltZSBvbiBtYWNPUyBhbmQgV2luZG93cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZlX3ZhbHVlX2Zvcl9jc3NfcHJvcGVydHku
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvbnVsbF9jYWxjX3ByaW1pdGl2
ZV92YWx1ZV9mb3JfY3NzX3Byb3BlcnR5Lmh0bWwKaW5kZXggYjk4ODY5YjY4YmUxLi41ZDg0MGZh
ODNkM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvbnVsbF9j
YWxjX3ByaW1pdGl2ZV92YWx1ZV9mb3JfY3NzX3Byb3BlcnR5Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZlX3ZhbHVlX2Zvcl9jc3Nf
cHJvcGVydHkuaHRtbApAQCAtMTAsNyArMTAsMTIgQEAgZnVuY3Rpb24gY3NzUHJpbWl0aXZlVmFs
VGVzdCgpIHsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwogCi0gICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuZXh0ZW5kKHgpOyAK
KyAgICBsZXQgcmFuZ2UgPSBuZXcgUmFuZ2UoKTsKKyAgICByYW5nZS5zZXRTdGFydCh4LCAwKTsK
KyAgICByYW5nZS5zZXRFbmQoeCwgMCk7CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuYWRk
UmFuZ2UocmFuZ2UpOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLmV4dGVuZCh4KTsKKwog
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJpbnNlcnRIVE1MIiwgZmFsc2UsICJUaGUgdGVzdCBw
YXNzZXMgaWYgdGhlcmUgaXMgbm8gY3Jhc2guIik7CiB9CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvdHJhbnNwb3NlLWJhY2tzbGFzaC13aXRo
LWV1Yy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90cmFuc3Bvc2UtYmFj
a3NsYXNoLXdpdGgtZXVjLmh0bWwKaW5kZXggYTM4YjFlOTE1ZjI4Li41ZWVjNGNmMzE5ZjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvdHJhbnNwb3NlLWJhY2tz
bGFzaC13aXRoLWV1Yy5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQv
dHJhbnNwb3NlLWJhY2tzbGFzaC13aXRoLWV1Yy5odG1sCkBAIC0xMCw2ICsxMCw3IEBAIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gdGVzdCgpCiB7CisgICAgZ2V0U2VsZWN0aW9u
KCkuYWRkUmFuZ2UobmV3IFJhbmdlKCkpOwogICAgIHZhciBiYWNrc2xhc2hEaXZFbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhY2tzbGFzaCIpOwogICAgIGdldFNlbGVjdGlvbigp
LmV4dGVuZChiYWNrc2xhc2hEaXZFbGVtZW50LCAxKTsKICAgICBkb2N1bWVudC5leGVjQ29tbWFu
ZCgiVHJhbnNwb3NlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGlu
Zy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRp
bmcvaW5zZXJ0LWh0bWwtY3Jhc2gtMDIuaHRtbAppbmRleCA2NmMzOGUxMmRmYzMuLjE0NThmNTk0
ZTcyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWh0
bWwtY3Jhc2gtMDIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNl
cnQtaHRtbC1jcmFzaC0wMi5odG1sCkBAIC0xMyw2ICsxMyw3IEBACiAgICAgbGV0IGlmcmFtZTAg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGlmcmFtZTApOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJykpOworICAgIGdldFNlbGVjdGlvbigpLmFkZFJhbmdl
KG5ldyBSYW5nZSgpKTsKICAgICBnZXRTZWxlY3Rpb24oKS5leHRlbmQoZG9jdW1lbnQuYm9keSk7
CiAgICAgaWZyYW1lMC5jb250ZW50RG9jdW1lbnQub252aXNpYmlsaXR5Y2hhbmdlID0gKCkgPT4g
ewogICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydEhUTUwnLCBmYWxzZSwgJ2Zvbycp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9u
LWNyb3NzaW5nLWRvY3VtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50eHQKaW5kZXgg
Yjk5NDUxNjE2OTAzLi5jZGE2M2FlODUyMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5n
LWRvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDcgQEAgUEFTUyBtYWluU2VsLmFuY2hv
ck5vZGUgaXMgbnVsbAogUEFTUyBmb3JlaWduU2VsLmFuY2hvck5vZGUgaXMgbnVsbAogUEFTUyBt
YWluU2VsLmFuY2hvck5vZGUgaXMgbnVsbAogUEFTUyBmb3JlaWduU2VsLmFuY2hvck5vZGUgaXMg
bnVsbAotUEFTUyBtYWluU2VsLmFuY2hvck5vZGUgaXMgbnVsbAorUEFTUyBtYWluU2VsLmFuY2hv
ck5vZGUgaXMgbm90IG51bGwKIFBBU1MgZm9yZWlnblNlbC5hbmNob3JOb2RlIGlzIG51bGwKIFBB
U1MgbWFpblNlbC5hbmNob3JOb2RlIGlzIG51bGwKIFBBU1MgZm9yZWlnblNlbC5hbmNob3JOb2Rl
IGlzIG51bGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL0RPTVNl
bGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50Lmh0bWwKaW5kZXggYmE4YTNkYTA3
ODA1Li40ZDVkNGM2OTA0MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC5odG1sCkBA
IC00Niw5ICs0NiwxMCBAQCBzaG91bGRCZU51bGwoImZvcmVpZ25TZWwuYW5jaG9yTm9kZSIpOwog
c2hvdWxkQmVOdWxsKCJtYWluU2VsLmFuY2hvck5vZGUiKTsKIAogY2xlYXIoKTsKK21haW5TZWwu
YWRkUmFuZ2UobmV3IFJhbmdlKCkpOwogbWFpblNlbC5leHRlbmQoZm9yZWlnbkVsZW1lbnQsIDEp
Owogc2hvdWxkQmVOdWxsKCJmb3JlaWduU2VsLmFuY2hvck5vZGUiKTsKLXNob3VsZEJlTnVsbCgi
bWFpblNlbC5hbmNob3JOb2RlIik7CitzaG91bGROb3RCZSgibWFpblNlbC5hbmNob3JOb2RlIiwg
Im51bGwiKTsKIAogY2xlYXIoKTsKIG1haW5TZWwuc2VsZWN0QWxsQ2hpbGRyZW4oZm9yZWlnbkVs
ZW1lbnQsIDEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQt
ZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAuLmFkYmVhMTk1YTNiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL2V4dGVuZC1leGNlcHRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFNlbGVjdGlvbiBleHRlbmQoKSB0ZXN0
cworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlbGVjdGlvbi9leHRlbmQtZXhjZXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQtZXhjZXB0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kOTdmODA0YWVlYmQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlbGVjdGlvbi9leHRlbmQtZXhjZXB0aW9uLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFk
b2N0eXBlIGh0bWw+Cis8dGl0bGU+U2VsZWN0aW9uIGV4dGVuZCgpIHRlc3RzPC90aXRsZT4KKzxt
ZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPXRpbWVvdXQgY29udGVudD1sb25nPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPWNvbW1vbi5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPWV4dGVuZC5qcz48L3Njcmlw
dD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCit2YXIg
c2VsZWN0aW9uID0gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7Cit2YXIgbm9kZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdsb2cnKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICAvLyBFbnN1
cmUgbm8gcmFuZ2VzIGFyZSBwcmVzZW50CisgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygp
OworCisgICAgYXNzZXJ0X3Rocm93c19kb20oIklOVkFMSURfU1RBVEVfRVJSIiwgZnVuY3Rpb24o
KSB7IHNlbGVjdGlvbi5leHRlbmQobm9kZSkgfSwgIkludmFsaWRTdGF0ZUVycm9yIGV4Y2VwdGlv
biBzaG91bGQgYmUgdGhyb3duIGR1ZSB0byBubyByYW5nZXMgYmVpbmcgYWRkZWQgdG8gU2VsZWN0
aW9uIik7Cit9KTsKKwordGVzdERpdi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggZjNkZTRiODAxM2NjLi5kYTg4Mjk2YmYxNjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAyMS0xMC0yOSAgQnJhbmRvbiBTdGV3YXJ0ICA8YnJhbmRvbnN0ZXdh
cnRAYXBwbGUuY29tPgorCisgICAgICAgIFNlbGVjdGlvbiBleHRlbmQoKSBzaG91bGQgdHJpZ2dl
ciBleGNlcHRpb24gd2l0aCBubyByYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMjQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSAnZXh0ZW5kJyBtZXRob2QgaW4gdGhlIFNlbGVjdGlvbiBB
UEkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiB1cG9uCisgICAgICAgIGJlaW5nIGNhbGxlZCBp
ZiB0aGVyZSBhcmUgbm8gcmFuZ2VzIHByZXNlbnQgaW4gdGhlIFNlbGVjdGlvbiBvYmplY3QuCisK
KyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3NlbGVjdGlvbi1hcGkvI2RvbS1zZWxlY3Rp
b24tZXh0ZW5kCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi5odG1sCisKKyAgICAgICAgKiBwYWdlL0RPTVNl
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01TZWxlY3Rpb246OmV4dGVuZCk6CisK
IDIwMjEtMTAtMjggIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAg
ICAgICAgIElzb2xhdGVkIHRyZWUgbW9kZTogRGlzcGF0Y2ggYWxsIGNhbGxzIHRvIFtXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWVdIGluIFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudCB0byB0aGUgQVggdGhyZWFkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01TZWxlY3Rpb24uY3BwCmluZGV4IDA4ZDU5NmQ0ZWI3Mi4uNmFjMzc0Y2Y1MGJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwCkBAIC0zMzgsNiArMzM4LDEwIEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IERPTVNlbGVjdGlvbjo6ZXh0ZW5kKE5vZGUmIG5vZGUsIHVuc2lnbmVkIG9m
ZnNldCkKICAgICBhdXRvIGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQog
ICAgICAgICByZXR1cm4geyB9OworICAgIAorICAgIGlmICh0aGlzLT5yYW5nZUNvdW50KCkgPCAx
KQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJUaGUgJ2V4
dGVuZCcgbWV0aG9kIHJlcXVpcmVzIGEgUmFuZ2Ugb2JqZWN0IHRvIGJlIGFkZGVkIHRvIHRoZSBT
ZWxlY3Rpb24gb2JqZWN0IGJlZm9yZSBjYWxsaW5nIHRoaXMgbWV0aG9kLiIgfTsKKwogICAgIGlm
IChmcmFtZS0+c2V0dGluZ3MoKS5saXZlUmFuZ2VTZWxlY3Rpb25FbmFibGVkKCkpIHsKICAgICAg
ICAgaWYgKCFmcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGFpbnMobm9kZSkpCiAgICAgICAgICAgICBy
ZXR1cm4geyB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442859</attachid>
            <date>2021-10-29 14:03:46 -0700</date>
            <delta_ts>2021-10-29 15:55:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>232420_patch5.patch</filename>
            <type>text/plain</type>
            <size>8588</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3OWM2YjU2ZmRjNDQuLjllNTA5ZmQyYTNhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDIxLTEwLTI5ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2VyIGV4Y2VwdGlvbiB3
aXRoIG5vIHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVzb2x2ZSBlcnJvcnMgaW4gdGVzdCBjYXNlcyBpbnRyb2R1Y2VkIGJ5IG5ldyBleGNl
cHRpb24gYmVpbmcgdGhyb3duIGJ5IGV4dGVuZCgpCisgICAgICAgIHdoZW4gbm8gcmFuZ2VzIGFy
ZSBwcmVzZW50LgorCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJp
bWl0aXZlX3ZhbHVlX2Zvcl9jc3NfcHJvcGVydHkuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL2V4
ZWNDb21tYW5kL3RyYW5zcG9zZS1iYWNrc2xhc2gtd2l0aC1ldWMuaHRtbDoKKyAgICAgICAgKiBl
ZGl0aW5nL2luc2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sOgorICAgICAgICAqIGVk
aXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRv
Y3VtZW50Lmh0bWw6CisKIDIwMjEtMTAtMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBEaXNhYmxlIE5FVFNDQVBFX1BMVUdJTl9BUEkgYXQg
YnVpbGQgdGltZSBvbiBtYWNPUyBhbmQgV2luZG93cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZlX3ZhbHVlX2Zvcl9jc3NfcHJv
cGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvbnVsbF9jYWxjX3By
aW1pdGl2ZV92YWx1ZV9mb3JfY3NzX3Byb3BlcnR5Lmh0bWwKaW5kZXggYjk4ODY5YjY4YmUxLi41
ZDg0MGZhODNkM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQv
bnVsbF9jYWxjX3ByaW1pdGl2ZV92YWx1ZV9mb3JfY3NzX3Byb3BlcnR5Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZlX3ZhbHVlX2Zv
cl9jc3NfcHJvcGVydHkuaHRtbApAQCAtMTAsNyArMTAsMTIgQEAgZnVuY3Rpb24gY3NzUHJpbWl0
aXZlVmFsVGVzdCgpIHsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogCi0gICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuZXh0ZW5k
KHgpOyAKKyAgICBsZXQgcmFuZ2UgPSBuZXcgUmFuZ2UoKTsKKyAgICByYW5nZS5zZXRTdGFydCh4
LCAwKTsKKyAgICByYW5nZS5zZXRFbmQoeCwgMCk7CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCkuYWRkUmFuZ2UocmFuZ2UpOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLmV4dGVuZCh4
KTsKKwogICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJpbnNlcnRIVE1MIiwgZmFsc2UsICJUaGUg
dGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8gY3Jhc2guIik7CiB9CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvdHJhbnNwb3NlLWJhY2tzbGFz
aC13aXRoLWV1Yy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90cmFuc3Bv
c2UtYmFja3NsYXNoLXdpdGgtZXVjLmh0bWwKaW5kZXggYTM4YjFlOTE1ZjI4Li41ZWVjNGNmMzE5
ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvdHJhbnNwb3Nl
LWJhY2tzbGFzaC13aXRoLWV1Yy5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0Nv
bW1hbmQvdHJhbnNwb3NlLWJhY2tzbGFzaC13aXRoLWV1Yy5odG1sCkBAIC0xMCw2ICsxMCw3IEBA
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gdGVzdCgpCiB7CisgICAgZ2V0U2Vs
ZWN0aW9uKCkuYWRkUmFuZ2UobmV3IFJhbmdlKCkpOwogICAgIHZhciBiYWNrc2xhc2hEaXZFbGVt
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhY2tzbGFzaCIpOwogICAgIGdldFNlbGVj
dGlvbigpLmV4dGVuZChiYWNrc2xhc2hEaXZFbGVtZW50LCAxKTsKICAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiVHJhbnNwb3NlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lu
c2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9p
bnNlcnRpbmcvaW5zZXJ0LWh0bWwtY3Jhc2gtMDIuaHRtbAppbmRleCA2NmMzOGUxMmRmYzMuLjE0
NThmNTk0ZTcyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5z
ZXJ0LWh0bWwtY3Jhc2gtMDIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGlu
Zy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sCkBAIC0xMyw2ICsxMyw3IEBACiAgICAgbGV0IGlm
cmFtZTAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKICAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGlmcmFtZTApOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJykpOworICAgIGdldFNlbGVjdGlvbigpLmFk
ZFJhbmdlKG5ldyBSYW5nZSgpKTsKICAgICBnZXRTZWxlY3Rpb24oKS5leHRlbmQoZG9jdW1lbnQu
Ym9keSk7CiAgICAgaWZyYW1lMC5jb250ZW50RG9jdW1lbnQub252aXNpYmlsaXR5Y2hhbmdlID0g
KCkgPT4gewogICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydEhUTUwnLCBmYWxzZSwg
J2ZvbycpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vRE9NU2Vs
ZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50eHQK
aW5kZXggYjk5NDUxNjE2OTAzLi5jZGE2M2FlODUyMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNy
b3NzaW5nLWRvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDcgQEAgUEFTUyBtYWluU2Vs
LmFuY2hvck5vZGUgaXMgbnVsbAogUEFTUyBmb3JlaWduU2VsLmFuY2hvck5vZGUgaXMgbnVsbAog
UEFTUyBtYWluU2VsLmFuY2hvck5vZGUgaXMgbnVsbAogUEFTUyBmb3JlaWduU2VsLmFuY2hvck5v
ZGUgaXMgbnVsbAotUEFTUyBtYWluU2VsLmFuY2hvck5vZGUgaXMgbnVsbAorUEFTUyBtYWluU2Vs
LmFuY2hvck5vZGUgaXMgbm90IG51bGwKIFBBU1MgZm9yZWlnblNlbC5hbmNob3JOb2RlIGlzIG51
bGwKIFBBU1MgbWFpblNlbC5hbmNob3JOb2RlIGlzIG51bGwKIFBBU1MgZm9yZWlnblNlbC5hbmNo
b3JOb2RlIGlzIG51bGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50Lmh0bWwKaW5kZXggYmE4
YTNkYTA3ODA1Li40ZDVkNGM2OTA0MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC5o
dG1sCkBAIC00Niw5ICs0NiwxMCBAQCBzaG91bGRCZU51bGwoImZvcmVpZ25TZWwuYW5jaG9yTm9k
ZSIpOwogc2hvdWxkQmVOdWxsKCJtYWluU2VsLmFuY2hvck5vZGUiKTsKIAogY2xlYXIoKTsKK21h
aW5TZWwuYWRkUmFuZ2UobmV3IFJhbmdlKCkpOwogbWFpblNlbC5leHRlbmQoZm9yZWlnbkVsZW1l
bnQsIDEpOwogc2hvdWxkQmVOdWxsKCJmb3JlaWduU2VsLmFuY2hvck5vZGUiKTsKLXNob3VsZEJl
TnVsbCgibWFpblNlbC5hbmNob3JOb2RlIik7CitzaG91bGROb3RCZSgibWFpblNlbC5hbmNob3JO
b2RlIiwgIm51bGwiKTsKIAogY2xlYXIoKTsKIG1haW5TZWwuc2VsZWN0QWxsQ2hpbGRyZW4oZm9y
ZWlnbkVsZW1lbnQsIDEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNzFhY2Zl
YWQ1MzE5Li4xMGZhZjc5ODY0NzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDIxLTEwLTI5ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2Fy
dEBhcHBsZS5jb20+CisKKyAgICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2Vy
IGV4Y2VwdGlvbiB3aXRoIG5vIHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVmVyaWZ5IHRoZSAnZXh0ZW5kJyBtZXRob2Qgd2lsbCB0aHJvdyBh
biBleGNlcHRpb24gd2hlbiB0aGUgU2VsZWN0aW9uIG9iamVjdAorICAgICAgICBjb250YWlucyBu
byBSYW5nZSBvYmplY3RzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlv
bi9leHRlbmQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQtZXhjZXB0aW9uLmh0bWw6IEFkZGVkLgorCiAy
MDIxLTEwLTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW1w
b3J0IHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWItbG9ja3MgQVBJIHRlc3RzIGZyb20gdXBzdHJlYW0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VsZWN0aW9uL2V4dGVuZC1leGNlcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yMjMw
ZjljNjI1MzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24gaXMgdGhy
b3duIGZvciBleHRlbmQoKSB3aGVuIG5vIHJhbmdlcyBhcmUgcHJlc2VudCBpbiBTZWxlY3Rpb24K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYmM2MmYzODdmZjFkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhZG9j
dHlwZSBodG1sPgorPHRpdGxlPlNlbGVjdGlvbiBleHRlbmQoKSB0ZXN0IHRocm93biBleGNlcHRp
b25zPC90aXRsZT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8bWV0YSBuYW1lPXRpbWVvdXQgY29u
dGVudD1sb25nPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKK3Rlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgbGV0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKKworICAgIGFzc2VydF90aHJvd3NfZG9tKCJJTlZBTElE
X1NUQVRFX0VSUiIsIGZ1bmN0aW9uKCkgeyBnZXRTZWxlY3Rpb24oKS5leHRlbmQoZGl2KSB9LCAi
SW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24gZm9yIGV4dGVuZCgp
IGR1ZSB0byBubyByYW5nZXMgYmVpbmcgYWRkZWQgdG8gU2VsZWN0aW9uIik7CisKKyAgICB0aGlz
LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBkaXYucmVtb3ZlKCkgfSk7Cit9LCAiSW52YWxpZFN0
YXRlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biBmb3IgZXh0ZW5kKCkgd2hlbiBubyByYW5nZXMg
YXJlIHByZXNlbnQgaW4gU2VsZWN0aW9uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNkZTRiODAxM2NjLi5k
YTg4Mjk2YmYxNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0xMC0yOSAgQnJh
bmRvbiBTdGV3YXJ0ICA8YnJhbmRvbnN0ZXdhcnRAYXBwbGUuY29tPgorCisgICAgICAgIFNlbGVj
dGlvbiBleHRlbmQoKSBzaG91bGQgdHJpZ2dlciBleGNlcHRpb24gd2l0aCBubyByYW5nZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQyMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSAnZXh0ZW5k
JyBtZXRob2QgaW4gdGhlIFNlbGVjdGlvbiBBUEkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiB1
cG9uCisgICAgICAgIGJlaW5nIGNhbGxlZCBpZiB0aGVyZSBhcmUgbm8gcmFuZ2VzIHByZXNlbnQg
aW4gdGhlIFNlbGVjdGlvbiBvYmplY3QuCisKKyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3NlbGVjdGlvbi1hcGkvI2RvbS1zZWxlY3Rpb24tZXh0ZW5kCisKKyAgICAgICAgVGVzdDogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi5o
dG1sCisKKyAgICAgICAgKiBwYWdlL0RPTVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpET01TZWxlY3Rpb246OmV4dGVuZCk6CisKIDIwMjEtMTAtMjggIEFuZHJlcyBHb256YWxleiAg
PGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIElzb2xhdGVkIHRyZWUgbW9kZTogRGlz
cGF0Y2ggYWxsIGNhbGxzIHRvIFtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3Np
YmlsaXR5QXR0cmlidXRlVmFsdWVdIGluIFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudCB0byB0
aGUgQVggdGhyZWFkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwCmluZGV4IDA4ZDU5
NmQ0ZWI3Mi4uNmFjMzc0Y2Y1MGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3Bw
CkBAIC0zMzgsNiArMzM4LDEwIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IERPTVNlbGVjdGlvbjo6ZXh0
ZW5kKE5vZGUmIG5vZGUsIHVuc2lnbmVkIG9mZnNldCkKICAgICBhdXRvIGZyYW1lID0gdGhpcy0+
ZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4geyB9OworICAgIAorICAg
IGlmICh0aGlzLT5yYW5nZUNvdW50KCkgPCAxKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
SW52YWxpZFN0YXRlRXJyb3IsICJUaGUgJ2V4dGVuZCcgbWV0aG9kIHJlcXVpcmVzIGEgUmFuZ2Ug
b2JqZWN0IHRvIGJlIGFkZGVkIHRvIHRoZSBTZWxlY3Rpb24gb2JqZWN0IGJlZm9yZSBjYWxsaW5n
IHRoaXMgbWV0aG9kLiIgfTsKKwogICAgIGlmIChmcmFtZS0+c2V0dGluZ3MoKS5saXZlUmFuZ2VT
ZWxlY3Rpb25FbmFibGVkKCkpIHsKICAgICAgICAgaWYgKCFmcmFtZS0+ZG9jdW1lbnQoKS0+Y29u
dGFpbnMobm9kZSkpCiAgICAgICAgICAgICByZXR1cm4geyB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442862</attachid>
            <date>2021-10-29 14:19:13 -0700</date>
            <delta_ts>2021-10-29 15:55:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>232420_patch6.patch</filename>
            <type>text/plain</type>
            <size>8596</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3OWM2YjU2ZmRjNDQuLjllNTA5ZmQyYTNhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDIxLTEwLTI5ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2VyIGV4Y2VwdGlvbiB3
aXRoIG5vIHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVzb2x2ZSBlcnJvcnMgaW4gdGVzdCBjYXNlcyBpbnRyb2R1Y2VkIGJ5IG5ldyBleGNl
cHRpb24gYmVpbmcgdGhyb3duIGJ5IGV4dGVuZCgpCisgICAgICAgIHdoZW4gbm8gcmFuZ2VzIGFy
ZSBwcmVzZW50LgorCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJp
bWl0aXZlX3ZhbHVlX2Zvcl9jc3NfcHJvcGVydHkuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL2V4
ZWNDb21tYW5kL3RyYW5zcG9zZS1iYWNrc2xhc2gtd2l0aC1ldWMuaHRtbDoKKyAgICAgICAgKiBl
ZGl0aW5nL2luc2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sOgorICAgICAgICAqIGVk
aXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRv
Y3VtZW50Lmh0bWw6CisKIDIwMjEtMTAtMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBEaXNhYmxlIE5FVFNDQVBFX1BMVUdJTl9BUEkgYXQg
YnVpbGQgdGltZSBvbiBtYWNPUyBhbmQgV2luZG93cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZlX3ZhbHVlX2Zvcl9jc3NfcHJv
cGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvbnVsbF9jYWxjX3By
aW1pdGl2ZV92YWx1ZV9mb3JfY3NzX3Byb3BlcnR5Lmh0bWwKaW5kZXggYjk4ODY5YjY4YmUxLi41
ZDg0MGZhODNkM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQv
bnVsbF9jYWxjX3ByaW1pdGl2ZV92YWx1ZV9mb3JfY3NzX3Byb3BlcnR5Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZlX3ZhbHVlX2Zv
cl9jc3NfcHJvcGVydHkuaHRtbApAQCAtMTAsNyArMTAsMTIgQEAgZnVuY3Rpb24gY3NzUHJpbWl0
aXZlVmFsVGVzdCgpIHsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogCi0gICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuZXh0ZW5k
KHgpOyAKKyAgICBsZXQgcmFuZ2UgPSBuZXcgUmFuZ2UoKTsKKyAgICByYW5nZS5zZXRTdGFydCh4
LCAwKTsKKyAgICByYW5nZS5zZXRFbmQoeCwgMCk7CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCkuYWRkUmFuZ2UocmFuZ2UpOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLmV4dGVuZCh4
KTsKKwogICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJpbnNlcnRIVE1MIiwgZmFsc2UsICJUaGUg
dGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8gY3Jhc2guIik7CiB9CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvdHJhbnNwb3NlLWJhY2tzbGFz
aC13aXRoLWV1Yy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90cmFuc3Bv
c2UtYmFja3NsYXNoLXdpdGgtZXVjLmh0bWwKaW5kZXggYTM4YjFlOTE1ZjI4Li41ZWVjNGNmMzE5
ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvdHJhbnNwb3Nl
LWJhY2tzbGFzaC13aXRoLWV1Yy5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0Nv
bW1hbmQvdHJhbnNwb3NlLWJhY2tzbGFzaC13aXRoLWV1Yy5odG1sCkBAIC0xMCw2ICsxMCw3IEBA
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAogZnVuY3Rpb24gdGVzdCgpCiB7CisgICAgZ2V0U2Vs
ZWN0aW9uKCkuYWRkUmFuZ2UobmV3IFJhbmdlKCkpOwogICAgIHZhciBiYWNrc2xhc2hEaXZFbGVt
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhY2tzbGFzaCIpOwogICAgIGdldFNlbGVj
dGlvbigpLmV4dGVuZChiYWNrc2xhc2hEaXZFbGVtZW50LCAxKTsKICAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgiVHJhbnNwb3NlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lu
c2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9p
bnNlcnRpbmcvaW5zZXJ0LWh0bWwtY3Jhc2gtMDIuaHRtbAppbmRleCA2NmMzOGUxMmRmYzMuLjE0
NThmNTk0ZTcyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5z
ZXJ0LWh0bWwtY3Jhc2gtMDIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGlu
Zy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sCkBAIC0xMyw2ICsxMyw3IEBACiAgICAgbGV0IGlm
cmFtZTAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKICAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGlmcmFtZTApOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJykpOworICAgIGdldFNlbGVjdGlvbigpLmFk
ZFJhbmdlKG5ldyBSYW5nZSgpKTsKICAgICBnZXRTZWxlY3Rpb24oKS5leHRlbmQoZG9jdW1lbnQu
Ym9keSk7CiAgICAgaWZyYW1lMC5jb250ZW50RG9jdW1lbnQub252aXNpYmlsaXR5Y2hhbmdlID0g
KCkgPT4gewogICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydEhUTUwnLCBmYWxzZSwg
J2ZvbycpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vRE9NU2Vs
ZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50eHQK
aW5kZXggYjk5NDUxNjE2OTAzLi5jZGE2M2FlODUyMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNy
b3NzaW5nLWRvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDcgQEAgUEFTUyBtYWluU2Vs
LmFuY2hvck5vZGUgaXMgbnVsbAogUEFTUyBmb3JlaWduU2VsLmFuY2hvck5vZGUgaXMgbnVsbAog
UEFTUyBtYWluU2VsLmFuY2hvck5vZGUgaXMgbnVsbAogUEFTUyBmb3JlaWduU2VsLmFuY2hvck5v
ZGUgaXMgbnVsbAotUEFTUyBtYWluU2VsLmFuY2hvck5vZGUgaXMgbnVsbAorUEFTUyBtYWluU2Vs
LmFuY2hvck5vZGUgaXMgbm90IG51bGwKIFBBU1MgZm9yZWlnblNlbC5hbmNob3JOb2RlIGlzIG51
bGwKIFBBU1MgbWFpblNlbC5hbmNob3JOb2RlIGlzIG51bGwKIFBBU1MgZm9yZWlnblNlbC5hbmNo
b3JOb2RlIGlzIG51bGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRvY3VtZW50Lmh0bWwKaW5kZXggYmE4
YTNkYTA3ODA1Li40ZDVkNGM2OTA0MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC5o
dG1sCkBAIC00Niw5ICs0NiwxMCBAQCBzaG91bGRCZU51bGwoImZvcmVpZ25TZWwuYW5jaG9yTm9k
ZSIpOwogc2hvdWxkQmVOdWxsKCJtYWluU2VsLmFuY2hvck5vZGUiKTsKIAogY2xlYXIoKTsKK21h
aW5TZWwuYWRkUmFuZ2UobmV3IFJhbmdlKCkpOwogbWFpblNlbC5leHRlbmQoZm9yZWlnbkVsZW1l
bnQsIDEpOwogc2hvdWxkQmVOdWxsKCJmb3JlaWduU2VsLmFuY2hvck5vZGUiKTsKLXNob3VsZEJl
TnVsbCgibWFpblNlbC5hbmNob3JOb2RlIik7CitzaG91bGROb3RCZSgibWFpblNlbC5hbmNob3JO
b2RlIiwgIm51bGwiKTsKIAogY2xlYXIoKTsKIG1haW5TZWwuc2VsZWN0QWxsQ2hpbGRyZW4oZm9y
ZWlnbkVsZW1lbnQsIDEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNzFhY2Zl
YWQ1MzE5Li4xMGZhZjc5ODY0NzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDIxLTEwLTI5ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2Fy
dEBhcHBsZS5jb20+CisKKyAgICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2Vy
IGV4Y2VwdGlvbiB3aXRoIG5vIHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVmVyaWZ5IHRoZSAnZXh0ZW5kJyBtZXRob2Qgd2lsbCB0aHJvdyBh
biBleGNlcHRpb24gd2hlbiB0aGUgU2VsZWN0aW9uIG9iamVjdAorICAgICAgICBjb250YWlucyBu
byBSYW5nZSBvYmplY3RzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlv
bi9leHRlbmQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQtZXhjZXB0aW9uLmh0bWw6IEFkZGVkLgorCiAy
MDIxLTEwLTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSW1w
b3J0IHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWItbG9ja3MgQVBJIHRlc3RzIGZyb20gdXBzdHJlYW0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VsZWN0aW9uL2V4dGVuZC1leGNlcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yMjMw
ZjljNjI1MzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDMgQEAKKworUEFTUyBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24gaXMgdGhy
b3duIGZvciBleHRlbmQoKSB3aGVuIG5vIHJhbmdlcyBhcmUgcHJlc2VudCBpbiBTZWxlY3Rpb24K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOWQxYzI1YzZlMDQ2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhZG9j
dHlwZSBodG1sPgorPGh0bWw+Cis8dGl0bGU+U2VsZWN0aW9uIGV4dGVuZCgpIHRlc3QgdGhyb3du
IGV4Y2VwdGlvbnM8L3RpdGxlPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzxtZXRhIG5hbWU9dGlt
ZW91dCBjb250ZW50PWxvbmc+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgICBsZXQgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOworCisgICAgYXNzZXJ0X3Rocm93c19kb20o
IklOVkFMSURfU1RBVEVfRVJSIiwgZnVuY3Rpb24oKSB7IGdldFNlbGVjdGlvbigpLmV4dGVuZChk
aXYpIH0sICJJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24gc2hvdWxkIGJlIHRocm93biBmb3Ig
ZXh0ZW5kKCkgZHVlIHRvIG5vIHJhbmdlcyBiZWluZyBhZGRlZCB0byBTZWxlY3Rpb24iKTsKKwor
ICAgIHRoaXMuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IGRpdi5yZW1vdmUoKSB9KTsKK30sICJJ
bnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGZvciBleHRlbmQoKSB3aGVuIG5v
IHJhbmdlcyBhcmUgcHJlc2VudCBpbiBTZWxlY3Rpb24iKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmM2RlNGI4
MDEzY2MuLmRhODgyOTZiZjE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTEw
LTI5ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CisKKyAgICAg
ICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2VyIGV4Y2VwdGlvbiB3aXRoIG5vIHJh
bmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMy
NDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
ICdleHRlbmQnIG1ldGhvZCBpbiB0aGUgU2VsZWN0aW9uIEFQSSBzaG91bGQgdGhyb3cgYW4gZXhj
ZXB0aW9uIHVwb24KKyAgICAgICAgYmVpbmcgY2FsbGVkIGlmIHRoZXJlIGFyZSBubyByYW5nZXMg
cHJlc2VudCBpbiB0aGUgU2VsZWN0aW9uIG9iamVjdC4KKworICAgICAgICBodHRwczovL3czYy5n
aXRodWIuaW8vc2VsZWN0aW9uLWFwaS8jZG9tLXNlbGVjdGlvbi1leHRlbmQKKworICAgICAgICBU
ZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQtZXhj
ZXB0aW9uLmh0bWwKKworICAgICAgICAqIHBhZ2UvRE9NU2VsZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVNlbGVjdGlvbjo6ZXh0ZW5kKToKKwogMjAyMS0xMC0yOCAgQW5kcmVzIEdv
bnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAgSXNvbGF0ZWQgdHJlZSBt
b2RlOiBEaXNwYXRjaCBhbGwgY2FsbHMgdG8gW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZV0gaW4gV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50IHRvIHRoZSBBWCB0aHJlYWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKaW5k
ZXggMDhkNTk2ZDRlYjcyLi42YWMzNzRjZjUwYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVj
dGlvbi5jcHAKQEAgLTMzOCw2ICszMzgsMTAgQEAgRXhjZXB0aW9uT3I8dm9pZD4gRE9NU2VsZWN0
aW9uOjpleHRlbmQoTm9kZSYgbm9kZSwgdW5zaWduZWQgb2Zmc2V0KQogICAgIGF1dG8gZnJhbWUg
PSB0aGlzLT5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiB7IH07Cisg
ICAgCisgICAgaWYgKHRoaXMtPnJhbmdlQ291bnQoKSA8IDEpCisgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIlRoZSAnZXh0ZW5kJyBtZXRob2QgcmVxdWlyZXMg
YSBSYW5nZSBvYmplY3QgdG8gYmUgYWRkZWQgdG8gdGhlIFNlbGVjdGlvbiBvYmplY3QgYmVmb3Jl
IGNhbGxpbmcgdGhpcyBtZXRob2QuIiB9OworCiAgICAgaWYgKGZyYW1lLT5zZXR0aW5ncygpLmxp
dmVSYW5nZVNlbGVjdGlvbkVuYWJsZWQoKSkgewogICAgICAgICBpZiAoIWZyYW1lLT5kb2N1bWVu
dCgpLT5jb250YWlucyhub2RlKSkKICAgICAgICAgICAgIHJldHVybiB7IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442877</attachid>
            <date>2021-10-29 15:55:53 -0700</date>
            <delta_ts>2021-10-30 15:58:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>232420_patch7.patch</filename>
            <type>text/plain</type>
            <size>8568</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3OWM2YjU2ZmRjNDQuLjllNTA5ZmQyYTNhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDIxLTEwLTI5ICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgU2VsZWN0aW9uIGV4dGVuZCgpIHNob3VsZCB0cmlnZ2VyIGV4Y2VwdGlvbiB3
aXRoIG5vIHJhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVzb2x2ZSBlcnJvcnMgaW4gdGVzdCBjYXNlcyBpbnRyb2R1Y2VkIGJ5IG5ldyBleGNl
cHRpb24gYmVpbmcgdGhyb3duIGJ5IGV4dGVuZCgpCisgICAgICAgIHdoZW4gbm8gcmFuZ2VzIGFy
ZSBwcmVzZW50LgorCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJp
bWl0aXZlX3ZhbHVlX2Zvcl9jc3NfcHJvcGVydHkuaHRtbDoKKyAgICAgICAgKiBlZGl0aW5nL2V4
ZWNDb21tYW5kL3RyYW5zcG9zZS1iYWNrc2xhc2gtd2l0aC1ldWMuaHRtbDoKKyAgICAgICAgKiBl
ZGl0aW5nL2luc2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0wMi5odG1sOgorICAgICAgICAqIGVk
aXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vRE9NU2VsZWN0aW9uLWNyb3NzaW5nLWRv
Y3VtZW50Lmh0bWw6CisKIDIwMjEtMTAtMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBEaXNhYmxlIE5FVFNDQVBFX1BMVUdJTl9BUEkgYXQg
YnVpbGQgdGltZSBvbiBtYWNPUyBhbmQgV2luZG93cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZlX3ZhbHVlX2Zvcl9jc3NfcHJv
cGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvbnVsbF9jYWxjX3By
aW1pdGl2ZV92YWx1ZV9mb3JfY3NzX3Byb3BlcnR5Lmh0bWwKaW5kZXggYjk4ODY5YjY4YmUxLi5m
MzA1M2M4MTEyMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQv
bnVsbF9jYWxjX3ByaW1pdGl2ZV92YWx1ZV9mb3JfY3NzX3Byb3BlcnR5Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9udWxsX2NhbGNfcHJpbWl0aXZlX3ZhbHVlX2Zv
cl9jc3NfcHJvcGVydHkuaHRtbApAQCAtMTAsNyArMTAsOSBAQCBmdW5jdGlvbiBjc3NQcmltaXRp
dmVWYWxUZXN0KCkgewogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiAKLSAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5leHRlbmQo
eCk7IAorICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLmNvbGxhcHNlKHgsIDApOworICAgIGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpLmV4dGVuZCh4KTsKKwogICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCJpbnNlcnRIVE1MIiwgZmFsc2UsICJUaGUgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8g
Y3Jhc2guIik7CiB9CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
ZXhlY0NvbW1hbmQvdHJhbnNwb3NlLWJhY2tzbGFzaC13aXRoLWV1Yy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9leGVjQ29tbWFuZC90cmFuc3Bvc2UtYmFja3NsYXNoLXdpdGgtZXVjLmh0bWwK
aW5kZXggYTM4YjFlOTE1ZjI4Li4wOWJjYjhhNDM3MWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvZXhlY0NvbW1hbmQvdHJhbnNwb3NlLWJhY2tzbGFzaC13aXRoLWV1Yy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvdHJhbnNwb3NlLWJhY2tzbGFzaC13
aXRoLWV1Yy5odG1sCkBAIC0xMSw2ICsxMSw3IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKIGZ1
bmN0aW9uIHRlc3QoKQogewogICAgIHZhciBiYWNrc2xhc2hEaXZFbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImJhY2tzbGFzaCIpOworICAgIGdldFNlbGVjdGlvbigpLmNvbGxhcHNl
KGJhY2tzbGFzaERpdkVsZW1lbnQsIDApOwogICAgIGdldFNlbGVjdGlvbigpLmV4dGVuZChiYWNr
c2xhc2hEaXZFbGVtZW50LCAxKTsKICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiVHJhbnNwb3Nl
Iik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1o
dG1sLWNyYXNoLTAyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQt
aHRtbC1jcmFzaC0wMi5odG1sCmluZGV4IDY2YzM4ZTEyZGZjMy4uMmIzYThhZDQwYzc3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2luc2VydGluZy9pbnNlcnQtaHRtbC1jcmFzaC0w
Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1odG1sLWNy
YXNoLTAyLmh0bWwKQEAgLTEzLDYgKzEzLDcgQEAKICAgICBsZXQgaWZyYW1lMCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
aWZyYW1lMCk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpZnJhbWUnKSk7CisgICAgZ2V0U2VsZWN0aW9uKCkuY29sbGFwc2UoZG9jdW1lbnQu
Ym9keSwgMCk7CiAgICAgZ2V0U2VsZWN0aW9uKCkuZXh0ZW5kKGRvY3VtZW50LmJvZHkpOwogICAg
IGlmcmFtZTAuY29udGVudERvY3VtZW50Lm9udmlzaWJpbGl0eWNoYW5nZSA9ICgpID0+IHsKICAg
ICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRIVE1MJywgZmFsc2UsICdmb28nKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9z
c2luZy1kb2N1bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9ET01TZWxlY3Rpb24tY3Jvc3NpbmctZG9jdW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IGI5OTQ1
MTYxNjkwMy4uY2RhNjNhZTg1MjA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9ET01TZWxlY3Rpb24tY3Jvc3NpbmctZG9jdW1lbnQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1
bWVudC1leHBlY3RlZC50eHQKQEAgLTgsNyArOCw3IEBAIFBBU1MgbWFpblNlbC5hbmNob3JOb2Rl
IGlzIG51bGwKIFBBU1MgZm9yZWlnblNlbC5hbmNob3JOb2RlIGlzIG51bGwKIFBBU1MgbWFpblNl
bC5hbmNob3JOb2RlIGlzIG51bGwKIFBBU1MgZm9yZWlnblNlbC5hbmNob3JOb2RlIGlzIG51bGwK
LVBBU1MgbWFpblNlbC5hbmNob3JOb2RlIGlzIG51bGwKK1BBU1MgbWFpblNlbC5hbmNob3JOb2Rl
IGlzIG5vdCBudWxsCiBQQVNTIGZvcmVpZ25TZWwuYW5jaG9yTm9kZSBpcyBudWxsCiBQQVNTIG1h
aW5TZWwuYW5jaG9yTm9kZSBpcyBudWxsCiBQQVNTIGZvcmVpZ25TZWwuYW5jaG9yTm9kZSBpcyBu
dWxsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9ET01TZWxlY3Rp
b24tY3Jvc3NpbmctZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L0RPTVNlbGVjdGlvbi1jcm9zc2luZy1kb2N1bWVudC5odG1sCmluZGV4IGJhOGEzZGEwNzgwNS4u
NGQ1ZDRjNjkwNDE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9E
T01TZWxlY3Rpb24tY3Jvc3NpbmctZG9jdW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9ET01TZWxlY3Rpb24tY3Jvc3NpbmctZG9jdW1lbnQuaHRtbApAQCAtNDYs
OSArNDYsMTAgQEAgc2hvdWxkQmVOdWxsKCJmb3JlaWduU2VsLmFuY2hvck5vZGUiKTsKIHNob3Vs
ZEJlTnVsbCgibWFpblNlbC5hbmNob3JOb2RlIik7CiAKIGNsZWFyKCk7CittYWluU2VsLmFkZFJh
bmdlKG5ldyBSYW5nZSgpKTsKIG1haW5TZWwuZXh0ZW5kKGZvcmVpZ25FbGVtZW50LCAxKTsKIHNo
b3VsZEJlTnVsbCgiZm9yZWlnblNlbC5hbmNob3JOb2RlIik7Ci1zaG91bGRCZU51bGwoIm1haW5T
ZWwuYW5jaG9yTm9kZSIpOworc2hvdWxkTm90QmUoIm1haW5TZWwuYW5jaG9yTm9kZSIsICJudWxs
Iik7CiAKIGNsZWFyKCk7CiBtYWluU2VsLnNlbGVjdEFsbENoaWxkcmVuKGZvcmVpZ25FbGVtZW50
LCAxKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDcxYWNmZWFkNTMxOS4uNWI3
NjQxY2VkYzc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAyMS0xMC0yOSAgQnJhbmRvbiBTdGV3YXJ0ICA8YnJhbmRvbnN0ZXdhcnRAYXBwbGUuY29t
PgorCisgICAgICAgIFNlbGVjdGlvbiBleHRlbmQoKSBzaG91bGQgdHJpZ2dlciBleGNlcHRpb24g
d2l0aCBubyByYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMjQyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFZlcmlmeSBleHRlbmQoKSB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBT
ZWxlY3Rpb24gb2JqZWN0CisgICAgICAgIGNvbnRhaW5zIG5vIFJhbmdlIG9iamVjdHMuIENocm9t
ZSBhbmQgRmlyZWZveCB3aWxsIGFsc28gdGhyb3cgYW4KKyAgICAgICAgZXhjZXB0aW9uIGluIHRo
aXMgc2NlbmFyaW8uCisKKyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3NlbGVjdGlvbi1h
cGkvI2RvbS1zZWxlY3Rpb24tZXh0ZW5kCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VsZWN0aW9uL2V4dGVuZC1leGNlcHRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL2V4dGVuZC1leGNlcHRpb24uaHRtbDogQWRk
ZWQuCisKIDIwMjEtMTAtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBJbXBvcnQgd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1sb2NrcyBBUEkgdGVzdHMgZnJvbSB1
cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQtZXhj
ZXB0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAuLjIyMzBmOWM2MjUzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VsZWN0aW9uL2V4dGVuZC1leGNlcHRpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEludmFsaWRTdGF0ZUVycm9yIGV4Y2VwdGlv
biBpcyB0aHJvd24gZm9yIGV4dGVuZCgpIHdoZW4gbm8gcmFuZ2VzIGFyZSBwcmVzZW50IGluIFNl
bGVjdGlvbgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQtZXhjZXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQtZXhjZXB0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi42N2U4ODBmYTFj
MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlbGVjdGlvbi9leHRlbmQtZXhjZXB0aW9uLmh0bWwKQEAgLTAsMCArMSwyMSBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzx0aXRsZT5TZWxlY3Rpb24gZXh0ZW5kKCkgdGVz
dCB0aHJvd24gZXhjZXB0aW9uczwvdGl0bGU+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+
CisidXNlIHN0cmljdCI7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZGl2KTsKKworICAgIGFzc2VydF90aHJvd3NfZG9tKCJJTlZBTElEX1NUQVRFX0VSUiIsIGZ1bmN0
aW9uKCkgeyBnZXRTZWxlY3Rpb24oKS5leHRlbmQoZGl2KSB9LCAiSW52YWxpZFN0YXRlRXJyb3Ig
ZXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24gZm9yIGV4dGVuZCgpIGR1ZSB0byBubyByYW5nZXMg
YmVpbmcgYWRkZWQgdG8gU2VsZWN0aW9uIik7CisKKyAgICB0aGlzLmFkZF9jbGVhbnVwKGZ1bmN0
aW9uKCkgeyBkaXYucmVtb3ZlKCkgfSk7Cit9LCAiSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9u
IGlzIHRocm93biBmb3IgZXh0ZW5kKCkgd2hlbiBubyByYW5nZXMgYXJlIHByZXNlbnQgaW4gU2Vs
ZWN0aW9uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNkZTRiODAxM2NjLi5kYTg4Mjk2YmYxNjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0xMC0yOSAgQnJhbmRvbiBTdGV3YXJ0ICA8YnJh
bmRvbnN0ZXdhcnRAYXBwbGUuY29tPgorCisgICAgICAgIFNlbGVjdGlvbiBleHRlbmQoKSBzaG91
bGQgdHJpZ2dlciBleGNlcHRpb24gd2l0aCBubyByYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSAnZXh0ZW5kJyBtZXRob2QgaW4gdGhlIFNl
bGVjdGlvbiBBUEkgc2hvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiB1cG9uCisgICAgICAgIGJlaW5n
IGNhbGxlZCBpZiB0aGVyZSBhcmUgbm8gcmFuZ2VzIHByZXNlbnQgaW4gdGhlIFNlbGVjdGlvbiBv
YmplY3QuCisKKyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3NlbGVjdGlvbi1hcGkvI2Rv
bS1zZWxlY3Rpb24tZXh0ZW5kCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZWxlY3Rpb24vZXh0ZW5kLWV4Y2VwdGlvbi5odG1sCisKKyAgICAgICAgKiBw
YWdlL0RPTVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01TZWxlY3Rpb246OmV4
dGVuZCk6CisKIDIwMjEtMTAtMjggIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUu
Y29tPgogCiAgICAgICAgIElzb2xhdGVkIHRyZWUgbW9kZTogRGlzcGF0Y2ggYWxsIGNhbGxzIHRv
IFtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFs
dWVdIGluIFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudCB0byB0aGUgQVggdGhyZWFkLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwCmluZGV4IDA4ZDU5NmQ0ZWI3Mi4uNmIwNmFhYTIz
NTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwCkBAIC0zMzgsNiArMzM4LDEw
IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IERPTVNlbGVjdGlvbjo6ZXh0ZW5kKE5vZGUmIG5vZGUsIHVu
c2lnbmVkIG9mZnNldCkKICAgICBhdXRvIGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKICAgICBpZiAo
IWZyYW1lKQogICAgICAgICByZXR1cm4geyB9OworICAgIAorICAgIGlmIChyYW5nZUNvdW50KCkg
PCAxKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJleHRl
bmQoKSByZXF1aXJlcyBhIFJhbmdlIHRvIGJlIGFkZGVkIHRvIHRoZSBTZWxlY3Rpb24iIH07CisK
ICAgICBpZiAoZnJhbWUtPnNldHRpbmdzKCkubGl2ZVJhbmdlU2VsZWN0aW9uRW5hYmxlZCgpKSB7
CiAgICAgICAgIGlmICghZnJhbWUtPmRvY3VtZW50KCktPmNvbnRhaW5zKG5vZGUpKQogICAgICAg
ICAgICAgcmV0dXJuIHsgfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>