<?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>235246</bug_id>
          
          <creation_ts>2022-01-14 12:29:40 -0800</creation_ts>
          <short_desc>AX: Fix disabled-controls-not-focusable.html in isolated tree mode by updating AXPropertyName::CanSetFocusAttribute when the disabled attribute changes</short_desc>
          <delta_ts>2022-01-15 09:24:35 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tyler Wilcock">tyler_w</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1831016</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-01-14 12:29:40 -0800</bug_when>
    <thetext>AX: Fix disabled-controls-not-focusable.html in isolated tree mode by updating AXPropertyName::CanSetFocusAttribute when the disabled attribute changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831017</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-14 12:29:52 -0800</bug_when>
    <thetext>&lt;rdar://problem/87613404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831022</commentid>
    <comment_count>2</comment_count>
      <attachid>449207</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-01-14 12:36:09 -0800</bug_when>
    <thetext>Created attachment 449207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831053</commentid>
    <comment_count>3</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-01-14 13:14:38 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #2)
&gt; Created attachment 449207 [details]
&gt; Patch

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

+        case AXDisabledStateChanged:
+            tree-&gt;updateNodeProperty(*notification.first, AXPropertyName::CanSetFocusAttribute);
+            break;

Add this same case to the updateIsolatedTree that takes a single notification as opposed to a vector of notifications.

--- a/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h
+++ a/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h
@@ -139,6 +139,7 @@ public:
     JSRetainPtr&lt;JSStringRef&gt; stringAttributeValue(NSString *attribute) const;
     double numberAttributeValue(NSString *attribute) const;
     RetainPtr&lt;id&gt; attributeValue(NSString *) const;
+    bool isAttributeSettable(NSString *) const;

Can we make this private?

--- a/LayoutTests/accessibility/disabled-controls-not-focusable.html
+++ a/LayoutTests/accessibility/disabled-controls-not-focusable.html

+        async function checkControl(id) {
+            window.element = document.getElementById(id);
+            debug(`Testing #${id}`);
+            element.focus();
+            await waitFor(() =&gt; {
+                window.axElement = accessibilityController.focusedElement;
+                return axElement &amp;&amp; accessibilityController.accessibleElementById(id);
+            });
+            shouldBeTrue(&quot;axElement.isFocusable&quot;);
+            debug(`Setting the disabled attribute of element #${id}`);
+            element.disabled = true;
+            await expectAsyncExpression(&quot;axElement.isFocusable&quot;, &quot;false&quot;);
+            debug(&quot;&quot;);
+        }

The order of operations looks weird to me. I think it should be:
1. Check that an axElement is focusable.
2. Then focus it.
3. Disable the DOM element.
4. Check that now is not focusable.

Not sure that we even have to do 2., because that&apos;s not what the test is testing, correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831076</commentid>
    <comment_count>4</comment_count>
      <attachid>449221</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-01-14 14:16:23 -0800</bug_when>
    <thetext>Created attachment 449221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831077</commentid>
    <comment_count>5</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-01-14 14:17:30 -0800</bug_when>
    <thetext>Thanks for the review -- addressed all of your comments in the latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831079</commentid>
    <comment_count>6</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-01-14 14:20:16 -0800</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #3)
&gt; (In reply to Tyler Wilcock from comment #2)
&gt; &gt; Created attachment 449207 [details]
&gt; &gt; Patch
&gt; 
&gt; --- a/Source/WebCore/accessibility/AXObjectCache.cpp
&gt; +++ a/Source/WebCore/accessibility/AXObjectCache.cpp
&gt; 
&gt; +        case AXDisabledStateChanged:
&gt; +            tree-&gt;updateNodeProperty(*notification.first,
&gt; AXPropertyName::CanSetFocusAttribute);
&gt; +            break;
&gt; 
&gt; Add this same case to the updateIsolatedTree that takes a single
&gt; notification as opposed to a vector of notifications.
We should refactor this such that we don&apos;t have to remember to add new notification handling in two places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831111</commentid>
    <comment_count>7</comment_count>
      <attachid>449231</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-01-14 15:25:56 -0800</bug_when>
    <thetext>Created attachment 449231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831201</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-15 09:24:33 -0800</bug_when>
    <thetext>Committed r288058 (246078@main): &lt;https://commits.webkit.org/246078@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449231.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449207</attachid>
            <date>2022-01-14 12:36:09 -0800</date>
            <delta_ts>2022-01-14 14:16:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235246-20220114143608.patch</filename>
            <type>text/plain</type>
            <size>13967</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQ1M2I0ZjVmMzNmMjM2
ODg0MGVlMjA5MDM0MTVhZDM4NzgyYTA2YS4uNDcwZmEzYzYzNjE0N2YzOTU3N2NlNjc5MzFhZDI2
MDcyOTZjZTBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTAxLTE0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEZpeCBkaXNhYmxl
ZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLmh0bWwgaW4gaXNvbGF0ZWQgdHJlZSBtb2RlIGJ5IHVw
ZGF0aW5nIEFYUHJvcGVydHlOYW1lOjpDYW5TZXRGb2N1c0F0dHJpYnV0ZSB3aGVuIHRoZSBkaXNh
YmxlZCBhdHRyaWJ1dGUgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM1MjQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRml4ZXMgZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1s
IGluIGlzb2xhdGVkIHRyZWUgbW9kZS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRy
aWJ1dGVDaGFuZ2UpOgorICAgICAgICBQb3N0IGEgQVhEaXNhYmxlZFN0YXRlQ2hhbmdlZCBub3Rp
ZmljYXRpb24gd2hlbiB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIGNoYW5nZXMuCisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUpOgorICAgICAgICBIYW5k
bGUgdGhlIEFYRGlzYWJsZWRTdGF0ZUNoYW5nZWQgbm90aWZpY2F0aW9uIHRvIHVwZGF0ZSBBWFBy
b3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUuCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhJ
c29sYXRlZFRyZWU6OnVwZGF0ZU5vZGVQcm9wZXJ0eSk6CisgICAgICAgIFJlLWNvbXB1dGUgQVhQ
cm9wZXJ0eU5hbWU6OkNhblNldEZvY3VzQXR0cmlidXRlIHdoZW4gYXNrZWQgdG8gZG8gc28uCisK
IDIwMjItMDEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZWdyZXNzaW9uKHIyODE1MjApIDMgc3VidGVzdHMgc3RhcnRlZCBmYWlsaW5nIG9uIGRvbS90cmF2
ZXJzYWwvVHJlZVdhbGtlci1hY2NlcHROb2RlLWZpbHRlci1jcm9zcy1yZWFsbS5odG1sIFdQVCB0
ZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApp
bmRleCAyNmIxMjdmODBiZTMzMTMwNTAwMzJhNTY0NzZjZjEzOGMyNjUwMjRlLi43OGJjMzhjZGU5
YjM2ZTgxZDZlYWE5N2IyOTJhOTQ1MzdjN2IzYjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTE3OTEsNiArMTc5MSw4IEBAIHZvaWQg
QVhPYmplY3RDYWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJOYW1lLCBFbGVtZW50CiAgICAgICAgIGhhbmRsZUFyaWFSb2xlQ2hhbmdlZChlbGVtZW50
KTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhbHRBdHRyIHx8IGF0dHJOYW1lID09IHRpdGxl
QXR0cikKICAgICAgICAgdGV4dENoYW5nZWQoZWxlbWVudCk7CisgICAgZWxzZSBpZiAoYXR0ck5h
bWUgPT0gZGlzYWJsZWRBdHRyKQorICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFY
T2JqZWN0Q2FjaGU6OkFYRGlzYWJsZWRTdGF0ZUNoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0dHJO
YW1lID09IGZvckF0dHIgJiYgaXM8SFRNTExhYmVsRWxlbWVudD4oKmVsZW1lbnQpKQogICAgICAg
ICBsYWJlbENoYW5nZWQoZWxlbWVudCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gdGFiaW5k
ZXhBdHRyKQpAQCAtMzM3Niw2ICszMzc4LDkgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJ
c29sYXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QVhDb3JlT2JqZWMKICAg
ICAgICAgY2FzZSBBWENoZWNrZWRTdGF0ZUNoYW5nZWQ6CiAgICAgICAgICAgICB0cmVlLT51cGRh
dGVOb2RlUHJvcGVydHkoKm5vdGlmaWNhdGlvbi5maXJzdCwgQVhQcm9wZXJ0eU5hbWU6OklzQ2hl
Y2tlZCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWERpc2FibGVkU3RhdGVD
aGFuZ2VkOgorICAgICAgICAgICAgdHJlZS0+dXBkYXRlTm9kZVByb3BlcnR5KCpub3RpZmljYXRp
b24uZmlyc3QsIEFYUHJvcGVydHlOYW1lOjpDYW5TZXRGb2N1c0F0dHJpYnV0ZSk7CisgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWFNvcnREaXJlY3Rpb25DaGFuZ2VkOgogICAgICAg
ICAgICAgdHJlZS0+dXBkYXRlTm9kZVByb3BlcnR5KCpub3RpZmljYXRpb24uZmlyc3QsIEFYUHJv
cGVydHlOYW1lOjpTb3J0RGlyZWN0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRy
ZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29s
YXRlZFRyZWUuY3BwCmluZGV4IDFhNDFkMTMwNTI1MjFkMjA4Y2M5YWNmZDU1NzE2Y2E2NDdjYTQ5
NDYuLmM2NzFmNzFlZGI3ZjdiOWQzZTU2ZjY1NzM4OTYyMGE3NzI1MWNhZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZS5jcHAKQEAgLTI3MSw2ICsyNzEsOSBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjp1
cGRhdGVOb2RlUHJvcGVydHkoY29uc3QgQVhDb3JlT2JqZWN0JiBheE9iamVjdCwgQVhQcm9wZXJ0
eQogCiAgICAgQVhQcm9wZXJ0eU1hcCBwcm9wZXJ0eU1hcDsKICAgICBzd2l0Y2ggKHByb3BlcnR5
KSB7CisgICAgY2FzZSBBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGU6CisgICAg
ICAgIHByb3BlcnR5TWFwLnNldChBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUs
IGF4T2JqZWN0LmNhblNldEZvY3VzQXR0cmlidXRlKCkpOworICAgICAgICBicmVhazsKICAgICBj
YXNlIEFYUHJvcGVydHlOYW1lOjpJc0NoZWNrZWQ6CiAgICAgICAgIHByb3BlcnR5TWFwLnNldChB
WFByb3BlcnR5TmFtZTo6SXNDaGVja2VkLCBheE9iamVjdC5pc0NoZWNrZWQoKSk7CiAgICAgICAg
IGJyZWFrOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDVhM2JlZWNjZTdjNjI4NDQyZjM4N2I0NzQ4ZTk1MDdhNDYwMTVmYjMuLmYwMTY1ZmQ0YzM1
NGUyMjE4MjQ3NTc5MGVkZDJiMTViYTYwYTY1NTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMi0wMS0xNCAgVHls
ZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBGaXggZGlzYWJs
ZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1sIGluIGlzb2xhdGVkIHRyZWUgbW9kZSBieSB1
cGRhdGluZyBBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUgd2hlbiB0aGUgZGlz
YWJsZWQgYXR0cmlidXRlIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNTI0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Lmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTZXR0YWJsZSk6CisgICAgICAgIFVzZSBu
ZXcgaXNBdHRyaWJ1dGVTZXR0YWJsZShOU1N0cmluZyAqYXR0cmlidXRlKSBoZWxwZXIgZnVuY3Rp
b24uCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXR0cmlidXRlU2V0
dGFibGUgY29uc3QpOgorICAgICAgICBBZGRlZC4gRGlzcGF0Y2hlcyBjYWxsIHRvIGFjY2Vzc2li
aWxpdHlJc0F0dHJpYnV0ZVNldHRhYmxlIG9uIHRoZSBBWCB0aHJlYWQuCisKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNGb2N1c2FibGUgY29uc3QpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGFibGUgY29uc3QpOgorICAgICAg
ICBVc2UgbmV3IGlzQXR0cmlidXRlU2V0dGFibGUgdG8gcmVkdWNlIHJlcGV0aXRpb24uCisKIDIw
MjItMDEtMTMgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAg
IFtFV1NdIFN1cHBvcnQgcHVsbC1yZXF1ZXN0cyBpbiBWYWxpZGF0ZUNoYW5nZQpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuaAppbmRleCBmYWY4YTQ1NjE0MmU1MWQyN2QyMWMzZDMyZGUzMWNkYTkx
ZjJmZTdlLi5iM2JhNjQ2OTMxNDQ2ZjMzYWNmMTgwNTViYjBhNTI0ZWNjMTg0MWE0IDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMTM5LDYgKzEzOSw3IEBAIHB1YmxpYzoKICAgICBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gc3RyaW5nQXR0cmlidXRlVmFsdWUoTlNTdHJpbmcgKmF0
dHJpYnV0ZSkgY29uc3Q7CiAgICAgZG91YmxlIG51bWJlckF0dHJpYnV0ZVZhbHVlKE5TU3RyaW5n
ICphdHRyaWJ1dGUpIGNvbnN0OwogICAgIFJldGFpblB0cjxpZD4gYXR0cmlidXRlVmFsdWUoTlNT
dHJpbmcgKikgY29uc3Q7CisgICAgYm9vbCBpc0F0dHJpYnV0ZVNldHRhYmxlKE5TU3RyaW5nICop
IGNvbnN0OwogICAgIHZvaWQgYXR0cmlidXRlVmFsdWVBc3luYyhKU1N0cmluZ1JlZiBhdHRyaWJ1
dGUsIEpTVmFsdWVSZWYgY2FsbGJhY2spOwogI2Vsc2UKICAgICB2b2lkIGF0dHJpYnV0ZVZhbHVl
QXN5bmMoSlNTdHJpbmdSZWYgYXR0cmlidXRlLCBKU1ZhbHVlUmVmIGNhbGxiYWNrKSB7IH0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCmluZGV4IGJlMDcxNmQzYjZl
YzUzMzA0YTMzYzBmZDNjZTk0NTZmMTQyYzVjMmUuLjYzNTUxOWNkYzg0OGYwZWVlYTgyYzIwYzg5
YzY5ZjlkYzA2ZWFhYTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1h
Yy5tbQpAQCAtNjk5LDExICs2OTksMjAgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
ZXRWYWx1ZShKU1N0cmluZ1JlZiB2YWx1ZSkKIAogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc0F0dHJpYnV0ZVNldHRhYmxlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkKIHsKKyAgICByZXR1
cm4gaXNBdHRyaWJ1dGVTZXR0YWJsZShbTlNTdHJpbmcgc3RyaW5nV2l0aEpTU3RyaW5nUmVmOmF0
dHJpYnV0ZV0pOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXR0cmlidXRl
U2V0dGFibGUoTlNTdHJpbmcgKmF0dHJpYnV0ZSkgY29uc3QKK3sKKyAgICBib29sIHZhbHVlID0g
ZmFsc2U7CisKICAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKLSAgICByZXR1cm4gW21fZWxl
bWVudCBhY2Nlc3NpYmlsaXR5SXNBdHRyaWJ1dGVTZXR0YWJsZTpbTlNTdHJpbmcgc3RyaW5nV2l0
aEpTU3RyaW5nUmVmOmF0dHJpYnV0ZV1dOworICAgIHNfY29udHJvbGxlci0+ZXhlY3V0ZU9uQVhU
aHJlYWRBbmRXYWl0KFt0aGlzLCAmYXR0cmlidXRlLCAmdmFsdWVdIHsKKyAgICAgICAgdmFsdWUg
PSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlJc0F0dHJpYnV0ZVNldHRhYmxlOmF0dHJpYnV0ZV07
CisgICAgfSk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwotICAgIAotICAgIHJldHVybiBm
YWxzZTsKKworICAgIHJldHVybiB2YWx1ZTsKIH0KIAogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0F0dHJpYnV0ZVN1cHBvcnRlZChKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpCkBAIC0xNjM2
LDIwICsxNjQ1LDEyIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3ZlTm90aWZp
Y2F0aW9uTGlzdGVuZXIoKQogCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNh
YmxlKCkgY29uc3QKIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIEJFR0lOX0FYX09C
SkNfRVhDRVBUSU9OUwotICAgIHJlc3VsdCA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUlzQXR0
cmlidXRlU2V0dGFibGU6TlNBY2Nlc3NpYmlsaXR5Rm9jdXNlZEF0dHJpYnV0ZV07Ci0gICAgRU5E
X0FYX09CSkNfRVhDRVBUSU9OUwotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGlzQXR0
cmlidXRlU2V0dGFibGUoTlNBY2Nlc3NpYmlsaXR5Rm9jdXNlZEF0dHJpYnV0ZSk7CiB9CiAKIGJv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3RhYmxlKCkgY29uc3QKIHsKLSAgICBi
b29sIHJlc3VsdCA9IGZhbHNlOwotICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwotICAgIHJl
c3VsdCA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0dGFibGU6TlNBY2Nl
c3NpYmlsaXR5U2VsZWN0ZWRBdHRyaWJ1dGVdOwotICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMK
LSAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBpc0F0dHJpYnV0ZVNldHRhYmxlKE5TQWNj
ZXNzaWJpbGl0eVNlbGVjdGVkQXR0cmlidXRlKTsKIH0KIAogYm9vbCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc011bHRpU2VsZWN0YWJsZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzgyYjQzYjkzMWU4ZDFi
NWEyM2FlYTgyMGM2ODU1MmVmZGM5NTlhYy4uOWM3NTdiOWViZmJlNDY1MjI5OTU5Y2QwZWM2ZGI3
MjUxYjhkMTIzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAxLTE0ICBUeWxlciBXaWxj
b2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEZpeCBkaXNhYmxlZC1jb250
cm9scy1ub3QtZm9jdXNhYmxlLmh0bWwgaW4gaXNvbGF0ZWQgdHJlZSBtb2RlIGJ5IHVwZGF0aW5n
IEFYUHJvcGVydHlOYW1lOjpDYW5TZXRGb2N1c0F0dHJpYnV0ZSB3aGVuIHRoZSBkaXNhYmxlZCBh
dHRyaWJ1dGUgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM1MjQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Rpc2FibGVkLWNvbnRyb2xzLW5vdC1mb2N1c2FibGUt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZGlzYWJsZWQtY29udHJvbHMt
bm90LWZvY3VzYWJsZS5odG1sOgorICAgICAgICBNYWtlIHRoaXMgdGVzdCBhc3luYyBzbyB0aGF0
IGl0IGNhbiBwYXNzIGluIGlzb2xhdGVkIHRyZWUgbW9kZS4gVGhpcworICAgICAgICB0ZXN0IG11
c3QgYmUgYXN5bmMgYmVjYXVzZSBpdCBkeW5hbWljYWxseSBjaGFuZ2VzIHRoZSBkaXNhYmxlZAor
ICAgICAgICBhdHRyaWJ1dGUgdmlhIEpTLgorCiAyMDIyLTAxLTE0ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVncmVzc2lvbihyMjgxNTIwKSAzIHN1YnRlc3Rz
IHN0YXJ0ZWQgZmFpbGluZyBvbiBkb20vdHJhdmVyc2FsL1RyZWVXYWxrZXItYWNjZXB0Tm9kZS1m
aWx0ZXItY3Jvc3MtcmVhbG0uaHRtbCBXUFQgdGVzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3Vz
YWJsZS1leHBlY3RlZC50eHQKaW5kZXggNzgwMzUwZDcxZDUwZGVmNWI0YzVhZGM5MGU0YTA4OTQy
MGY1MDkxZi4uNDE1Zjg3NGU4ZTE3NTgyZTIyYjEyNDQ0YzRiMjJhZWJlMTlhNzgwNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1jb250cm9scy1ub3QtZm9j
dXNhYmxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2Rpc2Fi
bGVkLWNvbnRyb2xzLW5vdC1mb2N1c2FibGUtZXhwZWN0ZWQudHh0CkBAIC0xLDM2ICsxLDUzIEBA
Ci0KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgZGlzYWJsZWQgZm9ybSBjb250cm9scyBhcmUg
bm90IGV4cG9zZWQgYXMgZm9jdXNhYmxlLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAK
IAotYnV0dG9uCitUZXN0aW5nICNidXR0b24KIFBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlz
IHRydWUKLVBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIGZhbHNlCi10ZXh0CitTZXR0aW5n
IHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAjYnV0dG9uCitQQVNTIGF4RWxlbWVu
dC5pc0ZvY3VzYWJsZSA9PT0gZmFsc2UKKworVGVzdGluZyAjdGV4dAogUEFTUyBheEVsZW1lbnQu
aXNGb2N1c2FibGUgaXMgdHJ1ZQotUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgZmFsc2UK
LWNoZWNrYm94CitTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAjdGV4
dAorUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgPT09IGZhbHNlCisKK1Rlc3RpbmcgI2NoZWNr
Ym94CiBQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyB0cnVlCi1QQVNTIGF4RWxlbWVudC5p
c0ZvY3VzYWJsZSBpcyBmYWxzZQotcmFkaW8KK1NldHRpbmcgdGhlIGRpc2FibGVkIGF0dHJpYnV0
ZSBvZiBlbGVtZW50ICNjaGVja2JveAorUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgPT09IGZh
bHNlCisKK1Rlc3RpbmcgI3JhZGlvCiBQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyB0cnVl
Ci1QQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyBmYWxzZQotc3VibWl0CitTZXR0aW5nIHRo
ZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAjcmFkaW8KK1BBU1MgYXhFbGVtZW50Lmlz
Rm9jdXNhYmxlID09PSBmYWxzZQorCitUZXN0aW5nICNzdWJtaXQKIFBBU1MgYXhFbGVtZW50Lmlz
Rm9jdXNhYmxlIGlzIHRydWUKLVBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIGZhbHNlCi1z
bGlkZXIKK1NldHRpbmcgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBlbGVtZW50ICNzdWJtaXQK
K1BBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlID09PSBmYWxzZQorCitUZXN0aW5nICNzbGlkZXIK
IFBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIHRydWUKLVBBU1MgYXhFbGVtZW50LmlzRm9j
dXNhYmxlIGlzIGZhbHNlCi1jb21ib2JveAorU2V0dGluZyB0aGUgZGlzYWJsZWQgYXR0cmlidXRl
IG9mIGVsZW1lbnQgI3NsaWRlcgorUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgPT09IGZhbHNl
CisKK1Rlc3RpbmcgI2NvbWJvYm94CiBQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyB0cnVl
Ci1QQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyBmYWxzZQotbGlzdGJveAorU2V0dGluZyB0
aGUgZGlzYWJsZWQgYXR0cmlidXRlIG9mIGVsZW1lbnQgI2NvbWJvYm94CitQQVNTIGF4RWxlbWVu
dC5pc0ZvY3VzYWJsZSA9PT0gZmFsc2UKKworVGVzdGluZyAjbGlzdGJveAogUEFTUyBheEVsZW1l
bnQuaXNGb2N1c2FibGUgaXMgdHJ1ZQotUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgZmFs
c2UKLXRleHRhcmVhCitTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAj
bGlzdGJveAorUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgPT09IGZhbHNlCisKK1Rlc3Rpbmcg
I3RleHRhcmVhCiBQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyB0cnVlCi1QQVNTIGF4RWxl
bWVudC5pc0ZvY3VzYWJsZSBpcyBmYWxzZQorU2V0dGluZyB0aGUgZGlzYWJsZWQgYXR0cmlidXRl
IG9mIGVsZW1lbnQgI3RleHRhcmVhCitQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSA9PT0gZmFs
c2UKKwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2Rpc2FibGVkLWNvbnRyb2xzLW5v
dC1mb2N1c2FibGUuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGlzYWJsZWQtY29u
dHJvbHMtbm90LWZvY3VzYWJsZS5odG1sCmluZGV4IDdlNDAwNzEyM2MyNWM1NGU3ODNjMDA0ZWFh
MjI4ZjY2NDNkMzlmM2UuLjdmY2I1YzczMTdmOWZmYWU0YmY3NzljYjg3MTNiZGQwMWViM2I1Yjkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGlzYWJsZWQtY29udHJvbHMt
bm90LWZvY3VzYWJsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGlzYWJs
ZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1sCkBAIC0xLDcgKzEsMTAgQEAKLTwhRE9DVFlQ
RSBIVE1MPgorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgog
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KIDxib2R5PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiAKIDxkaXY+CiAgIDxidXR0b24gaWQ9ImJ1dHRvbiI+
PC9idXR0b24+CkBAIC0xNSwzNiArMTgsNDAgQEAKICAgPHRleHRhcmVhIGlkPSJ0ZXh0YXJlYSI+
PC90ZXh0YXJlYT4KIDwvZGl2PgogCi08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQ+
Ci1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBkaXNhYmxlZCBmb3JtIGNv
bnRyb2xzIGFyZSBub3QgZXhwb3NlZCBhcyBmb2N1c2FibGUuIik7CisgICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgZGlzYWJsZWQgZm9ybSBjb250cm9scyBhcmUgbm90
IGV4cG9zZWQgYXMgZm9jdXNhYmxlLiIpOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0gICAgd2luZG93LnRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gY2hlY2tDb250cm9sKGlkKSB7CisgICAgICAgICAgICB3aW5k
b3cuZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICAgICAgICAgIGRl
YnVnKGBUZXN0aW5nICMke2lkfWApOworICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpOworICAg
ICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7CisgICAgICAgICAgICAgICAgd2luZG93LmF4
RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAgICAg
ICAgICAgICAgIHJldHVybiBheEVsZW1lbnQgJiYgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKGlkKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgc2hv
dWxkQmVUcnVlKCJheEVsZW1lbnQuaXNGb2N1c2FibGUiKTsKKyAgICAgICAgICAgIGRlYnVnKGBT
ZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAjJHtpZH1gKTsKKyAgICAg
ICAgICAgIGVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOworICAgICAgICAgICAgYXdhaXQgZXhwZWN0
QXN5bmNFeHByZXNzaW9uKCJheEVsZW1lbnQuaXNGb2N1c2FibGUiLCAiZmFsc2UiKTsKKyAgICAg
ICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgfQogCi0gICAgZnVuY3Rpb24gY2hlY2tDb250cm9s
KGlkKSB7Ci0gICAgICAgIHdpbmRvdy5lbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
aWQpOwotICAgICAgICBkZWJ1ZyhlbGVtZW50LmlkKTsKLSAgICAgICAgZWxlbWVudC5mb2N1cygp
OwotICAgICAgICB3aW5kb3cuYXhFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9j
dXNlZEVsZW1lbnQ7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgiYXhFbGVtZW50LmlzRm9jdXNhYmxl
Iik7Ci0gICAgICAgIGVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOwotICAgICAgICBzaG91bGRCZUZh
bHNlKCJheEVsZW1lbnQuaXNGb2N1c2FibGUiKTsKLSAgICB9Ci0KLSAgICBjaGVja0NvbnRyb2wo
ImJ1dHRvbiIpOwotICAgIGNoZWNrQ29udHJvbCgidGV4dCIpOwotICAgIGNoZWNrQ29udHJvbCgi
Y2hlY2tib3giKTsKLSAgICBjaGVja0NvbnRyb2woInJhZGlvIik7Ci0gICAgY2hlY2tDb250cm9s
KCJzdWJtaXQiKTsKLSAgICBjaGVja0NvbnRyb2woInNsaWRlciIpOwotICAgIGNoZWNrQ29udHJv
bCgiY29tYm9ib3giKTsKLSAgICBjaGVja0NvbnRyb2woImxpc3Rib3giKTsKLSAgICBjaGVja0Nv
bnRyb2woInRleHRhcmVhIik7Ci19CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKyAgICAgICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGF3
YWl0IGNoZWNrQ29udHJvbCgiYnV0dG9uIik7CisgICAgICAgICAgICBhd2FpdCBjaGVja0NvbnRy
b2woInRleHQiKTsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNrQ29udHJvbCgiY2hlY2tib3giKTsK
KyAgICAgICAgICAgIGF3YWl0IGNoZWNrQ29udHJvbCgicmFkaW8iKTsKKyAgICAgICAgICAgIGF3
YWl0IGNoZWNrQ29udHJvbCgic3VibWl0Iik7CisgICAgICAgICAgICBhd2FpdCBjaGVja0NvbnRy
b2woInNsaWRlciIpOworICAgICAgICAgICAgYXdhaXQgY2hlY2tDb250cm9sKCJjb21ib2JveCIp
OworICAgICAgICAgICAgYXdhaXQgY2hlY2tDb250cm9sKCJsaXN0Ym94Iik7CisgICAgICAgICAg
ICBhd2FpdCBjaGVja0NvbnRyb2woInRleHRhcmVhIik7CiAKKyAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICB9LCAwKTsKKyAgICB9CiA8L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449221</attachid>
            <date>2022-01-14 14:16:23 -0800</date>
            <delta_ts>2022-01-14 15:25:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235246-20220114161622.patch</filename>
            <type>text/plain</type>
            <size>14829</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQ1M2I0ZjVmMzNmMjM2
ODg0MGVlMjA5MDM0MTVhZDM4NzgyYTA2YS4uNDcwZmEzYzYzNjE0N2YzOTU3N2NlNjc5MzFhZDI2
MDcyOTZjZTBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTAxLTE0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEZpeCBkaXNhYmxl
ZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLmh0bWwgaW4gaXNvbGF0ZWQgdHJlZSBtb2RlIGJ5IHVw
ZGF0aW5nIEFYUHJvcGVydHlOYW1lOjpDYW5TZXRGb2N1c0F0dHJpYnV0ZSB3aGVuIHRoZSBkaXNh
YmxlZCBhdHRyaWJ1dGUgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM1MjQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRml4ZXMgZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1s
IGluIGlzb2xhdGVkIHRyZWUgbW9kZS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRy
aWJ1dGVDaGFuZ2UpOgorICAgICAgICBQb3N0IGEgQVhEaXNhYmxlZFN0YXRlQ2hhbmdlZCBub3Rp
ZmljYXRpb24gd2hlbiB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIGNoYW5nZXMuCisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUpOgorICAgICAgICBIYW5k
bGUgdGhlIEFYRGlzYWJsZWRTdGF0ZUNoYW5nZWQgbm90aWZpY2F0aW9uIHRvIHVwZGF0ZSBBWFBy
b3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUuCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhJ
c29sYXRlZFRyZWU6OnVwZGF0ZU5vZGVQcm9wZXJ0eSk6CisgICAgICAgIFJlLWNvbXB1dGUgQVhQ
cm9wZXJ0eU5hbWU6OkNhblNldEZvY3VzQXR0cmlidXRlIHdoZW4gYXNrZWQgdG8gZG8gc28uCisK
IDIwMjItMDEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZWdyZXNzaW9uKHIyODE1MjApIDMgc3VidGVzdHMgc3RhcnRlZCBmYWlsaW5nIG9uIGRvbS90cmF2
ZXJzYWwvVHJlZVdhbGtlci1hY2NlcHROb2RlLWZpbHRlci1jcm9zcy1yZWFsbS5odG1sIFdQVCB0
ZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApp
bmRleCAyNmIxMjdmODBiZTMzMTMwNTAwMzJhNTY0NzZjZjEzOGMyNjUwMjRlLi4wNzg1M2I5NDZi
M2Q3Zjk3MGExYzU0ODllMGU5ZTBmMDZiNzQ4MzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTE3OTEsNiArMTc5MSw4IEBAIHZvaWQg
QVhPYmplY3RDYWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJOYW1lLCBFbGVtZW50CiAgICAgICAgIGhhbmRsZUFyaWFSb2xlQ2hhbmdlZChlbGVtZW50
KTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhbHRBdHRyIHx8IGF0dHJOYW1lID09IHRpdGxl
QXR0cikKICAgICAgICAgdGV4dENoYW5nZWQoZWxlbWVudCk7CisgICAgZWxzZSBpZiAoYXR0ck5h
bWUgPT0gZGlzYWJsZWRBdHRyKQorICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFY
T2JqZWN0Q2FjaGU6OkFYRGlzYWJsZWRTdGF0ZUNoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0dHJO
YW1lID09IGZvckF0dHIgJiYgaXM8SFRNTExhYmVsRWxlbWVudD4oKmVsZW1lbnQpKQogICAgICAg
ICBsYWJlbENoYW5nZWQoZWxlbWVudCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gdGFiaW5k
ZXhBdHRyKQpAQCAtMzMwNCw2ICszMzA2LDkgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJ
c29sYXRlZFRyZWUoQVhDb3JlT2JqZWN0JiBvYmplY3QsIEFYTm90aWZpY2F0aW9uIG5vdGkKICAg
ICBjYXNlIEFYQ2hlY2tlZFN0YXRlQ2hhbmdlZDoKICAgICAgICAgdHJlZS0+dXBkYXRlTm9kZVBy
b3BlcnR5KG9iamVjdCwgQVhQcm9wZXJ0eU5hbWU6OklzQ2hlY2tlZCk7CiAgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQVhEaXNhYmxlZFN0YXRlQ2hhbmdlZDoKKyAgICAgICAgdHJlZS0+dXBkYXRl
Tm9kZVByb3BlcnR5KG9iamVjdCwgQVhQcm9wZXJ0eU5hbWU6OkNhblNldEZvY3VzQXR0cmlidXRl
KTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBWFNvcnREaXJlY3Rpb25DaGFuZ2VkOgogICAg
ICAgICB0cmVlLT51cGRhdGVOb2RlUHJvcGVydHkob2JqZWN0LCBBWFByb3BlcnR5TmFtZTo6U29y
dERpcmVjdGlvbik7CiAgICAgICAgIGJyZWFrOwpAQCAtMzM3Niw2ICszMzgxLDkgQEAgdm9pZCBB
WE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxS
ZWZQdHI8QVhDb3JlT2JqZWMKICAgICAgICAgY2FzZSBBWENoZWNrZWRTdGF0ZUNoYW5nZWQ6CiAg
ICAgICAgICAgICB0cmVlLT51cGRhdGVOb2RlUHJvcGVydHkoKm5vdGlmaWNhdGlvbi5maXJzdCwg
QVhQcm9wZXJ0eU5hbWU6OklzQ2hlY2tlZCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBBWERpc2FibGVkU3RhdGVDaGFuZ2VkOgorICAgICAgICAgICAgdHJlZS0+dXBkYXRlTm9k
ZVByb3BlcnR5KCpub3RpZmljYXRpb24uZmlyc3QsIEFYUHJvcGVydHlOYW1lOjpDYW5TZXRGb2N1
c0F0dHJpYnV0ZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWFNvcnREaXJl
Y3Rpb25DaGFuZ2VkOgogICAgICAgICAgICAgdHJlZS0+dXBkYXRlTm9kZVByb3BlcnR5KCpub3Rp
ZmljYXRpb24uZmlyc3QsIEFYUHJvcGVydHlOYW1lOjpTb3J0RGlyZWN0aW9uKTsKICAgICAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCmluZGV4IDFhNDFkMTMwNTI1MjFkMjA4
Y2M5YWNmZDU1NzE2Y2E2NDdjYTQ5NDYuLmM2NzFmNzFlZGI3ZjdiOWQzZTU2ZjY1NzM4OTYyMGE3
NzI1MWNhZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKQEAgLTI3MSw2ICsyNzEsOSBAQCB2
b2lkIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVOb2RlUHJvcGVydHkoY29uc3QgQVhDb3JlT2JqZWN0
JiBheE9iamVjdCwgQVhQcm9wZXJ0eQogCiAgICAgQVhQcm9wZXJ0eU1hcCBwcm9wZXJ0eU1hcDsK
ICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7CisgICAgY2FzZSBBWFByb3BlcnR5TmFtZTo6Q2FuU2V0
Rm9jdXNBdHRyaWJ1dGU6CisgICAgICAgIHByb3BlcnR5TWFwLnNldChBWFByb3BlcnR5TmFtZTo6
Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUsIGF4T2JqZWN0LmNhblNldEZvY3VzQXR0cmlidXRlKCkpOwor
ICAgICAgICBicmVhazsKICAgICBjYXNlIEFYUHJvcGVydHlOYW1lOjpJc0NoZWNrZWQ6CiAgICAg
ICAgIHByb3BlcnR5TWFwLnNldChBWFByb3BlcnR5TmFtZTo6SXNDaGVja2VkLCBheE9iamVjdC5p
c0NoZWNrZWQoKSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDVhM2JlZWNjZTdjNjI4NDQyZjM4N2I0NzQ4ZTk1MDdh
NDYwMTVmYjMuLmYwMTY1ZmQ0YzM1NGUyMjE4MjQ3NTc5MGVkZDJiMTViYTYwYTY1NTIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAyMi0wMS0xNCAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgorCisg
ICAgICAgIEFYOiBGaXggZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1sIGluIGlz
b2xhdGVkIHRyZWUgbW9kZSBieSB1cGRhdGluZyBBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNB
dHRyaWJ1dGUgd2hlbiB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIGNoYW5nZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTI0NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmg6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5t
bToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTZXR0
YWJsZSk6CisgICAgICAgIFVzZSBuZXcgaXNBdHRyaWJ1dGVTZXR0YWJsZShOU1N0cmluZyAqYXR0
cmlidXRlKSBoZWxwZXIgZnVuY3Rpb24uCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzQXR0cmlidXRlU2V0dGFibGUgY29uc3QpOgorICAgICAgICBBZGRlZC4gRGlzcGF0
Y2hlcyBjYWxsIHRvIGFjY2Vzc2liaWxpdHlJc0F0dHJpYnV0ZVNldHRhYmxlIG9uIHRoZSBBWCB0
aHJlYWQuCisKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNGb2N1c2Fi
bGUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVj
dGFibGUgY29uc3QpOgorICAgICAgICBVc2UgbmV3IGlzQXR0cmlidXRlU2V0dGFibGUgdG8gcmVk
dWNlIHJlcGV0aXRpb24uCisKIDIwMjItMDEtMTMgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtFV1NdIFN1cHBvcnQgcHVsbC1yZXF1ZXN0cyBpbiBWYWxp
ZGF0ZUNoYW5nZQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAppbmRleCBmYWY4YTQ1NjE0MmU1
MWQyN2QyMWMzZDMyZGUzMWNkYTkxZjJmZTdlLi4yOGY5YzAzY2JhODdjNDYzYjdhYWY4NTY0MGFj
NGIyODZiYTRlOGRiIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMTM1LDkgKzEz
NSw2IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gdWlFbGVt
ZW50QXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKSBjb25zdDsKICAgICBib29s
IGJvb2xBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpOwogI2lmIFBMQVRGT1JN
KE1BQykKLSAgICBib29sIGJvb2xBdHRyaWJ1dGVWYWx1ZShOU1N0cmluZyAqYXR0cmlidXRlKSBj
b25zdDsKLSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gc3RyaW5nQXR0cmlidXRlVmFsdWUo
TlNTdHJpbmcgKmF0dHJpYnV0ZSkgY29uc3Q7Ci0gICAgZG91YmxlIG51bWJlckF0dHJpYnV0ZVZh
bHVlKE5TU3RyaW5nICphdHRyaWJ1dGUpIGNvbnN0OwogICAgIFJldGFpblB0cjxpZD4gYXR0cmli
dXRlVmFsdWUoTlNTdHJpbmcgKikgY29uc3Q7CiAgICAgdm9pZCBhdHRyaWJ1dGVWYWx1ZUFzeW5j
KEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSwgSlNWYWx1ZVJlZiBjYWxsYmFjayk7CiAjZWxzZQpAQCAt
NDA5LDYgKzQwNiwxMCBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICBSZXRhaW5Q
dHI8aWQ+IGF0dHJpYnV0ZVZhbHVlRm9yUGFyYW1ldGVyKE5TU3RyaW5nICosIGlkKSBjb25zdDsK
ICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IGRlc2NyaXB0aW9uT2ZWYWx1ZShpZCB2YWx1ZU9iamVj
dCkgY29uc3Q7CisgICAgYm9vbCBib29sQXR0cmlidXRlVmFsdWUoTlNTdHJpbmcgKmF0dHJpYnV0
ZSkgY29uc3Q7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHN0cmluZ0F0dHJpYnV0ZVZh
bHVlKE5TU3RyaW5nICphdHRyaWJ1dGUpIGNvbnN0OworICAgIGRvdWJsZSBudW1iZXJBdHRyaWJ1
dGVWYWx1ZShOU1N0cmluZyAqYXR0cmlidXRlKSBjb25zdDsKKyAgICBib29sIGlzQXR0cmlidXRl
U2V0dGFibGUoTlNTdHJpbmcgKikgY29uc3Q7CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NP
QSkgJiYgIVVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFj
Lm1tCmluZGV4IGJlMDcxNmQzYjZlYzUzMzA0YTMzYzBmZDNjZTk0NTZmMTQyYzVjMmUuLjYzNTUx
OWNkYzg0OGYwZWVlYTgyYzIwYzg5YzY5ZjlkYzA2ZWFhYTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRN
YWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtNjk5LDExICs2OTksMjAgQEAgdm9pZCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpzZXRWYWx1ZShKU1N0cmluZ1JlZiB2YWx1ZSkKIAogYm9vbCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVNldHRhYmxlKEpTU3RyaW5nUmVmIGF0
dHJpYnV0ZSkKIHsKKyAgICByZXR1cm4gaXNBdHRyaWJ1dGVTZXR0YWJsZShbTlNTdHJpbmcgc3Ry
aW5nV2l0aEpTU3RyaW5nUmVmOmF0dHJpYnV0ZV0pOworfQorCitib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzQXR0cmlidXRlU2V0dGFibGUoTlNTdHJpbmcgKmF0dHJpYnV0ZSkgY29uc3QK
K3sKKyAgICBib29sIHZhbHVlID0gZmFsc2U7CisKICAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElP
TlMKLSAgICByZXR1cm4gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5SXNBdHRyaWJ1dGVTZXR0YWJs
ZTpbTlNTdHJpbmcgc3RyaW5nV2l0aEpTU3RyaW5nUmVmOmF0dHJpYnV0ZV1dOworICAgIHNfY29u
dHJvbGxlci0+ZXhlY3V0ZU9uQVhUaHJlYWRBbmRXYWl0KFt0aGlzLCAmYXR0cmlidXRlLCAmdmFs
dWVdIHsKKyAgICAgICAgdmFsdWUgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlJc0F0dHJpYnV0
ZVNldHRhYmxlOmF0dHJpYnV0ZV07CisgICAgfSk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9O
UwotICAgIAotICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB2YWx1ZTsKIH0KIAogYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVN1cHBvcnRlZChKU1N0cmluZ1Jl
ZiBhdHRyaWJ1dGUpCkBAIC0xNjM2LDIwICsxNjQ1LDEyIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKQogCiBib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzRm9jdXNhYmxlKCkgY29uc3QKIHsKLSAgICBib29sIHJlc3VsdCA9IGZh
bHNlOwotICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwotICAgIHJlc3VsdCA9IFttX2VsZW1l
bnQgYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0dGFibGU6TlNBY2Nlc3NpYmlsaXR5Rm9jdXNl
ZEF0dHJpYnV0ZV07Ci0gICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwotICAgIHJldHVybiByZXN1
bHQ7CisgICAgcmV0dXJuIGlzQXR0cmlidXRlU2V0dGFibGUoTlNBY2Nlc3NpYmlsaXR5Rm9jdXNl
ZEF0dHJpYnV0ZSk7CiB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3Rh
YmxlKCkgY29uc3QKIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIEJFR0lOX0FYX09C
SkNfRVhDRVBUSU9OUwotICAgIHJlc3VsdCA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUlzQXR0
cmlidXRlU2V0dGFibGU6TlNBY2Nlc3NpYmlsaXR5U2VsZWN0ZWRBdHRyaWJ1dGVdOwotICAgIEVO
RF9BWF9PQkpDX0VYQ0VQVElPTlMKLSAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBpc0F0
dHJpYnV0ZVNldHRhYmxlKE5TQWNjZXNzaWJpbGl0eVNlbGVjdGVkQXR0cmlidXRlKTsKIH0KIAog
Ym9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc011bHRpU2VsZWN0YWJsZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYzgyYjQzYjkzMWU4ZDFiNWEyM2FlYTgyMGM2ODU1MmVmZGM5NTlhYy4uOWM3NTdiOWVi
ZmJlNDY1MjI5OTU5Y2QwZWM2ZGI3MjUxYjhkMTIzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDIyLTAxLTE0ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAg
QVg6IEZpeCBkaXNhYmxlZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLmh0bWwgaW4gaXNvbGF0ZWQg
dHJlZSBtb2RlIGJ5IHVwZGF0aW5nIEFYUHJvcGVydHlOYW1lOjpDYW5TZXRGb2N1c0F0dHJpYnV0
ZSB3aGVuIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgY2hhbmdlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MjQ2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Rpc2FibGVkLWNv
bnRyb2xzLW5vdC1mb2N1c2FibGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1sOgorICAgICAgICBNYWtlIHRo
aXMgdGVzdCBhc3luYyBzbyB0aGF0IGl0IGNhbiBwYXNzIGluIGlzb2xhdGVkIHRyZWUgbW9kZS4g
VGhpcworICAgICAgICB0ZXN0IG11c3QgYmUgYXN5bmMgYmVjYXVzZSBpdCBkeW5hbWljYWxseSBj
aGFuZ2VzIHRoZSBkaXNhYmxlZAorICAgICAgICBhdHRyaWJ1dGUgdmlhIEpTLgorCiAyMDIyLTAx
LTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVncmVzc2lv
bihyMjgxNTIwKSAzIHN1YnRlc3RzIHN0YXJ0ZWQgZmFpbGluZyBvbiBkb20vdHJhdmVyc2FsL1Ry
ZWVXYWxrZXItYWNjZXB0Tm9kZS1maWx0ZXItY3Jvc3MtcmVhbG0uaHRtbCBXUFQgdGVzdApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1jb250cm9scy1ub3Qt
Zm9jdXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGlzYWJs
ZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS1leHBlY3RlZC50eHQKaW5kZXggNzgwMzUwZDcxZDUw
ZGVmNWI0YzVhZGM5MGU0YTA4OTQyMGY1MDkxZi4uNDE1Zjg3NGU4ZTE3NTgyZTIyYjEyNDQ0YzRi
MjJhZWJlMTlhNzgwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kaXNh
YmxlZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2Rpc2FibGVkLWNvbnRyb2xzLW5vdC1mb2N1c2FibGUtZXhwZWN0ZWQu
dHh0CkBAIC0xLDM2ICsxLDUzIEBACi0KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgZGlzYWJs
ZWQgZm9ybSBjb250cm9scyBhcmUgbm90IGV4cG9zZWQgYXMgZm9jdXNhYmxlLgogCiBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCiAKIAotYnV0dG9uCitUZXN0aW5nICNidXR0b24KIFBBU1MgYXhF
bGVtZW50LmlzRm9jdXNhYmxlIGlzIHRydWUKLVBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlz
IGZhbHNlCi10ZXh0CitTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAj
YnV0dG9uCitQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSA9PT0gZmFsc2UKKworVGVzdGluZyAj
dGV4dAogUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgdHJ1ZQotUEFTUyBheEVsZW1lbnQu
aXNGb2N1c2FibGUgaXMgZmFsc2UKLWNoZWNrYm94CitTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRy
aWJ1dGUgb2YgZWxlbWVudCAjdGV4dAorUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgPT09IGZh
bHNlCisKK1Rlc3RpbmcgI2NoZWNrYm94CiBQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyB0
cnVlCi1QQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyBmYWxzZQotcmFkaW8KK1NldHRpbmcg
dGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBlbGVtZW50ICNjaGVja2JveAorUEFTUyBheEVsZW1l
bnQuaXNGb2N1c2FibGUgPT09IGZhbHNlCisKK1Rlc3RpbmcgI3JhZGlvCiBQQVNTIGF4RWxlbWVu
dC5pc0ZvY3VzYWJsZSBpcyB0cnVlCi1QQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyBmYWxz
ZQotc3VibWl0CitTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAjcmFk
aW8KK1BBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlID09PSBmYWxzZQorCitUZXN0aW5nICNzdWJt
aXQKIFBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIHRydWUKLVBBU1MgYXhFbGVtZW50Lmlz
Rm9jdXNhYmxlIGlzIGZhbHNlCi1zbGlkZXIKK1NldHRpbmcgdGhlIGRpc2FibGVkIGF0dHJpYnV0
ZSBvZiBlbGVtZW50ICNzdWJtaXQKK1BBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlID09PSBmYWxz
ZQorCitUZXN0aW5nICNzbGlkZXIKIFBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIHRydWUK
LVBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIGZhbHNlCi1jb21ib2JveAorU2V0dGluZyB0
aGUgZGlzYWJsZWQgYXR0cmlidXRlIG9mIGVsZW1lbnQgI3NsaWRlcgorUEFTUyBheEVsZW1lbnQu
aXNGb2N1c2FibGUgPT09IGZhbHNlCisKK1Rlc3RpbmcgI2NvbWJvYm94CiBQQVNTIGF4RWxlbWVu
dC5pc0ZvY3VzYWJsZSBpcyB0cnVlCi1QQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyBmYWxz
ZQotbGlzdGJveAorU2V0dGluZyB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIG9mIGVsZW1lbnQgI2Nv
bWJvYm94CitQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSA9PT0gZmFsc2UKKworVGVzdGluZyAj
bGlzdGJveAogUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgdHJ1ZQotUEFTUyBheEVsZW1l
bnQuaXNGb2N1c2FibGUgaXMgZmFsc2UKLXRleHRhcmVhCitTZXR0aW5nIHRoZSBkaXNhYmxlZCBh
dHRyaWJ1dGUgb2YgZWxlbWVudCAjbGlzdGJveAorUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUg
PT09IGZhbHNlCisKK1Rlc3RpbmcgI3RleHRhcmVhCiBQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJs
ZSBpcyB0cnVlCi1QQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyBmYWxzZQorU2V0dGluZyB0
aGUgZGlzYWJsZWQgYXR0cmlidXRlIG9mIGVsZW1lbnQgI3RleHRhcmVhCitQQVNTIGF4RWxlbWVu
dC5pc0ZvY3VzYWJsZSA9PT0gZmFsc2UKKwogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2Rpc2FibGVkLWNvbnRyb2xzLW5vdC1mb2N1c2FibGUuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1sCmluZGV4IDdlNDAw
NzEyM2MyNWM1NGU3ODNjMDA0ZWFhMjI4ZjY2NDNkMzlmM2UuLmY3NGQ1ZDQ5ZTkyZTk2NWE4Mjgz
NmY3Y2IzMjU2ODk2OGJiYTA0MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1sCkBAIC0x
LDcgKzEsMTAgQEAKLTwhRE9DVFlQRSBIVE1MPgorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgogPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Fj
Y2Vzc2liaWxpdHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KIDxib2R5PgotPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiAKIDxkaXY+CiAg
IDxidXR0b24gaWQ9ImJ1dHRvbiI+PC9idXR0b24+CkBAIC0xNSwzNiArMTgsMzcgQEAKICAgPHRl
eHRhcmVhIGlkPSJ0ZXh0YXJlYSI+PC90ZXh0YXJlYT4KIDwvZGl2PgogCi08ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KIDxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCBkaXNhYmxlZCBmb3JtIGNvbnRyb2xzIGFyZSBub3QgZXhwb3NlZCBhcyBmb2N1c2FibGUu
Iik7CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgZGlzYWJsZWQg
Zm9ybSBjb250cm9scyBhcmUgbm90IGV4cG9zZWQgYXMgZm9jdXNhYmxlLiIpOwogCi1pZiAod2lu
ZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0gICAg
d2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwog
Ci0gICAgZnVuY3Rpb24gY2hlY2tDb250cm9sKGlkKSB7Ci0gICAgICAgIHdpbmRvdy5lbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwotICAgICAgICBkZWJ1ZyhlbGVtZW50Lmlk
KTsKLSAgICAgICAgZWxlbWVudC5mb2N1cygpOwotICAgICAgICB3aW5kb3cuYXhFbGVtZW50ID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Ci0gICAgICAgIHNob3VsZEJl
VHJ1ZSgiYXhFbGVtZW50LmlzRm9jdXNhYmxlIik7Ci0gICAgICAgIGVsZW1lbnQuZGlzYWJsZWQg
PSB0cnVlOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJheEVsZW1lbnQuaXNGb2N1c2FibGUiKTsK
LSAgICB9CisgICAgICAgIHZhciBheEVsZW1lbnQ7CisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGNo
ZWNrQ29udHJvbChpZCkgeworICAgICAgICAgICAgZGVidWcoYFRlc3RpbmcgIyR7aWR9YCk7Cisg
ICAgICAgICAgICBheEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoaWQpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJheEVsZW1lbnQuaXNG
b2N1c2FibGUiKTsKKyAgICAgICAgICAgIGRlYnVnKGBTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRy
aWJ1dGUgb2YgZWxlbWVudCAjJHtpZH1gKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKGlkKS5kaXNhYmxlZCA9IHRydWU7CisgICAgICAgICAgICBhd2FpdCBleHBlY3RBc3lu
Y0V4cHJlc3Npb24oImF4RWxlbWVudC5pc0ZvY3VzYWJsZSIsICJmYWxzZSIpOworICAgICAgICAg
ICAgZGVidWcoIiIpOworICAgICAgICB9CiAKLSAgICBjaGVja0NvbnRyb2woImJ1dHRvbiIpOwot
ICAgIGNoZWNrQ29udHJvbCgidGV4dCIpOwotICAgIGNoZWNrQ29udHJvbCgiY2hlY2tib3giKTsK
LSAgICBjaGVja0NvbnRyb2woInJhZGlvIik7Ci0gICAgY2hlY2tDb250cm9sKCJzdWJtaXQiKTsK
LSAgICBjaGVja0NvbnRyb2woInNsaWRlciIpOwotICAgIGNoZWNrQ29udHJvbCgiY29tYm9ib3gi
KTsKLSAgICBjaGVja0NvbnRyb2woImxpc3Rib3giKTsKLSAgICBjaGVja0NvbnRyb2woInRleHRh
cmVhIik7Ci19CisgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICBhd2FpdCBjaGVja0NvbnRyb2woImJ1dHRvbiIpOworICAgICAgICAgICAgYXdhaXQgY2hl
Y2tDb250cm9sKCJ0ZXh0Iik7CisgICAgICAgICAgICBhd2FpdCBjaGVja0NvbnRyb2woImNoZWNr
Ym94Iik7CisgICAgICAgICAgICBhd2FpdCBjaGVja0NvbnRyb2woInJhZGlvIik7CisgICAgICAg
ICAgICBhd2FpdCBjaGVja0NvbnRyb2woInN1Ym1pdCIpOworICAgICAgICAgICAgYXdhaXQgY2hl
Y2tDb250cm9sKCJzbGlkZXIiKTsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNrQ29udHJvbCgiY29t
Ym9ib3giKTsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNrQ29udHJvbCgibGlzdGJveCIpOworICAg
ICAgICAgICAgYXdhaXQgY2hlY2tDb250cm9sKCJ0ZXh0YXJlYSIpOwogCisgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSwgMCk7CisgICAgfQogPC9zY3JpcHQ+Ci0KLTxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
IDwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449231</attachid>
            <date>2022-01-14 15:25:56 -0800</date>
            <delta_ts>2022-01-15 09:24:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235246-20220114172555.patch</filename>
            <type>text/plain</type>
            <size>17586</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQ1M2I0ZjVmMzNmMjM2
ODg0MGVlMjA5MDM0MTVhZDM4NzgyYTA2YS4uNDcwZmEzYzYzNjE0N2YzOTU3N2NlNjc5MzFhZDI2
MDcyOTZjZTBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTAxLTE0ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IEZpeCBkaXNhYmxl
ZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLmh0bWwgaW4gaXNvbGF0ZWQgdHJlZSBtb2RlIGJ5IHVw
ZGF0aW5nIEFYUHJvcGVydHlOYW1lOjpDYW5TZXRGb2N1c0F0dHJpYnV0ZSB3aGVuIHRoZSBkaXNh
YmxlZCBhdHRyaWJ1dGUgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM1MjQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRml4ZXMgZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1s
IGluIGlzb2xhdGVkIHRyZWUgbW9kZS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRy
aWJ1dGVDaGFuZ2UpOgorICAgICAgICBQb3N0IGEgQVhEaXNhYmxlZFN0YXRlQ2hhbmdlZCBub3Rp
ZmljYXRpb24gd2hlbiB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIGNoYW5nZXMuCisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUpOgorICAgICAgICBIYW5k
bGUgdGhlIEFYRGlzYWJsZWRTdGF0ZUNoYW5nZWQgbm90aWZpY2F0aW9uIHRvIHVwZGF0ZSBBWFBy
b3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUuCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhJ
c29sYXRlZFRyZWU6OnVwZGF0ZU5vZGVQcm9wZXJ0eSk6CisgICAgICAgIFJlLWNvbXB1dGUgQVhQ
cm9wZXJ0eU5hbWU6OkNhblNldEZvY3VzQXR0cmlidXRlIHdoZW4gYXNrZWQgdG8gZG8gc28uCisK
IDIwMjItMDEtMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZWdyZXNzaW9uKHIyODE1MjApIDMgc3VidGVzdHMgc3RhcnRlZCBmYWlsaW5nIG9uIGRvbS90cmF2
ZXJzYWwvVHJlZVdhbGtlci1hY2NlcHROb2RlLWZpbHRlci1jcm9zcy1yZWFsbS5odG1sIFdQVCB0
ZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApp
bmRleCAyNmIxMjdmODBiZTMzMTMwNTAwMzJhNTY0NzZjZjEzOGMyNjUwMjRlLi4wNzg1M2I5NDZi
M2Q3Zjk3MGExYzU0ODllMGU5ZTBmMDZiNzQ4MzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTE3OTEsNiArMTc5MSw4IEBAIHZvaWQg
QVhPYmplY3RDYWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJOYW1lLCBFbGVtZW50CiAgICAgICAgIGhhbmRsZUFyaWFSb2xlQ2hhbmdlZChlbGVtZW50
KTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhbHRBdHRyIHx8IGF0dHJOYW1lID09IHRpdGxl
QXR0cikKICAgICAgICAgdGV4dENoYW5nZWQoZWxlbWVudCk7CisgICAgZWxzZSBpZiAoYXR0ck5h
bWUgPT0gZGlzYWJsZWRBdHRyKQorICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFY
T2JqZWN0Q2FjaGU6OkFYRGlzYWJsZWRTdGF0ZUNoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0dHJO
YW1lID09IGZvckF0dHIgJiYgaXM8SFRNTExhYmVsRWxlbWVudD4oKmVsZW1lbnQpKQogICAgICAg
ICBsYWJlbENoYW5nZWQoZWxlbWVudCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gdGFiaW5k
ZXhBdHRyKQpAQCAtMzMwNCw2ICszMzA2LDkgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJ
c29sYXRlZFRyZWUoQVhDb3JlT2JqZWN0JiBvYmplY3QsIEFYTm90aWZpY2F0aW9uIG5vdGkKICAg
ICBjYXNlIEFYQ2hlY2tlZFN0YXRlQ2hhbmdlZDoKICAgICAgICAgdHJlZS0+dXBkYXRlTm9kZVBy
b3BlcnR5KG9iamVjdCwgQVhQcm9wZXJ0eU5hbWU6OklzQ2hlY2tlZCk7CiAgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQVhEaXNhYmxlZFN0YXRlQ2hhbmdlZDoKKyAgICAgICAgdHJlZS0+dXBkYXRl
Tm9kZVByb3BlcnR5KG9iamVjdCwgQVhQcm9wZXJ0eU5hbWU6OkNhblNldEZvY3VzQXR0cmlidXRl
KTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBWFNvcnREaXJlY3Rpb25DaGFuZ2VkOgogICAg
ICAgICB0cmVlLT51cGRhdGVOb2RlUHJvcGVydHkob2JqZWN0LCBBWFByb3BlcnR5TmFtZTo6U29y
dERpcmVjdGlvbik7CiAgICAgICAgIGJyZWFrOwpAQCAtMzM3Niw2ICszMzgxLDkgQEAgdm9pZCBB
WE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxS
ZWZQdHI8QVhDb3JlT2JqZWMKICAgICAgICAgY2FzZSBBWENoZWNrZWRTdGF0ZUNoYW5nZWQ6CiAg
ICAgICAgICAgICB0cmVlLT51cGRhdGVOb2RlUHJvcGVydHkoKm5vdGlmaWNhdGlvbi5maXJzdCwg
QVhQcm9wZXJ0eU5hbWU6OklzQ2hlY2tlZCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBBWERpc2FibGVkU3RhdGVDaGFuZ2VkOgorICAgICAgICAgICAgdHJlZS0+dXBkYXRlTm9k
ZVByb3BlcnR5KCpub3RpZmljYXRpb24uZmlyc3QsIEFYUHJvcGVydHlOYW1lOjpDYW5TZXRGb2N1
c0F0dHJpYnV0ZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBWFNvcnREaXJl
Y3Rpb25DaGFuZ2VkOgogICAgICAgICAgICAgdHJlZS0+dXBkYXRlTm9kZVByb3BlcnR5KCpub3Rp
ZmljYXRpb24uZmlyc3QsIEFYUHJvcGVydHlOYW1lOjpTb3J0RGlyZWN0aW9uKTsKICAgICAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29s
YXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCmluZGV4IDFhNDFkMTMwNTI1MjFkMjA4
Y2M5YWNmZDU1NzE2Y2E2NDdjYTQ5NDYuLmM2NzFmNzFlZGI3ZjdiOWQzZTU2ZjY1NzM4OTYyMGE3
NzI1MWNhZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKQEAgLTI3MSw2ICsyNzEsOSBAQCB2
b2lkIEFYSXNvbGF0ZWRUcmVlOjp1cGRhdGVOb2RlUHJvcGVydHkoY29uc3QgQVhDb3JlT2JqZWN0
JiBheE9iamVjdCwgQVhQcm9wZXJ0eQogCiAgICAgQVhQcm9wZXJ0eU1hcCBwcm9wZXJ0eU1hcDsK
ICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7CisgICAgY2FzZSBBWFByb3BlcnR5TmFtZTo6Q2FuU2V0
Rm9jdXNBdHRyaWJ1dGU6CisgICAgICAgIHByb3BlcnR5TWFwLnNldChBWFByb3BlcnR5TmFtZTo6
Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUsIGF4T2JqZWN0LmNhblNldEZvY3VzQXR0cmlidXRlKCkpOwor
ICAgICAgICBicmVhazsKICAgICBjYXNlIEFYUHJvcGVydHlOYW1lOjpJc0NoZWNrZWQ6CiAgICAg
ICAgIHByb3BlcnR5TWFwLnNldChBWFByb3BlcnR5TmFtZTo6SXNDaGVja2VkLCBheE9iamVjdC5p
c0NoZWNrZWQoKSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDVhM2JlZWNjZTdjNjI4NDQyZjM4N2I0NzQ4ZTk1MDdh
NDYwMTVmYjMuLmYwMTY1ZmQ0YzM1NGUyMjE4MjQ3NTc5MGVkZDJiMTViYTYwYTY1NTIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAyMi0wMS0xNCAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgorCisg
ICAgICAgIEFYOiBGaXggZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1sIGluIGlz
b2xhdGVkIHRyZWUgbW9kZSBieSB1cGRhdGluZyBBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNB
dHRyaWJ1dGUgd2hlbiB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIGNoYW5nZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTI0NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmg6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5t
bToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTZXR0
YWJsZSk6CisgICAgICAgIFVzZSBuZXcgaXNBdHRyaWJ1dGVTZXR0YWJsZShOU1N0cmluZyAqYXR0
cmlidXRlKSBoZWxwZXIgZnVuY3Rpb24uCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzQXR0cmlidXRlU2V0dGFibGUgY29uc3QpOgorICAgICAgICBBZGRlZC4gRGlzcGF0
Y2hlcyBjYWxsIHRvIGFjY2Vzc2liaWxpdHlJc0F0dHJpYnV0ZVNldHRhYmxlIG9uIHRoZSBBWCB0
aHJlYWQuCisKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNGb2N1c2Fi
bGUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVj
dGFibGUgY29uc3QpOgorICAgICAgICBVc2UgbmV3IGlzQXR0cmlidXRlU2V0dGFibGUgdG8gcmVk
dWNlIHJlcGV0aXRpb24uCisKIDIwMjItMDEtMTMgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRA
YXBwbGUuY29tPgogCiAgICAgICAgIFtFV1NdIFN1cHBvcnQgcHVsbC1yZXF1ZXN0cyBpbiBWYWxp
ZGF0ZUNoYW5nZQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAppbmRleCBmYWY4YTQ1NjE0MmU1
MWQyN2QyMWMzZDMyZGUzMWNkYTkxZjJmZTdlLi4yOGY5YzAzY2JhODdjNDYzYjdhYWY4NTY0MGFj
NGIyODZiYTRlOGRiIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMTM1LDkgKzEz
NSw2IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gdWlFbGVt
ZW50QXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKSBjb25zdDsKICAgICBib29s
IGJvb2xBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpOwogI2lmIFBMQVRGT1JN
KE1BQykKLSAgICBib29sIGJvb2xBdHRyaWJ1dGVWYWx1ZShOU1N0cmluZyAqYXR0cmlidXRlKSBj
b25zdDsKLSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gc3RyaW5nQXR0cmlidXRlVmFsdWUo
TlNTdHJpbmcgKmF0dHJpYnV0ZSkgY29uc3Q7Ci0gICAgZG91YmxlIG51bWJlckF0dHJpYnV0ZVZh
bHVlKE5TU3RyaW5nICphdHRyaWJ1dGUpIGNvbnN0OwogICAgIFJldGFpblB0cjxpZD4gYXR0cmli
dXRlVmFsdWUoTlNTdHJpbmcgKikgY29uc3Q7CiAgICAgdm9pZCBhdHRyaWJ1dGVWYWx1ZUFzeW5j
KEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSwgSlNWYWx1ZVJlZiBjYWxsYmFjayk7CiAjZWxzZQpAQCAt
NDA5LDYgKzQwNiwxMCBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICBSZXRhaW5Q
dHI8aWQ+IGF0dHJpYnV0ZVZhbHVlRm9yUGFyYW1ldGVyKE5TU3RyaW5nICosIGlkKSBjb25zdDsK
ICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IGRlc2NyaXB0aW9uT2ZWYWx1ZShpZCB2YWx1ZU9iamVj
dCkgY29uc3Q7CisgICAgYm9vbCBib29sQXR0cmlidXRlVmFsdWUoTlNTdHJpbmcgKmF0dHJpYnV0
ZSkgY29uc3Q7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHN0cmluZ0F0dHJpYnV0ZVZh
bHVlKE5TU3RyaW5nICphdHRyaWJ1dGUpIGNvbnN0OworICAgIGRvdWJsZSBudW1iZXJBdHRyaWJ1
dGVWYWx1ZShOU1N0cmluZyAqYXR0cmlidXRlKSBjb25zdDsKKyAgICBib29sIGlzQXR0cmlidXRl
U2V0dGFibGUoTlNTdHJpbmcgKikgY29uc3Q7CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NP
QSkgJiYgIVVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFj
Lm1tCmluZGV4IGJlMDcxNmQzYjZlYzUzMzA0YTMzYzBmZDNjZTk0NTZmMTQyYzVjMmUuLjYzNTUx
OWNkYzg0OGYwZWVlYTgyYzIwYzg5YzY5ZjlkYzA2ZWFhYTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRN
YWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtNjk5LDExICs2OTksMjAgQEAgdm9pZCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpzZXRWYWx1ZShKU1N0cmluZ1JlZiB2YWx1ZSkKIAogYm9vbCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVNldHRhYmxlKEpTU3RyaW5nUmVmIGF0
dHJpYnV0ZSkKIHsKKyAgICByZXR1cm4gaXNBdHRyaWJ1dGVTZXR0YWJsZShbTlNTdHJpbmcgc3Ry
aW5nV2l0aEpTU3RyaW5nUmVmOmF0dHJpYnV0ZV0pOworfQorCitib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzQXR0cmlidXRlU2V0dGFibGUoTlNTdHJpbmcgKmF0dHJpYnV0ZSkgY29uc3QK
K3sKKyAgICBib29sIHZhbHVlID0gZmFsc2U7CisKICAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElP
TlMKLSAgICByZXR1cm4gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5SXNBdHRyaWJ1dGVTZXR0YWJs
ZTpbTlNTdHJpbmcgc3RyaW5nV2l0aEpTU3RyaW5nUmVmOmF0dHJpYnV0ZV1dOworICAgIHNfY29u
dHJvbGxlci0+ZXhlY3V0ZU9uQVhUaHJlYWRBbmRXYWl0KFt0aGlzLCAmYXR0cmlidXRlLCAmdmFs
dWVdIHsKKyAgICAgICAgdmFsdWUgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlJc0F0dHJpYnV0
ZVNldHRhYmxlOmF0dHJpYnV0ZV07CisgICAgfSk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9O
UwotICAgIAotICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB2YWx1ZTsKIH0KIAogYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVN1cHBvcnRlZChKU1N0cmluZ1Jl
ZiBhdHRyaWJ1dGUpCkBAIC0xNjM2LDIwICsxNjQ1LDEyIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKQogCiBib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzRm9jdXNhYmxlKCkgY29uc3QKIHsKLSAgICBib29sIHJlc3VsdCA9IGZh
bHNlOwotICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwotICAgIHJlc3VsdCA9IFttX2VsZW1l
bnQgYWNjZXNzaWJpbGl0eUlzQXR0cmlidXRlU2V0dGFibGU6TlNBY2Nlc3NpYmlsaXR5Rm9jdXNl
ZEF0dHJpYnV0ZV07Ci0gICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwotICAgIHJldHVybiByZXN1
bHQ7CisgICAgcmV0dXJuIGlzQXR0cmlidXRlU2V0dGFibGUoTlNBY2Nlc3NpYmlsaXR5Rm9jdXNl
ZEF0dHJpYnV0ZSk7CiB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3Rh
YmxlKCkgY29uc3QKIHsKLSAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgIEJFR0lOX0FYX09C
SkNfRVhDRVBUSU9OUwotICAgIHJlc3VsdCA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUlzQXR0
cmlidXRlU2V0dGFibGU6TlNBY2Nlc3NpYmlsaXR5U2VsZWN0ZWRBdHRyaWJ1dGVdOwotICAgIEVO
RF9BWF9PQkpDX0VYQ0VQVElPTlMKLSAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBpc0F0
dHJpYnV0ZVNldHRhYmxlKE5TQWNjZXNzaWJpbGl0eVNlbGVjdGVkQXR0cmlidXRlKTsKIH0KIAog
Ym9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc011bHRpU2VsZWN0YWJsZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYzgyYjQzYjkzMWU4ZDFiNWEyM2FlYTgyMGM2ODU1MmVmZGM5NTlhYy4uMmQ3ODBiYzBl
ZTdlZWE2OTFiNjQxMDc4NGExOTM4YTI4MDZkYjgzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDIyLTAxLTE0ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAg
QVg6IEZpeCBkaXNhYmxlZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLmh0bWwgaW4gaXNvbGF0ZWQg
dHJlZSBtb2RlIGJ5IHVwZGF0aW5nIEFYUHJvcGVydHlOYW1lOjpDYW5TZXRGb2N1c0F0dHJpYnV0
ZSB3aGVuIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgY2hhbmdlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MjQ2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Rpc2FibGVkLWNv
bnRyb2xzLW5vdC1mb2N1c2FibGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvZGlzYWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS5odG1sOgorICAgICAgICBNYWtlIHRo
aXMgdGVzdCBhc3luYyBzbyB0aGF0IGl0IGNhbiBwYXNzIGluIGlzb2xhdGVkIHRyZWUgbW9kZS4g
VGhpcworICAgICAgICB0ZXN0IG11c3QgYmUgYXN5bmMgYmVjYXVzZSBpdCBkeW5hbWljYWxseSBj
aGFuZ2VzIHRoZSBkaXNhYmxlZAorICAgICAgICBhdHRyaWJ1dGUgdmlhIEpTLgorICAgICAgICAq
IHBsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5L2Rpc2FibGVkLWNvbnRyb2xzLW5vdC1mb2N1c2Fi
bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGUgV2luZG93cy1zcGVjaWZpYyBleHBlY3Rh
dGlvbiB0byBtYXRjaCB0ZXN0IGNoYW5nZXMuCisKIDIwMjItMDEtMTQgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIyODE1MjApIDMgc3VidGVz
dHMgc3RhcnRlZCBmYWlsaW5nIG9uIGRvbS90cmF2ZXJzYWwvVHJlZVdhbGtlci1hY2NlcHROb2Rl
LWZpbHRlci1jcm9zcy1yZWFsbS5odG1sIFdQVCB0ZXN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2Rpc2FibGVkLWNvbnRyb2xzLW5vdC1mb2N1c2FibGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1jb250cm9scy1ub3QtZm9j
dXNhYmxlLWV4cGVjdGVkLnR4dAppbmRleCA3ODAzNTBkNzFkNTBkZWY1YjRjNWFkYzkwZTRhMDg5
NDIwZjUwOTFmLi40MTVmODc0ZThlMTc1ODJlMjJiMTI0NDRjNGIyMmFlYmUxOWE3ODA2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2Rpc2FibGVkLWNvbnRyb2xzLW5vdC1m
b2N1c2FibGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGlz
YWJsZWQtY29udHJvbHMtbm90LWZvY3VzYWJsZS1leHBlY3RlZC50eHQKQEAgLTEsMzYgKzEsNTMg
QEAKLQogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBkaXNhYmxlZCBmb3JtIGNvbnRyb2xzIGFy
ZSBub3QgZXhwb3NlZCBhcyBmb2N1c2FibGUuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
IAogCi1idXR0b24KK1Rlc3RpbmcgI2J1dHRvbgogUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUg
aXMgdHJ1ZQotUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgZmFsc2UKLXRleHQKK1NldHRp
bmcgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBlbGVtZW50ICNidXR0b24KK1BBU1MgYXhFbGVt
ZW50LmlzRm9jdXNhYmxlID09PSBmYWxzZQorCitUZXN0aW5nICN0ZXh0CiBQQVNTIGF4RWxlbWVu
dC5pc0ZvY3VzYWJsZSBpcyB0cnVlCi1QQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyBmYWxz
ZQotY2hlY2tib3gKK1NldHRpbmcgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBlbGVtZW50ICN0
ZXh0CitQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSA9PT0gZmFsc2UKKworVGVzdGluZyAjY2hl
Y2tib3gKIFBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIHRydWUKLVBBU1MgYXhFbGVtZW50
LmlzRm9jdXNhYmxlIGlzIGZhbHNlCi1yYWRpbworU2V0dGluZyB0aGUgZGlzYWJsZWQgYXR0cmli
dXRlIG9mIGVsZW1lbnQgI2NoZWNrYm94CitQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSA9PT0g
ZmFsc2UKKworVGVzdGluZyAjcmFkaW8KIFBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIHRy
dWUKLVBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIGZhbHNlCi1zdWJtaXQKK1NldHRpbmcg
dGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBlbGVtZW50ICNyYWRpbworUEFTUyBheEVsZW1lbnQu
aXNGb2N1c2FibGUgPT09IGZhbHNlCisKK1Rlc3RpbmcgI3N1Ym1pdAogUEFTUyBheEVsZW1lbnQu
aXNGb2N1c2FibGUgaXMgdHJ1ZQotUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgZmFsc2UK
LXNsaWRlcgorU2V0dGluZyB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIG9mIGVsZW1lbnQgI3N1Ym1p
dAorUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgPT09IGZhbHNlCisKK1Rlc3RpbmcgI3NsaWRl
cgogUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgdHJ1ZQotUEFTUyBheEVsZW1lbnQuaXNG
b2N1c2FibGUgaXMgZmFsc2UKLWNvbWJvYm94CitTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRyaWJ1
dGUgb2YgZWxlbWVudCAjc2xpZGVyCitQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSA9PT0gZmFs
c2UKKworVGVzdGluZyAjY29tYm9ib3gKIFBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIHRy
dWUKLVBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIGZhbHNlCi1saXN0Ym94CitTZXR0aW5n
IHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAjY29tYm9ib3gKK1BBU1MgYXhFbGVt
ZW50LmlzRm9jdXNhYmxlID09PSBmYWxzZQorCitUZXN0aW5nICNsaXN0Ym94CiBQQVNTIGF4RWxl
bWVudC5pc0ZvY3VzYWJsZSBpcyB0cnVlCi1QQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBpcyBm
YWxzZQotdGV4dGFyZWEKK1NldHRpbmcgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBlbGVtZW50
ICNsaXN0Ym94CitQQVNTIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSA9PT0gZmFsc2UKKworVGVzdGlu
ZyAjdGV4dGFyZWEKIFBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIHRydWUKLVBBU1MgYXhF
bGVtZW50LmlzRm9jdXNhYmxlIGlzIGZhbHNlCitTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRyaWJ1
dGUgb2YgZWxlbWVudCAjdGV4dGFyZWEKK1BBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlID09PSBm
YWxzZQorCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGlzYWJsZWQtY29udHJvbHMt
bm90LWZvY3VzYWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1j
b250cm9scy1ub3QtZm9jdXNhYmxlLmh0bWwKaW5kZXggN2U0MDA3MTIzYzI1YzU0ZTc4M2MwMDRl
YWEyMjhmNjY0M2QzOWYzZS4uZjc0ZDVkNDllOTJlOTY1YTgyODM2ZjdjYjMyNTY4OTY4YmJhMDQx
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1jb250cm9s
cy1ub3QtZm9jdXNhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kaXNh
YmxlZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLmh0bWwKQEAgLTEsNyArMSwxMCBAQAotPCFET0NU
WVBFIEhUTUw+Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
CiA8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgogPGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIAogPGRpdj4KICAgPGJ1dHRvbiBpZD0iYnV0dG9u
Ij48L2J1dHRvbj4KQEAgLTE1LDM2ICsxOCwzNyBAQAogICA8dGV4dGFyZWEgaWQ9InRleHRhcmVh
Ij48L3RleHRhcmVhPgogPC9kaXY+CiAKLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNjcmlw
dD4KLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGRpc2FibGVkIGZvcm0g
Y29udHJvbHMgYXJlIG5vdCBleHBvc2VkIGFzIGZvY3VzYWJsZS4iKTsKKyAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBkaXNhYmxlZCBmb3JtIGNvbnRyb2xzIGFyZSBu
b3QgZXhwb3NlZCBhcyBmb2N1c2FibGUuIik7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLSAgICB3aW5kb3cudGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewor
ICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLSAgICBmdW5jdGlvbiBjaGVj
a0NvbnRyb2woaWQpIHsKLSAgICAgICAgd2luZG93LmVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChpZCk7Ci0gICAgICAgIGRlYnVnKGVsZW1lbnQuaWQpOwotICAgICAgICBlbGVtZW50
LmZvY3VzKCk7Ci0gICAgICAgIHdpbmRvdy5heEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5mb2N1c2VkRWxlbWVudDsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCJheEVsZW1lbnQuaXNG
b2N1c2FibGUiKTsKLSAgICAgICAgZWxlbWVudC5kaXNhYmxlZCA9IHRydWU7Ci0gICAgICAgIHNo
b3VsZEJlRmFsc2UoImF4RWxlbWVudC5pc0ZvY3VzYWJsZSIpOwotICAgIH0KKyAgICAgICAgdmFy
IGF4RWxlbWVudDsKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gY2hlY2tDb250cm9sKGlkKSB7Cisg
ICAgICAgICAgICBkZWJ1ZyhgVGVzdGluZyAjJHtpZH1gKTsKKyAgICAgICAgICAgIGF4RWxlbWVu
dCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZChpZCk7Cisg
ICAgICAgICAgICBzaG91bGRCZVRydWUoImF4RWxlbWVudC5pc0ZvY3VzYWJsZSIpOworICAgICAg
ICAgICAgZGVidWcoYFNldHRpbmcgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBlbGVtZW50ICMk
e2lkfWApOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLmRpc2FibGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgIGF3YWl0IGV4cGVjdEFzeW5jRXhwcmVzc2lvbigiYXhFbGVt
ZW50LmlzRm9jdXNhYmxlIiwgImZhbHNlIik7CisgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAg
ICAgIH0KIAotICAgIGNoZWNrQ29udHJvbCgiYnV0dG9uIik7Ci0gICAgY2hlY2tDb250cm9sKCJ0
ZXh0Iik7Ci0gICAgY2hlY2tDb250cm9sKCJjaGVja2JveCIpOwotICAgIGNoZWNrQ29udHJvbCgi
cmFkaW8iKTsKLSAgICBjaGVja0NvbnRyb2woInN1Ym1pdCIpOwotICAgIGNoZWNrQ29udHJvbCgi
c2xpZGVyIik7Ci0gICAgY2hlY2tDb250cm9sKCJjb21ib2JveCIpOwotICAgIGNoZWNrQ29udHJv
bCgibGlzdGJveCIpOwotICAgIGNoZWNrQ29udHJvbCgidGV4dGFyZWEiKTsKLX0KKyAgICAgICAg
c2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNrQ29u
dHJvbCgiYnV0dG9uIik7CisgICAgICAgICAgICBhd2FpdCBjaGVja0NvbnRyb2woInRleHQiKTsK
KyAgICAgICAgICAgIGF3YWl0IGNoZWNrQ29udHJvbCgiY2hlY2tib3giKTsKKyAgICAgICAgICAg
IGF3YWl0IGNoZWNrQ29udHJvbCgicmFkaW8iKTsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNrQ29u
dHJvbCgic3VibWl0Iik7CisgICAgICAgICAgICBhd2FpdCBjaGVja0NvbnRyb2woInNsaWRlciIp
OworICAgICAgICAgICAgYXdhaXQgY2hlY2tDb250cm9sKCJjb21ib2JveCIpOworICAgICAgICAg
ICAgYXdhaXQgY2hlY2tDb250cm9sKCJsaXN0Ym94Iik7CisgICAgICAgICAgICBhd2FpdCBjaGVj
a0NvbnRyb2woInRleHRhcmVhIik7CiAKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICB9LCAwKTsKKyAgICB9CiA8L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvZGlzYWJsZWQtY29udHJv
bHMtbm90LWZvY3VzYWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
YWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLWV4cGVjdGVkLnR4
dAppbmRleCAzY2I2YmQ0OTZiMzIxZmI0ZTdjZmI5YmFlYjdjYzNkMWE3MmZmOWE2Li4xNzNhMDZl
ZDU4ZmE0NTViYjQyZDIwYWY5YzczYzM2NTRjNGEzNWM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9kaXNhYmxlZC1jb250cm9scy1ub3QtZm9jdXNh
YmxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vYWNjZXNzaWJp
bGl0eS9kaXNhYmxlZC1jb250cm9scy1ub3QtZm9jdXNhYmxlLWV4cGVjdGVkLnR4dApAQCAtMSwz
NyArMSw1NSBAQAotCiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGRpc2FibGVkIGZvcm0gY29u
dHJvbHMgYXJlIG5vdCBleHBvc2VkIGFzIGZvY3VzYWJsZS4KIAogT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgogCiAKLWJ1dHRvbgorVGVzdGluZyAjYnV0dG9uCiBGQUlMIGF4RWxlbWVudC5pc0Zv
Y3VzYWJsZSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgotUEFTUyBheEVsZW1lbnQuaXNGb2N1
c2FibGUgaXMgZmFsc2UKLXRleHQKK1NldHRpbmcgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBl
bGVtZW50ICNidXR0b24KK1BBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlID09PSBmYWxzZQorCitU
ZXN0aW5nICN0ZXh0CiBGQUlMIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBzaG91bGQgYmUgdHJ1ZS4g
V2FzIGZhbHNlLgotUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgZmFsc2UKLWNoZWNrYm94
CitTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAjdGV4dAorUEFTUyBh
eEVsZW1lbnQuaXNGb2N1c2FibGUgPT09IGZhbHNlCisKK1Rlc3RpbmcgI2NoZWNrYm94CiBGQUlM
IGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgotUEFTUyBh
eEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgZmFsc2UKLXJhZGlvCitTZXR0aW5nIHRoZSBkaXNhYmxl
ZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAjY2hlY2tib3gKK1BBU1MgYXhFbGVtZW50LmlzRm9jdXNh
YmxlID09PSBmYWxzZQorCitUZXN0aW5nICNyYWRpbwogRkFJTCBheEVsZW1lbnQuaXNGb2N1c2Fi
bGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KLVBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxl
IGlzIGZhbHNlCi1zdWJtaXQKK1NldHRpbmcgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBlbGVt
ZW50ICNyYWRpbworUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgPT09IGZhbHNlCisKK1Rlc3Rp
bmcgI3N1Ym1pdAogRkFJTCBheEVsZW1lbnQuaXNGb2N1c2FibGUgc2hvdWxkIGJlIHRydWUuIFdh
cyBmYWxzZS4KLVBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlIGlzIGZhbHNlCi1zbGlkZXIKK1Nl
dHRpbmcgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBvZiBlbGVtZW50ICNzdWJtaXQKK1BBU1MgYXhF
bGVtZW50LmlzRm9jdXNhYmxlID09PSBmYWxzZQorCitUZXN0aW5nICNzbGlkZXIKIEZBSUwgYXhF
bGVtZW50LmlzRm9jdXNhYmxlIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCi1QQVNTIGF4RWxl
bWVudC5pc0ZvY3VzYWJsZSBpcyBmYWxzZQotY29tYm9ib3gKK1NldHRpbmcgdGhlIGRpc2FibGVk
IGF0dHJpYnV0ZSBvZiBlbGVtZW50ICNzbGlkZXIKK1BBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxl
ID09PSBmYWxzZQorCitUZXN0aW5nICNjb21ib2JveAogRkFJTCBheEVsZW1lbnQuaXNGb2N1c2Fi
bGUgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KLVBBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxl
IGlzIGZhbHNlCi1saXN0Ym94CitTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxl
bWVudCAjY29tYm9ib3gKK1BBU1MgYXhFbGVtZW50LmlzRm9jdXNhYmxlID09PSBmYWxzZQorCitU
ZXN0aW5nICNsaXN0Ym94CiBGQUlMIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBzaG91bGQgYmUgdHJ1
ZS4gV2FzIGZhbHNlLgotUEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgZmFsc2UKLXRleHRh
cmVhCitTZXR0aW5nIHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb2YgZWxlbWVudCAjbGlzdGJveAor
UEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgPT09IGZhbHNlCisKK1Rlc3RpbmcgI3RleHRhcmVh
CiBGQUlMIGF4RWxlbWVudC5pc0ZvY3VzYWJsZSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgot
UEFTUyBheEVsZW1lbnQuaXNGb2N1c2FibGUgaXMgZmFsc2UKK1NldHRpbmcgdGhlIGRpc2FibGVk
IGF0dHJpYnV0ZSBvZiBlbGVtZW50ICN0ZXh0YXJlYQorUEFTUyBheEVsZW1lbnQuaXNGb2N1c2Fi
bGUgPT09IGZhbHNlCisKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKK1NvbWUgdGVz
dHMgZmFpbGVkLgogCiBURVNUIENPTVBMRVRFCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>