<?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>98480</bug_id>
          
          <creation_ts>2012-10-04 21:48:36 -0700</creation_ts>
          <short_desc>Add behavior tests for input[type=date] with multiple fields</short_desc>
          <delta_ts>2012-10-10 03:52:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98226</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>haraken</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>735322</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-04 21:48:36 -0700</bug_when>
    <thetext>Add behavior tests for input[type=date] with multiple fields</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738598</commentid>
    <comment_count>1</comment_count>
      <attachid>167930</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-09 23:14:58 -0700</bug_when>
    <thetext>Created attachment 167930
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738626</commentid>
    <comment_count>2</comment_count>
      <attachid>167930</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-09 23:42:58 -0700</bug_when>
    <thetext>Comment on attachment 167930
Patch

Attachment 167930 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14254048

New failing tests:
fast/forms/number/number-spinbutton-change-and-input-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738635</commentid>
    <comment_count>3</comment_count>
      <attachid>167937</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-09 23:49:15 -0700</bug_when>
    <thetext>Created attachment 167937
Patch 2

Fix number-spinbutton-change-and-input-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738713</commentid>
    <comment_count>4</comment_count>
      <attachid>167937</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-10 01:10:52 -0700</bug_when>
    <thetext>Comment on attachment 167937
Patch 2

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

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-aria-attributes.html:11
&gt; +function enableAccessibility()

Nit: This function just checks window.accessibilityController. You can remove this and write the check directly in the global scope.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-aria-attributes.html:22
&gt; +    if (!window.accessibilityController)
&gt; +        return;

Nit: Remove this, as you&apos;ve already checked window.accessibilityController.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-aria-attributes.html:23
&gt; +    var element = accessibilityController.focusedElement

Nit: &apos;;&apos; is missing.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-aria-attributes.html:58
&gt; +debug(&apos;&apos;);
&gt; +testInput.parentNode.removeChild(testInput);

What is it for?

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-value-changed-notification.html:11
&gt; +function enableAccessibility()

Nit: initializeAccessibility() might be a better name.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-value-changed-notification.html:44
&gt; +    debug(&apos;&apos;);
&gt; +    testInput.parentNode.removeChild(testInput);

Do you need to remove it? If it is needed, debug(&apos;Remove the input element&apos;) would be better so that we can observe the removal result in the expected file.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:7
&gt; +&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;

Nit: This is not needed. This will be added automatically.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:33
&gt; +    eventSender.mouseMoveTo(x + input.offsetLeft, y + input.offsetTop);

Nit: Maybe you can change this to eventSender.mouseMoveTo(x + input.offsetLeft, input.offsetHeight / 2 + input.offsetTop); Then you can remove &apos;y&apos; from the arguments of this function.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:39
&gt; +input.blur();

Nit: Is this needed?

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:91
&gt; +
&gt; +debug(&apos;&apos;);

Nit: Remove this.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-reset-value-after-reloads.html:14
&gt; +var testInput1;
&gt; +var testInput2;

Nit: These can be local variables.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-reset-value-after-reloads.html:19
&gt; +    iframe.contentDocument.getElementById(&apos;test1&apos;).value = &apos;2012-10-01&apos;;
&gt; +    iframe.contentDocument.getElementById(&apos;test2&apos;).value = &apos;2012-11-01&apos;;

Just in case, I want to check the values of these inputs not only in runOnIFrameLoad() but also here.

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-reset-value-after-reloads.html:30
&gt; +    iframe.parentNode.removeChild(iframe);

Nit: Is this needed?

&gt; LayoutTests/fast/forms/date/date-reset-value.html:3
&gt; +&lt;!-- Confirm appearance after reset() is same as the initial appearance. --&gt;

I would prefer writing this test using js-test-pre.js.

&gt; LayoutTests/fast/forms/date/date-reset-value.html:11
&gt; +if (testRunner)
&gt; +    testRunner.waitUntilDone();
&gt; +window.onload = function() {

Why does this test need to be async?

&gt; LayoutTests/fast/forms/resources/multiple-fields-blur-and-focus-events.js:1
&gt; +var testInput;

Nit: This can be a local variable.

&gt; LayoutTests/fast/forms/resources/multiple-fields-blur-and-focus-events.js:39
&gt; +    if (window.eventSender) {

Nit: This is not needed, as it is checked in keyDown().

&gt; LayoutTests/fast/forms/resources/multiple-fields-blur-and-focus-events.js:50
&gt; +    document.body.removeChild(document.getElementById(&quot;container&quot;));

Nit: Is it needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738748</commentid>
    <comment_count>5</comment_count>
      <attachid>167937</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-10 01:58:55 -0700</bug_when>
    <thetext>Comment on attachment 167937
Patch 2

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

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-aria-attributes.html:11
&gt;&gt; +function enableAccessibility()
&gt; 
&gt; Nit: This function just checks window.accessibilityController. You can remove this and write the check directly in the global scope.

Done.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-aria-attributes.html:22
&gt;&gt; +        return;
&gt; 
&gt; Nit: Remove this, as you&apos;ve already checked window.accessibilityController.

Done.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-aria-attributes.html:23
&gt;&gt; +    var element = accessibilityController.focusedElement
&gt; 
&gt; Nit: &apos;;&apos; is missing.

Done.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-aria-attributes.html:58
&gt;&gt; +testInput.parentNode.removeChild(testInput);
&gt; 
&gt; What is it for?

We&apos;d like to avoid to pollute text result.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-ax-value-changed-notification.html:11
&gt;&gt; +function enableAccessibility()
&gt; 
&gt; Nit: initializeAccessibility() might be a better name.

Removed.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:7
&gt;&gt; +&lt;p id=&quot;description&quot;&gt;&lt;/p&gt;
&gt; 
&gt; Nit: This is not needed. This will be added automatically.

This and &lt;div id=&quot;console&quot;&gt; below are intentional.  We&apos;d like to show the description before the long explanations below, and show the console output after the long explanations.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:33
&gt;&gt; +    eventSender.mouseMoveTo(x + input.offsetLeft, y + input.offsetTop);
&gt; 
&gt; Nit: Maybe you can change this to eventSender.mouseMoveTo(x + input.offsetLeft, input.offsetHeight / 2 + input.offsetTop); Then you can remove &apos;y&apos; from the arguments of this function.

I&apos;d like to keep it as is.  We&apos;d like to move this function to fast/forms/resources/common.js in the future.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:39
&gt;&gt; +input.blur();
&gt; 
&gt; Nit: Is this needed?

Removed.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:91
&gt;&gt; +debug(&apos;&apos;);
&gt; 
&gt; Nit: Remove this.

This is intentional to improve test result readability.

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-reset-value-after-reloads.html:14
&gt;&gt; +var testInput2;
&gt; 
&gt; Nit: These can be local variables.

No. They must be global because they are used in shouldBe*().

&gt;&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-reset-value-after-reloads.html:19
&gt;&gt; +    iframe.contentDocument.getElementById(&apos;test2&apos;).value = &apos;2012-11-01&apos;;
&gt; 
&gt; Just in case, I want to check the values of these inputs not only in runOnIFrameLoad() but also here.

Done.

&gt;&gt; LayoutTests/fast/forms/date/date-reset-value.html:3
&gt;&gt; +&lt;!-- Confirm appearance after reset() is same as the initial appearance. --&gt;
&gt; 
&gt; I would prefer writing this test using js-test-pre.js.

The purpose of this test is to confirm placeholder strings for each of sub-fields are correctly re-appear.  So dumpAsText() doesn&apos;t work.

&gt;&gt; LayoutTests/fast/forms/date/date-reset-value.html:11
&gt;&gt; +window.onload = function() {
&gt; 
&gt; Why does this test need to be async?

To make sure elements are laid out and painted.

&gt;&gt; LayoutTests/fast/forms/resources/multiple-fields-blur-and-focus-events.js:1
&gt;&gt; +var testInput;
&gt; 
&gt; Nit: This can be a local variable.

No.

&gt;&gt; LayoutTests/fast/forms/resources/multiple-fields-blur-and-focus-events.js:39
&gt;&gt; +    if (window.eventSender) {
&gt; 
&gt; Nit: This is not needed, as it is checked in keyDown().

keyDown() is not called before this line.  So, we should remove eventSender check in keyDown().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738753</commentid>
    <comment_count>6</comment_count>
      <attachid>167960</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-10 02:08:11 -0700</bug_when>
    <thetext>Created attachment 167960
Patch 3

Follow reviewer comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738782</commentid>
    <comment_count>7</comment_count>
      <attachid>167960</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-10 03:22:25 -0700</bug_when>
    <thetext>Comment on attachment 167960
Patch 3

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

&gt; LayoutTests/fast/forms/date-multiple-fields/date-multiple-fields-preserve-value-after-history-back.html:64
&gt; +    for (var index = 0; index &lt; testCases.length; ++ index) {

Nit: ++index</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738814</commentid>
    <comment_count>8</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-10 03:52:42 -0700</bug_when>
    <thetext>Committed r130884: &lt;http://trac.webkit.org/changeset/130884&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167930</attachid>
            <date>2012-10-09 23:14:58 -0700</date>
            <delta_ts>2012-10-09 23:49:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98480-20121010151358.patch</filename>
            <type>text/plain</type>
            <size>40064</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwODUwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGI3ODM2YTM3NzBhYTU0ZDU0OTlh
OGNhMzQ2Mzg3MjgzNjMwODlkOC4uMTNlOGZjZmJhMWVlMGQ1OTBhYjQyMDg4NTVjY2FkMDE0Zjcz
ZDIzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTEwLTA5ICBLZW50IFRhbXVyYSAgPHRr
ZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYmVoYXZpb3IgdGVzdHMgZm9yIGlucHV0
W3R5cGU9ZGF0ZV0gd2l0aCBtdWx0aXBsZSBmaWVsZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFs
dWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZh
bHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9j
dXMtZXZlbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVu
dHMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZl
LXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJl
c2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQt
dmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFs
dWUtYWZ0ZXItcmVsb2Fkcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hh
bmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9u
LWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRlL2RhdGUtcmVzZXQtdmFsdWUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUtcmVzZXQtdmFsdWUuaHRtbDogQWRkZWQuCisKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5k
LWlucHV0LWV2ZW50cy5qczoKKyAgICAgICAgKHRlc3RTcGluQnV0dG9uQ2hhbmdlQW5kSW5wdXRF
dmVudHMpOgorICAgICAgICBVc2VzIGdldEVsZW1lbnRCeVBzZXVkb0lkKCkgdG8gb2J0YWluIHNw
aW4gYnV0dG9uIHBvc2l0aW9uLiBUaGUgZGF0ZQorICAgICAgICB0eXBlIGFuZCB0aGUgdGltZSB0
eXBlIGhhdmUgdGhlaXIgc3BpbiBidXR0b24gYXQgZGlmZmVyZW50IHBvc2l0aW9ucworICAgICAg
ICBiZWNhdXNlIG9mIGEgcGlja2VyIGluZGljYXRvciB0cmlhbmdsZS4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0
b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbDoKKyAgICAgICAgTmVlZCB0byBpbXBvcnQg
Y29tb24uanMgYmVjYXVzZSBjb21tb24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50
cy5qcyBkZXBlbmRzIG9uIGl0LgorCisgICAgICAgICogZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29t
bW9uLXdoZWVsLWV2ZW50LmpzOgorICAgICAgICAodGVzdFdoZWVsRXZlbnQpOiBGaXggYSB3cm9u
ZyBtZXNzYWdlLgorICAgICAgICAqIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0OiBEaXR0by4KKworICAg
ICAgICAqIGZhc3QvZm9ybXMvcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1
cy1ldmVudHMuanM6CisgICAgICAgIEFkZGVkLiBNb3ZlIHRoZSBjb2RlIGZyb20gdGltZS1tdWx0
aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwuCisgICAgICAgICogZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1m
b2N1cy1ldmVudHMuaHRtbDoKKyAgICAgICAgTW92ZWQgdGhlIGNvZGUgdG8gbXVsdGlwbGUtZmll
bGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5qcy4KKwogMjAxMi0xMC0wOSAgQ3NhYmEgT3N6dHJv
Z29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJk
ZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDU5YzBmMzMzZTFjM2Q1YTc0MjYyMzVmMjMyNjIxNjFhODFkYTM4MQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4
IEBACitUaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11
bHRpcGxlIGZpZWxkcyBkYXRlIGlucHV0IFVJLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworTm9uLWVtcHR5IHZhbHVlCitQQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24o
KSBpcyAiQVhIZWxwOiBNb250aCwgQVhWYWx1ZURlc2NyaXB0aW9uOiAxMCwgMSwgMTIiCitQQVNT
IGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBEYXksIEFYVmFsdWVE
ZXNjcmlwdGlvbjogMDksIDEsIDMxIgorUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9u
KCkgaXMgIkFYSGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEyLCAxLCAyNzU3NjAi
CitFbXB0eSB2YWx1ZQorUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFY
SGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMSwgMjc1NzYwIgorUEFTUyBm
b2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogRGF5LCBBWFZhbHVlRGVz
Y3JpcHRpb246IGJsYW5rLCAxLCAzMSIKK1BBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlv
bigpIGlzICJBWEhlbHA6IE1vbnRoLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAxMiIK
KworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFy
aWEtYXR0cmlidXRlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0NGY2YjJiZjIxMmRjNTM2ZTA5YWE0NmQ5
MmQyODQyOWRlZjJhY2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmli
dXRlcy5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbnB1dCBpZD0idGVzdCIgdHlwZT0iZGF0
ZSIgdmFsdWU9IjIwMTItMTAtMDkiPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3Qg
Y2hlY2tzIGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRpcGxlIGZpZWxkcyBk
YXRlIGlucHV0IFVJLicpOworCitmdW5jdGlvbiBlbmFibGVBY2Nlc3NpYmlsaXR5KCkKK3sKKyAg
ICBpZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICBkZWJ1Zygn
UGxlYXNlIHJ1biBpbnNpZGUgRFJUIG9yIFdUUi4nKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
K30KKworZnVuY3Rpb24gZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpCit7CisgICAgaWYg
KCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsKKyAgICB2
YXIgZWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50CisgICAg
cmV0dXJuIGVsZW1lbnQuaGVscFRleHQgKyAnLCAnICsgIGVsZW1lbnQudmFsdWVEZXNjcmlwdGlv
biArICcsICcgKyBlbGVtZW50Lm1pblZhbHVlICsgJywgJyArIGVsZW1lbnQubWF4VmFsdWU7Cit9
CisKK2Z1bmN0aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCit7CisgICAgaWYgKCF3aW5kb3cu
ZXZlbnRTZW5kZXIpCisgICAgICAgIHJldHVybjsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKGtl
eSwgbW9kaWZpZXJzKTsKK30KKwordmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXN0Jyk7CisKK2VuYWJsZUFjY2Vzc2liaWxpdHkoKTsKK3Rlc3RJbnB1dC5mb2N1cygp
OworCitkZWJ1ZygnTm9uLWVtcHR5IHZhbHVlJyk7Cit0ZXN0SW5wdXQuZm9jdXMoKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVs
cDogTW9udGgsIEFYVmFsdWVEZXNjcmlwdGlvbjogMTAsIDEsIDEyJyk7CitrZXlEb3duKCdcdCcp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkn
LCAnQVhIZWxwOiBEYXksIEFYVmFsdWVEZXNjcmlwdGlvbjogMDksIDEsIDMxJyk7CitrZXlEb3du
KCdcdCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0
aW9uKCknLCAnQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IDIwMTIsIDEsIDI3NTc2
MCcpOworCitkZWJ1ZygnRW1wdHkgdmFsdWUnKTsKK2tleURvd24oJ1xiJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IFll
YXIsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDI3NTc2MCcpOwora2V5RG93bignXHQn
LCBbJ3NoaWZ0S2V5J10pOwora2V5RG93bignXGInKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
Zm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogRGF5LCBBWFZhbHVlRGVz
Y3JpcHRpb246IGJsYW5rLCAxLCAzMScpOwora2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwor
a2V5RG93bignXGInKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVE
ZXNjcmlwdGlvbigpJywgJ0FYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmss
IDEsIDEyJyk7CisKK2RlYnVnKCcnKTsKK3Rlc3RJbnB1dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxk
KHRlc3RJbnB1dCk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hMDZiM2M0M2NmM2QxMWIwYmQ1ZjE1NGQyOTAzMjYxZjFhZTlmYjQ1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGhpcyB0ZXN0IGNoZWNrcyB2YWx1ZSBjaGFuZ2Vk
IGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK0ZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIEFYSGVscDogTW9udGg9QVhWYWx1ZURlc2Ny
aXB0aW9uOiAxMAorRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBEYXk9QVhWYWx1ZURl
c2NyaXB0aW9uOiAwOQorRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFs
dWVEZXNjcmlwdGlvbjogMjAxMgorVmFsdWVDaGFuZ2VkIEFYSGVscDogRGF5PUFYVmFsdWVEZXNj
cmlwdGlvbjogMDQKK1ZhbHVlQ2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9u
OiAyMDEzCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzc0NTVmNGRiMDQ2MWU4MGM2OTc0YzYzNGJmYTBlNDkwNzE4NGRhMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbApAQCAtMCww
ICsxLDUwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8aW5wdXQgaWQ9InRlc3QiIHR5cGU9ImRhdGUiIHZhbHVlPSIyMDEyLTEw
LTA5Ij4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGNoZWNrcyB2YWx1ZSBjaGFu
Z2VkIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucy4nKTsKKworZnVuY3Rpb24gZW5hYmxlQWNj
ZXNzaWJpbGl0eSgpCit7CisgICAgaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIp
IHsKKyAgICAgICAgZGVidWcoIlBsZWFzZSBydW4gaW5zaWRlIERSVCBvciBXUlQuIik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hZGROb3Rp
ZmljYXRpb25MaXN0ZW5lcihmdW5jdGlvbiAoZWxlbWVudCwgbm90aWZpY2F0aW9uKSB7CisgICAg
ICAgIGlmIChub3RpZmljYXRpb24gPT0gJ0ZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkJyB8fCBub3Rp
ZmljYXRpb24gPT0gJ1ZhbHVlQ2hhbmdlZCcpIHsKKyAgICAgICAgICAgIGRlYnVnKG5vdGlmaWNh
dGlvbiArICcgJyArIGVsZW1lbnQuaGVscFRleHQgKyAnPScgKyBlbGVtZW50LnZhbHVlRGVzY3Jp
cHRpb24pOworICAgICAgICB9CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIGtleURvd24oa2V5LCBt
b2RpZmllcnMpCit7CisgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgICAgIHJldHVy
bjsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKK30KKwordmFyIHRl
c3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisKK2VuYWJsZUFjY2Vz
c2liaWxpdHkoKTsKK3Rlc3RJbnB1dC5mb2N1cygpOwora2V5RG93bignXHQnKTsKK2tleURvd24o
JzQnKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworCit3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoJycpOworICAg
IHRlc3RJbnB1dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRlc3RJbnB1dCk7CisgICAgZmluaXNo
SlNUZXN0KCk7Cit9LCAxKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzNjMzQ4NjBhMjBlZTQ5ZjY2NzIzMzc0YTQ2YzI5MTdmMzkzZWQxZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE4IEBACitDaGVjayBibHVyIGFuZCBmb2N1cyBldmVudHMgZm9yIG11bHRpcGxlIGZpZWxkcyBk
YXRlIGlucHV0IFVJCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitmb2N1cygpIGFu
ZCBibHVyKCkKK1BBU1MgdGVzdElucHV0LmZvY3VzKCk7IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1
cz0xIgorUEFTUyB0ZXN0SW5wdXQuYmx1cigpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIK
K2ZvY3VzIGFuZCBUYWIga2V5IHRvIGJsdXIKK1BBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlz
ICJibHVyPTAgZm9jdXM9MSIKK1BBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAg
Zm9jdXM9MSIKK1BBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIK
K1BBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKKworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZv
Y3VzLWV2ZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlZTRkMGIwMzRmZmQ0MmQxOTMyZWI1YzI4ODM4
ZDc1NjU4OWQyMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rh
dGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2
ZW50cy5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQt
Zm9jdXMtZXZlbnRzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+Cis8
c2NyaXB0Pgorc3RhcnRUZXN0Rm9yKCdkYXRlJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCA5NDM4NDZjMWJlODdi
MTNhODE2MDJjNWU1ZTZhZTMzYTNmM2M5MjU0Li42MTk0YTYzNGRiMTk2ODVkZmM1OTBlNjAyOWZl
YzZjNTA2ZWQ3MDUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC01NSw2
ICs1NSwxMSBAQCBQQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTEyLTAyIgogUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMjAxMi0wMS0yOCIKIFBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDEtMDIiCiBQ
QVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTAzLTAyIgorPT0gRGlzYWJsZWQvcmVhZG9ubHkgPT0K
K1BBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTAtMDgiCitQQVNTIGlucHV0LnZhbHVlIGlzICIy
MDEyLTExLTA4IgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMS0wOCIKK1BBU1MgaW5wdXQu
dmFsdWUgaXMgIjIwMTItMTItMDgiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAK
IFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlw
bGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCmluZGV4IDFjNzA1ODY0Mzg5Yzc0MGI4ZmJj
ZjMxNGRhNGJkMDUyZjg2ZDMyNzIuLjc5NjhkOTY5Y2JmYzZiODFlZmRjMmY2Y2NhOThiZTZhMGYw
YmMwMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbApAQCAtMTk3LDYgKzE5NywyMyBAQCBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDEtMDInKTsKIGtleURvd24oJ3JpZ2h0
QXJyb3cnKTsgLy8gLT4gMjAxMi8wMi9bMDFdCiBrZXlEb3duKCczJyk7IC8vICAgICAgICAgIC0+
IDIwMTIvMDIvWzAzXQogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEy
LTAzLTAyJyk7CisKK2JlZ2luVGVzdCgnRGlzYWJsZWQvcmVhZG9ubHknLCAnMjAxMi0xMC0wOCcp
OworaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwora2V5RG93bigndXBBcnJvdycpOyAvLyAxMC8wOC8y
MDEyCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTAtMDgnKTsK
K2lucHV0LmRpc2FibGVkID0gZmFsc2U7CitpbnB1dC5mb2N1cygpOwora2V5RG93bigndXBBcnJv
dycpOyAvLyBbMTFdLzA4LzIwMTIKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUn
LCAnMjAxMi0xMS0wOCcpOworaW5wdXQucmVhZE9ubHkgPSB0cnVlOwora2V5RG93bigndXBBcnJv
dycpOyAvLyAxMS8wOC8yMDEyCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywg
JzIwMTItMTEtMDgnKTsKK2lucHV0LnJlYWRPbmx5ID0gZmFsc2U7CitpbnB1dC5mb2N1cygpOwor
a2V5RG93bigndXBBcnJvdycpOyAvLyBbMTJdLzA4LzIwMTIKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMi0wOCcpOworCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
bW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjg1MDE2ZDBiM2NhMTk2NDA0
MjhmNDllMTI5YTQ1NDA1ZTliYmRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1l
dmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKK011bHRpcGxlIGZpZWxkcyBVSSBv
ZiBkYXRlIGlucHV0IHR5cGUgd2l0aCBtb3VzZSBldmVudHMKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BsZWFzZSBydW4gdGhpcyB3aXRoIERSVCBvciBXVFIuCisKK1Rlc3QgZm9s
bG93aW5nIG1vdXNlIGFjdGlvbnM6CitNb3VzZSBjbGljayB0byBmb2N1cyBlYWNoIG9mIHN1Yi1m
aWVsZHMKK01vdXNlIGNsaWNrIG9uIHRoZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBz
dWItZmllbGRzCisKKz09PiBGb2N1cyBvbiB0aGUgbW9udGggZmllbGQuCitQQVNTIGlucHV0LnZh
bHVlIGlzICIyMzQ1LTA4LTE5IgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOS0xOSIKK1BB
U1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDgtMTkiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5yYW5nZUNvdW50IGlzIDAKKworPT0+IEZvY3VzIG9uIHRoZSBkYXkgZmllbGQuCitQQVNTIGlu
cHV0LnZhbHVlIGlzICIyMzQ1LTA4LTIwIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOC0y
MSIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDgtMjAiCitQQVNTIHdpbmRvdy5nZXRTZWxl
Y3Rpb24oKS5yYW5nZUNvdW50IGlzIDAKKworPT0+IEZvY3VzIG9uIHRoZSB5ZWFyIGZpZWxkLgor
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMCIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIz
NDctMDgtMjAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwIgorUEFTUyB3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAwCisKKz09PiBDbGljayBvbiBhIGRpc2FibGVk
IGZpZWxkLgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMCIKKworPT0+IENsaWNrIG9u
IGEgcmVhZC1vbmx5IGZpZWxkLgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMCIKKwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjI3OWE3ZWNkZmM1ZGVhYThhMjcxZmRiZTdmZDc3Y2VkNDgyZGY3ODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCkBAIC0wLDAgKzEs
OTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxwPgorUGxlYXNlIHJ1biB0aGlzIHdpdGggRFJU
IG9yIFdUUi4KKzwvcD4KK1Rlc3QgZm9sbG93aW5nIG1vdXNlIGFjdGlvbnM6Cis8dWw+CisgICAg
PGxpPk1vdXNlIGNsaWNrIHRvIGZvY3VzIGVhY2ggb2Ygc3ViLWZpZWxkczwvbGk+CisgICAgPGxp
Pk1vdXNlIGNsaWNrIG9uIHRoZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmll
bGRzPC9saT4KKzwvdWw+Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJkYXRlIiBzdHlsZT0iZm9u
dC1mYW1pbHk6YWhlbTsgZm9udC1zaXplOjE2cHg7Ij4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdNdWx0aXBsZSBmaWVsZHMgVUkgb2YgZGF0ZSBpbnB1
dCB0eXBlIHdpdGggbW91c2UgZXZlbnRzJyk7Cit2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnaW5wdXQnKTsKKworZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKK3sK
KyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuOworICAgIGV2ZW50
U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmllcnMpOworfQorCitmdW5jdGlvbiBtb3VzZUNsaWNr
T24oeCwgeSkKK3sKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJu
OworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHggKyBpbnB1dC5vZmZzZXRMZWZ0LCB5ICsg
aW5wdXQub2Zmc2V0VG9wKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVu
dFNlbmRlci5tb3VzZVVwKCk7Cit9CisKK2lucHV0LnZhbHVlID0gJzIzNDUtMDctMTknOworaW5w
dXQuYmx1cigpOwordmFyIGNlbnRlciA9IGlucHV0Lm9mZnNldEhlaWdodCAvIDI7Cit2YXIgc3Bp
bkJ1dHRvbk9mZnNldCA9IDI2OworCitkZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSBtb250aCBmaWVs
ZC4nKTsKK21vdXNlQ2xpY2tPbigxMiwgY2VudGVyKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0xOScpOworbW91c2VD
bGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDktMTknKTsKK21v
dXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAr
IDEpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTE5Jyk7
CitzaG91bGRCZVplcm8oJ3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5v
IHRleHQgc2VsZWN0aW9uLgorCitkZWJ1ZygnJyk7CitkZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSBk
YXkgZmllbGQuJyk7Cittb3VzZUNsaWNrT24oNjAsIGNlbnRlcik7CitrZXlEb3duKCd1cEFycm93
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgtMjAnKTsK
K21vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRl
ciAtIDEpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTIx
Jyk7Cittb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBj
ZW50ZXIgKyAxKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0w
OC0yMCcpOworc2hvdWxkQmVaZXJvKCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcp
OyAvLyBObyB0ZXh0IHNlbGVjdGlvbi4KKworZGVidWcoJycpOworZGVidWcoJz09PiBGb2N1cyBv
biB0aGUgeWVhciBmaWVsZC4nKTsKK21vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIDY0
LCBjZW50ZXIpOwora2V5RG93bigndXBBcnJvdycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyMzQ2LTA4LTIwJyk7Cittb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lk
dGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgLSAxKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnaW5wdXQudmFsdWUnLCAnMjM0Ny0wOC0yMCcpOworbW91c2VDbGlja09uKGlucHV0Lm9mZnNl
dFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDYtMDgtMjAnKTsKK3Nob3VsZEJlWmVybygnd2luZG93
LmdldFNlbGVjdGlvbigpLnJhbmdlQ291bnQnKTsgLy8gTm8gdGV4dCBzZWxlY3Rpb24uCisKK2Rl
YnVnKCcnKTsKK2RlYnVnKCc9PT4gQ2xpY2sgb24gYSBkaXNhYmxlZCBmaWVsZC4nKTsKK2lucHV0
LmRpc2FibGVkID0gdHJ1ZTsKK21vdXNlQ2xpY2tPbigxMiwgY2VudGVyKTsKK2tleURvd24oJ3Vw
QXJyb3cnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0y
MCcpOworaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKKworZGVidWcoJycpOworZGVidWcoJz09PiBD
bGljayBvbiBhIHJlYWQtb25seSBmaWVsZC4nKTsKK2lucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKK21v
dXNlQ2xpY2tPbigxMiwgY2VudGVyKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMCcpOworaW5wdXQucmVhZE9ubHkg
PSBmYWxzZTsKKworZGVidWcoJycpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDcwZDA2N2FkZTk2NTg2MzQ2NmIxMmI4Mzg1YWU1ZGUxNTg1
NTJhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlz
dG9yeS1iYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitDaGVja3MgaW5wdXQgdmFs
dWUgaXMgcHJlc2VydmVkIGFmdGVyIGJhY2t3YXJkIGFuZCBmb3J3YXJkCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitXZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0g
Y29udHJvbCB3aGljaCBoYWQgYSBmdWxsIHZhbHVlOgorUEFTUyAiMTIwMTItMTAtMDkiIGlzICIx
MjAxMi0xMC0wOSIKK1dlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9s
IHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWU6CitQQVNTICIwMS9kZC8xOTk5IiBpcyAiMDEvZGQv
MTk5OSIKK1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdo
aWNoIGhhZCBhIGZ1bGwgdmFsdWU6CitQQVNTICIwMDAxLTExLTE3IiBpcyAiMDAwMS0xMS0xNyIK
K1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhh
ZCBhIHBhcnRpYWwgdmFsdWU6CitQQVNTICJtbS8zMS95eXl5IiBpcyAibW0vMzEveXl5eSIKKwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVjNGMzMDRhNDUyYzNiODE3ZDhlYzAyZmRkOGNmMTM3MWNkNzA4MTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sCkBAIC0w
LDAgKzEsMTQ4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorPGlucHV0IHR5cGU9ImRhdGUi
IGlkPSJ0ZXN0MSI+PGJyPgorPGlucHV0IHR5cGU9ImRhdGUiIGlkPSJ0ZXN0MiIgbWluPSIxOTk5
LTAxLTAxIiBtYXg9IjE5OTktMTItMzEiPjxicj4KKzxpZnJhbWUgaWQ9ImlmcmFtZSI+PC9pZnJh
bWU+Cis8L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hlY2tzIGlucHV0IHZhbHVlIGlz
IHByZXNlcnZlZCBhZnRlciBiYWNrd2FyZCBhbmQgZm9yd2FyZCcpOworaWYgKCF3aW5kb3cuZXZl
bnRTZW5kZXIpCisgICAgZGVidWcoJ1BsZWFzZSBydW4gd2l0aGluIERSVC9XVFInKTsKK3dpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpZnJhbWUnKTsKK3ZhciB0ZXN0SW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Rlc3QxJyk7Cit2YXIgdGVzdElucHV0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0
ZXN0MicpOwordmFyIHN0YXRlID0gJ2RpcmVjdCc7Cit2YXIgcGFnZU5hbWUgPSBsb2NhdGlvbi5z
ZWFyY2ggfHwgJz9wYWdlMCc7Cit2YXIgdGVzdENhc2VzID0gW107CisKK2Z1bmN0aW9uIGJhY2so
bmV3U3RhdGUpCit7CisgICAgcGFyZW50LnN0YXRlID0gbmV3U3RhdGU7CisgICAgaGlzdG9yeS5i
YWNrKCk7Cit9CisKK2Z1bmN0aW9uIGZhaWxlZChtZXNzYWdlKSB7CisgICAgdGVzdEZhaWxlZCht
ZXNzYWdlICsgJyBpbiAnICsgc3RhdGUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5j
dGlvbiBmaWVsZHNUZXh0KGlucHV0KQoreworICAgIGlmICghd2luZG93LmludGVybmFscykKKyAg
ICAgICAgcmV0dXJuICIiOworICAgIHZhciBlZGl0RWxlbWVudCA9IHdpbmRvdy5pbnRlcm5hbHMu
b2xkZXN0U2hhZG93Um9vdChpbnB1dCk7CisgICAgcmV0dXJuIGVkaXRFbGVtZW50LnRleHRDb250
ZW50OworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0KCkgeworICAgIHJ1blRlc3RDYXNlcygpOwor
ICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nv
bnRhaW5lcicpKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gZm9yd2FyZChu
ZXdTdGF0ZSkKK3sKKyAgICBwYXJlbnQuc3RhdGUgPSBuZXdTdGF0ZTsKKyAgICBoaXN0b3J5LmZv
cndhcmQoKTsKK30KKworZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKK3sKKyAgICBp
ZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuOworICAgIGV2ZW50U2VuZGVy
LmtleURvd24oa2V5LCBtb2RpZmllcnMpOworfQorCitmdW5jdGlvbiBydW5UZXN0Q2FzZXMoKSB7
CisgICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHRlc3RDYXNlcy5sZW5ndGg7ICsrIGlu
ZGV4KSB7CisgICAgICAgIHZhciB0ZXN0Q2FzZSA9IHRlc3RDYXNlc1tpbmRleF07CisgICAgICAg
IGRlYnVnKHRlc3RDYXNlWydkZXNjcmlwdGlvbiddICsgJzonKTsKKyAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCciJyArIHRlc3RDYXNlWydhY3R1YWwnXSArICciJywgdGVzdENhc2VbJ2V4
cGVjdGVkJ10pOworICAgIH0KKyAgICBkZWJ1ZygnJyk7Cit9CisKK3N3aXRjaCAocGFnZU5hbWUp
IHsKK2Nhc2UgJz9wYWdlMCc6CisgICAgaWZyYW1lLnNyYyA9IGxvY2F0aW9uICsgJz9wYWdlMSc7
CisgICAgYnJlYWs7CisKK2Nhc2UgJz9wYWdlMSc6CisgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUp
IHsKKyAgICBjYXNlICdkaXJlY3QnOiB7CisgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMTIw
MTItMTAtMDknOworICAgICAgICB0ZXN0SW5wdXQyLmZvY3VzKCk7CisgICAgICAgIGtleURvd24o
J3VwQXJyb3cnKTsgLy8gLT4gWzAxXS9kZC95eXl5CisgICAgICAgIGtleURvd24oJ1x0Jyk7IC8v
ICAgICAgLT4gMDEvW2RkXS95eXl5CisgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4g
MDEvZGQvW3l5eXldCisgICAgICAgIGtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMDEvZGQvWzE5
OTldCisgICAgICAgIHZhciBuZXh0VXJpID0gbG9jYXRpb24udG9TdHJpbmcoKS5yZXBsYWNlKCc/
cGFnZTEnLCAnP3BhZ2UyJyk7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyB3aW5k
b3cubG9jYXRpb24uaHJlZiA9IG5leHRVcmk7IH0sIDApOworICAgICAgICBicmVhazsKKyAgICB9
CisgICAgY2FzZSAnYmFja1RvMSc6CisgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgYmFjayB0
byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUn
LAorICAgICAgICAgICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKKyAgICAgICAg
ICAgICAgICAnZXhwZWN0ZWQnIDogJzEyMDEyLTEwLTA5JyB9LAorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tp
bmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCisgICAgICAgICAg
ICAgICAgJ2FjdHVhbCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAorICAgICAgICAgICAgICAg
ICdleHBlY3RlZCcgOiAnMDEvZGQvMTk5OScKKyAgICAgICAgICAgIH0pOworICAgICAgICBmb3J3
YXJkKCdmb3J3YXJkVG8yJyk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgJ2JhY2tUbzFTZWNv
bmQnOgorICAgICAgICBwYXJlbnQuZmluaXNoVGVzdCgpOworICAgICAgICBicmVhazsKKyAgICBk
ZWZhdWx0OgorICAgICAgICBmYWlsZWQoJ1VuZXhwZWN0ZWQgc3RhdGUoJyArIHBhcmVudC5zdGF0
ZSArICcpJyk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBicmVhazsKKworY2FzZSAnP3Bh
Z2UyJzoKKyAgICBzd2l0Y2ggKHBhcmVudC5zdGF0ZSkgeworICAgIGNhc2UgJ2RpcmVjdCc6Cisg
ICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMDAwMS0xMS0xNyc7CisgICAgICAgIHRlc3RJbnB1
dDIuZm9jdXMoKTsKKyAgICAgICAga2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+IG1tL1tkZF0v
eXl5eQorICAgICAgICBrZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gbW0vWzMxXS95eXl5Cisg
ICAgICAgIGJhY2soJ2JhY2tUbzEnKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAnZm9yd2Fy
ZFRvMic6CisgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENo
ZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUnLAorICAgICAgICAg
ICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKKyAgICAgICAgICAgICAgICAnZXhw
ZWN0ZWQnIDogJzAwMDEtMTEtMTcnCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICdkZXNjcmlwdGlvbicgOiAnV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hl
Y2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCisgICAgICAg
ICAgICAgICAgJ2FjdHVhbCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAorICAgICAgICAgICAg
ICAgICdleHBlY3RlZCcgOiAnbW0vMzEveXl5eScKKyAgICAgICAgICAgIH0pOworICAgICAgICBi
YWNrKCdiYWNrVG8xU2Vjb25kJyk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAg
ICAgIGZhaWxlZCgnVW5leHBlY3RlZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJyknKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgfQorICAgIGJyZWFrOworCitkZWZhdWx0OgorICAgIGZhaWxlZCgn
VW5leHBlY3RlZCBwYWdlKCcgKyBwYWdlTmFtZSArICcpJyk7CisgICAgYnJlYWs7Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1y
ZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFs
dWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjcwOWQ3ZGZjYWM3ZTBk
ZWM0MDk0MTFjM2IyYzkxYWM3ZjBiYjYyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVz
ZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ2hl
Y2tzIHJlbG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgdGVzdElucHV0MS52YWx1ZSBpcyAiIgorUEFTUyB0ZXN0SW5w
dXQyLnZhbHVlIGlzICIxMjM0LTA1LTA2IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0
ZXItcmVsb2Fkcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDUwY2JjYzRlM2MzMDUyMjE1YmJhN2ZiMmQ2MTk0OWZjZDQxY2Y2ZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sCkBA
IC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1bkJvZHlMb2FkZWQoKSI+Cis8aWZyYW1lIGlkPWlm
cmFtZSBzcmNkb2M9IjxpbnB1dCB0eXBlPWRhdGUgaWQ9J3Rlc3QxJz48aW5wdXQgdHlwZT0nZGF0
ZScgaWQ9J3Rlc3QyJyB2YWx1ZT0nMTIzNC0wNS0wNic+Ij48L2lmcmFtZT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbignQ2hlY2tzIHJlbG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMnKTsK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGlmcmFtZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdpZnJhbWUnKTsKK3ZhciB0ZXN0SW5wdXQxOwordmFyIHRlc3RJbnB1dDI7
CisKK2Z1bmN0aW9uIHJ1bkJvZHlMb2FkZWQoKQoreworICAgIGlmcmFtZS5jb250ZW50RG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJykudmFsdWUgPSAnMjAxMi0xMC0wMSc7CisgICAgaWZy
YW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKS52YWx1ZSA9ICcyMDEy
LTExLTAxJzsKKyAgICBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uICgp
IHsgcGFyZW50LnJ1bk9uSUZyYW1lTG9hZCgpOyB9KTsKKyAgICBpZnJhbWUuY29udGVudFdpbmRv
dy5sb2NhdGlvbi5yZWxvYWQoKTsKK30KKworZnVuY3Rpb24gcnVuT25JRnJhbWVMb2FkKCkKK3sK
KyAgICB0ZXN0SW5wdXQxID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGVzdDEnKTsKKyAgICB0ZXN0SW5wdXQyID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGVzdDInKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEu
dmFsdWUnLCAnJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVl
JywgJzEyMzQtMDUtMDYnKTsKKyAgICBpZnJhbWUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpZnJh
bWUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlu
cHV0LWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1p
bnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzYzJmOGUyYTBkM2E1NDAxNWY3
NmQwNGY0YjBiZmMyMDQ3NThkYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0
b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAK
K1Rlc3QgZm9yIGV2ZW50IGRpc3BhdGNoaW5nIGJ5IHNwaW4gYnV0dG9ucyBpbiBhIHR5cGU9ZGF0
ZSBpbnB1dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUK
K1BBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDAKK1BBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMg
MAorQ2xpY2sgdGhlIHVwcGVyIGJ1dHRvbgorUEFTUyB0ZXN0SW5wdXQudmFsdWUgaXMgIjIwMTIt
MTEtMDEiCitQQVNTIGNoYW5nZUV2ZW50Q291bnRlciBpcyAxCitQQVNTIGlucHV0RXZlbnRDb3Vu
dGVyIGlzIDEKK0ZvY3VzIG9uIGFub3RoZXIgZmllbGQKK1BBU1MgY2hhbmdlRXZlbnRDb3VudGVy
IGlzIDEKK1BBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1
dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNo
YW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdhOWI4YzM4NDQ4MTE5NDAx
ODE2NTIwNjZjNWY3ZTU3NGMzMmMzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1
dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Nv
bW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3Rlc3RTcGluQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVu
dHMoJ2RhdGUnLCAnMjAxMi0xMC0wMScsICcyMDEyLTExLTAxJyk7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNGE4YzQ2ZmVlZDYyZmY4Yjk5NGRhMmZhNTE2NDk5NWNmNzBmNDJmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAor
VGVzdCBmb3Igd2hlZWwgb3BlcmF0aW9ucyBmb3IgPGlucHV0IHR5cGU9ZGF0ZT4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgdmFsdWUgaXMgMTk5OS0wMS0xMy4gV2Un
bGwgd2hlZWwgdXAgYnkgMToKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDItMTMiCitXaGVl
bCB1cCBieSAxMDA6CitQQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAzLTEzIgorV2hlZWwgZG93
biBieSAxOgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMi0xMyIKK1doZWVsIGRvd24gYnkg
MjU2OgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0wMS0xMyIKK0Rpc2FibGVkIGlucHV0IGVs
ZW1lbnQ6CitQQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAxLTEzIgorUmVhZC1vbmx5IGlucHV0
IGVsZW1lbnQ6CitQQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAxLTEzIgorTm8gZm9jdXM6CitQ
QVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAxLTEzIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZl
bnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjBiZjU5YjE1
YzU4ODA4MjFhYWU4YTY4MDIwNjYzMjVjYjg1ZjMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy13aGVlbC1ldmVudC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi13
aGVlbC1ldmVudC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit0ZXN0
V2hlZWxFdmVudCh7CisgICAgJ2lucHV0VHlwZScgOiAnZGF0ZScsCisgICAgJ2luaXRpYWxWYWx1
ZScgOiAnMTk5OS0wMS0xMycsCisgICAgJ3N0ZXBVcFZhbHVlMScgOiAnMTk5OS0wMi0xMycsCisg
ICAgJ3N0ZXBVcFZhbHVlMicgOiAnMTk5OS0wMy0xMycgfSk7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRlL2RhdGUtcmVzZXQtdmFsdWUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZS9kYXRlLXJlc2V0LXZhbHVlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMwZmE3
OTdjMWZhNjk3MGI5MWY2MTIzMmVmZTZlYmUzNTQ1ODdjOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXJlc2V0LXZhbHVlLWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSw3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGZvcm0+Cis8aW5wdXQg
dHlwZT0iZGF0ZSI+Cis8aW5wdXQgdHlwZT0iZGF0ZSIgdmFsdWU9IjIwMTItMTAtMDkiPgorPC9m
b3JtPgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2Rh
dGUtcmVzZXQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXJl
c2V0LXZhbHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGMzYzhhZTUyOWI2OTE2ZWE1NDRkM2ViYmRhMDNj
NTNhZGVjMGE5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS9kYXRlLXJlc2V0LXZhbHVlLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8Ym9keT4KKzwhLS0gQ29uZmlybSBhcHBlYXJhbmNlIGFmdGVyIHJlc2V0KCkgaXMgc2FtZSBh
cyB0aGUgaW5pdGlhbCBhcHBlYXJhbmNlLiAtLT4KKzxmb3JtIGlkPSJmb3JtMSI+Cis8aW5wdXQg
dHlwZT0iZGF0ZSIgaWQ9ImRhdGUxIj4KKzxpbnB1dCB0eXBlPSJkYXRlIiB2YWx1ZT0iMjAxMi0x
MC0wOSIgaWQ9ImRhdGUyIj4KKzwvZm9ybT4KKzxzY3JpcHQ+CitpZiAodGVzdFJ1bm5lcikKKyAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigp
IHsKKyAgICBkYXRlMS52YWx1ZSA9ICIxOTk5LTEyLTMxIjsKKyAgICBkYXRlMi52YWx1ZSA9ICIx
OTk5LTEyLTMxIjsKKyAgICBmb3JtMS5yZXNldCgpOworICAgIGlmICh0ZXN0UnVubmVyKQorICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL2NvbW1vbi1zcGluYnV0
dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9y
ZXNvdXJjZXMvY29tbW9uLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMKaW5k
ZXggNDQxOTI1MGZkZDMyOTY5MzA4MTRkYzYxM2YwYWM5MDFjMDM3YzFjNy4uNzdmYWQ1OWM2ZWU5
MThiNTQ0NWNhNTU2ZmYyMjZmMDViYTRkMGY3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVu
dHMuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXNwaW5i
dXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMKQEAgLTMwLDcgKzMwLDggQEAgZnVuY3Rp
b24gdGVzdFNwaW5CdXR0b25DaGFuZ2VBbmRJbnB1dEV2ZW50cyhpbnB1dFR5cGUsIGluaXRpYWxW
YWx1ZSwgZXhwZWN0ZWRWYWwKIAogICAgIGRlYnVnKCdDbGljayB0aGUgdXBwZXIgYnV0dG9uJyk7
CiAgICAgLy8gTW92ZSB0aGUgY3Vyc29yIG9uIHRoZSB1cHBlciBidXR0b24uCi0gICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8odGVzdElucHV0Lm9mZnNldExlZnQgKyB0ZXN0SW5wdXQub2Zmc2V0
V2lkdGggLSAxMCwgdGVzdElucHV0Lm9mZnNldFRvcCArIHRlc3RJbnB1dC5vZmZzZXRIZWlnaHQg
LyA0KTsKKyAgICB2YXIgc3BpbkJ1dHRvbiA9IGdldEVsZW1lbnRCeVBzZXVkb0lkKGludGVybmFs
cy5vbGRlc3RTaGFkb3dSb290KHRlc3RJbnB1dCksICItd2Via2l0LWlubmVyLXNwaW4tYnV0dG9u
Iik7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8odGVzdElucHV0Lm9mZnNldExlZnQgKyBz
cGluQnV0dG9uLm9mZnNldExlZnQsIHRlc3RJbnB1dC5vZmZzZXRUb3AgKyB0ZXN0SW5wdXQub2Zm
c2V0SGVpZ2h0IC8gNCk7CiAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CiAgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0LnZh
bHVlJywgZXhwZWN0ZWRWYWx1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3Jlc291cmNlcy9jb21tb24td2hlZWwtZXZlbnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3Jlc291cmNlcy9jb21tb24td2hlZWwtZXZlbnQuanMKaW5kZXggMjI0ZTZhOWU0ZGJiMjI1YTEx
ZmI5MzE3MDM3YjJiNTM0MzVjNjk1ZC4uMjUxMTBjNGIwMTU5MzQ3YTA0N2MyMWYwMjBjYzhkODc1
NGUzYTYwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29t
bW9uLXdoZWVsLWV2ZW50LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2Vz
L2NvbW1vbi13aGVlbC1ldmVudC5qcwpAQCAtMjAsNyArMjAsNyBAQCBmdW5jdGlvbiB0ZXN0V2hl
ZWxFdmVudChwYXJhbWV0ZXJzKQogICAgIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3QnKTsKICAgICBpbnB1dC5mb2N1cygpOwogCi0gICAgZGVidWcoJ0luaXRpYWwgdmFsdWUg
aXMgJyArIGluaXRpYWxWYWx1ZSArICcuIFdlXCdsbCB3aGVlbCB1cCBieSAnICsgc3RlcFVwVmFs
dWUxICsgJzonKTsKKyAgICBkZWJ1ZygnSW5pdGlhbCB2YWx1ZSBpcyAnICsgaW5pdGlhbFZhbHVl
ICsgJy4gV2VcJ2xsIHdoZWVsIHVwIGJ5IDE6Jyk7CiAgICAgZGlzcGF0Y2hXaGVlbEV2ZW50KGlu
cHV0LCAwLCAxKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgc3Rl
cFVwVmFsdWUxKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJj
ZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5qcyBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVu
dHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjE1N2QxYmE3NGYyNThmMTY0MTJjMjliODhiMDQ4NjY4OWRiZjQ0
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL211
bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuanMKQEAgLTAsMCArMSw1MSBAQAor
dmFyIHRlc3RJbnB1dDsKK3ZhciBibHVyQ291bnRlciA9IDA7Cit2YXIgZm9jdXNDb3VudGVyID0g
MDsKKworZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKK3sKKyAgICBpZiAoIXdpbmRv
dy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuOworICAgIGV2ZW50U2VuZGVyLmtleURvd24o
a2V5LCBtb2RpZmllcnMpOworfQorCitmdW5jdGlvbiBzdGF0ZSgpCit7CisgICAgcmV0dXJuICdi
bHVyPScgKyBibHVyQ291bnRlciArICcgZm9jdXM9JyArIGZvY3VzQ291bnRlcjsKK30KKworZnVu
Y3Rpb24gYmVnaW5UZXN0Q2FzZSh0ZXN0Q2FzZU5hbWUpCit7CisgICAgZGVidWcodGVzdENhc2VO
YW1lKTsKKyAgICBibHVyQ291bnRlciA9IDA7CisgICAgZm9jdXNDb3VudGVyID0gMDsKK30KKwor
ZnVuY3Rpb24gc3RhcnRUZXN0Rm9yKHR5cGVOYW1lKQoreworICAgIGRlc2NyaXB0aW9uKCdDaGVj
ayBibHVyIGFuZCBmb2N1cyBldmVudHMgZm9yIG11bHRpcGxlIGZpZWxkcyAnICsgdHlwZU5hbWUg
KyAnIGlucHV0IFVJJyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicp
LmlubmVySFRNTCA9ICc8aW5wdXQgaWQ9ImJlZm9yZSI+JworICAgICAgICArICc8aW5wdXQgaWQ9
InRlc3QiIHR5cGU9IicgKyB0eXBlTmFtZSArICciPicKKyAgICAgICAgKyAnPGlucHV0IGlkPSJh
ZnRlciI+JzsKKworICAgIHRlc3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
Jyk7CisgICAgdGVzdElucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBmdW5jdGlvbiAoKSB7
ICsrYmx1ckNvdW50ZXI7IH0pOworICAgIHRlc3RJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1
cycsIGZ1bmN0aW9uICgpIHsgKytmb2N1c0NvdW50ZXI7IH0pOworCisgICAgYmVnaW5UZXN0Q2Fz
ZSgnZm9jdXMoKSBhbmQgYmx1cigpJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0
SW5wdXQuZm9jdXMoKTsgc3RhdGUoKScsICdibHVyPTAgZm9jdXM9MScpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdElucHV0LmJsdXIoKTsgc3RhdGUoKScsICdibHVyPTEgZm9jdXM9
MScpOworCisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBiZWdpblRlc3RD
YXNlKCdmb2N1cyBhbmQgVGFiIGtleSB0byBibHVyJyk7CisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJiZWZvcmUiKS5mb2N1cygpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2tleURvd24oIlx0Iik7IHN0YXRlKCknLCAnYmx1cj0wIGZvY3VzPTEnKTsKKyAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdrZXlEb3duKCJcdCIpOyBzdGF0ZSgpJywgJ2JsdXI9MCBm
b2N1cz0xJyk7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygna2V5RG93bigiXHQiKTsg
c3RhdGUoKScsICdibHVyPTAgZm9jdXM9MScpOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2tleURvd24oIlx0Iik7IHN0YXRlKCknLCAnYmx1cj0xIGZvY3VzPTEnKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBkZWJ1ZygnUGxlYXNlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZSBmb3IgZm9j
dXMgYW5kIFRhYi1rZXkgdGVzdCBjYXNlJyk7CisgICAgfQorICAgIGRlYnVnKCcnKTsKKyAgICBk
b2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlw
bGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbAppbmRleCAyN2MxMTc5MjY4YjVj
MTE1ZjAxNTRhM2JhZmU3NjNjNzE4NjFiNWY3Li5lNTAyNGZiYWVjNWE4N2FlZmYwNGMzMDZhYjAw
Njg5NjIzYjQ3M2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwKQEAgLTEsNjAgKzEs
MTEgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgogPGJvZHk+
Ci08ZGl2IGlkPSJjb250YWluZXIiPgotPGlucHV0IGlkPSJiZWZvcmUiPgotPGlucHV0IGlkPSJ0
ZXN0IiB0eXBlPSJ0aW1lIiB2YWx1ZT0iMTI6MzQiPgotPGlucHV0IGlkPSJhZnRlciI+Ci08L2Rp
dj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQt
Zm9jdXMtZXZlbnRzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+CiA8
c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNrIGJsdXIgYW5kIGZvY3VzIGV2ZW50cyBmb3IgbXVs
dGlwbGUgZmllbGRzIHRpbWUgaW5wdXQgVUknKTsKLQotdmFyIGJsdXJDb3VudGVyID0gMDsKLXZh
ciBmb2N1c0NvdW50ZXIgPSAwOwotCi1mdW5jdGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQot
ewotICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZl
bnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlmaWVycyk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlKCkK
LXsKLSAgICByZXR1cm4gJ2JsdXI9JyArIGJsdXJDb3VudGVyICsgJyBmb2N1cz0nICsgZm9jdXND
b3VudGVyOwotfQotCi12YXIgdGVzdElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
c3QnKTsKLXRlc3RJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgZnVuY3Rpb24gKCkgeyAr
K2JsdXJDb3VudGVyOyB9KTsKLXRlc3RJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZ1
bmN0aW9uICgpIHsgKytmb2N1c0NvdW50ZXI7IH0pOwotCi1mdW5jdGlvbiBiZWdpblRlc3RDYXNl
KHRlc3RDYXNlTmFtZSkKLXsKLSAgICBkZWJ1Zyh0ZXN0Q2FzZU5hbWUpOwotICAgIGJsdXJDb3Vu
dGVyID0gMDsKLSAgICBmb2N1c0NvdW50ZXIgPSAwOwotfQotCi1iZWdpblRlc3RDYXNlKCdmb2N1
cygpIGFuZCBibHVyKCknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0LmZvY3Vz
KCk7IHN0YXRlKCknLCAnYmx1cj0wIGZvY3VzPTEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdElucHV0LmJsdXIoKTsgc3RhdGUoKScsICdibHVyPTEgZm9jdXM9MScpOwotCi1pZiAod2lu
ZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgYmVnaW5UZXN0Q2FzZSgnZm9jdXMgYW5kIFRhYiBrZXkg
dG8gYmx1cicpOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiZWZvcmUiKS5mb2N1cygp
OwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygna2V5RG93bigiXHQiKTsgc3RhdGUoKScsICdi
bHVyPTAgZm9jdXM9MScpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygna2V5RG93bigiXHQi
KTsgc3RhdGUoKScsICdibHVyPTAgZm9jdXM9MScpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygna2V5RG93bigiXHQiKTsgc3RhdGUoKScsICdibHVyPTAgZm9jdXM9MScpOwotICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygna2V5RG93bigiXHQiKTsgc3RhdGUoKScsICdibHVyPTEgZm9jdXM9
MScpOwotfSBlbHNlIHsKLSAgICBkZWJ1ZygnUGxlYXNlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZSBm
b3IgZm9jdXMgYW5kIFRhYi1rZXkgdGVzdCBjYXNlJyk7Ci19Ci0KLWRlYnVnKCcnKTsKLWRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIp
KTsKK3N0YXJ0VGVzdEZvcigndGltZScpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1m
aWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sCmluZGV4IGM4MjRk
MjQ5M2JkOGZhYWQyODc0NTc4Y2RhZDE0MTE1NzE3YTY3YzUuLmMxMmQxNDI2OTFiOWJjYTAxYmQ4
YzRmNmUxNGUzMjFiZWExMTAzMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFu
Z2UtYW5kLWlucHV0LWV2ZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2Ut
YW5kLWlucHV0LWV2ZW50cy5odG1sCkBAIC0yLDYgKzIsNyBAQAogPGh0bWw+CiA8aGVhZD4KIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5w
dXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVj
dGVkLnR4dAppbmRleCA3ZmY4NmFhZDNiMDc0YTk4ZDNlM2ZmNzM1MDgyNzAyMTY2Mzk2ZjYwLi5l
YjgwNTdhMzY3NjhjN2VjNTM5MDFhMmM1MjA1MWZjY2FjNWE0MDgwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4
cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgVGVzdCBmb3Igd2hlZWwgb3BlcmF0aW9ucyBmb3Ig
PGlucHV0IHR5cGU9dGltZT4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1Jbml0aWFs
IHZhbHVlIGlzIDA3OjAwLiBXZSdsbCB3aGVlbCB1cCBieSAwODowMDoKK0luaXRpYWwgdmFsdWUg
aXMgMDc6MDAuIFdlJ2xsIHdoZWVsIHVwIGJ5IDE6CiBQQVNTIGlucHV0LnZhbHVlIGlzICIwODow
MCIKIFdoZWVsIHVwIGJ5IDEwMDoKIFBBU1MgaW5wdXQudmFsdWUgaXMgIjA5OjAwIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167937</attachid>
            <date>2012-10-09 23:49:15 -0700</date>
            <delta_ts>2012-10-10 02:08:07 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-98480-20121010154814.patch</filename>
            <type>text/plain</type>
            <size>40835</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwODUwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGI3ODM2YTM3NzBhYTU0ZDU0OTlh
OGNhMzQ2Mzg3MjgzNjMwODlkOC4uYWFlZGNjMDZlNTc4ZTAxOWUwZGEzYWQ0ZDU4OGE0YWQzZTQy
Mzk3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTEwLTA5ICBLZW50IFRhbXVyYSAgPHRr
ZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYmVoYXZpb3IgdGVzdHMgZm9yIGlucHV0
W3R5cGU9ZGF0ZV0gd2l0aCBtdWx0aXBsZSBmaWVsZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFs
dWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZh
bHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9j
dXMtZXZlbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVu
dHMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZl
LXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJl
c2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQt
dmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFs
dWUtYWZ0ZXItcmVsb2Fkcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hh
bmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9u
LWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRlL2RhdGUtcmVzZXQtdmFsdWUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUtcmVzZXQtdmFsdWUuaHRtbDogQWRkZWQuCisKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5k
LWlucHV0LWV2ZW50cy5qczoKKyAgICAgICAgKHRlc3RTcGluQnV0dG9uQ2hhbmdlQW5kSW5wdXRF
dmVudHMpOgorICAgICAgICBVc2VzIGdldEVsZW1lbnRCeVBzZXVkb0lkKCkgdG8gb2J0YWluIHNw
aW4gYnV0dG9uIHBvc2l0aW9uLiBUaGUgZGF0ZQorICAgICAgICB0eXBlIGFuZCB0aGUgdGltZSB0
eXBlIGhhdmUgdGhlaXIgc3BpbiBidXR0b24gYXQgZGlmZmVyZW50IHBvc2l0aW9ucworICAgICAg
ICBiZWNhdXNlIG9mIGEgcGlja2VyIGluZGljYXRvciB0cmlhbmdsZS4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL251bWJlci9udW1iZXItc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5o
dG1sOgorICAgICAgICBOZWVkIHRvIGltcG9ydCBjb21vbi5qcyBiZWNhdXNlIGNvbW1vbi1zcGlu
YnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIGRlcGVuZHMgb24gaXQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1z
cGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWw6CisgICAgICAgIERpdHRvLgor
CisgICAgICAgICogZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXdoZWVsLWV2ZW50LmpzOgor
ICAgICAgICAodGVzdFdoZWVsRXZlbnQpOiBGaXggYSB3cm9uZyBtZXNzYWdlLgorICAgICAgICAq
IGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtd2hl
ZWwtZXZlbnQtZXhwZWN0ZWQudHh0OiBEaXR0by4KKworICAgICAgICAqIGZhc3QvZm9ybXMvcmVz
b3VyY2VzL211bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuanM6CisgICAgICAg
IEFkZGVkLiBNb3ZlIHRoZSBjb2RlIGZyb20gdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQt
Zm9jdXMtZXZlbnRzLmh0bWwuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbDoKKyAg
ICAgICAgTW92ZWQgdGhlIGNvZGUgdG8gbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2
ZW50cy5qcy4KKwogMjAxMi0xMC0wOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEt
YXR0cmlidXRlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDU5YzBmMzMzZTFjM2Q1YTc0MjYy
MzVmMjMyNjIxNjFhODFkYTM4MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUaGlzIHRlc3QgY2hlY2tz
IGFyaWEtaGVscCBhdHRyaWJ1dGUgb2YgZmllbGRzIGluIG11bHRpcGxlIGZpZWxkcyBkYXRlIGlu
cHV0IFVJLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworTm9uLWVtcHR5IHZhbHVl
CitQQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBNb250aCwg
QVhWYWx1ZURlc2NyaXB0aW9uOiAxMCwgMSwgMTIiCitQQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVz
Y3JpcHRpb24oKSBpcyAiQVhIZWxwOiBEYXksIEFYVmFsdWVEZXNjcmlwdGlvbjogMDksIDEsIDMx
IgorUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogWWVhciwg
QVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEyLCAxLCAyNzU3NjAiCitFbXB0eSB2YWx1ZQorUEFTUyBm
b2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogWWVhciwgQVhWYWx1ZURl
c2NyaXB0aW9uOiBibGFuaywgMSwgMjc1NzYwIgorUEFTUyBmb2N1c2VkRmllbGRWYWx1ZURlc2Ny
aXB0aW9uKCkgaXMgIkFYSGVscDogRGF5LCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAz
MSIKK1BBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1vbnRo
LCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAxMiIKKworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgt
YXJpYS1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlw
bGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE0NGY2YjJiZjIxMmRjNTM2ZTA5YWE0NmQ5MmQyODQyOWRlZjJhY2MKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy5odG1sCkBAIC0wLDAgKzEs
NjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxpbnB1dCBpZD0idGVzdCIgdHlwZT0iZGF0ZSIgdmFsdWU9IjIwMTItMTAtMDki
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3QgY2hlY2tzIGFyaWEtaGVscCBhdHRy
aWJ1dGUgb2YgZmllbGRzIGluIG11bHRpcGxlIGZpZWxkcyBkYXRlIGlucHV0IFVJLicpOworCitm
dW5jdGlvbiBlbmFibGVBY2Nlc3NpYmlsaXR5KCkKK3sKKyAgICBpZiAoIXdpbmRvdy5hY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICBkZWJ1ZygnUGxlYXNlIHJ1biBpbnNpZGUgRFJU
IG9yIFdUUi4nKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KK30KKworZnVuY3Rpb24gZm9jdXNl
ZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpCit7CisgICAgaWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsKKyAgICB2YXIgZWxlbWVudCA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50CisgICAgcmV0dXJuIGVsZW1lbnQuaGVscFRl
eHQgKyAnLCAnICsgIGVsZW1lbnQudmFsdWVEZXNjcmlwdGlvbiArICcsICcgKyBlbGVtZW50Lm1p
blZhbHVlICsgJywgJyArIGVsZW1lbnQubWF4VmFsdWU7Cit9CisKK2Z1bmN0aW9uIGtleURvd24o
a2V5LCBtb2RpZmllcnMpCit7CisgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgICAg
IHJldHVybjsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKK30KKwor
dmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7CisKK2VuYWJs
ZUFjY2Vzc2liaWxpdHkoKTsKK3Rlc3RJbnB1dC5mb2N1cygpOworCitkZWJ1ZygnTm9uLWVtcHR5
IHZhbHVlJyk7Cit0ZXN0SW5wdXQuZm9jdXMoKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZm9j
dXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogTW9udGgsIEFYVmFsdWVEZXNj
cmlwdGlvbjogMTAsIDEsIDEyJyk7CitrZXlEb3duKCdcdCcpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBEYXksIEFYVmFs
dWVEZXNjcmlwdGlvbjogMDksIDEsIDMxJyk7CitrZXlEb3duKCdcdCcpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdmb2N1c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBZZWFy
LCBBWFZhbHVlRGVzY3JpcHRpb246IDIwMTIsIDEsIDI3NTc2MCcpOworCitkZWJ1ZygnRW1wdHkg
dmFsdWUnKTsKK2tleURvd24oJ1xiJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRG
aWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhlbHA6IFllYXIsIEFYVmFsdWVEZXNjcmlwdGlv
bjogYmxhbmssIDEsIDI3NTc2MCcpOwora2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwora2V5
RG93bignXGInKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNj
cmlwdGlvbigpJywgJ0FYSGVscDogRGF5LCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAz
MScpOwora2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwora2V5RG93bignXGInKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVs
cDogTW9udGgsIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDEyJyk7CisKK2RlYnVnKCcn
KTsKK3Rlc3RJbnB1dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRlc3RJbnB1dCk7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC12
YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVl
LWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDZiM2M0M2Nm
M2QxMWIwYmQ1ZjE1NGQyOTAzMjYxZjFhZTlmYjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NSBAQAorVGhpcyB0ZXN0IGNoZWNrcyB2YWx1ZSBjaGFuZ2VkIGFjY2Vzc2liaWxpdHkgbm90aWZp
Y2F0aW9ucy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0ZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkIEFYSGVscDogTW9udGg9QVhWYWx1ZURlc2NyaXB0aW9uOiAxMAorRm9jdXNlZFVJ
RWxlbWVudENoYW5nZWQgQVhIZWxwOiBEYXk9QVhWYWx1ZURlc2NyaXB0aW9uOiAwOQorRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBZZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMgor
VmFsdWVDaGFuZ2VkIEFYSGVscDogRGF5PUFYVmFsdWVEZXNjcmlwdGlvbjogMDQKK1ZhbHVlQ2hh
bmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEzCisKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmll
bGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVl
LWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzc0NTVmNGRiMDQ2MWU4MGM2
OTc0YzYzNGJmYTBlNDkwNzE4NGRhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFs
dWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aW5wdXQg
aWQ9InRlc3QiIHR5cGU9ImRhdGUiIHZhbHVlPSIyMDEyLTEwLTA5Ij4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbignVGhpcyB0ZXN0IGNoZWNrcyB2YWx1ZSBjaGFuZ2VkIGFjY2Vzc2liaWxpdHkgbm90
aWZpY2F0aW9ucy4nKTsKKworZnVuY3Rpb24gZW5hYmxlQWNjZXNzaWJpbGl0eSgpCit7CisgICAg
aWYgKCF3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgZGVidWcoIlBs
ZWFzZSBydW4gaW5zaWRlIERSVCBvciBXUlQuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hZGROb3RpZmljYXRpb25MaXN0ZW5lcihmdW5j
dGlvbiAoZWxlbWVudCwgbm90aWZpY2F0aW9uKSB7CisgICAgICAgIGlmIChub3RpZmljYXRpb24g
PT0gJ0ZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkJyB8fCBub3RpZmljYXRpb24gPT0gJ1ZhbHVlQ2hh
bmdlZCcpIHsKKyAgICAgICAgICAgIGRlYnVnKG5vdGlmaWNhdGlvbiArICcgJyArIGVsZW1lbnQu
aGVscFRleHQgKyAnPScgKyBlbGVtZW50LnZhbHVlRGVzY3JpcHRpb24pOworICAgICAgICB9Cisg
ICAgfSk7Cit9CisKK2Z1bmN0aW9uIGtleURvd24oa2V5LCBtb2RpZmllcnMpCit7CisgICAgaWYg
KCF3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgICAgIHJldHVybjsKKyAgICBldmVudFNlbmRlci5r
ZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKK30KKwordmFyIHRlc3RJbnB1dCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisKK2VuYWJsZUFjY2Vzc2liaWxpdHkoKTsKK3Rlc3RJbnB1
dC5mb2N1cygpOwora2V5RG93bignXHQnKTsKK2tleURvd24oJzQnKTsKK2tleURvd24oJ3VwQXJy
b3cnKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit3aW5kb3cuc2V0VGltZW91
dChmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoJycpOworICAgIHRlc3RJbnB1dC5wYXJlbnROb2Rl
LnJlbW92ZUNoaWxkKHRlc3RJbnB1dCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9LCAxKTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZv
Y3VzLWV2ZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNjMzQ4NjBhMjBlZTQ5ZjY2NzIz
Mzc0YTQ2YzI5MTdmMzkzZWQxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQt
Zm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitDaGVjayBibHVyIGFu
ZCBmb2N1cyBldmVudHMgZm9yIG11bHRpcGxlIGZpZWxkcyBkYXRlIGlucHV0IFVJCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitmb2N1cygpIGFuZCBibHVyKCkKK1BBU1MgdGVzdElu
cHV0LmZvY3VzKCk7IHN0YXRlKCkgaXMgImJsdXI9MCBmb2N1cz0xIgorUEFTUyB0ZXN0SW5wdXQu
Ymx1cigpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKK2ZvY3VzIGFuZCBUYWIga2V5IHRv
IGJsdXIKK1BBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKK1BB
U1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKK1BBU1Mga2V5RG93
bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9MSIKK1BBU1Mga2V5RG93bigiCSIpOyBz
dGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9j
dXMtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFlZTRkMGIwMzRmZmQ0MmQxOTMyZWI1YzI4ODM4ZDc1NjU4OWQyMmQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCkBAIC0wLDAgKzEs
MTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+Cis8c2NyaXB0Pgorc3RhcnRUZXN0Rm9y
KCdkYXRlJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZl
bnRzLWV4cGVjdGVkLnR4dAppbmRleCA5NDM4NDZjMWJlODdiMTNhODE2MDJjNWU1ZTZhZTMzYTNm
M2M5MjU0Li42MTk0YTYzNGRiMTk2ODVkZmM1OTBlNjAyOWZlYzZjNTA2ZWQ3MDUzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1r
ZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC01NSw2ICs1NSwxMSBAQCBQQVNTIGlucHV0
LnZhbHVlIGlzICIyMDEyLTEyLTAyIgogUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wMS0yOCIK
IFBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDEtMDIiCiBQQVNTIGlucHV0LnZhbHVlIGlzICIy
MDEyLTAzLTAyIgorPT0gRGlzYWJsZWQvcmVhZG9ubHkgPT0KK1BBU1MgaW5wdXQudmFsdWUgaXMg
IjIwMTItMTAtMDgiCitQQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTExLTA4IgorUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMjAxMi0xMS0wOCIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTItMDgi
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2
ZW50cy5odG1sCmluZGV4IDFjNzA1ODY0Mzg5Yzc0MGI4ZmJjZjMxNGRhNGJkMDUyZjg2ZDMyNzIu
Ljc5NjhkOTY5Y2JmYzZiODFlZmRjMmY2Y2NhOThiZTZhMGYwYmMwMmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMu
aHRtbApAQCAtMTk3LDYgKzE5NywyMyBAQCBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlJywgJzIwMTItMDEtMDInKTsKIGtleURvd24oJ3JpZ2h0QXJyb3cnKTsgLy8gLT4gMjAxMi8w
Mi9bMDFdCiBrZXlEb3duKCczJyk7IC8vICAgICAgICAgIC0+IDIwMTIvMDIvWzAzXQogc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTAzLTAyJyk7CisKK2JlZ2luVGVz
dCgnRGlzYWJsZWQvcmVhZG9ubHknLCAnMjAxMi0xMC0wOCcpOworaW5wdXQuZGlzYWJsZWQgPSB0
cnVlOwora2V5RG93bigndXBBcnJvdycpOyAvLyAxMC8wOC8yMDEyCitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTAtMDgnKTsKK2lucHV0LmRpc2FibGVkID0gZmFs
c2U7CitpbnB1dC5mb2N1cygpOwora2V5RG93bigndXBBcnJvdycpOyAvLyBbMTFdLzA4LzIwMTIK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMS0wOCcpOworaW5w
dXQucmVhZE9ubHkgPSB0cnVlOwora2V5RG93bigndXBBcnJvdycpOyAvLyAxMS8wOC8yMDEyCitz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTEtMDgnKTsKK2lucHV0
LnJlYWRPbmx5ID0gZmFsc2U7CitpbnB1dC5mb2N1cygpOwora2V5RG93bigndXBBcnJvdycpOyAv
LyBbMTJdLzA4LzIwMTIKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjAx
Mi0xMi0wOCcpOworCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
bW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZjg1MDE2ZDBiM2NhMTk2NDA0MjhmNDllMTI5YTQ1NDA1ZTliYmRi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzkgQEAKK011bHRpcGxlIGZpZWxkcyBVSSBvZiBkYXRlIGlucHV0IHR5cGUgd2l0
aCBtb3VzZSBldmVudHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BsZWFzZSBy
dW4gdGhpcyB3aXRoIERSVCBvciBXVFIuCisKK1Rlc3QgZm9sbG93aW5nIG1vdXNlIGFjdGlvbnM6
CitNb3VzZSBjbGljayB0byBmb2N1cyBlYWNoIG9mIHN1Yi1maWVsZHMKK01vdXNlIGNsaWNrIG9u
IHRoZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmllbGRzCisKKz09PiBGb2N1
cyBvbiB0aGUgbW9udGggZmllbGQuCitQQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LTA4LTE5Igor
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOS0xOSIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIz
NDUtMDgtMTkiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAKKwor
PT0+IEZvY3VzIG9uIHRoZSBkYXkgZmllbGQuCitQQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ1LTA4
LTIwIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOC0yMSIKK1BBU1MgaW5wdXQudmFsdWUg
aXMgIjIzNDUtMDgtMjAiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlz
IDAKKworPT0+IEZvY3VzIG9uIHRoZSB5ZWFyIGZpZWxkLgorUEFTUyBpbnB1dC52YWx1ZSBpcyAi
MjM0Ni0wOC0yMCIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDctMDgtMjAiCitQQVNTIGlucHV0
LnZhbHVlIGlzICIyMzQ2LTA4LTIwIgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VD
b3VudCBpcyAwCisKKz09PiBDbGljayBvbiBhIGRpc2FibGVkIGZpZWxkLgorUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMjM0Ni0wOC0yMCIKKworPT0+IENsaWNrIG9uIGEgcmVhZC1vbmx5IGZpZWxkLgor
UEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMCIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2Ut
ZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3OWE3
ZWNkZmM1ZGVhYThhMjcxZmRiZTdmZDc3Y2VkNDgyZGY3ODcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCkBAIC0wLDAgKzEsOTUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxwPgorUGxlYXNlIHJ1biB0aGlzIHdpdGggRFJUIG9yIFdUUi4KKzwvcD4KK1Rlc3Qg
Zm9sbG93aW5nIG1vdXNlIGFjdGlvbnM6Cis8dWw+CisgICAgPGxpPk1vdXNlIGNsaWNrIHRvIGZv
Y3VzIGVhY2ggb2Ygc3ViLWZpZWxkczwvbGk+CisgICAgPGxpPk1vdXNlIGNsaWNrIG9uIHRoZSBz
cGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWItZmllbGRzPC9saT4KKzwvdWw+Cis8aW5w
dXQgaWQ9ImlucHV0IiB0eXBlPSJkYXRlIiBzdHlsZT0iZm9udC1mYW1pbHk6YWhlbTsgZm9udC1z
aXplOjE2cHg7Ij4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCdNdWx0aXBsZSBmaWVsZHMgVUkgb2YgZGF0ZSBpbnB1dCB0eXBlIHdpdGggbW91c2UgZXZl
bnRzJyk7Cit2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKKwor
ZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKK3sKKyAgICBpZiAoIXdpbmRvdy5ldmVu
dFNlbmRlcikKKyAgICAgICAgcmV0dXJuOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBt
b2RpZmllcnMpOworfQorCitmdW5jdGlvbiBtb3VzZUNsaWNrT24oeCwgeSkKK3sKKyAgICBpZiAo
IXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKHggKyBpbnB1dC5vZmZzZXRMZWZ0LCB5ICsgaW5wdXQub2Zmc2V0VG9wKTsKKyAg
ICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Cit9
CisKK2lucHV0LnZhbHVlID0gJzIzNDUtMDctMTknOworaW5wdXQuYmx1cigpOwordmFyIGNlbnRl
ciA9IGlucHV0Lm9mZnNldEhlaWdodCAvIDI7Cit2YXIgc3BpbkJ1dHRvbk9mZnNldCA9IDI2Owor
CitkZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSBtb250aCBmaWVsZC4nKTsKK21vdXNlQ2xpY2tPbigx
MiwgY2VudGVyKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
aW5wdXQudmFsdWUnLCAnMjM0NS0wOC0xOScpOworbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdp
ZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDktMTknKTsKK21vdXNlQ2xpY2tPbihpbnB1dC5vZmZz
ZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTE5Jyk7CitzaG91bGRCZVplcm8oJ3dpbmRv
dy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0aW9uLgorCitk
ZWJ1ZygnJyk7CitkZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSBkYXkgZmllbGQuJyk7Cittb3VzZUNs
aWNrT24oNjAsIGNlbnRlcik7CitrZXlEb3duKCd1cEFycm93Jyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgtMjAnKTsKK21vdXNlQ2xpY2tPbihpbnB1dC5v
ZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTIxJyk7Cittb3VzZUNsaWNrT24oaW5w
dXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0yMCcpOworc2hvdWxkQmVaZXJv
KCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0IHNlbGVjdGlv
bi4KKworZGVidWcoJycpOworZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgeWVhciBmaWVsZC4nKTsK
K21vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIDY0LCBjZW50ZXIpOwora2V5RG93bign
dXBBcnJvdycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ2LTA4
LTIwJyk7Cittb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0
LCBjZW50ZXIgLSAxKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0
Ny0wOC0yMCcpOworbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9m
ZnNldCwgY2VudGVyICsgMSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywg
JzIzNDYtMDgtMjAnKTsKK3Nob3VsZEJlWmVybygnd2luZG93LmdldFNlbGVjdGlvbigpLnJhbmdl
Q291bnQnKTsgLy8gTm8gdGV4dCBzZWxlY3Rpb24uCisKK2RlYnVnKCcnKTsKK2RlYnVnKCc9PT4g
Q2xpY2sgb24gYSBkaXNhYmxlZCBmaWVsZC4nKTsKK2lucHV0LmRpc2FibGVkID0gdHJ1ZTsKK21v
dXNlQ2xpY2tPbigxMiwgY2VudGVyKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMCcpOworaW5wdXQuZGlzYWJsZWQg
PSBmYWxzZTsKKworZGVidWcoJycpOworZGVidWcoJz09PiBDbGljayBvbiBhIHJlYWQtb25seSBm
aWVsZC4nKTsKK2lucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKK21vdXNlQ2xpY2tPbigxMiwgY2VudGVy
KTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMjM0Ni0wOC0yMCcpOworaW5wdXQucmVhZE9ubHkgPSBmYWxzZTsKKworZGVidWcoJycp
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXBy
ZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXBy
ZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDcwZDA2N2FkZTk2NTg2MzQ2NmIxMmI4Mzg1YWU1ZGUxNTg1NTJhZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE4IEBACitDaGVja3MgaW5wdXQgdmFsdWUgaXMgcHJlc2VydmVkIGFmdGVy
IGJhY2t3YXJkIGFuZCBmb3J3YXJkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitX
ZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGljaCBoYWQgYSBm
dWxsIHZhbHVlOgorUEFTUyAiMTIwMTItMTAtMDkiIGlzICIxMjAxMi0xMC0wOSIKK1dlbnQgYmFj
ayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwg
dmFsdWU6CitQQVNTICIwMS9kZC8xOTk5IiBpcyAiMDEvZGQvMTk5OSIKK1dlbnQgZm9yd2FyZCB0
byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWU6
CitQQVNTICIwMDAxLTExLTE3IiBpcyAiMDAwMS0xMS0xNyIKK1dlbnQgZm9yd2FyZCB0byBhIHBh
Z2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwgdmFsdWU6CitQ
QVNTICJtbS8zMS95eXl5IiBpcyAibW0vMzEveXl5eSIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2Vy
dmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZlLXZhbHVl
LWFmdGVyLWhpc3RvcnktYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjNGMzMDRhNDUyYzNiODE3ZDhl
YzAyZmRkOGNmMTM3MWNkNzA4MTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZl
LXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sCkBAIC0wLDAgKzEsMTQ4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJjb250YWluZXIiPgorPGlucHV0IHR5cGU9ImRhdGUiIGlkPSJ0ZXN0MSI+PGJyPgorPGlu
cHV0IHR5cGU9ImRhdGUiIGlkPSJ0ZXN0MiIgbWluPSIxOTk5LTAxLTAxIiBtYXg9IjE5OTktMTIt
MzEiPjxicj4KKzxpZnJhbWUgaWQ9ImlmcmFtZSI+PC9pZnJhbWU+Cis8L2Rpdj4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignQ2hlY2tzIGlucHV0IHZhbHVlIGlzIHByZXNlcnZlZCBhZnRlciBiYWNr
d2FyZCBhbmQgZm9yd2FyZCcpOworaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgZGVidWco
J1BsZWFzZSBydW4gd2l0aGluIERSVC9XVFInKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKwordmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKTsKK3Zh
ciB0ZXN0SW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7Cit2YXIgdGVz
dElucHV0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwordmFyIHN0YXRlID0g
J2RpcmVjdCc7Cit2YXIgcGFnZU5hbWUgPSBsb2NhdGlvbi5zZWFyY2ggfHwgJz9wYWdlMCc7Cit2
YXIgdGVzdENhc2VzID0gW107CisKK2Z1bmN0aW9uIGJhY2sobmV3U3RhdGUpCit7CisgICAgcGFy
ZW50LnN0YXRlID0gbmV3U3RhdGU7CisgICAgaGlzdG9yeS5iYWNrKCk7Cit9CisKK2Z1bmN0aW9u
IGZhaWxlZChtZXNzYWdlKSB7CisgICAgdGVzdEZhaWxlZChtZXNzYWdlICsgJyBpbiAnICsgc3Rh
dGUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBmaWVsZHNUZXh0KGlucHV0
KQoreworICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgcmV0dXJuICIiOworICAg
IHZhciBlZGl0RWxlbWVudCA9IHdpbmRvdy5pbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChpbnB1
dCk7CisgICAgcmV0dXJuIGVkaXRFbGVtZW50LnRleHRDb250ZW50OworfQorCitmdW5jdGlvbiBm
aW5pc2hUZXN0KCkgeworICAgIHJ1blRlc3RDYXNlcygpOworICAgIGRvY3VtZW50LmJvZHkucmVt
b3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gZm9yd2FyZChuZXdTdGF0ZSkKK3sKKyAgICBwYXJl
bnQuc3RhdGUgPSBuZXdTdGF0ZTsKKyAgICBoaXN0b3J5LmZvcndhcmQoKTsKK30KKworZnVuY3Rp
b24ga2V5RG93bihrZXksIG1vZGlmaWVycykKK3sKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRl
cikKKyAgICAgICAgcmV0dXJuOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmll
cnMpOworfQorCitmdW5jdGlvbiBydW5UZXN0Q2FzZXMoKSB7CisgICAgZm9yICh2YXIgaW5kZXgg
PSAwOyBpbmRleCA8IHRlc3RDYXNlcy5sZW5ndGg7ICsrIGluZGV4KSB7CisgICAgICAgIHZhciB0
ZXN0Q2FzZSA9IHRlc3RDYXNlc1tpbmRleF07CisgICAgICAgIGRlYnVnKHRlc3RDYXNlWydkZXNj
cmlwdGlvbiddICsgJzonKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCciJyArIHRl
c3RDYXNlWydhY3R1YWwnXSArICciJywgdGVzdENhc2VbJ2V4cGVjdGVkJ10pOworICAgIH0KKyAg
ICBkZWJ1ZygnJyk7Cit9CisKK3N3aXRjaCAocGFnZU5hbWUpIHsKK2Nhc2UgJz9wYWdlMCc6Cisg
ICAgaWZyYW1lLnNyYyA9IGxvY2F0aW9uICsgJz9wYWdlMSc7CisgICAgYnJlYWs7CisKK2Nhc2Ug
Jz9wYWdlMSc6CisgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUpIHsKKyAgICBjYXNlICdkaXJlY3Qn
OiB7CisgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMTIwMTItMTAtMDknOworICAgICAgICB0
ZXN0SW5wdXQyLmZvY3VzKCk7CisgICAgICAgIGtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gWzAx
XS9kZC95eXl5CisgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvW2RkXS95eXl5
CisgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvZGQvW3l5eXldCisgICAgICAg
IGtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMDEvZGQvWzE5OTldCisgICAgICAgIHZhciBuZXh0
VXJpID0gbG9jYXRpb24udG9TdHJpbmcoKS5yZXBsYWNlKCc/cGFnZTEnLCAnP3BhZ2UyJyk7Cisg
ICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG5l
eHRVcmk7IH0sIDApOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSAnYmFja1RvMSc6
CisgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEg
Zm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUnLAorICAgICAgICAgICAgICAgICdh
Y3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKKyAgICAgICAgICAgICAgICAnZXhwZWN0ZWQnIDog
JzEyMDEyLTEwLTA5JyB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICdkZXNjcmlw
dGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wgd2hp
Y2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCisgICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiBmaWVs
ZHNUZXh0KHRlc3RJbnB1dDIpLAorICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnMDEvZGQv
MTk5OScKKyAgICAgICAgICAgIH0pOworICAgICAgICBmb3J3YXJkKCdmb3J3YXJkVG8yJyk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgJ2JhY2tUbzFTZWNvbmQnOgorICAgICAgICBwYXJlbnQu
ZmluaXNoVGVzdCgpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBmYWls
ZWQoJ1VuZXhwZWN0ZWQgc3RhdGUoJyArIHBhcmVudC5zdGF0ZSArICcpJyk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICBicmVhazsKKworY2FzZSAnP3BhZ2UyJzoKKyAgICBzd2l0Y2ggKHBh
cmVudC5zdGF0ZSkgeworICAgIGNhc2UgJ2RpcmVjdCc6CisgICAgICAgIHRlc3RJbnB1dDEudmFs
dWUgPSAnMDAwMS0xMS0xNyc7CisgICAgICAgIHRlc3RJbnB1dDIuZm9jdXMoKTsKKyAgICAgICAg
a2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+IG1tL1tkZF0veXl5eQorICAgICAgICBrZXlEb3du
KCdkb3duQXJyb3cnKTsgLy8gLT4gbW0vWzMxXS95eXl5CisgICAgICAgIGJhY2soJ2JhY2tUbzEn
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAnZm9yd2FyZFRvMic6CisgICAgICAgIHBhcmVu
dC50ZXN0Q2FzZXMucHVzaCgKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAnZGVzY3Jp
cHRpb24nIDogJ1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9s
IHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUnLAorICAgICAgICAgICAgICAgICdhY3R1YWwnIDogdGVz
dElucHV0MS52YWx1ZSwKKyAgICAgICAgICAgICAgICAnZXhwZWN0ZWQnIDogJzAwMDEtMTEtMTcn
CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICdkZXNjcmlw
dGlvbicgOiAnV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNvbnRyb2wg
d2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCisgICAgICAgICAgICAgICAgJ2FjdHVhbCcgOiBm
aWVsZHNUZXh0KHRlc3RJbnB1dDIpLAorICAgICAgICAgICAgICAgICdleHBlY3RlZCcgOiAnbW0v
MzEveXl5eScKKyAgICAgICAgICAgIH0pOworICAgICAgICBiYWNrKCdiYWNrVG8xU2Vjb25kJyk7
CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGZhaWxlZCgnVW5leHBlY3Rl
ZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJyknKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
ICAgIGJyZWFrOworCitkZWZhdWx0OgorICAgIGZhaWxlZCgnVW5leHBlY3RlZCBwYWdlKCcgKyBw
YWdlTmFtZSArICcpJyk7CisgICAgYnJlYWs7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11
bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxv
YWRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjcwOWQ3ZGZjYWM3ZTBkZWM0MDk0MTFjM2IyYzkxYWM3ZjBi
YjYyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fk
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ2hlY2tzIHJlbG9hZGluZyBwYWdlIHJl
c2V0cyBpbnB1dCB2YWx1ZXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
dGVzdElucHV0MS52YWx1ZSBpcyAiIgorUEFTUyB0ZXN0SW5wdXQyLnZhbHVlIGlzICIxMjM0LTA1
LTA2IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy1yZXNldC12YWx1ZS1hZnRlci1yZWxvYWRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDUwY2JjYzRl
M2MzMDUyMjE1YmJhN2ZiMmQ2MTk0OWZjZDQxY2Y2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InJ1bkJvZHlMb2FkZWQoKSI+Cis8aWZyYW1lIGlkPWlmcmFtZSBzcmNkb2M9IjxpbnB1dCB0
eXBlPWRhdGUgaWQ9J3Rlc3QxJz48aW5wdXQgdHlwZT0nZGF0ZScgaWQ9J3Rlc3QyJyB2YWx1ZT0n
MTIzNC0wNS0wNic+Ij48L2lmcmFtZT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hlY2tzIHJl
bG9hZGluZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMnKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKwordmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUn
KTsKK3ZhciB0ZXN0SW5wdXQxOwordmFyIHRlc3RJbnB1dDI7CisKK2Z1bmN0aW9uIHJ1bkJvZHlM
b2FkZWQoKQoreworICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
c3QxJykudmFsdWUgPSAnMjAxMi0xMC0wMSc7CisgICAgaWZyYW1lLmNvbnRlbnREb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdDInKS52YWx1ZSA9ICcyMDEyLTExLTAxJzsKKyAgICBpZnJhbWUu
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uICgpIHsgcGFyZW50LnJ1bk9uSUZyYW1l
TG9hZCgpOyB9KTsKKyAgICBpZnJhbWUuY29udGVudFdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsK
K30KKworZnVuY3Rpb24gcnVuT25JRnJhbWVMb2FkKCkKK3sKKyAgICB0ZXN0SW5wdXQxID0gaWZy
YW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKTsKKyAgICB0ZXN0SW5w
dXQyID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEudmFsdWUnLCAnJyk7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVlJywgJzEyMzQtMDUtMDYnKTsKKyAg
ICBpZnJhbWUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpZnJhbWUpOworICAgIGZpbmlzaEpTVGVz
dCgpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEzYzJmOGUyYTBkM2E1NDAxNWY3NmQwNGY0YjBiZmMyMDQ3NThkYzQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUt
ZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1l
dmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK1Rlc3QgZm9yIGV2ZW50IGRpc3Bh
dGNoaW5nIGJ5IHNwaW4gYnV0dG9ucyBpbiBhIHR5cGU9ZGF0ZSBpbnB1dC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwgc3RhdGUKK1BBU1MgY2hhbmdlRXZlbnRDb3Vu
dGVyIGlzIDAKK1BBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMAorQ2xpY2sgdGhlIHVwcGVyIGJ1
dHRvbgorUEFTUyB0ZXN0SW5wdXQudmFsdWUgaXMgIjIwMTItMTEtMDEiCitQQVNTIGNoYW5nZUV2
ZW50Q291bnRlciBpcyAxCitQQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKK0ZvY3VzIG9uIGFu
b3RoZXIgZmllbGQKK1BBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKK1BBU1MgaW5wdXRFdmVu
dENvdW50ZXIgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0
LWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDdhOWI4YzM4NDQ4MTE5NDAxODE2NTIwNjZjNWY3ZTU3NGMzMmMz
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0
LWV2ZW50cy5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5n
ZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dD4KK3Rlc3RTcGluQnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMoJ2RhdGUnLCAnMjAxMi0xMC0w
MScsICcyMDEyLTExLTAxJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNGE4YzQ2ZmVlZDYyZmY4Yjk5
NGRhMmZhNTE2NDk5NWNmNzBmNDJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1l
dmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGVzdCBmb3Igd2hlZWwgb3BlcmF0
aW9ucyBmb3IgPGlucHV0IHR5cGU9ZGF0ZT4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK0luaXRpYWwgdmFsdWUgaXMgMTk5OS0wMS0xMy4gV2UnbGwgd2hlZWwgdXAgYnkgMToKK1BB
U1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMDItMTMiCitXaGVlbCB1cCBieSAxMDA6CitQQVNTIGlu
cHV0LnZhbHVlIGlzICIxOTk5LTAzLTEzIgorV2hlZWwgZG93biBieSAxOgorUEFTUyBpbnB1dC52
YWx1ZSBpcyAiMTk5OS0wMi0xMyIKK1doZWVsIGRvd24gYnkgMjU2OgorUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMTk5OS0wMS0xMyIKK0Rpc2FibGVkIGlucHV0IGVsZW1lbnQ6CitQQVNTIGlucHV0LnZh
bHVlIGlzICIxOTk5LTAxLTEzIgorUmVhZC1vbmx5IGlucHV0IGVsZW1lbnQ6CitQQVNTIGlucHV0
LnZhbHVlIGlzICIxOTk5LTAxLTEzIgorTm8gZm9jdXM6CitQQVNTIGlucHV0LnZhbHVlIGlzICIx
OTk5LTAxLTEzIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtd2hl
ZWwtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjBiZjU5YjE1YzU4ODA4MjFhYWU4YTY4MDIwNjYz
MjVjYjg1ZjMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sCkBA
IC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi13aGVlbC1ldmVudC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit0ZXN0V2hlZWxFdmVudCh7CisgICAgJ2lu
cHV0VHlwZScgOiAnZGF0ZScsCisgICAgJ2luaXRpYWxWYWx1ZScgOiAnMTk5OS0wMS0xMycsCisg
ICAgJ3N0ZXBVcFZhbHVlMScgOiAnMTk5OS0wMi0xMycsCisgICAgJ3N0ZXBVcFZhbHVlMicgOiAn
MTk5OS0wMy0xMycgfSk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtcmVzZXQtdmFsdWUt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXJlc2V0LXZh
bHVlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMwZmE3OTdjMWZhNjk3MGI5MWY2MTIzMmVm
ZTZlYmUzNTQ1ODdjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS9kYXRlLXJlc2V0LXZhbHVlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw3IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxib2R5PgorPGZvcm0+Cis8aW5wdXQgdHlwZT0iZGF0ZSI+Cis8aW5wdXQg
dHlwZT0iZGF0ZSIgdmFsdWU9IjIwMTItMTAtMDkiPgorPC9mb3JtPgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtcmVzZXQtdmFsdWUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXJlc2V0LXZhbHVlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGMzYzhhZTUyOWI2OTE2ZWE1NDRkM2ViYmRhMDNjNTNhZGVjMGE5MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXJlc2V0LXZhbHVlLmh0
bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzwhLS0gQ29uZmly
bSBhcHBlYXJhbmNlIGFmdGVyIHJlc2V0KCkgaXMgc2FtZSBhcyB0aGUgaW5pdGlhbCBhcHBlYXJh
bmNlLiAtLT4KKzxmb3JtIGlkPSJmb3JtMSI+Cis8aW5wdXQgdHlwZT0iZGF0ZSIgaWQ9ImRhdGUx
Ij4KKzxpbnB1dCB0eXBlPSJkYXRlIiB2YWx1ZT0iMjAxMi0xMC0wOSIgaWQ9ImRhdGUyIj4KKzwv
Zm9ybT4KKzxzY3JpcHQ+CitpZiAodGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBkYXRlMS52YWx1ZSA9
ICIxOTk5LTEyLTMxIjsKKyAgICBkYXRlMi52YWx1ZSA9ICIxOTk5LTEyLTMxIjsKKyAgICBmb3Jt
MS5yZXNldCgpOworICAgIGlmICh0ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZl
bnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItc3BpbmJ1dHRv
bi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sCmluZGV4IDNhOWIwZDk2Y2RkMmY0YjMyNWI4
YTg2OTY3OWJlNjc4MDYyOGY3MTMuLjJhMWM5NzM4OWUxNTZhZmRiZWI0ZTJiNTUxMGRjN2YyNjVi
OTkxZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci1z
cGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9udW1iZXIvbnVtYmVyLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVu
dHMuaHRtbApAQCAtMiw2ICsyLDcgQEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9jb21tb24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5qcyI+
PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvcmVzb3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRz
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXNwaW5idXR0b24t
Y2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMKaW5kZXggNDQxOTI1MGZkZDMyOTY5MzA4MTRkYzYx
M2YwYWM5MDFjMDM3YzFjNy4uNzdmYWQ1OWM2ZWU5MThiNTQ0NWNhNTU2ZmYyMjZmMDViYTRkMGY3
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXNw
aW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVu
dHMuanMKQEAgLTMwLDcgKzMwLDggQEAgZnVuY3Rpb24gdGVzdFNwaW5CdXR0b25DaGFuZ2VBbmRJ
bnB1dEV2ZW50cyhpbnB1dFR5cGUsIGluaXRpYWxWYWx1ZSwgZXhwZWN0ZWRWYWwKIAogICAgIGRl
YnVnKCdDbGljayB0aGUgdXBwZXIgYnV0dG9uJyk7CiAgICAgLy8gTW92ZSB0aGUgY3Vyc29yIG9u
IHRoZSB1cHBlciBidXR0b24uCi0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8odGVzdElucHV0
Lm9mZnNldExlZnQgKyB0ZXN0SW5wdXQub2Zmc2V0V2lkdGggLSAxMCwgdGVzdElucHV0Lm9mZnNl
dFRvcCArIHRlc3RJbnB1dC5vZmZzZXRIZWlnaHQgLyA0KTsKKyAgICB2YXIgc3BpbkJ1dHRvbiA9
IGdldEVsZW1lbnRCeVBzZXVkb0lkKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KHRlc3RJbnB1
dCksICItd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIik7CisgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8odGVzdElucHV0Lm9mZnNldExlZnQgKyBzcGluQnV0dG9uLm9mZnNldExlZnQsIHRlc3RJ
bnB1dC5vZmZzZXRUb3AgKyB0ZXN0SW5wdXQub2Zmc2V0SGVpZ2h0IC8gNCk7CiAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7CiAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwogICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0LnZhbHVlJywgZXhwZWN0ZWRWYWx1ZSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24td2hlZWwtZXZl
bnQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24td2hlZWwtZXZl
bnQuanMKaW5kZXggMjI0ZTZhOWU0ZGJiMjI1YTExZmI5MzE3MDM3YjJiNTM0MzVjNjk1ZC4uMjUx
MTBjNGIwMTU5MzQ3YTA0N2MyMWYwMjBjYzhkODc1NGUzYTYwOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXdoZWVsLWV2ZW50LmpzCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL2NvbW1vbi13aGVlbC1ldmVudC5qcwpAQCAt
MjAsNyArMjAsNyBAQCBmdW5jdGlvbiB0ZXN0V2hlZWxFdmVudChwYXJhbWV0ZXJzKQogICAgIGlu
cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKICAgICBpbnB1dC5mb2N1cygp
OwogCi0gICAgZGVidWcoJ0luaXRpYWwgdmFsdWUgaXMgJyArIGluaXRpYWxWYWx1ZSArICcuIFdl
XCdsbCB3aGVlbCB1cCBieSAnICsgc3RlcFVwVmFsdWUxICsgJzonKTsKKyAgICBkZWJ1ZygnSW5p
dGlhbCB2YWx1ZSBpcyAnICsgaW5pdGlhbFZhbHVlICsgJy4gV2VcJ2xsIHdoZWVsIHVwIGJ5IDE6
Jyk7CiAgICAgZGlzcGF0Y2hXaGVlbEV2ZW50KGlucHV0LCAwLCAxKTsKICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgc3RlcFVwVmFsdWUxKTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5k
LWZvY3VzLWV2ZW50cy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL211bHRp
cGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE1N2QxYmE3
NGYyNThmMTY0MTJjMjliODhiMDQ4NjY4OWRiZjQ0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1
cy1ldmVudHMuanMKQEAgLTAsMCArMSw1MSBAQAordmFyIHRlc3RJbnB1dDsKK3ZhciBibHVyQ291
bnRlciA9IDA7Cit2YXIgZm9jdXNDb3VudGVyID0gMDsKKworZnVuY3Rpb24ga2V5RG93bihrZXks
IG1vZGlmaWVycykKK3sKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0
dXJuOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmllcnMpOworfQorCitmdW5j
dGlvbiBzdGF0ZSgpCit7CisgICAgcmV0dXJuICdibHVyPScgKyBibHVyQ291bnRlciArICcgZm9j
dXM9JyArIGZvY3VzQ291bnRlcjsKK30KKworZnVuY3Rpb24gYmVnaW5UZXN0Q2FzZSh0ZXN0Q2Fz
ZU5hbWUpCit7CisgICAgZGVidWcodGVzdENhc2VOYW1lKTsKKyAgICBibHVyQ291bnRlciA9IDA7
CisgICAgZm9jdXNDb3VudGVyID0gMDsKK30KKworZnVuY3Rpb24gc3RhcnRUZXN0Rm9yKHR5cGVO
YW1lKQoreworICAgIGRlc2NyaXB0aW9uKCdDaGVjayBibHVyIGFuZCBmb2N1cyBldmVudHMgZm9y
IG11bHRpcGxlIGZpZWxkcyAnICsgdHlwZU5hbWUgKyAnIGlucHV0IFVJJyk7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLmlubmVySFRNTCA9ICc8aW5wdXQgaWQ9ImJl
Zm9yZSI+JworICAgICAgICArICc8aW5wdXQgaWQ9InRlc3QiIHR5cGU9IicgKyB0eXBlTmFtZSAr
ICciPicKKyAgICAgICAgKyAnPGlucHV0IGlkPSJhZnRlciI+JzsKKworICAgIHRlc3RJbnB1dCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7CisgICAgdGVzdElucHV0LmFkZEV2ZW50
TGlzdGVuZXIoJ2JsdXInLCBmdW5jdGlvbiAoKSB7ICsrYmx1ckNvdW50ZXI7IH0pOworICAgIHRl
c3RJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZ1bmN0aW9uICgpIHsgKytmb2N1c0Nv
dW50ZXI7IH0pOworCisgICAgYmVnaW5UZXN0Q2FzZSgnZm9jdXMoKSBhbmQgYmx1cigpJyk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQuZm9jdXMoKTsgc3RhdGUoKScsICdi
bHVyPTAgZm9jdXM9MScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0LmJs
dXIoKTsgc3RhdGUoKScsICdibHVyPTEgZm9jdXM9MScpOworCisgICAgaWYgKHdpbmRvdy5ldmVu
dFNlbmRlcikgeworICAgICAgICBiZWdpblRlc3RDYXNlKCdmb2N1cyBhbmQgVGFiIGtleSB0byBi
bHVyJyk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiZWZvcmUiKS5mb2N1cygp
OworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2tleURvd24oIlx0Iik7IHN0YXRlKCkn
LCAnYmx1cj0wIGZvY3VzPTEnKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdrZXlE
b3duKCJcdCIpOyBzdGF0ZSgpJywgJ2JsdXI9MCBmb2N1cz0xJyk7CisgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygna2V5RG93bigiXHQiKTsgc3RhdGUoKScsICdibHVyPTAgZm9jdXM9MScp
OworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2tleURvd24oIlx0Iik7IHN0YXRlKCkn
LCAnYmx1cj0xIGZvY3VzPTEnKTsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1ZygnUGxlYXNl
IHJ1biBpbiBEdW1wUmVuZGVyVHJlZSBmb3IgZm9jdXMgYW5kIFRhYi1rZXkgdGVzdCBjYXNlJyk7
CisgICAgfQorICAgIGRlYnVnKCcnKTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSk7Cit9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmll
bGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1l
dmVudHMuaHRtbAppbmRleCAyN2MxMTc5MjY4YjVjMTE1ZjAxNTRhM2JhZmU3NjNjNzE4NjFiNWY3
Li5lNTAyNGZiYWVjNWE4N2FlZmYwNGMzMDZhYjAwNjg5NjIzYjQ3M2NmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQt
Zm9jdXMtZXZlbnRzLmh0bWwKQEAgLTEsNjAgKzEsMTEgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgogPGJvZHk+Ci08ZGl2IGlkPSJjb250YWluZXIiPgotPGlu
cHV0IGlkPSJiZWZvcmUiPgotPGlucHV0IGlkPSJ0ZXN0IiB0eXBlPSJ0aW1lIiB2YWx1ZT0iMTI6
MzQiPgotPGlucHV0IGlkPSJhZnRlciI+Ci08L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+CiA8c2NyaXB0PgotZGVzY3JpcHRpb24oJ0NoZWNr
IGJsdXIgYW5kIGZvY3VzIGV2ZW50cyBmb3IgbXVsdGlwbGUgZmllbGRzIHRpbWUgaW5wdXQgVUkn
KTsKLQotdmFyIGJsdXJDb3VudGVyID0gMDsKLXZhciBmb2N1c0NvdW50ZXIgPSAwOwotCi1mdW5j
dGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQotewotICAgIGlmICghd2luZG93LmV2ZW50U2Vu
ZGVyKQotICAgICAgICByZXR1cm47Ci0gICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlm
aWVycyk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlKCkKLXsKLSAgICByZXR1cm4gJ2JsdXI9JyArIGJs
dXJDb3VudGVyICsgJyBmb2N1cz0nICsgZm9jdXNDb3VudGVyOwotfQotCi12YXIgdGVzdElucHV0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKLXRlc3RJbnB1dC5hZGRFdmVudExp
c3RlbmVyKCdibHVyJywgZnVuY3Rpb24gKCkgeyArK2JsdXJDb3VudGVyOyB9KTsKLXRlc3RJbnB1
dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZ1bmN0aW9uICgpIHsgKytmb2N1c0NvdW50ZXI7
IH0pOwotCi1mdW5jdGlvbiBiZWdpblRlc3RDYXNlKHRlc3RDYXNlTmFtZSkKLXsKLSAgICBkZWJ1
Zyh0ZXN0Q2FzZU5hbWUpOwotICAgIGJsdXJDb3VudGVyID0gMDsKLSAgICBmb2N1c0NvdW50ZXIg
PSAwOwotfQotCi1iZWdpblRlc3RDYXNlKCdmb2N1cygpIGFuZCBibHVyKCknKTsKLXNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdElucHV0LmZvY3VzKCk7IHN0YXRlKCknLCAnYmx1cj0wIGZvY3Vz
PTEnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0LmJsdXIoKTsgc3RhdGUoKScs
ICdibHVyPTEgZm9jdXM9MScpOwotCi1pZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgYmVn
aW5UZXN0Q2FzZSgnZm9jdXMgYW5kIFRhYiBrZXkgdG8gYmx1cicpOwotICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJiZWZvcmUiKS5mb2N1cygpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygna2V5RG93bigiXHQiKTsgc3RhdGUoKScsICdibHVyPTAgZm9jdXM9MScpOwotICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygna2V5RG93bigiXHQiKTsgc3RhdGUoKScsICdibHVyPTAgZm9jdXM9
MScpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygna2V5RG93bigiXHQiKTsgc3RhdGUoKScs
ICdibHVyPTAgZm9jdXM9MScpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygna2V5RG93bigi
XHQiKTsgc3RhdGUoKScsICdibHVyPTEgZm9jdXM9MScpOwotfSBlbHNlIHsKLSAgICBkZWJ1Zygn
UGxlYXNlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZSBmb3IgZm9jdXMgYW5kIFRhYi1rZXkgdGVzdCBj
YXNlJyk7Ci19Ci0KLWRlYnVnKCcnKTsKLWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpKTsKK3N0YXJ0VGVzdEZvcigndGltZScpOwog
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hh
bmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1t
dWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5k
LWlucHV0LWV2ZW50cy5odG1sCmluZGV4IGM4MjRkMjQ5M2JkOGZhYWQyODc0NTc4Y2RhZDE0MTE1
NzE3YTY3YzUuLmMxMmQxNDI2OTFiOWJjYTAxYmQ4YzRmNmUxNGUzMjFiZWExMTAzMGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1t
dWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0
aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1sCkBAIC0y
LDYgKzIsNyBAQAogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Nv
bW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIj48L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dAppbmRleCA3ZmY4NmFhZDNiMDc0
YTk4ZDNlM2ZmNzM1MDgyNzAyMTY2Mzk2ZjYwLi5lYjgwNTdhMzY3NjhjN2VjNTM5MDFhMmM1MjA1
MWZjY2FjNWE0MDgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUt
bXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAg
VGVzdCBmb3Igd2hlZWwgb3BlcmF0aW9ucyBmb3IgPGlucHV0IHR5cGU9dGltZT4KIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KIAogCi1Jbml0aWFsIHZhbHVlIGlzIDA3OjAwLiBXZSdsbCB3aGVl
bCB1cCBieSAwODowMDoKK0luaXRpYWwgdmFsdWUgaXMgMDc6MDAuIFdlJ2xsIHdoZWVsIHVwIGJ5
IDE6CiBQQVNTIGlucHV0LnZhbHVlIGlzICIwODowMCIKIFdoZWVsIHVwIGJ5IDEwMDoKIFBBU1Mg
aW5wdXQudmFsdWUgaXMgIjA5OjAwIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167960</attachid>
            <date>2012-10-10 02:08:11 -0700</date>
            <delta_ts>2012-10-10 03:22:24 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-98480-20121010180710.patch</filename>
            <type>text/plain</type>
            <size>40890</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwODY2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGQ4NmYzMGI3NzQ1Y2QxYmJiNzQx
YWU4NzJkZjcxNzJhNzNjMGYwYy4uNjEwNzRkMDk4MWNhMjk2MzYwZmEyNTk5N2YwNThlOTRhOWM4
MDMyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTEwLTA5ICBLZW50IFRhbXVyYSAgPHRr
ZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgYmVoYXZpb3IgdGVzdHMgZm9yIGlucHV0
W3R5cGU9ZGF0ZV0gd2l0aCBtdWx0aXBsZSBmaWVsZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LWFyaWEtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFs
dWUtY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZh
bHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9y
bXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9j
dXMtZXZlbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVu
dHMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXByZXNlcnZl
LXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJl
c2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQt
dmFsdWUtYWZ0ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFs
dWUtYWZ0ZXItcmVsb2Fkcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFu
ZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hh
bmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9u
LWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwuCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwuCisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRlL2RhdGUtcmVzZXQtdmFsdWUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUtcmVzZXQtdmFsdWUuaHRtbDogQWRkZWQuCisKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5k
LWlucHV0LWV2ZW50cy5qczoKKyAgICAgICAgKHRlc3RTcGluQnV0dG9uQ2hhbmdlQW5kSW5wdXRF
dmVudHMpOgorICAgICAgICBVc2VzIGdldEVsZW1lbnRCeVBzZXVkb0lkKCkgdG8gb2J0YWluIHNw
aW4gYnV0dG9uIHBvc2l0aW9uLiBUaGUgZGF0ZQorICAgICAgICB0eXBlIGFuZCB0aGUgdGltZSB0
eXBlIGhhdmUgdGhlaXIgc3BpbiBidXR0b24gYXQgZGlmZmVyZW50IHBvc2l0aW9ucworICAgICAg
ICBiZWNhdXNlIG9mIGEgcGlja2VyIGluZGljYXRvciB0cmlhbmdsZS4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL251bWJlci9udW1iZXItc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5o
dG1sOgorICAgICAgICBOZWVkIHRvIGltcG9ydCBjb21vbi5qcyBiZWNhdXNlIGNvbW1vbi1zcGlu
YnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIGRlcGVuZHMgb24gaXQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1z
cGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWw6CisgICAgICAgIERpdHRvLgor
CisgICAgICAgICogZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXdoZWVsLWV2ZW50LmpzOgor
ICAgICAgICAodGVzdFdoZWVsRXZlbnQpOiBGaXggYSB3cm9uZyBtZXNzYWdlLgorICAgICAgICAq
IGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtd2hl
ZWwtZXZlbnQtZXhwZWN0ZWQudHh0OiBEaXR0by4KKworICAgICAgICAqIGZhc3QvZm9ybXMvcmVz
b3VyY2VzL211bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuanM6CisgICAgICAg
IEFkZGVkLiBNb3ZlIHRoZSBjb2RlIGZyb20gdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQt
Zm9jdXMtZXZlbnRzLmh0bWwuCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbDoKKyAg
ICAgICAgTW92ZWQgdGhlIGNvZGUgdG8gbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2
ZW50cy5qcy4KKwogMjAxMi0xMC0wOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIHNraXAgdGVzdHMgdG8g
cGFpbnQgdGhlIGJvdCBncmVlbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1
dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1m
aWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kNTljMGYzMzNlMWMzZDVhNzQyNjIzNWYyMzI2MjE2MWE4MWRhMzgxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTggQEAKK1RoaXMgdGVzdCBjaGVja3MgYXJpYS1oZWxwIGF0dHJpYnV0ZSBv
ZiBmaWVsZHMgaW4gbXVsdGlwbGUgZmllbGRzIGRhdGUgaW5wdXQgVUkuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitOb24tZW1wdHkgdmFsdWUKK1BBU1MgZm9jdXNlZEZpZWxkVmFs
dWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6IE1vbnRoLCBBWFZhbHVlRGVzY3JpcHRpb246IDEw
LCAxLCAxMiIKK1BBU1MgZm9jdXNlZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpIGlzICJBWEhlbHA6
IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiAwOSwgMSwgMzEiCitQQVNTIGZvY3VzZWRGaWVsZFZh
bHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IDIw
MTIsIDEsIDI3NTc2MCIKK0VtcHR5IHZhbHVlCitQQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3Jp
cHRpb24oKSBpcyAiQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAxLCAy
NzU3NjAiCitQQVNTIGZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKSBpcyAiQVhIZWxwOiBE
YXksIEFYVmFsdWVEZXNjcmlwdGlvbjogYmxhbmssIDEsIDMxIgorUEFTUyBmb2N1c2VkRmllbGRW
YWx1ZURlc2NyaXB0aW9uKCkgaXMgIkFYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlwdGlvbjog
YmxhbmssIDEsIDEyIgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC1hcmlhLWF0dHJpYnV0ZXMuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMtYXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzMwMjQzYmQxMTFm
NjE0ZGFkODYwZTFjZDMyNjk2N2Q1NzdjNDI3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
YXgtYXJpYS1hdHRyaWJ1dGVzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGlucHV0IGlkPSJ0
ZXN0IiB0eXBlPSJkYXRlIiB2YWx1ZT0iMjAxMi0xMC0wOSI+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oJ1RoaXMgdGVzdCBjaGVja3MgYXJpYS1oZWxwIGF0dHJpYnV0ZSBvZiBmaWVsZHMgaW4gbXVs
dGlwbGUgZmllbGRzIGRhdGUgaW5wdXQgVUkuJyk7CisKK2Z1bmN0aW9uIGZvY3VzZWRGaWVsZFZh
bHVlRGVzY3JpcHRpb24oKQoreworICAgIHZhciBlbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAgcmV0dXJuIGVsZW1lbnQuaGVscFRleHQgKyAnLCAn
ICsgIGVsZW1lbnQudmFsdWVEZXNjcmlwdGlvbiArICcsICcgKyBlbGVtZW50Lm1pblZhbHVlICsg
JywgJyArIGVsZW1lbnQubWF4VmFsdWU7Cit9CisKK3ZhciB0ZXN0SW5wdXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdCcpOworCitpZiAoIXdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlciB8fCAhd2luZG93LmV2ZW50U2VuZGVyKQorICAgIGRlYnVnKCdQbGVhc2UgcnVuIGluc2lk
ZSBEUlQgb3IgV1RSLicpOworZWxzZSB7CisgICAgZGVidWcoJ05vbi1lbXB0eSB2YWx1ZScpOwor
ICAgIHRlc3RJbnB1dC5mb2N1cygpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNl
ZEZpZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogTW9udGgsIEFYVmFsdWVEZXNjcmlw
dGlvbjogMTAsIDEsIDEyJyk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdB
WEhlbHA6IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiAwOSwgMSwgMzEnKTsKKyAgICBldmVudFNl
bmRlci5rZXlEb3duKCdcdCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZm9jdXNlZEZp
ZWxkVmFsdWVEZXNjcmlwdGlvbigpJywgJ0FYSGVscDogWWVhciwgQVhWYWx1ZURlc2NyaXB0aW9u
OiAyMDEyLCAxLCAyNzU3NjAnKTsKKworICAgIGRlYnVnKCdFbXB0eSB2YWx1ZScpOworICAgIGV2
ZW50U2VuZGVyLmtleURvd24oJ1xiJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmb2N1
c2VkRmllbGRWYWx1ZURlc2NyaXB0aW9uKCknLCAnQVhIZWxwOiBZZWFyLCBBWFZhbHVlRGVzY3Jp
cHRpb246IGJsYW5rLCAxLCAyNzU3NjAnKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcs
IFsnc2hpZnRLZXknXSk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bignXGInKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVzY3JpcHRpb24oKScsICdBWEhl
bHA6IERheSwgQVhWYWx1ZURlc2NyaXB0aW9uOiBibGFuaywgMSwgMzEnKTsKKyAgICBldmVudFNl
bmRlci5rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93
bignXGInKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZvY3VzZWRGaWVsZFZhbHVlRGVz
Y3JpcHRpb24oKScsICdBWEhlbHA6IE1vbnRoLCBBWFZhbHVlRGVzY3JpcHRpb246IGJsYW5rLCAx
LCAxMicpOworCisgICAgZGVidWcoJycpOworICAgIHRlc3RJbnB1dC5wYXJlbnROb2RlLnJlbW92
ZUNoaWxkKHRlc3RJbnB1dCk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hMDZiM2M0M2NmM2QxMWIwYmQ1ZjE1NGQyOTAzMjYxZjFhZTlm
YjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1heC12YWx1ZS1jaGFuZ2VkLW5vdGlmaWNh
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGhpcyB0ZXN0IGNoZWNrcyB2YWx1
ZSBjaGFuZ2VkIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucy4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK0ZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIEFYSGVscDogTW9udGg9QVhW
YWx1ZURlc2NyaXB0aW9uOiAxMAorRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBEYXk9
QVhWYWx1ZURlc2NyaXB0aW9uOiAwOQorRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgQVhIZWxwOiBZ
ZWFyPUFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMgorVmFsdWVDaGFuZ2VkIEFYSGVscDogRGF5PUFY
VmFsdWVEZXNjcmlwdGlvbjogMDQKK1ZhbHVlQ2hhbmdlZCBBWEhlbHA6IFllYXI9QVhWYWx1ZURl
c2NyaXB0aW9uOiAyMDEzCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVs
dGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZp
Y2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRz
L2RhdGUtbXVsdGlwbGUtZmllbGRzLWF4LXZhbHVlLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzk3OTBhMjkzYjUxMjA5NGNmMDg2MTAwNzk3MTE0NWQ0MWY2ZTViYwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtYXgtdmFsdWUtY2hhbmdlZC1ub3RpZmljYXRpb24uaHRt
bApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aW5wdXQgaWQ9InRlc3QiIHR5cGU9ImRhdGUiIHZhbHVl
PSIyMDEyLTEwLTA5Ij4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGNoZWNrcyB2
YWx1ZSBjaGFuZ2VkIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucy4nKTsKKwordmFyIHRlc3RJ
bnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisKK2lmICghd2luZG93LmFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyIHx8ICF3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgZGVidWco
IlBsZWFzZSBydW4gaW5zaWRlIERSVCBvciBXUlQuIik7CitlbHNlIHsKKyAgICBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hZGROb3RpZmljYXRpb25MaXN0ZW5lcihmdW5jdGlvbiAoZWxlbWVudCwg
bm90aWZpY2F0aW9uKSB7CisgICAgICAgIGlmIChub3RpZmljYXRpb24gPT0gJ0ZvY3VzZWRVSUVs
ZW1lbnRDaGFuZ2VkJyB8fCBub3RpZmljYXRpb24gPT0gJ1ZhbHVlQ2hhbmdlZCcpIHsKKyAgICAg
ICAgICAgIGRlYnVnKG5vdGlmaWNhdGlvbiArICcgJyArIGVsZW1lbnQuaGVscFRleHQgKyAnPScg
KyBlbGVtZW50LnZhbHVlRGVzY3JpcHRpb24pOworICAgICAgICB9CisgICAgfSk7CisKKyAgICB0
ZXN0SW5wdXQuZm9jdXMoKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdcdCcpOworICAgIGV2
ZW50U2VuZGVyLmtleURvd24oJzQnKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCd1cEFycm93
Jyk7CisKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICB3aW5kb3cuc2V0
VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgZGVidWcoJycpOworICAgICAgICB0ZXN0SW5w
dXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0ZXN0SW5wdXQpOworICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICB9LCAxKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmll
bGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzNjMzQ4NjBhMjBlZTQ5ZjY2NzIzMzc0YTQ2YzI5MTdmMzkzZWQxZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE4IEBACitDaGVjayBibHVyIGFuZCBmb2N1cyBldmVudHMgZm9yIG11bHRpcGxlIGZpZWxk
cyBkYXRlIGlucHV0IFVJCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitmb2N1cygp
IGFuZCBibHVyKCkKK1BBU1MgdGVzdElucHV0LmZvY3VzKCk7IHN0YXRlKCkgaXMgImJsdXI9MCBm
b2N1cz0xIgorUEFTUyB0ZXN0SW5wdXQuYmx1cigpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9
MSIKK2ZvY3VzIGFuZCBUYWIga2V5IHRvIGJsdXIKK1BBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgp
IGlzICJibHVyPTAgZm9jdXM9MSIKK1BBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVy
PTAgZm9jdXM9MSIKK1BBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTAgZm9jdXM9
MSIKK1BBU1Mga2V5RG93bigiCSIpOyBzdGF0ZSgpIGlzICJibHVyPTEgZm9jdXM9MSIKKworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5k
LWZvY3VzLWV2ZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlZTRkMGIwMzRmZmQ0MmQxOTMyZWI1YzI4
ODM4ZDc1NjU4OWQyMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3Vz
LWV2ZW50cy5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tdWx0aXBsZS1maWVsZHMtYmx1ci1h
bmQtZm9jdXMtZXZlbnRzLmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+
Cis8c2NyaXB0Pgorc3RhcnRUZXN0Rm9yKCdkYXRlJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0
aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCA5NDM4NDZjMWJl
ODdiMTNhODE2MDJjNWU1ZTZhZTMzYTNmM2M5MjU0Li42MTk0YTYzNGRiMTk2ODVkZmM1OTBlNjAy
OWZlYzZjNTA2ZWQ3MDUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUt
bXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxk
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC01
NSw2ICs1NSwxMSBAQCBQQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTEyLTAyIgogUEFTUyBpbnB1
dC52YWx1ZSBpcyAiMjAxMi0wMS0yOCIKIFBBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMDEtMDIi
CiBQQVNTIGlucHV0LnZhbHVlIGlzICIyMDEyLTAzLTAyIgorPT0gRGlzYWJsZWQvcmVhZG9ubHkg
PT0KK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTAtMDgiCitQQVNTIGlucHV0LnZhbHVlIGlz
ICIyMDEyLTExLTA4IgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMS0wOCIKK1BBU1MgaW5w
dXQudmFsdWUgaXMgIjIwMTItMTItMDgiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVs
dGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCmluZGV4IDFjNzA1ODY0Mzg5Yzc0MGI4
ZmJjZjMxNGRhNGJkMDUyZjg2ZDMyNzIuLjc5NjhkOTY5Y2JmYzZiODFlZmRjMmY2Y2NhOThiZTZh
MGYwYmMwMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBs
ZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxl
LWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbApAQCAtMTk3LDYgKzE5NywyMyBAQCBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDEtMDInKTsKIGtleURvd24oJ3Jp
Z2h0QXJyb3cnKTsgLy8gLT4gMjAxMi8wMi9bMDFdCiBrZXlEb3duKCczJyk7IC8vICAgICAgICAg
IC0+IDIwMTIvMDIvWzAzXQogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcy
MDEyLTAzLTAyJyk7CisKK2JlZ2luVGVzdCgnRGlzYWJsZWQvcmVhZG9ubHknLCAnMjAxMi0xMC0w
OCcpOworaW5wdXQuZGlzYWJsZWQgPSB0cnVlOwora2V5RG93bigndXBBcnJvdycpOyAvLyAxMC8w
OC8yMDEyCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTAtMDgn
KTsKK2lucHV0LmRpc2FibGVkID0gZmFsc2U7CitpbnB1dC5mb2N1cygpOwora2V5RG93bigndXBB
cnJvdycpOyAvLyBbMTFdLzA4LzIwMTIKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMjAxMi0xMS0wOCcpOworaW5wdXQucmVhZE9ubHkgPSB0cnVlOwora2V5RG93bigndXBB
cnJvdycpOyAvLyAxMS8wOC8yMDEyCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVl
JywgJzIwMTItMTEtMDgnKTsKK2lucHV0LnJlYWRPbmx5ID0gZmFsc2U7CitpbnB1dC5mb2N1cygp
Owora2V5RG93bigndXBBcnJvdycpOyAvLyBbMTJdLzA4LzIwMTIKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMjAxMi0xMi0wOCcpOworCiA8L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtbW91c2UtZXZlbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjg1MDE2ZDBiM2NhMTk2
NDA0MjhmNDllMTI5YTQ1NDA1ZTliYmRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1tb3Vz
ZS1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKK011bHRpcGxlIGZpZWxkcyBV
SSBvZiBkYXRlIGlucHV0IHR5cGUgd2l0aCBtb3VzZSBldmVudHMKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BsZWFzZSBydW4gdGhpcyB3aXRoIERSVCBvciBXVFIuCisKK1Rlc3Qg
Zm9sbG93aW5nIG1vdXNlIGFjdGlvbnM6CitNb3VzZSBjbGljayB0byBmb2N1cyBlYWNoIG9mIHN1
Yi1maWVsZHMKK01vdXNlIGNsaWNrIG9uIHRoZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBv
ZiBzdWItZmllbGRzCisKKz09PiBGb2N1cyBvbiB0aGUgbW9udGggZmllbGQuCitQQVNTIGlucHV0
LnZhbHVlIGlzICIyMzQ1LTA4LTE5IgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0wOS0xOSIK
K1BBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDgtMTkiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rp
b24oKS5yYW5nZUNvdW50IGlzIDAKKworPT0+IEZvY3VzIG9uIHRoZSBkYXkgZmllbGQuCitQQVNT
IGlucHV0LnZhbHVlIGlzICIyMzQ1LTA4LTIwIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0NS0w
OC0yMSIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIzNDUtMDgtMjAiCitQQVNTIHdpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5yYW5nZUNvdW50IGlzIDAKKworPT0+IEZvY3VzIG9uIHRoZSB5ZWFyIGZpZWxk
LgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMCIKK1BBU1MgaW5wdXQudmFsdWUgaXMg
IjIzNDctMDgtMjAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIyMzQ2LTA4LTIwIgorUEFTUyB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCBpcyAwCisKKz09PiBDbGljayBvbiBhIGRpc2Fi
bGVkIGZpZWxkLgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMCIKKworPT0+IENsaWNr
IG9uIGEgcmVhZC1vbmx5IGZpZWxkLgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjM0Ni0wOC0yMCIK
KworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtbW91c2UtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmIzOTM0YTZkM2IxZmYyYTJkYTI0NmY2NjU0NTFiMDZkNzkwZjM0
YjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlw
bGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLW1vdXNlLWV2ZW50cy5odG1sCkBAIC0wLDAg
KzEsOTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxwPgorUGxlYXNlIHJ1biB0aGlzIHdpdGgg
RFJUIG9yIFdUUi4KKzwvcD4KK1Rlc3QgZm9sbG93aW5nIG1vdXNlIGFjdGlvbnM6Cis8dWw+Cisg
ICAgPGxpPk1vdXNlIGNsaWNrIHRvIGZvY3VzIGVhY2ggb2Ygc3ViLWZpZWxkczwvbGk+CisgICAg
PGxpPk1vdXNlIGNsaWNrIG9uIHRoZSBzcGluIGJ1dHRvbiB0byB1cGRhdGUgZWFjaCBvZiBzdWIt
ZmllbGRzPC9saT4KKzwvdWw+Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJkYXRlIiBzdHlsZT0i
Zm9udC1mYW1pbHk6YWhlbTsgZm9udC1zaXplOjE2cHg7Ij4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdNdWx0aXBsZSBmaWVsZHMgVUkgb2YgZGF0ZSBp
bnB1dCB0eXBlIHdpdGggbW91c2UgZXZlbnRzJyk7Cit2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnaW5wdXQnKTsKKworZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykK
K3sKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuOworICAgIGV2
ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmllcnMpOworfQorCitmdW5jdGlvbiBtb3VzZUNs
aWNrT24oeCwgeSkKK3sKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0
dXJuOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHggKyBpbnB1dC5vZmZzZXRMZWZ0LCB5
ICsgaW5wdXQub2Zmc2V0VG9wKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBl
dmVudFNlbmRlci5tb3VzZVVwKCk7Cit9CisKK2lucHV0LnZhbHVlID0gJzIzNDUtMDctMTknOwor
dmFyIGNlbnRlciA9IGlucHV0Lm9mZnNldEhlaWdodCAvIDI7Cit2YXIgc3BpbkJ1dHRvbk9mZnNl
dCA9IDI2OworCitkZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSBtb250aCBmaWVsZC4nKTsKK21vdXNl
Q2xpY2tPbigxMiwgY2VudGVyKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0xOScpOworbW91c2VDbGlja09uKGlucHV0
Lm9mZnNldFdpZHRoIC0gc3BpbkJ1dHRvbk9mZnNldCwgY2VudGVyIC0gMSk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDktMTknKTsKK21vdXNlQ2xpY2tPbihp
bnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciArIDEpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTE5Jyk7CitzaG91bGRCZVpl
cm8oJ3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5yYW5nZUNvdW50Jyk7IC8vIE5vIHRleHQgc2VsZWN0
aW9uLgorCitkZWJ1ZygnJyk7CitkZWJ1ZygnPT0+IEZvY3VzIG9uIHRoZSBkYXkgZmllbGQuJyk7
Cittb3VzZUNsaWNrT24oNjAsIGNlbnRlcik7CitrZXlEb3duKCd1cEFycm93Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIzNDUtMDgtMjAnKTsKK21vdXNlQ2xpY2tP
bihpbnB1dC5vZmZzZXRXaWR0aCAtIHNwaW5CdXR0b25PZmZzZXQsIGNlbnRlciAtIDEpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMzQ1LTA4LTIxJyk7Cittb3VzZUNs
aWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0dG9uT2Zmc2V0LCBjZW50ZXIgKyAxKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0NS0wOC0yMCcpOworc2hv
dWxkQmVaZXJvKCd3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmFuZ2VDb3VudCcpOyAvLyBObyB0ZXh0
IHNlbGVjdGlvbi4KKworZGVidWcoJycpOworZGVidWcoJz09PiBGb2N1cyBvbiB0aGUgeWVhciBm
aWVsZC4nKTsKK21vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCAtIDY0LCBjZW50ZXIpOwor
a2V5RG93bigndXBBcnJvdycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScs
ICcyMzQ2LTA4LTIwJyk7Cittb3VzZUNsaWNrT24oaW5wdXQub2Zmc2V0V2lkdGggLSBzcGluQnV0
dG9uT2Zmc2V0LCBjZW50ZXIgLSAxKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMjM0Ny0wOC0yMCcpOworbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoIC0gc3Bp
bkJ1dHRvbk9mZnNldCwgY2VudGVyICsgMSk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0
LnZhbHVlJywgJzIzNDYtMDgtMjAnKTsKK3Nob3VsZEJlWmVybygnd2luZG93LmdldFNlbGVjdGlv
bigpLnJhbmdlQ291bnQnKTsgLy8gTm8gdGV4dCBzZWxlY3Rpb24uCisKK2RlYnVnKCcnKTsKK2Rl
YnVnKCc9PT4gQ2xpY2sgb24gYSBkaXNhYmxlZCBmaWVsZC4nKTsKK2lucHV0LmRpc2FibGVkID0g
dHJ1ZTsKK21vdXNlQ2xpY2tPbigxMiwgY2VudGVyKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMCcpOworaW5wdXQu
ZGlzYWJsZWQgPSBmYWxzZTsKKworZGVidWcoJycpOworZGVidWcoJz09PiBDbGljayBvbiBhIHJl
YWQtb25seSBmaWVsZC4nKTsKK2lucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKK21vdXNlQ2xpY2tPbigx
MiwgY2VudGVyKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
aW5wdXQudmFsdWUnLCAnMjM0Ni0wOC0yMCcpOworaW5wdXQucmVhZE9ubHkgPSBmYWxzZTsKKwor
ZGVidWcoJycpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUt
ZmllbGRzLXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDcwZDA2N2FkZTk2NTg2MzQ2NmIxMmI4Mzg1YWU1ZGUxNTg1NTJhZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitDaGVja3MgaW5wdXQgdmFsdWUgaXMgcHJlc2Vy
dmVkIGFmdGVyIGJhY2t3YXJkIGFuZCBmb3J3YXJkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitXZW50IGJhY2sgdG8gYSBwYWdlLiBDaGVja2luZyBhIGZvcm0gY29udHJvbCB3aGlj
aCBoYWQgYSBmdWxsIHZhbHVlOgorUEFTUyAiMTIwMTItMTAtMDkiIGlzICIxMjAxMi0xMC0wOSIK
K1dlbnQgYmFjayB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBh
IHBhcnRpYWwgdmFsdWU6CitQQVNTICIwMS9kZC8xOTk5IiBpcyAiMDEvZGQvMTk5OSIKK1dlbnQg
Zm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1
bGwgdmFsdWU6CitQQVNTICIwMDAxLTExLTE3IiBpcyAiMDAwMS0xMS0xNyIKK1dlbnQgZm9yd2Fy
ZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIHBhcnRpYWwg
dmFsdWU6CitQQVNTICJtbS8zMS95eXl5IiBpcyAibW0vMzEveXl5eSIKKworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtcHJlc2VydmUtdmFsdWUtYWZ0ZXItaGlzdG9yeS1iYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXByZXNl
cnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjNGMzMDRhNDUy
YzNiODE3ZDhlYzAyZmRkOGNmMTM3MWNkNzA4MTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXByZXNlcnZlLXZhbHVlLWFmdGVyLWhpc3RvcnktYmFjay5odG1sCkBAIC0wLDAgKzEsMTQ4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorPGlucHV0IHR5cGU9ImRhdGUiIGlkPSJ0ZXN0MSI+
PGJyPgorPGlucHV0IHR5cGU9ImRhdGUiIGlkPSJ0ZXN0MiIgbWluPSIxOTk5LTAxLTAxIiBtYXg9
IjE5OTktMTItMzEiPjxicj4KKzxpZnJhbWUgaWQ9ImlmcmFtZSI+PC9pZnJhbWU+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ2hlY2tzIGlucHV0IHZhbHVlIGlzIHByZXNlcnZlZCBh
ZnRlciBiYWNrd2FyZCBhbmQgZm9yd2FyZCcpOworaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCisg
ICAgZGVidWcoJ1BsZWFzZSBydW4gd2l0aGluIERSVC9XVFInKTsKK3dpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKwordmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJh
bWUnKTsKK3ZhciB0ZXN0SW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7
Cit2YXIgdGVzdElucHV0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MicpOwordmFy
IHN0YXRlID0gJ2RpcmVjdCc7Cit2YXIgcGFnZU5hbWUgPSBsb2NhdGlvbi5zZWFyY2ggfHwgJz9w
YWdlMCc7Cit2YXIgdGVzdENhc2VzID0gW107CisKK2Z1bmN0aW9uIGJhY2sobmV3U3RhdGUpCit7
CisgICAgcGFyZW50LnN0YXRlID0gbmV3U3RhdGU7CisgICAgaGlzdG9yeS5iYWNrKCk7Cit9CisK
K2Z1bmN0aW9uIGZhaWxlZChtZXNzYWdlKSB7CisgICAgdGVzdEZhaWxlZChtZXNzYWdlICsgJyBp
biAnICsgc3RhdGUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBmaWVsZHNU
ZXh0KGlucHV0KQoreworICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgcmV0dXJu
ICIiOworICAgIHZhciBlZGl0RWxlbWVudCA9IHdpbmRvdy5pbnRlcm5hbHMub2xkZXN0U2hhZG93
Um9vdChpbnB1dCk7CisgICAgcmV0dXJuIGVkaXRFbGVtZW50LnRleHRDb250ZW50OworfQorCitm
dW5jdGlvbiBmaW5pc2hUZXN0KCkgeworICAgIHJ1blRlc3RDYXNlcygpOworICAgIGRvY3VtZW50
LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gZm9yd2FyZChuZXdTdGF0ZSkKK3sK
KyAgICBwYXJlbnQuc3RhdGUgPSBuZXdTdGF0ZTsKKyAgICBoaXN0b3J5LmZvcndhcmQoKTsKK30K
KworZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKK3sKKyAgICBpZiAoIXdpbmRvdy5l
dmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5
LCBtb2RpZmllcnMpOworfQorCitmdW5jdGlvbiBydW5UZXN0Q2FzZXMoKSB7CisgICAgZm9yICh2
YXIgaW5kZXggPSAwOyBpbmRleCA8IHRlc3RDYXNlcy5sZW5ndGg7ICsrIGluZGV4KSB7CisgICAg
ICAgIHZhciB0ZXN0Q2FzZSA9IHRlc3RDYXNlc1tpbmRleF07CisgICAgICAgIGRlYnVnKHRlc3RD
YXNlWydkZXNjcmlwdGlvbiddICsgJzonKTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCciJyArIHRlc3RDYXNlWydhY3R1YWwnXSArICciJywgdGVzdENhc2VbJ2V4cGVjdGVkJ10pOwor
ICAgIH0KKyAgICBkZWJ1ZygnJyk7Cit9CisKK3N3aXRjaCAocGFnZU5hbWUpIHsKK2Nhc2UgJz9w
YWdlMCc6CisgICAgaWZyYW1lLnNyYyA9IGxvY2F0aW9uICsgJz9wYWdlMSc7CisgICAgYnJlYWs7
CisKK2Nhc2UgJz9wYWdlMSc6CisgICAgc3dpdGNoIChwYXJlbnQuc3RhdGUpIHsKKyAgICBjYXNl
ICdkaXJlY3QnOiB7CisgICAgICAgIHRlc3RJbnB1dDEudmFsdWUgPSAnMTIwMTItMTAtMDknOwor
ICAgICAgICB0ZXN0SW5wdXQyLmZvY3VzKCk7CisgICAgICAgIGtleURvd24oJ3VwQXJyb3cnKTsg
Ly8gLT4gWzAxXS9kZC95eXl5CisgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEv
W2RkXS95eXl5CisgICAgICAgIGtleURvd24oJ1x0Jyk7IC8vICAgICAgLT4gMDEvZGQvW3l5eXld
CisgICAgICAgIGtleURvd24oJ3VwQXJyb3cnKTsgLy8gLT4gMDEvZGQvWzE5OTldCisgICAgICAg
IHZhciBuZXh0VXJpID0gbG9jYXRpb24udG9TdHJpbmcoKS5yZXBsYWNlKCc/cGFnZTEnLCAnP3Bh
Z2UyJyk7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyB3aW5kb3cubG9jYXRpb24u
aHJlZiA9IG5leHRVcmk7IH0sIDApOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSAn
YmFja1RvMSc6CisgICAgICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgYmFjayB0byBhIHBhZ2UuIENo
ZWNraW5nIGEgZm9ybSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUnLAorICAgICAgICAg
ICAgICAgICdhY3R1YWwnIDogdGVzdElucHV0MS52YWx1ZSwKKyAgICAgICAgICAgICAgICAnZXhw
ZWN0ZWQnIDogJzEyMDEyLTEwLTA5JyB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICdkZXNjcmlwdGlvbicgOiAnV2VudCBiYWNrIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3JtIGNv
bnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCisgICAgICAgICAgICAgICAgJ2FjdHVh
bCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAorICAgICAgICAgICAgICAgICdleHBlY3RlZCcg
OiAnMDEvZGQvMTk5OScKKyAgICAgICAgICAgIH0pOworICAgICAgICBmb3J3YXJkKCdmb3J3YXJk
VG8yJyk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgJ2JhY2tUbzFTZWNvbmQnOgorICAgICAg
ICBwYXJlbnQuZmluaXNoVGVzdCgpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBmYWlsZWQoJ1VuZXhwZWN0ZWQgc3RhdGUoJyArIHBhcmVudC5zdGF0ZSArICcpJyk7Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKyAgICBicmVhazsKKworY2FzZSAnP3BhZ2UyJzoKKyAgICBz
d2l0Y2ggKHBhcmVudC5zdGF0ZSkgeworICAgIGNhc2UgJ2RpcmVjdCc6CisgICAgICAgIHRlc3RJ
bnB1dDEudmFsdWUgPSAnMDAwMS0xMS0xNyc7CisgICAgICAgIHRlc3RJbnB1dDIuZm9jdXMoKTsK
KyAgICAgICAga2V5RG93bignXHQnKTsgLy8gICAgICAgIC0+IG1tL1tkZF0veXl5eQorICAgICAg
ICBrZXlEb3duKCdkb3duQXJyb3cnKTsgLy8gLT4gbW0vWzMxXS95eXl5CisgICAgICAgIGJhY2so
J2JhY2tUbzEnKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAnZm9yd2FyZFRvMic6CisgICAg
ICAgIHBhcmVudC50ZXN0Q2FzZXMucHVzaCgKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAnZGVzY3JpcHRpb24nIDogJ1dlbnQgZm9yd2FyZCB0byBhIHBhZ2UuIENoZWNraW5nIGEgZm9y
bSBjb250cm9sIHdoaWNoIGhhZCBhIGZ1bGwgdmFsdWUnLAorICAgICAgICAgICAgICAgICdhY3R1
YWwnIDogdGVzdElucHV0MS52YWx1ZSwKKyAgICAgICAgICAgICAgICAnZXhwZWN0ZWQnIDogJzAw
MDEtMTEtMTcnCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICdkZXNjcmlwdGlvbicgOiAnV2VudCBmb3J3YXJkIHRvIGEgcGFnZS4gQ2hlY2tpbmcgYSBmb3Jt
IGNvbnRyb2wgd2hpY2ggaGFkIGEgcGFydGlhbCB2YWx1ZScsCisgICAgICAgICAgICAgICAgJ2Fj
dHVhbCcgOiBmaWVsZHNUZXh0KHRlc3RJbnB1dDIpLAorICAgICAgICAgICAgICAgICdleHBlY3Rl
ZCcgOiAnbW0vMzEveXl5eScKKyAgICAgICAgICAgIH0pOworICAgICAgICBiYWNrKCdiYWNrVG8x
U2Vjb25kJyk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGZhaWxlZCgn
VW5leHBlY3RlZCBzdGF0ZSgnICsgcGFyZW50LnN0YXRlICsgJyknKTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQorICAgIGJyZWFrOworCitkZWZhdWx0OgorICAgIGZhaWxlZCgnVW5leHBlY3RlZCBw
YWdlKCcgKyBwYWdlTmFtZSArICcpJyk7CisgICAgYnJlYWs7Cit9Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy1yZXNldC12YWx1ZS1h
ZnRlci1yZWxvYWRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVs
b2Fkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkzYWY3MDAxMjI1M2Q4ODI1ZmFjNDkwY2Rh
YzEyZTFiMzdmNGFlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtcmVzZXQtdmFsdWUtYWZ0
ZXItcmVsb2Fkcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorQ2hlY2tzIHJlbG9hZGlu
ZyBwYWdlIHJlc2V0cyBpbnB1dCB2YWx1ZXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK0luaXRpYWwgdmFsdWVzOgorUEFTUyB0ZXN0SW5wdXQxLnZhbHVlIGlzICIiCitQQVNTIHRl
c3RJbnB1dDIudmFsdWUgaXMgIjEyMzQtMDUtMDYiCitSZWxvYWRlZCB2YWx1ZXM6CitQQVNTIHRl
c3RJbnB1dDEudmFsdWUgaXMgIiIKK1BBU1MgdGVzdElucHV0Mi52YWx1ZSBpcyAiMTIzNC0wNS0w
NiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2Rh
dGUtbXVsdGlwbGUtZmllbGRzLXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVs
ZHMtcmVzZXQtdmFsdWUtYWZ0ZXItcmVsb2Fkcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjOWY5NDg3NTU3
MzgyNDU0MTJkZjlhZTI3NjY2ZDU5NTVkNjg5NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXJlc2V0LXZhbHVlLWFmdGVyLXJlbG9hZHMuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJydW5Cb2R5TG9hZGVkKCkiPgorPGlmcmFtZSBpZD1pZnJhbWUgc3JjZG9jPSI8aW5wdXQgdHlw
ZT1kYXRlIGlkPSd0ZXN0MSc+PGlucHV0IHR5cGU9J2RhdGUnIGlkPSd0ZXN0MicgdmFsdWU9JzEy
MzQtMDUtMDYnPiI+PC9pZnJhbWU+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ0NoZWNrcyByZWxv
YWRpbmcgcGFnZSByZXNldHMgaW5wdXQgdmFsdWVzJyk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisKK3ZhciBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7
Cit2YXIgdGVzdElucHV0MTsKK3ZhciB0ZXN0SW5wdXQyOworCitmdW5jdGlvbiBydW5Cb2R5TG9h
ZGVkKCkKK3sKKyAgICB0ZXN0SW5wdXQxID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGVzdDEnKTsKKyAgICB0ZXN0SW5wdXQyID0gaWZyYW1lLmNvbnRlbnREb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGVzdDInKTsKKyAgICBkZWJ1ZygnSW5pdGlhbCB2YWx1ZXM6Jyk7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0SW5wdXQxLnZhbHVlJywgJycpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0Mi52YWx1ZScsICcxMjM0LTA1LTA2Jyk7
CisgICAgdGVzdElucHV0MS52YWx1ZSA9ICcyMDEyLTEwLTAxJzsKKyAgICB0ZXN0SW5wdXQyLnZh
bHVlID0gJzIwMTItMTEtMDEnOworICAgIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywg
cGFyZW50LnJ1bk9uSUZyYW1lTG9hZCk7CisgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRp
b24ucmVsb2FkKCk7Cit9CisKK2Z1bmN0aW9uIHJ1bk9uSUZyYW1lTG9hZCgpCit7CisgICAgdGVz
dElucHV0MSA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJyk7
CisgICAgdGVzdElucHV0MiA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3QyJyk7CisgICAgZGVidWcoJ1JlbG9hZGVkIHZhbHVlczonKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dDEudmFsdWUnLCAnJyk7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0SW5wdXQyLnZhbHVlJywgJzEyMzQtMDUtMDYnKTsKKyAgICBpZnJhbWUucGFy
ZW50Tm9kZS5yZW1vdmVDaGlsZChpZnJhbWUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMt
c3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRz
LXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmEzYzJmOGUyYTBkM2E1NDAxNWY3NmQwNGY0YjBiZmMyMDQ3NThkYzQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUt
bXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK1Rlc3QgZm9yIGV2ZW50IGRpc3BhdGNoaW5nIGJ5IHNw
aW4gYnV0dG9ucyBpbiBhIHR5cGU9ZGF0ZSBpbnB1dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK0luaXRpYWwgc3RhdGUKK1BBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDAKK1BB
U1MgaW5wdXRFdmVudENvdW50ZXIgaXMgMAorQ2xpY2sgdGhlIHVwcGVyIGJ1dHRvbgorUEFTUyB0
ZXN0SW5wdXQudmFsdWUgaXMgIjIwMTItMTEtMDEiCitQQVNTIGNoYW5nZUV2ZW50Q291bnRlciBp
cyAxCitQQVNTIGlucHV0RXZlbnRDb3VudGVyIGlzIDEKK0ZvY3VzIG9uIGFub3RoZXIgZmllbGQK
K1BBU1MgY2hhbmdlRXZlbnRDb3VudGVyIGlzIDEKK1BBU1MgaW5wdXRFdmVudENvdW50ZXIgaXMg
MQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDdhOWI4YzM4NDQ4MTE5NDAxODE2NTIwNjZjNWY3ZTU3NGMzMmMzYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0
ZS1tdWx0aXBsZS1maWVsZHMtc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5odG1s
CkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQt
ZXZlbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3Rlc3RTcGlu
QnV0dG9uQ2hhbmdlQW5kSW5wdXRFdmVudHMoJ2RhdGUnLCAnMjAxMi0xMC0wMScsICcyMDEyLTEx
LTAxJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRp
cGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUtbXVsdGlwbGUtZmllbGRzL2RhdGUtbXVsdGlwbGUtZmllbGRzLXdoZWVsLWV2ZW50
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNGE4YzQ2ZmVlZDYyZmY4Yjk5NGRhMmZhNTE2NDk5
NWNmNzBmNDJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
LW11bHRpcGxlLWZpZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGVzdCBmb3Igd2hlZWwgb3BlcmF0aW9ucyBmb3IgPGlu
cHV0IHR5cGU9ZGF0ZT4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0luaXRpYWwg
dmFsdWUgaXMgMTk5OS0wMS0xMy4gV2UnbGwgd2hlZWwgdXAgYnkgMToKK1BBU1MgaW5wdXQudmFs
dWUgaXMgIjE5OTktMDItMTMiCitXaGVlbCB1cCBieSAxMDA6CitQQVNTIGlucHV0LnZhbHVlIGlz
ICIxOTk5LTAzLTEzIgorV2hlZWwgZG93biBieSAxOgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5
OS0wMi0xMyIKK1doZWVsIGRvd24gYnkgMjU2OgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMTk5OS0w
MS0xMyIKK0Rpc2FibGVkIGlucHV0IGVsZW1lbnQ6CitQQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5
LTAxLTEzIgorUmVhZC1vbmx5IGlucHV0IGVsZW1lbnQ6CitQQVNTIGlucHV0LnZhbHVlIGlzICIx
OTk5LTAxLTEzIgorTm8gZm9jdXM6CitQQVNTIGlucHV0LnZhbHVlIGlzICIxOTk5LTAxLTEzIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1t
dWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS1tdWx0aXBsZS1maWVsZHMvZGF0ZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42NjBiZjU5YjE1YzU4ODA4MjFhYWU4YTY4MDIwNjYzMjVjYjg1ZjMwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlLW11bHRpcGxlLWZp
ZWxkcy9kYXRlLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC5odG1sCkBAIC0wLDAgKzEsMTcg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2NvbW1vbi13aGVlbC1ldmVudC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+Cit0ZXN0V2hlZWxFdmVudCh7CisgICAgJ2lucHV0VHlwZScgOiAn
ZGF0ZScsCisgICAgJ2luaXRpYWxWYWx1ZScgOiAnMTk5OS0wMS0xMycsCisgICAgJ3N0ZXBVcFZh
bHVlMScgOiAnMTk5OS0wMi0xMycsCisgICAgJ3N0ZXBVcFZhbHVlMicgOiAnMTk5OS0wMy0xMycg
fSk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtcmVzZXQtdmFsdWUtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXJlc2V0LXZhbHVlLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDMwZmE3OTdjMWZhNjk3MGI5MWY2MTIzMmVmZTZlYmUzNTQ1ODdj
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXJl
c2V0LXZhbHVlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw3IEBACis8IURPQ1RZUEUgaHRtbD4K
Kzxib2R5PgorPGZvcm0+Cis8aW5wdXQgdHlwZT0iZGF0ZSI+Cis8aW5wdXQgdHlwZT0iZGF0ZSIg
dmFsdWU9IjIwMTItMTAtMDkiPgorPC9mb3JtPgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtcmVzZXQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXJlc2V0LXZhbHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGMzYzhh
ZTUyOWI2OTE2ZWE1NDRkM2ViYmRhMDNjNTNhZGVjMGE5MwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXJlc2V0LXZhbHVlLmh0bWwKQEAgLTAsMCAr
MSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzwhLS0gQ29uZmlybSBhcHBlYXJhbmNl
IGFmdGVyIHJlc2V0KCkgaXMgc2FtZSBhcyB0aGUgaW5pdGlhbCBhcHBlYXJhbmNlLiAtLT4KKzxm
b3JtIGlkPSJmb3JtMSI+Cis8aW5wdXQgdHlwZT0iZGF0ZSIgaWQ9ImRhdGUxIj4KKzxpbnB1dCB0
eXBlPSJkYXRlIiB2YWx1ZT0iMjAxMi0xMC0wOSIgaWQ9ImRhdGUyIj4KKzwvZm9ybT4KKzxzY3Jp
cHQ+CitpZiAodGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK3dp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBkYXRlMS52YWx1ZSA9ICIxOTk5LTEyLTMx
IjsKKyAgICBkYXRlMi52YWx1ZSA9ICIxOTk5LTEyLTMxIjsKKyAgICBmb3JtMS5yZXNldCgpOwor
ICAgIGlmICh0ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK307
Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
bnVtYmVyL251bWJlci1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL251bWJlci9udW1iZXItc3BpbmJ1dHRvbi1jaGFuZ2UtYW5k
LWlucHV0LWV2ZW50cy5odG1sCmluZGV4IDNhOWIwZDk2Y2RkMmY0YjMyNWI4YTg2OTY3OWJlNjc4
MDYyOGY3MTMuLjJhMWM5NzM4OWUxNTZhZmRiZWI0ZTJiNTUxMGRjN2YyNjViOTkxZDcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbnVtYmVyL251bWJlci1zcGluYnV0dG9uLWNo
YW5nZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9u
dW1iZXIvbnVtYmVyLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbApAQCAt
Miw2ICsyLDcgQEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9j
b21tb24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5qcyI+PC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3Vy
Y2VzL2NvbW1vbi1zcGluYnV0dG9uLWNoYW5nZS1hbmQtaW5wdXQtZXZlbnRzLmpzIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXNwaW5idXR0b24tY2hhbmdlLWFuZC1p
bnB1dC1ldmVudHMuanMKaW5kZXggNDQxOTI1MGZkZDMyOTY5MzA4MTRkYzYxM2YwYWM5MDFjMDM3
YzFjNy4uNzdmYWQ1OWM2ZWU5MThiNTQ0NWNhNTU2ZmYyMjZmMDViYTRkMGY3OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLXNwaW5idXR0b24tY2hh
bmdlLWFuZC1pbnB1dC1ldmVudHMuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNv
dXJjZXMvY29tbW9uLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuanMKQEAgLTMw
LDcgKzMwLDggQEAgZnVuY3Rpb24gdGVzdFNwaW5CdXR0b25DaGFuZ2VBbmRJbnB1dEV2ZW50cyhp
bnB1dFR5cGUsIGluaXRpYWxWYWx1ZSwgZXhwZWN0ZWRWYWwKIAogICAgIGRlYnVnKCdDbGljayB0
aGUgdXBwZXIgYnV0dG9uJyk7CiAgICAgLy8gTW92ZSB0aGUgY3Vyc29yIG9uIHRoZSB1cHBlciBi
dXR0b24uCi0gICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8odGVzdElucHV0Lm9mZnNldExlZnQg
KyB0ZXN0SW5wdXQub2Zmc2V0V2lkdGggLSAxMCwgdGVzdElucHV0Lm9mZnNldFRvcCArIHRlc3RJ
bnB1dC5vZmZzZXRIZWlnaHQgLyA0KTsKKyAgICB2YXIgc3BpbkJ1dHRvbiA9IGdldEVsZW1lbnRC
eVBzZXVkb0lkKGludGVybmFscy5vbGRlc3RTaGFkb3dSb290KHRlc3RJbnB1dCksICItd2Via2l0
LWlubmVyLXNwaW4tYnV0dG9uIik7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8odGVzdElu
cHV0Lm9mZnNldExlZnQgKyBzcGluQnV0dG9uLm9mZnNldExlZnQsIHRlc3RJbnB1dC5vZmZzZXRU
b3AgKyB0ZXN0SW5wdXQub2Zmc2V0SGVpZ2h0IC8gNCk7CiAgICAgZXZlbnRTZW5kZXIubW91c2VE
b3duKCk7CiAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdElucHV0LnZhbHVlJywgZXhwZWN0ZWRWYWx1ZSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24td2hlZWwtZXZlbnQuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24td2hlZWwtZXZlbnQuanMKaW5kZXgg
MjI0ZTZhOWU0ZGJiMjI1YTExZmI5MzE3MDM3YjJiNTM0MzVjNjk1ZC4uMjUxMTBjNGIwMTU5MzQ3
YTA0N2MyMWYwMjBjYzhkODc1NGUzYTYwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9yZXNvdXJjZXMvY29tbW9uLXdoZWVsLWV2ZW50LmpzCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvcmVzb3VyY2VzL2NvbW1vbi13aGVlbC1ldmVudC5qcwpAQCAtMjAsNyArMjAsNyBA
QCBmdW5jdGlvbiB0ZXN0V2hlZWxFdmVudChwYXJhbWV0ZXJzKQogICAgIGlucHV0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKTsKICAgICBpbnB1dC5mb2N1cygpOwogCi0gICAgZGVi
dWcoJ0luaXRpYWwgdmFsdWUgaXMgJyArIGluaXRpYWxWYWx1ZSArICcuIFdlXCdsbCB3aGVlbCB1
cCBieSAnICsgc3RlcFVwVmFsdWUxICsgJzonKTsKKyAgICBkZWJ1ZygnSW5pdGlhbCB2YWx1ZSBp
cyAnICsgaW5pdGlhbFZhbHVlICsgJy4gV2VcJ2xsIHdoZWVsIHVwIGJ5IDE6Jyk7CiAgICAgZGlz
cGF0Y2hXaGVlbEV2ZW50KGlucHV0LCAwLCAxKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2lucHV0LnZhbHVlJywgc3RlcFVwVmFsdWUxKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50
cy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy1i
bHVyLWFuZC1mb2N1cy1ldmVudHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjFhNWFjOWE2NzJiM2Q2ZGVlNGI0
MjhjN2Y4NmE1ODkyNjYzY2JmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvcmVzb3VyY2VzL211bHRpcGxlLWZpZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuanMK
QEAgLTAsMCArMSw0OSBAQAordmFyIHRlc3RJbnB1dDsKK3ZhciBibHVyQ291bnRlciA9IDA7Cit2
YXIgZm9jdXNDb3VudGVyID0gMDsKKworZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykK
K3sKKyAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKK30KKworZnVuY3Rp
b24gc3RhdGUoKQoreworICAgIHJldHVybiAnYmx1cj0nICsgYmx1ckNvdW50ZXIgKyAnIGZvY3Vz
PScgKyBmb2N1c0NvdW50ZXI7Cit9CisKK2Z1bmN0aW9uIGJlZ2luVGVzdENhc2UodGVzdENhc2VO
YW1lKQoreworICAgIGRlYnVnKHRlc3RDYXNlTmFtZSk7CisgICAgYmx1ckNvdW50ZXIgPSAwOwor
ICAgIGZvY3VzQ291bnRlciA9IDA7Cit9CisKK2Z1bmN0aW9uIHN0YXJ0VGVzdEZvcih0eXBlTmFt
ZSkKK3sKKyAgICBkZXNjcmlwdGlvbignQ2hlY2sgYmx1ciBhbmQgZm9jdXMgZXZlbnRzIGZvciBt
dWx0aXBsZSBmaWVsZHMgJyArIHR5cGVOYW1lICsgJyBpbnB1dCBVSScpOworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKS5pbm5lckhUTUwgPSAnPGlucHV0IGlkPSJiZWZv
cmUiPicKKyAgICAgICAgKyAnPGlucHV0IGlkPSJ0ZXN0IiB0eXBlPSInICsgdHlwZU5hbWUgKyAn
Ij4nCisgICAgICAgICsgJzxpbnB1dCBpZD0iYWZ0ZXIiPic7CisKKyAgICB0ZXN0SW5wdXQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOworICAgIHRlc3RJbnB1dC5hZGRFdmVudExp
c3RlbmVyKCdibHVyJywgZnVuY3Rpb24gKCkgeyArK2JsdXJDb3VudGVyOyB9KTsKKyAgICB0ZXN0
SW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBmdW5jdGlvbiAoKSB7ICsrZm9jdXNDb3Vu
dGVyOyB9KTsKKworICAgIGJlZ2luVGVzdENhc2UoJ2ZvY3VzKCkgYW5kIGJsdXIoKScpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdElucHV0LmZvY3VzKCk7IHN0YXRlKCknLCAnYmx1
cj0wIGZvY3VzPTEnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dC5ibHVy
KCk7IHN0YXRlKCknLCAnYmx1cj0xIGZvY3VzPTEnKTsKKworICAgIGlmICh3aW5kb3cuZXZlbnRT
ZW5kZXIpIHsKKyAgICAgICAgYmVnaW5UZXN0Q2FzZSgnZm9jdXMgYW5kIFRhYiBrZXkgdG8gYmx1
cicpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmVmb3JlIikuZm9jdXMoKTsK
KyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdrZXlEb3duKCJcdCIpOyBzdGF0ZSgpJywg
J2JsdXI9MCBmb2N1cz0xJyk7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygna2V5RG93
bigiXHQiKTsgc3RhdGUoKScsICdibHVyPTAgZm9jdXM9MScpOworICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2tleURvd24oIlx0Iik7IHN0YXRlKCknLCAnYmx1cj0wIGZvY3VzPTEnKTsK
KyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdrZXlEb3duKCJcdCIpOyBzdGF0ZSgpJywg
J2JsdXI9MSBmb2N1cz0xJyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVidWcoJ1BsZWFzZSBy
dW4gaW4gRHVtcFJlbmRlclRyZWUgZm9yIGZvY3VzIGFuZCBUYWIta2V5IHRlc3QgY2FzZScpOwor
ICAgIH0KKyAgICBkZWJ1ZygnJyk7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIikpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtYmx1ci1hbmQtZm9jdXMtZXZl
bnRzLmh0bWwKaW5kZXggMjdjMTE3OTI2OGI1YzExNWYwMTU0YTNiYWZlNzYzYzcxODYxYjVmNy4u
ZTUwMjRmYmFlYzVhODdhZWZmMDRjMzA2YWIwMDY4OTYyM2I0NzNjZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1ibHVyLWFuZC1mb2N1cy1ldmVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZv
Y3VzLWV2ZW50cy5odG1sCkBAIC0xLDYwICsxLDExIEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4KIDxib2R5PgotPGRpdiBpZD0iY29udGFpbmVyIj4KLTxpbnB1
dCBpZD0iYmVmb3JlIj4KLTxpbnB1dCBpZD0idGVzdCIgdHlwZT0idGltZSIgdmFsdWU9IjEyOjM0
Ij4KLTxpbnB1dCBpZD0iYWZ0ZXIiPgotPC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgogPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdDaGVjayBi
bHVyIGFuZCBmb2N1cyBldmVudHMgZm9yIG11bHRpcGxlIGZpZWxkcyB0aW1lIGlucHV0IFVJJyk7
Ci0KLXZhciBibHVyQ291bnRlciA9IDA7Ci12YXIgZm9jdXNDb3VudGVyID0gMDsKLQotZnVuY3Rp
b24ga2V5RG93bihrZXksIG1vZGlmaWVycykKLXsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRl
cikKLSAgICAgICAgcmV0dXJuOwotICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmll
cnMpOwotfQotCi1mdW5jdGlvbiBzdGF0ZSgpCi17Ci0gICAgcmV0dXJuICdibHVyPScgKyBibHVy
Q291bnRlciArICcgZm9jdXM9JyArIGZvY3VzQ291bnRlcjsKLX0KLQotdmFyIHRlc3RJbnB1dCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7Ci10ZXN0SW5wdXQuYWRkRXZlbnRMaXN0
ZW5lcignYmx1cicsIGZ1bmN0aW9uICgpIHsgKytibHVyQ291bnRlcjsgfSk7Ci10ZXN0SW5wdXQu
YWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBmdW5jdGlvbiAoKSB7ICsrZm9jdXNDb3VudGVyOyB9
KTsKLQotZnVuY3Rpb24gYmVnaW5UZXN0Q2FzZSh0ZXN0Q2FzZU5hbWUpCi17Ci0gICAgZGVidWco
dGVzdENhc2VOYW1lKTsKLSAgICBibHVyQ291bnRlciA9IDA7Ci0gICAgZm9jdXNDb3VudGVyID0g
MDsKLX0KLQotYmVnaW5UZXN0Q2FzZSgnZm9jdXMoKSBhbmQgYmx1cigpJyk7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dC5mb2N1cygpOyBzdGF0ZSgpJywgJ2JsdXI9MCBmb2N1cz0x
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RJbnB1dC5ibHVyKCk7IHN0YXRlKCknLCAn
Ymx1cj0xIGZvY3VzPTEnKTsKLQotaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgIGJlZ2lu
VGVzdENhc2UoJ2ZvY3VzIGFuZCBUYWIga2V5IHRvIGJsdXInKTsKLSAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiYmVmb3JlIikuZm9jdXMoKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2tleURvd24oIlx0Iik7IHN0YXRlKCknLCAnYmx1cj0wIGZvY3VzPTEnKTsKLSAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2tleURvd24oIlx0Iik7IHN0YXRlKCknLCAnYmx1cj0wIGZvY3VzPTEn
KTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2tleURvd24oIlx0Iik7IHN0YXRlKCknLCAn
Ymx1cj0wIGZvY3VzPTEnKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2tleURvd24oIlx0
Iik7IHN0YXRlKCknLCAnYmx1cj0xIGZvY3VzPTEnKTsKLX0gZWxzZSB7Ci0gICAgZGVidWcoJ1Bs
ZWFzZSBydW4gaW4gRHVtcFJlbmRlclRyZWUgZm9yIGZvY3VzIGFuZCBUYWIta2V5IHRlc3QgY2Fz
ZScpOwotfQotCi1kZWJ1ZygnJyk7Ci1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSk7CitzdGFydFRlc3RGb3IoJ3RpbWUnKTsKIDwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zcGluYnV0dG9uLWNoYW5n
ZS1hbmQtaW5wdXQtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1p
bnB1dC1ldmVudHMuaHRtbAppbmRleCBjODI0ZDI0OTNiZDhmYWFkMjg3NDU3OGNkYWQxNDExNTcx
N2E2N2M1Li5jMTJkMTQyNjkxYjliY2EwMWJkOGM0ZjZlMTRlMzIxYmVhMTEwMzBjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlw
bGUtZmllbGRzLXNwaW5idXR0b24tY2hhbmdlLWFuZC1pbnB1dC1ldmVudHMuaHRtbApAQCAtMiw2
ICsyLDcgQEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24tc3BpbmJ1dHRvbi1jaGFuZ2UtYW5kLWlucHV0LWV2ZW50cy5qcyI+PC9zY3JpcHQ+CiA8L2hl
YWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtd2hlZWwtZXZlbnQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRp
cGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQKaW5kZXggN2ZmODZhYWQzYjA3NGE5
OGQzZTNmZjczNTA4MjcwMjE2NjM5NmY2MC4uZWI4MDU3YTM2NzY4YzdlYzUzOTAxYTJjNTIwNTFm
Y2NhYzVhNDA4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11
bHRpcGxlLWZpZWxkcy13aGVlbC1ldmVudC1leHBlY3RlZC50eHQKQEAgLTMsNyArMyw3IEBAIFRl
c3QgZm9yIHdoZWVsIG9wZXJhdGlvbnMgZm9yIDxpbnB1dCB0eXBlPXRpbWU+CiBPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCiAKIAotSW5pdGlhbCB2YWx1ZSBpcyAwNzowMC4gV2UnbGwgd2hlZWwg
dXAgYnkgMDg6MDA6CitJbml0aWFsIHZhbHVlIGlzIDA3OjAwLiBXZSdsbCB3aGVlbCB1cCBieSAx
OgogUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDg6MDAiCiBXaGVlbCB1cCBieSAxMDA6CiBQQVNTIGlu
cHV0LnZhbHVlIGlzICIwOTowMCIK
</data>
<flag name="review"
          id="180799"
          type_id="1"
          status="+"
          setter="haraken"
    />
          </attachment>
      

    </bug>

</bugzilla>