<?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>161693</bug_id>
          
          <creation_ts>2016-09-07 09:35:49 -0700</creation_ts>
          <short_desc>Some WPT testharness-based tests are flaky due to always-changing assertion failure messages</short_desc>
          <delta_ts>2023-02-14 15:09:54 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=161310</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=225469</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=216332</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>252269</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gsnedders</cc>
    
    <cc>jbedard</cc>
    
    <cc>lforschler</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1227204</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-07 09:35:49 -0700</bug_when>
    <thetext>Some WPT tests are flaky only due to assertion errors changing all the time.
This is usually related to assertion errors containing IDs that change all the time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227213</commentid>
    <comment_count>1</comment_count>
      <attachid>288151</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-07 09:47:31 -0700</bug_when>
    <thetext>Created attachment 288151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228746</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-12 08:34:45 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created attachment 288151 [details]
&gt; Patch

gtk error is unrelated to this patch (bot was unable to process it until a change caused the patch to not be applicable).
win error was due to WASM missing file/config apparently.

Putting patch as r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228754</commentid>
    <comment_count>3</comment_count>
      <attachid>288151</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-12 09:06:05 -0700</bug_when>
    <thetext>Comment on attachment 288151
Patch

Is this really an improvement? Will these tests have dynamic messages if we were to make them pass?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228758</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-12 09:13:49 -0700</bug_when>
    <thetext>&gt; Is this really an improvement? Will these tests have dynamic messages if we
&gt; were to make them pass?

It is not needed if we can make them pass.
This option should only be used transitorily.
For some of the tests mentioned, the situation is like this for months and make all tests belonging to the same file unusable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241030</commentid>
    <comment_count>5</comment_count>
      <attachid>288151</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-17 11:02:27 -0700</bug_when>
    <thetext>Comment on attachment 288151
Patch

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

I’m not going to say review+ because I am not sure this is the best solution.

The cost of this is that when a test does fail, we won’t be able to see which assertion failed. And if we turn the real failures back on then we will get failures because of expected files that expect the failure log to be disabled.

So is that cost worth the benefit of less flakiness? Is there some other way of achieving that goal? Maybe we can adjust things so that the code that compares the results with expected results can understand what may vary?

&gt; Tools/DumpRenderTree/DumpRenderTree.h:69
&gt; +    bool shouldLogTestharnessFailures { true };

The word &quot;harness&quot; should have a capital H here.

&gt; Tools/DumpRenderTree/DumpRenderTreeCommon.cpp:80
&gt; +        } else if (arg == std::string(&quot;--no-testharness-failure-log&quot;))

I’m surprised that the creation of a std::string is needed here just to compare with a string literal. I don’t think it really is needed.

I suggest adding a &quot;-&quot; before the word &quot;harness&quot;, since &quot;testharness&quot; is not a word.

&gt; Tools/DumpRenderTree/TestRunner.cpp:1778
&gt; +    TestRunner* controller = static_cast&lt;TestRunner*&gt;(JSObjectGetPrivate(thisObject));

I suggest auto here instead of repeating the type name twice.

&gt; Tools/DumpRenderTree/TestRunner.h:375
&gt; +    void setShouldLogTestharnessFailures(bool inStderr) { m_shouldLogTestHarnessFailures = inStderr; }
&gt; +    bool shouldLogTestharnessFailures() const { return m_shouldLogTestHarnessFailures; }

The word &quot;harness&quot; should have a capital H here.

&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:36
&gt; +    readonly attribute boolean shouldLogTestharnessFailures;

The word &quot;harness&quot; should have a capital H here.

&gt; Tools/WebKitTestRunner/TestController.cpp:1077
&gt; +        } else if (arg == std::string(&quot;--no-testharness-failure-log&quot;))

I’m surprised that the creation of a std::string is needed here just to compare with a string literal. I don’t think it really is needed.

I suggest adding a &quot;-&quot; before the word &quot;harness&quot;, since &quot;testharness&quot; is not a word.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253375</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-11-22 04:39:55 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 288151 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=288151&amp;action=review
&gt; 
&gt; I’m not going to say review+ because I am not sure this is the best solution.

Thanks for the review.

Chris, Alex, since you are also working with WPT, do you have any opinion on whether  you would need/have needed this feature?
I still think this has value even if I no longer need this for fetch API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268443</commentid>
    <comment_count>7</comment_count>
      <attachid>288151</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-20 09:49:01 -0800</bug_when>
    <thetext>Comment on attachment 288151
Patch

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

r=me with comments. For the record, I do think the best solution would be to avoid such flaky asserts upstream in web-platform-tests. However, based on feedback, I think this is unlikely to happen. As a result, I think this patch is the second best option and we can do this easily and quickly. This is MUCH better than skipping tests.

&gt;&gt; Tools/DumpRenderTree/DumpRenderTree.h:69
&gt;&gt; +    bool shouldLogTestharnessFailures { true };
&gt; 
&gt; The word &quot;harness&quot; should have a capital H here.

Agreed

&gt;&gt; Tools/DumpRenderTree/DumpRenderTreeCommon.cpp:80
&gt;&gt; +        } else if (arg == std::string(&quot;--no-testharness-failure-log&quot;))
&gt; 
&gt; I’m surprised that the creation of a std::string is needed here just to compare with a string literal. I don’t think it really is needed.
&gt; 
&gt; I suggest adding a &quot;-&quot; before the word &quot;harness&quot;, since &quot;testharness&quot; is not a word.

Agreed.

&gt;&gt; Tools/DumpRenderTree/TestRunner.cpp:1778
&gt;&gt; +    TestRunner* controller = static_cast&lt;TestRunner*&gt;(JSObjectGetPrivate(thisObject));
&gt; 
&gt; I suggest auto here instead of repeating the type name twice.

auto* or on one line below.

&gt; Tools/DumpRenderTree/TestRunner.h:374
&gt; +    void setShouldLogTestharnessFailures(bool inStderr) { m_shouldLogTestHarnessFailures = inStderr; }

Wrong naming: inStderr

&gt;&gt; Tools/DumpRenderTree/TestRunner.h:375
&gt;&gt; +    bool shouldLogTestharnessFailures() const { return m_shouldLogTestHarnessFailures; }
&gt; 
&gt; The word &quot;harness&quot; should have a capital H here.

Agreed.

&gt; Tools/Scripts/webkitpy/layout_tests/controllers/manager.py:133
&gt; +            options=[option for option in self._tests_options.get(test_file, []) if option.startswith(&quot;--&quot;)])

Will need changing if you take into consideration my comment below.

&gt;&gt; Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:36
&gt;&gt; +    readonly attribute boolean shouldLogTestharnessFailures;
&gt; 
&gt; The word &quot;harness&quot; should have a capital H here.

Agreed.

&gt; Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:75
&gt; +    void setShouldLogTestharnessFailures(bool inStderr) { m_shouldLogTestHarnessFailures = inStderr; }

Wrong naming: inStderr

&gt;&gt; Tools/WebKitTestRunner/TestController.cpp:1077
&gt;&gt; +        } else if (arg == std::string(&quot;--no-testharness-failure-log&quot;))
&gt; 
&gt; I’m surprised that the creation of a std::string is needed here just to compare with a string literal. I don’t think it really is needed.
&gt; 
&gt; I suggest adding a &quot;-&quot; before the word &quot;harness&quot;, since &quot;testharness&quot; is not a word.

I agree with Darin that the std::string() is likely not needed.

&gt; Tools/WebKitTestRunner/TestInvocation.h:103
&gt; +    bool m_shouldLogTestHarnessFailures { false };

Sounds to me like the default should be true.

&gt; LayoutTests/resources/testharnessreport.js:71
&gt; +                    message = &quot; (Assertion failure log disabled)&quot;

I think we should just not print anything in this case but I am OK with this if other people think it is useful. Printing &quot;(Assertion failure log disabled)&quot; make the output look ugly to me.

&gt; LayoutTests/tests-options.json:2
&gt;      &quot;imported/w3c/web-platform-tests/XMLHttpRequest/progress-events-response-data-gzip.htm&quot;: [

I think this file should be specific to web-platform-tests and should be moved to LayoutTest/imported/w3c/web-platform-tests or maybe LayoutTest/imported/w3c/ if we need it for w3c csswg tests.

&gt; LayoutTests/tests-options.json:6
&gt; +        &quot;--no-testharness-failure-log&quot;

I think this should be a more simple keyword since it is typed by humans and also for consistency with &quot;slow&quot;. Maybe &quot;hideFailureMessages&quot; or similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269069</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-23 09:33:55 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Chris, Alex, since you are also working with WPT, do you have any opinion on
&gt; whether  you would need/have needed this feature?
I think ideally we wouldn&apos;t need this because all the tests would always have deterministic output.  Since that isn&apos;t the case, we need something like this.  We should bring it up when we discuss this in a few weeks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689084</commentid>
    <comment_count>9</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2020-09-16 07:32:52 -0700</bug_when>
    <thetext>https://crbug.com/679742 is the equivalent bug on Chromium, so at least we&apos;re not a total outlier here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1933569</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-02-14 13:01:48 -0800</bug_when>
    <thetext>&lt;rdar://problem/105463943&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288151</attachid>
            <date>2016-09-07 09:47:31 -0700</date>
            <delta_ts>2017-01-20 09:49:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161693-20160907184505.patch</filename>
            <type>text/plain</type>
            <size>56455</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1NTM1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzhhNzA0ZDQ1YTZiODhiN2UwM2Q1ZTU5MGU3M2YxYzA1
OTM0OTQyMC4uOTA1MmNmNjRlODQ4MTFhZjQxZGNkMDE4YTY5NWQ0NWNhNWUxYzJlOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYx
IEBACisyMDE2LTA5LTA3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBTb21lIFdQVCB0ZXN0aGFybmVzcy1iYXNlZCB0ZXN0cyBhcmUgZmxha3kgZHVlIHRvIGFs
d2F5cy1jaGFuZ2luZyBhc3NlcnRpb24gZmFpbHVyZSBtZXNzYWdlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNjkzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIGEgbmV3IGJvb2xlYW4gYXR0
cmlidXRlIGNhbGxlZCBzaG91bGRMb2dUZXN0aGFybmVzc0ZhaWx1cmVzIHRvIFRlc3RSdW5uZXIg
aW50ZXJmYWNlLgorICAgICAgICBCeSBkZWZhdWx0LCB0aGlzIGF0dHJpYnV0ZSBpcyB0cnVlIGJ1
dCBjYW4gYmUgc2V0IHdpdGggdGhlIC0tbm8tdGVzdGhhcm5lc3MtZmFpbHVyZS1sb2cgdGVzdCBv
cHRpb24uCisKKyAgICAgICAgV2hlbiBzZXQgdG8gZmFsc2UsIHRlc3RoYXJuZXNzcmVwb3J0Lmpz
IHdpbGwgbm8gbG9uZ2VyIHJlcG9ydCBlcnJvciBtZXNzYWdlcyBpbiBjYXNlIG9mIGZhaWxpbmcg
dGVzdHMuCisgICAgICAgIFRoaXMgYWxsb3dzIG1ha2luZyBzb21lIHRlc3RzIG5vbiBmbGFreS4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLmg6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWVDb21tb24uY3BwOgorICAgICAgICAocGFyc2VJ
bnB1dExpbmUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwOgorICAg
ICAgICAoZ2V0U2hvdWxkTG9nVGVzdGhhcm5lc3NGYWlsdXJlc0NhbGxiYWNrKToKKyAgICAgICAg
KFRlc3RSdW5uZXI6OnN0YXRpY1ZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVz
dFJ1bm5lci5oOgorICAgICAgICAoVGVzdFJ1bm5lcjo6c2V0U2hvdWxkTG9nVGVzdGhhcm5lc3NG
YWlsdXJlcyk6CisgICAgICAgIChUZXN0UnVubmVyOjpzaG91bGRMb2dUZXN0aGFybmVzc0ZhaWx1
cmVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06Cisg
ICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRl
clRyZWUuY3BwOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weToKKyAgICAgICAgKE1hbmFnZXIu
X19pbml0X18pOgorICAgICAgICAoTWFuYWdlci5fdGVzdF9pbnB1dF9mb3JfZmlsZSk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rl
c3RfcnVubmVyLnB5OgorICAgICAgICAoU2luZ2xlVGVzdFJ1bm5lci5fX2luaXRfXyk6CisgICAg
ICAgIChTaW5nbGVUZXN0UnVubmVyLl9kcml2ZXJfaW5wdXQpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2lucHV0LnB5OgorICAgICAgICAoVGVz
dElucHV0Ll9faW5pdF9fKToKKyAgICAgICAgKFRlc3RJbnB1dC5fX3JlcHJfXyk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2RyaXZlci5weToKKyAgICAgICAgKERyaXZlcklucHV0
Ll9faW5pdF9fKToKKyAgICAgICAgKERyaXZlci5fY29tbWFuZF9mcm9tX2RyaXZlcl9pbnB1dCk6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2Vp
dmVNZXNzYWdlVG9QYWdlKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVz
dGluZyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6c2hvdWxkTG9nVGVzdEhh
cm5lc3NGYWlsdXJlcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmg6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFNob3VsZExvZ1Rl
c3RoYXJuZXNzRmFpbHVyZXMpOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzaG91bGRMb2dU
ZXN0aGFybmVzc0ZhaWx1cmVzKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6dGltZW91dCk6
IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6
CisgICAgICAgIChXVFI6OnBhcnNlSW5wdXRMaW5lKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OnJ1blRlc3QpOgorICAgICAgICAoV1RSOjpUZXN0Q29tbWFuZDo6VGVzdENvbW1hbmQp
OiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3Bw
OgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6aW52b2tlKToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmg6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0
aW9uOjpzZXRTaG91bGRMb2dUZXN0SGFybmVzc0ZhaWx1cmVzKToKKyAgICAgICAgKFdUUjo6VGVz
dEludm9jYXRpb246OmN1c3RvbVRpbWVvdXQpOiBEZWxldGVkLgorCiAyMDE2LTA5LTA2ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjA1NTIxLCByMjA1NTI2LCBhbmQgcjIwNTUzMi4KZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLmggYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9EdW1wUmVuZGVyVHJlZS5oCmluZGV4IDJhMmVhMTQ2NzA4ODhiNjRiNDg3MzE5MTI4YjIw
NTY4M2RlYWE1YjMuLjYwZWVmYjRjY2NjNGViOTdjMGRlZmFkNTRkNTFhODdmMmYzOTA0YzEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLmgKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUuaApAQCAtNjIsMTIgKzYyLDExIEBAIHZv
aWQgZHVtcCgpOwogdm9pZCBkaXNwbGF5V2ViVmlldygpOwogCiBzdHJ1Y3QgVGVzdENvbW1hbmQg
ewotICAgIFRlc3RDb21tYW5kKCkgOiBzaG91bGREdW1wUGl4ZWxzKGZhbHNlKSwgdGltZW91dCgz
MDAwMCkgeyB9Ci0KICAgICBzdGQ6OnN0cmluZyBwYXRoT3JVUkw7Ci0gICAgYm9vbCBzaG91bGRE
dW1wUGl4ZWxzOworICAgIGJvb2wgc2hvdWxkRHVtcFBpeGVscyB7IGZhbHNlIH07CiAgICAgc3Rk
OjpzdHJpbmcgZXhwZWN0ZWRQaXhlbEhhc2g7Ci0gICAgaW50IHRpbWVvdXQ7IC8vIGluIG1zCisg
ICAgaW50IHRpbWVvdXQgeyAzMDAwMCB9OyAvLyBpbiBtcworICAgIGJvb2wgc2hvdWxkTG9nVGVz
dGhhcm5lc3NGYWlsdXJlcyB7IHRydWUgfTsKIH07CiAKIFRlc3RDb21tYW5kIHBhcnNlSW5wdXRM
aW5lKGNvbnN0IHN0ZDo6c3RyaW5nJik7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9EdW1wUmVuZGVyVHJlZUNvbW1vbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVu
ZGVyVHJlZUNvbW1vbi5jcHAKaW5kZXggM2NiOTdlYmZkMjhkODU5YzBiNjFhN2M0NmQ0NTkwMDZh
NjY4YWM2ZC4uZDYwODE3ZmE0OGI4YmI0YzE2NWU0YmI2MWYyMTFlODU5NzI0NjU3MiAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWVDb21tb24uY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlQ29tbW9uLmNwcApAQCAtNzcsNyAr
NzcsOSBAQCBUZXN0Q29tbWFuZCBwYXJzZUlucHV0TGluZShjb25zdCBzdGQ6OnN0cmluZyYgaW5w
dXRMaW5lKQogICAgICAgICAgICAgcmVzdWx0LnNob3VsZER1bXBQaXhlbHMgPSB0cnVlOwogICAg
ICAgICAgICAgaWYgKHRva2VuaXplci5oYXNOZXh0KCkpCiAgICAgICAgICAgICAgICAgcmVzdWx0
LmV4cGVjdGVkUGl4ZWxIYXNoID0gdG9rZW5pemVyLm5leHQoKTsKLSAgICAgICAgfSBlbHNlCisg
ICAgICAgIH0gZWxzZSBpZiAoYXJnID09IHN0ZDo6c3RyaW5nKCItLW5vLXRlc3RoYXJuZXNzLWZh
aWx1cmUtbG9nIikpCisgICAgICAgICAgICByZXN1bHQuc2hvdWxkTG9nVGVzdGhhcm5lc3NGYWls
dXJlcyA9IGZhbHNlOworICAgICAgICBlbHNlCiAgICAgICAgICAgICBkaWUoaW5wdXRMaW5lKTsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKaW5kZXggM2FmODg1OTY3ODM5
YTYzZjg0ZWM3M2Y1MGMyMjlmZDQ1ZmEyOWY2YS4uMzljNDViMWNlNmZlNGQyNTgxOGZlOWY4OTNj
OTEyZWNkZjk1YTc3YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5l
ci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKQEAgLTE3NzMs
NiArMTc3MywxMiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRUaW1lb3V0Q2FsbGJhY2soSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplYwogICAgIHJldHVybiBKU1ZhbHVl
TWFrZU51bWJlcihjb250ZXh0LCBjb250cm9sbGVyLT50aW1lb3V0KCkpOwogfQogCitzdGF0aWMg
SlNWYWx1ZVJlZiBnZXRTaG91bGRMb2dUZXN0aGFybmVzc0ZhaWx1cmVzQ2FsbGJhY2soSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTU3RyaW5nUmVmIHByb3Bl
cnR5TmFtZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIFRlc3RSdW5uZXIqIGNvbnRy
b2xsZXIgPSBzdGF0aWNfY2FzdDxUZXN0UnVubmVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNP
YmplY3QpKTsKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIGNvbnRyb2xs
ZXItPnNob3VsZExvZ1Rlc3RoYXJuZXNzRmFpbHVyZXMoKSk7Cit9CisKIHN0YXRpYyBKU1ZhbHVl
UmVmIGdldEdsb2JhbEZsYWdDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RS
ZWYgdGhpc09iamVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pCiB7CiAgICAgVGVzdFJ1bm5lciogY29udHJvbGxlciA9IHN0YXRpY19jYXN0PFRlc3RS
dW5uZXIqPihKU09iamVjdEdldFByaXZhdGUodGhpc09iamVjdCkpOwpAQCAtMjA0MSw2ICsyMDQ3
LDcgQEAgSlNTdGF0aWNWYWx1ZSogVGVzdFJ1bm5lcjo6c3RhdGljVmFsdWVzKCkKIHsKICAgICBz
dGF0aWMgSlNTdGF0aWNWYWx1ZSBzdGF0aWNWYWx1ZXNbXSA9IHsKICAgICAgICAgeyAidGltZW91
dCIsIGdldFRpbWVvdXRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJzaG91bGRMb2dU
ZXN0aGFybmVzc0ZhaWx1cmVzIiwgZ2V0U2hvdWxkTG9nVGVzdGhhcm5lc3NGYWlsdXJlc0NhbGxi
YWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImdsb2JhbEZsYWciLCBnZXRHbG9iYWxGbGFnQ2Fs
bGJhY2ssIHNldEdsb2JhbEZsYWdDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lIH0s
CiAgICAgICAgIHsgIndlYkhpc3RvcnlJdGVtQ291bnQiLCBnZXRXZWJIaXN0b3J5SXRlbUNvdW50
Q2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2VjdXJlRXZlbnRJbnB1dElzRW5hYmxl
ZCIsIGdldFNlY3VyZUV2ZW50SW5wdXRJc0VuYWJsZWRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LApkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdFJ1bm5lci5oCmluZGV4IDI1Mjc1ODdlYmEwZjRkNDMwMTFmYzY3OTk4MDRl
MmYyNzBkYjQzNGEuLmRmZmNlYThjNDYyZjgyY2QyN2YwMWZhZTk3MTYzMzBkYzU1N2NjYWQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmgKQEAgLTM2OCw5ICszNjgsMTIgQEAgcHVibGljOgog
ICAgIGRvdWJsZSB0aW1lb3V0KCkgeyByZXR1cm4gbV90aW1lb3V0OyB9CiAKICAgICB1bnNpZ25l
ZCBpbWFnZUNvdW50SW5HZW5lcmFsUGFzdGVib2FyZCgpIGNvbnN0OwotICAgIAorCiAgICAgdm9p
ZCBjYWxsVUlTY3JpcHRDYWxsYmFjayh1bnNpZ25lZCBjYWxsYmFja0lELCBKU1N0cmluZ1JlZiBy
ZXN1bHQpOwogCisgICAgdm9pZCBzZXRTaG91bGRMb2dUZXN0aGFybmVzc0ZhaWx1cmVzKGJvb2wg
aW5TdGRlcnIpIHsgbV9zaG91bGRMb2dUZXN0SGFybmVzc0ZhaWx1cmVzID0gaW5TdGRlcnI7IH0K
KyAgICBib29sIHNob3VsZExvZ1Rlc3RoYXJuZXNzRmFpbHVyZXMoKSBjb25zdCB7IHJldHVybiBt
X3Nob3VsZExvZ1Rlc3RIYXJuZXNzRmFpbHVyZXM7IH0KKwogcHJpdmF0ZToKICAgICBUZXN0UnVu
bmVyKGNvbnN0IHN0ZDo6c3RyaW5nJiB0ZXN0VVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgZXhwZWN0
ZWRQaXhlbEhhc2gpOwogCkBAIC00MzUsNiArNDM4LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
YXJlTGVnYWN5V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzSWdub3JlZDsKICAgICBi
b29sIG1fY3VzdG9tRnVsbFNjcmVlbkJlaGF2aW9yOwogICAgIGJvb2wgbV9oYXNQZW5kaW5nV2Vi
Tm90aWZpY2F0aW9uQ2xpY2s7CisgICAgYm9vbCBtX3Nob3VsZExvZ1Rlc3RIYXJuZXNzRmFpbHVy
ZXMgeyB0cnVlIH07CiAKICAgICBkb3VibGUgbV9kYXRhYmFzZURlZmF1bHRRdW90YTsKICAgICBk
b3VibGUgbV9kYXRhYmFzZU1heFF1b3RhOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCmluZGV4IDVkZWY5OWQ5Nzg3OGI1MDRiYjI1ZWY2M2QwZTVhZGRmMzA1YzZh
YjIuLjY5ZmNhNzY2ZDY3NzJhMDA4NGU3ZTNmOGMzYjc5YjQ3MTViYWJjY2UgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTE5ODgsNiArMTk4OCw3IEBA
IHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiBpbnB1dExpbmUpCiAgICAgZ1Rlc3RS
dW5uZXIgPSBUZXN0UnVubmVyOjpjcmVhdGUodGVzdFVSTCwgY29tbWFuZC5leHBlY3RlZFBpeGVs
SGFzaCk7CiAgICAgZ1Rlc3RSdW5uZXItPnNldEFsbG93ZWRIb3N0cyhhbGxvd2VkSG9zdHMpOwog
ICAgIGdUZXN0UnVubmVyLT5zZXRDdXN0b21UaW1lb3V0KGNvbW1hbmQudGltZW91dCk7CisgICAg
Z1Rlc3RSdW5uZXItPnNldFNob3VsZExvZ1Rlc3RoYXJuZXNzRmFpbHVyZXMoY29tbWFuZC5zaG91
bGRMb2dUZXN0aGFybmVzc0ZhaWx1cmVzKTsKICAgICB0b3BMb2FkaW5nRnJhbWUgPSBuaWw7CiAj
aWYgIVBMQVRGT1JNKElPUykKICAgICBBU1NFUlQoIWRyYWdnaW5nSW5mbyk7IC8vIHRoZSBwcmV2
aW91cyB0ZXN0IHNob3VsZCBoYXZlIGNhbGxlZCBldmVudFNlbmRlci5tb3VzZVVwIHRvIGRyb3Ah
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBmM2Jj
ZDVmY2I4ZjdlYmJlYzVhYzI3ZTdkMzJhY2JkZTYzYjUwMmEwLi4xMWJhM2NjYzUyNGZmY2QyZmU3
MDZkMDMyOTE1MzRmYTViM2M5ZWQxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1w
UmVuZGVyVHJlZS5jcHAKQEAgLTEwODIsNiArMTA4Miw4IEBAIHN0YXRpYyB2b2lkIHJ1blRlc3Qo
Y29uc3Qgc3RyaW5nJiBpbnB1dExpbmUpCiAKICAgICA6OmdUZXN0UnVubmVyID0gVGVzdFJ1bm5l
cjo6Y3JlYXRlKHRlc3RVUkwuZGF0YSgpLCBjb21tYW5kLmV4cGVjdGVkUGl4ZWxIYXNoKTsKICAg
ICA6OmdUZXN0UnVubmVyLT5zZXRDdXN0b21UaW1lb3V0KGNvbW1hbmQudGltZW91dCk7CisgICAg
OjpnVGVzdFJ1bm5lci0+c2V0VGVzdGhhcm5lc3NGYWlsdXJlTG9nKGNvbW1hbmQudGVzdGhhcm5l
c3NGYWlsdXJlTG9nKTsKKwogICAgIHRvcExvYWRpbmdGcmFtZSA9IG51bGxwdHI7CiAgICAgZG9u
ZSA9IGZhbHNlOwogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQppbmRleCBhZmVmMDgxODM2OTYzNWNkMDdm
ODJlMjkzMDZlMzkyM2M5ZWM5MGFhLi5iMzRkNGIwYjg3YTQ5MjRmZDIxZTc1NGJjZGYxZDcyOGMw
NjcyZWRjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9j
b250cm9sbGVycy9tYW5hZ2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKQEAgLTg1LDYgKzg1LDcgQEAgY2xhc3MgTWFu
YWdlcihvYmplY3QpOgogICAgICAgICBzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSA9IHNlbGYuX3Bv
cnQucmVzdWx0c19kaXJlY3RvcnkoKQogICAgICAgICBzZWxmLl9maW5kZXIgPSBMYXlvdXRUZXN0
RmluZGVyKHNlbGYuX3BvcnQsIHNlbGYuX29wdGlvbnMpCiAgICAgICAgIHNlbGYuX3J1bm5lciA9
IExheW91dFRlc3RSdW5uZXIoc2VsZi5fb3B0aW9ucywgc2VsZi5fcG9ydCwgc2VsZi5fcHJpbnRl
ciwgc2VsZi5fcmVzdWx0c19kaXJlY3RvcnksIHNlbGYuX3Rlc3RfaXNfc2xvdykKKyAgICAgICAg
c2VsZi5fdGVzdHNfb3B0aW9ucyA9IGpzb24ubG9hZHMoc2VsZi5fZmlsZXN5c3RlbS5yZWFkX3Rl
eHRfZmlsZShzZWxmLl9wb3J0LnBhdGhfZnJvbV93ZWJraXRfYmFzZShzZWxmLkxBWU9VVF9URVNU
U19ESVJFQ1RPUlksICJ0ZXN0cy1vcHRpb25zLmpzb24iKSkpCiAKICAgICBkZWYgX2NvbGxlY3Rf
dGVzdHMoc2VsZiwgYXJncyk6CiAgICAgICAgIHJldHVybiBzZWxmLl9maW5kZXIuZmluZF90ZXN0
cyhzZWxmLl9vcHRpb25zLCBhcmdzKQpAQCAtMTI4LDcgKzEyOSw4IEBAIGNsYXNzIE1hbmFnZXIo
b2JqZWN0KToKICAgICBkZWYgX3Rlc3RfaW5wdXRfZm9yX2ZpbGUoc2VsZiwgdGVzdF9maWxlKToK
ICAgICAgICAgcmV0dXJuIFRlc3RJbnB1dCh0ZXN0X2ZpbGUsCiAgICAgICAgICAgICBzZWxmLl9v
cHRpb25zLnNsb3dfdGltZV9vdXRfbXMgaWYgc2VsZi5fdGVzdF9pc19zbG93KHRlc3RfZmlsZSkg
ZWxzZSBzZWxmLl9vcHRpb25zLnRpbWVfb3V0X21zLAotICAgICAgICAgICAgc2VsZi5faXNfaHR0
cF90ZXN0KHRlc3RfZmlsZSkpCisgICAgICAgICAgICBzZWxmLl9pc19odHRwX3Rlc3QodGVzdF9m
aWxlKSwKKyAgICAgICAgICAgIG9wdGlvbnM9W29wdGlvbiBmb3Igb3B0aW9uIGluIHNlbGYuX3Rl
c3RzX29wdGlvbnMuZ2V0KHRlc3RfZmlsZSwgW10pIGlmIG9wdGlvbi5zdGFydHN3aXRoKCItLSIp
XSkKIAogICAgIGRlZiBfdGVzdF9pc19zbG93KHNlbGYsIHRlc3RfZmlsZSk6CiAgICAgICAgIHJl
dHVybiBzZWxmLl9leHBlY3RhdGlvbnMubW9kZWwoKS5oYXNfbW9kaWZpZXIodGVzdF9maWxlLCB0
ZXN0X2V4cGVjdGF0aW9ucy5TTE9XKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVubmVyLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvc2luZ2xlX3Rlc3RfcnVu
bmVyLnB5CmluZGV4IGU4NTgzNTI0NzAzZTJiZjM4NmFlZDhkZmRmNjY2NTcwZGU4ZjhhMmUuLjJi
MzYwODdlYThkYTQ3MDFiNTkxMDgyMzlkZDg2MTQ4YTdkYTkzMzcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3NpbmdsZV90ZXN0X3J1
bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9s
bGVycy9zaW5nbGVfdGVzdF9ydW5uZXIucHkKQEAgLTU4LDYgKzU4LDcgQEAgY2xhc3MgU2luZ2xl
VGVzdFJ1bm5lcihvYmplY3QpOgogICAgICAgICBzZWxmLl93b3JrZXJfbmFtZSA9IHdvcmtlcl9u
YW1lCiAgICAgICAgIHNlbGYuX3Rlc3RfbmFtZSA9IHRlc3RfaW5wdXQudGVzdF9uYW1lCiAgICAg
ICAgIHNlbGYuX3Nob3VsZF9ydW5fcGl4ZWxfdGVzdCA9IHRlc3RfaW5wdXQuc2hvdWxkX3J1bl9w
aXhlbF90ZXN0CisgICAgICAgIHNlbGYuX3Rlc3RfaW5wdXRfb3B0aW9ucyA9IHRlc3RfaW5wdXQu
b3B0aW9ucwogICAgICAgICBzZWxmLl9yZWZlcmVuY2VfZmlsZXMgPSB0ZXN0X2lucHV0LnJlZmVy
ZW5jZV9maWxlcwogICAgICAgICBzZWxmLl9zdG9wX3doZW5fZG9uZSA9IHN0b3Bfd2hlbl9kb25l
CiAgICAgICAgIHNlbGYuX3RpbWVvdXQgPSB0ZXN0X2lucHV0LnRpbWVvdXQKQEAgLTg5LDcgKzkw
LDcgQEAgY2xhc3MgU2luZ2xlVGVzdFJ1bm5lcihvYmplY3QpOgogICAgICAgICBpbWFnZV9oYXNo
ID0gTm9uZQogICAgICAgICBpZiBzZWxmLl9zaG91bGRfZmV0Y2hfZXhwZWN0ZWRfY2hlY2tzdW0o
KToKICAgICAgICAgICAgIGltYWdlX2hhc2ggPSBzZWxmLl9wb3J0LmV4cGVjdGVkX2NoZWNrc3Vt
KHNlbGYuX3Rlc3RfbmFtZSkKLSAgICAgICAgcmV0dXJuIERyaXZlcklucHV0KHNlbGYuX3Rlc3Rf
bmFtZSwgc2VsZi5fdGltZW91dCwgaW1hZ2VfaGFzaCwgc2VsZi5fc2hvdWxkX3J1bl9waXhlbF90
ZXN0KQorICAgICAgICByZXR1cm4gRHJpdmVySW5wdXQoc2VsZi5fdGVzdF9uYW1lLCBzZWxmLl90
aW1lb3V0LCBpbWFnZV9oYXNoLCBzZWxmLl9zaG91bGRfcnVuX3BpeGVsX3Rlc3QsIHRlc3Rfb3B0
aW9ucz1zZWxmLl90ZXN0X2lucHV0X29wdGlvbnMpCiAKICAgICBkZWYgcnVuKHNlbGYpOgogICAg
ICAgICBpZiBzZWxmLl9yZWZlcmVuY2VfZmlsZXM6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9pbnB1dC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2lucHV0LnB5CmluZGV4IDMzZTQ0
NThjZWJlYTViOWFhNWZiYTRkNDZjZTZmNWZjYzY5ZDE2NGEuLjA2M2VkZDAwNGYxODUxNjY0Y2Vj
ZDFkYzMxNzJkZTdmYmIyMTcyNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2lucHV0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2lucHV0LnB5CkBAIC0zMSw3ICszMSw3IEBA
CiBjbGFzcyBUZXN0SW5wdXQob2JqZWN0KToKICAgICAiIiJHcm91cHMgaW5mb3JtYXRpb24gYWJv
dXQgYSB0ZXN0IGZvciBlYXN5IHBhc3Npbmcgb2YgZGF0YS4iIiIKIAotICAgIGRlZiBfX2luaXRf
XyhzZWxmLCB0ZXN0X25hbWUsIHRpbWVvdXQ9Tm9uZSwgbmVlZHNfc2VydmVycz1Ob25lLCByZWZl
cmVuY2VfZmlsZXM9Tm9uZSwgc2hvdWxkX3J1bl9waXhlbF90ZXN0cz1Ob25lKToKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgdGVzdF9uYW1lLCB0aW1lb3V0PU5vbmUsIG5lZWRzX3NlcnZlcnM9Tm9u
ZSwgcmVmZXJlbmNlX2ZpbGVzPU5vbmUsIHNob3VsZF9ydW5fcGl4ZWxfdGVzdHM9Tm9uZSwgb3B0
aW9ucz1bXSk6CiAgICAgICAgICMgVGVzdElucHV0IG9iamVjdHMgYXJlIG5vcm1hbGx5IGNvbnN0
cnVjdGVkIGJ5IHRoZSBtYW5hZ2VyIGFuZCBwYXNzZWQKICAgICAgICAgIyB0byB0aGUgd29ya2Vy
cywgYnV0IHRoZXNlIHNvbWUgZmllbGRzIGFyZSBzZXQgbGF6aWx5IGluIHRoZSB3b3JrZXJzIHdo
ZXJlIHBvc3NpYmxlCiAgICAgICAgICMgYmVjYXVzZSB0aGV5IHJlcXVpcmUgdXMgdG8gbG9vayBh
dCB0aGUgZmlsZXN5c3RlbSBhbmQgd2Ugd2FudCB0byBiZSBhYmxlIHRvIGRvIHRoYXQgaW4gcGFy
YWxsZWwuCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIFRlc3RJbnB1dChvYmplY3QpOgogICAgICAg
ICBzZWxmLm5lZWRzX3NlcnZlcnMgPSBuZWVkc19zZXJ2ZXJzCiAgICAgICAgIHNlbGYucmVmZXJl
bmNlX2ZpbGVzID0gcmVmZXJlbmNlX2ZpbGVzCiAgICAgICAgIHNlbGYuc2hvdWxkX3J1bl9waXhl
bF90ZXN0cyA9IHNob3VsZF9ydW5fcGl4ZWxfdGVzdHMKKyAgICAgICAgc2VsZi5vcHRpb25zID0g
b3B0aW9ucwogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIlRlc3RJ
bnB1dCgnJXMnLCB0aW1lb3V0PSVzLCBuZWVkc19zZXJ2ZXJzPSVzLCByZWZlcmVuY2VfZmlsZXM9
JXMsIHNob3VsZF9ydW5fcGl4ZWxfdGVzdHM9JXMpIiAlIChzZWxmLnRlc3RfbmFtZSwgc2VsZi50
aW1lb3V0LCBzZWxmLm5lZWRzX3NlcnZlcnMsIHNlbGYucmVmZXJlbmNlX2ZpbGVzLCBzZWxmLnNo
b3VsZF9ydW5fcGl4ZWxfdGVzdHMpCisgICAgICAgIHJldHVybiAiVGVzdElucHV0KCclcycsIHRp
bWVvdXQ9JXMsIG5lZWRzX3NlcnZlcnM9JXMsIHJlZmVyZW5jZV9maWxlcz0lcywgc2hvdWxkX3J1
bl9waXhlbF90ZXN0cz0lcywgb3B0aW9ucz0lcykiICUgKHNlbGYudGVzdF9uYW1lLCBzZWxmLnRp
bWVvdXQsIHNlbGYubmVlZHNfc2VydmVycywgc2VsZi5yZWZlcmVuY2VfZmlsZXMsIHNlbGYuc2hv
dWxkX3J1bl9waXhlbF90ZXN0cywgJzonLmpvaW4oc2VsZi5vcHRpb25zKSkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvZHJpdmVyLnB5CmluZGV4IDJhZTJhNWMxMmM3NDllOGM1NWNkODViMGI1NTZk
NDNhYmFiMmFjMmMuLmU1ODY4OGFmZjFmZTVkYmQ2ZmIzNGU3Y2RjMGRjNTZiZjA4OGM4ZTkgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2RyaXZlci5weQpAQCAtMjgsNyArMjgsNiBAQAogIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogCiBpbXBvcnQgYmFzZTY0Ci1pbXBvcnQgY29weQogaW1wb3J0IGxvZ2dpbmcK
IGltcG9ydCByZQogaW1wb3J0IHNobGV4CkBAIC0zOCwxOSArMzcsMTkgQEAgaW1wb3J0IG9zCiAK
IGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgcGF0aAogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtLnByb2ZpbGVyIGltcG9ydCBQcm9maWxlckZhY3RvcnkKLWZyb20gd2Via2l0
cHkubGF5b3V0X3Rlc3RzLnNlcnZlcnMud2ViX3BsYXRmb3JtX3Rlc3Rfc2VydmVyIGltcG9ydCBX
ZWJQbGF0Zm9ybVRlc3RTZXJ2ZXIKIAogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1l
X18pCiAKIAogY2xhc3MgRHJpdmVySW5wdXQob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2Vs
ZiwgdGVzdF9uYW1lLCB0aW1lb3V0LCBpbWFnZV9oYXNoLCBzaG91bGRfcnVuX3BpeGVsX3Rlc3Qs
IGFyZ3M9Tm9uZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfbmFtZSwgdGltZW91dCwg
aW1hZ2VfaGFzaCwgc2hvdWxkX3J1bl9waXhlbF90ZXN0LCBhcmdzPU5vbmUsIHRlc3Rfb3B0aW9u
cz1Ob25lKToKICAgICAgICAgc2VsZi50ZXN0X25hbWUgPSB0ZXN0X25hbWUKICAgICAgICAgc2Vs
Zi50aW1lb3V0ID0gdGltZW91dCAgIyBpbiBtcwogICAgICAgICBzZWxmLmltYWdlX2hhc2ggPSBp
bWFnZV9oYXNoCiAgICAgICAgIHNlbGYuc2hvdWxkX3J1bl9waXhlbF90ZXN0ID0gc2hvdWxkX3J1
bl9waXhlbF90ZXN0CiAgICAgICAgIHNlbGYuYXJncyA9IGFyZ3Mgb3IgW10KKyAgICAgICAgc2Vs
Zi50ZXN0X29wdGlvbnMgPSB0ZXN0X29wdGlvbnMgb3IgW10KIAogICAgIGRlZiBfX3JlcHJfXyhz
ZWxmKToKICAgICAgICAgcmV0dXJuICJEcml2ZXJJbnB1dCh0ZXN0X25hbWU9J3t9JywgdGltZW91
dD17fSwgaW1hZ2VfaGFzaD17fSwgc2hvdWxkX3J1bl9waXhlbF90ZXN0PXt9JyIuZm9ybWF0KHNl
bGYudGVzdF9uYW1lLCBzZWxmLnRpbWVvdXQsIHNlbGYuaW1hZ2VfaGFzaCwgc2VsZi5zaG91bGRf
cnVuX3BpeGVsX3Rlc3QpCkBAIC00ODYsNiArNDg1LDggQEAgY2xhc3MgRHJpdmVyKG9iamVjdCk6
CiAgICAgICAgICAgICBjb21tYW5kICs9ICInLS1waXhlbC10ZXN0IgogICAgICAgICBpZiBkcml2
ZXJfaW5wdXQuaW1hZ2VfaGFzaDoKICAgICAgICAgICAgIGNvbW1hbmQgKz0gIiciICsgZHJpdmVy
X2lucHV0LmltYWdlX2hhc2gKKyAgICAgICAgaWYgZHJpdmVyX2lucHV0LnRlc3Rfb3B0aW9uczoK
KyAgICAgICAgICAgIGNvbW1hbmQgKz0gIiciICsgIiciLmpvaW4oZHJpdmVyX2lucHV0LnRlc3Rf
b3B0aW9ucykKICAgICAgICAgcmV0dXJuIGNvbW1hbmQgKyAiXG4iCiAKICAgICBkZWYgX3JlYWRf
Zmlyc3RfYmxvY2soc2VsZiwgZGVhZGxpbmUsIHRlc3RfbmFtZSk6CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRs
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVu
bmVyLmlkbAppbmRleCAxYzNjZTc0NTUxNzBhODM3MDg5ZjA0YzRkMzY4OTIwZWRjMGI0ZWIxLi5m
ZGQzMTU3NTkxNzhiZWQxOTNiOTA4NjcwYmE5N2Y2MzZjNGExOWMyIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRs
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVz
dFJ1bm5lci5pZGwKQEAgLTMzLDYgKzMzLDcgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewogICAg
IHZvaWQgbm90aWZ5RG9uZSgpOwogICAgIGRvdWJsZSBwcmVjaXNlVGltZSgpOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBkb3VibGUgdGltZW91dDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiBzaG91bGRMb2dUZXN0aGFybmVzc0ZhaWx1cmVzOwogCiAgICAgLy8gT3RoZXIgZHVtcGlu
Zy4KICAgICB2b2lkIGR1bXBCYWNrRm9yd2FyZExpc3QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXgg
MDUzMDhjYWY1ZGYwOTExZDZlZmU0ZWIxYTg2N2I5OGU4ZmQyNzI2MS4uNzA0YzZkNmM4YzEyMTZl
N2JjN2M5ZDllY2ViZGQyY2Q1ZmY3NWQxMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTE1NSw2ICsx
NTUsOSBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShXS0J1
bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbQogICAgICAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gdGltZW91dEtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiVGltZW91dCIpKTsKICAgICAgICAgbV90aW1lb3V0ID0gKGludClXS1VJbnQ2NEdldFZhbHVl
KHN0YXRpY19jYXN0PFdLVUludDY0UmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG1lc3Nh
Z2VCb2R5RGljdGlvbmFyeSwgdGltZW91dEtleS5nZXQoKSkpKTsKIAorICAgICAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gc2hvdWxkTG9nVGVzdEhhcm5lc3NGYWlsdXJlc0tleShBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2hvdWxkTG9nVGVzdEhhcm5lc3NGYWls
dXJlcyIpKTsKKyAgICAgICAgbV9zaG91bGRMb2dUZXN0SGFybmVzc0ZhaWx1cmVzID0gV0tCb29s
ZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVt
Rm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgc2hvdWxkTG9nVGVzdEhhcm5lc3NGYWlsdXJl
c0tleS5nZXQoKSkpKTsKKwogICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gYWNrTWVz
c2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkFjayIpKTsK
ICAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGFja01lc3NhZ2VCb2R5KEFkb3B0V0ss
IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJCZWdpblRlc3QiKSk7CiAgICAgICAgIFdL
QnVuZGxlUGFnZVBvc3RNZXNzYWdlKHBhZ2UsIGFja01lc3NhZ2VOYW1lLmdldCgpLCBhY2tNZXNz
YWdlQm9keS5nZXQoKSk7CkBAIC0zMzIsNiArMzM1LDggQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6
YmVnaW5UZXN0aW5nKFdLRGljdGlvbmFyeVJlZiBzZXR0aW5ncykKICAgICBpZiAobV90aW1lb3V0
ID4gMCkKICAgICAgICAgbV90ZXN0UnVubmVyLT5zZXRDdXN0b21UaW1lb3V0KG1fdGltZW91dCk7
CiAKKyAgICBtX3Rlc3RSdW5uZXItPnNldFNob3VsZExvZ1Rlc3RoYXJuZXNzRmFpbHVyZXMobV9z
aG91bGRMb2dUZXN0SGFybmVzc0ZhaWx1cmVzKTsKKwogICAgIHBhZ2UoKS0+cHJlcGFyZSgpOwog
CiAgICAgV0tCdW5kbGVDbGVhckFsbERhdGFiYXNlcyhtX2J1bmRsZSk7CmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKaW5k
ZXggZDUxNzcwYWNiODc0ZTNlMjQ2NTJlMTEwZDBjNDFiNTM5NTE1ZTljYS4uYjlkMjlkZTcwN2Ew
ZTlkZDhiNzY1NDNlYWRiYjg1MjgzNTMzNWVjYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAtNzcsNyArNzcs
OCBAQCBwdWJsaWM6CiAKICAgICBib29sIHNob3VsZER1bXBQaXhlbHMoKSBjb25zdCB7IHJldHVy
biBtX2R1bXBQaXhlbHM7IH0KICAgICBib29sIHVzZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyKCkg
Y29uc3QgeyByZXR1cm4gbV91c2VXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lcjsgfQotICAgIAorICAg
IGJvb2wgc2hvdWxkTG9nVGVzdEhhcm5lc3NGYWlsdXJlcygpIGNvbnN0IHsgcmV0dXJuIG1fc2hv
dWxkTG9nVGVzdEhhcm5lc3NGYWlsdXJlczsgfTsKKwogICAgIHZvaWQgb3V0cHV0VGV4dChjb25z
dCBTdHJpbmcmKTsKICAgICB2b2lkIHBvc3ROZXdCZWZvcmVVbmxvYWRSZXR1cm5WYWx1ZShib29s
KTsKICAgICB2b2lkIHBvc3RBZGRDaHJvbWVJbnB1dEZpZWxkKCk7CkBAIC0xNzIsNiArMTczLDcg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fdXNlV29ya1F1ZXVlOwogICAgIGludCBtX3RpbWVvdXQ7
CiAgICAgYm9vbCBtX3BpeGVsUmVzdWx0SXNQZW5kaW5nIHsgZmFsc2UgfTsKKyAgICBib29sIG1f
c2hvdWxkTG9nVGVzdEhhcm5lc3NGYWlsdXJlcyB7IHRydWUgfTsKIAogICAgIFdLUmV0YWluUHRy
PFdLRGF0YVJlZj4gbV9hdWRpb1Jlc3VsdDsKICAgICBXS1JldGFpblB0cjxXS0ltYWdlUmVmPiBt
X3BpeGVsUmVzdWx0OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuaAppbmRleCAwNzNhNTRmOTE0OTNjMjkxM2M4MmQ5YmRmZDY5Njg1YTVj
NTljNjk1Li4yN2E1YWQzMDhiYTEwYzc4YmRmNzQ5YjQ5NDU1NWFhYmEzOTAxOWNhIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApA
QCAtNzIsNiArNzIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZnlEb25lKCk7CiAgICAgZG91
YmxlIHByZWNpc2VUaW1lKCk7CiAgICAgZG91YmxlIHRpbWVvdXQoKSB7IHJldHVybiBtX3RpbWVv
dXQ7IH0KKyAgICB2b2lkIHNldFNob3VsZExvZ1Rlc3RoYXJuZXNzRmFpbHVyZXMoYm9vbCBpblN0
ZGVycikgeyBtX3Nob3VsZExvZ1Rlc3RIYXJuZXNzRmFpbHVyZXMgPSBpblN0ZGVycjsgfQorICAg
IGJvb2wgc2hvdWxkTG9nVGVzdGhhcm5lc3NGYWlsdXJlcygpIGNvbnN0IHsgcmV0dXJuIG1fc2hv
dWxkTG9nVGVzdEhhcm5lc3NGYWlsdXJlczsgfQogCiAgICAgLy8gT3RoZXIgZHVtcGluZy4KICAg
ICB2b2lkIGR1bXBCYWNrRm9yd2FyZExpc3QoKSB7IG1fc2hvdWxkRHVtcEJhY2tGb3J3YXJkTGlz
dHNGb3JBbGxXaW5kb3dzID0gdHJ1ZTsgfQpAQCAtMzg1LDYgKzM4Nyw3IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX2N1c3RvbUZ1bGxTY3JlZW5CZWhhdmlvcjsKIAogICAgIGludCBtX3RpbWVvdXQ7
CisgICAgYm9vbCBtX3Nob3VsZExvZ1Rlc3RIYXJuZXNzRmFpbHVyZXMgeyB0cnVlIH07CiAKICAg
ICBkb3VibGUgbV9kYXRhYmFzZURlZmF1bHRRdW90YTsKICAgICBkb3VibGUgbV9kYXRhYmFzZU1h
eFF1b3RhOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBk
MmU0OWJiNWRhODhlYmQzN2RhMGVkZjZiMjJkMzUxZjdhMmFlZmQ5Li4wNjYwZGQ3NTJlNmE3NzVm
ZWQzZDgwZThjYjQ5MTlkNmJhODVkMzAzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcApAQCAtOTk3LDEyICs5OTcsMTEgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6
Y29uZmlndXJlVmlld0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCiB9CiAKIHN0
cnVjdCBUZXN0Q29tbWFuZCB7Ci0gICAgVGVzdENvbW1hbmQoKSA6IHNob3VsZER1bXBQaXhlbHMo
ZmFsc2UpLCB0aW1lb3V0KDApIHsgfQotCiAgICAgc3RkOjpzdHJpbmcgcGF0aE9yVVJMOwotICAg
IGJvb2wgc2hvdWxkRHVtcFBpeGVsczsKKyAgICBib29sIHNob3VsZER1bXBQaXhlbHMgeyBmYWxz
ZSB9OwogICAgIHN0ZDo6c3RyaW5nIGV4cGVjdGVkUGl4ZWxIYXNoOwotICAgIGludCB0aW1lb3V0
OworICAgIGludCB0aW1lb3V0IHsgMCB9OworICAgIGJvb2wgc2hvdWxkTG9nVGVzdEhhcm5lc3NG
YWlsdXJlcyB7IHRydWUgfTsKIH07CiAKIGNsYXNzIENvbW1hbmRUb2tlbml6ZXIgewpAQCAtMTA3
NSw3ICsxMDc0LDkgQEAgVGVzdENvbW1hbmQgcGFyc2VJbnB1dExpbmUoY29uc3Qgc3RkOjpzdHJp
bmcmIGlucHV0TGluZSkKICAgICAgICAgICAgIHJlc3VsdC5zaG91bGREdW1wUGl4ZWxzID0gdHJ1
ZTsKICAgICAgICAgICAgIGlmICh0b2tlbml6ZXIuaGFzTmV4dCgpKQogICAgICAgICAgICAgICAg
IHJlc3VsdC5leHBlY3RlZFBpeGVsSGFzaCA9IHRva2VuaXplci5uZXh0KCk7Ci0gICAgICAgIH0g
ZWxzZQorICAgICAgICB9IGVsc2UgaWYgKGFyZyA9PSBzdGQ6OnN0cmluZygiLS1uby10ZXN0aGFy
bmVzcy1mYWlsdXJlLWxvZyIpKQorICAgICAgICAgICAgcmVzdWx0LnNob3VsZExvZ1Rlc3RIYXJu
ZXNzRmFpbHVyZXMgPSBmYWxzZTsKKyAgICAgICAgZWxzZQogICAgICAgICAgICAgZGllKGlucHV0
TGluZSk7CiAgICAgfQogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMDk2LDYgKzEwOTcsNyBAQCBi
b29sIFRlc3RDb250cm9sbGVyOjpydW5UZXN0KGNvbnN0IGNoYXIqIGlucHV0TGluZSkKICAgICAg
ICAgbV9jdXJyZW50SW52b2NhdGlvbi0+c2V0SXNQaXhlbFRlc3QoY29tbWFuZC5leHBlY3RlZFBp
eGVsSGFzaCk7CiAgICAgaWYgKGNvbW1hbmQudGltZW91dCA+IDApCiAgICAgICAgIG1fY3VycmVu
dEludm9jYXRpb24tPnNldEN1c3RvbVRpbWVvdXQoY29tbWFuZC50aW1lb3V0KTsKKyAgICBtX2N1
cnJlbnRJbnZvY2F0aW9uLT5zZXRTaG91bGRMb2dUZXN0SGFybmVzc0ZhaWx1cmVzKGNvbW1hbmQu
c2hvdWxkTG9nVGVzdEhhcm5lc3NGYWlsdXJlcyk7CiAKICAgICBwbGF0Zm9ybVdpbGxSdW5UZXN0
KCptX2N1cnJlbnRJbnZvY2F0aW9uKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmNwcAppbmRleCBkOTQwMDZlOWY1NmVkNmI3YTFkNmQwZWQ4MzY2MzEzMTc0NTc5ZDUx
Li5kNzFiNjBlYjY0NWJhOWFiM2EzMDdjNTg3YzkwMmI0OWI2OGUzYWY4IDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMTQ1LDYgKzE0NSwxMCBAQCB2b2lk
IFRlc3RJbnZvY2F0aW9uOjppbnZva2UoKQogICAgIFdLUmV0YWluUHRyPFdLVUludDY0UmVmPiB0
aW1lb3V0VmFsdWUgPSBhZG9wdFdLKFdLVUludDY0Q3JlYXRlKG1fdGltZW91dCkpOwogICAgIFdL
RGljdGlvbmFyeVNldEl0ZW0oYmVnaW5UZXN0TWVzc2FnZUJvZHkuZ2V0KCksIHRpbWVvdXRLZXku
Z2V0KCksIHRpbWVvdXRWYWx1ZS5nZXQoKSk7CiAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1Jl
Zj4gc2hvdWxkTG9nVGVzdEhhcm5lc3NGYWlsdXJlc0tleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIlNob3VsZExvZ1Rlc3RIYXJuZXNzRmFpbHVyZXMiKSk7CisgICAg
V0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBzaG91bGRMb2dUZXN0SGFybmVzc0ZhaWx1cmVzVmFs
dWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShtX3Nob3VsZExvZ1Rlc3RIYXJuZXNzRmFpbHVy
ZXMpKTsKKyAgICBXS0RpY3Rpb25hcnlTZXRJdGVtKGJlZ2luVGVzdE1lc3NhZ2VCb2R5LmdldCgp
LCBzaG91bGRMb2dUZXN0SGFybmVzc0ZhaWx1cmVzS2V5LmdldCgpLCBzaG91bGRMb2dUZXN0SGFy
bmVzc0ZhaWx1cmVzVmFsdWUuZ2V0KCkpOworCiAgICAgV0tQYWdlUG9zdE1lc3NhZ2VUb0luamVj
dGVkQnVuZGxlKFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5tYWluV2ViVmlldygpLT5wYWdl
KCksIG1lc3NhZ2VOYW1lLmdldCgpLCBiZWdpblRlc3RNZXNzYWdlQm9keS5nZXQoKSk7CiAKICAg
ICBib29sIHNob3VsZE9wZW5FeHRlcm5hbFVSTHMgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdEludm9jYXRpb24uaAppbmRleCA2YWIxNjJmZjg3OTMxNDE1NjM2MjM5ZTUzYzlmMTJj
ZjIwY2VlZWNkLi5jNmI4OGNmM2ZmZGJkY2JkNjFlMGJkNDU2MDQyZGUxMWFkNTAyNjQyIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCkBAIC01MSw2ICs1MSw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgc2V0Q3VzdG9tVGltZW91dChpbnQgZHVyYXRpb24pIHsgbV90aW1l
b3V0ID0gZHVyYXRpb247IH0KICAgICBpbnQgY3VzdG9tVGltZW91dCgpIGNvbnN0IHsgcmV0dXJu
IG1fdGltZW91dDsgfQorICAgIHZvaWQgc2V0U2hvdWxkTG9nVGVzdEhhcm5lc3NGYWlsdXJlcyhi
b29sIHZhbHVlKSB7IG1fc2hvdWxkTG9nVGVzdEhhcm5lc3NGYWlsdXJlcyA9IHZhbHVlOyB9CiAK
ICAgICB2b2lkIGludm9rZSgpOwogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0
ZWRCdW5kbGUoV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSk7
CkBAIC05OSw2ICsxMDAsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6c3RyaW5nIG1fZXhwZWN0ZWRQ
aXhlbEhhc2g7CiAKICAgICBpbnQgbV90aW1lb3V0IHsgMCB9OworICAgIGJvb2wgbV9zaG91bGRM
b2dUZXN0SGFybmVzc0ZhaWx1cmVzIHsgZmFsc2UgfTsKIAogICAgIC8vIEludm9jYXRpb24gc3Rh
dGUKICAgICBib29sIG1fZ290SW5pdGlhbFJlc3BvbnNlIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMjdh
MGU2OGE0MmE1NTMyMTczYmYxOWZhYTkyYWFkYWJlNDk0YmExLi40YjBhYzE3NmVjOWMzYzlkYzZm
MzAyYjg3ZDE0OTI1NDFjZThhZjM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMDktMDcg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNvbWUgV1BUIHRl
c3RoYXJuZXNzLWJhc2VkIHRlc3RzIGFyZSBmbGFreSBkdWUgdG8gYWx3YXlzLWNoYW5naW5nIGFz
c2VydGlvbiBmYWlsdXJlIG1lc3NhZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjE2OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6IFJlbW92aW5nIGZsYWtpbmVzcyBl
eHBlY3RhdGlvbnMgZm9yIC0tbm8tdGVzdGhhcm5lc3MtZmFpbHVyZS1sb2cgYWN0aXZhdGVkIHRl
c3RzLgorICAgICAgICAqIHJlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qczoKKyAgICAgICAg
KHNlbGYudGVzdFJ1bm5lci5hZGRfY29tcGxldGlvbl9jYWxsYmFjayk6IERpc2FibGluZyBlcnJv
ciBtZXNzYWdlIGluIGNhc2Ugb2YgLS1uby10ZXN0aGFybmVzcy1mYWlsdXJlLWxvZy4KKyAgICAg
ICAgKiB0ZXN0cy1vcHRpb25zLmpzb246IEFjdGl2YXRpbmcgLS1uby10ZXN0aGFybmVzcy1mYWls
dXJlLWxvZyB0byBzb21lIGZsYWt5IHRlc3RzLgorCiAyMDE2LTA5LTA2ICBSeWFuIEhhZGRhZCAg
PHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmtpbmcgaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLWFsbG93ZWQuaHRtbCBhcyBmbGFreSBvbiBtYWMtd2sy
IHJlbGVhc2UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBiOWE0YWEzMTEyNWNk
MmExNzQzNGVlZDg0NmI3NjRhNjRmYTEzNTk4Li43N2JkZGVmNDQ1MmNiYmRiY2RmNDM0MGU4ZTVj
ZTZlZGIxMDMwZjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxNi0wOS0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgU29tZSBXUFQgdGVzdGhhcm5lc3MtYmFzZWQgdGVzdHMgYXJlIGZsYWt5IGR1ZSB0byBh
bHdheXMtY2hhbmdpbmcgYXNzZXJ0aW9uIGZhaWx1cmUgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTY5MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9yZXNwb25zZXhtbC1kb2N1bWVudC1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jl
cXVlc3QvcmVxdWVzdC1jYWNoZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWltZy1lbGVtZW50L2Vu
dmlyb25tZW50LWNoYW5nZXMvdmlld3BvcnQtY2hhbmdlLWV4cGVjdGVkLnR4dDoKKwogMjAxNi0w
OS0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBw
b3J0IGZvciBpbnB1dC5taW5MZW5ndGggLyB0ZXh0QXJlYS5taW5MZW5ndGgKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDNhMzQ1YjY3ZWFiNGNjYWE3YzY1YzBjN2VjZTJhMDgwYmUxNzk2ODUuLjUyMmQ2
Zjc2OTVjMTY2MTMwNDEyMzlkZTZlODBlOWE5MDkxYTliNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMjgwLDEwICsyODAsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0
dHBSZXF1ZXN0L3htbGh0dHByZXF1ZXN0LXRpbWVvdXQtd29ya2VyLXR3aQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9zZW5kLXJlZGlyZWN0LWJvZ3VzLmh0
bSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVz
dC9zZW5kLXJlZGlyZWN0LXRvLWNvcnMuaHRtIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3NlbmQtcmVkaXJlY3QtdG8tbm9uLWNvcnMuaHRt
IFsgU2tpcCBdCi0jIEZhaWxpbmcgYXNzZXJ0aW9uIHdpdGggZHluYW1pYyBtZXNzYWdlCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNleG1sLWRv
Y3VtZW50LXByb3BlcnRpZXMuaHRtIFsgRmFpbHVyZSBdCi0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1jYWNoZS5odG1sIFsgU2tpcCBd
CiAKIHdlYmtpdC5vcmcvYi8xNjExNzYgWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdXJsL3VybC1zZXR0ZXJzLmh0bWwgWyBTa2lwIF0KIApAQCAtNDcxLDcgKzQ2Nyw2
IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vZWxlbWVudHMvZ2xv
YmFsLWF0dHJpYnV0ZXMvZGlyX2F1dG8tdGV4CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvZG9tL2VsZW1lbnRzL2dsb2JhbC1hdHRyaWJ1dGVzL3N0eWxlLTAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2RvbS9keW5hbWljLW1hcmt1cC1pbnNlcnRpb24vb3BlbmluZy10aGUtaW5wdXQtc3RyZWFtLzAx
MC5odG1sIFsgRmFpbHVyZSBUaW1lb3V0IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaW1nLWVsZW1lbnQvZW52aXJv
bm1lbnQtY2hhbmdlcy92aWV3cG9ydC1jaGFuZ2UuaHRtbCBbIEZhaWx1cmUgXQogCiAjIEltcG9y
dGVkIE1vemlsbGEgU1ZHIHRlc3RzCiB3ZWJraXQub3JnL2IvNTk2OCBpbXBvcnRlZC9tb3ppbGxh
L3N2Zy9saW5lYXJHcmFkaWVudC1iYXNpYy0wMy5zdmcgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1M
SHR0cFJlcXVlc3QvcmVzcG9uc2V4bWwtZG9jdW1lbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1
ZXN0L3Jlc3BvbnNleG1sLWRvY3VtZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDM0
MmYwNWI4NjYyYWYxMTIwN2E0NWU3YTQ0ZmFhNTk0MTY0NzBiNjUuLjQ1ZjdmNTJmM2FmMTgzNzQ5
ZDBlY2M4NWJiZjcxYTI0MTU0MjVjMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3QvcmVzcG9uc2V4bWwtZG9jdW1l
bnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9yZXNwb25zZXhtbC1kb2N1bWVudC1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMSwyMiArMSwyMiBAQAogCi1GQUlMIGRvbWFpbiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3Ry
aW5nKSAibG9jYWxob3N0IgorRkFJTCBkb21haW4gIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlz
YWJsZWQpCiBQQVNTIFVSTCAKIFBBU1MgZG9jdW1lbnRVUkkgCiBQQVNTIHJlZmVycmVyIAogUEFT
UyB0aXRsZSAKIFBBU1MgY29udGVudFR5cGUgCi1GQUlMIHJlYWR5U3RhdGUgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgImNvbXBsZXRlIiBidXQgZ290ICJpbnRlcmFjdGl2ZSIKK0ZBSUwgcmVhZHlT
dGF0ZSAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxlZCkKIFBBU1MgbG9jYXRpb24gCiBQ
QVNTIGRlZmF1bHRWaWV3IAotRkFJTCBib2R5IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRl
ZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChvYmplY3QpIG51bGwKLUZBSUwgaW1hZ2VzIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChvYmplY3Qp
IG9iamVjdCAiW29iamVjdCBIVE1MQ29sbGVjdGlvbl0iCitGQUlMIGJvZHkgIChBc3NlcnRpb24g
ZmFpbHVyZSBsb2cgZGlzYWJsZWQpCitGQUlMIGltYWdlcyAgKEFzc2VydGlvbiBmYWlsdXJlIGxv
ZyBkaXNhYmxlZCkKIFBBU1MgZG9jdHlwZSAKLUZBSUwgZm9ybXMgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKG9iamVjdCkgb2JqZWN0ICJbb2Jq
ZWN0IEhUTUxDb2xsZWN0aW9uXSIKK0ZBSUwgZm9ybXMgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cg
ZGlzYWJsZWQpCiBQQVNTIGFsbCAKLUZBSUwgbGlua3MgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKG9iamVjdCkgb2JqZWN0ICJbb2JqZWN0IEhU
TUxDb2xsZWN0aW9uXSIKK0ZBSUwgbGlua3MgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJs
ZWQpCiBQQVNTIGNvb2tpZSAKIFBBU1MgbGFzdE1vZGlmaWVkIHNldCB0byB0aW1lIG9mIHJlc3Bv
bnNlIGlmIG5vIEhUVFAgaGVhZGVyIHByb3ZpZGVkIAotRkFJTCBsYXN0TW9kaWZpZWQgc2V0IHRv
IHJlbGF0ZWQgSFRUUCBoZWFkZXIgaWYgcHJvdmlkZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
MTQ3MjE5OTg0MDAwMCBidXQgZ290IDE0NzIyMDYzNTAwMDAKK0ZBSUwgbGFzdE1vZGlmaWVkIHNl
dCB0byByZWxhdGVkIEhUVFAgaGVhZGVyIGlmIHByb3ZpZGVkICAoQXNzZXJ0aW9uIGZhaWx1cmUg
bG9nIGRpc2FibGVkKQogUEFTUyBjb29raWUgKGFmdGVyIHNldHRpbmcgaXQpIAogUEFTUyBzdHls
ZVNoZWV0cyAKIFBBU1MgaW1wbGVtZW50YXRpb24gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3Qt
Y2FjaGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWNhY2hlLWV4cGVjdGVkLnR4dAppbmRl
eCBkYzg2OTliOWRlOWIzYzVkZjQ5N2Y5ZWNlNjBhYmRiNzg1ZjE4ODUyLi4xNWUzOGRlMThjMjFk
Y2Y4ODNhZDFlM2QwZjQ0NWIyMjA2MTM1NzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtY2Fj
aGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1jYWNoZS1leHBlY3RlZC50eHQKQEAg
LTUsMTAgKzUsMTAgQEAgUEFTUyBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgY2hlY2tzIHRo
ZSBjYWNoZSBmb3IgcHJldmlvdXNseSBjYWNoZWQgY29udGVudAogUEFTUyBSZXF1ZXN0Q2FjaGUg
ImRlZmF1bHQiIG1vZGUgY2hlY2tzIHRoZSBjYWNoZSBmb3IgcHJldmlvdXNseSBjYWNoZWQgY29u
dGVudCBhbmQgYXZvaWRzIGdvaW5nIHRvIHRoZSBuZXR3b3JrIGlmIGEgZnJlc2ggcmVzcG9uc2Ug
ZXhpc3RzIHdpdGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2UgCiBQQVNTIFJlcXVlc3RDYWNoZSAi
bm8tY2FjaGUiIG1vZGUgcmV2YWxpZGF0ZXMgc3RhbGUgcmVzcG9uc2VzIGZvdW5kIGluIHRoZSBj
YWNoZSB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUgIm5v
LWNhY2hlIiBtb2RlIHJldmFsaWRhdGVzIHN0YWxlIHJlc3BvbnNlcyBmb3VuZCBpbiB0aGUgY2Fj
aGUgd2l0aCBkYXRlIGFuZCBzdGFsZSByZXNwb25zZSAKLUZBSUwgUmVxdWVzdENhY2hlICJuby1j
YWNoZSIgbW9kZSByZXZhbGlkYXRlcyBmcmVzaCByZXNwb25zZXMgZm91bmQgaW4gdGhlIGNhY2hl
IHdpdGggRXRhZyBhbmQgZnJlc2ggcmVzcG9uc2UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBi
dXQgZ290IDEKLUZBSUwgUmVxdWVzdENhY2hlICJuby1jYWNoZSIgbW9kZSByZXZhbGlkYXRlcyBm
cmVzaCByZXNwb25zZXMgZm91bmQgaW4gdGhlIGNhY2hlIHdpdGggZGF0ZSBhbmQgZnJlc2ggcmVz
cG9uc2UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBidXQgZ290IDEKLUZBSUwgUmVxdWVzdENh
Y2hlICJmb3JjZS1jYWNoZSIgbW9kZSBjaGVja3MgdGhlIGNhY2hlIGZvciBwcmV2aW91c2x5IGNh
Y2hlZCBjb250ZW50IGFuZCBhdm9pZCByZXZhbGlkYXRpb24gZm9yIHN0YWxlIHJlc3BvbnNlcyB3
aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEgYnV0
IGdvdCAyCi1GQUlMIFJlcXVlc3RDYWNoZSAiZm9yY2UtY2FjaGUiIG1vZGUgY2hlY2tzIHRoZSBj
YWNoZSBmb3IgcHJldmlvdXNseSBjYWNoZWQgY29udGVudCBhbmQgYXZvaWQgcmV2YWxpZGF0aW9u
IGZvciBzdGFsZSByZXNwb25zZXMgd2l0aCBkYXRlIGFuZCBzdGFsZSByZXNwb25zZSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMgorRkFJTCBSZXF1ZXN0Q2FjaGUgIm5vLWNhY2hl
IiBtb2RlIHJldmFsaWRhdGVzIGZyZXNoIHJlc3BvbnNlcyBmb3VuZCBpbiB0aGUgY2FjaGUgd2l0
aCBFdGFnIGFuZCBmcmVzaCByZXNwb25zZSAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxl
ZCkKK0ZBSUwgUmVxdWVzdENhY2hlICJuby1jYWNoZSIgbW9kZSByZXZhbGlkYXRlcyBmcmVzaCBy
ZXNwb25zZXMgZm91bmQgaW4gdGhlIGNhY2hlIHdpdGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2Ug
IChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJsZWQpCitGQUlMIFJlcXVlc3RDYWNoZSAiZm9y
Y2UtY2FjaGUiIG1vZGUgY2hlY2tzIHRoZSBjYWNoZSBmb3IgcHJldmlvdXNseSBjYWNoZWQgY29u
dGVudCBhbmQgYXZvaWQgcmV2YWxpZGF0aW9uIGZvciBzdGFsZSByZXNwb25zZXMgd2l0aCBFdGFn
IGFuZCBzdGFsZSByZXNwb25zZSAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxlZCkKK0ZB
SUwgUmVxdWVzdENhY2hlICJmb3JjZS1jYWNoZSIgbW9kZSBjaGVja3MgdGhlIGNhY2hlIGZvciBw
cmV2aW91c2x5IGNhY2hlZCBjb250ZW50IGFuZCBhdm9pZCByZXZhbGlkYXRpb24gZm9yIHN0YWxl
IHJlc3BvbnNlcyB3aXRoIGRhdGUgYW5kIHN0YWxlIHJlc3BvbnNlICAoQXNzZXJ0aW9uIGZhaWx1
cmUgbG9nIGRpc2FibGVkKQogUEFTUyBSZXF1ZXN0Q2FjaGUgImZvcmNlLWNhY2hlIiBtb2RlIGNo
ZWNrcyB0aGUgY2FjaGUgZm9yIHByZXZpb3VzbHkgY2FjaGVkIGNvbnRlbnQgYW5kIGF2b2lkIHJl
dmFsaWRhdGlvbiBmb3IgZnJlc2ggcmVzcG9uc2VzIHdpdGggRXRhZyBhbmQgZnJlc2ggcmVzcG9u
c2UgCiBQQVNTIFJlcXVlc3RDYWNoZSAiZm9yY2UtY2FjaGUiIG1vZGUgY2hlY2tzIHRoZSBjYWNo
ZSBmb3IgcHJldmlvdXNseSBjYWNoZWQgY29udGVudCBhbmQgYXZvaWQgcmV2YWxpZGF0aW9uIGZv
ciBmcmVzaCByZXNwb25zZXMgd2l0aCBkYXRlIGFuZCBmcmVzaCByZXNwb25zZSAKIFBBU1MgUmVx
dWVzdENhY2hlICJmb3JjZS1jYWNoZSIgbW9kZSBjaGVja3MgdGhlIGNhY2hlIGZvciBwcmV2aW91
c2x5IGNhY2hlZCBjb250ZW50IGFuZCBnb2VzIHRvIHRoZSBuZXR3b3JrIGlmIGEgY2FjaGVkIHJl
c3BvbnNlIGlzIG5vdCBmb3VuZCB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIApAQCAtMjMs
MzUgKzIzLDM1IEBAIFBBU1MgUmVxdWVzdENhY2hlICJmb3JjZS1jYWNoZSIgc3RvcmVzIHRoZSBy
ZXNwb25zZSBpbiB0aGUgY2FjaGUgaWYgaXQgZ29lcyB0byB0CiBQQVNTIFJlcXVlc3RDYWNoZSAi
Zm9yY2UtY2FjaGUiIHN0b3JlcyB0aGUgcmVzcG9uc2UgaW4gdGhlIGNhY2hlIGlmIGl0IGdvZXMg
dG8gdGhlIG5ldHdvcmsgd2l0aCBkYXRlIGFuZCBzdGFsZSByZXNwb25zZSAKIFBBU1MgUmVxdWVz
dENhY2hlICJmb3JjZS1jYWNoZSIgc3RvcmVzIHRoZSByZXNwb25zZSBpbiB0aGUgY2FjaGUgaWYg
aXQgZ29lcyB0byB0aGUgbmV0d29yayB3aXRoIEV0YWcgYW5kIGZyZXNoIHJlc3BvbnNlIAogUEFT
UyBSZXF1ZXN0Q2FjaGUgImZvcmNlLWNhY2hlIiBzdG9yZXMgdGhlIHJlc3BvbnNlIGluIHRoZSBj
YWNoZSBpZiBpdCBnb2VzIHRvIHRoZSBuZXR3b3JrIHdpdGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9u
c2UgCi1GQUlMIFJlcXVlc3RDYWNoZSAib25seS1pZi1jYWNoZWQiIG1vZGUgY2hlY2tzIHRoZSBj
YWNoZSBmb3IgcHJldmlvdXNseSBjYWNoZWQgY29udGVudCBhbmQgYXZvaWRzIHJldmFsaWRhdGlv
biBmb3Igc3RhbGUgcmVzcG9uc2VzIHdpdGggRXRhZyBhbmQgc3RhbGUgcmVzcG9uc2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBUeXBlIGVycm9yIgotRkFJTCBSZXF1ZXN0Q2FjaGUgIm9ubHktaWYtY2FjaGVkIiBtb2RlIGNo
ZWNrcyB0aGUgY2FjaGUgZm9yIHByZXZpb3VzbHkgY2FjaGVkIGNvbnRlbnQgYW5kIGF2b2lkcyBy
ZXZhbGlkYXRpb24gZm9yIHN0YWxlIHJlc3BvbnNlcyB3aXRoIGRhdGUgYW5kIHN0YWxlIHJlc3Bv
bnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogVHlwZSBlcnJvciIKLUZBSUwgUmVxdWVzdENhY2hlICJvbmx5LWlmLWNhY2hl
ZCIgbW9kZSBjaGVja3MgdGhlIGNhY2hlIGZvciBwcmV2aW91c2x5IGNhY2hlZCBjb250ZW50IGFu
ZCBhdm9pZHMgcmV2YWxpZGF0aW9uIGZvciBmcmVzaCByZXNwb25zZXMgd2l0aCBFdGFnIGFuZCBm
cmVzaCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCi1GQUlMIFJlcXVlc3RDYWNoZSAib25s
eS1pZi1jYWNoZWQiIG1vZGUgY2hlY2tzIHRoZSBjYWNoZSBmb3IgcHJldmlvdXNseSBjYWNoZWQg
Y29udGVudCBhbmQgYXZvaWRzIHJldmFsaWRhdGlvbiBmb3IgZnJlc2ggcmVzcG9uc2VzIHdpdGgg
ZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgorRkFJTCBSZXF1ZXN0
Q2FjaGUgIm9ubHktaWYtY2FjaGVkIiBtb2RlIGNoZWNrcyB0aGUgY2FjaGUgZm9yIHByZXZpb3Vz
bHkgY2FjaGVkIGNvbnRlbnQgYW5kIGF2b2lkcyByZXZhbGlkYXRpb24gZm9yIHN0YWxlIHJlc3Bv
bnNlcyB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlICAoQXNzZXJ0aW9uIGZhaWx1cmUgbG9n
IGRpc2FibGVkKQorRkFJTCBSZXF1ZXN0Q2FjaGUgIm9ubHktaWYtY2FjaGVkIiBtb2RlIGNoZWNr
cyB0aGUgY2FjaGUgZm9yIHByZXZpb3VzbHkgY2FjaGVkIGNvbnRlbnQgYW5kIGF2b2lkcyByZXZh
bGlkYXRpb24gZm9yIHN0YWxlIHJlc3BvbnNlcyB3aXRoIGRhdGUgYW5kIHN0YWxlIHJlc3BvbnNl
ICAoQXNzZXJ0aW9uIGZhaWx1cmUgbG9nIGRpc2FibGVkKQorRkFJTCBSZXF1ZXN0Q2FjaGUgIm9u
bHktaWYtY2FjaGVkIiBtb2RlIGNoZWNrcyB0aGUgY2FjaGUgZm9yIHByZXZpb3VzbHkgY2FjaGVk
IGNvbnRlbnQgYW5kIGF2b2lkcyByZXZhbGlkYXRpb24gZm9yIGZyZXNoIHJlc3BvbnNlcyB3aXRo
IEV0YWcgYW5kIGZyZXNoIHJlc3BvbnNlICAoQXNzZXJ0aW9uIGZhaWx1cmUgbG9nIGRpc2FibGVk
KQorRkFJTCBSZXF1ZXN0Q2FjaGUgIm9ubHktaWYtY2FjaGVkIiBtb2RlIGNoZWNrcyB0aGUgY2Fj
aGUgZm9yIHByZXZpb3VzbHkgY2FjaGVkIGNvbnRlbnQgYW5kIGF2b2lkcyByZXZhbGlkYXRpb24g
Zm9yIGZyZXNoIHJlc3BvbnNlcyB3aXRoIGRhdGUgYW5kIGZyZXNoIHJlc3BvbnNlICAoQXNzZXJ0
aW9uIGZhaWx1cmUgbG9nIGRpc2FibGVkKQogUEFTUyBSZXF1ZXN0Q2FjaGUgIm9ubHktaWYtY2Fj
aGVkIiBtb2RlIGNoZWNrcyB0aGUgY2FjaGUgZm9yIHByZXZpb3VzbHkgY2FjaGVkIGNvbnRlbnQg
YW5kIGRvZXMgbm90IGdvIHRvIHRoZSBuZXR3b3JrIGlmIGEgY2FjaGVkIHJlc3BvbnNlIGlzIG5v
dCBmb3VuZCB3aXRoIEV0YWcgYW5kIGZyZXNoIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUg
Im9ubHktaWYtY2FjaGVkIiBtb2RlIGNoZWNrcyB0aGUgY2FjaGUgZm9yIHByZXZpb3VzbHkgY2Fj
aGVkIGNvbnRlbnQgYW5kIGRvZXMgbm90IGdvIHRvIHRoZSBuZXR3b3JrIGlmIGEgY2FjaGVkIHJl
c3BvbnNlIGlzIG5vdCBmb3VuZCB3aXRoIGRhdGUgYW5kIGZyZXNoIHJlc3BvbnNlIAotRkFJTCBS
ZXF1ZXN0Q2FjaGUgIm9ubHktaWYtY2FjaGVkIiAod2l0aCAic2FtZS1vcmlnaW4iKSB1c2VzIGNh
Y2hlZCBzYW1lLW9yaWdpbiByZWRpcmVjdHMgdG8gc2FtZS1vcmlnaW4gY29udGVudCB3aXRoIEV0
YWcgYW5kIGZyZXNoIHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVHlwZSBlcnJvciIKLUZBSUwgUmVxdWVzdENh
Y2hlICJvbmx5LWlmLWNhY2hlZCIgKHdpdGggInNhbWUtb3JpZ2luIikgdXNlcyBjYWNoZWQgc2Ft
ZS1vcmlnaW4gcmVkaXJlY3RzIHRvIHNhbWUtb3JpZ2luIGNvbnRlbnQgd2l0aCBkYXRlIGFuZCBm
cmVzaCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFR5cGUgZXJyb3IiCi1GQUlMIFJlcXVlc3RDYWNoZSAib25s
eS1pZi1jYWNoZWQiICh3aXRoICJzYW1lLW9yaWdpbiIpIHVzZXMgY2FjaGVkIHNhbWUtb3JpZ2lu
IHJlZGlyZWN0cyB0byBzYW1lLW9yaWdpbiBjb250ZW50IHdpdGggRXRhZyBhbmQgc3RhbGUgcmVz
cG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIgotRkFJTCBSZXF1ZXN0Q2FjaGUgIm9ubHktaWYtY2Fj
aGVkIiAod2l0aCAic2FtZS1vcmlnaW4iKSB1c2VzIGNhY2hlZCBzYW1lLW9yaWdpbiByZWRpcmVj
dHMgdG8gc2FtZS1vcmlnaW4gY29udGVudCB3aXRoIGRhdGUgYW5kIHN0YWxlIHJlc3BvbnNlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogVHlwZSBlcnJvciIKK0ZBSUwgUmVxdWVzdENhY2hlICJvbmx5LWlmLWNhY2hlZCIgKHdp
dGggInNhbWUtb3JpZ2luIikgdXNlcyBjYWNoZWQgc2FtZS1vcmlnaW4gcmVkaXJlY3RzIHRvIHNh
bWUtb3JpZ2luIGNvbnRlbnQgd2l0aCBFdGFnIGFuZCBmcmVzaCByZXNwb25zZSAgKEFzc2VydGlv
biBmYWlsdXJlIGxvZyBkaXNhYmxlZCkKK0ZBSUwgUmVxdWVzdENhY2hlICJvbmx5LWlmLWNhY2hl
ZCIgKHdpdGggInNhbWUtb3JpZ2luIikgdXNlcyBjYWNoZWQgc2FtZS1vcmlnaW4gcmVkaXJlY3Rz
IHRvIHNhbWUtb3JpZ2luIGNvbnRlbnQgd2l0aCBkYXRlIGFuZCBmcmVzaCByZXNwb25zZSAgKEFz
c2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxlZCkKK0ZBSUwgUmVxdWVzdENhY2hlICJvbmx5LWlm
LWNhY2hlZCIgKHdpdGggInNhbWUtb3JpZ2luIikgdXNlcyBjYWNoZWQgc2FtZS1vcmlnaW4gcmVk
aXJlY3RzIHRvIHNhbWUtb3JpZ2luIGNvbnRlbnQgd2l0aCBFdGFnIGFuZCBzdGFsZSByZXNwb25z
ZSAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxlZCkKK0ZBSUwgUmVxdWVzdENhY2hlICJv
bmx5LWlmLWNhY2hlZCIgKHdpdGggInNhbWUtb3JpZ2luIikgdXNlcyBjYWNoZWQgc2FtZS1vcmln
aW4gcmVkaXJlY3RzIHRvIHNhbWUtb3JpZ2luIGNvbnRlbnQgd2l0aCBkYXRlIGFuZCBzdGFsZSBy
ZXNwb25zZSAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxlZCkKIFBBU1MgUmVxdWVzdENh
Y2hlICJvbmx5LWlmLWNhY2hlZCIgKHdpdGggInNhbWUtb3JpZ2luIikgZG9lcyBub3QgZm9sbG93
IHJlZGlyZWN0cyBhY3Jvc3Mgb3JpZ2lucyBhbmQgcmVqZWN0cyB3aXRoIEV0YWcgYW5kIGZyZXNo
IHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUgIm9ubHktaWYtY2FjaGVkIiAod2l0aCAic2Ft
ZS1vcmlnaW4iKSBkb2VzIG5vdCBmb2xsb3cgcmVkaXJlY3RzIGFjcm9zcyBvcmlnaW5zIGFuZCBy
ZWplY3RzIHdpdGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2UgCiBQQVNTIFJlcXVlc3RDYWNoZSAi
b25seS1pZi1jYWNoZWQiICh3aXRoICJzYW1lLW9yaWdpbiIpIGRvZXMgbm90IGZvbGxvdyByZWRp
cmVjdHMgYWNyb3NzIG9yaWdpbnMgYW5kIHJlamVjdHMgd2l0aCBFdGFnIGFuZCBzdGFsZSByZXNw
b25zZSAKIFBBU1MgUmVxdWVzdENhY2hlICJvbmx5LWlmLWNhY2hlZCIgKHdpdGggInNhbWUtb3Jp
Z2luIikgZG9lcyBub3QgZm9sbG93IHJlZGlyZWN0cyBhY3Jvc3Mgb3JpZ2lucyBhbmQgcmVqZWN0
cyB3aXRoIGRhdGUgYW5kIHN0YWxlIHJlc3BvbnNlIAotRkFJTCBSZXF1ZXN0Q2FjaGUgIm5vLXN0
b3JlIiBtb2RlIGRvZXMgbm90IGNoZWNrIHRoZSBjYWNoZSBmb3IgcHJldmlvdXNseSBjYWNoZWQg
Y29udGVudCBhbmQgZ29lcyB0byB0aGUgbmV0d29yayByZWdhcmRsZXNzIHdpdGggRXRhZyBhbmQg
c3RhbGUgcmVzcG9uc2UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZp
bmVkIGJ1dCBnb3QgKHN0cmluZykgIlwiMC4xMTMzOTc0MTM0NDE4MDc1NFwiIgotRkFJTCBSZXF1
ZXN0Q2FjaGUgIm5vLXN0b3JlIiBtb2RlIGRvZXMgbm90IGNoZWNrIHRoZSBjYWNoZSBmb3IgcHJl
dmlvdXNseSBjYWNoZWQgY29udGVudCBhbmQgZ29lcyB0byB0aGUgbmV0d29yayByZWdhcmRsZXNz
IHdpdGggZGF0ZSBhbmQgc3RhbGUgcmVzcG9uc2UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVu
ZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgIkZyaSwgMjYgQXVnIDIwMTYgMDg6
MjM6NTUgR01UIgotRkFJTCBSZXF1ZXN0Q2FjaGUgIm5vLXN0b3JlIiBtb2RlIGRvZXMgbm90IGNo
ZWNrIHRoZSBjYWNoZSBmb3IgcHJldmlvdXNseSBjYWNoZWQgY29udGVudCBhbmQgZ29lcyB0byB0
aGUgbmV0d29yayByZWdhcmRsZXNzIHdpdGggRXRhZyBhbmQgZnJlc2ggcmVzcG9uc2UgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMiBidXQgZ290IDEKLUZBSUwgUmVxdWVzdENhY2hlICJuby1zdG9y
ZSIgbW9kZSBkb2VzIG5vdCBjaGVjayB0aGUgY2FjaGUgZm9yIHByZXZpb3VzbHkgY2FjaGVkIGNv
bnRlbnQgYW5kIGdvZXMgdG8gdGhlIG5ldHdvcmsgcmVnYXJkbGVzcyB3aXRoIGRhdGUgYW5kIGZy
ZXNoIHJlc3BvbnNlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAxCi1GQUlMIFJl
cXVlc3RDYWNoZSAibm8tc3RvcmUiIG1vZGUgZG9lcyBub3Qgc3RvcmUgdGhlIHJlc3BvbnNlIGlu
IHRoZSBjYWNoZSB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJcIjAuMDgwNDAw
NDUyMjk3OTEwMDRcIiIKLUZBSUwgUmVxdWVzdENhY2hlICJuby1zdG9yZSIgbW9kZSBkb2VzIG5v
dCBzdG9yZSB0aGUgcmVzcG9uc2UgaW4gdGhlIGNhY2hlIHdpdGggZGF0ZSBhbmQgc3RhbGUgcmVz
cG9uc2UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBn
b3QgKHN0cmluZykgIkZyaSwgMjYgQXVnIDIwMTYgMDg6MjM6NTUgR01UIgotRkFJTCBSZXF1ZXN0
Q2FjaGUgIm5vLXN0b3JlIiBtb2RlIGRvZXMgbm90IHN0b3JlIHRoZSByZXNwb25zZSBpbiB0aGUg
Y2FjaGUgd2l0aCBFdGFnIGFuZCBmcmVzaCByZXNwb25zZSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAyIGJ1dCBnb3QgMQotRkFJTCBSZXF1ZXN0Q2FjaGUgIm5vLXN0b3JlIiBtb2RlIGRvZXMgbm90
IHN0b3JlIHRoZSByZXNwb25zZSBpbiB0aGUgY2FjaGUgd2l0aCBkYXRlIGFuZCBmcmVzaCByZXNw
b25zZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMQorRkFJTCBSZXF1ZXN0Q2Fj
aGUgIm5vLXN0b3JlIiBtb2RlIGRvZXMgbm90IGNoZWNrIHRoZSBjYWNoZSBmb3IgcHJldmlvdXNs
eSBjYWNoZWQgY29udGVudCBhbmQgZ29lcyB0byB0aGUgbmV0d29yayByZWdhcmRsZXNzIHdpdGgg
RXRhZyBhbmQgc3RhbGUgcmVzcG9uc2UgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJsZWQp
CitGQUlMIFJlcXVlc3RDYWNoZSAibm8tc3RvcmUiIG1vZGUgZG9lcyBub3QgY2hlY2sgdGhlIGNh
Y2hlIGZvciBwcmV2aW91c2x5IGNhY2hlZCBjb250ZW50IGFuZCBnb2VzIHRvIHRoZSBuZXR3b3Jr
IHJlZ2FyZGxlc3Mgd2l0aCBkYXRlIGFuZCBzdGFsZSByZXNwb25zZSAgKEFzc2VydGlvbiBmYWls
dXJlIGxvZyBkaXNhYmxlZCkKK0ZBSUwgUmVxdWVzdENhY2hlICJuby1zdG9yZSIgbW9kZSBkb2Vz
IG5vdCBjaGVjayB0aGUgY2FjaGUgZm9yIHByZXZpb3VzbHkgY2FjaGVkIGNvbnRlbnQgYW5kIGdv
ZXMgdG8gdGhlIG5ldHdvcmsgcmVnYXJkbGVzcyB3aXRoIEV0YWcgYW5kIGZyZXNoIHJlc3BvbnNl
ICAoQXNzZXJ0aW9uIGZhaWx1cmUgbG9nIGRpc2FibGVkKQorRkFJTCBSZXF1ZXN0Q2FjaGUgIm5v
LXN0b3JlIiBtb2RlIGRvZXMgbm90IGNoZWNrIHRoZSBjYWNoZSBmb3IgcHJldmlvdXNseSBjYWNo
ZWQgY29udGVudCBhbmQgZ29lcyB0byB0aGUgbmV0d29yayByZWdhcmRsZXNzIHdpdGggZGF0ZSBh
bmQgZnJlc2ggcmVzcG9uc2UgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJsZWQpCitGQUlM
IFJlcXVlc3RDYWNoZSAibm8tc3RvcmUiIG1vZGUgZG9lcyBub3Qgc3RvcmUgdGhlIHJlc3BvbnNl
IGluIHRoZSBjYWNoZSB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlICAoQXNzZXJ0aW9uIGZh
aWx1cmUgbG9nIGRpc2FibGVkKQorRkFJTCBSZXF1ZXN0Q2FjaGUgIm5vLXN0b3JlIiBtb2RlIGRv
ZXMgbm90IHN0b3JlIHRoZSByZXNwb25zZSBpbiB0aGUgY2FjaGUgd2l0aCBkYXRlIGFuZCBzdGFs
ZSByZXNwb25zZSAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxlZCkKK0ZBSUwgUmVxdWVz
dENhY2hlICJuby1zdG9yZSIgbW9kZSBkb2VzIG5vdCBzdG9yZSB0aGUgcmVzcG9uc2UgaW4gdGhl
IGNhY2hlIHdpdGggRXRhZyBhbmQgZnJlc2ggcmVzcG9uc2UgIChBc3NlcnRpb24gZmFpbHVyZSBs
b2cgZGlzYWJsZWQpCitGQUlMIFJlcXVlc3RDYWNoZSAibm8tc3RvcmUiIG1vZGUgZG9lcyBub3Qg
c3RvcmUgdGhlIHJlc3BvbnNlIGluIHRoZSBjYWNoZSB3aXRoIGRhdGUgYW5kIGZyZXNoIHJlc3Bv
bnNlICAoQXNzZXJ0aW9uIGZhaWx1cmUgbG9nIGRpc2FibGVkKQogUEFTUyBSZXF1ZXN0Q2FjaGUg
ImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1Nb2RpZmllZC1TaW5jZSBoZWFkZXIgaXMgdHJlYXRl
ZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIAog
UEFTUyBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1Nb2RpZmllZC1TaW5j
ZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIGRhdGUgYW5k
IHN0YWxlIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBh
biBJZi1Nb2RpZmllZC1TaW5jZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0
b3JlIiB3aXRoIEV0YWcgYW5kIGZyZXNoIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUgImRl
ZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1Nb2RpZmllZC1TaW5jZSBoZWFkZXIgaXMgdHJlYXRlZCBz
aW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIGRhdGUgYW5kIGZyZXNoIHJlc3BvbnNlIAogUEFT
UyBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1Nb2RpZmllZC1TaW5jZSBo
ZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIEV0YWcgYW5kIHN0
YWxlIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJ
Zi1Nb2RpZmllZC1TaW5jZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3Jl
IiB3aXRoIGRhdGUgYW5kIHN0YWxlIHJlc3BvbnNlIAotRkFJTCBSZXF1ZXN0Q2FjaGUgImRlZmF1
bHQiIG1vZGUgd2l0aCBhbiBJZi1Nb2RpZmllZC1TaW5jZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1p
bGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIEV0YWcgYW5kIGZyZXNoIHJlc3BvbnNlIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAxCitGQUlMIFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIg
bW9kZSB3aXRoIGFuIElmLU1vZGlmaWVkLVNpbmNlIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJs
eSB0byAibm8tc3RvcmUiIHdpdGggRXRhZyBhbmQgZnJlc2ggcmVzcG9uc2UgIChBc3NlcnRpb24g
ZmFpbHVyZSBsb2cgZGlzYWJsZWQpCiBQQVNTIFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIgbW9kZSB3
aXRoIGFuIElmLU1vZGlmaWVkLVNpbmNlIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJseSB0byAi
bm8tc3RvcmUiIHdpdGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2UgCiBQQVNTIFJlcXVlc3RDYWNo
ZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLU5vbmUtTWF0Y2ggaGVhZGVyIGlzIHRyZWF0ZWQg
c2ltaWxhcmx5IHRvICJuby1zdG9yZSIgd2l0aCBFdGFnIGFuZCBzdGFsZSByZXNwb25zZSAKIFBB
U1MgUmVxdWVzdENhY2hlICJkZWZhdWx0IiBtb2RlIHdpdGggYW4gSWYtTm9uZS1NYXRjaCBoZWFk
ZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIGRhdGUgYW5kIHN0YWxl
IHJlc3BvbnNlIApAQCAtNTksNDYgKzU5LDQ2IEBAIFBBU1MgUmVxdWVzdENhY2hlICJkZWZhdWx0
IiBtb2RlIHdpdGggYW4gSWYtTm9uZS1NYXRjaCBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFyCiBQ
QVNTIFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLU5vbmUtTWF0Y2ggaGVh
ZGVyIGlzIHRyZWF0ZWQgc2ltaWxhcmx5IHRvICJuby1zdG9yZSIgd2l0aCBkYXRlIGFuZCBmcmVz
aCByZXNwb25zZSAKIFBBU1MgUmVxdWVzdENhY2hlICJkZWZhdWx0IiBtb2RlIHdpdGggYW4gSWYt
Tm9uZS1NYXRjaCBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRo
IEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1v
ZGUgd2l0aCBhbiBJZi1Ob25lLU1hdGNoIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJseSB0byAi
bm8tc3RvcmUiIHdpdGggZGF0ZSBhbmQgc3RhbGUgcmVzcG9uc2UgCi1GQUlMIFJlcXVlc3RDYWNo
ZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLU5vbmUtTWF0Y2ggaGVhZGVyIGlzIHRyZWF0ZWQg
c2ltaWxhcmx5IHRvICJuby1zdG9yZSIgd2l0aCBFdGFnIGFuZCBmcmVzaCByZXNwb25zZSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMQotRkFJTCBSZXF1ZXN0Q2FjaGUgImRlZmF1
bHQiIG1vZGUgd2l0aCBhbiBJZi1Ob25lLU1hdGNoIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJs
eSB0byAibm8tc3RvcmUiIHdpdGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2UgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMiBidXQgZ290IDEKK0ZBSUwgUmVxdWVzdENhY2hlICJkZWZhdWx0IiBtb2Rl
IHdpdGggYW4gSWYtTm9uZS1NYXRjaCBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5v
LXN0b3JlIiB3aXRoIEV0YWcgYW5kIGZyZXNoIHJlc3BvbnNlICAoQXNzZXJ0aW9uIGZhaWx1cmUg
bG9nIGRpc2FibGVkKQorRkFJTCBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJ
Zi1Ob25lLU1hdGNoIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJseSB0byAibm8tc3RvcmUiIHdp
dGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2UgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJs
ZWQpCiBQQVNTIFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLVVubW9kaWZp
ZWQtU2luY2UgaGVhZGVyIGlzIHRyZWF0ZWQgc2ltaWxhcmx5IHRvICJuby1zdG9yZSIgd2l0aCBF
dGFnIGFuZCBzdGFsZSByZXNwb25zZSAKIFBBU1MgUmVxdWVzdENhY2hlICJkZWZhdWx0IiBtb2Rl
IHdpdGggYW4gSWYtVW5tb2RpZmllZC1TaW5jZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkg
dG8gIm5vLXN0b3JlIiB3aXRoIGRhdGUgYW5kIHN0YWxlIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0
Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1Vbm1vZGlmaWVkLVNpbmNlIGhlYWRlciBp
cyB0cmVhdGVkIHNpbWlsYXJseSB0byAibm8tc3RvcmUiIHdpdGggRXRhZyBhbmQgZnJlc2ggcmVz
cG9uc2UgCiBQQVNTIFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLVVubW9k
aWZpZWQtU2luY2UgaGVhZGVyIGlzIHRyZWF0ZWQgc2ltaWxhcmx5IHRvICJuby1zdG9yZSIgd2l0
aCBkYXRlIGFuZCBmcmVzaCByZXNwb25zZSAKIFBBU1MgUmVxdWVzdENhY2hlICJkZWZhdWx0IiBt
b2RlIHdpdGggYW4gSWYtVW5tb2RpZmllZC1TaW5jZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFy
bHkgdG8gIm5vLXN0b3JlIiB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIAogUEFTUyBSZXF1
ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1Vbm1vZGlmaWVkLVNpbmNlIGhlYWRl
ciBpcyB0cmVhdGVkIHNpbWlsYXJseSB0byAibm8tc3RvcmUiIHdpdGggZGF0ZSBhbmQgc3RhbGUg
cmVzcG9uc2UgCi1GQUlMIFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLVVu
bW9kaWZpZWQtU2luY2UgaGVhZGVyIGlzIHRyZWF0ZWQgc2ltaWxhcmx5IHRvICJuby1zdG9yZSIg
d2l0aCBFdGFnIGFuZCBmcmVzaCByZXNwb25zZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyIGJ1
dCBnb3QgMQotRkFJTCBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1Vbm1v
ZGlmaWVkLVNpbmNlIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJseSB0byAibm8tc3RvcmUiIHdp
dGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBidXQg
Z290IDEKK0ZBSUwgUmVxdWVzdENhY2hlICJkZWZhdWx0IiBtb2RlIHdpdGggYW4gSWYtVW5tb2Rp
ZmllZC1TaW5jZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRo
IEV0YWcgYW5kIGZyZXNoIHJlc3BvbnNlICAoQXNzZXJ0aW9uIGZhaWx1cmUgbG9nIGRpc2FibGVk
KQorRkFJTCBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1Vbm1vZGlmaWVk
LVNpbmNlIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJseSB0byAibm8tc3RvcmUiIHdpdGggZGF0
ZSBhbmQgZnJlc2ggcmVzcG9uc2UgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJsZWQpCiBQ
QVNTIFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLU1hdGNoIGhlYWRlciBp
cyB0cmVhdGVkIHNpbWlsYXJseSB0byAibm8tc3RvcmUiIHdpdGggRXRhZyBhbmQgc3RhbGUgcmVz
cG9uc2UgCiBQQVNTIFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLU1hdGNo
IGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJseSB0byAibm8tc3RvcmUiIHdpdGggZGF0ZSBhbmQg
c3RhbGUgcmVzcG9uc2UgCiBQQVNTIFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFu
IElmLU1hdGNoIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJseSB0byAibm8tc3RvcmUiIHdpdGgg
RXRhZyBhbmQgZnJlc2ggcmVzcG9uc2UgCiBQQVNTIFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIgbW9k
ZSB3aXRoIGFuIElmLU1hdGNoIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJseSB0byAibm8tc3Rv
cmUiIHdpdGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2UgCiBQQVNTIFJlcXVlc3RDYWNoZSAiZGVm
YXVsdCIgbW9kZSB3aXRoIGFuIElmLU1hdGNoIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJseSB0
byAibm8tc3RvcmUiIHdpdGggRXRhZyBhbmQgc3RhbGUgcmVzcG9uc2UgCiBQQVNTIFJlcXVlc3RD
YWNoZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLU1hdGNoIGhlYWRlciBpcyB0cmVhdGVkIHNp
bWlsYXJseSB0byAibm8tc3RvcmUiIHdpdGggZGF0ZSBhbmQgc3RhbGUgcmVzcG9uc2UgCi1GQUlM
IFJlcXVlc3RDYWNoZSAiZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLU1hdGNoIGhlYWRlciBpcyB0
cmVhdGVkIHNpbWlsYXJseSB0byAibm8tc3RvcmUiIHdpdGggRXRhZyBhbmQgZnJlc2ggcmVzcG9u
c2UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBidXQgZ290IDEKLUZBSUwgUmVxdWVzdENhY2hl
ICJkZWZhdWx0IiBtb2RlIHdpdGggYW4gSWYtTWF0Y2ggaGVhZGVyIGlzIHRyZWF0ZWQgc2ltaWxh
cmx5IHRvICJuby1zdG9yZSIgd2l0aCBkYXRlIGFuZCBmcmVzaCByZXNwb25zZSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMQorRkFJTCBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1v
ZGUgd2l0aCBhbiBJZi1NYXRjaCBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0
b3JlIiB3aXRoIEV0YWcgYW5kIGZyZXNoIHJlc3BvbnNlICAoQXNzZXJ0aW9uIGZhaWx1cmUgbG9n
IGRpc2FibGVkKQorRkFJTCBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1N
YXRjaCBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIGRhdGUg
YW5kIGZyZXNoIHJlc3BvbnNlICAoQXNzZXJ0aW9uIGZhaWx1cmUgbG9nIGRpc2FibGVkKQogUEFT
UyBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1SYW5nZSBoZWFkZXIgaXMg
dHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3Bv
bnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1SYW5nZSBo
ZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIGRhdGUgYW5kIHN0
YWxlIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJ
Zi1SYW5nZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIEV0
YWcgYW5kIGZyZXNoIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUg
d2l0aCBhbiBJZi1SYW5nZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3Jl
IiB3aXRoIGRhdGUgYW5kIGZyZXNoIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2FjaGUgImRlZmF1
bHQiIG1vZGUgd2l0aCBhbiBJZi1SYW5nZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1pbGFybHkgdG8g
Im5vLXN0b3JlIiB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIAogUEFTUyBSZXF1ZXN0Q2Fj
aGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1SYW5nZSBoZWFkZXIgaXMgdHJlYXRlZCBzaW1p
bGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIGRhdGUgYW5kIHN0YWxlIHJlc3BvbnNlIAotRkFJTCBS
ZXF1ZXN0Q2FjaGUgImRlZmF1bHQiIG1vZGUgd2l0aCBhbiBJZi1SYW5nZSBoZWFkZXIgaXMgdHJl
YXRlZCBzaW1pbGFybHkgdG8gIm5vLXN0b3JlIiB3aXRoIEV0YWcgYW5kIGZyZXNoIHJlc3BvbnNl
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAxCi1GQUlMIFJlcXVlc3RDYWNoZSAi
ZGVmYXVsdCIgbW9kZSB3aXRoIGFuIElmLVJhbmdlIGhlYWRlciBpcyB0cmVhdGVkIHNpbWlsYXJs
eSB0byAibm8tc3RvcmUiIHdpdGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2UgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgMiBidXQgZ290IDEKK0ZBSUwgUmVxdWVzdENhY2hlICJkZWZhdWx0IiBtb2Rl
IHdpdGggYW4gSWYtUmFuZ2UgaGVhZGVyIGlzIHRyZWF0ZWQgc2ltaWxhcmx5IHRvICJuby1zdG9y
ZSIgd2l0aCBFdGFnIGFuZCBmcmVzaCByZXNwb25zZSAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBk
aXNhYmxlZCkKK0ZBSUwgUmVxdWVzdENhY2hlICJkZWZhdWx0IiBtb2RlIHdpdGggYW4gSWYtUmFu
Z2UgaGVhZGVyIGlzIHRyZWF0ZWQgc2ltaWxhcmx5IHRvICJuby1zdG9yZSIgd2l0aCBkYXRlIGFu
ZCBmcmVzaCByZXNwb25zZSAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxlZCkKIFBBU1Mg
UmVzcG9uc2VzIHdpdGggdGhlICJDYWNoZS1Db250cm9sOiBuby1zdG9yZSIgaGVhZGVyIGFyZSBu
b3Qgc3RvcmVkIGluIHRoZSBjYWNoZSB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIAogUEFT
UyBSZXNwb25zZXMgd2l0aCB0aGUgIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlIiBoZWFkZXIgYXJl
IG5vdCBzdG9yZWQgaW4gdGhlIGNhY2hlIHdpdGggZGF0ZSBhbmQgc3RhbGUgcmVzcG9uc2UgCiBQ
QVNTIFJlc3BvbnNlcyB3aXRoIHRoZSAiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUiIGhlYWRlciBh
cmUgbm90IHN0b3JlZCBpbiB0aGUgY2FjaGUgd2l0aCBFdGFnIGFuZCBmcmVzaCByZXNwb25zZSAK
IFBBU1MgUmVzcG9uc2VzIHdpdGggdGhlICJDYWNoZS1Db250cm9sOiBuby1zdG9yZSIgaGVhZGVy
IGFyZSBub3Qgc3RvcmVkIGluIHRoZSBjYWNoZSB3aXRoIGRhdGUgYW5kIGZyZXNoIHJlc3BvbnNl
IAotRkFJTCBSZXF1ZXN0Q2FjaGUgInJlbG9hZCIgbW9kZSBkb2VzIG5vdCBjaGVjayB0aGUgY2Fj
aGUgZm9yIHByZXZpb3VzbHkgY2FjaGVkIGNvbnRlbnQgYW5kIGdvZXMgdG8gdGhlIG5ldHdvcmsg
cmVnYXJkbGVzcyB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJcIjAuODgyNzMy
MDExOTg1MjI0MVwiIgotRkFJTCBSZXF1ZXN0Q2FjaGUgInJlbG9hZCIgbW9kZSBkb2VzIG5vdCBj
aGVjayB0aGUgY2FjaGUgZm9yIHByZXZpb3VzbHkgY2FjaGVkIGNvbnRlbnQgYW5kIGdvZXMgdG8g
dGhlIG5ldHdvcmsgcmVnYXJkbGVzcyB3aXRoIGRhdGUgYW5kIHN0YWxlIHJlc3BvbnNlIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcp
ICJGcmksIDI2IEF1ZyAyMDE2IDA4OjIzOjU1IEdNVCIKLUZBSUwgUmVxdWVzdENhY2hlICJyZWxv
YWQiIG1vZGUgZG9lcyBub3QgY2hlY2sgdGhlIGNhY2hlIGZvciBwcmV2aW91c2x5IGNhY2hlZCBj
b250ZW50IGFuZCBnb2VzIHRvIHRoZSBuZXR3b3JrIHJlZ2FyZGxlc3Mgd2l0aCBFdGFnIGFuZCBm
cmVzaCByZXNwb25zZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAyIGJ1dCBnb3QgMQotRkFJTCBS
ZXF1ZXN0Q2FjaGUgInJlbG9hZCIgbW9kZSBkb2VzIG5vdCBjaGVjayB0aGUgY2FjaGUgZm9yIHBy
ZXZpb3VzbHkgY2FjaGVkIGNvbnRlbnQgYW5kIGdvZXMgdG8gdGhlIG5ldHdvcmsgcmVnYXJkbGVz
cyB3aXRoIGRhdGUgYW5kIGZyZXNoIHJlc3BvbnNlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIg
YnV0IGdvdCAxCitGQUlMIFJlcXVlc3RDYWNoZSAicmVsb2FkIiBtb2RlIGRvZXMgbm90IGNoZWNr
IHRoZSBjYWNoZSBmb3IgcHJldmlvdXNseSBjYWNoZWQgY29udGVudCBhbmQgZ29lcyB0byB0aGUg
bmV0d29yayByZWdhcmRsZXNzIHdpdGggRXRhZyBhbmQgc3RhbGUgcmVzcG9uc2UgIChBc3NlcnRp
b24gZmFpbHVyZSBsb2cgZGlzYWJsZWQpCitGQUlMIFJlcXVlc3RDYWNoZSAicmVsb2FkIiBtb2Rl
IGRvZXMgbm90IGNoZWNrIHRoZSBjYWNoZSBmb3IgcHJldmlvdXNseSBjYWNoZWQgY29udGVudCBh
bmQgZ29lcyB0byB0aGUgbmV0d29yayByZWdhcmRsZXNzIHdpdGggZGF0ZSBhbmQgc3RhbGUgcmVz
cG9uc2UgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJsZWQpCitGQUlMIFJlcXVlc3RDYWNo
ZSAicmVsb2FkIiBtb2RlIGRvZXMgbm90IGNoZWNrIHRoZSBjYWNoZSBmb3IgcHJldmlvdXNseSBj
YWNoZWQgY29udGVudCBhbmQgZ29lcyB0byB0aGUgbmV0d29yayByZWdhcmRsZXNzIHdpdGggRXRh
ZyBhbmQgZnJlc2ggcmVzcG9uc2UgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJsZWQpCitG
QUlMIFJlcXVlc3RDYWNoZSAicmVsb2FkIiBtb2RlIGRvZXMgbm90IGNoZWNrIHRoZSBjYWNoZSBm
b3IgcHJldmlvdXNseSBjYWNoZWQgY29udGVudCBhbmQgZ29lcyB0byB0aGUgbmV0d29yayByZWdh
cmRsZXNzIHdpdGggZGF0ZSBhbmQgZnJlc2ggcmVzcG9uc2UgIChBc3NlcnRpb24gZmFpbHVyZSBs
b2cgZGlzYWJsZWQpCiBQQVNTIFJlcXVlc3RDYWNoZSAicmVsb2FkIiBtb2RlIGRvZXMgc3RvcmUg
dGhlIHJlc3BvbnNlIGluIHRoZSBjYWNoZSB3aXRoIEV0YWcgYW5kIHN0YWxlIHJlc3BvbnNlIAog
UEFTUyBSZXF1ZXN0Q2FjaGUgInJlbG9hZCIgbW9kZSBkb2VzIHN0b3JlIHRoZSByZXNwb25zZSBp
biB0aGUgY2FjaGUgd2l0aCBkYXRlIGFuZCBzdGFsZSByZXNwb25zZSAKIFBBU1MgUmVxdWVzdENh
Y2hlICJyZWxvYWQiIG1vZGUgZG9lcyBzdG9yZSB0aGUgcmVzcG9uc2UgaW4gdGhlIGNhY2hlIHdp
dGggRXRhZyBhbmQgZnJlc2ggcmVzcG9uc2UgCiBQQVNTIFJlcXVlc3RDYWNoZSAicmVsb2FkIiBt
b2RlIGRvZXMgc3RvcmUgdGhlIHJlc3BvbnNlIGluIHRoZSBjYWNoZSB3aXRoIGRhdGUgYW5kIGZy
ZXNoIHJlc3BvbnNlIAotRkFJTCBSZXF1ZXN0Q2FjaGUgInJlbG9hZCIgbW9kZSBkb2VzIHN0b3Jl
IHRoZSByZXNwb25zZSBpbiB0aGUgY2FjaGUgZXZlbiBpZiBhIHByZXZpb3VzIHJlc3BvbnNlIGlz
IGFscmVhZHkgc3RvcmVkIHdpdGggRXRhZyBhbmQgc3RhbGUgcmVzcG9uc2UgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgIlwiMC40
ODE3OTQ2MDY3NDk3ODc0N1wiIgotRkFJTCBSZXF1ZXN0Q2FjaGUgInJlbG9hZCIgbW9kZSBkb2Vz
IHN0b3JlIHRoZSByZXNwb25zZSBpbiB0aGUgY2FjaGUgZXZlbiBpZiBhIHByZXZpb3VzIHJlc3Bv
bnNlIGlzIGFscmVhZHkgc3RvcmVkIHdpdGggZGF0ZSBhbmQgc3RhbGUgcmVzcG9uc2UgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykg
IkZyaSwgMjYgQXVnIDIwMTYgMDg6MjM6NTUgR01UIgotRkFJTCBSZXF1ZXN0Q2FjaGUgInJlbG9h
ZCIgbW9kZSBkb2VzIHN0b3JlIHRoZSByZXNwb25zZSBpbiB0aGUgY2FjaGUgZXZlbiBpZiBhIHBy
ZXZpb3VzIHJlc3BvbnNlIGlzIGFscmVhZHkgc3RvcmVkIHdpdGggRXRhZyBhbmQgZnJlc2ggcmVz
cG9uc2UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMiBidXQgZ290IDEKLUZBSUwgUmVxdWVzdENh
Y2hlICJyZWxvYWQiIG1vZGUgZG9lcyBzdG9yZSB0aGUgcmVzcG9uc2UgaW4gdGhlIGNhY2hlIGV2
ZW4gaWYgYSBwcmV2aW91cyByZXNwb25zZSBpcyBhbHJlYWR5IHN0b3JlZCB3aXRoIGRhdGUgYW5k
IGZyZXNoIHJlc3BvbnNlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDIgYnV0IGdvdCAxCitGQUlM
IFJlcXVlc3RDYWNoZSAicmVsb2FkIiBtb2RlIGRvZXMgc3RvcmUgdGhlIHJlc3BvbnNlIGluIHRo
ZSBjYWNoZSBldmVuIGlmIGEgcHJldmlvdXMgcmVzcG9uc2UgaXMgYWxyZWFkeSBzdG9yZWQgd2l0
aCBFdGFnIGFuZCBzdGFsZSByZXNwb25zZSAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxl
ZCkKK0ZBSUwgUmVxdWVzdENhY2hlICJyZWxvYWQiIG1vZGUgZG9lcyBzdG9yZSB0aGUgcmVzcG9u
c2UgaW4gdGhlIGNhY2hlIGV2ZW4gaWYgYSBwcmV2aW91cyByZXNwb25zZSBpcyBhbHJlYWR5IHN0
b3JlZCB3aXRoIGRhdGUgYW5kIHN0YWxlIHJlc3BvbnNlICAoQXNzZXJ0aW9uIGZhaWx1cmUgbG9n
IGRpc2FibGVkKQorRkFJTCBSZXF1ZXN0Q2FjaGUgInJlbG9hZCIgbW9kZSBkb2VzIHN0b3JlIHRo
ZSByZXNwb25zZSBpbiB0aGUgY2FjaGUgZXZlbiBpZiBhIHByZXZpb3VzIHJlc3BvbnNlIGlzIGFs
cmVhZHkgc3RvcmVkIHdpdGggRXRhZyBhbmQgZnJlc2ggcmVzcG9uc2UgIChBc3NlcnRpb24gZmFp
bHVyZSBsb2cgZGlzYWJsZWQpCitGQUlMIFJlcXVlc3RDYWNoZSAicmVsb2FkIiBtb2RlIGRvZXMg
c3RvcmUgdGhlIHJlc3BvbnNlIGluIHRoZSBjYWNoZSBldmVuIGlmIGEgcHJldmlvdXMgcmVzcG9u
c2UgaXMgYWxyZWFkeSBzdG9yZWQgd2l0aCBkYXRlIGFuZCBmcmVzaCByZXNwb25zZSAgKEFzc2Vy
dGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxlZCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250
ZW50L3RoZS1pbWctZWxlbWVudC9lbnZpcm9ubWVudC1jaGFuZ2VzL3ZpZXdwb3J0LWNoYW5nZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWltZy1lbGVtZW50L2Vudmlyb25t
ZW50LWNoYW5nZXMvdmlld3BvcnQtY2hhbmdlLWV4cGVjdGVkLnR4dAppbmRleCBkZWViOGMzYjZl
Y2UwNjRjYzUyMjgxYzRhNmJiNmJkYmNmNmNkZTgzLi5mMWFmZWIyNGQ0OGFmYjU4YTc3NTQyMDA4
MmUzMTQ5ZTRlZWYyMWI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWltZy1l
bGVtZW50L2Vudmlyb25tZW50LWNoYW5nZXMvdmlld3BvcnQtY2hhbmdlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWltZy1lbGVtZW50L2Vudmlyb25tZW50LWNoYW5n
ZXMvdmlld3BvcnQtY2hhbmdlLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAKIFBBU1MgaW1nIChubyBzcmMpLCBvbmxv
YWQsIG5hcnJvdyAKIFBBU1MgaW1nIChubyBzcmMpLCByZXNpemUgdG8gd2lkZSAKLUZBSUwgaW1n
IChlbXB0eSBzcmMpLCBvbmxvYWQsIG5hcnJvdyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiIiBi
dXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC90aGUtaW1nLWVsZW1lbnQvZW52aXJvbm1lbnQtY2hhbmdlcy9pZnJhbWVkLnN1Yi5odG1s
P2lkPTliMzkyNTc1LTNiNmQtNGI5NC04ZTcyLWQ3OGIzN2RlOWIwNCIKK0ZBSUwgaW1nIChlbXB0
eSBzcmMpLCBvbmxvYWQsIG5hcnJvdyAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxlZCkK
IFBBU1MgaW1nIChlbXB0eSBzcmMpLCByZXNpemUgdG8gd2lkZSAKIFBBU1MgaW1nIChzcmMgb25s
eSkgYnJva2VuIGltYWdlLCBvbmxvYWQsIG5hcnJvdyAKIFBBU1MgaW1nIChzcmMgb25seSkgYnJv
a2VuIGltYWdlLCByZXNpemUgdG8gd2lkZSAKQEAgLTIyLDEwICsyMiwxMCBAQCBQQVNTIHBpY3R1
cmU6IHNvdXJjZSAobWF4LXdpZHRoOjUwMHB4KSB2YWxpZCBpbWFnZSwgaW1nIGJyb2tlbiBpbWFn
ZSwgcmVzaXplIHRvCiBQQVNTIHBpY3R1cmU6IHNvdXJjZSAobWF4LXdpZHRoOjUwMHB4KSB2YWxp
ZCBpbWFnZSwgaW1nIHZhbGlkIGltYWdlLCBvbmxvYWQsIG5hcnJvdyAKIFBBU1MgcGljdHVyZTog
c291cmNlIChtYXgtd2lkdGg6NTAwcHgpIHZhbGlkIGltYWdlLCBpbWcgdmFsaWQgaW1hZ2UsIHJl
c2l6ZSB0byB3aWRlIAogUEFTUyBwaWN0dXJlOiBzYW1lIFVSTCBpbiBzb3VyY2UgKG1heC13aWR0
aDo1MDBweCkgYW5kIGltZywgb25sb2FkLCBuYXJyb3cgCi1GQUlMIHBpY3R1cmU6IHNhbWUgVVJM
IGluIHNvdXJjZSAobWF4LXdpZHRoOjUwMHB4KSBhbmQgaW1nLCByZXNpemUgdG8gd2lkZSBhc3Nl
cnRfdW5yZWFjaGVkOiBHb3QgdW5leHBlY3RlZCBsb2FkIGV2ZW50IFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQorRkFJTCBwaWN0dXJlOiBzYW1lIFVSTCBpbiBzb3VyY2UgKG1heC13aWR0aDo1MDBw
eCkgYW5kIGltZywgcmVzaXplIHRvIHdpZGUgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJs
ZWQpCiBQQVNTIGltZyAobm8gc3JjKSwgb25sb2FkLCB3aWRlIAogUEFTUyBpbWcgKG5vIHNyYyks
IHJlc2l6ZSB0byBuYXJyb3cgCi1GQUlMIGltZyAoZW1wdHkgc3JjKSwgb25sb2FkLCB3aWRlIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICIiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pbWctZWxlbWVudC9lbnZpcm9ubWVu
dC1jaGFuZ2VzL2lmcmFtZWQuc3ViLmh0bWw/aWQ9NjU4MmY5OTEtMjliNi00MzgzLWEzMDQtYjM2
NzQ4Yjc4NGQ1IgorRkFJTCBpbWcgKGVtcHR5IHNyYyksIG9ubG9hZCwgd2lkZSAgKEFzc2VydGlv
biBmYWlsdXJlIGxvZyBkaXNhYmxlZCkKIFBBU1MgaW1nIChlbXB0eSBzcmMpLCByZXNpemUgdG8g
bmFycm93IAogUEFTUyBpbWcgKHNyYyBvbmx5KSBicm9rZW4gaW1hZ2UsIG9ubG9hZCwgd2lkZSAK
IFBBU1MgaW1nIChzcmMgb25seSkgYnJva2VuIGltYWdlLCByZXNpemUgdG8gbmFycm93IApAQCAt
MzUsMTMgKzM1LDEzIEBAIFBBU1MgaW1nIChzcmNzZXQgMSBjYW5kKSBicm9rZW4gaW1hZ2UsIG9u
bG9hZCwgd2lkZQogUEFTUyBpbWcgKHNyY3NldCAxIGNhbmQpIGJyb2tlbiBpbWFnZSwgcmVzaXpl
IHRvIG5hcnJvdyAKIFBBU1MgaW1nIChzcmNzZXQgMSBjYW5kKSB2YWxpZCBpbWFnZSwgb25sb2Fk
LCB3aWRlIAogUEFTUyBpbWcgKHNyY3NldCAxIGNhbmQpIHZhbGlkIGltYWdlLCByZXNpemUgdG8g
bmFycm93IAotRkFJTCBwaWN0dXJlOiBzb3VyY2UgKG1heC13aWR0aDo1MDBweCkgYnJva2VuIGlt
YWdlLCBpbWcgYnJva2VuIGltYWdlLCBvbmxvYWQsIHdpZGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9pbWFnZXMvYnJva2VuLnBuZz83MS02NTgyZjk5MS0y
OWI2LTQzODMtYTMwNC1iMzY3NDhiNzg0ZDUiIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC9pbWFnZXMvYnJva2VuLnBuZz83MC02NTgyZjk5MS0yOWI2LTQzODMtYTMwNC1iMzY3NDhiNzg0
ZDUiCitGQUlMIHBpY3R1cmU6IHNvdXJjZSAobWF4LXdpZHRoOjUwMHB4KSBicm9rZW4gaW1hZ2Us
IGltZyBicm9rZW4gaW1hZ2UsIG9ubG9hZCwgd2lkZSAgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBk
aXNhYmxlZCkKIFRJTUVPVVQgcGljdHVyZTogc291cmNlIChtYXgtd2lkdGg6NTAwcHgpIGJyb2tl
biBpbWFnZSwgaW1nIGJyb2tlbiBpbWFnZSwgcmVzaXplIHRvIG5hcnJvdyBUZXN0IHRpbWVkIG91
dAotRkFJTCBwaWN0dXJlOiBzb3VyY2UgKG1heC13aWR0aDo1MDBweCkgYnJva2VuIGltYWdlLCBp
bWcgdmFsaWQgaW1hZ2UsIG9ubG9hZCwgd2lkZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaHR0
cDovL2xvY2FsaG9zdDo4ODAwL2ltYWdlcy9ncmVlbi0yeDIucG5nPzgxLTY1ODJmOTkxLTI5YjYt
NDM4My1hMzA0LWIzNjc0OGI3ODRkNSIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL2lt
YWdlcy9icm9rZW4ucG5nPzgwLTY1ODJmOTkxLTI5YjYtNDM4My1hMzA0LWIzNjc0OGI3ODRkNSIK
K0ZBSUwgcGljdHVyZTogc291cmNlIChtYXgtd2lkdGg6NTAwcHgpIGJyb2tlbiBpbWFnZSwgaW1n
IHZhbGlkIGltYWdlLCBvbmxvYWQsIHdpZGUgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJs
ZWQpCiBUSU1FT1VUIHBpY3R1cmU6IHNvdXJjZSAobWF4LXdpZHRoOjUwMHB4KSBicm9rZW4gaW1h
Z2UsIGltZyB2YWxpZCBpbWFnZSwgcmVzaXplIHRvIG5hcnJvdyBUZXN0IHRpbWVkIG91dAotRkFJ
TCBwaWN0dXJlOiBzb3VyY2UgKG1heC13aWR0aDo1MDBweCkgdmFsaWQgaW1hZ2UsIGltZyBicm9r
ZW4gaW1hZ2UsIG9ubG9hZCwgd2lkZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL2ltYWdlcy9icm9rZW4ucG5nPzkxLTY1ODJmOTkxLTI5YjYtNDM4My1hMzA0
LWIzNjc0OGI3ODRkNSIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL2ltYWdlcy9ncmVl
bi0xeDEucG5nPzkwLTY1ODJmOTkxLTI5YjYtNDM4My1hMzA0LWIzNjc0OGI3ODRkNSIKK0ZBSUwg
cGljdHVyZTogc291cmNlIChtYXgtd2lkdGg6NTAwcHgpIHZhbGlkIGltYWdlLCBpbWcgYnJva2Vu
IGltYWdlLCBvbmxvYWQsIHdpZGUgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJsZWQpCiBU
SU1FT1VUIHBpY3R1cmU6IHNvdXJjZSAobWF4LXdpZHRoOjUwMHB4KSB2YWxpZCBpbWFnZSwgaW1n
IGJyb2tlbiBpbWFnZSwgcmVzaXplIHRvIG5hcnJvdyBUZXN0IHRpbWVkIG91dAotRkFJTCBwaWN0
dXJlOiBzb3VyY2UgKG1heC13aWR0aDo1MDBweCkgdmFsaWQgaW1hZ2UsIGltZyB2YWxpZCBpbWFn
ZSwgb25sb2FkLCB3aWRlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0
Ojg4MDAvaW1hZ2VzL2dyZWVuLTJ4Mi5wbmc/MTAxLTY1ODJmOTkxLTI5YjYtNDM4My1hMzA0LWIz
Njc0OGI3ODRkNSIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL2ltYWdlcy9ncmVlbi0x
eDEucG5nPzEwMC02NTgyZjk5MS0yOWI2LTQzODMtYTMwNC1iMzY3NDhiNzg0ZDUiCitGQUlMIHBp
Y3R1cmU6IHNvdXJjZSAobWF4LXdpZHRoOjUwMHB4KSB2YWxpZCBpbWFnZSwgaW1nIHZhbGlkIGlt
YWdlLCBvbmxvYWQsIHdpZGUgIChBc3NlcnRpb24gZmFpbHVyZSBsb2cgZGlzYWJsZWQpCiBUSU1F
T1VUIHBpY3R1cmU6IHNvdXJjZSAobWF4LXdpZHRoOjUwMHB4KSB2YWxpZCBpbWFnZSwgaW1nIHZh
bGlkIGltYWdlLCByZXNpemUgdG8gbmFycm93IFRlc3QgdGltZWQgb3V0CiBQQVNTIHBpY3R1cmU6
IHNhbWUgVVJMIGluIHNvdXJjZSAobWF4LXdpZHRoOjUwMHB4KSBhbmQgaW1nLCBvbmxvYWQsIHdp
ZGUgCiBQQVNTIHBpY3R1cmU6IHNhbWUgVVJMIGluIHNvdXJjZSAobWF4LXdpZHRoOjUwMHB4KSBh
bmQgaW1nLCByZXNpemUgdG8gbmFycm93IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzCmluZGV4IGQzMDg0MTU5YmE1YjYwNWU0Y2Q5MDEwMDUxODg3NGIyNThiNjBi
MzQuLjNlNGQ1ZmFmZDZiOTVjNzhjM2Y2Y2RiZGJiOTc5N2Y0YzhiMzAyYmYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcworKysgYi9MYXlvdXRU
ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMKQEAgLTY3LDYgKzY3LDggQEAgaWYg
KHNlbGYudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgICAgICAgICBpZiAoc3RhY2tJbmRleCA+
IDApDQogICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2Uuc3Vic3RyKDAs
IHN0YWNrSW5kZXgpOw0KICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lciAmJiAhdGVzdFJ1bm5lci5zaG91bGRMb2dUZXN0aGFybmVzc0ZhaWx1
cmVzICYmIHRlc3RzW2ldLnN0YXR1cyA9PSAxKQ0KKyAgICAgICAgICAgICAgICAgICAgbWVzc2Fn
ZSA9ICIgKEFzc2VydGlvbiBmYWlsdXJlIGxvZyBkaXNhYmxlZCkiDQogICAgICAgICAgICAgICAg
IHJlc3VsdFN0ciArPSBjb252ZXJ0UmVzdWx0KHRlc3RzW2ldLnN0YXR1cykgKyAiICIgKyAgKHRl
c3RzW2ldLm5hbWUgIT0gbnVsbCA/IHRlc3RzW2ldLm5hbWUgOiAiIikgKyAiICIgKyBtZXNzYWdl
ICsgIlxuIjsNCiAgICAgICAgICAgICB9DQogDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGVz
dHMtb3B0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCmluZGV4IDUy
YzU1MDFkODEyMmQyNWNlODA0MmY5NjU4YTlhZjNlODg4ZWM1OTYuLjY0OTkyZmMxMGNmZTdmZjcw
ODhmYzMwZTY2ZGM1N2M2MTUxODc3ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Rlc3RzLW9w
dGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KQEAgLTIsNyAr
MiwxMCBAQAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1
ZXN0L3Byb2dyZXNzLWV2ZW50cy1yZXNwb25zZS1kYXRhLWd6aXAuaHRtIjogWwogICAgICAgICAi
c2xvdyIKICAgICBdLAotICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0
dHBSZXF1ZXN0L3NlbmQtcmVkaXJlY3QtYm9ndXMuaHRtIjogWworICAgICJpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNleG1sLWRvY3VtZW50LXBy
b3BlcnRpZXMuaHRtIjogWworICAgICAgICAiLS1uby10ZXN0aGFybmVzcy1mYWlsdXJlLWxvZyIK
KyAgICBdLAorICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVx
dWVzdC9zZW5kLXJlZGlyZWN0LWJvZ3VzLmh0bSI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
ICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC94bWxo
dHRwcmVxdWVzdC10aW1lb3V0LWFib3J0ZWQuaHRtbCI6IFsKQEAgLTExNCw3ICsxMTcsOCBAQAog
ICAgICAgICAic2xvdyIKICAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtY2FjaGUuaHRtbCI6IFsKLSAgICAgICAgInNs
b3ciCisgICAgICAgICJzbG93IiwKKyAgICAgICAgIi0tbm8tdGVzdGhhcm5lc3MtZmFpbHVyZS1s
b2ciCiAgICAgXSwKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jy
b3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvcGVyc2lzdGVkLXVzZXIt
c3RhdGUtcmVzdG9yYXRpb24vc2Nyb2xsLXJlc3RvcmF0aW9uLWZyYWdtZW50LXNjcm9sbGluZy1j
cm9zcy1vcmlnaW4uaHRtbCI6IFsKICAgICAgICAgInNsb3ciCkBAIC0xODEsNSArMTg1LDggQEAK
ICAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2Zvcm1zL3RleHRmaWVsZHNlbGVjdGlvbi9zZWxlY3Rpb24uaHRtbCI6IFsKICAgICAgICAg
InNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pbWctZWxlbWVudC9lbnZpcm9ubWVudC1j
aGFuZ2VzL3ZpZXdwb3J0LWNoYW5nZS5odG1sIjogWworICAgICAgICAiLS1uby10ZXN0aGFybmVz
cy1mYWlsdXJlLWxvZyIKICAgICBdCiB9Cg==
</data>
<flag name="review"
          id="311883"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>