<?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>237440</bug_id>
          
          <creation_ts>2022-03-03 11:51:37 -0800</creation_ts>
          <short_desc>CSP report does not get sent to the document in the case of a detached element</short_desc>
          <delta_ts>2022-03-04 07:12:58 -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>New Bugs</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="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mkwst</cc>
    
    <cc>pgriffis</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1848016</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-03-03 11:51:37 -0800</bug_when>
    <thetext>CSP report does not get sent to the document in the case of a detached element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848018</commentid>
    <comment_count>1</comment_count>
      <attachid>453771</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-03-03 11:53:46 -0800</bug_when>
    <thetext>Created attachment 453771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848020</commentid>
    <comment_count>2</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-03-03 11:57:52 -0800</bug_when>
    <thetext>rdar://89081463</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848022</commentid>
    <comment_count>3</comment_count>
      <attachid>453771</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-03 12:02:24 -0800</bug_when>
    <thetext>Comment on attachment 453771
Patch

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

&gt; Source/WebCore/dom/Element.cpp:3255
&gt; +    document().eventLoop().queueTask(TaskSource::DOMManipulation, [this, protectedThis = Ref { *this }, &amp;contentSecurityPolicyDocument, eventInit = WTFMove(eventInit)] () mutable {

This is a security bug waiting to happen. What guarantees that contentSecurityPolicyDocument is still alive by the time that the task runs asynchronously.

&gt; Source/WebCore/dom/Element.cpp:3257
&gt; +            contentSecurityPolicyDocument.enqueueSecurityPolicyViolationEvent(WTFMove(eventInit));

Why do we need contentSecurityPolicyDocument? Why can&apos;t we simply use this-&gt;document()?

A disconnected Node/Element still has a Document.

&gt; Source/WebCore/page/csp/ContentSecurityPolicy.cpp:824
&gt; +        if (element &amp;&amp; element-&gt;isConnected() &amp;&amp; element-&gt;document() == document)

Do we really need this check here now the Element::enqueueSecurityPolicyViolationEvent() does the forwarding to the Document by itself?

Can&apos;t we just call `element-&gt;enqueueSecurityPolicyViolationEvent(WTFMove(violationEventInit));` here no matter what?

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:5
&gt; +    &lt;script src=&quot;/js-test-resources/js-test-pre.js&quot;&gt;&lt;/script&gt;

In modern tests, please use js-test.js and no js-test-post.js at the end of the test.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:9
&gt; +        testRunner.waitUntilDone();

`jsTestIsAsync = true;` when using js-test.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:10
&gt; +        testRunner.dumpAsText();

Unnecessary when using js-test.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:11
&gt; +

Please add a description(&quot;my description...&quot;) call here with a suitable description. It will make the test output look much nicer.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:13
&gt; +            testPassed(&quot;Successfully received violation event&quot;);

May be good to validate e.composed since it seems you tweaked that in the same patch?

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:14
&gt; +            testRunner.notifyDone();

finishJSTest() when using js-test

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:17
&gt; +        inlineScript = document.createElement(&quot;script&quot;);

let inlineScript = ...?

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:22
&gt; +&lt;/script&gt;

What&apos;s this &lt;/script&gt; doing here? Doesn&apos;t seem to match a &lt;script&gt;.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:23
&gt; +&lt;script src=&quot;/js-test-resources/js-test-post.js&quot;&gt;&lt;/script&gt;

Not necessary if you use the modern js-test.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848040</commentid>
    <comment_count>4</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-03-03 12:58:04 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Comment on attachment 453771 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=453771&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:3255
&gt; &gt; +    document().eventLoop().queueTask(TaskSource::DOMManipulation, [this, protectedThis = Ref { *this }, &amp;contentSecurityPolicyDocument, eventInit = WTFMove(eventInit)] () mutable {
&gt; 
&gt; This is a security bug waiting to happen. What guarantees that
&gt; contentSecurityPolicyDocument is still alive by the time that the task runs
&gt; asynchronously.
&gt; 

ouch, yeah true. I don&apos;t think I need this anyways based on your next comment.

&gt; &gt; Source/WebCore/dom/Element.cpp:3257
&gt; &gt; +            contentSecurityPolicyDocument.enqueueSecurityPolicyViolationEvent(WTFMove(eventInit));
&gt; 
&gt; Why do we need contentSecurityPolicyDocument? Why can&apos;t we simply use
&gt; this-&gt;document()?
&gt; 
&gt; A disconnected Node/Element still has a Document.
&gt; 

Oh, that makes it simpler. I assumed a disconnected element would not have access to the same document.

&gt; &gt; Source/WebCore/page/csp/ContentSecurityPolicy.cpp:824
&gt; &gt; +        if (element &amp;&amp; element-&gt;isConnected() &amp;&amp; element-&gt;document() == document)
&gt; 
&gt; Do we really need this check here now the
&gt; Element::enqueueSecurityPolicyViolationEvent() does the forwarding to the
&gt; Document by itself?
&gt; 
&gt; Can&apos;t we just call
&gt; `element-&gt;enqueueSecurityPolicyViolationEvent(WTFMove(violationEventInit));`
&gt; here no matter what?
&gt; 

I think we can remove the isConnected() check because we do it later, but should keep the others checks because the element might be null or have the wrong document. Not sure if that&apos;s what you meant.

&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:5
&gt; &gt; +    &lt;script src=&quot;/js-test-resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
&gt; 
&gt; In modern tests, please use js-test.js and no js-test-post.js at the end of
&gt; the test.
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:9
&gt; &gt; +        testRunner.waitUntilDone();
&gt; 
&gt; `jsTestIsAsync = true;` when using js-test.
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:10
&gt; &gt; +        testRunner.dumpAsText();
&gt; 
&gt; Unnecessary when using js-test.
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:11
&gt; &gt; +
&gt; 
&gt; Please add a description(&quot;my description...&quot;) call here with a suitable
&gt; description. It will make the test output look much nicer.
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:13
&gt; &gt; +            testPassed(&quot;Successfully received violation event&quot;);
&gt; 
&gt; May be good to validate e.composed since it seems you tweaked that in the
&gt; same patch?
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:14
&gt; &gt; +            testRunner.notifyDone();
&gt; 
&gt; finishJSTest() when using js-test
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:17
&gt; &gt; +        inlineScript = document.createElement(&quot;script&quot;);
&gt; 
&gt; let inlineScript = ...?
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:22
&gt; &gt; +&lt;/script&gt;
&gt; 
&gt; What&apos;s this &lt;/script&gt; doing here? Doesn&apos;t seem to match a &lt;script&gt;.
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/report-violation-to-document-after-element-has-been-detached.html:23
&gt; &gt; +&lt;script src=&quot;/js-test-resources/js-test-post.js&quot;&gt;&lt;/script&gt;
&gt; 
&gt; Not necessary if you use the modern js-test.js

Will fix all of these test changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848062</commentid>
    <comment_count>5</comment_count>
      <attachid>453785</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-03-03 14:09:10 -0800</bug_when>
    <thetext>Created attachment 453785
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848065</commentid>
    <comment_count>6</comment_count>
      <attachid>453785</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-03 14:22:34 -0800</bug_when>
    <thetext>Comment on attachment 453785
Patch

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

r=me with suggestions.

&gt; Source/WebCore/dom/Element.cpp:3257
&gt; +            document().enqueueSecurityPolicyViolationEvent(WTFMove(eventInit));

can we just do this here?
document().dispatchEvent(SecurityPolicyViolationEvent::create(eventNames().securitypolicyviolationEvent, WTFMove(eventInit), Event::IsTrusted::Yes));

We&apos;ve already queued a task to get here. Seems odd to re-queue again inside enqueueSecurityPolicyViolationEvent().

&gt; Source/WebCore/dom/Element.cpp:3259
&gt; +            auto event = SecurityPolicyViolationEvent::create(eventNames().securitypolicyviolationEvent, WTFMove(eventInit), Event::IsTrusted::Yes);

nit: I don&apos;t think this local variable is very useful. I personally feel it would look nicer if we just did this on one line without curly brackets.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848067</commentid>
    <comment_count>7</comment_count>
      <attachid>453785</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-03-03 14:26:12 -0800</bug_when>
    <thetext>Comment on attachment 453785
Patch

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

thanks. I accidentally removed the mutable keyword from the lambda which is causing EWS failures. Will fix that too.

&gt;&gt; Source/WebCore/dom/Element.cpp:3257
&gt;&gt; +            document().enqueueSecurityPolicyViolationEvent(WTFMove(eventInit));
&gt; 
&gt; can we just do this here?
&gt; document().dispatchEvent(SecurityPolicyViolationEvent::create(eventNames().securitypolicyviolationEvent, WTFMove(eventInit), Event::IsTrusted::Yes));
&gt; 
&gt; We&apos;ve already queued a task to get here. Seems odd to re-queue again inside enqueueSecurityPolicyViolationEvent().

Oh, yes. Will fix.

&gt;&gt; Source/WebCore/dom/Element.cpp:3259
&gt;&gt; +            auto event = SecurityPolicyViolationEvent::create(eventNames().securitypolicyviolationEvent, WTFMove(eventInit), Event::IsTrusted::Yes);
&gt; 
&gt; nit: I don&apos;t think this local variable is very useful. I personally feel it would look nicer if we just did this on one line without curly brackets.

agree, will remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848068</commentid>
    <comment_count>8</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-03-03 14:28:25 -0800</bug_when>
    <thetext>(In reply to Kate Cheney from comment #7)
&gt; Comment on attachment 453785 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=453785&amp;action=review
&gt; 
&gt; thanks. I accidentally removed the mutable keyword from the lambda which is
&gt; causing EWS failures. Will fix that too.
&gt; 
&gt; &gt;&gt; Source/WebCore/dom/Element.cpp:3257
&gt; &gt;&gt; +            document().enqueueSecurityPolicyViolationEvent(WTFMove(eventInit));
&gt; &gt; 
&gt; &gt; can we just do this here?
&gt; &gt; document().dispatchEvent(SecurityPolicyViolationEvent::create(eventNames().securitypolicyviolationEvent, WTFMove(eventInit), Event::IsTrusted::Yes));
&gt; &gt; 
&gt; &gt; We&apos;ve already queued a task to get here. Seems odd to re-queue again inside enqueueSecurityPolicyViolationEvent().
&gt; 
&gt; Oh, yes. Will fix.
&gt; 

Or, actually I can create the event in the lambda capture again to avoid having to duplicate the creation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848069</commentid>
    <comment_count>9</comment_count>
      <attachid>453786</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-03-03 14:32:52 -0800</bug_when>
    <thetext>Created attachment 453786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848070</commentid>
    <comment_count>10</comment_count>
      <attachid>453786</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-03 14:33:47 -0800</bug_when>
    <thetext>Comment on attachment 453786
Patch

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

&gt; Source/WebCore/dom/Element.cpp:3256
&gt; +        if (!isConnected())

Well, that ended up looking quite nice :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848283</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-04 07:12:53 -0800</bug_when>
    <thetext>Committed r290830 (248066@main): &lt;https://commits.webkit.org/248066@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453786.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453771</attachid>
            <date>2022-03-03 11:53:46 -0800</date>
            <delta_ts>2022-03-03 14:09:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237440-20220303115345.patch</filename>
            <type>text/plain</type>
            <size>7672</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RjM2U2Y2NlNmY0ZGQw
OGY5MzMyY2E4YTkxNGI5ZDhhNzcyMDE0Yy4uNTkxNmQ3YzRkNWI5ODJiMjY3MDkzOGYzNWQxNDYz
NjMwYzk1NTVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAzLTAzICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIENTUCByZXBv
cnQgZG9lcyBub3QgZ2V0IHNlbnQgdG8gdGhlIGRvY3VtZW50IGluIHRoZSBjYXNlIG9mIGEgZGV0
YWNoZWQgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM3NDQwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTA4MTQ2Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtdmlvbGF0aW9uLXRvLWRvY3Vt
ZW50LWFmdGVyLWVsZW1lbnQtaGFzLWJlZW4tZGV0YWNoZWQuaHRtbAorCisgICAgICAgIE9ubHkg
c2VuZCBhIHZpb2xhdGlvbiByZXBvcnQgdG8gdGhlIGVsZW1lbnQgaWYgaXQgaXMgY29ubmVjdGVk
LiBUaGlzCisgICAgICAgIGNoYW5nZSBwYXNzZXMgdGhlIENTUCBkb2N1bWVudCB0byB0aGUgZWxl
bWVudCBpbiBjYXNlIHRoZSBlbGVtZW50IGdldHMKKyAgICAgICAgZGV0YWNoZWQgYWZ0ZXIgdGhl
IHNlY3VyaXR5IHBvbGljeSB2aW9sYXRpb24gaGFzIGJlZW4gY3JlYXRlZC4gSWYgdGhlCisgICAg
ICAgIGVsZW1lbnQgaXMgbm90IGNvbm5lY3RlZCBpbiB0aGlzIGNhc2UsIHdlIHNlbmQgdGhlIHJl
cG9ydCB0byB0aGUgZG9jdW1lbnQuCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnF1ZXVlU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVu
dCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50
U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9s
aWN5OjpyZXBvcnRWaW9sYXRpb24gY29uc3QpOgorICAgICAgICBBbHNvIHNldHMgdGhlIGNvbXBv
c2VkIHZhbHVlIG9uIHRoZSB2aW9sYXRpb24gZXZlbnQgYXMgcGVyIHRoZSBzcGVjLiAKKwogMjAy
Mi0wMy0wMyAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIE5vbi11bmlmaWVkIGJ1aWxkIGZpeGVzLCBlYXJseSBNYXJjaCAyMDIyIGVkaXRpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBlMjM4ODI3ZDdmMmFiZjVkOTI1NTM3NjQ4YjFlY2Ux
MmM1YTVjOTg2Li43YTVjYzMwYWUyMjZhODE5YjlhOTU4YTI3ZmY5ZDJjZTAwM2ViMDkzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0zMjUwLDEwICszMjUwLDE1IEBAIGJvb2wgRWxlbWVudDo6
ZGlzcGF0Y2hNb3VzZUZvcmNlV2lsbEJlZ2luKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZv
aWQgRWxlbWVudDo6ZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQoU2VjdXJpdHlQ
b2xpY3lWaW9sYXRpb25FdmVudEluaXQmJiBldmVudEluaXQpCit2b2lkIEVsZW1lbnQ6OmVucXVl
dWVTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50KERvY3VtZW50JiBjb250ZW50U2VjdXJpdHlQ
b2xpY3lEb2N1bWVudCwgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQmJiBldmVudElu
aXQpCiB7Ci0gICAgZG9jdW1lbnQoKS5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6
RE9NTWFuaXB1bGF0aW9uLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIGV2
ZW50ID0gU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5z
ZWN1cml0eXBvbGljeXZpb2xhdGlvbkV2ZW50LCBXVEZNb3ZlKGV2ZW50SW5pdCksIEV2ZW50OjpJ
c1RydXN0ZWQ6OlllcyldIHsKLSAgICAgICAgZGlzcGF0Y2hFdmVudChldmVudCk7CisgICAgZG9j
dW1lbnQoKS5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6RE9NTWFuaXB1bGF0aW9u
LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sICZjb250ZW50U2VjdXJpdHlQ
b2xpY3lEb2N1bWVudCwgZXZlbnRJbml0ID0gV1RGTW92ZShldmVudEluaXQpXSAoKSBtdXRhYmxl
IHsKKyAgICAgICAgaWYgKCFpc0Nvbm5lY3RlZCgpKQorICAgICAgICAgICAgY29udGVudFNlY3Vy
aXR5UG9saWN5RG9jdW1lbnQuZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQoV1RG
TW92ZShldmVudEluaXQpKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBhdXRvIGV2ZW50
ID0gU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zZWN1
cml0eXBvbGljeXZpb2xhdGlvbkV2ZW50LCBXVEZNb3ZlKGV2ZW50SW5pdCksIEV2ZW50OjpJc1Ry
dXN0ZWQ6Olllcyk7CisgICAgICAgICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50KTsKKyAgICAgICAg
fQogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBhNTI4ZDE3MDVlZGExYTIzZjVk
OWYxMzNmN2YyNmZmNWUzZWE1ZjkwLi5jYWRjZTYxM2Y4NGU2OGZlYzljYWM0NTQxZjllNjQ1NTZj
NTE3YjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTU4MCw3ICs1ODAsNyBAQCBwdWJsaWM6CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGRpc3BhdGNoTW91c2VGb3JjZVdpbGxCZWdpbigpOwog
Ci0gICAgdm9pZCBlbnF1ZXVlU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudChTZWN1cml0eVBv
bGljeVZpb2xhdGlvbkV2ZW50SW5pdCYmKTsKKyAgICB2b2lkIGVucXVldWVTZWN1cml0eVBvbGlj
eVZpb2xhdGlvbkV2ZW50KERvY3VtZW50JiwgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudElu
aXQmJik7CiAKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlY2FsY1N0eWxlKFN0eWxlOjpDaGFuZ2Up
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNhbGNTdHlsZShTdHlsZTo6Q2hhbmdlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4
IGQ0Yjk5Y2MwZDdhZjNmMDVkM2FhYzUyNWJiMWIwNjE4NzAyZDMyZDMuLjFkMTAwOGRmZTE5NmQy
NGMzYzY0YzNhYzM5ZDg3YjI4ZGMyZWMyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtODE2LDEyICs4MTYsMTMgQEAgdm9p
ZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydFZpb2xhdGlvbihjb25zdCBTdHJpbmcmIGVm
ZmVjdGl2ZVZpb2xhdGVkRGlyZWMKICAgICB2aW9sYXRpb25FdmVudEluaXQuY29sdW1uTnVtYmVy
ID0gaW5mby5jb2x1bW5OdW1iZXI7CiAgICAgdmlvbGF0aW9uRXZlbnRJbml0LnNhbXBsZSA9IGlu
Zm8uc2FtcGxlOwogICAgIHZpb2xhdGlvbkV2ZW50SW5pdC5idWJibGVzID0gdHJ1ZTsKKyAgICB2
aW9sYXRpb25FdmVudEluaXQuY29tcG9zZWQgPSB0cnVlOwogICAgIGlmIChtX2NsaWVudCkKICAg
ICAgICAgbV9jbGllbnQtPmVucXVldWVTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50KFdURk1v
dmUodmlvbGF0aW9uRXZlbnRJbml0KSk7CiAgICAgZWxzZSB7CiAgICAgICAgIGF1dG8mIGRvY3Vt
ZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwotICAg
ICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LT5kb2N1bWVudCgpID09IGRvY3VtZW50KQotICAg
ICAgICAgICAgZWxlbWVudC0+ZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQoV1RG
TW92ZSh2aW9sYXRpb25FdmVudEluaXQpKTsKKyAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVu
dC0+aXNDb25uZWN0ZWQoKSAmJiBlbGVtZW50LT5kb2N1bWVudCgpID09IGRvY3VtZW50KQorICAg
ICAgICAgICAgZWxlbWVudC0+ZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQoZG9j
dW1lbnQsIFdURk1vdmUodmlvbGF0aW9uRXZlbnRJbml0KSk7CiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIGRvY3VtZW50LmVucXVldWVTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50KFdURk1v
dmUodmlvbGF0aW9uRXZlbnRJbml0KSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg3MzkzNmJiMWFjOGRmNGI5
ZTA3ODA2MjI5NmM3ODIzMWNiNjg3MTQuLjk0ZTk4OGM2NDQ0NzZhZjg3YTY0M2RiNDk5MDBiNjlj
NjVlODdiMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMi0wMy0wMyAgS2F0ZSBDaGVuZXkg
IDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBDU1AgcmVwb3J0IGRvZXMg
bm90IGdldCBzZW50IHRvIHRoZSBkb2N1bWVudCBpbiB0aGUgY2FzZSBvZiBhIGRldGFjaGVkIGVs
ZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NzQ0MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODkwODE0NjM+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtdmlvbGF0aW9uLXRvLWRvY3VtZW50LWFmdGVyLWVs
ZW1lbnQtaGFzLWJlZW4tZGV0YWNoZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtdmlvbGF0aW9u
LXRvLWRvY3VtZW50LWFmdGVyLWVsZW1lbnQtaGFzLWJlZW4tZGV0YWNoZWQuaHRtbDogQWRkZWQu
CisKIDIwMjItMDMtMDMgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVwZGF0ZSBXUFQgY3NzLXNjcm9sbC1zbmFwIHRlc3RzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBv
cnQtdmlvbGF0aW9uLXRvLWRvY3VtZW50LWFmdGVyLWVsZW1lbnQtaGFzLWJlZW4tZGV0YWNoZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvcmVwb3J0LXZpb2xhdGlvbi10by1kb2N1bWVudC1hZnRlci1lbGVtZW50LWhh
cy1iZWVuLWRldGFjaGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTBjNzJkNjE4M2FkNTQx
MWQ5ODA3ZDMyZDczOWFhOGMyYTBhMzA1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXZpb2xhdGlv
bi10by1kb2N1bWVudC1hZnRlci1lbGVtZW50LWhhcy1iZWVuLWRldGFjaGVkLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDYgQEAKK0NPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBleGVjdXRlIGEg
c2NyaXB0IGJlY2F1c2UgaXRzIGhhc2gsIGl0cyBub25jZSwgb3IgJ3Vuc2FmZS1pbmxpbmUnIGRv
ZXMgbm90IGFwcGVhciBpbiB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgb2YgdGhlIENvbnRlbnQg
U2VjdXJpdHkgUG9saWN5LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCitQQVNTIFN1Y2Nlc3NmdWxseSByZWNlaXZlZCB2aW9sYXRpb24gZXZlbnQKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvcmVwb3J0LXZpb2xhdGlvbi10by1kb2N1bWVudC1hZnRlci1lbGVtZW50LWhhcy1i
ZWVuLWRldGFjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9yZXBvcnQtdmlvbGF0aW9uLXRvLWRvY3VtZW50LWFmdGVyLWVsZW1l
bnQtaGFzLWJlZW4tZGV0YWNoZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MWQxN2Y1YzY4ZGMzZTI4ZmRi
YzFiZTJmNTlmZmIxZjY3YmYzYzBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXZpb2xhdGlvbi10
by1kb2N1bWVudC1hZnRlci1lbGVtZW50LWhhcy1iZWVuLWRldGFjaGVkLmh0bWwKQEAgLTAsMCAr
MSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxtZXRhIGh0dHAt
ZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJzY3JpcHQtc3JjICdzZWxm
JyAnbm9uY2UtdGVzdCcgJ3Vuc2FmZS1ldmFsJyI+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8c2NyaXB0IG5vbmNlPSJ0ZXN0Ij4KKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgIGRvY3VtZW50
LmFkZEV2ZW50TGlzdGVuZXIoJ3NlY3VyaXR5cG9saWN5dmlvbGF0aW9uJywgZSA9PiB7CisgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgcmVjZWl2ZWQgdmlvbGF0aW9uIGV2ZW50
Iik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CisK
KyAgICAgICAgaW5saW5lU2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7
CisgICAgICAgIGlubGluZVNjcmlwdC5hcHBlbmQoImFsZXJ0KEZBSUwpIik7CisgICAgICAgIChk
b2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuYXBwZW5kQ2hpbGQoaW5s
aW5lU2NyaXB0KTsKKyAgICAgICAgaW5saW5lU2NyaXB0LnJlbW92ZSgpOworICAgIDwvc2NyaXB0
PgorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453785</attachid>
            <date>2022-03-03 14:09:10 -0800</date>
            <delta_ts>2022-03-03 14:36:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237440-20220303140910.patch</filename>
            <type>text/plain</type>
            <size>6600</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RjM2U2Y2NlNmY0ZGQw
OGY5MzMyY2E4YTkxNGI5ZDhhNzcyMDE0Yy4uYjE4ZTBlMDc1YjViYmQ5ODQ3Mjc2YmE4YTUwMjZh
NjI3NTdlNjI0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAzLTAzICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIENTUCByZXBv
cnQgZG9lcyBub3QgZ2V0IHNlbnQgdG8gdGhlIGRvY3VtZW50IGluIHRoZSBjYXNlIG9mIGEgZGV0
YWNoZWQgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM3NDQwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTA4MTQ2Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtdmlvbGF0aW9uLXRvLWRvY3Vt
ZW50LWFmdGVyLWVsZW1lbnQtaGFzLWJlZW4tZGV0YWNoZWQuaHRtbAorCisgICAgICAgIE9ubHkg
c2VuZCBhIHZpb2xhdGlvbiByZXBvcnQgdG8gdGhlIGVsZW1lbnQgaWYgaXQgaXMgY29ubmVjdGVk
LiBDaGVjaworICAgICAgICByaWdodCBiZWZvcmUgZGlzcGF0Y2hpbmcgaW4gY2FzZSB0aGUgZWxl
bWVudCBnZXRzIGRldGFjaGVkIGFmdGVyIHRoZQorICAgICAgICBzZWN1cml0eSBwb2xpY3kgdmlv
bGF0aW9uIGhhcyBiZWVuIGNyZWF0ZWQuIElmIHRoZSBlbGVtZW50IGlzIG5vdAorICAgICAgICBj
b25uZWN0ZWQgaW4gdGhpcyBjYXNlLCB3ZSBzZW5kIHRoZSByZXBvcnQgdG8gdGhlIGRvY3VtZW50
LgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6ZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQpOgorICAgICAgICAqIGRvbS9F
bGVtZW50Lmg6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0VmlvbGF0aW9u
IGNvbnN0KToKKyAgICAgICAgQWxzbyBzZXRzIHRoZSBjb21wb3NlZCB2YWx1ZSBvbiB0aGUgdmlv
bGF0aW9uIGV2ZW50IGFzIHBlciB0aGUgc3BlYy4gCisKIDIwMjItMDMtMDMgIEFkcmlhbiBQZXJl
eiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBOb24tdW5pZmllZCBi
dWlsZCBmaXhlcywgZWFybHkgTWFyY2ggMjAyMiBlZGl0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
aW5kZXggZTIzODgyN2Q3ZjJhYmY1ZDkyNTUzNzY0OGIxZWNlMTJjNWE1Yzk4Ni4uZmI1NDg4NmEx
MDkyNzQ2NjJhMTIxMTZhZGVlMjgyMGYwODlkMmEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApA
QCAtMzI1Miw4ICszMjUyLDEzIEBAIGJvb2wgRWxlbWVudDo6ZGlzcGF0Y2hNb3VzZUZvcmNlV2ls
bEJlZ2luKCkKIAogdm9pZCBFbGVtZW50OjplbnF1ZXVlU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25F
dmVudChTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdCYmIGV2ZW50SW5pdCkKIHsKLSAg
ICBkb2N1bWVudCgpLmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpET01NYW5pcHVs
YXRpb24sIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgZXZlbnQgPSBTZWN1
cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnNlY3VyaXR5cG9s
aWN5dmlvbGF0aW9uRXZlbnQsIFdURk1vdmUoZXZlbnRJbml0KSwgRXZlbnQ6OklzVHJ1c3RlZDo6
WWVzKV0gewotICAgICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50KTsKKyAgICBkb2N1bWVudCgpLmV2
ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpET01NYW5pcHVsYXRpb24sIFt0aGlzLCBw
cm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgZXZlbnRJbml0ID0gV1RGTW92ZShldmVudElu
aXQpXSB7CisgICAgICAgIGlmICghaXNDb25uZWN0ZWQoKSkKKyAgICAgICAgICAgIGRvY3VtZW50
KCkuZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQoV1RGTW92ZShldmVudEluaXQp
KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBhdXRvIGV2ZW50ID0gU2VjdXJpdHlQb2xp
Y3lWaW9sYXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zZWN1cml0eXBvbGljeXZpb2xh
dGlvbkV2ZW50LCBXVEZNb3ZlKGV2ZW50SW5pdCksIEV2ZW50OjpJc1RydXN0ZWQ6Olllcyk7Cisg
ICAgICAgICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50KTsKKyAgICAgICAgfQogICAgIH0pOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNw
cAppbmRleCBkNGI5OWNjMGQ3YWYzZjA1ZDNhYWM1MjViYjFiMDYxODcwMmQzMmQzLi4xNjI3NGU5
NGFmMTBjOGQzODU0MGU5YzgzNTE5MjFjNzBiOGY4ZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTgxNiw2ICs4MTYsNyBA
QCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmlu
ZyYgZWZmZWN0aXZlVmlvbGF0ZWREaXJlYwogICAgIHZpb2xhdGlvbkV2ZW50SW5pdC5jb2x1bW5O
dW1iZXIgPSBpbmZvLmNvbHVtbk51bWJlcjsKICAgICB2aW9sYXRpb25FdmVudEluaXQuc2FtcGxl
ID0gaW5mby5zYW1wbGU7CiAgICAgdmlvbGF0aW9uRXZlbnRJbml0LmJ1YmJsZXMgPSB0cnVlOwor
ICAgIHZpb2xhdGlvbkV2ZW50SW5pdC5jb21wb3NlZCA9IHRydWU7CiAgICAgaWYgKG1fY2xpZW50
KQogICAgICAgICBtX2NsaWVudC0+ZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQo
V1RGTW92ZSh2aW9sYXRpb25FdmVudEluaXQpKTsKICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NzM5MzZi
YjFhYzhkZjRiOWUwNzgwNjIyOTZjNzgyMzFjYjY4NzE0Li45NGU5ODhjNjQ0NDc2YWY4N2E2NDNk
YjQ5OTAwYjY5YzY1ZTg3YjEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDMtMDMgIEth
dGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgQ1NQIHJl
cG9ydCBkb2VzIG5vdCBnZXQgc2VudCB0byB0aGUgZG9jdW1lbnQgaW4gdGhlIGNhc2Ugb2YgYSBk
ZXRhY2hlZCBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzc0NDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg5MDgxNDYzPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXZpb2xhdGlvbi10by1kb2N1bWVu
dC1hZnRlci1lbGVtZW50LWhhcy1iZWVuLWRldGFjaGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0
LXZpb2xhdGlvbi10by1kb2N1bWVudC1hZnRlci1lbGVtZW50LWhhcy1iZWVuLWRldGFjaGVkLmh0
bWw6IEFkZGVkLgorCiAyMDIyLTAzLTAzICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgV1BUIGNzcy1zY3JvbGwtc25hcCB0ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVwb3J0LXZpb2xhdGlvbi10by1kb2N1bWVudC1hZnRlci1lbGVtZW50LWhhcy1iZWVu
LWRldGFjaGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC12aW9sYXRpb24tdG8tZG9jdW1lbnQtYWZ0ZXIt
ZWxlbWVudC1oYXMtYmVlbi1kZXRhY2hlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQzOWU0
ZTljNWU1OTE3Y2ZjZDlmMGZmMWExZGViMTdkMWE1NDU3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9y
dC12aW9sYXRpb24tdG8tZG9jdW1lbnQtYWZ0ZXItZWxlbWVudC1oYXMtYmVlbi1kZXRhY2hlZC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRv
IGV4ZWN1dGUgYSBzY3JpcHQgYmVjYXVzZSBpdHMgaGFzaCwgaXRzIG5vbmNlLCBvciAndW5zYWZl
LWlubGluZScgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBvZiB0
aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCitUZXN0cyB0aGF0IGEgZGV0YWNoZWQgZWxlbWVu
dCBzZW5kcyBhIENTUCB2aW9sYXRpb24gcmVwb3J0IHRvIGl0cyBkb2N1bWVudAorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTdWNjZXNzZnVsbHkgcmVjZWl2ZWQgdmlvbGF0
aW9uIGV2ZW50CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXZpb2xhdGlvbi10by1kb2N1bWVudC1hZnRlci1lbGVtZW50
LWhhcy1iZWVuLWRldGFjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtdmlvbGF0aW9uLXRvLWRvY3VtZW50LWFmdGVy
LWVsZW1lbnQtaGFzLWJlZW4tZGV0YWNoZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOGI1NDdkMDRlZGE5
ZDRkNWFkMWU2MWNmMTMyZDY4NWQzZjgyMWVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXZpb2xh
dGlvbi10by1kb2N1bWVudC1hZnRlci1lbGVtZW50LWhhcy1iZWVuLWRldGFjaGVkLmh0bWwKQEAg
LTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxtZXRh
IGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJzY3JpcHQtc3Jj
ICdzZWxmJyAnbm9uY2UtdGVzdCcgJ3Vuc2FmZS1ldmFsJyI+CisgICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
ICAgIDxzY3JpcHQgbm9uY2U9InRlc3QiPgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KworICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIGRldGFjaGVkIGVsZW1lbnQgc2Vu
ZHMgYSBDU1AgdmlvbGF0aW9uIHJlcG9ydCB0byBpdHMgZG9jdW1lbnQiKTsKKworICAgICAgICBk
b2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzZWN1cml0eXBvbGljeXZpb2xhdGlvbicsIGUgPT4g
eworICAgICAgICAgICAgaWYgKGUuY29tcG9zZWQpCisgICAgICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgiU3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIHZpb2xhdGlvbiBldmVudCIpOworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoImNvbXBvc2VkIHZhbHVlIG5vdCBzZXQg
b24gc2VjdXJpdHkgcG9saWN5IHZpb2xhdGlvbiIpOworCisgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgbGV0IGlubGluZVNjcmlwdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAgICAgICBpbmxpbmVTY3JpcHQuYXBwZW5kKCJh
bGVydChGQUlMKSIpOworICAgICAgICAoZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQpLmFwcGVuZENoaWxkKGlubGluZVNjcmlwdCk7CisgICAgICAgIGlubGluZVNjcmlw
dC5yZW1vdmUoKTsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="481249"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453786</attachid>
            <date>2022-03-03 14:32:52 -0800</date>
            <delta_ts>2022-03-04 07:12:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237440-20220303143251.patch</filename>
            <type>text/plain</type>
            <size>6228</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RjM2U2Y2NlNmY0ZGQw
OGY5MzMyY2E4YTkxNGI5ZDhhNzcyMDE0Yy4uY2MzOWI1YjhjMGI5NDRmMzYyMjM1ODcyZjc5NzM3
OGMwMTU0Zjc1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAzLTAzICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIENTUCByZXBv
cnQgZG9lcyBub3QgZ2V0IHNlbnQgdG8gdGhlIGRvY3VtZW50IGluIHRoZSBjYXNlIG9mIGEgZGV0
YWNoZWQgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM3NDQwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTA4MTQ2Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtdmlvbGF0aW9uLXRvLWRvY3VtZW50
LWFmdGVyLWVsZW1lbnQtaGFzLWJlZW4tZGV0YWNoZWQuaHRtbAorCisgICAgICAgIE9ubHkgc2Vu
ZCBhIHZpb2xhdGlvbiByZXBvcnQgdG8gdGhlIGVsZW1lbnQgaWYgaXQgaXMgY29ubmVjdGVkLiBD
aGVjaworICAgICAgICByaWdodCBiZWZvcmUgZGlzcGF0Y2hpbmcgaW4gY2FzZSB0aGUgZWxlbWVu
dCBnZXRzIGRldGFjaGVkIGFmdGVyIHRoZQorICAgICAgICBzZWN1cml0eSBwb2xpY3kgdmlvbGF0
aW9uIGhhcyBiZWVuIGNyZWF0ZWQuIElmIHRoZSBlbGVtZW50IGlzIG5vdAorICAgICAgICBjb25u
ZWN0ZWQgaW4gdGhpcyBjYXNlLCB3ZSBzZW5kIHRoZSByZXBvcnQgdG8gdGhlIGRvY3VtZW50Lgor
CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
ZW5xdWV1ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQpOgorICAgICAgICAqIHBhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OnJlcG9ydFZpb2xhdGlvbiBjb25zdCk6CisgICAgICAgIEFsc28gc2V0cyB0
aGUgY29tcG9zZWQgdmFsdWUgb24gdGhlIHZpb2xhdGlvbiBldmVudCBhcyBwZXIgdGhlIHNwZWMu
CisKIDIwMjItMDMtMDMgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNv
bT4KIAogICAgICAgICBOb24tdW5pZmllZCBidWlsZCBmaXhlcywgZWFybHkgTWFyY2ggMjAyMiBl
ZGl0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggZTIzODgyN2Q3ZjJhYmY1ZDkyNTUzNzY0
OGIxZWNlMTJjNWE1Yzk4Ni4uNTRkY2M3YTNhNDU3MmY4ZGFlYzgyNDBkNTJmMGY3ZjY0ODViZTcx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzI1Myw3ICszMjUzLDEwIEBAIGJvb2wgRWxl
bWVudDo6ZGlzcGF0Y2hNb3VzZUZvcmNlV2lsbEJlZ2luKCkKIHZvaWQgRWxlbWVudDo6ZW5xdWV1
ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQoU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVu
dEluaXQmJiBldmVudEluaXQpCiB7CiAgICAgZG9jdW1lbnQoKS5ldmVudExvb3AoKS5xdWV1ZVRh
c2soVGFza1NvdXJjZTo6RE9NTWFuaXB1bGF0aW9uLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJl
ZiB7ICp0aGlzIH0sIGV2ZW50ID0gU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudDo6Y3JlYXRl
KGV2ZW50TmFtZXMoKS5zZWN1cml0eXBvbGljeXZpb2xhdGlvbkV2ZW50LCBXVEZNb3ZlKGV2ZW50
SW5pdCksIEV2ZW50OjpJc1RydXN0ZWQ6OlllcyldIHsKLSAgICAgICAgZGlzcGF0Y2hFdmVudChl
dmVudCk7CisgICAgICAgIGlmICghaXNDb25uZWN0ZWQoKSkKKyAgICAgICAgICAgIGRvY3VtZW50
KCkuZGlzcGF0Y2hFdmVudChldmVudCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRpc3Bh
dGNoRXZlbnQoZXZlbnQpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCBkNGI5OWNjMGQ3YWYzZjA1ZDNh
YWM1MjViYjFiMDYxODcwMmQzMmQzLi4xNjI3NGU5NGFmMTBjOGQzODU0MGU5YzgzNTE5MjFjNzBi
OGY4ZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0
eVBvbGljeS5jcHAKQEAgLTgxNiw2ICs4MTYsNyBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6cmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmluZyYgZWZmZWN0aXZlVmlvbGF0ZWREaXJlYwog
ICAgIHZpb2xhdGlvbkV2ZW50SW5pdC5jb2x1bW5OdW1iZXIgPSBpbmZvLmNvbHVtbk51bWJlcjsK
ICAgICB2aW9sYXRpb25FdmVudEluaXQuc2FtcGxlID0gaW5mby5zYW1wbGU7CiAgICAgdmlvbGF0
aW9uRXZlbnRJbml0LmJ1YmJsZXMgPSB0cnVlOworICAgIHZpb2xhdGlvbkV2ZW50SW5pdC5jb21w
b3NlZCA9IHRydWU7CiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+ZW5xdWV1
ZVNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQoV1RGTW92ZSh2aW9sYXRpb25FdmVudEluaXQp
KTsKICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NzM5MzZiYjFhYzhkZjRiOWUwNzgwNjIyOTZjNzgyMzFj
YjY4NzE0Li4zOGVhYzY4YmVjZDE0OTk3NjA3MGFjNTU2YTQ0ZmEyNzJjMmRkN2JmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjItMDMtMDMgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5l
eUBhcHBsZS5jb20+CisKKyAgICAgICAgQ1NQIHJlcG9ydCBkb2VzIG5vdCBnZXQgc2VudCB0byB0
aGUgZG9jdW1lbnQgaW4gdGhlIGNhc2Ugb2YgYSBkZXRhY2hlZCBlbGVtZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc0NDAKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzg5MDgxNDYzPgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6
LgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVwb3J0LXZpb2xhdGlvbi10by1kb2N1bWVudC1hZnRlci1lbGVtZW50LWhhcy1iZWVuLWRldGFj
aGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXZpb2xhdGlvbi10by1kb2N1bWVudC1hZnRlci1l
bGVtZW50LWhhcy1iZWVuLWRldGFjaGVkLmh0bWw6IEFkZGVkLgorCiAyMDIyLTAzLTAzICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgV1BU
IGNzcy1zY3JvbGwtc25hcCB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXZpb2xhdGlvbi10by1kb2N1
bWVudC1hZnRlci1lbGVtZW50LWhhcy1iZWVuLWRldGFjaGVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC12
aW9sYXRpb24tdG8tZG9jdW1lbnQtYWZ0ZXItZWxlbWVudC1oYXMtYmVlbi1kZXRhY2hlZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQzOWU0ZTljNWU1OTE3Y2ZjZDlmMGZmMWExZGViMTdkMWE1
NDU3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC12aW9sYXRpb24tdG8tZG9jdW1lbnQtYWZ0ZXIt
ZWxlbWVudC1oYXMtYmVlbi1kZXRhY2hlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAor
Q09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBzY3JpcHQgYmVjYXVzZSBpdHMg
aGFzaCwgaXRzIG5vbmNlLCBvciAndW5zYWZlLWlubGluZScgZG9lcyBub3QgYXBwZWFyIGluIHRo
ZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBvZiB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCitU
ZXN0cyB0aGF0IGEgZGV0YWNoZWQgZWxlbWVudCBzZW5kcyBhIENTUCB2aW9sYXRpb24gcmVwb3J0
IHRvIGl0cyBkb2N1bWVudAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBT
dWNjZXNzZnVsbHkgcmVjZWl2ZWQgdmlvbGF0aW9uIGV2ZW50CitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXZpb2xhdGlv
bi10by1kb2N1bWVudC1hZnRlci1lbGVtZW50LWhhcy1iZWVuLWRldGFjaGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQt
dmlvbGF0aW9uLXRvLWRvY3VtZW50LWFmdGVyLWVsZW1lbnQtaGFzLWJlZW4tZGV0YWNoZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zOGI1NDdkMDRlZGE5ZDRkNWFkMWU2MWNmMTMyZDY4NWQzZjgyMWVlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXZpb2xhdGlvbi10by1kb2N1bWVudC1hZnRlci1lbGVtZW50
LWhhcy1iZWVuLWRldGFjaGVkLmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHkt
UG9saWN5IiBjb250ZW50PSJzY3JpcHQtc3JjICdzZWxmJyAnbm9uY2UtdGVzdCcgJ3Vuc2FmZS1l
dmFsJyI+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQgbm9uY2U9InRlc3QiPgorICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMg
dGhhdCBhIGRldGFjaGVkIGVsZW1lbnQgc2VuZHMgYSBDU1AgdmlvbGF0aW9uIHJlcG9ydCB0byBp
dHMgZG9jdW1lbnQiKTsKKworICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzZWN1
cml0eXBvbGljeXZpb2xhdGlvbicsIGUgPT4geworICAgICAgICAgICAgaWYgKGUuY29tcG9zZWQp
CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiU3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIHZpb2xh
dGlvbiBldmVudCIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoImNvbXBvc2VkIHZhbHVlIG5vdCBzZXQgb24gc2VjdXJpdHkgcG9saWN5IHZpb2xhdGlvbiIp
OworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAg
bGV0IGlubGluZVNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAg
ICAgICBpbmxpbmVTY3JpcHQuYXBwZW5kKCJhbGVydChGQUlMKSIpOworICAgICAgICAoZG9jdW1l
bnQuaGVhZCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKGlubGluZVNj
cmlwdCk7CisgICAgICAgIGlubGluZVNjcmlwdC5yZW1vdmUoKTsKKyAgICA8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>